A gross misuse of the fabric of space-time

Stop using second-class languages and build tools to develop your web application

8 minute read Published:

Please, stop using all this HTML middleware to develop your web application. CoffeeScript, SASS, LESS, HAML, Middleman, Bower, Grunt, etc. Stop it. No, it doesn’t make things easier for the developer. Sure, it might make things easier for YOU, A developer, but not for all developers or future maintainers. I don’t want to learn yet another silly combination of second- class languages to figure out what your application is doing.

Fix animated GIF timing

4 minute read Published:

Have you found a priceless animated GIF but are disappointed with its timing? Maybe it’s too slow or too fast? I’ve got an easy solution for you. You don’t need any complex software like ffmpeg or mencoder or imagemagick or any of that crap (well, they’re not crap; they’re just ridiculously complicated and user hostile). All you need is a simple hex editor. Here’s a simple before/after example of what I’m talking about:

Use ffmpeg to record desktop video on Windows

5 minute read Published:

Want to capture your desktop for screencasts on Windows? Use ffmpeg! It’s totally free and has no watermarks, no ads, etc. Unfortunately, there’s no GUI nor a simple installer for inexperienced users, but I’m here to try to alleviate some of that pain and give you the magical ffmpeg incantation to instantly get good quality results. Download & Install NOTE: When you go to download the installers for the tools you need, be sure to consistently choose either the x86 or the x64 version of each.

MiniLISP for C#

5 minute read Published:

MiniLISP is an extremely minimal implementation of a limited yet powerful enough dialect of LISP which I invented for use in C# and .NET applications. It is a dynamically yet strongly typed language with very few primitives: function invocation (func param1 param2), lists [a b c], identifiers hello, integers 1024, and quoted strings 'single quotes with \\ backslash \n escaping and multi-line literals.'. It is implemented across two C# source files and relies on no external dependencies other than the .

Thoughts on Go 1.1

14 minute read Published:

I’d like to share a few thoughts I have about the Go programming language after implementing my very first and currently only project in it. This may be a bit premature since I don’t have much experience with it, so if you have some advice to give or some justifications to make then please comment back. I’m always eager to learn new things! For future readers, it should be known that at the time of this writing (2013-05-22), Go 1.

Home Recording Advice

4 minute read Published:

Here’s a bit of home recording advice I just gave to a fellow YouTuber. If you don’t know, I have a YouTube channel where I post home-recorded guitar cover videos here. And if you do know, good for you buddy. Anyways, I thought this was a valuable collection of knowledge I’ve gained about the subject and summarized fairly well. The question posited was about where to spend your money to get the most bang for your buck, so to speak.

Custom Directory Listing with Nginx and Go

3 minute read Published:

For the last few years, I’ve been maintaining a large repository of files and folders on my website here using lighttpd’s default directory index generator. The generator is fine to get the job done, but offers no extra features. I just recently switched to nginx and its directory index generator is a bit worse than lighttpd’s (the autoindex directive). This approach worked fine for a while but I really wanted the option to have a custom file ordering for certain directories, e.

Goodbye lighttpd; hello nginx

3 minute read Published:

. . . It took me a while (collectively ~8 hours), but I’ve finally replaced lighttpd with nginx on this server! nginx is already using vastly fewer resources than lighttpd ever did on its best day. I’m happy about that considering the limited resources this server has (MemTotal: 1008568 kB). I’m also pleased with the way nginx handles basic things in a zero downtime manner, e.g. reloading configuration files. I hated that I always had to completely kill lighttpd and restart it just to reload the configuration file for a minor change.

Doom Classic with 24bpp lighting

5 minute read Published:

It’s been a while since I pulled an all-night coding binge, but last night that counter was reset to zero. The fruits of that labor are a modestly improved look to the Doom Classic modes under the Doom 3 BFG edition which was recently open-sourced. Here’s a before/after screenshot pair demonstrating the improved colors for lighting (click for full view): It takes a keen eye to spot some differences, but the effect should be apparent overall while playing the game for an extended period of time, especially while visiting darker areas in-game.

How I fixed the crash in Doom 3 BFG Edition

4 minute read Published:

Merely 10 hours ago, id Software released the GPL source code to Doom 3 BFG Edition. Unfortunately, when I built the game with VS2012 Premium, the Doom Classic modes crash (both Doom 1 and 2) instantly. Here is the small tale of how I fixed that bug. The obvious thing to do was to fire up the game in Debug mode and see how far I get. The debugger (under default configuration) wasn’t giving me much when the code bombed out due to an unhandled Access Violation Win32 exception.