a little love for developers…

October 28th, 2008

…in these trying times:

link

tech topics on my mind : 4

August 11th, 2008

surviving the email onslaught
my inbox is far less crowded (with actionable items, specifically) than it was when i was doing full-time product management, but i still struggle to manage my inbox properly. there have been countless sites dedicated to management techniques (a great example), but i haven’t yet found one that works well for me. perhaps it’s a matter of discipline. i can tell you one thing, though — i don’t miss my blackberry. i thought i did at first, but after a few weeks of sweet freedom, i realized that the value added by constant access to email and the web was far outweighed by the crushing burden of having to deal with constant interruption.

ideally, i’d like to switch to a email management model where i say “i read/answer emails from 9am to 9:30am and 5pm to 6pm daily; if it’s more urgent, call or IM me.”

my favorite new take on email, courtesy of one of my favorite authors: bad correspondence. (thanks to Melissa Leffler for the link)

tech topics on my mind : 3

August 10th, 2008

(k)ubuntu / easy linux for the desktop… finally.
my buddy Brant recently installed kubuntu and has been getting started with it. it’s his first foray into linux and i was psyched to see him take the plunge — with a full install! talking with him about the experience got me thinking about how far linux has come as a desktop OS…

i run kubuntu on my work laptop and it’s been my sole development environment at GHD. with the exception of a few small quirks, i’ve been incredibly happy with it, mainly because it’s allowed me to get my work done without spending hours/days noodling with config. any configuring i do is solely because i want to make my life even easier.

i’ve been using UNIX since 93 and linux since ~95, when i first played around with Slackware. most of my college years were spent running a RedHat server, though i did have a Debian box and even an OpenBSD (not linux, i know) box for a bit. one thing that was common in all these experiences was how much of a struggle linux was with hardware, most notably in a desktop environment. generic, dumbed-down modems, network cards, video cards, and monitors were about the only things that worked flawlessly. have a cutting-edge card? write your own driver (honestly, never my strong point). have a sound card? better get used to the dulcet tones of the pc speaker, because that card’s useless. the time from installation to issue-free daily use was measured in weeks, not hours. linux on a headless server? outstanding. linux on your desktop? too much overhead.

at some point during college, the project known then as Ximian came out, and gave me a ray of hope. the idea was that you’d install programs through Ximian’s graphical installer, and when they needed to be updated, they’d pop up a notification and you could choose whether or not to upgrade/patch/etc… automatically! package management was available through RPM, but this was a whole new level, and definitely went a long way toward lowering the maintenance overhead on a desktop machine.

post-college, i took a break from linux for a while (at least as a desktop OS), until i took the big plunge and installed…er, compiled Gentoo. i thought i missed hacking around and tweaking, Gentoo is the ultimate linux distribution for that. big mistake. the overhead i mentioned above is multiplied when you’re compiling all your own stuff. and i mean EVERYTHING. who cares if software packages run 10% faster when most of your CPU cycles are dedicated to re-compiling? so Gentoo got the boot and i returned to *shudder* Windows.

now i’m running kubuntu, and i haven’t been happier. it detected almost all of the hardware on my Lenovo T61 automatically, and the crowning moment had to be when i booted up for the first time and was greeted with: 1680×1050 resolution, a network connection (wireless!), and sound! the only real challenge was to get my dual-monitors working properly (which required some hacking of xorg.conf). from there, it’s only gotten better — the ubuntu package management (employing Debian’s apt-get) is amazing, thanks to a well-maintained repository and simple management tools.

granted, this is my work machine, so i’m not hooking up my iPod or managing my digital photo collection, but word on the street is that these are easy, too. as a small point of proof, hot-swap device management has definitely improved — plugging in a USB key didn’t require using mount, so that’s a first.

the last big hurdle that kept me Windows-bound was documents — no open source software could interact well with MS Office. sure, there were open-source packages, but when everyone else at work uses Office, you’ve got to play nice. recently, two changes have rendered this obstacle obsolete — the prevalence of web-based documents (Google Docs) and the improvements to OpenOffice. now when i send out or read a document, i’m 99% sure that others are seeing what i am.

overall, i can’t say enough about (k)ubuntu. whether you decide to go the GNOME or KDE route, you’re not going to be disappointed. i think it’s about time to declare linux desktop-ready.

tech topics on my mind : 2

August 9th, 2008

photo management
i’m always looking for good photo management software and methodologies. Picasa is close to what i’m looking for, but has a few key features i’d like to add/change, especially around tagging. also tied into this is how to import, store, and back up photos. a lot of programs do all three (Picasa, for example), but so far, i’ve been doing all 3 manually and just having Picasa watch the directory. am just i being a stubborn DIYer (same reason i drive a stick shift) or is it that the current offerings don’t quite give me what i want (same reason i brew my own beer)?

tech topics on my mind : 1

August 8th, 2008

off-site data backup
for a serious computer nerd, i’m unbelievably bad at backing up my data. i help Laura manage the digital photos for her business, and we have a killer backup strategy there, but i can’t seem to apply that same level of rigor in backing up my own files. i’ve toyed with the idea of using a service like Mozy or Carbonite, which are reasonably priced (~$5/month for unlimited storage), but they don’t allow you to back up network drives, so they’re not really an option. there are other programs (like Jungle Disk) based on Amazon’s S3, but Amazon charges you $0.15/GB/month for storage. if you’re storing more than 35GB of data, S3 loses out to Mozy/Carbonite.

as an alternative form of off-site storage, i could also burn DVD’s (annoying, manual) or set up mirrored hard drives (coming way down in price) and ship them off to a friend or family member’s house. i’m seriously considering this path, though it’s still manual, and doesn’t really work well with incremental backups.

so what do i have to back up, anyhow? there are four main types of information:

  1. documents — few GB (if that), high value (cannot replace), steady additions
  2. music — many GB, low value (can replace, as I have the original CD’s. if those are destroyed, i can always re-purchase.), batch additions
  3. digital photos — many GB, extremely high value (cannot replace), batch additions
  4. emails — several GB, high value (cannot replace), steady additions

as you can see, there’s a struggle of requirements — storage size, value of data, and incremental additions differ from information type to information type. generally speaking, i care most about documents and photos; the emails would be nice, but most of my email is in GMail and i use my local disk only as a backup (just POP the mail off).

so in light of the different requirements, perhaps the best strategy is a mixed-mode off-site backup: Mozy Free (2GB free) or JungleDisk for documents and emails (since they’re continually added), do a hard drive swap for music (mainly for convenience since the CDs are a physical backup and can be replaced with insurance money), and use Smugmug for photo storage.

extending Prism

July 10th, 2008

Firefox has plenty of extensions, but it’s not clear how to get them working on Firefox’s stripped-down, ultra-cool friend: Prism. to the rescue, there’s a great writeup over at the Lucky Disasters blog:
http://www.luckydisasters.com/2008/06/10/heres-how-to-make-an-extension-compatible-with-prism-two-ish/

i’ve been using Gmail for a while, and have bought completely into their UI (tagging, conversations, search etc). as i mentioned in an earlier post, i even installed Mozilla’s Prism so i could use Gmail as more of a stand-alone app. however, one feature i’ve really missed is the ability to display all non-HTML emails as monospaced (fixed-width font). other mail clients (Outlook, Thunderbird) have this capability, and Gmail even lets you compose emails in a fixed-width font, but doesn’t display them that way as you’re reading them.

why fixed-width fonts? well, for hackers like me, code and “ascii art” display properly in a fixed-width font. fonts like Arial and even Times use different widths for different charaacters, screwing up the original formatting of certain emails. for instance, this:


+ Col1 + Col2 +
---------------
| data | data |
| mmmm | mmmm |
| wwww | wwww |
| oooo | oooo |

ends up rendered like this:

+ Col1 + Col2 +
—————
| data | data |
| mmmm | mmmm |
| wwww | wwww |
| oooo | oooo |

recently, they added a feature through “Gmail Labs” that toggles monospace, but it has to be turned for each and every time you read an email. a global setting would have been much nicer.

so i went searching, and this is what i found:

1) if you use Firefox, just install the “Stylish” extension and add a style for it.
2) if you use Prism, go to the unpacked bundle of the gmail webapp (the one on the Prism site unpacks to a directory called “google.mail@developer.mozilla.org”). in there, create a file called webapp.css (you should see webapp.ini and webapp.js already). add the following to that file:

.geTjV, .ArwC7c, .iE5Yyc, .uQLZXb > textarea {
font-family: courier !important;
font-size: 10pt !important;
}

enjoy.

starting off, as so many web 2.0 addicts do, with Gmail, i slowly started to gather more and more web-based-applications, and now i have a core group that i use regularly:

  1. Gmail (personal)
  2. Gmail (work)
  3. Google Calendar
  4. Google Docs
  5. Google Groups
  6. Facebook
  7. LinkedIn
  8. Google Reader
  9. Remember The Milk
  10. Joes Goals

for a long time, i used Firefox’s tabbed interface to manage multiple applications at once. on the plus side, all of my webapps were in one convenient location. unfortunately, this also meant that one application could dominate/crash the browser (i’m looking at you, google docs). i also like to alt-tab through my list of applications. the one flaw that really sent me searching for a solution was how difficult it was to log into two Gmail accounts at one time. the ietab plugin worked well while i was in Windows (ietab uses a separate set of cookies), but i’m running Kubuntu full-time at work, so that option became less practical.

eventually, i found an under-hyped offering by Mozilla Labs: Prism. web 2.0 applications have removed the need for many of the typical “web” features — link bars, navigation buttons, etc — and have started to look more and more like desktop applications. the goal of Prism is to start bridging that gap, and to achieve that goal they have provided a “browserless” browser interface in which you can run your webapps. it’s ultra-fast, clean, and each Prism instance provides its own cookies/cache/etc. the only vestige of a web browser that remains is the status bar at the bottom, but that’s just a good idea, as you’d like to see where you’re heading when you click on that link.

pretty much everything you need to know to get going with Prism is in their wiki (and there’s not much to know). give it a try and let me know what you think.

build your own gadget

February 23rd, 2008

in the same vein as LEGO Mindstorms and the Robolab intiative, a New York-based company called Bug Labs has built a modular system for constructing and programming your own gadgets. the programming IDE looks pretty slick and there are a couple of excellent modules so far (GPS, LCD screen, camera, motion sensor) but the real power is in the ability to create your own hardware modules. that’s right: they’ve opened up the schematics for their hardware.

buglabs.jpg

i first read about these guys in the Tech Review, but have since seen product buzz on sites like Gizmodo. check out the video on the Gizmodo link — seeing this thing in action is the best way to understand how fantastic this little device is.

finally, if you’re as psyched about this thing as i am and can’t wait to get more information, check out the Bug Blogger.

fan noise, round 2

February 13th, 2008

so the other day i mentioned that i was working on fixing the fan noise in my Thinkpad laptop. originally, i investigated some stand-alone software (tpfancontrol) for fan control, but i was really looking for something to hook into Notebook Hardware Control (NHC), so i could manage all operational aspects of my laptop from one console. in fact, NHC claimed to cover fan control (or at least monitoring), but I couldn’t find that information anywhere in the NHC interface. turns out that i just needed to go to the “Settings” tab and click “Show all NHC options and settings”… voila! tabs galore, including the “ACPI” tab i needed for fan monitoring and control.

the next step was to find the ACPI control scripts for my T42 Thinkpad — or else write my own from scratch. luckily, i found the scripts required thanks to Aaron Tiensivu’s blog. just download this zip and follow the instructions in the readme file.

the default mode for the script is to turn on ACPI control through NHC, so that the fan is tied to the CPU and HDD temperatures (which makes sense, right?) — and the default temperature settings seem conservative. i have been monitoring the CPU temp closely to make sure everything is working as promised, and so far i haven’t been frying eggs on the keyboard.

the only odd thing is that NHC cycles through the fan speeds on startup and when you come back from sleep mode, so if you’re not prepared for that, it’s a little strange. the fan will rev up to top speed and then drop back to zero, which as far as i can tell is used to check that all the speed levels are valid.

in the end, the whole ACPI-script process took me about 3 minutes, and now my laptop’s fan is working normally and sanely.