Micah Chalmer

It's a blog.

Scrabble Game Repo

Because the official online version of Scrabble is full of ads and popups and irritation, I decided to make my own, to keep my programming chops up and just for fun.

In doing it, I decided to explore a few things I hadn’t had direct experience with before:

  • React for the front end
  • AWS for the back end, managed via serverless
  • Typescript

The idea is to run this as cheaply as I can. (At this point I haven’t been charged yet, but some of the free tiers are only for a year, so if I keep everything up it will start charging miniscule amounts of money.)

At this point it does most of what I set out to have it do, and I’m pretty much done with it. The following are some notes on what I ended up with, and what I thought about while doing it.

The rest of the writeup is in the README of the repo.

2013 Weight Loss Review

In 2013 I recorded my weight every day (with a few gaps for trips and the occasional missed day here and there). I lost exactly 39 pounds for the year–started off at 296 and ended at 257. Here is the chart:

Some observations:

If You Make Web Sites, The World Kisses Your Butt

I am still amazed by the amount of web hosting and related services that are available for free as of this writing. I volunteer as the webmaster for the Baltimore Playwrights Festival. Just look at all the organizations that actively help me do this, all for free:

Jean Valjean's Soul: Saved or Bought?

I saw the Les Miserables movie, and rather than reviewing the movie as a whole, I want to talk about a single word in it–something that is fairly trivial overall, but struck me anyway: they changed Bishop of Digne’s last words to Jean Valjean. In the original show, the bishop tells Valjean, “I have bought your soul for God.” In the movie they changed “bought” to “saved.”

New "Mr. Sparkle" Gem for an Auto-Reloading Rack Development Server

After reading a thread on auto-reloading ruby code for Sinatra/Rack apps on the nesta mailing list, I read through the “magical reloading sparkles” blog post that was mentioned, and realized there’s no reason you need a bunch of project-specific code to use that approach. But I couldn’t find an easy-to-use package already written, so I wrote it myself. The resulting new gem is called “mr-sparkle.”

The full README is at the GitHub page but the short version is this: install the gem with gem install mr-sparkle and then run mr-sparkle in the root of your project. Your app will be served at localhost:8080. It will auto-reload when a file changes (like rerun) but it won’t stop l istening when it does so, and it only reloads your own code, so the result should be faster than shotgun or rerun.

How I run Ruby 1.9.3 on DreamHost

This is what I am using to run ruby 1.9.3 on DreamHost shared hosting, regardless of the fact that by default it’s still stuck on 1.8.7. It’s based based on DreamHost’s own instructions for running a Rails 3 app, but with some improvements to isolate the DreamHost-specific parts and make it easier to figure out what’s wrong if there are errors. My application uses Sinatra rather than Rails, but I don’t see any reason why a Rails 3 app wouldn’t work with this as well. As long as it’s a Rack app that has a config.ru like one might use with rackup, and as long as it uses Bundler, this setup should work.

New Site Up

Hello again, internet. I had a blog up at blogspot, but any new entries will appear here. The blogspot blog should be redirecting here now.

We Will Force Them, We Will Keep Degrading Them, We Will Control Them...

In which I ramble about Muse's song "Uprising," to no particular purpose.

The Information Technology In My Recent Medical Experience

Being hospitalized for a kidney stone at two different hospitals gave me a chance to see a huge sector of IT in action that I've never worked in before. I give my impressions of the technology as I saw it as a patient.