Resolutions for programmers
matt.might.net
matt.might.net
For upwards of five years, I've been attending linux.conf.au and the Open Source Developers Conference in Australia. Each time, I have a great time; discuss interesting things with interesting people; come home and check out a bunch of interesting repositories; and then... do nothing.
But not this year! Aha!
I left linux.conf.au four days ago. Since then, I've:
- written up one bug report [0]
- joined the discussion on another bug report [1]
- patched a piece of software on github for the second bug report [2]
- realised that somebody else has done essentially the same patch in essentially the same way :( [2]
- created a web scraper [3] for my local council to scrape ~30,000 planning applications for [4] and asked for it to be included
- added 12 sets of traffic lights to OpenStreetMap near a friends house [5]
This feels great. I think I can safely say that this year is going to be different to the others. I'm quite aware that many of these are extremely minor, but they I hope that they get me over the line and get me contributing more regularly. I may be able to make a bit of a difference this time.
Now... if I can just get around to going to the local hackerspace that for the last five years I've promised myself I'll attend...
[0] https://tickets.openaustraliafoundation.org.au/browse/PA-444
[1] https://tickets.openaustraliafoundation.org.au/browse/OA-503
[2] https://github.com/mischat/shareNice/pull/18
[3] https://scraperwiki.com/scrapers/shire_of_yarra_ranges_plann...
Here's what I do if anyone will find it useful:
1. I have backup scripts in my crontab that look like this:
for project in dir1 dir2 dir3;
do /usr/bin/rsync -aq --delete /Users/kranner/$project someuser@somehost.rsync.net:backups/daily/;
done
I use rsync.net as my remote backup provider. The daily script runs four times a day (redundancy is good because my notebook may be asleep or without an internet connection sometimes); there is also a manual and a weekly script. The daily/weekly/manual division is inspired by the Linode backup scheme.
2. Occasionally I will hook up an external drive and do a full bootable backup. For this I use SuperDuper for OS X.
I had my first catastrophic hard drive failure in July, and I was glad I hadn't waited until August to start backing up.
Long story short, in order to get something I was comfortable with I eventually wrote my own backup tool that accomplished something similar (incremental backups forever, but full snapshots of the system on each backup), but has compression and uses SQLite for its database backend. I'm working on finalizing it as an open source project up on Github if anyone is interested in it (need to finish the documentation, and add status report functionality yet, along with some misc. cleanup). But so far it seems to be working for me.
Edit: I forgot to mention the project name. It is on github.com/derekp7/snebu and I just set up a domain today pointing to it, http://www.snebu.com. Like I said, a work in progress (the download links on the web page are auto-generated by Github, and will always pull the current version from the git repository). In the next few days I'm going to load test it a bit more, once I get the unit tests written (and dogfood it a bit more) I'll tag a 1.0 release and update the page.
[1] http://matt.might.net/teaching/spring-2009-programming-langu...
1) I'd rather control exactly what I'm pushing out to a remote host
2) rsync.net costs something like $7-8 a month for a geo-redundant backup so it's not much more.
3) Bandwidth is limited.
#2: I am working on my diet. Yes, staying healthy is crucial for programmers. Because of the nature of the work you have to be mindful about that.
#3: Good suggestions
#4: I should be doing that. I am trying to "learn" about new languages, but you can't really learn unless you practice and this can only be achieved gradually.
#5: Yes
#6: Working on that. Similar to #4.
#7: I once had a project of reviewing the security of a web application, learned a lot, and appreciated the importance of being security-aware. It was really cool being paid to work full-time on practically gaining new and useful knowledge for a few months.
#8: I am kind of lazy for that. But, currently, I am mostly experimenting.
#9: Yes
#10: Started doing that before programming
#11: Yes
#12: Have been doing that. But what is 'complete'?