Here's an inspirational little story about developing a large software project, the ATAMS that was built for NORAD. Large software systems don't always have to be late and over budget.

With the craziness that has become my life, I have created a diagram that defines a software development process that I am proposing for a large project I am currently working on. We have been plagued by a combination of incomplete requirements, poor technical detail, and changing requirements, so I am trying to develop a formal process to minimize these problems. We need something like this to help everyone keep their sanity and to help reduce/control costs. I never thought I would be "Mr.

Well, on my "day off" yesterday, I spent a little time getting some LaTeX code samples out here so I could find them more easily. Here's a list of the examples I created:

LaTeX PDF Example: Here's an example of how I learned to control line spacing in lists when creating PDF documents with LaTeX.

The reason I use this LaTeX PDF line spacing technique is that I'm writing some requirements specifications for software applications, and by default the LaTeX line spacing for lists and enumerations is too large. It appears that the items are double-spaced, and I really want them to be single-spaced.

Like everything else with LaTeX right now, I won't say that this is a perfect solution, but it does work very well.

This one may be my favorite LaTeX example yet. It shows how to create a table/grid, where the labels of the columns are rotated at a ninety degree angle, so they run straight up and down. This way, I can have very narrow columns, which is extremely helpful when trying to build a "house of quality" table for my current Six Sigma effort.

Without any further ado, here is the LaTeX code:

This is a collection of LaTeX example tags. I'm in the process of creating one super-LaTeX example file to show how to do many things with LaTeX that work with both pdflatex and latex2html, and this is part of that super-file.

In the example content below I'm showing:

Here is the code I use to create a list of descriptions in LaTeX. In this example, I'm creating three descriptions that deal with the subject of Six Sigma. (My apologies to Greg Brue for the blatent copy/paste action here. I was just trying to find a simple example, and his book was the first I found.)

My latest research delves into the application of Six Sigma to software development. On a related note, this has taken me further into the world of Function Points. To that end, here are a number of links to Function Point resources:

Today I ran into a situation where an old program I wrote is useful once again, but this time in a different context than the original need. At first I needed this utility method to convert extended characters to their ISO Latin equivalents for the HTML world, but today I need it to convert things in the XML world. I can't say I ever anticipated this need, because XML was but a dream back then, but it's good to know that it's still useful.

Here's the source code for a Java method that converts a given String into an equivalent new String, where characters that cause problems when rendered as HTML have been converted to their ISO Latin equivalent:

Ahh, benchmarks and performance, a fun game. Here are two benchmarks that I needed to use today to help demonstrate the difference between platforms:

  1. SciMark 2.0, from the NIST folks.
  2. The VolanoMark benchmark and report.

The SciMark is nicely configured as an applet, so it's very easy to test the speed of client systems. The VolanoMark is more difficult to set up, but may give you a more accurate read when it comes to server side apps.

I just learned that Mozilla has found a new home at the Mozilla Foundation. According to their web site, the foundation will "... promote the distribution and adoption of our flagship applications based on that code." As long as they keep Firebird going I'll be happy. It's a quick little browser that doesn't suffer from (a) being tied to Windows and (b) having gaping security holes.

I needed to see a list of all changes to a certain portion of code in a CVS repository. Here's how I did that. First, move to the desired directory. Then, issue this command:

cvs -z9 log -d >2003-8-14

 

Daniel Savarese has a nice article in the July issue of JavaPro magazine about business rules and logic programming. The source code for the article is also available online (by following that link).

In the name of being more productive I try a lot of different things, so I started teaching myself shorthand recently (Gregg Shorthand, to be specific). Yes, shorthand is an obscure technology these days, but I thought it might help me take better, faster notes at meetings, and at the very least, make the note-taking process a little more interesting. If you have a curious mind and wonder how things work, then learning shorthand might be interesting to you too.

Here is the first group of good links I've found related to the topic of learning shorthand:

Unix/Linux aliases FAQ: Can you share some example of the Linux alias command, as well as some alias command examples?

Using Linux aliases

Aliases in Unix and Linux operating systems are cool. They let you define your own commands, or command shortcuts, so you can customize the command line, and make it work the way you want it to work. In this tutorial I'll share several Linux aliases that I use on a daily basis.

A while back I needed to print some lines from the middle of a large text file. I used to use a combination of head and tail to get the results I wanted, but as large as this file was, I needed something much better. Since I couldn't find a tool to do this for me, I wrote one in Perl. Here's the source code and a brief explanation of my extract.pl program.

 

A Perl program to extract lines from the middle of a file

I've always been a big fan of the Unix head and tail commands, but several times I have wanted to print a range of lines from the middle of a text file -- not just the beginning or end of a file. Not liking the available solutions, I wrote my own.

Here is the source code for a program named "extract.pl", which prints lines from a text file beginning at the start line you specify and ending at the stop line.

Today is my mother's birthday, but she's in Greece, so happy b-day from a distance mom.

In the rest of the world news, here are a couple of short tips on using Unix/Linux commands:

 

Linux FAQ: Can you share some examples of how to use the Linux locate command?

Background

Sure. The locate command is used to find files by their filename. The locate command is lightning fast because there is a background process that runs on your system that continuously finds new files and stores them in a database. When you use the locate command, it then searches that database for the filename instead of searching your filesystem while you wait (which is what the find command does).