We Have Milestones!

After much waiting: there are now milestones!

Yep.  A bit of a let-down.  I know.  Sorry.

In creating the milestones, I noticed there were some things that were probably missed… setting up an order to the milestones (so I don’t necessarily have to insert them in the proper order), etc.  Nothing mind-blowing here.

I’m working on the code and associated SQL to figure out a contestant’s progress in relation to milestones.  Nothing exceptionaly difficult, just takes a little time to do.

But there are MILESTONES now, people!

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.

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…

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.

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!

The Death of Buzzkill

Did you try to go to BuzzKill.org, and now find yourself wondering how you got here?  Probably not, unless you’re a mindless bot.  But if you’re reading this (and are not said bot), you deserve an explanation.

BuzzKill.org isn’t dead.  It’s still around, but it redirects to here.  I got tired of maintaining it–or, more accurately, fixing it when I realized it was broken–so I just redirected it to this website.  If you want to know who I am, go here.

It really wasn’t doing anything anyway.  There was a gallery, which showed some crappy old images that me and a buddy created a couple decades ago, and showed blog posts from CrazedSanity.com.  So for now and the indeterminate future, you’ve landed yourself at it’s new home.

Oh, if you’ve got yourself a spiffy email @buzzkill.org, don’t worry.  That’ll work just like before. 🙂

Project Hobbit Walk: Yay, Progress!

I had a little time last night to hammer out some code.

I’ve got a database layout done basically done, so I can store data.   There’s already a script in place that will download a set of spreadsheets in CSV (“comma separated values,” basically just really simple text).

Now I need to get some more code written to interact with it, create reports, and send emails.  And eventually put in some “fun” text into those emails, like, “whoa, you overtook John last night by a staggering 3.45 miles! Hope you told him to eat your dust on the way by!

I’ve spent some time figuring out how to layout the data, where the data comes from, what it looks like, and how to store what I need to make “Project Hobbit Walk” something worthwhile.  In order for me to consider the application truly useful, it has to do a couple of things.  For users (including me), it must:

  1. Be Intuitive.  Like picking up the controller for a game, and having every button and key combination work exactly the way you expect, so you can have fun right away.
  2. Stay Out of the Way. Once it’s configured, it can just stay out of your way.  No muss, no fuss.
  3. Be Useful.  Probably the most important part, it needs to show you what you want to know, and help motivate you to get healthier by gamifying life.
  4. Be Fun.  Seriously, it has to create enjoyment.

But let’s be honest.  There’s other considerations for me.:

  • Easy to Maintain.  I can’t spend all my time fixing/updating code, since that would keep me from moving around… I’d fall behind in all my races!
  • Easy to Get Started.  I don’t have time to walk every single user through the process of setting it up.  This goes hand-in-hand with the Be Intuitive part from above.
  • Help Pay for Itself.  I have a server that I pay for each month out of pocket; if this can generate enough money (through some hopefully innocuous ads) to pay for that, I’d have less stuff to worry about.
  • Grow On It’s Own.  There will hopefully be enough tools available that it’ll just grow “virally,” like users sending emails to their friends with messages like, “I challenge you to race me to Mordor,” or “I challenge you to climb Mount Everest with me.”

Let me know what you think in the comments below.  And a special thanks to all those that have signed up for testing!

Project Hobbit Walk: Preliminary Ideas

I’ve got some data from a few other people, so I’ve been thinking about it.  And be sure to read the teaser.

The Basics…

I’m going to setup the system so each user can compete in multiple “races.”  I’ll automatically keep track of each person’s complete history, and I’m thinking each will get put into a separate race that will be just them.  So I’ll be in my own race, showing my own progress from whenever I first got data into the system.

Other Types of Competitions

There will of course be other races.  I might challenge my buddy “John” to a race that will start on January 1st, and simultaneously begin a race today with my other buddy “David” right away today.  So those are examples of one-on-one races, though there could be multiple participants: if another person wanted to jump into an existing race, they could, though they’d be at a disadvantage (but a marathon runner joining late in a race with a couple of geeks might end up having a much larger advantage).

Another race type would be pairs.  In the vein of Lord of the Rings, you know, like Frodo and Samwise.  Each pair would have their daily totals averaged… think of it like Samwise carrying Frodo when he couldn’t walk on his own.

For Now…

Right now I don’t have anything setup to automatically track progress.  I’ve got some spreadsheets that have been shared with me, but that’s pretty much it… so I’m probably going to send out emails manually, stating results.  I’ll refine them as I go.

Into the Future!

That seems like a quote.  Anyway, the initial races will be based on the Walk to Mordor from Nerd Fitness, which has milestones along the way that I can use.  I hope to incorporate an ACTUAL map from LoTR, with something that shows where each team is on the trail.  Because that’s awesome.

Once I’ve got that down, it’s time to open it up to accept ANY map.  I have no idea how that would work… but I would imagine I’ll have a lot more to go off of after I’ve done that with the LoTR map.

Are You Ready to Get Started?

If you’re interested in joining the fun, I’m accepting a limited number of participants right now.  Send me an email (if you’re privy to that info), or just drop a comment below, I’ll get to you as soon as I can. 🙂

Project “Hobbit Walk”: The Teaser

I’m working on a new project that combines fitness, programming, and technology (the last two seem a bit redundant… but whatever).

The project is based upon the “Walk to Mordor” post on NerdFitness.com.  Anybody that’s interested just needs to setup a spreadsheet on Google Docs that I can access, with some basic information:

  1. Date
  2. Steps
  3. Distance (in miles)

There’s a bunch of different ways to get that information logged… manually is an option, but I think that kinds sucks.  Not a big deal, but it’s a pain to remember, especially when you can use something like a Fitbit with IFTTT on a smart phone (or tablet) to automate that stuff.   More on that later.

If you’re interested, send me an email, say something in the comments below, or in some other way express interest to me.  I’ll send you instructions on how to get started.

The application is in ALPHA testing now.  Alpha testing means pre-beta… basically, that means that I’m still building it.  I’m letting a handful of people in right now.

UPDATE: see “Preliminary Ideas

UPDATE: see “Yay Progress

UPDATE: see “There’s a Database

(if you wanna see all updates, in case I missed a link, check out the “Hobbit Walk” category).