Category Archives: Programming

Bug Hunting

When you’ve been chasing a multi-threaded software / hardware interaction bug for three straight weeks (the sort of bug which is triggered perhaps only once every 3 days, which you’ve instrumented with asserts and port pin toggling so you can see what’s going on with an oscilloscope since your JTAG debugging tools are rather poor, and which you’ve eventually gotten to be reproducible within 30 seconds by rigging up a FET and signal generator to create the proper noise conditions) and you’ve finally convinced yourself that you understand exactly why the problem is happening (your theory explains all of the weird behaviors you’ve seen over the last three weeks, after all), and you implement a solution and it seems to solve the observed issue only to uncover another even less explainable issue… well, let’s just say you’d probably be ready for the weekend too.

Testing Nemiver

Progress on nemiver has been slightly slower of late, but we’re making some steady progress on new things. In an effort to help more people test out newer versions of nemiver and to brush up on my packaging skills, I set up a personal package archive at launchpad about a week ago where I’ve uploaded a recent build of nemiver. Those of you using Ubuntu Feisty that want to try out a more up-to-date version of Nemiver can do so by adding the following lines to /etc/apt/sources.list

deb     http://ppa.launchpad.net/jonathon-jongsma/ubuntu feisty main universe
deb-src http://ppa.launchpad.net/jonathon-jongsma/ubuntu feisty main  universe

Followed by the requisite apt-get install nemiver.

I’ll try to upload new versions periodically. Let me know if you have any issues with them. All of the usual caveats apply — this is development code so may not be completely stable, etc.

Publishing Git Repositories

Dear Lazyweb,

I’ve been using git for a while for most of my projects, and I love it. It’s fast, powerful, and it’s actually quite simple to use. Whenever I start hacking on something, even if it’s just a little utility that will never see the light of day, I generally initialize a git repo and hack in there.

But my question is, what do I do if I want to make that repository public? I want to create a ‘bare’ repository (e.g. without any working directory files) on a public server that I can push to, and that others can pull from and push to. I would have expected some command like git clone --bare ./local-repo ssh://remote-server/remote-repo, but that doesn’t seem to work. Am I overlooking something obvious?