Writings Added and Updated

I’ve added a new navigation link and page (accessible to the right in that little box–yes, that one!) for my writings. I’m planning on posting new works over the course of the next month or two as time permits. Since most of my writing consists of snippets written as an exercise or toying with a new idea, many of my works aren’t exactly in a finished state. Thus, the real challenge is sifting through the majority for a handful of short stories that are in a reasonably finished state, revising them, editing them for the web, and posting them here.

As it stands, I have posted an epic poem written back in 2004. It’s unfinished, but if people enjoy it, I may sit down and complete it. I plan on finishing it eventually, but I do have other interests at the moment which happen to be taking priority. To that extent, the reception of my work will determine how soon I get around to working on it!

2 comments.
***

Screen Gotchas

If you’ve used *nix-based operating systems for any length of time, you’ve probably come across the gem that is screen. While Gnome and KDE both provide tabbed terminals that largely supplant the needs of screen, the latter is perfect for maintaining multiple sessions on a remote–or not so remote–host. Screen does have a few “gotchas” that can surface and they’re hugely annoying if you’re not familiar with some of its more esoteric shortcuts. Read more…

No comments.
***

Brief Comparison of Servers and Frameworks

This article has been deprecated as the fundamental principles behind the data acquisition are flawed and incorrect (at the time, I didn’t have multiple machines to test on; as a consequence, benchmarks were performed on the same server by the same server). You should not cite this article as authoritative, but it can give you some additional foundations to base further research on.

I’ve been working with a couple of Python-based frameworks for web applications recently and have elected to try my hand at writing my own application server in Stackless Python due to its simplified concurrency model (and threading in Python appears to have performance-related issues compared to languages that support it natively, like Java). My efforts haven’t gotten much further than creating a basic skeleton so far, and it certainly seems as though I’ve learned much more about Python’s internals than I ever wanted to know! Performance has been a fairly significant concern up front, and I believe it’s necessary to examine how your own software performs early in the development process rather than waiting until the design has been solidified. Once you’ve been bitten by a fundamental flaw or serious bottleneck around which your entire design relies heavily on, it’s very difficult to alter the application’s behavior without significant refactoring. While I’ve heard it said that it’s sometimes better to write the application first and worry about performance later, I have never had such luck. It seems easier to write the application correctly the first time, in terms of developer time spent now and in the future on maintenance.

However, there is one benefit I didn’t predict from this exercise: This experience has also afforded me an opportunity to compare different frameworks and servers for performance and behavior under load. Read more…

2 comments.
***