Thread Slivers eBook at Amazon

I have published two fantasy/sci-fi books (Thread Slivers, and Thread Strands). I have decided to become a full time author because I had so much fun writing these books and the fact they are bestsellers.

My new web site is at My books are available as eBooks and in print through Amazon. If you are a fantasy/sci-fi lover I hope you enjoy them.


I'd also appreciate the support if you joined me on Facebook, Goodreads, and/or Twitter:

Leeland's Facebook author page -
Leeland's Amazon author page -
Leeland at Twitter -
Leeland's Goodreads Page -
Leeland's personal blog -

NODSW is officially on the back burner.

NODSW is a collection of technical references, programming notes, open source code, resources, tools, and information which we (as in YOU and everyone one else who comes here) may find useful with no overall theme other then being about programming. This is a place to explore what can be done with modern programming techniques and modern languages like Java, Python, Jython, Powershell, and shell scripting. The usefulness or even originality is a bit hit and miss (but that's not a bad thing).

Of course it is more interesting if more people toss in their ideas and occasionally stand on soap boxes (of various sizes). So please don't hesitate to join up (its free and no spam) use the site and of course discuss, comment, question and/or criticize (politely of course) without hesitation.

Leeland's picture

Rolling back Ubuntu updates is not exactly easy

In Ubuntu there are a number of ways to get upgrades. There is the update manager which is configured to run automatically. There is using the command line approach with apt-get ('sudo apt-get update && sudo apt-get upgrade'). Finally there is the GUI utility called Synaptic ('sudo synaptic').

So what happens when something gets updated and introduces a bug, or breaks another applications behavior?

Leeland's picture

Dynamic Tomcat configuration using parameter substitutions

I was looking for a way to make a dynamic Tomcat configuration that could leave off editing XML files. I knew that Tomcat supported parameter substitution. However, I could not find a list of what was provided by default. Yes I know the phrase "your mileage my vary" applies deeply to this. None the less it seemed to me there had to be a reasonable list.

Leeland's picture

Disable Blank Console Screens for Ubuntu

I have a number of Ubuntu servers that boot up in text mode (both VMs and physical boxes). Once they boot I usually access them via ssh sessions so almost never try to type to console directly. However, it is rather annoying to want to see what is being sent to the console because I have to click and hit a keyboard key. So I had to find a way to permanently disable the blank screen feature for the consoles.

Now when you are logged in this is simple to do just enter the command:

$ setterm -powersave off -blank 0
Leeland's picture

Fixing piix4_smbus 0000:00:007.3: Host SMBus controller not enabled error for Ubuntu on VMware

Ubuntu guest instances in VMware from v8.x to the current v11.x sometimes come up with the boot error message:

piix4_smbus 0000:00:007.3: Host SMBus controller not enabled!

I still haven't figure out why this only happens with SOME of my instances. I think it has something to do with the magic mix recipe of installed packages. At any rate the error is being caused because VMware doesn't actually provide that level interface for CPU access. From Kernel documentation for "i2c-piix4" (<kernel source>/Documentation/i2c/busses/i2c-piix4):

Leeland's picture

Connecting Python to a Java Rest Servlet using POST

Pulled my hair out for too long to admit to over this. I had to tie a Python script to a servlet but the amount of data was too large for a GET. I wrote the whole thing in a quick sprint but then it didn't work. It worked if I pumped data to it via a GET request. But, when I shifted to a POST it stopped working. After a lot of RTM and Googling I still didn't see my error. After a coffee and a walk I looked at it and did a head slap. In the Python code I had set the Content-type to "text/plain;charset=UTF-8".

Leeland's picture

Keeping SSH Sessions Alive NATs & Firewalls

Working often requires opening terminal sessions or VPN connections. It can be very annoying when these connections fail after being left idle for a few minutes, or with VPNs in the middle of a work day in spite of traffic. In regard to SSH connections many people (even many experts) incorrectly assume that the SSH server (sshd) has some restrictive session auto-timeout setting. If you look carefully at the manual for sshd configuration (man sshd_config) you will see that there is not even a setting to enable a session timeout behavior.

Leeland's picture

Centos yum 404 repository errors

Today, I was attempting to upgrade my installed packages using yum on Centos Linux. Except that yum spun off into 404 land. The command looked like this:

$ sudo yum -y upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons:
 * base:
 * extras:
 * updates:
[Errno 14] HTTP Error 404: Not Found
Trying other mirror.
Leeland's picture

Cyberwar is Becoming Real Warfare

Security is often left to be the last item if not done at all. Yet, the digital universe is expanding at a rate that is amazing to be part of. Yesterday the US Pentagon confirmed thousands of the US's most closely guarded secrets were stolen by crackers. Even more interesting is that because of an inaccessible classified network being breached for months undetected the US Pentagon has established a Cyber War Room and created a Cyber Defense Force unit to protect the US computers and networks.

Leeland's picture

Good Meetings

From on high a message came down at my place of work that meetings were not being dealt with well. The message included a complete description of "Meeting Etiquette" and a stern warning that we needed to "follow some protocols when it comes to business meetings."

So what to do? Well here are some things to ponder and suggestions from some respectable sources that offer the same advise I have for years (only better):

Leeland's picture

iPhone Photo Library Weirdness

Why the hell would a modern device come with a sync option that starts by ERASING everything on your device? A hard disk crash or simply buying a new computer means death to anything synced to your iPhone.

When you mount the iPhone it gives you a USB drive. Marvelous! Except that drive has nothing that has been sync'd to the phone. All the music and pictures that were sync'd to the phone are hidden off in a randomized name location in a non-retrievable file format; with no way to export them back out to the originals.

Leeland's picture

Apple Engineering and 2,000 years of computing

A computer use to be a professional mathematician who performed complex math for business needs. The earliest documented use of the term was in ancient Greece where computers would run out navigational tables for merchant vessels to navigate by. Of course technology came along and automated them out their jobs (well kind of). When mechanical computational engines were devised to rapidly perform the calculations they got the name of the profession.

Leeland's picture

Sad Day For Java

Not entirely unexpected but still pretty sad today the Apache Software Foundation resigned in protest from the Java SE/EE Executive Committee.

I had held out hopes that Oracle would reverse their mindset but that is not to happen.

Leeland's picture

Can entropy be reversed?

If you jumped to this blog entry because of the title, you are likely already familiar with the answer:


From the short story "mulitVAX" by Isaac Asimov. If not, go read it, it is online and even in audio format at

Leeland's picture

Effective Quality Software Documentation

Software quality encompasses a number of factors such as number of defects, complexity, functional behavior coverage, and usability. The higher the quality of a solution the lower the total cost of ownership (TCO) as well as the higher the return on investment. As obvious as this idea is many developers fail to consider any of it while producing a solution. In the fast past world of software engineering most people involved get caught up in the idea that motion equals progress.

Leeland's picture

BDD Crash Course Presentation

Last night 2 months of poking at my computer almost every evening ended with a room of 30 software professionals looking like the proverbial deer in the head lights. To be honest I was very concerned that I was being too basic and people would demand more in-depth details. I had a Linux build server all set up with source code repository, Hudson build services, a micro-development environment, and a handful of example projects ready to jump into once the questions / demands for details started.

Thread Slivers eBook at Amazon

Syndicate content