August 29

TTORP Thoughts

Please steal my idea (and tell me about it, so I can start using it).

The big idea

Log in to the site.  Create a campaign.  Create a player and/or NPC.  Link the characters of your players to your campaign.

A forum is automatically created, so start playing.  If you play in person, you can just post wrap-up notes.

Time for a dungeon crawl?  Generate one: click the “generate dungeon” button, preview it, then click “ok” to import it into the online mapper.  You can selectively add players or just add them all (default).

Time for battle?  Click “start a battle” button.  The system automatically prompts for initiative rolls; if necessary, you can let the system roll for each character, customized based on the character’s sheet/stats.  Round-by-round information is collected and stored:

  1. attack information (rolls, damage, etc)
  2. status effects (when they start, how long they last, etc)
  3. movement information
  4. held actions
  5. character added/removed (e.g. killed)
  6. spells cast

Did you screw up a roll in round 1, and now it’s round 5?  Adjust what happened in that round: the changes ripple through the next rounds; unless something unexpected happens, the system will just let you carry on.  If something unexpected does happen, like HP changes caused one of the players to die–or live–unexpectedly, the system stops and requires GM adjustments (because a deceased player can’t attack, and a living player wouldn’t just sit back for several rounds).

Done?  The system generates a round-by-round synopsis: you can make it as cinematic as you want, or just leave it matter-of-fact as it stands.

Back to playing the game.  Still in a dungeon?  Keep using the mapper to plot movement.  No?  That’s okay, no need to plot it anywhere.  Oh, you do?  Well, click the “world generator” button, adjust until necessary, then post that.  You can adjust party position(s) there as you need.

Posts in the forum will generate emails intelligently.  Players are notified if they’re not online, but will get notified if they don’t respond.  The forum will try to keep track of who received the emails, and indicates how far they’ve read (with a facility for players to indicate how far they’ve read).  If players aren’t online, they’ll get notified.  The system will generate “nag” emails to players if they’re not responding in time (configurable by the GM on a per-game and account-wide basis).

Posts can use special “@” codes to reference players, characters, a GM, or other things.  And it’s all linked up, so the GM can quickly look at the associated record right away.

Character sheets use level-based layers, so it’s easy to discern the “where” and “why” of things.  Not sure why a character has what seems to be a godly initiative?  You can look at the character on a layer-by-layer basis, so you can tell which level gave them what, and know exactly when things went wrong.  “Oh, looks like you gave yourself a +4 on level three, and you just called it ‘misc’ with no description.”

For players that like to build their character sheet in advance, they can!  Create the base layer, then add a layer for each level.  Apply the next layer as soon as the character levels.  You can see what it’ll look like at level 20, and what it looked like at level 1.  And every level in between.  Layers can be used during battles to apply temporary stats, like ability point damage from a monster.  Or adding layers based on a monster template, so you can immediately see how the character changes when it morphs into a werewolf.

What I have so far

I’ve got character sheets, with all the fancy calculations done automatically.  They’re not pretty, but they’re functional.  They save automatically.  Changes are reflected immediately without a page reload… usually.

I’ve got campaigns.  They link character sheets together, so a GM can see all the characters in the game and their information.  That part only is sort of broken, mostly because I’ve not had time to clean up some very old JavaScript code and some templates.

I have a forum, though it’s not linked to campaigns/characters.

September 16

So Far Behind…

I think I’ve over-committed myself.

It’s not abnormal for me to be lagging behind updates by a day or two.  I don’t check social media on my phone–Facebook Messenger slipped through the cracks, but it hasn’t gone off more than once every few weeks–so I usually don’t know if Stan Lee posted something about me (yeah right) or if there’s some crazy new Mime-related humor.

I’m having a hard time keeping up on the things that matter.  Coding projects.  Paying attention to my wife.  Beating the kids on a regular basis.  Keeping bills in line.

Bear with me.  I’m going to spend some time re-organizing things over the coming days and weeks, hopefully to get a better line on the top priorities.  I’d like to get Project Hobbit Walk to a better place.  I’ve got doodles to upload to Deviant Art.  I’ve got pictures to force upon the world (or at least my friends).  And TTORP needs to get to a better place (the website blows).

TL;DR:  Stay tuned.

Category: Uncategorized | Comments Off on So Far Behind…
September 1

Spaghetti Code

That’s right, there’s an actual, honest-to-goodness technical term called “Spaghetti Code.”  Basically, it’s code that’s all tangled up in itself, not elegant at all.  It does not look or smell tasty… imagine the worst experience you’ve had with that stuff they served back in school.  You know, with the green “meat.”

I avoid that shit like crazy.

I’ve written some of that shit.  Somebody smarter than me once said, “in order to make good choices, you must first have made plenty of bad ones.”  And I’ve made plenty of those.

In fact, since I have so much code that’s open source, pretty much all my mistakes are out there for people to see.

Anyway, down to the point.  As a programmer, every time you build something with spaghetti code, or in some way that is ugly and difficult to maintain, you acrue technical debt.  And that adds up FAST.

So, for PHP, you should separate code from HTML–you can use a Templating engine to do that.  Or a framework like CS-Content, or CakePHP, or a myriad of others.  Test on different servers, different versions of PHP, and/or do the continuous integration thing.

Category: Uncategorized | Comments Off on Spaghetti Code
February 19

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.

November 21

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 place 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
October 9

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
September 1

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
May 30

Understanding Net Neutrality

It seems like normal people don’t understand what this whole “Net Neutrality” thing is.  And why it is SO IMPORTANT.

I’m planning on making a little drawing of this, or something, but for now, the analogy will have to work.  I’ll try to keep it simple.

So think of the Internet like the road system.  The speed limits are sort of like your ISP, limiting your speed based on what package you bought.   Your car is, basically, you… or your computer.  Getting stuff from one place to another is like driving somewhere to get a piece of paper, just like what you did to view this website.

So you can drive as fast as the speed limit allows.  If somebody is slowing you down in one lane, you just pass them in the other lane.  That’s the way the road system works.  Pretty straightforward.  This is Net Neutrality.

But what happens if we lose that neutrality?

Let’s change it up just a bit.

Before getting on to the Interstate, you have to choose what you’re doing, where you’re going.  “Well, I’m going to Tricia’s Bakery.”

So you start driving.  Plug in those GPS coordinates, and you take off… and suddenly your car slows down to 25.  WTF?

It seems Tricia’s Bakery didn’t pay for fast access.  Let her know that she can pay more, and people can get there at full speed.

“But that’s stupid.  The big companies like Verizon or Comcast or whoever are saying you pay to go FASTER, not SLOWER.”

Oh, those sneaky bastards.  See, you were already going as fast as you could before.  They can’t make your ’97 Junker LT go faster… so they slow everybody else down.

If you were going to, say, Comcast Bakery, you could go faster because they paid to get full speed.

OH SNAP.

Share your opinions here on things like Copyright law and other stuff.

Category: Uncategorized | Comments Off on Understanding Net Neutrality