30 January 2015

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. 🙂

Category: System Administration | Comments Off on The Death of Buzzkill
21 January 2015

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!

Category: Code, Health, Hobbit Walk | Comments Off on Project Hobbit Walk: Yay, Progress!
19 December 2014

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. 🙂

Category: Health, Hobbit Walk, Software Development | Comments Off on Project Hobbit Walk: Preliminary Ideas
17 December 2014

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).

Category: Code, Health, Hobbit Walk, Software Development | Comments Off on Project “Hobbit Walk”: The Teaser
21 November 2014

The Fight of My Life

There was this guy.  I used to hang out with him.  He was big, fat, lazy, and stubborn.

He was the guy that always told me that I couldn’t do it.  That I couldn’t go to the gym.  I couldn’t work out anymore, I couldn’t keep up  He was the guy that shoved that nasty, greasy “fast” food in my mouth every morning, telling me it was good and that it was normal and that what we were doing was normal, because everybody else was doing it.

He was the guy that taught me the secret of not being ashamed of how much I ordered: just order for two.  If I made it seem like I was ordering for myself and another person, I didn’t have to be ashamed at how much I plowed down.  Two thousand calories in a sitting wasn’t that much.  Just toss that second 32-ounce pop… unless you want it in case of a refill.

Today I beat the hell out of that bastard.  I smashed his head between the bars of the butterfly machine sixty times.  I dropped my feet on his head after every pull-up, all sixty of them.  I kicked, screamed, grunted, and groaned that nasty bastard out of my life.

I told him that two thousand calories wasn’t even as much as I should eat in a day, let alone one sitting.  I told him that I don’t really like those nasty hash browns from Burger King, or those ridiculously sweet cinnamon things, or those soggy sandwiches.  I told him I was done with that shit, that I’d had it and I was moving on  I pushed him away and told him to never come back.

Who was that guy, you ask?  If you haven’t figured it out by now, that guy was me.  It was the me of 2013.  It was the me that almost killed me.

Toward the end of 2013, I was in a death spiral  My blood sugar was out of control, with my “lows” barely hitting what should have been the upper limits of OK.  I was taking mood stabilizers to combat the roller coaster of emotions that I was wreaking upon myself, medicine that ended up destroying my memory.

I was laying in bed with my wife.  And I started crying.  Just to myself, praying she would hear me, hoping she wouldn’t.  She asked me what was wrong, and I told her I couldn’t remember.

I’d had a blow-up that night while playing a board game that involved remembering things and trying to guess who answered what: I tried writing it down, but I couldn’t remember the answers long enough to get them to the paper, so I’d write it down wrong.  And when someone joked that I couldn’t remember shit, I flew off the handle.  He was my best friend, but that sudden burst of adrenaline nearly blocked that out.  And the sad part was that this friend knew how to handle himself… if he’d gotten hurt, it would have been because he didn’t believe I’d do something like that.  And if I’d gotten hurt, it would probably have broken his heart.

So we sat there in bed, my wife and I, going over the events of the night.  She had to fill in a lot of gaps, which upset me even more.  Then we started piecing things together, figuring out what had brought this on, and realized it was my medication.  We looked at the side-effects, and one of them was memory loss… in fact, in the long list of side-effects, there was only one or two that hadn’t affected me.  I stopped taking them altogether, and got an appointment with my doctor right away.

Now, my doctor is an awesome guy.  He’s been our family doctor since I can remember… I think he’s been my doctor for at least two decades now.  Anyway, we explained the problem, and told him that we thought the problem was actually from my blood sugar being all out of whack.  And he agreed.  He told me a bunch of things that I didn’t want to hear, but needed to.

I decided I was going to change my life.  Not “right then and there,” but over the course of a few days, or maybe weeks, I’m not sure.  I got a membership to the YMCA, and started going on a regular basis with one of my best friends.  I decided I wasn’t going to live to eat anymore, but that I was going to eat to live.

Toward the beginning of the journey, I stumbled across a website called “Nerd Fitness,” which talked about this “Paleo Diet” and how to get in better shape.  I kept reading the articles, trying to find that punchline, thinking to myself, “jeez, at some point, he’s gotta hold something back for whatever he’s trying to sell me.”  But that never came.  Good old Steve Kamb wasn’t trying to sell me anything at all.  This website, all these articles, these PDF’s, these videos, they were all there to help people like me learn how to get into shape on their own.

I paid to join the “academy” there on my birthday.  It’s funny how excited I was about it: a year prior, I’d have thought something like that was worse than getting ugly/non-fitting socks.

In fact, it’s kinda bizarre that I was having so much fun getting into shape.  I played racquetball weekly.  I went to the gym three times a week, lifting weights and riding a stationary bike, and walking.

So here I am today, just freshly having beaten the crap out of the old version of me.  I’ve logged more than 100 visits to the gym, despite not having logged much of anything for the first few months.

When I started, I couldn’t do a single proper push-up, even on my knees; now I can do ten in a row.  I couldn’t do a pull-up, even with over 100 lbs of assistance; now I can do them unassisted (not very many, but still).  I used to worry about not fitting in at the gym, now I help friends to fit in.  Now I move an order of magnitude more than when I started, and I have fun breaking a sweat.

Whatever you do, do something.  Just start moving.  Don’t sweat the small stuff, but make sure you sweat.  Don’t worry about what other people think.  Just do what you do.  Be the change you want to see in others.

Category: Health, Uncategorized | Comments Off on The Fight of My Life
9 October 2014

Who I Am

Okay, take a deep breath.  Here it comes, kicking, clawing, and yowling.

Are you ready for it?

My name is Dan Falconer.  I’m a geek.

I have a lot of websites.  Right now, they’re all mine, and there’s not a clear reason for many of them to exist.  Here are those websites:

  • CrazedSanity.com — completely home-grown, every line of code written from me.  Built from the ground up by me.  My handle (minus the “.com”) for most everything.
  • CrazedBuzz.com — my WordPress site.  Where I go to write stuff and not worry about digging into code if the blog post won’t save.  Same as my Xbox Live handle (because “crazedsanity” wasn’t available)
  • Buzzkill.org — my other website… mostly just like CrazedSanity.com, replete with all the blog posts from said website, but with a few (very VERY old) unique pages.
  • BuzzkillProductions.net — the exact same site as Buzzkill.org.  EXACT SAME.  It exists because of… reasons.
  • TTORP.crazedsanity.com — the Table Top Online Role Playing web application.

The other places I “own” or otherwise lurk:

  • GitHub.com — where I store a bunch of code repositories.
  • BitBucket.org — where I store more code repositories (many of which are hidden)
  • Facebook — where I pretend to be social… but only because it has “networking” in it.
  • Google Plus — the other social networking site… that I really wish would get more traction than Facebook.
  • Deviant Art — where I post my doodles and stuff.

There’s more than that.  But let’s face it, this was a total over-share.  You’re welcome.

Category: Uncategorized | Comments Off on Who I Am
9 October 2014

Understanding Dynamic Webpage Updates

There’s a lot of ways to make your webpage update without requiring the user to refresh the page.  The way Facebook updates your news feed while you’re looking at it.  Or Google+, or Twitter, or whatever.

I’m going to talk about just three ways: Polling (with Ajax), Web Sockets, and Comet (or “long polling”).  There’s a ton of different variations of ways to may pages update dynamically.  I’m not going to talk about Flash, or Java, or other icky things (I’m looking at you, Silverlight).

Polling (via Ajax)

Polling the server, using Ajax, was the first way used to make pages interactive.  Your browser would use Javascript to periodically ask the server if anything has happened.  Maybe once every few minutes, or sometimes up to every second (or as quickly as it could, in some cases).

Ajax is a combination of a few technologies, and can be a bit confusing to talk about… so let’s distill it down.  Basically, your browser asks the server, “hey, did (X) change?” to which the server would mostly respond, “no.”  When there’s a change, some part of the displayed page would get that updated bit of information.  Pretty over-simplified, but that’s the gist of it.

The problem is that the server is getting asked a lot of questions.  It’s like reloading the webpage constantly to see if there’s a change: given enough people, that puts a heavy burden on the server.   To fix this, Comet and Web Sockets were created.

Web Sockets

The concept of web sockets is, in its simplest form, that the server will respond when something has changed.  Instead of asking every second for 30 seconds to get a single response (asking 30 times if something has changed), web sockets kinda says, “hey, just let me know when something changes.”  The server only sends back when something actually has changed: in our scenario, that means we’ve eliminated 29 questions.

Unfortunately, Web Sockets is a feature that isn’t 100% supported. Well, it is mostly supported in the newest browsers, but not necessarily completely.  Not in all of them.  And older browsers?  Yeah, they’re screwed.

Comet

So polling is cool, but it’s fairly taxing on the server.  Web Sockets is a cool idea, but isn’t completely supported.  In comes Comet to create that middle ground.

Essentially, comet is just like polling, but with a twist: instead of returning a response immediately, as with polling via Ajax, the server would hold on to the request, and only respond after a certain amount of time or after something changed.  Basically the same as Web Sockets, except… well, different.

The great thing about comet is that pretty much all modern browsers support it.  In fact, even most of the older browsers support it!

Category: Code, Software Development | Comments Off on Understanding Dynamic Webpage Updates
1 September 2014

I Want to Build a Game

I really want to build a game.  I’ve had so many ideas for games, and I really want to make them, but something always stops me.

“What stopped you,” you ask?  Well, it seems like the biggest show-stopper has been graphics.  I’m not very good at creating them.  I’ve tried to get help in the past, and I’ve actually had one or two people that seemed really interested in it… but there was never any actual involvement from them.

Honestly, I really wanted to build these games with my friends.  Sitting at a computer, across from one of my buds, talking about the game and hammering out code.

Each time I’ve tried to get interest in it, I end up being the one that’s sending out all these requests (usually in the form of emails) for input, and not getting anything in return.

“Yeah, I want to help.  I just don’t have any time.”

“Sure, I’ll help.  I’ll get something together for you next week.”

Hell, I’ve even started working on games with others on their concepts.  Where they came to me, told me about this game they wanted to develop, and I started sinking a bunch of time into it.  What did I get?  A bunch of notes and code about this project that went nowhere.

Where am I going with this?  I have no idea.  I’m just throwing some frustration out there in the world.  Probably to be chewed-up and spat out by more search engines than real people.

Category: Uncategorized | Comments Off on I Want to Build a Game
2 July 2014

The No-IP.com Takedown: Sue Microsoft

Did you hear the latest shit that Microsoft pulled?  They took over 22 domains previously owned by No-IP.com.

WHY?  Because a bunch of hosts on No-IP’s domains were being used to distribute malware.  And Microsoft’s infrastructure couldn’t handle it.

SUE MICROSOFT.  If you have the capability, sue those bastards.  We need to send Microsoft the message that they can’t just do whatever they want just because they’ve got lawyers and money.

Real people with those problems would–or at least should–work with the provider.  They would go to No-IP.com and tell them about the hosts that are propagating this shit, and get them to stop.  Not go through the court system and steal shit.

Category: Rant | Comments Off on The No-IP.com Takedown: Sue Microsoft
18 June 2014

Respect

I’ve talked about respect before, but it’s really important to me.  And it relates directly to a conversation I had recently.

I’m not going to share details about who the conversation was with or what it was regarding.  That would be inappropriate, and that can be construed as disrespectful… and I’m all about respect.

I feel that everybody deserves at least a modicum of respect, no matter their age, position, physical or mental condition.  There’s no reason I can think of that I would consider justification for disrespecting someone outright, unless possibly they disrespected you first.

You can hate me, distrust me, despise me, or any of a dozen other things, but don’t disrespect me.  Don’t be condescending or patronizing (which is offensively condescending).

I had a conversation the other day where I was disrespected through use of condescension.  Or maybe through patronization.  I’m not sure which, and I don’t think they were necessarily meant to be so, and a lot of it was, I think, based around a bit of misinterpretation.  But it made me angry.

I’m not the kind of person that gets angry easily.  I might get a little upset, or I might “snap” at someone, but I don’t get angry.  And when I say angry, I mean rage.  I mean the kind of thing that causes an upsurge of adrenaline.  The kind of thing that makes me go quiet.

A lot of people might get boisterous when they’re angry, yelling and hollering.  I get quiet.  Really quiet.

I had a really hard time staying near this person.  Due to our… “relationship,” it wasn’t the kind of situation that would allow me to just say what I thought.  And what I thought was that there was a pen just BEGGING to be jabbed into this person’s face.  I could barely breath I was so angry.  I’m pretty sure my face was all red, too, while I pretended as though I were listening.

If it had been anybody else, I would have made them squirm.  My angry voice would have come out.  I would have stood right in their face, my nose to theirs (after bending over, of course), my finger ramming into their sternum to punctuate every word.  And just maybe I would have slammed a door.  And the last door I slammed cracked the frame, and I’m pretty sure did a fair bit of damage to the wall itself.

What would you do when a fairly well-built, 6’5″, 300 lb angry man gets in your face?  Respect me and you’ll never find out.

Category: Rant | Comments Off on Respect