Dev Diary 2015-04-21
Cool links
- How Much Math Do Programmers Need
- What Every Programmer Should Know About Memory (PDF)
- What’s New in CPUs Since the 80s and How Does It Affect Programmers
- Why Don’t Schools Teach Debugging?
- CPU Backdoors
- Editing Binaries: Easier Than It Sounds
Videos
RailsConf 2014 - Aaron Patterson Closing Keynote
Dev Diary 2015-04-20
Today’s been getting a new laptop up to speed. What is it about a fresh hard drive that gives you the feeling like putting on brand new shoes over brand new socks? A chance to slough off the old files that creep into your home directory over time.
I’ve got a brief article/howto in the works for making a steering wheel stand. I suspect I’ll be putting in a fair amount of time into Gran Turismo over the next few months, though that shouldn’t be cutting into NiceBSD any more than getting into the groove with this laptop.
Dev Diary 2015-04-18
My laptop keyboard has decided to kick the bucket. Not an insurmountable problem, but a pain nonetheless (hence the lateness of the post). I’m hoping to have it sorted out in the next 48 hours, but it means a lost weekend of NiceBSD development. “How does a project blow its deadline? One day at a time.”
So today is the Matt Might article round-up - here’s the articles he’e written that I’ve enjoyed, and hope you will too:
Dev Diary 2015-04-17
Holy hot dogs, it’s been a crazy week. Lots of good things going on, though -NiceBSD work resumes (and will try to have another dev diary up soonish). Also simplifying my tools, creating nice little helper scripts and making some long overdue changes.
One of the long overdue changes is a recent switch to newsbeuter from TinyTinyRSS. It’s not that there was that much wrong with TinyTinyRSS, but I found I was able to rip through my feeds a heck of a lot faster with newsbeuter. Also, there’s the benefit of one less gnarly PHP service sitting on the net waiting to get popped.
Dev Diary 2015-04-16
I haven’t had much time in the past month for NiceBSD (though it hasn’t fallen off my radar). However, I come across so many interesting technical articles and videos every day that I want to share, so I’m going to start doing that here, instead of dumping them all on Twitter (where they can get algorithmically ’lost’). I’ll be going through some of my older personal link dumps first, so there’ll be some older stuff mixed with newer stuff.
Dev Diary 2015-03-16
Currently making a map of the source code of Mezzano, mostly for my
sake, though I’ll try to clean it up a bit and post it here when I get a
chance. I figure it will be easier to start a map while the codebase is
40k LOC and update it over time than waiting until the project becomes
so big that it becomes a daunting task. As I’m going over the codebase
I’m finding lots of little parts that would be good to tighten up, as
well as areas that could be refactored into a more comprehensible
arrangement (example 1: misc.lisp in the top-level).
Dev Diary 2015-03-13
After a bit of a hiatus (that included an Epic Ambient Battle), I’m back
to work. My cold-boot qemu image is having trouble connecting to the
local file server, from which it should pull the remaining necessary
files (ie fonts). This isn’t an arrangement I’d like to keep - it’s one
thing to have a remote file system to pick up user files, quite another
to rely on it to pull files required for the thing to work. It’s got
me digging around net/ethernet.lisp, which, to my delight, is
readable, but hardcodes a lot of network assumptions, as well as not
distinguishing between the OSI layers (DNS is not part of the Ethernet
standards, last I checked). Since a good organizational scheme can make
dealing with a large codebase much easier, I’m thinking of how to break
down the sys.net subsystem (right now I have in mind something like
sys.net.dns, but I’m not married to the idea (yet)). I’m going to survey
other software distributions and see what works well (and what doesn’t).
I hope I’ll have something I can start working on tomorrow (as well as
having the qemu image in a state where I can do some more interesting
work).
Dev Diary 2015-03-05
Spending today getting a whole bunch of helper scripts done. I’ve got a soft spot for those little scripts that are 3-4 lines that become so much a part of your workflow that you don’t even notice how they’ve entered your muscle memory vocabulary when you whip through a project. These scripts never seem to qualify as ‘programming’ proper, and are seldom held up as examples when a newcomer enters the field and asks ‘what are some good examples to read from?’ But I think they are essential if you are serious about ‘making the computer do the work.’
Dev Diary 2015-03-03
“How does a deadline slip?”
“One day at a time.”
If I recall correctly, that gem is from Fred Brooks in Mythical Man
Month. I took the weekend off for some badly needed rest, and then
yesterday and today got largely soaked by work. Still, made a bit of
progress with the cold boot. I looked into why the file server wasn’t
working for the build process. I attached to screen, and saw that I
needed to add lfp.h. “No problem!” So I started looking around for it
in the Fedora repos, and could not find it. That header file is part of
libfixposix which
fortunately built on the first go. After I added an entry to
/etc/ld.so.conf.d/ ldconfig found the new libraries. Now that I’ve got
file-server loading, next step is to figure out why the image is timing
out trying to connect to it (I suspect I may have to play with QEMU and
tcpdump in the morning).
Dev Diary 2015-02-25
Playing with Mezzano some more, becoming more convinced of the all-in-one-system approach. Even with the Makefile currently, the process is still manual in some parts (requires installing Quicklisp and the dejavu fonts), but I’ve got the image building. Since I’m starting this project on a 4-year-old netbook, the initial boot took longer than expected.
VirtualBox ended up being more of a pain than expected, so I switched to QEMU for the virtualization instead, and this got me back on track. Since QEMU happens to work, it’ll be the first to get NiceBSD releases (with other virt solutions in time).
Dev Diary 2015-02-24
So this morning I found out that the NiceBSD.org domain was expiring. I had cancelled the auto-renew several months ago (with a bunch of other unused domains), at the time figuring the project to be too ‘out-there’ to get any interest. I like to bounce new ideas off folks, as I don’t want to spend time working on software that no one else will use, and also I find having a few cheerleaders at the start can help you through the moments of doubt that normally would snuff out a project. Fortunate for NiceBSD, I got some interest from my coworker Anthony yesterday. We had been talking about the need for simplicity and eliminating incidental complexity, and that’s when I surfaced NiceBSD to show.