The Guru College

Heartbleed OpenSSL and Password Management

In the wake of the Heartbleed OpenSSL bug, I think we need a new feature supported in all password managers – the ability to en masse flag all passwords as compromised. Once this happens, when you visit a site with a flag password, you are prompted to change it. Further, you could look at a list and doing some js magic, auto-open tabs with each impacted site, one at a time. As you change them, the flag is cleared in the password manager, and you can easily track how well you are keeping yourself covered.

From my limited investigation, LastPass.com‘s password manager and the iCloud Keychain do not support anything like this.

This Is Such Crap

Google, please stop trying to make us sign into everything under the sun (on iOS) with our Google accounts. I understand Mail and Drive, but Google Maps was trying to push me into using a Google Account recently. Today’s attempt to make me sign in is YouTube, by putting the “Use YouTube without a Google Account” link behind the “Select another account” link. In what world is not using an account considered signing in with a different account?

2014-03-25 14.41.36

2014-03-25 14.43.19

I don't mind the option to sign in – but please make it clear that you don't have to.

Mechanical Keyboards

For the second time in my life, I have a real keyboard. I didn’t much appreciate it the first time around – I was too young to understand why people loved the Apple Extended Keyboard II with it’s Alps key switches and unbeatable durability. Sadly, they are in short supply (having been discontinued for 20 years now) and require ADB->USB adapters to make them work on modern computers.

2014-03-13 10.22.51

For Christmas this year, I got a Das Keyboard Model S Ultimate.

This time around, I know what I have. It’s really a world of difference for people who use the keyboard to interact with a computer all day long, as I have done professionally for almost 15 years now. (The sad hipster part of me wonders how I ever got by with the rubber membrane keyboards or the laptop-style keyboards that Apple sells). It’s such a difference that I’m probably going to buy another real keyboard to take to the office with me, even though they cost $100+, and go up quickly.

As a side note, the new keyboard doesn’t have printing on the keycaps. So, looking at the keys really doesn’t help you at all. I’ve become a significantly better touch-typist over the last two-ish months that I’ve been using this keyboard.

Small Annoyances

Yesterday, Apple partially fixed an annoyance I’ve had with iOS 7, the iPhone 5S and the camera roll. It’s a minor thing, really, but it was a limitation I ran into every day: burst-photography with the 5S’s camera was lumped into a collection of photos, and didn’t upload the images to the Camera Roll until you had picked out favorite images. This means that you had to either go back after shooting and pick through the images on the phone, or sync your phone with your computer directly. Needless to say, I just stopped taking burst photographs when I could avoid it.

With the iOS 7.1 update, there is now a setting (“Settings” -> “Photos &” Camera -> “Upload Burst Photos”) to send everything to PhotoStream, which is close to what I want – but it still doesn’t update the Camera Roll, which means DropBox never sees the images. I don’t know if the DropBox folks could pull from PhotoStream instead of the Camera Roll (I very much doubt it), but this kind of crap drives me nuts.

I’m almost tempted to go back to PhotoStream and point photo-importer back at the PhotoStream folder. But then I remember I’m not crazy and I don’t want to sign up for extra work.

Ruby On Rails

So, I’m late to the party, apparently, but if you’re trying to get a web service and a RESTful API setup in quick order, Ruby On Rails may well be your best bet. There’s a lot of things that it does well, and quickly, but getting out of your way is not one of them. The RoR folks will tell you that it’s an opinionated framework, but I very much get the sense that big chunks of it are thrown together willy-nilly, like the method_missing garbage.

Seriously now, if you are going to generate methods for models on the fly based on the relative plurality of words, you think you’d at least warn people when they create a model that is a plural noun instead of failing to generate all the methods later, right? And if consistency was your goal, a Model.find() that returned no results, that returned one result and that returned two results would return the same object, right? (an empty array, or an array with a single member, or an array with multiple members), not Nil, an Object, or an Array of Objects.

But it’s the Rails Way.

Photo Import/Archive Script

Today, I announce photo-importer.

This script started life as my way to integrate Apple’s PhotoStream with Lightroom. It’s a perl script (with a huge stack of dependancies, sorry), that looks through a directory and computes the SHA1 hash of all the images files it finds there. The hashes are compared against an sqlite3 database; duplicated are ignored, uniques are copied to a storage directory and automatically sorted by EXIF date (storage/YYYY/YYYY-MM/YYYY-MM-DD/filename), and the hash is added to the the database. After I left PhotoStream, I pointed the script at the Dropbox “Camera Uploads” folder – this has essentially the same effect – and continued on my merry way. Now that I’ve left the Adobe ecosystem, I’ve decided to rewrite and rename the script, and make it a little more flexible.

It can be used to pull files of memory cards, Dropbox folders, Photostream folders, whathaveyou – and it knows what it’s already taken, so it tries really hard not to import the same files twice. Please keep in mind that some sync services, like Dropbox, add EXIF tags (or so it seems), so the SHA1 hashes don’t match.

If you wanted to get really fancy, you could setup fsevents-tools to auto-import when a memory card was inserted.

DarkTable

Or why my next desktop may well be a Linux PC.

Let me start this by saying that I’ve been a Mac user since I was 4 years old. In 1984, my dad brought home a Macintosh. A while later, we upgraded it to be a Mac Plus. This started a trend, and there’s a pretty straight line in my computing history from Mac to Mac. From the Plus we went to an SE/30, then a IIci, then a PowerMac 7100. Once I was in undergrad, I purchased a PowerMac G3. A few years later a PowerMac G4, then a PowerMac G5, then a MacPro, and most recently, a 27″ iMac. As a bonus, I also have a working PowerMac G4 Cube, running, in my home office.

In the time since I purchased my G3, I’ve built or bought 4 Intel machines. The first was quickly turned into a Linux machine, and then turned off, and then given to my dad. The second I barely remember. It started life as a Windows machine. I had intended to play Half Life and other popular PC games on it. I soon discovered that I wasn’t very good at them, and the machine was turned off. I don’t remember what happened to it, but it’s gone. The third intel box was for playing EVE: Online, which I used long enough to get married and realize that I wasn’t going to have time to play EVE anymore. It turned into an OpenSolaris box.

The final Intel box was purchased to be a file server. Nothing fancy, other than the 8 port SATA card and an ancient install of OpenSolaris, but it does it’s job well. I’ve had it running now for 6 years. Considering the workload, it will probably run 6 more unless the motherboard fails. (Incidently, the third Intel machine turned into my backup fileserver, also running OpenSolaris, until both sticks of memory and the powersupply gave out.)

So, for all these years, I’ve been a Mac user. All my work machines, with one exception, have been Macs, and my personal desktop has always been a Mac. But my primary use for my workstation at this point is almost exclusivley photo editing, watching movies, surfing the web, writing code and chatting with folks. Other than the first, all of these I already use open source tools available on any platform. There was a conversation at my office (well, it’s more of an ongoing discussion) about why we use the tools we use. And a number of my colleagues are die-hard open source folks. All of the discussions about platform choice come down to doing the things you need to do with the platform at hand, and for each of us it’s different.

For me it’s photo editing. I wasn’t aware previously of the progress the open source folks have made with RAW conversion, nor the leaps they had come to with apeing the functionality of Apple’s Aperture or Adobe’s Lightroom package. The package in question is Darktable It does non-destructive edits, OpenCL (GPU) assisted image transformations, all running on open source software. There’s a lot of freedom here, if I choose to use it. And better yet, darktable runs on OSX. There are even pre-built binaries. I can turn on debug logging and see the SQL qeuries it’s writing to the sqlite3 database file that references all my images. It even imports XMP sidecar files that Lightroom writes out. This means the bulk of basic editing and ratings that I’ve done in Lightroom come over to Darktable.

What pushed me over the edge was Adobe Creative Cloud. I signed up for a CC account, gave them my money, and promptly got my account details hacked along with 2.9 million of my closest friends. As the hackers have the encrypted account numbers, addresses and security codes of me and my friends, I cancelled the card. Just as Adobe tried to bill it again. So I get a nice, friendly email from them saying that my access to the software will end if they can’t bill me. What happens when they decide to upgrade and I’m no longer a customer? I lose access. What happens if they go out of business? Or raise their rates? There’s a huge number of reasons I’m not interested in being a customer of theirs anymore. And Darktable makes it so much easier.

I’m in the final stages of evaluating Darktable. The recent 1.4rc1 release fixed most of the performance issues I had been seeing. There’s a couple of things in the UI that are somewhat awkward, like having different keyboard commands for previous/next image when in the light table mode vs the darkroom mode. But, it’s fast, it’s easy enough, and it’s free – and best of all, the Darktable folks can’t screw me over like Adobe did.

Newer Posts | Home | Older Posts