Nyan Scarf

Nice :)

Cat Vacuuming

I wish my cats would let me do this to them. So...much...fur...

A Birthday Wish

I'm very much ok with this.

Static Blog

Who doesn’t like a little weekend project, right?

A combination of things has recently pushed me towards moving away from Wordpress — primarily the ever present threat of a high profile suite of software requiring constant upgrades to keep safe. Because of how rarely a I post (sometimes less often than Wordpress releases updates) I run a fairly high risk of having security holes in active code on my webserver. Between that and the fact that I simply don’t require such up-to-the-refresh dynamic flexibility (typically I only make layout changes once every 2 years or so) it just doesn’t make sense to use something so dynamic, thus I am ready to stop playing the upgrade game1.

Being that I keep exposed to new technologies, the Jekyll project has come across my path a few times. Between that and wanting to play around with the Phar format, I decided to have a go at the same concept written in PHP.

First, I looked around for some alternatives, and I did find one: Phrozn. However, while Phrozn is geared towards static site generation, it lacks some functionality unique to blogs: namely “tags” and chronological pagination.

So I figured, if the world could use one more PHP MVC framework2, then why not another static site generation script?

Thus, Alkemy was born.

Alkemy, like Jekyll, will take a list of posts, parse them up (Textile, Markdown, HTML, or just plaintext), smash them through some template files, and smoosh out a website. The website is fully generated and completely static. You serve nothing but set-in-stone HTML files and other non-code-interpreted content. This has 2 really big advantages:

  1. Damn if it isn’t fast — Static content requires no programming overhead; served direct from disk (or memory) to network pipe.
  2. Secure as all getout — there’s no php to hack, no python to work around, no perl to xss inject, no java stack traces, nothing interpreted but GET requests for static files.

Of course, one must eat his own dog food, so this blog is now managed by Alkemy. I have a local copy, versioning using Mercurial, where I get things written and tested. After I’m happy with my latest post, I commit locally, push to the server, and have the server run an update. My webserver has the repo’s “site” folder setup as the docroot and “TADA!” the site is updated.

You can find Alkemy at http://alkemy.info/ along with documentation and examples.

1 I have often wished Wordpress offered a LTS version of their software for this sole reason.

2 Not really.


UPDATE: Turns out static blogging like this kind of sucks. The overhead in producing the content, editing it in the right area, re-running the generation, and getting it synced up is too much of a burden. Compared to something like “Login, type, post” or even easier, bookmarklets (ala tumblr/posterous), it’s just no comparison. As such, this blog never even got off the ground with that code (not externally anyway) but instead is running some custom tumblresque software. Alkemy will stay released, in any case.

Oh, How I Miss It

I rewatched Firefly last weekend, got to the 3rd disc, and shed a single tear when there were no more discs to load into the machine.

Caution - After watching a girl get hit by a car stepping off the L-Train at 19th and Taraval, I will never question my "lean out the door and check for cars" methodology.

High Speed Collision

WATCH OUT!!!

Excellent Weekend - Summary: Girlfriend, Farscape, Zoo, Animal, Sunburn, Pictures, Olive Garden, Shooting, Pancakes, Hockey, Games. Ahhhh..

Smith & Wesson M&P 15-22 MOE

My new Smith & Wesson 15-22 MOE rifle just got here. Finished boring out the foam in the hardcase and took some pictures.

In addition to the standard compliment of extras, I’ve put a flip-to-side mounted 7x magnifier in front of a Holosight, placed a Magpul Angled Foregrip on the front, and my roommate donated a laser for the side.

Here’s a fun little gif showing the various aiming methods:

(Stock extends, magnifier flips to the side, backup sights flip up, reverse it all.)

I can hardly wait to get it to the range!

Portal 2

Portal 2 was fantastic. Portal 1 was mostly about the new “portal” dynamic with enough fun story just to make it stick together. Portal 2 really took the universe of the story and pulled it together. Plus the co-op was a blast — felt like a whole extra game, for free!

Productive Explosion - Today, a transformer exploded (making quite a bang) in SOMA. The power for our entire block went dead, so I went home early and used the time to make a few "during business hours" calls and dropped my car off for some well, well overdue maintenance. Yay, being productive!

Early Birthday Present

I’m a big fan of silhouette work (got one of my own in the gallery here), so this poster appealed to me quite a bit when I first saw it — plus it’s for a “Jason Statham Looks Angry And Kills More People” movie. Win!

I happened to be with my girlfriend at the time who is the biggest movie geek I’ve ever known. She’s been evaluating and shopping around for some posters of her own and popped this one onto the order as an early birthday gift. She’s awesome :)

 

JM

  1. Posts
  2. Images
  3. Status
  4. Videos
  5. Audio
  6. Links
  7. About
  8. Contact