Coming from a web development and Python background, and starting to really learn C about a year ago, I know the exact feeling you're talking about. As many cool Python programs I had written, I just didn't feel like it was a "real" program until I programmed and compiled an application in C. And I love how C has made my Python so much more powerful, both through ctypes and Cython. Finally, C was the gateway to Lua, which I'm now enthralled with: a tiny, extraordinarily fast and flexible scripting language that is easily compiled into a C program, thus giving me that single-file binary executable I cherish so much. I know I could do the same with Python, but LuaJIT is just so easy to embed, and yet so incredibly fast. Learning C has opened a lot of doors.
I first dipped my toe into C waters at 12 (years old) and very soon felt out of my depth enough to leave it alone. Cut to much later and I think I'm ready to try again.
I've no project in mind yet, but, Eric, your libtm plan caught my eye a few months back and if you've anything on github I'd be interested to follow along. I'm a translator myself and often find myself optimising how MemoQ could be matching segments.
Hey, I just e-mailed you. I've ended up starting to prototype libtm in Python -- getting started in C just wasn't working. I still "think" in Python. Python works out well because all the libraries I'm using (leveldb and ICU, mainly) also have very nice Python bindings. Once I've got the prototype in Python, I'll port it to C.
I'll see if I can put what I've got in Python up on github after I finish this big project at work this week and next. I'd be really interested in your input. Did you read the Tim Baldwin presentation on translation retrieval I referenced in my post on libtm? He's done some really cool research that has had a real impact on the way I keep my TMs (e.g., trying not to go over 20,000 segments).
I just want to check in with you: I too am in the midst of a total love affair with Lua/LuaJIT. That one little VM has really turned into something amazing. And now, the ways it is used!!! Phenomenal.
I'm astounded with LuaJIT. Have you read some on Mike Pall's posts about the inner workings of LuaJIT on the Lua mailing list? I can't follow everything, but what I do follow just blows me away.