19 February 2015

Beware the five o’clock stupids

My brain gets a little “squishy” after working on something for awhile.  Pounding away at the same thing gets a little monotonous.  Over.

And over.

And over.

And over.

And over.

And oevr.

And orev.

And voer.

Adn over.

And oevr.

And OVER.

AND OEVR.

AND OEVER.

ADN VEORE.

AND OEFER.

(see what I did there?)

Wait… what do you mean you can’t find /lib/std++.so?  WTF IS THAT?  Oh… shit…

At 5:00, relative to your timezone.  Stupid strikes.  BEWARE THE FIVE O’CLOCK STUPIDS.

17 February 2015

New Series: Living With Linux

I’ve decided to start a new blog series.  I’m calling it “Living With Linux.”

It’s all about dealing with Linux on a daily basis.  I presume that at this point most people run Windows, or Mac.  If they run Linux, usually it’s because they know a friendly geek (or have offspring that became one) that installed it for them.  Hi, Mom!

Anyway.  Having ditched Windows at my house for many years now, I’ve picked up some things:

  • tricks on getting things done (insanely) fast
  • things that you just can’t do in Windows
  • reasons why I hate Windows
  • frustrations about Linux

This post is my public declaration.  I am planning on blogging on a regular basis.  How regular?  I guess we’ll see…

Category: Living With Linux | Comments Off on New Series: Living With Linux
17 February 2015

SSH and Multiple Keys

I do a lot of stuff with SSH.  And I’m a fan of using separate keys for most things: the generic public key

~/.ssh/id_dsa.pub

for my specific workstation; and then a special, non-workstation-specific key for other stuff.

So I’ve got a key for things like:

  • Digital Ocean
  • SourceForge.net
  • BitBucket
  • GitHub

Frustratingly enough, once one has enough identities, one runs into a problem: Too many authentication failures.  Every time I see it, I have to go figure out why, and a workaround.  And that’s a couple of precious minutes that I’ll never get back.

Well, I’ve finally found a solution…  I actually already had it, I just forgot. My salvation lies in this file:

~/.ssh/config

The key is actually the first part, “Host *.hostname.com”, which is like a per-domain catch-all:

GSSAPIAuthentication no
Host *.hostname.com
    PubkeyAuthentication no
Host test
    Hostname www.test.foo
    User danf
    IdentityFile /home/danf/.ssh/digitalocean_id_rsa.pub
Host *.server04.com
    IdentityFile /home/danf/.ssh/source.server04.com_dsa.pub
Host cs
    Hostname indigo.crazedsanity.com
    User danf
    IdentityFile /home/danf/.ssh/digitalocean_id_rsa.pub
    IdentitiesOnly yes
    ServerAliveInterval 20

Oh, and this configuration allows me to use shortcuts that don’t have to resolve to real hosts and don’t require entries in my /etc/hosts file. So I can literally type ssh cs and get to where I want.

EDIT: apparently, there’s not a catch-all.  At least not a global one… but you can set one for an entire domain (like “*.hostname.com”) and that works magically.  So… close enough.  At least for government work.

Category: System Administration | Comments Off on SSH and Multiple Keys
4 February 2015

Project Hobbit Walk: There’s a Database

That’s right, now Project Hobbit Walk actually has a database behind it.  And that database is actually getting data put into it.  Automatically.  Huzaaaa!

I’ve still got a bit of work to do.  But this is an incredibly important foundational piece of the puzzle.  With a single query, I can see how far everyone has traveled.

The only numbers I have to worry about are each user’s grand total, and their progress since the race against me started.  So it’s pretty non-complicated right now.  WOOO!!!

I’ve still got more stuff to do.  Here’s a pretty short list, in no particular order:

  • a URL scheme for showing race data:
    • for anyone (e.g. “/race/{id}/current”)
    • for all races of the currently logged-in user (e.g. “/races/”)
    • for progress on a specific race, up to a given date (e.g. “/race/{id}/20150104)
  • a URL scheme for handling open invitations (anyone can click it, sign up, and enter the race): (e.g. “/race/challenge/open/{id}“)
  • a URL scheme for handling user-specific invitations (only for a selected user, others get an error) (e.g. “/race/challenge/closed/{id}“)
  • some way to graphically show progress generically, without milestones
  • a way to show, graphically, progress with milestones (e.g. progress to Mordor)

Okay, that’s probably enough for now.  I’ll probably dream about this stuff now, since I’m thinking about it so close to bedtime… d’oh!

Category: Health, Hobbit Walk, Software Development | Comments Off on Project Hobbit Walk: There’s a Database