Hey there, I'm Alax.Meet the man (kid) behind the curtain.

The header pretty much explains it all. However, there are a few things about me that I couldn't fit up there: most importantly, why my name is spelled with two A's, instead of an E. It's a long story, but if you'd like you can check it out here.

Music I'm listening toI spend a ridiculous amount of time doing this.

  • Recover (album cover)
  • Losing Sleep (album cover)
  • Attention (album cover)
  • 'Til We See The Shore (album cover)
  • Birds & Cages (album cover)
  • Even If It Kills Me (album cover)

Drop me a lineFeel like talking? Here's how to get in touch.

Got a lot on your mind? Head over to the contact page for a form with a lot of room to write. You can even send a completely anonymous message, if you'd like.

18th Jul 2010
Code
Comments (0)

I’ve been working a lot on my Superintendent project lately, and I just ran across an odd solution to a problem I was having. I’ve been writing the agent in Node.js, and I needed a way to get the output of /proc/meminfo into a clean, well-formatted JSON object. The issue I was having was I needed a way to assign object property names based on variables. Here’s what I mean:

var meminfo = new Object();
var someName = "objectPropertyName";

//now, assign an object property based on the variable
//someName's value
meminfo.someName = "some data here.";

You can probably already see the problem. The property that we assigned is called meminfo.someName, but we wanted it to be meminfo.objectPropertyName. How do we solve this? Well, first, let’s take a look at an associative array that would get the job done (albeit with an array):

var meminfo = new Array();
var someName = "arrayPropertyName";

//assign a value to the array with the key being the
//content of the variable 'someName'
meminfo[someName] = "some data here.";
8th Jul 2010
Code
Comments (0)

For anybody who is unaware, all default Apache2 installations on Ubuntu (and most other OSes) are vulnerable to a simple Slowloris DOS attack; any script kiddie with Perl and some free time can bring down major sites with limited bandwidth and resources, due to the way Apache handles half-open connections. Without going into how Slowloris works (that’s detailed on the Slowloris project page) or getting too complicated, here’s a simple way to effectively defend against this type of attack.

Run these commands (as root) and you’ll be good to go.

root:~# apt-get install libapache2-mod-antiloris
root:~# service apache2 restart

That’s it! While this module doesn’t offer complete protection—a sufficiently distributed attacker could probably still defeat this—it will stop most script kiddies and even somewhat determined attackers from using Slowloris on your servers.

7th Jul 2010
Announcement
Comments (0)

I’m probably the worst person ever at sitting down and writing about what’s going on; there’s just so much and I really hate writing it all out. But nevertheless, here’s what’s been going on in the last few weeks.

Infrastructure Upgrade

I’ve finally moved away from Dreamhost; not that there was anything wrong with them in my short experience, it’s just… well, it’s SLOW. That’s really the only downfall to using them (I was only with them for a few months, but I never noticed any downtime or anything like that.)

However, I’ve moved on. I’m now running a custom setup on a Linode Xen VPS. It’s still not totally bug-free—more on that in a second—but it’s much faster, and a lot cooler. Which is all that really matters.

26th May 2010
Code
Comments (0)

In looking for lightweight, simple, and extensible network monitoring systems, I haven’t come across any that really strike me as all three of those (extensible and lightweight are a killer for most).

I’ve decided that writing my own seems to be the best way (for now).

This is the Superintendent Project.

The Idea

16th May 2010
Symphony
Comments (1)

It’s been a busy few weeks since my last post, and really not a whole lot of stuff happened that’s worth writing down. However, in my absence I’ve been changing things up a lot. First off, new software.

Photoshop CS5 Extended

All I have to say is pure awesome. Seriously. It loads up insanely fast, it’s 64-bit from the ground up, and it even has a new splash screen. What’s not to love? (besides the fact that I really hate the new icon).

Also, I need to make sure that people are aware: Content-Aware Fill is pure magic. Seriously. There is no way half the stuff I’ve used it for recently is even possible, and yet it makes it happen right before my eyes. My friend Todd really had the best explanation of how this wizardry works (I was editing a photo of a tree):