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).
Bradley W. Settlemyer and Water B. Ligon, III.
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]
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.
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:
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.
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.
[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.
Okay, WordPress installed and mostly configured I think. Still need to edit the theme to have the content I want. Not sure what I want to do about longer articles exactly yet. It’s nice to work on something other than my Dissertation for once.