25 October 2021

Development, Automation, and Saving Time

(Note to the reader: this post has actually been a draft for a number of years.)

I’m a developer. I write code. Also, I’m just one guy with limited resources, so I can’t be spending a bunch of time testing my code in a bunch of different environments, or making sure that every single little change I make doesn’t have some unknown catastrophic ripple effect.

So I automate my life. I take advantage of freely-available tools. As much as possible.

How, you ask?

Self-Hosting Isn’t Worth It (sometimes).

First off, I don’t bother trying to do everything myself. I used to host my own code repository (a really, REALLY long time ago), and this took excess time to:

  1. setup
  2. configure
  3. maintain
  4. work with (use)
  5. keep updated
  6. handle security crap like SSL (you know, changing the website to https://….)

So I use GitHub. I’ve used SourceForge.net in the past, and it was alright for my first everyone-can-see-it code repository, but GitHub just feels nicer to work with. Going from SVN to Git was a hell of a learning curve, but totally worth it (yes, SourceForge now supports Git, but not when I switched). All my code gets out into the world, others can see it, and I get a tiny bit of exposure.

That said: self-hosting is a lot cheaper, if you’re willing to sacrifice time for money (like if you’re a poor nerd 🤓).

Continuous Integration is Very Important.

Unit testing helps avoid introducing bugs that have a nasty ripple effect. I’m not that great at getting massive code coverage with it, but I’m getting better at it.

The other thing is that, really, I can only directly (read: easily) test with the version of PHP available to me. Which is usually the newest version. And my server, or the servers that would potentially use my code, don’t necessarily have that new of a version… so I need to have something test against those old versions. That’s where Travis-CI comes into play.

So I setup the GitHub repository to work with Travis-CI. Every time I push something to GitHub, Travis-CI gets notified. They spin up a fresh new virtual server for each version of PHP that I declared my code to be compatible with. And they run all my tests in that environment. Oh, and they email me the results. WIN.

Semantic Versioning is Important.

Putting readable, easy-to-understand version numbers in the code makes life easier. Well, usually, except when I fall into “version hell,” where this project requires that project which requires another project, and none of them can decide on a version of a related project that they both like. Yuck.

Anyway, I’ll probably write more on this later. Maybe. If you’re lucky. (And I have time… Which is basically never.)

Category: Code, PHP, Rant, Software Development, System Administration | Comments Off on Development, Automation, and Saving Time
13 March 2017

Impending Server Changes

I’m going to be making some changes to the server.  I recently had my server “hacked”, which was basically just some skiddie finding a way to post one of those pharmaceutical spam ads on a couple of my WordPress sites.

Hacked - I do not think it means what you think it means.
Hacked – I do not think it means what you think it means.

I’m taking this time to figure out a couple of things.  The plan is:

  • figure out how to use Let’s Encrypt for HTTPS (for TTORP, the Story Teller Forum, and my Fitness Forum).
  • find a way to deploy + update WP sites via git (including initial setup)
  • work on a better CMS for Crazed(Sanity) sites
  • update my “deploy” system to work with GitHub and generic git (not just BitBucket.org)

That’s actually quite a bit of stuff.  It’s going to take a while to get this all setup.  It’s equally possible that I’ll post about impending downtime as I am to simply just do it: pretty much all my sites are (extremely) low traffic.  So, there, I said it.

Category: Code, PHP, Rant, Software Development, System Administration | Comments Off on Impending Server Changes
21 August 2015

Hobbit Walk: Tests are Passing

A quick update on the Project Hobbit Walk status.

I’m in the midst of a fairly large code refactoring–which basically means that I’m changing some of the code and cleaning it up.  A lot of the changes are done so that I can get unit testing done, including some automated testing.

The idea is that, whenever I make a change to the code, there will be an automated process happening that ensures nothing broke.

The major part of that is done.  I’ve still got some updating to do, but a major milestone is out of the way.

Category: Code, Hobbit Walk, PHP, Software Development | Comments Off on Hobbit Walk: Tests are Passing
18 August 2015

Solving the Puzzle

Sometimes a puzzle presents itself to you. Sometimes you’re aware of the puzzle, of it’s nature, and sometimes you just have this little… thing, this irritating little itch that you can’t seem to scratch.

Solving the puzzle can be straightforward.  The answer comes to you in a moment, in a flash of brilliance–or common sense–and then you move on.  But then there are those puzzles that take longer.  Hours.  Days.  Weeks.  Months.  Even years.

“What the hell are you talking about?”

I solved one of those puzzles.  It was a puzzle I’d been working on for years, one that I was only casually aware of, but it was really digging at my (crazed)sanity.

This particular puzzle was one whose nature was in programming.

“I’m not a programmer.  This is gonna suck.”

I won’t get into the details; hell, that would bore the crap out of me.  And I’m the one that’s excited about it.

With programming puzzles, you’re almost never sure if it’s truly complete.  With a real puzzle, you’re told straight out of the box that there’s 250 pieces and it’s 15″ x 15″.  With programming, it might be five pieces, and be 50′ x 50′.  Or it could be 50,000 pieces, but only be a few inches wide and a few feet long… it’s just impossible to know.  And when you get to a point where you think, “gosh, I think it’s done,” you realize there’s a whole bunch more pieces that suddenly showed up.

And the other thing is, sometimes there are pieces of the puzzle that you don’t even realize are pieces.  You hold onto this little bit of information, because you know it’s important, but it just doesn’t seem to have correlation… until all of a sudden, you go, “holy crap, this thing here hooks onto this other thing…”

Yep.  It’s like that.

Category: Code, Living With Linux, PHP, Rant, Software Development | Comments Off on Solving the Puzzle
5 June 2015

Hobbit Walk emails are back

The emails for Project Hobbit Walk are functioning again.

I know, I know, you’re excited.  And why not?  I am!

But there’s a lot of work to do, so I’ll keep this brief.  It seems like there are a few discrepancies between the data I’ve gathered and the data on the sheets.  It’s a rather small discrepancy, and I’d guess it is probably an issue with data not being pulled from a particular day… or something like that.

Anyway, I’m working on it.  Stay tuned.  Or don’t.  It’s up to you.

Category: Code, Hobbit Walk, Software Development | Comments Off on Hobbit Walk emails are back
7 May 2015

TTORP and Play-by-post

So for a while now I’ve been running a roleplaying game with a couple of friends.  I’ve been running it over email, since one of the players is on the other side of the world–literally, he’s in Japan–so we have differing timezones.  Getting together hasn’t been particularly easy.

The email system started out just fine.  More than fine.  I finally whet my appetite for storytelling.  I got a lot of writing done.  Vivid imagery was had by all.  And I imagined this particular game–played out before, many years ago–in a whole new way.  It was awesome.

Then, for many reasons, it stagnated.  Updates stopped happening.  I stopped pushing, players stopped pushing, we just…

We just… stopped.

I figured the real way to get this done was to have a forum.  A bulletin board system, where we could post stuff, and everyone would get email notifications, and that would somehow fuel the game.  Somehow a forum would give our game the proverbial “kick in the pants” it needed.

I searched high and low for something I could use that was already built.  Software I’d used before, new stuff, easy stuff, hard stuff…

All the things I had to install myself made big promises that completely failed to get fulfilled.

One promised this simple interface that was all “Web-two-point-oh-ish,” easy to use, easy to read.  I used a production version of it, it was awesome… but completely exploded when I tried to install it.  For reasons that completely baffled me.

The next one was an “oldie but a goldie,” one that seemed pretty simple back when I’d previously used it.  It seemed like I could just set it up, configure some permissions, and go… and after a week of fiddling with permissions and settings and having locked myself out more than a few times, I gave up.

So then I tried taking a really simple piece of code for forums and modifying it myself.  “Hey,” I thought to myself, “this way I can tie it in with TTORP directly!  Total win!”  Nope.  I tried a couple of them, but they both required a monolithic amount of work to get the minimal amount of functionality that I required.

Right now, I’ve got a forum setup that my users were supposed to use.  And it’s imposed limitations on the game that I didn’t foresee: I can’t set any sort of permissions, so either you can see the forums–all of them–or you can’t.  That means I can’t have separately stories going for each player that others can’t see.

I’m not sure what I’m going to do to fix this yet.  Maybe I’ll go back to email.  Maybe I’ll try to perservere with the current forum.  Or… maybe… something else.

Category: Rant, Software Development | Comments Off on TTORP and Play-by-post
28 April 2015

Email Updates Suspended

I’ve temporarily disabled email updates due to a problem in the code.

At first I thought it was an issue with the data, maybe invalid interpretation of numbers or something.  But that wasn’t it.

Turns out, the code was pulling the totals for all races and combining them.  So the more races I was in, the higher my total was.

Anyway, I’ve disabled the emails for now, until the bug is fixed.  I don’t expect that it will take too long to adjust, but there are some other things that I’m trying to sort out in the meantime.  Here’s a few things on the short list:

  1. Bug fixes (critical only)
  2. Move code to GitHub
  3. Setup issue tracker (on GitHub)
  4. Setup wiki (on GitHub)
  5. Setup unit tests (keeps bugs from re-emerging)
  6. Integration with Travis-CI (for continuous integration testing)

It’s only a half-dozen things, but it’s no small task.  It’s all fairly important, though.  By moving to GitHub, I get exposure: it helps my resume (gives me some geek cred), allows others to look at it and consider helping, and gives me a wiki and issue tracker.  The issue tracker will help my Beta users to see the list of issues, submit problems, and get updates when there are any, and so forth.

Any questions?  Want to get involved?  Say something in the comments!

Category: Code, Hobbit Walk, PHP, Software Development | Comments Off on Email Updates Suspended
22 April 2015

Email Updates are Live

I’ve got email updates being sent out.  At least in theory.

They’re not pretty.  They’re just barely formatted.  But they’re being sent.

As of the time of this writing, they’re scheduled to run in the morning right after stats are updated.  That should be around 9am.  Each person should hopefully be getting a couple of emails: one for their race against me, and one for the race against themselves.

Get it?  Got it?  Good.

Category: Code, Hobbit Walk, Software Development | Comments Off on Email Updates are Live
15 April 2015

Email Updates are Coming

I’m close to having the email updates functioning.

I haven’t been very motivated recently to get this stuff done.  Dealing with chaos in the family, stress, and looking for a different job have all been consuming my time.  It’s one of those things where sometimes there’s so much to do that I just don’t want to do any of it.

Anyway, I’m hoping to have some emails being sent automatically in the next few days.  Stay tuned!

Category: Code, Hobbit Walk, PHP, Rant, Software Development | Comments Off on Email Updates are Coming