I just built a Chrome extension for Vodpod.com. It builds off of the high-performance API I wrote last year, and offers some pretty sweet unread-message synchronization. You'll get desktop notifications when someone you know collects a video, in addition to a miniature version of your feed.

As it turns out, Chrome is really great to develop for. Everything just works, and it works pretty much like the standard says it should. Local storage, JSON, inter-view communication, notifications... all dead simple. Props to the Chrome/Chromium teams!

You know what’s going to be awesome? When I have to get a normal job.

“So, why do you think you’d be great at Jimmy John’s Sub Shop?”
“Ummmm… I can compute first-order perturbations to degenerate Hamiltonians. Please hire me?”
“What else?”
“I can design your web site and ordering system…”
“Nope, already got one.”
“I can be thrown around safely!”
“Next please.”

I have the weirdest skill set on the planet.

This week, I spent a long time mucking about in the mail relays. Freshclam skipped over 8 of the 9 mirrors it knew about, and the remaining one was down, so it spun for an hour trying to fetch new virus definitions. While it was busy with that, clamd woke up, tried to refresh the database, couldn’t acquire the lock (since freshclam had it), and shut itself down. That broke the two clamdscan processes that amavisd-new was using, and 6000 messages piled up in the Postfix incoming queue. I managed to get the whole mess resolved with the help of debian-volatile, which provides rolling stable packages for ClamAV and other frequently-changing projects. I also put in place more comprehensive monitoring for Cacti and Nagios, so next time the queues explode, we’ll know about it sooner.

unix_wizard_5_small.jpg

The upgrade to ClamAV prompted me to go through and fix all of amavisd-new, including making it talk to SpamAssassin again. The upside is that all incoming mail is now thoroughly filtered for spam and viruses before hitting our Exchange servers, which really cuts down on load and junk in people’s inboxes.

For the last few days, I’ve been drawing little sketches on my whiteboard, regarding the various goings-on at work. My boss Laird suggested that I put them online, so here they are!

On Tuesday, I was fixing the file transfer box; an apt upgrade had updated some libraries that SFTP relied on, which meant rebuilding the chroot environment with the help of ldd.

unix_wizard_1.jpg

So I’m back at work again, but my job has changed. No longer am I the stealthy IT ninja, whose responsibility it is to replace components the day before they they break, anticipate obscure printer errors that could bring ruin to the marketing department, repair desktops while their users are out for a cup of coffee, and arrive silently in an employee’s cube before they hang up the phone. I’m still messing about with the network monitoring system (especially the TAP gateway, which fails silently half the time), but my official job is now within the realm of support. Working against time on a laptop with a failing hard drive, I’m writing a support web site with the Ruby on Rails framework which will interface with our customer relations management service.

Let me tell you this: Ruby. Is. Amazing.

I’ve set aside this week simply to learn the language and the framework, and the sheer amount of magic in Rails is astounding. I’m not entirely sure I like the eRuby template system for views, but the astounding simplicity of ActiveRecord makes the whole thing worth it. The way it manages relationships between tables takes all the work out of SQL management… and some of the methods available for model objects are startlingly useful. Data validation rules make a lot more sense when implemented as a part of a smart model object, rather than being controller-specific.

Copyright © 2017 Kyle Kingsbury.
Non-commercial re-use with attribution encouraged; all other rights reserved.
Comments are the property of respective posters.