Well, I did some C file IO, along with implementing a simple binary search on a dictionary. I can’t believe how easy it was. I haven’t done straight C since my first internship, which was just after my freshman year.
As a side note, I do use C/C++ pretty heavily in competitions; it’s definitely C++, because I use lots of the C++ libraries, but almost anything else I slop together using structs and functions. While in competition, it’s best to reduce the mental overhead as much as possible. Plus, I love C format strings. They are a lot easier than having to remember C++ formatting…
I’ve gone through some more Practical Common Lisp, on top of my scheme homework, which has been fun. I’m also in the middle of a blog entry on my little side project (a grammar checker), so more details will be forthcoming.
In addition, I just got a second job – I am now a linux/unix sysadmin for CAEDM, a part of BYU’s infrastructure. It’s going to be pretty fun. So far I’ve worked on perl and bash scripts. I wonder if we will try to do anything really complicated in either, because they can be beasts. Most of our existing scripts were created a while ago by a previous sysadmin. My overseer wants to learn perl, but he seems to be pretty open to ideas. I hope we can do more work in sane environments – specifically, I hope that we end up using ruby.
Being paid to learn and improve is fantastic!
A Rant and a Ramble:
Unfortunately, lots of school projects are stacking up. Just today I spent what felt like forever bashing my head against Visual Studio. It’s key bindings are almost unusable. Although they have an ’emacs’ keybinding mode, I would generously estimate that at most 20% of my attempts at using emacs features were supported. No macros, no normal home/end, no powerful search/replace, amongst other things. Worse than that are mis-bindings – for example, C-x deletes a line. Code must actually be syntactically valid for the pretty printer to clean it up, and tab didn’t work at all. Overall, it was a harrowing experience.
I would have used emacs itself, but the windows lab computers aren’t nearly as customizable as the linux boxen. C# isn’t a standard emacs mode, either. I’m not particularly interested in doing a heavy configuration of windows right now. I do not like its interface, not at all.
To actually create a usable windows environment, I would have to replace its shell with something like blackbox. Plus, windows’ software package management is horrendous (I’ve spent over a day fine-tuning windows boxes). If I were to ever use it again, I would need to look at some package management.
I really like my environment, but being a bit unconventional can cause some inconveniences.