14 Apr
   Filed Under: Graphics, OpenGL   

It’s very ironic, that this OpenGL ‘project’ started when I got bored with Art History assignments I had to do in little time, because right now, I need to finish a type poster (of my new font, Acreola) for presentation Monday, and I was all like - “Ahh, now I need to make a graphic, that’ll take some time— Oh, wait! I don’t need to do anything at all!”
And I just made a script to sequentially stuff some data into the still unnamed Purdy-Image-O-Matic™ and got about forty images.

It didn’t only make me one graphic, but the lighting glitched out in one render and it turned out so well I couldn’t take it to keep it on my drive and not on my blog. So, I let it out on you all. I should really put some more time into this little ‘app’.

preview.jpg
And I’ll tell you, I made up some great name for this one. Get the wallpaper size of ‘Pipeline of the Branch Predictor’ (1440×900, sorry guys) here.

I still want feedback on this - what do you want to see?

14 Apr
   Filed Under: Ramblings   

OK, first of all, you might notice my tag cloud has exploded. I’ve added some more categories to get the ‘Uncategorized’ category eliminated. I read more and more weblogs (some excellent ‘developer’ weblogs I read are Red Sweater Blog (but I think it doesn’t look that good, Daniel, if you want a redesign, I’ll do it for free, because I LOVE your posts), Noodlings, and Vacuous Virtuoso and Flight404 blog and Wil Shipley’s blog. I found out some of my more popular posts need direct links, and really, I am working on that fugly sidebar. It needs consistent style and less bugs. There are some IE bugs (should I make a sandbox with a link to Mozilla.org?).

Of course, talking about what blogs I read doesn’t constitute the internet as we know it and it’s future. The impulse to write something came from this slashdot story. The comments, as always on slashdot, are half of the story. This poster struck the nail on the head (which is great, now I don’t have to);


Yup, some “needs” are just impossible to meet with the Internet in its present state. Like the “need” for a single agency to monitor all Internet traffic. Or the “need” for some folks to control every physical traffic channel. Or the burning need of one familiar industry group to be able to decide unilaterally which computers are “trustworthy” enough to connect to the Web. As it stands, anyone can set up routers, anyone can lay cables and install WAPs, anyone can run a root DNS, an email server, a search portal, or simply host a universally accessible website, etc., etc… What a nightmarish world for a monopolist to live in.

Indeed, the internet has shown itself to be a phenomenon racing forward the governments around the Earth are just casually strolling after, sometimes trying to limit or change by imposing ‘Earthly’ legislation. Troubles with current intellectual property laws, total and true freedom of opinion and disclosure, the ghostly idea of ‘hackers’ flying through the internet ‘taking over’ computers, the idea that everything that we do on there needs to be stored and scrutinized - yeah, governments really love the internet. So lately, people (of the government, natch) have been calling to just redesign the whole thing.

This is a very dangerous idea. The idiots that don’t really know how it all works consider it a very good notion to make an internet that is completely -in-secure, ensuring we won’t get universally secure and encrypted communications, that we will have centralized databases of everything (including your DNA, how about profiling that against where you go geographically (e.g. cell phone data) and what you do on the internet?) and that we all just consider this the best way to combat the people with bad intentions.

As with the whole DRM debacle, this doesn’t keep a dishonest user honest, it keeps honest users honest. Actually, I think it doesn’t even do that. Honest users will just be subject to a new, Orwellian state in which people get arrested for ‘thought-crimes’ (I don’t consider the internet that ‘real’ a place) and more advanced users (read: people who have a clue) will use encrypted traffic, shadow networks, covert channels, Freenet, etcetera. Are these people so far from any ‘real’ computer networking experts?
You won’t ‘catch’ terrorists. You won’t ’stop’ child porn. All these notions of danger are often milked to induce a huge sense of fear of the internet as if it’s some incredibly dark place owned by ‘criminals’ - something politicians of this age are very trained in, inducing fear. The thing you are afraid of, is seeing that there are some fucked up people out there. Granted. That they express themselves is inevitable in our age. Stop trying to stop it.

Sometimes, I wonder if they got a big record of me. Some really odd stuff in there, I could imagine. And the funny thing is, I admit, I do ‘illegal’ stuff on the internet too. I violate IP laws every now and then. But they won’t know. I got encrypted traffic. I don’t use my ISP’s assigned IP. I am a user with a clue. They won’t be able to get their Orwellian ideas pushed in because the internet is now as we know it, and it’s a great place, and it’s here to stay. Any attempt to put it down will result in people standing up and starting a new, free network and people will use it. Governments should know better.

Well, anyway, enjoy the new categorized posts. I’d consider this one new category I flagged this post with very apt. And be secure out there.

13 Apr
   Filed Under: Design, Graphics, OpenGL, Personal Work, Typography   

Building further on my experiments with OpenGL.

abstract.jpg

As you can see, some color modulation and a post-process blur with additive blending does give it an edge. It’s nice, soft, and scenic. It can output a cool 40 images per minute, in it’s current, raw form. I may push it out, once I get things working like ‘true’ 3d scenics with shading.

Because xyz (Nate) asked for some details on this, I’ll happily disclose some. My ’script’ (it used Python first, now most of it is just bare C++ or Objective-C) receives random input from any source (say, you could pipe your chat log into it, or the contents of your favorite MP3) and processes it into various arrays of data. It then randomly selects values to assign to properties of a hard-coded array of 3d objects, e.g. cubes, planes, and lines and their X, Y, Z positions and distortions. Most data, not being really random, create interesting patterns from strange perspectives. It uses basic lighting for every (simplified), depth testing for overlapping shapes, and depth-of-field (limited and simple). Overall, it looks landscape-like, or like it’s some sort of room or space. I think most outputted images are pretty much industry-grade, I made a mock-up of one of the generated images as a book cover.

book.jpg

For now, it’s just an experiment. Some other cool graphic stuff from my classmate, Jelmar. He’s working on ‘Sixty Pounder’, a great characteristic ‘fat face’ for expressive messages. As quoted from Jules & co;

jelmar.jpg

Jelmar, and me, of course, enjoy feedback like Nate’s. Please, let us know what you want to know, or what you want to see! I’ll upload some wallpaper-sized images (any idea on sizes? I already have 1920×1200 written down). Email me!

12 Apr
   Filed Under: Graphics, OpenGL, Personal Work   

Generated with ‘random’ data and the scripts that will soon replace digital abstract artists.

eatyourheart.jpg

This just rendered for ages. It didn’t have any progress, because, hey, I’m not going to write a specific raytrace renderer in OpenGL, I have no idea how to do that. But this is fun stuff.

Edit: I feel like requests! Send me your ‘idea’ (it can be a few words, like I did here) and I’ll try to generate a random image out of it that is somewhat related. It would be fun to make a weekly out of this.

11 Apr
   Filed Under: Security   

network.jpg

Networking is a fundamental part of using any computer. Today, virtually every computer is connected to the internet, and no matter how secure your operating system and setup is, inherently unsafe protocols, eavesdropping, and non-secured transactions are hard to combat without knowledge of networks. In this how-to, I show how I manage issues with security when it comes to networking - specifically, directed towards the Mac OS X platform, although some tips may be universal for systems across the board.

If you’re on the move, and you own a laptop computer, you’re always at risk. Open wireless networks have become gold-mines for people willing to apply such networking attacks. But you may find that you connect to your neighbor’s open Wi-Fi, or go to LAN parties with ‘open’ ethernet, or your own company network, where you go to work, or you are in control, and exposed to, possibly, people with malicious intent, or the intent to hurt your privacy.

To get past a lot of limitations and monitoring, people have been tunneling over protocols since the very beginning. These ‘covert channels’ are a premiere way to secure your own traffic; some people suggest using ‘anonymous’ proxies publicly available, which I consider to be a very bad idea. I’d like to know who I trust at all times. Be paranoid when it comes to networking, it’s often quite a healthy attitude. a very easy way to get the idea of these channels is to look at this diagram I made;

tunnel.jpg

In this case, SSH, the Secure Shell protocol, is used to tunnel FTP (file transfer) and SMTP (e-mail transfer). You can be completely creative with tunneling services (although forwarding DNS is a won’t go — TCP services only) at your own leisure. It involves only a few painless keystrokes in the Terminal (in this case, open the Terminal application, which resides in the Applications’ folder subfolder ‘Utilities’, and type; sudo ssh -l username@server.com -L 25:server.com:25 ; in this case, port 25 (SMTP) will be tunneled over SSH, so you can point your Mail client to localhost at port 25). More complex solutions are VPN’s; they involve using protocols like PPP to make a full serial connection out of SSH.

For further, much further tunneling of services, one host, or a network of hosts is needed. You can tunnel your traffic over ICMP (the protocol commonly used for the infamous ‘ping’ command) via another server, to bypass pesky firewalls and closed access points (think T-Mobile). You can even take all limitations for granted and go over DNS, like Dan Kaminsky has shown in some astonishing presentations. However, because such solutions aren’t easily applicable on the Mac, I’ll leave them for the experienced reader to figure out themselves. You have the links you need. An easy, out of the box solution to networks that scrutinize content that gets sent by is encryption, and to ensure sites and advertising (a very big problem in this age) from tracking you, software for all platforms Tor / Vidalia and Privoxy are available. I recommend anyone to at least install them, and if you use Firefox as well, be sure to pick up the matching extension.

Simple other mental notes can always help you be secured. Try putting “https://” in front of your favorite URL’s, especially sensitive ones. Gmail loves to drop you out of your secure connection after login. Remember yourself to check these things, especially on an unsecured wireless network. You are just throwing all your email into the ether for anyone to sniff out. Be aware of what network you get onto, and if your network security settings are right (automatically joining networks and bluetooth on by default is bad! bad!).

If you want more control over your own network, my earlier how-to; “Owning your network, open-source style” might be just what you are looking for.

10 Apr
   Filed Under: Praetorian, Ramblings   

What gets a project like Praetorian started? Lots of scribbles… on anything!

Photo 1.jpgPhoto 2.jpgPhoto 4.jpg

And it’s not only fun, but essential; quite some thought goes into designing the structure of an application. And I really enjoy the process, and the product.

09 Apr
   Filed Under: iSight Expert   

I made it generate at 6 fps. With Quicktime’s current API, it was a pain to code, so I used a PyObjC snippet to generate this movie. In it’s current state, iSight Expert doesn’t generate proper .mov’s, for some reason. It’s censored ;).

08 Apr
   Filed Under: Personal Work, Ramblings   

Well, GAIM, my favorite open-source application for messaging over the AOL and MSN networks (which are my least favorite networks…), has broken down to the endless harassment of Time Warner. Apparently, even GAIM is too much of an infringement on the ‘AIM’ name, which AOL/TW choose after GAIM. I hate it when intellectual property laws go wrong. GAIM is now known as Pidgin. I’m considering to help them to make a new graphic identity in these unfriendly times.

I noticed that my favorite Quicksilver plugin, the Image Manipulation Action set, has been removed. God knows why. I offer it up here. Click here to download the Image Manipulation Action set (Quicksilver v.3800 works fine). edit; I’ll upload this later, as OS X 10.4 doesn’t seem to like mounting damaged filesystems. I’ve got some other OS’es that will do it just fine, though, so bear with me. There are more of these little small problems I am having with otherwise great Mac apps. Recently, I discovered Marsedit, my desktop blogging app of choice, doesn’t produce W3C compliant HTML, which is a big drawback, if you ask me.

Here’s an image of a font I am working on for the Academy. It’s only has it’s current letters because, well, I am re-doing it, and I want to show it a bit more tuned in it’s completion. In the meantime, this does give an impression of what direction this is taking.

bettyfontch2.jpg

Because I am so involved with recovering my stuff, I feel like I should do a write-up on it. It’s handy to know some of the stuff I use to get up to speed again in no time (I was back to coding iSight Expert in less than 30 minutes after the corruption). And ah, only one quarter and I’ll be a third-year student on the Academy. I really look forward to, well, getting this all done so I can really focus on my own projects. More updates soon, as I progressively recover.

07 Apr
   Filed Under: Ramblings   

I don’t know if you’ve ever expirienced it (you probably have), but if you just lose your entire computer setup, and your digital life is intensive, it’s so incredibly annoying to get started setting stuff up again. That especially rings true if you haven’t asked for it.

These last few days, I have been occupied with keeping my computer going, and making sure my development and learning doesn’t just stop. I’ve found, to my relief, that the code trees of my two main apps are intact, as well as my saved work, and my applications still work. This is, of course, after a recovery of the corrupted filesystem that was on my filevault image.

To clarify; Filevault makes a disk image, which it then mounts as your home directory at login. Once this gets corrupted, even slightly, you can no longer log in, and thus, lose your settings (my RSS feeds, my articles, Mail, keychain passwords…) and you have to import all your old files or find some way to repair them. Now that I have my static files, I am in the process of fixing my RSS feeds and mail. Until that’s done, I don’t expect to make any updates to my blog.
I’ve started getting in touch with people I haven’t spoken to in years, lately, and it’s fun. It’s always good to be in touch with people from the other side of the globe, especially if you feel like you’ve bonded with someone over the years. Ironically, this blog’s first entry spoke of exactly such a thing, and now, in a dire time of the least updates per 2 days, it comes back. I don’t know if it’s a coincidence, but it always seems to coincide; when I am in a big point of change and rapid developments around me initiated by myself, I get in touch with a lot of different people, or I get much closer contact with some people.

To get to some development news (always nice for the people who are holding on to their participation code for the upcoming beta’s); even in this time of great setbacks, new features are developing. Praetorian and iSight Expert got some new, fancy sheets today (instead of normal dialogs and disconnected windows) and I am working on preparing both apps for Leopard (don’t ask me why, but it’s very much needed). I’ve also found there are a lot of bugs for me to iron out before the next featureset - at the moment, iSight Expert doesn’t seem to work with external camera’s anymore, and Praetorian, at it’s latest revision, doesn’t even work on PPC macs.

There’s a lot of work ahead, and I’ve decided to stick around regularly in freenode’s #macdev, irc.box.sk’s #neworder, and the otherside IRC network’s #pa1n, if you want to catch me on IRC, have questions or requests or want to drop some encouraging words.

edit; this is also my 50th blog post. Yay!

05 Apr
   Filed Under: Uncategorized   

Filevault’s image got corrupted. This means, essentially, that I risk losing a lot of data and I can’t use my regular account/ I can’t log in to my account now, although I can mount the image with some trouble. Time to back up and do a fresh reinstall of Tiger. Anyway, all updates deferred. Wish me luck.