Archive for June, 2009

Greatest Novels – Catch-22

Monday, June 29th, 2009

Catch-22 by Joseph Heller (7)

A humorous tale about the paradox of war and the desire for survival, that also manages to examine the violence and madness of conflict. Uses the popular technique of out of order story telling, and mixes in rapid fire, scatterbrained dialog sequences that are fun to read and humorous, but eventually drag on over the novel’s length. Though the length seems obsessive, the end is climactic, and some of the paradoxes of war are driven home. This is definitely one of the greatest books I’ve read, and though the length and excessive vocabulary is a bit tedious, the novel really is a masterpiece.

[Originally written June 16, 2002.]

A Mechanism for Scalable Redundancy in Parallel File Systems

Wednesday, June 24th, 2009

Bradley W. Settlemyer.
“A Mechanism for Scalable Redundancy in Parallel File Systems.” [pdf]
Clemson University Master’s Thesis, May 2006.

Using Server to Server Communication in Parallel File Systems to Simplify Consistency and Improve Performance

Wednesday, June 24th, 2009

Philip H. Carns, Bradley W. Settlemyer, and Water B. Ligon, III.
“Using Server to Server Communication in Parallel File Systems to Simplify Consistency and Improve Performance.” [pdf]
In The International Conference for High Performance Computing, Networking, Storage, and Analysis (SC ’08).
[21% acceptance, 59/277]

C++ Syntax Highlighting for GNU Emacs/XEmacs

Tuesday, June 23rd, 2009

Several years ago the C++ syntax highlighting support in Emacs was pretty terrible.  The XEmacs support was particularly atrocious (and still may be).  To remedy that, I wrote my own syntax highlighting package for XEmacs originally, and then I ported it to GNU Emacs.  Back then I cared a lot more about the schism between XEmacs and Gnu Emacs.  Writing this package is one of the major impetuses for getting me to care a whole lot less about the politics of free software.


A Technique for Lock-less Mirroring in Parallel File Systems

Tuesday, June 23rd, 2009

Bradley W. Settlemyer and Water B. Ligon, III.
“A Technique for Lock-less Mirroring in Parallel File Systems.”[pdf]
In The Workshop On Resiliency in High-Performance Computing (Resilience 2008)
at The 8th IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2008).


Greatest Novels – 1984

Monday, June 22nd, 2009

1984 by George Orwell (13)

A depiction of a dystopian future brought about by an all consuming communist/socialist regime. However, the greatness of this novel, seems to me, to lie in its telling. Orwell was hardly covert in his themes, but nor was he moralizing or preaching, rather he spins the tale of Winston Smith, a love affair, the thought police, and betrayal. The power lies in the focused story. Orwell never strays off to drive some symbolic point home, the book keeps its measured pace and never sacrifices its plot for politics. The reader is left to draw his own conclusions about the feasibility of such a future. Orwell was of course a socialist, and wrote novels about socialism/communism, but unlike the bulk of such authors he isn’t preaching, he’s telling a good story. Most of the novels, even on this respected list, are willing to sacrifice the story for the sounding board. Orwell did not need to, making this a superior work.

[Originally written June 12, 2002]

Custom Coding Style

Monday, June 22nd, 2009

If you are a programmer canny enough to use Emacs, chances are your skills are in high demand.  That being the case, you will likely work for several different companies or at least for several development projects — and each will of course have different coding styles.  I personally feel strongly about how code should look, but I feel even more strongly that all code for a project should look the same.  And old formatting habits die hard, so just let your editor/ide do the the tabbing and spacing for you.  So, here is the code style customization script I wrote when I worked at Stronghold Technologies, Inc.:


With this little bit of lisp, I could toggle my coding styles depending on whether I was working on Stronghold’s software or tweaking my own projects.

Emacs Configuration File

Sunday, June 21st, 2009

In the past, I was a devotee of the Emacs editor for all of my programming tasks.  Emacs is not easy to master, but it really isn’t that bad to learn if you have someone to show you a little bit at the start.  I learned it because the only other option was vi, and I don’t enjoy vi.  But there are plenty of other reasons to learn Emacs, including as a step toward learning elisp, Emacs’ very own version of the lisp programming language.

One problem with Emacs is, that out of the box, it doesn’t come configured particularly usefully.  Here is a config file to get you started.  It used to work on both Emacs and XEmacs, but I stopped using XEmacs entirely about 5 years ago, so there is probably stuff in the file that will not work in XEmacs.  I won’t go into all the details, but it uses conditional loading, and lots of other goodies to avoid the problem where Emacs won’t finish loading the config when it encounters an error.  You should probably use this, as it configures basic support for many common programmer packages.  Additionally, I sat down and worked
out good color schemes for everything.  The only caveat is that it no longer supports every flavor of emacs I could find, just too much of a headache to test.  Just download it, and rename it to .emacs in your home directory, and away you go:

.emacs customization file

I still use Emacs, and I certainly appreciate it’s existence, but for programming I now use Eclipse.  As of Europa, Eclipse has surpassed Emacs as a programming environment — finally.  It really was ridiculous that Eclipse couldn’t surpass simple, old Emacs for the longest time.  I still use Emacs for editing Latex documents, and when I need to do some serious scripting, Emacs tends to get used as well.

Greatest Novels

Sunday, June 21st, 2009

One of my many ongoing projects is to read the 100 greatest novels of the 20th century, as selected by Random House, and then rate them according to my own tastes.  As I haven’t done much pleasure reading since 2003 or so, I would like to pick up this project again and see if I can read most of this list at least.  Myabe only one from each author, but a decent subset of the entire list I hope.

XP is for Managers

Saturday, June 20th, 2009

[Originally written in 2005. A little more polarizing than I would write it today.]

Extreme programming is a relatively recent software development process based on being “extreme”.  Whether it will be thrown on the ash heap of history is unclear to me, but this essay is little concerned with that.  XP is simply a process.  It doesn’t ensure project success, nor does it guarantee project failure.  Many of the negative reactions to XP are based in some disappointment over the individual principles involved.  I don’t have particularly strong opinions on the principles and I suspect they range in value from highly effective to benign to mildly detrimental.  But how those principles map to those values depends highly on the texture of the project they are being applied to.

Nevertheless, to me processes in and of themselves are not particularly interesting, so then why am I writing this essay?  XP is a little bit different.  Or more accurately, the advocates of XP are a little bit different.  You see, the advocates are playing a game, preying on the misunderstandings between management and programmers to sell a product.  The marketeers are no fools, they know what they’re doing.  And the results of their actions are unlikely to be more successful projects, but instead fatter pocketbooks.