My involvement with Mojo Frankenstein is taking up all my hobby energy lately. We’ve been at it for about a year now and have gigs booked on over half the weekends through the summer (and growing).
I’ve been doing just enough programming for some office skunkworks projects that I don’t feel the need to do it at home to stay sane and keep the skills up. That’s good, I think.
That being said, here are some projects I’d like to tackle this summer.
- Raspberry Pi security camera: I’m borrowing an RPi and I’d like to get some kind of minimal framework for a wireless network security camera happening. If OpenCV works on an RPi then I’m 80% there – the rest is figuring out where to dump images periodically (FTP?). There’s a great example of what I’m trying to accomplish here.
- Re-write the Arduino Serial Communications tutorials: They still get ~40-60 page views daily, and I’ve learned so much in the past few years that I could easily make them better. I started writing a small e-book on the subject (using LeanPub) but couldn’t make enough material to justify going through the hassle. I would have had to include 5-10 example projects to demonstrate the material and I’m just not that creative.
- Write about my ray-caster experiment: I’m bad at math, so I tackled a math-heavy(ish) project. I got results (rays were cast, walls were detected) but I was only able to figure out the naive way of doing it. There is a fancy way to do the ray casting using something called DDA, and I want to wait until I figure it out before writing it up. Every time I think I’ve worked it out with pencil and paper, I run into a massive wall (pun intended). It might be better to instead write about the process of learning this algorithm while I’m trying to learn it. That’s worked wonders for me before.
- Write about problems I’ve having with Python package/module organization: I’ve been writing a semi-complicated Python package for work stuff. In an effort to be good I’ve tried to not just make it one monolithic .py file and split up the major classes into their own Python modules. For the life of me I can’t figure out any rhyme or reason to how the packages refer to each other, and what role __init__.py has in it. Again, I want to be good and not just have “from foo import *” in every module since it’s considered bad form. I don’t want to put work stuff on this page, so I’d have to write a contrived example that demonstrates my point (and hope that someone on StackOverflow or /r/python can help me out). I’ve found legit issues with the documentation before, and I’m hoping that this is simply a matter of documentation being incomplete as opposed to me being dense.
I think that’s a pretty ambitious set of goals.