Alvin Alexander | Java, Scala, Unix, Perl, Mac OS X
There are dates/times like last night, and again this morning, that my unified theory of software development seems to be coming together. My latest concepts, documented here just so I won't forget them :), involve:
Here are a couple of links as I found yesteday as I continue my personal "software quality" quest:
Here's the source code for a Java memory eating program I've written. Its purpose is to consume all of the memory (RAM) on a PC. It tries to allocate 1 MB byte arrays until it runs out of RAM.
It's a Struts world after all. Two useful Struts links from this morning:
Java spell checking FAQ: Can you share a Java spell checking example?
Java spell checking FAQ: Can you share some source code for a Java spell checking example?
Here is the source code for my first test program with Jazzy, a Java spell checking tool. This is taken straight from one of the example programs distributed with Jazzy.
Java spell checking with Jazzy
Here's the source code for this first Jazzy Java spell checking example:
I just started using an open source spell checking tool for Java. Its name is Jazzy, and the authors have created a site for this tool on sourceforge. It is only on version 0.5, so I'm a little concerned about recommending it at this time, but I've created two test programs, and they both seem to work okay. I'll release those test programs shortly, because as you might have guessed by now, I'm a big believer in learning how to use tools, or how to get started with them, by working with examples. Another cool thing for LaTeX weirdos like me ...
For strange humor and maybe true confessions -- and nothing to do with programming -- grouphug.us has become a favorite site lately. Almost makes me want to write something of my own, like "I hate to admit it, but I am an SCO Advanced Certified Engineer (ACE) and Authorized Instructor." If nothing else, at least that was in the days when SCO was just a slow-moving technical company, and not just a group of lawyers trying to make money.
Nothing major here, but there's an interesting story in the MIT Tech Review this month about three jobs they must do at the same time, but most developers are only qualified for one of the three. According to the article, the three jobs they must perform are:
My definition of "CFO Disease"
Every CFO that can create a spreadsheet thinks they are a programmer.
As you might guess, this had to do with a long conversation with a CFO today about how to do my job, and how programming seems so easy.
Java URL download FAQ: Can you share some source code for a Java URL example, specifically a Java class to download and parse the contents of a URL?
This example is a little weak, but it's a program that downloads and parses the contents of a given URL. The purpose has nothing to do with URLs ... it has a lot more to do with the parsing that I am trying to achieve. The parsing code is actually going to be used in an anti-spam program that I am working on.
I often use the Lynx character-based web browser, but can never remember or find their obscure commands. Two that I really need are how to create bookmarks, and how to access them.
To create a bookmark in Lynx, just go to the page that you want, then press the letter 'a'. When Lynx brings up a prompt, select the letter 'd' (for Document). That's all.
Here are two references to JLint programs that help to find potential logic problems in Java code. On a small project where you're the only develop working on the code this may not be too necessary, but on a larger project with multiple developers ... it can be most helpful, especially if some of the developers don't have much experience.
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.