Tim’s Projects

These are some of the projects I am currently involved with, or responsible for:

A real-time fluid simulator for interactive applications that renders and simulates large scale fluid flows over arbitrary terrains (i.e., river rendering where the terrain underneath the river impacts the fluid surface). This was my Master’s thesis research.

For a video demonstration, and more information, see the project page.

Gizmod started out with me receiving a USB Dial as a Christmas gift one year. Sadly the company the makes the dial does not provide Linux support, so I put together a little program that provided the same feature set as the company’s official drivers for the other platforms.

After open sourcing the project I started to get lots of feedback from people, and Gizmod grew into what it is today. Now it’s flexible enough that it works with nearly any input device whether it be a dial, remote control, steering wheel, foot switch, etc. It’s got its own full programming library and API, and is scripted via the Python scripting language. It can also do neat things like visualize certain types of system events (such as volume changes, CPU usage, and music output via its Amarok plugin) on any LEDs that may be present on any devices connected to your system (such as the keyboard LEDs or the LEDs in the base of the Powermate USB dials).

For more information see the project home page.

I’m a huge supporter and proponent of the D programming language. It’s a great language, but on top of it, it’s also got a really great standard library called Tango. Actually it’s got two standard libraries, but that’s a different story :). Tango is well designed, and contains well documented versions of all the bits of code you need, but don’t want to write yourself. Its mantra is to provide what developers need without bloat, or succumbing to the kitchen sink effect.

And that’s where Tango.Scrapple comes in — it serves two purposes really. The first is to provide a collection of handy classes compatible with Tango that may not exactly fit within Tango’s scope, but are still useful enough that they should be made publicly available. It’s other purpose is as a staging grounds for code inclusion into Tango mainline. Tango is very strict with peer review and other metrics, so Tango.Scrapple also serves as something of a Tango testing grounds.

For more information see the project home page.

I spent years with autotools prior to switching to CMake as my build tool of choice. CMake is a great project that is a full replacement for the autoconf / automake combo, but unfortunately it doesn’t come with official support for the D programming language (yet)!

CMakeD was originated by another D developer, however it became unmaintained and by the time I was interested in using it, it was in need of much care and attention. I contacted the author and he kindly added me as a project admin. I added support for the Tango standard library and fixed numerous bugs that had crept in regarding multi-platform support for D’s two differing compilers and linkers.

For more information see the project home page.

Going Dark…

I’ve been blogging since before the term weblog had been coined. I’ve seen the birth, and the demise, of social networking.

Oh wait, the demise part hasn’t happened yet… right?

For those of you who don’t know me (why the @(*$*@ are you reading my blog?), you might not know that I’ve grown a strong distaste for social networking as of late. I deleted my Facebook page a long time ago. I absolutely refused to ever get a MySpace page. I don’t follow anyone on twitter, nor do I tweet.

I judge a person’s worth on a scale that’s a direct inverse of the number of Facebook friends they have. Seriously, the only people I’ve ever met that have ridiculous amounts of social networking “friends” are always the ones that are completely clueless as to how much people hate them.

I don’t want to learn something about you through a Facebook update. Nor do I want people learning stuff about me through someone else’s “at a glance” updates page. No I didn’t read your blog, and no I’m not going to. If you’d like to talk to me, go old school: write me an email, or a letter, or pick up the telegraph machine and dial my number. Or, go new school and VOIP / webcam me. I’ll be doing the same.

Of course, the hypocrisy of writing this in blog form is not lost on me. I guess I just felt like I owed it to myself and the rest of the internet to make this post.

Communication technology is supposed to bring us closer together. Despite what certain controlling bodies may want, it’s meant to enable us, the commoners, to have a voice. It’s meant to redistribute the true power that comes along with knowledge to the people.

Social networking doesn’t bring us closer together, it keeps us from really communicating. It’s the new opiate for the masses. Because mind-numbing passive entertainment is no longer enough. We need to be watching television and checking status updates on our smart phones simultaneously.

Does anyone out there really feel more connected or enabled now?

Yeah? Let me guess, you have 600 Facebook friends don’t you?

I’m not saying that I think these new communication technologies we’ve built are worthless. I think using twitter to help fight fires is both innovative, and completely stupid — but hey, if it works, why not? Looking to make new business or research connections? Yeah that makes sense. Obsessively pouring the details of your mundane bullshit life into a server on the internet so your equally as boring and mundane friends, and their friends, can know about the minutia of your life? Lame.

It’s truly odd to me. I spent my youth practically growing up inside a computer. I had a computer life, and a real life… not because I didn’t want the worlds to collide, but because they couldn’t. No one else I knew was jacked in. And I loved it… I loved spending hours hanging out with “friends” on IRC, and causing mischief. It was an exciting time of discovery… I remember the first MP3 player (the 16-bit reference player from the Fraunhofer Society), the first JPEGs, dear god the first animated GIFs. It was a playground filled with cool people, doing interesting things.

Now it’s a bunch of douchey idiots using the technology that we once used to exchange information and “subvert the global suppression!” (AKA HACK THE PLANET!) (we were young okay), to talk about what they did last night, and what cute things their cats do. Let’s not forget the old jaded people who do nothing but rant (ahem).

Don’t get me wrong, I still love the internet. It’s grown into something I never would have imagined. It really is what I had hoped it would become, more so. It really can connect us all — hell I frequently use it to talk to a close friend who lives in Ireland. Pen and paper has nothing on Skype! It really does keep power in the hands of the people. Sort of. If you want to know the truth you can actually find it. Of course, the surface is still nothing but brainwashing and media hype. We can’t win them all I guess.

Anyway, as I was saying… it’s truly a weird thing for me. To think about turning off my internet presence. It’s something I’ve been doing for over half my life. I’m not a researcher, but I still consider myself a computer scientist at heart. Part of me just feels weird about what seems like going backward. I feel a bit like a religious zealot or some other crazy person… like I should be shunned or locked up or something.

But, nevertheless, here I am. Going Dark.

I encourage everyone to do the same: disconnect from social media, and connect to people… real people.

Do something real… go outside. Talk to someone. Pick up the phone. Hug someone. Make love to your spouse. Go to a bar. Walk the dog. Pet your cat. Do anything… anything but waste your time on Facebook. Hell, even watch TV… at least with TV there’s no pretending that you’re not alone.

Good-bye no one. Hello life.

p.s. Look for my new project: goingdark.org, coming soon! A site where people who don’t like social networking can go to meet other people who don’t like social networking. :P.

Master’s Thesis

It’s been a long wait, but I’m finally able to discuss my Master’s thesis: a real-time fluid simulation aimed at rendering large scale rivers for interactive applications like games. My supervisors and I put together a paper based on the thesis, which has been accepted to CASA 2009, and will be published in the proceedings of the 22nd Annual Conference on Computer Animation and Social Agents.

For more information on my thesis, and a video of the application in action, check out the project page.

Gizmo Daemon now available in Ubuntu’s Repo

Gizmo Daemon, just got accepted into Ubuntu’s official Universe repository!