3 Weeks of Hacking

11 points by GermTheGeek ↗ HN
I recently quit my job to dedicate time to learning before I leave to go to university (Computer Engineering). As it stands I have 3 weeks of free time that I am looking to put toward a project.

Here's my problem: I have no idea what to focus on.

I have a decent ability to program in C/C++(More so C) and am familiar with Linux/Unix systems. My aim is to become a contributing member to FOSS and collaborate in a multi-developer project or to learn as much as possible about in the given time frame.

I have never worked on any kind of project like this and hope to treat the entire thing as a learning experience.

So here is what I'm asking you HN readers: Do you know of a project that needs a little love? Or have any other ideas as to what I should do in this time?

I would prefer to work fairly close to the hardware and maybe even pick up on some skills lost to newer developers (optimized inline assembly, oh my!).

Any/all feedback would be amazing.

6 comments

[ 3.4 ms ] story [ 29.5 ms ] thread
For web programming, I like to start by writing a simple blog and add rss, tags, search, etc as I need to learn more.

For open source web work, I know Khan Academy needs help and I believe Resig has recently re-vamped their exercise framework, which is the main place for new contributors.

For closer-to-hardware hacking, I learned by making little games for Game Boy Advance and Atari 2600. The Nintendo DS also works similarly, although the hardware is a little more abstracted.

I really feel the GBA is ideal. It has a good combination of bitmap, sprite, and tile drawing modes, fairly good development tools, and lots of interesting bit twiddling to achieve what you want: http://www.gbadev.org/ You can also pick up transfer cables and a flash cartridge to put it on real hardware, which makes it a fun demo piece.

Atari is all assembly, GBA is mostly C with pieces of assembly inlined here and there.

I've been looking at GB Development fairly closely, might put together some kind of little project in that. Extremely close to the hardware which is always nice and I just need a little flash cart to let it run on my old GBC to show it off. Thanks!
Being a good hacker is more of a marathon than a sprint. Three weeks in a coding cave is good, but even better is devoting an hour or more every day to hone your craft every day.

What to focus on? That depends on what you would like to build. I can't tell you what you will enjoy building.

I've always tried to devote as much time to my work as possible, whenever possible. However my job drained the energy out of me and made any effort I put in become spread out over multiple little projects. The main reason I'm asking this here is because I have a nice amount of time to sit down and work on one little project until completion.

Honestly if I can hold it in my hands and it works in a unconventional way, it's brilliant.

Another poster mentioned GB development, I honestly think controlling external devices (AVR, Arduino, etc) in a standard way using something like a GameBoy would be a worthwhile project.

My advanced algorithms teacher always told us to spend as little time as possible in front of the computer. Before you spend three weeks in front of yours, here are some things you may or may not want to consider.

Devoting an hour each day to algebra and calculus will make your life considerably easier once courses begin. Not having up to date mathematics skills can, in my experience, be a big hurdle for someone that has worked a while before attending university.

Exercise. Doesn't matter how, long walks or intense gym sessions, whatever. Exercise is always a great way to get clear thoughts in your head. Perhaps you will realize what you want to build?

Finally, three weeks is not that long. Don't put too much pressure on yourself to perform now. Why not spend a little extra time with family and friends? You wan't to start your time at university relaxed but eager to jump in.