Site Sponsors:

Show All

  • 2019
    • February
      • Installing PIP3 on Ubuntu Server 16.04
        p.s: After setting-up LAMP-py, if you need other modules:curl "" -o ""
        python3 --user
        Be sure to 'curl that 'get using the https - Using plain-ol http no longer works.

      • Whose STILL better @Python?
        Apologies for previous posts on political topics - I hate to care so much about non-technical issues - but I do.

        Maybe you do, too?

        Getting back to what we all know and love, surely the best way to push a post BACK, be to push something onto the stack, BEFORE it?


      • Hey Amazon - Where's the RESET button?
        It is probably entirely my fault - yet it still happened.

        Re-directing 'web site A-records - creating permissions - zones - VPCs.

        Was all working great, then BOOM. Health checks pass, but public IP addresses cannot be reached. -Even when all ports have been enabled? IP CD

      • Bye, Bye - Facebook!
        Some things are just plain 'ol wrong. -Like betraying your national values; selling out to the opposition; giving in to the pressure from hypocrites. In-denial lunatics & fanatics who have become ever worse than their oppressors - both real and imaginary - from days gone-by.


    • January
      • Clone File Dates & Times
        I would be willing to wager that anyone who copies files on Linux has been stung by this one: After copying your files from one place, to another, you notice that the file dates & time have been changed?

        While there are many ways to deal with the problem, few I have seen allow us to c

      • PyDAO's NEW Graphical User Interface
        The Soft9000/PyDAO ("PyDAO") project now allows us to quickly create a Python Class from either a GUI, API, textual (CSV, TDF, Enpiped, etc.) data file, or using a Python Dictionary.

        Workflows include (1) creating stand-alone PyDAO projects, (2) extracting PyDAO proj

  • 2018
    • December
      • REALLY easy data entry for Python...
        Had to share this one: Create a field-name dictionary, show the window, then enumerate-out the results.

        Code: To see the code on GitHub, click here

    • November
      • Basic Subject Editor
        Building upon the techniques presented in our Graphical Command Line Editor, we decided to create a basic note-taking interface:

        Here is the code:

        from tkinter import *
        from collections import OrderedDict
        # Mission: Create a w

    • September
      • Pythonic DevOps?
        Join us at SecureSet in Tampa for a presentation on managing & responding to Murphy's Law ... on-the-job!

        Signed copies of "Python by Requirement" will be for sale.

        FREE coupons to "Python 1000" and "Testing Success" will be g

    • July
      • Subject: The GNU Programmer's Primer

        On Monday, July 9, 2018, 06:10, Geoffrey Barnes wrote:

        Hey Randall,

        I recently checked out your best selling Udemy course about creating Makefiles, Applications, and Libraries using the GNU Tool Set that teaches using GNU's `dbg` and `xxgdb` tools to perform st

    • June
      • The Book of Glyphs
        A huge fan of representational graphics, it is with great humility that we announce the creation of "The Book of Glyphs."

        From Mayan, Viking, Greek, CJK, and everything in the oh-so unsung Unicode middle ... if you like to appreciate character glyphs as an art-form (as if the wo

    • May
      • Modern C/C++ Training
        With the rise of the robots and the IoT, has come a renewed interest in the raw, cross-platform power of Modern C/C++.

        From the absolute fastest applications, to our operating systems themselves, there is a reason why even other programming languages are written in C/C++. Why use anything

    • March
      • PyDAO: Turn CSV files into Databases & Python Code
        It's meetup time again!

        In order to help our students make a fortune on the stock market, we decided to create a tool to help convert those nightly NASDAQ exports into a database.

        Come to that, our new PyDAO project will convert ANY CSV (or other be-headed text-delim

      • Python 2100: Objects, Factories, & Frameworks
        Today we proudly release our latest training offering.

        Designed for ADVANCED 'Python'eers, in Python 2100 we will discover how to use @staticmethod, @classmethod, getattr(), hasattr() as well as object factories, and "abstract" signature classes.

      • Python Stock Market
        Today we are hosting yet another "meetup." Designed for those who have been taking our Python 1000, 2000, and 3000 training, our goal is to build-up the resumes of our students.

        Targeting a REAL WORLD game-play scenario that would impress would-be employers, we have set our sig

    • January
      • OpenSCAD ... and the True Type Font!
        We went looking to create a few 'logoed projects recently. Since printing text can be a problem in 3D (strange looking 'As, 'Os, 'Qs, etc.), for best results when hollow-rendering one should us a STENCIL font.

        Sadly, far from being universally supported, at

      • On-Line Educational Experences
        From in-class to on-line and at-the-fort, I have taught in many places, and under many circumstances.

        Reviewing the results of decades of in-class consulting as well as on-line educational engagements with a prospective client recently allowed me to neuron-together a few interesting insi

      • Python From Requirements
        Supporting yesterdays skill review session, we added a series of "sub-challenges" to project PR05. The additions were added to the bottom of the document.

        Designed to help new students understand how to develop software in the professional software development world, such presen

      • Modern Software Development on Low-end Computers
        If you have an older computer - or a computer sporting a smaller amount of memory / hard drive - you need to know about Lubuntu.

        Tiny Brains
        While there are several flavors of Linux that will yet work on smaller footprints, those wanting to use modern incarnations of C/C++, Python, J

  • 2017
    • December
      • Pythonic Content Generation & Yield-based Enumeration
        Very few jewels in Python's crown sparkle so brilliantly as the gem of Content Management.

        Using 'with'
        While ever-confusing to those who know another programming language, those interested in demonstrating genuine Pythonic mastery simply love to make their classes op

      • Piranha-Wiping Your Hard Drive
        Everyone knows that - even after files have been "deleted" - that file data remains on our hard drive?

        So when I recently received a brand-new 4TB HDD as a gift, to no surprise I discovered that the drive contained enough bad sectors that I would have to return it.


      • EzLog for Python
        Originally written in C/C++, how could I not share this one?


        from datetime import datetime as zdatetime
        from email import utils

        class EzLog():

        def _hack(self, message):
        znow =

      • Passable 'RFC 2822' Localtime in Python 3
        Time ... you would think that it would be easy to express on a computer... What could be more natural than counting the number of seconds?

        Yet after decades of computerization, we are still 'haggling over the proper way to express time!

        Here is what we cobbled together whi

    • November
      • New Project: AboutTime ... for the 'Web!
        The work on cleaning up those awful WikiQuotes lead me to coin the word 'Quotie,' as well as to pop-out a web UI.

        Dedicated to cleaning up such a horrid morass, this week the brain-wave was to refactor that C.R.U.D so as to support my original time-tracking and invoicing effort

      • The Quote For Today "Quick Quote Review"
        Tossed this together last week. Shared today: The Quick Quote Review Sub-System.

        A generic version of my source code for the web site is here.

        Extremely cross-platform HTML5 + CSS3 design... Even works great on my iPhone & Android devices!

    • October
      • Stand-up a Basic Web Server ... in 1 Line of Code?
        There I was, starting to spin-up my AWS Server when it occurred to me: Once having resolved to use Python 3 on the back-end, why pay for the spindle-time?!

        (Apache NOT Required!)
        Indeed, even with a Doctor Quote front-end (written in C/C++, with a new for-discussion strawman written

      • Downloading Wikiquote Quotations
        Getting things done can be all about inspiration?

        (the classic logo)

        When it comes to data collection efforts, the spark-for-today arrived with the realization that far too many of the citations collected by Wikiquote are absolute garbage.

        It seems that "Quotati

      • An SQLite Database For Wikiquotes
        Once we have any significant collection of data, the next natural thing to do is obvious ...

        So here is a link to it!

        Please note that:

        (1) The database file is for sqlite3. It is ~50MB.
        (2) Of the original 5,225, there are 4,544 populated topics ("pages&qu

      • Collecting Wikiquote Data Using Python
        You've 'gotta love collecting quotes - not only might they teach us, but reviewing quotations revered by others helps us better understand what motivates today's majorities.

        Like many others, I also love Python 3. Not only is Python 3 finally ready for prime-time, but - fro

      • Linux: Fixing Cura Installation Mishaps
        If you are one of us who likes to install several things at a time using "sudo bash," then from time to time you might be tempted to run what you have installed as "root."

        When upgrading to the most recent version of FreeCAD & Cura, I recently made such

    • September
      • Python By Requirement
        Hi guys!

        Today I wanted everyone to know that our new book "Python 1000, By Requirement" - or simply "Python by Requirement" - is now available on Amazon.

        No matter what we call it however, note that the book includes a coupon. The coupon allows anyone to v

      • Python - Color Console with Cursor Support
        For those who would like to create an enhanced menu system ... or perhaps your first console game ... here is a re-write for what I posted this morning:

        class Cursor:

        def goto(xpos, ypos):
        if xpos < 1:
        xpos = 1

      • Python: Colorized Textual User Interfaces on Windows and POSIX
        With the advent of Windows 10, for the first time in history we could do - installed by default - what everyone else had been doing for over 50 years: Create colorized applications right-out of the box!

        (PyCharm IDE)

        While the use of drivers such as `ANSI.SYS` or `VT100.SYS` ha

      • PR1000.03: Creating A HexWriter & HexReader
        Welcome to yet another add-on project for Python 1000!

        In PR02 we created a "hex dumper."

        Every time we create something new, we have an opportunity to "weaponize" what we have learned so as to add to our own functional "arsenal."

      • PR1000.02: The Hex Dumper Project
        From banners to ASCII tables, in Python 1000 we created allot of useful data representations. Putting it all together however, when our review team was having difficulty creating the password encoder, we decided to cobble together a review exercise.

        Moving forward, if you have

      • PR1000.20: Select & Display a "MOTD"
        Here is yet another post-educational activity for our Python 1000 friends.

        Exercise PR20 (click here for the document) begins by creating a Python Dict()ionary from a short list of famous quotations.

        After the dictionary has been created, students will demonstrate t

    • August
      • PR1000.11: Password / String Encryption
        Whenever we encounter a password, soon to follow is the concept of "Security"!

        Submitted for your approval therefore is PR11 (document link). Designed to be completed after PR10 (document link), the net result is to provide a rather unique "additive security&quo

      • Python 1000 Tops Reviews on Udemy
        Made my day friends - a big THANK YOU going out to all who have taken my Python Training!

      • PR1000.05: Challenger Exercise for Python 1000
        Submitted for your approval, please find what used to be the official, yet informal "Challenger Exercise" for Python 1000.

        Formally off the blackboard & shared today on GitHub as PR1000.05 (document link), these two basic UML Diagrams will be reviewed on Udemy at

      • PR1000.10: Create a Basic "Password Counter" in Python
        A very enthusiastic Python 1000 student asked for the creation of a few more practice activities.

        We decided to share our first design as an official project.

        Destined to be the first in a series of follow-on activities for our increasingly popular Python 1000 & Pytho

      • Backing Up Files Across Multiple Devices
        There you have them - sitting in a box. --From lots of CDs / DVDs, to far too many USB sticks to contemplate.

        Rather than sitting there - waiting for us to toss them out - wouldn't it be nice if we could use them to backup our 'stuff?

        Backup Splits
        Much like in

    • July
      • FreeCAD: LED-Hacking an STL Figgurine
        The team & I had some fun over the weekend adding a coin-cell LED to a 3D model:

        The challenge involved reverse engineering an STL so as to experiment with soft-drilling hex-holes, as well as using clear filaments.

        The process was to import the STL, then rendering as

      • An Easy PHP CRUD Example ... for SQL / Sqlite!
        When our needs are simple, then so should be our code.

        For 100% of what we need to do at the moment (manage a massive collection of data across a local network,) this class will do what we need it to do: CRUD far too many rows consisting of TEXT / string values!

        So, is D

      • PyGame Example - The Lazy Star
        Had a chance to teach a bunch of wonderful new Python students this month.

        Several were interested in using pygame, so we put together the following demonstration.

        Thought we would share it.

        Note that - before running pygame - that we will need to use pip (or pip3)

      • GUI, TUI, ... GTUI?
        Surely the fear of being labeled "old fashioned" can be a key motivator in the need to support any new technology?

        Audio Reborn
        Consider - for example - the former stigma long associated with "obsolete radio." --Surely "Modern TV" & video triumphed o

      • Microsoft Triumph!
        Some people say that we POSIX guys are biased. --Many believe that wee open source folks have something against commercial software platforms / tools.

        In my case - as well as everyone else I know - nothing could be farther from the truth!

        In very fact, while I personally do all

    • June
      • Explorting Video Screens Shots
        Have you ever felt the need to capture a never-ending set of screen shots from a move?

        Neither had I.

        But ...

        Step 1: Catching the .WAV (Audio Files)
        After spending 5 days lecturing on C/C++, the plan was to turn 23 GB of captured .WAV audios into a full blown

      • Turnstile: Event Aggregator
        No matter if we are testing, logging, or 'blogging, many know the need to unify events between many people, places, and platforms.

        Moreover, having the need to aggregate events both via the 'web, as well as via other applications (like ezlog & AboutTime!), we felt the need t

    • May
      • Nagy's Know How - For Python?
        Will injecting one's last name into such a title sound arrogant?

        We hope not - the idea is for us to share some "Know How." Those hard-won consulting & educational insights. --The type of information that takes years of practice to acquire, yet topics that we all might

    • March
      • C++: A Tale of Three Loggers
        Just putting the finishing touches on a new training offering. Dedicated to GNU C++, by way of a bonus to my new students we decided to create a Namespace to share our modernization of our classic .ezlog logger.

        The first logger to share with you is the LogWriter. Designed

      • "Just Do It:" Graphical Command-Line Parameters for Python 3
        (UPDATED 2018-11-06: Code now available at GitHub)

        There seems to be a huge line between those who want to use console applications, and those who have the need for a GUI.

        When using Python however, such lines need not exist: It can be easy to jump between the the Graphi

    • February
      • Tagging Your MP# Files
        Command-line audiophiles of all descriptions surely know about ffmpeg - The de-facto way of managing allot more than MP3 files, ffmpeg ranks highly - even amongst the audacity set - for managing the ear-candy.

        An avid consumer of every audio book I can afford (I get about 2 a

      • GNU C++: Ineritance & Default Parameter Confusion
        For those who like to use C++, the sole justification for many is the ability to implement a common signature over several related implementations.

        Commonly known as "inheritance," when we need to use a parent's function / signature, yet provide a unique child-implementatio

      • zPython Clock, Revisited
        Here is an upgrade for zClock:

        from tkinter import *
        import time

        zProgram = Tk()
        zProgram.title("zPython Clock -")
        zClock = Label(zProgram,
        font=('ariel', 72, 'bold'),

      • zClock: Python3 Clock in 11 Statements
        When the atomic clock went on the fritz lately (probably was the first popular commercial version ever available!) I went lookin'.

        Finding a few for under $20, it occurred to me that - attached as we are to the DST-capable world-time-zone, that I could easily slap one together in Pyt

    • January
      • Python Animation: Pinwheel Cogs In Action
        Every new concept needs to have a programatic test.

        While working fine in the woodshop, in as much as I decided to create a complete series on Python last year, I decided to update that training opportunity with a training module dedicated to Turtle Graphics.

        Using the co

      • Web Gears - Part III: The Pinwheel Cog
        It is no secret that males are obsessive. Proven by Readers' Digest many years ago, by tracking the infra-red pattern of blood flow when males think about a problem, the blood pretty much stays in our frontal lobe. No so for the females.

        Why mention such a scientifically proven, yet

      • Web Gears, Part II
        Well the weekend is here. Time to hit the wood shop once again.

        Last weekend we started creating our decimal counter. While the gears for the project are made entirely of wood, the assistive electronics (simple analog motor + a transistorized dump circuit) for the project are presently co

      • OAuth Training Available
        From posting quotations, recipes, and articles to Twitter, Facebook, and Linked-in, to sending 'robomail & uploading data for The Quote For Today, I write allot of robots.

        Relatively new to the technical learning-locus has been our need to use more secure ways to allo

      • Web Gears in Python
        One of the nice things about knowing more than one programming language is that one can choose the right language, for the right job.

        Certainly - and as I have noted elsewhere - one can often do more with three lines of Python, than with 3 times that effort in other programming languages

  • 2016
    • December
      • SQL for Python3 - Keyed, Incremented, and Yielded
        One of the reasons why I blog so much is so I will always have my own code readily available.

        Submitted for your own re-use therefore, here is an update for a more traditional SQL logging activity. Designed for more than re-use under SQLite, here is the official update to our previous eve

      • Server Side Python3: Simple CGI Dump
        This Holiday's project saw us hacking the AWS so as to serve-up some hot & spicy LAMPy.

        Submitted for your approval, here is a little something you might also need to know:

        import os
        from urllib import parse
        import cgitb


      • Python3 and Apache - Whose there yet?
        If you are a Python 2.7 developer whom is putting off learning Python 3, you are not alone. While a gentle enough learning curve, there are enough internationalization & conventional code changes so as to send allot of code back into the R&D queue...

        Surprisingly, when it came to

    • November
      • Beware The Code Nazi!
        If you are the type of software developer who believes in the purity of how one must name member functions, variables, as well as preferred spaces about thereof, you are not alone.

        From Python to Java, I have encountered many who believe that "their way is the only way."

    • October
      • Downgrading Java on Ubuntu 16.x
        Just a quick note to let everyone know that - after installing LTS 16.04 (so far a very pleasant & stable release - recommended!) that I discovered that the default JDK ("9 internal") does not work.

        java -version
        openjdk version "9-internal"


    • September
      • JarOMine: Locate + Search Java and / or ZIP Files FAST!
        Just a quick note to let everyone know that I have written a reasonable first-response to help resolve my recent carping about not being able to locate a file in an archive.

        Known as JarOMine, I cobbled this puppy together just now so as to make mining thousands of Java .JAR files, as wel

      • Hadoop: Outloading Support for User-Defined Functions in Java
        So there we are, trying to locate the Java-Archive (JAR) files required for creating a User-Defined Function (UDF) for Hive. (Pig works much the same.)

        Perhaps one is even using the Hortornworks Sandbox. No matter how we access Hadoop's Distributed File System (HDFS) however, many ha

      • New Project Alert: Nagy's CalOMine
        Happy Memorial Day!

        While I like to take some time off, my usual way to celebrate a Holiday is to get up at 4AM to write something that can help us for the rest of the year.

        Today was not different: Submitted for your approval, I hope that you will enjoy our new CalOMine Projec

    • August
      • Survey Says ...
        The path to knowledge begins with a single query ... in this case... why not use SQL?

        Okay - I admit it - I am a data junkey! So when we decided to see what the present crop of game engines had to offer, the source of all editable light and knowledge in our galaxy - was the natural place

      • YouTube Videos Moved - New Channel Strategy
        VB.Net Presentation
        A few years back - and in the spirit of "sharing is caring" - I decided to post a basic screen-cast attempt at presenting my "Introduction to Programming with VB.Net," & chum it onto YouTube.

        -In as much as VB had never been Object Oriented

    • July
      • Beginners: Learn how to Program - with Python!
        Yup: I have kids. Yes - I routinely wage war trying to get each to learn how to enjoy WRITING games, rather than playing them.

        While I too have been know to favor a keyboard-game or three, while teaching complete beginners how to program, over the decades I have discovered that the key to

      • Fixing SVC.XML Errors in Apache Batik
        It was 2AM. Well into the 1st shift for my day.

        Having just enthusiastically created 20 images for use in a 2D attack simulator, I was eager to get those Inkscape designs into my Java simulator.

        Upon noticing that even the Linux OS I was using was unable to display

    • June
      • Managing LS_COLORS
        While it is nice to have a colorized console, the default colors of 'light blue on green' for executable directories is unable to be read by anyone in my native hemisphere:


        For those whom might want to change these default colors, two approaches to getti

      • New Project: SQLMate
        Well, here we code again ...

        One might have noted that I am somewhat obsessed with SQLite at the moment ... and for good reason: From Android to Big Data, we are using SQLite on every 'conceivable.

        So when it came time for me to mass-generate a few hundred tables & DAO

    • May
      • DIY SQLite Videos ... and Inspiration?

        Where does it come from?

        No matter what we believe sparks our brain-joy, surely we all can understand how inspiring words from others can help "make our day"?

        So as I set my hand to sharing a few videos designed to help others use S

    • April
      • Staples Asks: How do you create professional videos for your small business?
        When it comes to using software products to create videos, I have used everything from YouCam, Camtasia, Camtasia Studio, Audacity, GIMP, as well as software that I have personally written in Java, Python, as well as C/C++.

        At the moment, my final tool-chain uses one of several screen ca

      • Pirates of Pi-stance
        I've just cloned my data collections from MySQL for embedded / stand-alone use on a Raspberry Pi (as well as Android, Windows, OS/X, Linux, and ... uh ... well ... virtually everywhere else!)
        --Even Microsoft is planing on supporting the 'Pi Platform!

        Best Of All?
        We w

      • Must-Have Developer GUI for SQLite?
        Downloaded version 1.2.2 of sqliteman (for sqlite3) on Ubuntu 14.05 LTS yesterday via the software center. Written in Qt, versions for Microsoft Windows & elsewhere are also available.

        Decidedly for those who know SQL rather well, we found that sqliteman (official screen shot) is a mu

      • Helicopter Attack
        It was Pope Innocent the 3rd who first noted that a little knowledge is a dangerous thing.

        Whilst we can be confident that he was not talking about the Internet at the time (he lived in the 18th century ;), for the record I just wanted to let those whom might find that their site is being

      • German Notation & Problematic File Names
        For years I have been popularizing the idea of using "German Notation." Formerly known as "Nazi Notation," far from conjuring-up the image of unpleasantness, I use the term whimsically; When one hears it, my hope is that we think more of "Sergent Schultz" (I know nothin

      • Cloud, Client, & Browser Concepts
        For those who are entering the software and / or software testing world, here is an excerpt from our new "Testing Success" training offering.

        I have been informed that there are even some new ideas for experienced software developers / testers, as well ... :)

    • March
      • ASCII Strings in Python 3
        Since Python decided to convert to Unicode, the default string encoding is no longer ASCII.

        In as much as the vast majority of the world is still working with ASCII text however, lots of people are being frustrated.

        In an effort to stem the frustration, allow me to share an exa

      • Staples Asks: "Do you have a surprising tip for improving productivity?"
        I wish I was the first one to note it, but it was Thomas Monson who brought the idea that "when performance is measured, performance improves" into my bailiwick.

        Yet to force people to be more obsessed with recording what they do is one very sure way to demoralize & intimid

      • Fiark: Unicode & Valid File / Folder Names
        Sitting down to update Fiark this weekend, once again I came across the notion of detecting invalid directory & filenames. With a heavy sigh, I realize the advent of Unicode meant that there would be far, far more to check for than the usual "{}", "]", "/", "\&

    • January
      • Microsoft Ignorance
        There we were, watching the bandwidth.

        The client complains that the time is always around 8AM... people are settling in at work ...

        10 ... 9 ... 8 ...

        Look Bill... no more network!

        What am I talking about?

        Why, our inability to be able to rea

  • 2015
    • November
      • CentOS, Tomcat, MySQL, and Java Hosting
        NOTE: GODADDY Cloud Servers GONE as of December 31, 2017

        In as much as it is now extremely affordable to toss server installs around the cloud, we decided to set up a Linux, Tomcat & MySQL (LTM) stack on CentOS.

        Bitter Experiences
        In an earlier post I menti

      • LTM on Godaddy (CentOS 6 : Tomcat 6 : MySQL 5.5)
        NOTE: GODADDY Cloud Servers GONE as of December 31, 2017.

        In as much as it is now extremely affordable to toss server installs around in-the-cloud, we decided to set up a Linux, Tomcat & MySQL (LTM) stack on CentOS.

        Why CentOS, you might ask?

        Easy: Th

      • Tomcat 7 on Ubuntu
        NOTE: GODADDY Cloud Servers GONE as of December 31, 2017

        In an earlier post I mentioned that - while capable - that AWS was a box of frogs. While we might wonder aloud as we hear-tell of what is bumping around inside, once the 'pandora has been braved one will surely crav

      • Paginated item-picker for console listings in Python 3
        Adding to the critical mass of things that many want to do - yet cannot find a nice example on how to do - submitted for your approval please find a little class I chose to call PrintPickerList:

        Opportunity to support the pagination of a list so
        as to allow a

    • October
      • Fast & Easy: Managing SQL Data in Python 3!
        While serving as the Principal Software Development Engineer at Informix, I wrote several articles for BYTE Magazine. Aside from coining the term "DLL Hell" in 1991, I was honoured to work with the same teams that created the Wingz Spreadsheet, as well as what remains the fastest databases

      • Time Formatting & Conversion in Python 3
        For those of yooze-guys whom may not know, Python 3.5 came out last month.


        To commemorate the event, I thought that I would share a little time-conversion ditty I wrote.

        Indeed, the need to understand this particular time-conversion task is so common that I

    • August
      • HTTP Forma As-a Service Transfer (F.A.S.T)
        When creating a new web presence, as a set of architectural guidelines using JSON and REST is a good way to go.

        However, sometimes we need to manage data on the Internet in such a way as to automate existing HTTP Forms.

        Such was the case when I created "Th

      • Pay-As-You-Go -v- Global Initialization
        While easy to understand in Java, the opportunity to initialize data & classes prior to their use is a well known technique.

        Here is a Java:

        static ColorPair[] colors = null;

        static {
        List<ColorPair> array = new ArrayList<Color

      • Criminal Incompetence, or Simply Evil?
        It was time to get another phone. Since I have plenty of Android devices, for the sake of comprehensive R&D testing I decided to get a resource constrained iPhone.

        After I logged into the web site using my 10+ year account, I was told that my new IPHONE 5C would be a free upgrade, wit

    • July
      • UML: Getting Started
        I've no idea why so many software developers seem to be afraid of creating & sharing diagrams. --Not only is a picture worth 1,000 words, but when we work with others to chart-out the things we need to do, a set of diagrams will often save a similar number of defect, meeting, & R&D

      • Making a "Magic Motor"
        Greetings from one man's 4th of July!

        When our clan assembles for the holidays, it usually turns out to be more of a geek-fest.

        If your family & friends are unafraid of jiggling a few exposed wires, then cobbling an easy-to-create "Magic Motor" to

      • How To Java
        Welcome to the holiday weekend!

        Those who know about our "Professional Java" series will be happy to know that (as usual!) with a little time off, we decided to release some more on-line goodies. This long weekend my target was the share the first lessons of my Professional Java

      • Public DNS to AWS VPC on EC2
        There has simply GOT to be a good anagram in the title for this post somewhere ... ;-)

        New to WHO?
        Sadly, the folks at Amazon & elsewhere do not know that Clouds were being enshrined on blackboards & plastic (flowchart) stencils well before the Internet was a keyword.

    • May
      • Let's Get Professional!
        Enough is enough already: Just because one is a new software developer does not mean that one should not know how to design & document what one needs to do!

        Mission: POSSIBLE!
        In as much as I often work with folks who could use a 'tad more insight into what professional soft

      • Dropping that firewall: CentOS & RedHat!
        When you are working on your own cluster - behind your own firewall - then having ANY type of port-security on an on-demand server is just plain 'ol annoying.

        Here is how to allow access to ALL of those ports on your R&D server. -Wherever iptables is 'empestered:

      • The HTML Sandwich
        This morning I decided to take one of my open-source projects to the next level. -By moving it to the 'web, not only would I add spell checking, but better cross-platform & mobilization options, as well.

        The 1-Hour Tech Assessment
        At the time of this writing I ha

      • "An Interview with a Saint"
        Didja know that some readers tell me that I have penned a classic?

        No - the book is not on UML, SQL, Java, .NET, LAMP, or C/C++. If it were, I would not be so willing to practically give the title away. :-)

        Formerly selling for $14.98, we just cut the paperback pric

      • Dynamically Captioned Images
        There I was writing a game designer. Suddenly I found myself in need of lots of new images. -Need-em-now pictures to represent game elements, as well as place holders for future graphical artist imagineering.

        If you also like to use Java's Swing to create graphical user interfaces, t

    • April
      • New Product: Fiark FTT
        What do you do when you have too much energy to get to sleep?

        Some count sheep, some program themselves with T.V, some walk their neighbours cat ...

        Others write software.

        This nights meanderings witnessed the creation of Fiark, a 'ni

      • DIY Soldering Pencil Replacement Tip
        When it came time to replace the COPPER heat-emitter for my thermal-transfer light sabre, I was dismayed to discover that they were nowhere to be found!

        Locating a reasonable IRON tip online, I was just as disappointed that each tip cost approximately 50% of simply purchasing another 

    • March
      • Software Release: The Hershey Font Explorer
        Almost a year after the initial release we have been able to share a version of the Java Desktop Application created to explore, repair, and convert the Hershey Fonts.

        Designed to show-off Dr. Hershey's accomplishment, by way of a bonus one can also review the marvellous

    • February
      • Hacking My Brother
        Little Net
        Like your house, ours has a WIFI backbone. There are hands (sensors), mouths (computers), and nifty things everyone would like to use (printers, scanners, flux-capacitors, etc.)

        Heck, even the new thermostats have a browser interface ever-crying for your registration &

      • BeagleBone Black
        REVIEW: Beagleboard (Beaglebone Rev C) Starter Kit--includes Clear Case--Power Supply--Micro USB Cable (Electronics)


        We recently (and grudgingly) acquired a BeagleBone Black single-board microcontroller. After exploring the device on the behalf of a client, I decided t

      • AboutTime: Maintenance Release
        -Just a quick note to let everyone know that we updated AboutTime.

        Lots of minor updates - consider it a "maintenance release?"

        The most notable change is in that export-file verbiage: We who are used to exporting our weekly status reports will be happy to

  • 2014
    • December
      • The Best Java Developer's Tablet EvER!
        In my personal quest to find the absolute-best portable platform, like others I have stumbled across the Model 100 (two month battery life - I still use it on campouts!), HP-200LX (six week battery life), Sharp Zaurus, Mitsubishi's Amity, Asus's Eee PC, Toshiba's NBs, as well as vario

    • September
      • Installing MySQL Server & Workbench
        In a previous article we praised the innovative way Red Had allows us to rapidly install things like MySQL.

        For the new learner however, note that at the time of this writing that only the MySQL Client (mysql-client) toolset will be installed.

        Service, Please
        If you

    • July
      • Source Code as a Resource
        Loading Lately?
        When it comes to programming, we all know that the term "resource" can mean just about anything. For the purpose of this post however, the term is herein being used to refer to any local file outside of those executable classes we need to run our application.

    • May
      • POJO or ENJO?
        All Java software developers know that the term "POJO" is an acronym stand-in; For quite some time now we have been using that P.O.J.O moniker whenever we wanted to let others know that we wanted to manage a "Plain Old Java Object."

        Often data-laden, the jo

    • March
      • Scalable Vector Graphics in HTML5
        Surely another interesting addition to the modern web is the HTML5 standard's ability to encode Scalable Vector Graphics.

        While new to many, the idea of using vectors rather than concepts such as hints & twips (not that TTF technology is not amazing!) dates back eve

      • Project Csv9000 - A Minimalist CSV Reader / Writer in Java
        There I was working on an export from AboutTime. Because I was using Microsoft Windows on a client-provided laptop, that ever-present copy of (what has become) darth-Excel was also 'empesterd upon it. (How be it that by adding more graphical coolness, that the Microsoft tools are actually becom

    • February
      • Training Videos: Learn Java Today!
        Learning how to speak Java is a lot easier that learning how to speak a foreign language!

        Designed for the complete beginner, you will find that our new Introductory & Advanced Java Training Videos are the prefect way to start learning Java.

        Both educational offerings are

      • Linux: Quick & Easy Backup
        The default way of backing-up files on Linux has left many a new 'sysadmin needing to restore file dates and times. The problem only becomes worse when several sources are to be backed-up.

        Here is a little ditty I use when backing-up multiple directories to POSIX-aware (ctime, mtime,

      • AboutTime Updated
        Holidays are time for family, friends, ... and posting the latest features to your freeware!

        Graphical Changes
        This long-weekend witnessed the share of a few of my favorite recent additions to AboutTime:

        (1) First, note that time-card calculations are now expressed as pure

      • Linkedin asks: "How would you repair a company's mentality"?
        Like changing any single person's mentality, overtly changing an entire company's mentality is surely prone to their willingness to see any need to change.

        While attitude-change at the top is always a good place to start, surely we need to qualify the type of &q

      • Server Setup on CentOS Minimalist
        Back ... to the Future?
        Those who have been using Linux & other POSIX systems for a few decades know that there was a time when there was no GUI. While technologies like XWindows are indeed welcome, some times we want to to make every byte & cycle count. -Why waste the floating-point ti

      • Linkedin: How can my code be faster than STL algorithms?
        Linkedin asks: "Something is wrong and I don't know what. How can my code be faster than STL algorithms?"

        My Response:

        "Many often find that custom code creates faster solutions. In general, generic solutions produce generic results?

        Here your tes

      • Linkedin: Working Less for Better Results?
        My reply to a post on linkedin:

        "Surely - as noted - a good part of strategic thinking often involves simply considering what others are doing / have done. Yet rather than working less, many often find that 'never leaving work' is part and parcel of what most employers are

      • MySQL on CentOS 6 - via SCL
        RedHat offers a nifty little collection of add-on software:

        "Enterprise Linux distributions are designed to be around for a long time. They are also designed to maintain ABI/API compatibility over the lifetime of the distribution, so that you can create your own custom programs on da

      • Filezilla on CentOS 6
        Another essential tool.

        When you see "No package filezilla available", just:

        rpm -Uhv
        yum install filezilla
        That RPM path is h-t-t-p://

      • Virtualbox on CentOS 6
        Well, it is time to leave Ubuntu behind. Not only has the UI become so odd that students are inadvertently deleting files, but the new user interface is - to say the least - intrusive, as well as unpredictable.

        Most of my associates are running either Red Hat or CentOS. -Now we will be do

    • January
      • Oracle: Web Access to Java Applets
        There I was - happily updating to the latest version of Java under Windows when - boom - access to my own on-line applets suddenly stopped.

        Since the red-faced security flaws of Java 6, it seems that our BROWSER Applets are still well beyond any Oracle developer's ability to protect

      • TQFTD - Technology Review
        Perhaps the best thing about being technical is having a mission: A calling - if you like - for doing something constructive with our spare time.

        My personal passion is for creating the technology behind what is required to collect, organize, and share huge amounts of data. Indeed, well b

      • Zombiewatch: Pre-Backup Safety Check
        A friend of mine (all-right - it WAS me :) has been increasingly disturbed by the amount of zero-length files he as been seeing.

        While having a proper backup scheme goes the very long way toward mitigating the effect of data loss, one nevertheless needs to know when bad things are happeni

      • The Purpose of Government
        "At the end of any argument with anarchy is the irrefutable truth that the sole justification for any good government is to protect it's citizens from those who would ignore their democratically enacted laws so as to improve themselves illegally."

      • Another 5-Star Review
        Forgive me for sharing a review, but I only now read a very interesting experience for yet another reader of "An Interview":

        "I am so glad I chose to read this book as I wanted to read something with spiritual meaning as was lacking faith in myself and I wanted to assess my

  • 2013
    • December
      • Man -v- Pig
        Whenever something is slow, unwieldy & wallowing in muck, colloquial English has reserved an animal cat-call for us to use... Never as responsive as stand-alone Map Reduce (well, in production at least!) such is obviously the legacy for Hadoop Pig.

        Yet while Pig is indeed

      • New Project: Hadoop9000
        For the benefit of folks who will either be taking our Hadoop training, or are interested in having a copy of the latest stable Hadoop (a copy that they can debug / tweak / re-build on-their-own), then we just created the "Hadoop 9000" Project.

        Weighing in at 3.5GB, the VirtualB

      • Setting-up Hadoop 2 on Linux in 3 Easy Steps
        When the time came to pick a 'distro for use by our Hadoop students, because the Hortonworks VM was using CentOS (love it), just to round the student experience out a bit I decided to use Ubuntu.

        Hadoop 2.2.0 is still about Java. If you are thinking production, be sure to

      • Linux Disk Dump (35MB/Sec)
        Last week I noticed that my main drive was showing some classic boot-up warning signs. Rather than risk another 4 hour re-install session (followed by an 6 hour content restoration), we decided to get a 2T Toshiba backup drive.

        It arrive skewed. After checking around, lots of my friends

      • F-Word: Our Greatest Happiness?
        Linked-in: HELP! I Got Blamed for my Co-Worker's Mistake

        Life is a long song. I like to remember that success is not Final; Failure, seldom Fatal.

        Through it all, I try to remember that peace is only obtainable by remembering another F-word. (No, not THAT one ...;)

      • HUE File Browser Exception / Error
        Those who are using HUE on the HDP 2 (and probably elsewhere) will - from time to time - see the annoying "Error 113 - No route to host" Exception:

        WebHdfsException at /filebrowser/

        <urlopen error [Errno 113] No route to host>

        Request Method: GET
      • Hadoop 2.2.0 in the Hortonworks Sandbox (HDP 2)
        For the benefit of my fellow Hadoop-ies, as I work thru the evolving coolness of the Hadoop User Experience (HUE) under HDP 2 I wanted to pass in a few observations by-value.

        Use Java 6
        While we could use Java 1.7, note that the following message means that we had better not use the

      • PC Signaling & IPC Efficiencies
        Linkedin: Observations on Qt Signalling:

        Qt Design Lamentations
        I still do not understand what was wrong with simply using structs... Indeed, even when it comes to IPC, savvy consultants have always liked marshalling such things into XDR/RPC packages.... Allot like "Bundles"

      • Hadoop, Ununtu, and Maven ... Oh My!
        Light Musings
        While I am indeed gratified that my blog helps others out, from time to time one cannot help but to wonder if it is more about self-documentation ... One never knows when the same path must be trod!

        Oh well, no matter if others have staunchly refused to upgrade their &#

      • How do you work with people who are against change?
        Linked-in Asks: "How do you work with people who are against change?"

        My Response: "Much as mentioned elsewhere, in my experience far too many people resist change simply because they have not been involved in the process. Also, another best way to turn a negative stakehold

    • November
      • Sourceforge Project Meltdown - Stay Tuned!
        With the stroke of what we can only assume must be an ignorant or arrogant pen, all of the "old format" projects on have be destroyed.

        What was Lost
        In short, as of this very week gone forever are most of our classic programs, project files, project descrip

      • Better Learning Experiences
        When creating training, I note that it is much like any other creative process: Begin with an outline. To modernize the process, we must also note that video training is all the rage.

        Simple training-creation process review:

        (1) Make an outline.

        (2) Select the key t

      • Time Sheets? About Time!
        How do you spend your holidays?

        Yea, well ... we awoke way too early this Monday-holiday morning inspired to share our latest secret weapon with our friends.

        Known as "AboutTime", fans of EzLog have been asking about what we were going to do with the pre-r

    • October
      • How To Be Happy
        LinkedIn Asks: "Why do so many people hate their jobs?"

        Working backwards: If we want to be happy - we do our best. If we want to become great - we keep doing so?

        Surely most of us were not "born to be" doctors, lawyers... or even 'geeks. In

    • September
      • Project Planning & UML - YouTube
        We put these videos together before our blogging activities:

        The first video is perhaps the most easy to understand. A great overview and to-the-point discussion, we call it a 'UML Primer:'

        The link is: Open Source Introduction to UML

        The more detaile

      • You Might Be an Entrepreneur If...
        We were happy to give our permission to use a quote from a recent thread on Linked:

        The final presentation was epic - we thought you might enjoy it.

        Here is the presentation.

      • Minuteman: Defending Self = Protecting Others?
        You might have noticed that - by definition - a terrorist is often outnumbered?

        Indeed, when EVERY SECOND can save the life of someone you love, the problem surely is not that a bad guy has a weapon, but that ordinary citizens ... do not?

        A well-armed citizenry firing back (1)

      • LinkedIn Asks: Why Don't You Delegate?
        "Delegation is about trust. -It is also about care & competence.

        Delegation also often pre-supposes that we want whomever we delegate TO, to be able to grow so as to to fill bigger shoes some day?

        So if one is like the rest of us, then we genuinely * WANT TO * delegat

      • EzLog4J 3.01
        It's About Time
        Anyone who develops software in their spare time knows that the choice over how to spend that time is often budgeted between re-testing, or adding cool features.

        Testing Word
        Indeed, as we consider how tighter security is causing many programs to

      • Gracefull Java Inter-Process Communications (IPC)
        After reading yesterday's article, those who remain curious over how to properly manage IPC on Windows & POSIX might enjoy our new, simple, Framework. (Note that the source code is included in the download / jar file.)

        "The IpcStringReader Class will monitor the

      • Java IPC and Microsoft Windows
        Since the 1970s, folks in the C World have long been enjoying the benefits of "piping" things between processes. Piping is easy, it is fun, and (with a single invocation work-around on Microsoft Windows) piping works pretty much the same everywhere.

        While we have been able

      • GWT + PHP = Client + Server
        Much like GWT, I have been thinking about wrapping-up PHP in Java's toStirng() to manage our server-side PHP for a few months now. ...

        Before I started yet another Open Source Project (something to complement PHP CRUD), today I am happy I discovered GwtPHP.

        Like myself,

      • LinkedIn: What causes a company to fail?
        (see "related link", below)

        "No matter how we choose to define "failure", there seems to be three common causes:

        (1) I believe that the number one reason why companies fail today is because few know how to recognize talent & promote from within. An

      • Sharing a "Business Success" Secret (Before I forget It!)
        While I wish I said it first, when it comes to understanding the best key to financial success, the quote "find a need, fill a need" always comes to mind?
        Honestly, in our time of social-media opportunities, perhaps none of us should be suffering from a cash-flow problem. --What we ty

      • Professional Idea for the Unemployed
        I like to keep in mind that at the heart of any employer / employment agreement is the concept of providing value. A good day's work, for a good days pay? Certainly, all "survivor" -style politics aside, the more we give / know, the more secure / geosynchronous we can be?


      • Crowd-Funded Democracy?
        My Congressman reports:

        "Last week, I joined many of my colleagues on a bipartisan letter to President Obama, requesting that he receive Congressional authorization before ordering U.S. military action in Syria. I appreciate the President's decision to respect the role of Congre

      • How to turn a Call into a Client?
        LinkedIn Question: "Those of us who provide expertise for a living, do you have a concrete path you follow with each new prospect to convert them from a person making an inquiry to a paying client? Do you use a written proposal, letter of engagement, or agreement of some sort? Or do you just te

    • August
      • Ubuntu 10.04 LTS & LibreOffice
        Collected from various sources, please allow me to consolidate my notes on how to REPLACE the default version of OpenOffice - as included with Ubuntu 10.04 LTS - with LibreOffice.

        Removing OpenOffice
        In order to avoid crippling programs that require spell-checking (like FireFox), one

      • A "Big Box" Custom Build - The Shape of Cool To Come?
        If you have ever wanted to build the hottest custom computer, but did not envy the prospect of working next to a bonfire, then I have some great news: By way of recovering from a recent series of unfortunate events, yesterday we cobbled together an 8-Core AMD big-box leviathan, and the build is cool

      • Go Green - Get Support?
        After a few decades at any activity, one can stand back & see many patterns. Indeed, after a few dozen years of collecting computing equipment, one can be amazed to see which solutions are still in service. -One might also rightly feel astounded over the sheer number of others that -by now - hav

    • July
      • EzLog4j - Improvements
        A quick note to let everyone know that EzLog4J has been updated.

        Nominally downloadable as "EzLog3", the progress toward "AboutTime 1.0" continues.

        From a professional point of view, by allowing us to quickly categorize our project-related activi

    • June
      • Reasonable Rate Calculator Updated: 2013 = 2012
        Data for 2013
        The verdict is in: It looks like our Per Diem Data for 2013 will be the same as 2012.

        Brief Woe
        Yet, things do indeed seem to be getting more expensive?

        Even so - here is the update for the Reasonable Rate Calculator.

        Don't forget the ai

      • Waterfall & Agile - Can't We All Just Get Along?
        Big Need
        Working with the Pentagon, one discovers that planning works like any other big business. There is a very real need to let people who are giving you lots of dollars know what they are going to get for their money.

        Indeed, from DoDAF to UML, the designs we generate - as well

      • New Training from
        Critical-Path Learning
        We are pleased to be offering several new training opportunities:

        1.) Training on Testing Topics

        2.) Training on PHP for Developers

        3.) Training on Microsoft C# for Developers

        4.) Training on Microsoft VB.NET for Developers
      • Java Clipboard Woes on Ununtu
        Here is a classic tao of software testing - run it once, and the test passes. Right?

        Well, by way of a VERY hard to find testing oversight, here is a bug under Java on Ubuntu. -The test works great the first time. Run the EXACT same test again and ... Boom! --Life suddenly gets mysterious

      • Policy Permission: Copy & Paste in Java
        Sure I love C#, C/C++, Delphi, VB.NET, JavaScript, Ruby, and PHP, but in my spare time I write allot of Java.

        Why Java? Because when it comes to sharing, be it via applets or applications, Java simply shares allot father.

        Yet across the globe, folks who are used to being able

    • May
      • New Look for EzLog
        One knows that one needs to make something easier to use when YOU find yourself wishing it were so...

        Perhaps that is why we software developers always have the best tools?

        After a little thought, it occurred to us that even a time tracking tool might do well to us

      • Technology Tips for 2013
        I was asked to come up with a handfull of trendy tips for IT Professionals.

        Here is the short list.



        --- Nagy's Top Tips for 2013 ---

        “The realm of continuous integration is putting a great deal of pressure on software developer

    • April
      • Drawing Points On A Line
        Certainly the idea of drawing a simple line is well supported by just about every graphical framework. What is less sure is the ability to enumerate through a set of points so as to choose just which points we are interested in.

        LineDDA For Java
        While the technique pre-dates Microsof

      • Backup & Restore Dates & Times under Linux
        Here are two single-line scripts to save + restore the date & times of files + directories under Linux:


        find / -mount -print0 | perl -ne 'INIT{ $/ = "\0"; use File::stat;} chomp; my $s = stat($_); next unless $s; print $s->ctime . "/" . $s-

      • "Doctor Quote" Scores Another Award
        Doctor Quote scores another 5-Star award ... and this is for the old 1.0 Version.

        I think the official tally is up to about 50 awards so far - even got one from PC Week & Simtel a few years ago.

        Techy Note: Wrote it, as wel

      • SOA ... The Easy Way!
        Any tenured resource knows that when bandwidth is not an issues & metadata overhead is necessary to formally define services, that SOAP is best. There are also times when a more efficient encoding with an implicit endpoint CRUD strategy makes REST a better choice. But for the majority of what th

      • BEST: Official Definition "Web Services for the Rest Of Us"
        TheServerSide is interested in BEST.

        BEST is also mentioned (by request & approval) in a few videos put together for a University this week.

        We were also asked to create a definition - the following is coming soon to

        "BEST (Business / Enterprise

    • March
      • New Java Resources
        For those who are not part of this weeks class on Java, feel free to ignore this post.

        For everyone else, in order to demonstrate a few Java 7 annotation concepts, Friday’s labs will require additional libraries:

        Java 1.7: SDK 7.17

        Spring: Version 3.2.1

      • Technical Staff Ascessments - Good or Evil?
        I make my living training & consulting on extremely technical topics. One would think that I would want everyone in the world have their technical staff analyzed. -Yet, when the topic came up linked-in recently, a sense of enlightened self-interest - rather than brutal-self interest - simply had

      • EzLog4J Updated - About Time Started
        One of the nice things about owning our own time is that, in-between bill-paying activities, one has the ability to make cool things for others to use.

        For me, I am finding that the more busy I am, the more I need EzLog:

        You can download the latest version from Sour

    • February
      • BEST - Web Services for the Rest of Us?
        In the world of computer technology - as everywhere else - there is Knowledge, and then there is Wisdom.

        Of course, Knowledge is simply knowing something...

        Wisdom ... where & when to use it?

        Problem Domain
        While SOAP & REST -based web services are grea

      • New: ClassIO Code Generation Applet
        We recently decided to post applet versions of some of our projects on the main site.

        In addition to our "Reasonable Rate Calculator", "Time Machine", and "JVM Speed Test", today we added ClassIO to the list.



      • EasyHTTP - A simple design for Java GET / POST
        With all of the hoopla over Web Services, you would think that servicing user requests over HTTP was something new.

        Well, we all have lots of experience with REST, JSON, XML, SOAP, WSDL, HTTPS, and even EDI ... but at the end of the day, it all comes down to legaci

      • PHP EzLog?
        I am teaching a class on Advanced PHP today. Was surprised at how much we all enjoyed a simple logging demonstration:

        * Just ezlog a message to a file.
        * @author profnagy
        class logfile {

        var $defaultFile = 'default.log';

      • UML & Hadoop
        What the "H"?
        I first bumped into Hadoop in 2010.

        While Consulting at the Electronic Proving Ground (EPG) as the Technical Sections Leader, our section was exploring ways to digest the the terabytes of data captured from a typical battlefield. Simulation.


      • Dot-Bomb Developer Woes?
        Those of us who have been writing software for any length of time are becoming distressed by the army of - what seems to be increasingly - blissfully ignorant, if not implicitly arrogant - software maintainers.

        Harsh Words?
        Indeed, from completely alienating decade-long users from e

    • January
      • New Features for EzLog for Java
        While working for the client mentioned earlier, we found ourselves starting & stopping tasks. So much so, that even a spreadsheet was being challenged to create an invoice.

        That was the bad news. The GOOD news was that we had a real & present excuse to add another feat

      • Ezlog4J - New Release
        Why The Release ...
        I was recently involved in a very intense update of training for a Web-Server product. -Not only did the product have numerous new features & bugs, but my client wanted us to keep a journal of everything we were doing.

        Blowing the dust off of an internal relea

  • 2012
    • December
      • Database + Java + NetBeans = Cooler-er
        It is Sunday … time to take a moment & share a few techniques!

        This time-round, someone may like to learn how to use a database under NetBeans?

        In-the-past we have shown how to persist data using everything from XML POJO Encoders / Decoders, CSV, and Hibernate

      • Capital has been described as ...
        From the EBook of International Finance:

        "... Capital has been described above as money put to certain purposes. This was done for the sake of clearness and because this definition fits in with the facts as they usually happen in these days. Economists define capital as wealth reserv

      • Drag & Drop, HTML 5, and jQuery
        HTML5 has a lot to offer. From new tags to embedded media support & drawing on graphical canvases, much more is afoot than simply levelling the Web 2.0 playing field!

        So it was as I was recently teaching a class on jQuery. While drag-and-drop is surely part of the HTML5 bag of tricks,

    • November
      • Installing Tomcat - Eclipse & Windows
        Step 1: Get Your JDK
        Before doing "anything Java", we need to get the SDK.

        While we are surely using JEE (Tomcat!), the plain old JDK is all that is required - indeed, because the JEE SDK + JDK packages install Glassfish as well, to the uninitiated, installing yet another

    • October
      • Hibernate: Flush -v- Commit
        Once again, the question has been asked - Must we only use transactions with Hibernate?

        The answer is no!

        Indeed, assuming we have run something like the following:

        drop table "NAGY".ACCOUNTS;
        create table "NAGY".ACCOUNTS

      • MyEclipse: 123 Hibernate!
        Anyone who has been hanging around .Net for a while knows that the Framework has a tendency to "borrow" ideas from anywhere ... and everywhere!

        Indeed, far from being original, the sad truth in our day is that achievement in most industries today is far more about imitation, th

    • September
      • XML IO Using Generics - Before Java 1.7
        In as much as we often teach students who are using an older version of Java, we decided to put together another demonstration. -An example that can readily be targeted for earlier versions of Java.

        Remember - the use of Java Serialization is NOT required. In order to use the XML serializ

      • XML IO Using Generics
        When it comes to reading and writing Java-hosted classes, why not use generics?

        package com.soft9000.file;

        import java.beans.XMLDecoder;
        import java.beans.XMLEncoder;

      • Jacked-in WiFi Support: A Fix for ALL Operating Systems
        Anyone who has been loving Linux for any length of time knows the pattern: You have a cool device. You hack the kernel to get it working, only to have it fail on an upgrade.

        Hack, upgrade, fail; fail, upgrade, hack. --It is enough to make you want to go back to CP/M... Then, one day, jus

      • Windows Update: Error 0x8024400A?
        Deja Foo
        My son came to me - yet again - with another slow, virus infested, computer. --So for what seemed to be the 10,000th time I wiped it, installed the factory disks, and went to Microsoft Windows Update. ...

        Ooops! Error 0x8024400A!

        Unusual Fire-Drill?
        Amidst an

    • August
      • Beyond "Project | Clean" - Troubleshooting those Strange Eclipse Problems
        When using Eclipse, from time to time the following type of article is worth a bookmark:

        "In my time helping people with their Eclipse installs I have seen time after time situations where a crash of Eclipse, the VM or the computer or even just long months of development have started

    • July
      • Sunday Learning: GWT
        I don't know about you, but making a week more enjoyable often involves deliberately adding a special day.

        For us, we like to be sure to have one day set aside for discovering and / or mastering new ideas.

        In as much as a lot of things often need to get done on Saturday,

      • New Release of Derby & Eclipse
        Last month was certainly a red-letter celebration! Why? Because - for most of us Java enthusiasts - we were blessed with both a new release of Eclipse (from Indigo to Juno), as well as a new release of Apache's Derby SQL Database.

        Eclipse Juno is cool enough. Despite th

    • June
      • Java Serialization: Understanding the 'Transient' Keyword
        Created for the benefit of a class we are teaching this week.

        I thought we might share the results with everyone else.

        Of course, the first thing to remember is that - in order to avoid R&D problems when rolling most objects - that most of us will want to explicitly use a s

      • An Interview with a Saint & Mighty Maxims
        Here is a free copy of my 15th book: Known as "An Interview with a Saint", this 150 page read is enjoying 5-Star reviews on

        I also penned a book designed to help make our day a little brighter. If you have $2 in change, then you can toss the coins about your domicile

      • Enumeration -v- Exception?
        From 'enums to templates, both Sun/Oracle and Microsoft continue to learn allot from C/C++. Just as certainly however, many an old C/C++ 'hand will find allot of cohesive design patterns in Java, too.

        Some ideas - like separating our 'readers from our 'writers - are g

      • Taking Stock from
        From the corporation to the cloud, today more and more people are talking about "Web Services." Indeed, whilst most folks understandably feel that GET, POST, and HTML have certainly been serving us all rather well, the hottest trend in recent memory is to provide XML-based Web Services.
      • Robocode - Works for Me
        Trying to get the guys off of the couch, and into a profession this summer?

        Then try RoboCode. Classically for Java, the game has been expanded to support .NET, too.

        "Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other t

      • Summer-Time Stark
        Now HERE are some great ideas - The NE555 chip is available at your local Radio Shack for $. -I get mine on eBay for as little as $0.15 each.

        A handful of caps and resistors are muy barato, too.

        --Great summer-time fun for your would-be Mr. or Ms. Stark ... for un

    • May
      • Social Security Abuse: A New Low!
        By now surely we all know that using the social security number (SSN) as a form of identification - as specified in the original social security act - is illegal.

        Unlike the modern crop of career politicians, for obvious reasons our ancestors found the practice of allowin

      • Learn how io Program with VB.NET
        The summer is upon us! -If you have kids who love to sit in-front of a computer playing games (or, "if you have boys?"), then I wanted to help you help our future GNP.

        How to brighten your economic future? By simply taking a moment to discover a way to 'encourage' you

      • Virtualization, Windows 98, and Java - Oh My!
        Lots of folks just LOVE those old Microsoft Operating Systems. Be we looking to play a classic game, run a licensed application, or simply enjoy the ability to use Windows 98 and / or Windows 2000 much like we would any activation-free operating system, having the ability to "just boot it"

      • Java: Custom / Owner Drawn Listbox Woes
        In Java, many things are difficult. Some things are easy.

        Interestingly, sometimes the difficult things seem to work better than the simple things!

        Take, for example, the need to draw a custom listbox. Unlike much of the rendering framework, the task starts out deceptively simp

      • Publishing VB.NET Training on YouTube
        "Designed for the total beginner, this VB.NET Boot Camp is the first segment of a multi-part presentation. In this first session, we will discover how to write Visual Basic .NET (VB.NET) Programs from the console - other tools not required!


        Targeted to help new so

    • April
      • UMM02: Sharing Ideas on Project Planning & Management
        Here is the second and closing session (after UMM01.) This final session includes discussions around high, medium, and low-level best software design and project definition / team building practices. -Ideas leading to an introductory review of the most commonly used UML Diagram types.


      • Bench Mark One: UML Primer, Project & Video
        Our quest to put together a cross-platform CPU Benchmark tool in Java resulted in several educational opportunities to share.

        The project leverages Whetstone, with Linpack a near possibility. I used it to compare JVM, VM, browser & operating system performance.

        The project

      • Sharing Ideas on Project Planning & Management
        This is the first part of an overview of modern software development practices.

        Technology neutral, this first segment is designed as a review for project leaders. This opening segment includes optional discussions on the need for mission statements, problem assessments, gap analysis, ri

      • C++ - The Novel
        I was reminded the other day that not everyone has decades of C/C++ experience behind them.

        For the benefit of those who tend to think that mastering an API (let alone OO!) is beyond them, I have a book to go along with my C/C++ Project.

        Without further elaboration (you know wh

      • JAVA: We Can't All Just Get Along? Hooray!
        Simple Enough?
        It is difficult to understand why companies like Google and Microsoft trampled upon the Java standard. Indeed, while the rush is on to provide "rich media" on the Internet, if Microsoft would have kept their promise to Sun, Applets would have evolved into Silverlight lo

      • Virtual Box Broken
        For everyone who follows this blog (you both know who your are =-P) we just discovered that Oracle's Virtual Box (was 4.1.10 this morning - is now 4.1.12 as I write this - we can all surely relate to that type of effort!) is broken. It seems that the shipping version is no longer able to import

    • March
      • UML Primer Updated
        Just a quick note to let everyone know that I just updated the UML Primer on YouTube. I wanted to increase the volume so as to re-use the video in a class we are teaching next week for the U.S. Army.

      • Faster Field Support using Enumeration & Arrays
        The humble 'enum' has come a long way. --Indeed, when I first taught the 'enumeration concept' (i.e why use numbers, when you can use names) a few decades ago, I was using C/C++.

        Today both .Net and Java have their humble 'enum' equivalent:

        enum co

      • Colorized JSR Listing
        We went looking for a list of active Java Specification Requests (JSRs) today. Specifically, we wanted to see which ones were okay, listed alongside of which ones were not.

        We did not find what we needed, so we decided create a colorized listing of active and 'retired' JSRs for

      • Voice, Text, and HTML Logging
        Just a quick note to let everyone know that we just updated EzLog for Java.

        Here is the project. (

        EzLog4J now has the ability to capture voice notes, as well as our traditional Text and HTML meanderings.

        Tested just fin

      • Order Of Operations
        When we set our layout *after* we have added our components, we do not need to use any of the size-oriented (setSize(), setPreferredSize(), setMaximumSize(), setMinimumSize()) operations:

        import java.awt.CardLayout;
        import javax.swing.JFrame;
        import javax.swing.JLabel;
      • Analog Clock - Combining two examples
        Went looking for an analog clock today. Found a nice one, designed for a Java Applet.

        Converted it to an application - it was blinky, so we mixed-in another example.

        Tried to share the result with the author, but the comment / post was too big.

        Because I think Mano

      • Quick PHP Persistence
        Easy Enough?
        One of the reasons why SQL databases are such a performance bottleneck in modern enterprise systems is that people store absolutely everything in them. Indeed, over the decades I encounter more and more blank stares when I respond to queries by telling friends that - even given the

    • February
      • PHP CRUD - New Project
        Decided to share this one:

        Today many say that "CRUD" stands for "Create Retrieve Update and Delete." While fine for an SQL mindset, many old-timers got used to the acronym standing for "Create READ Update Delet

      • It's about time ..
        If you ever need a simple way to manage a sortable, logical, human-editable day & time representation, then I cobbled yet another one together from the com.soft9000.DateInfo and com.soft9000.TimeInfo classes this morning:

        package com.soft9000.dates;

        import java.util.C

    • January
      • Banman: An easy way to protect web content
        We just release a new project. Know as "Banman", the project is designed to stop robots from stealing web content.

        Uploading the content of the zip file + renaming index_example.php to index.php will create a complete web site experience.

        By default (*), logs are sto

      • PHP = Fast & Cheap?
        Okay - I admit it - I am careful. So careful in fact, that what our CLIENTS pay us to do from 9-5 is pretty much the OPPOSITE of what we do on the weekends.

        The difference, I suppose, is time. Unlike many, we simply have no time to keep doing things over & over & over again...
      • Parsing JSON using GSON
        IMHO, Google is fast emerging as the coolest mecca for plus-one innovations. -From Android (+1 on Java / Blackberry) to GWT (+1 on CORBA / XDR), there is simply no better place to watch savvy engineers "embrace and extend" several time-proven ideas.

        Such is the case with Google&

      • WPF Styles and Resource Dictionaries
        While XML might seem far too typeless, when using Visual Studio - by virtue of the XAML Compiler - nothing could be farther from the truth. Whilst we either drag-and-drop, or type, our applications together, Visual Studio validates the XML for us:

        <Window x:Class="Assembo01.MainWi

  • 2011
    • December
      • JDK Issues - JPanel
        X11 Errors
        There I was - poised to release another version of "The Sierra Bible", when we noticed - yet again - that not all Java Implementations are equal. Each have their own problems.

        In this case, a buglet we were stalking came down to how The Sun 1.6 JDK implemented th

      • Easier Hourly Rate Calculation - 2012
        I had a few moments today to update the "Reasonable Rate Calculator."

        Note that we kept the PHP version in there for those who do not have Java.



      • Easy Backgrounds for Android
        I have developed a great respect for the developers of the Android Graphics Framework. Why? Because it is obvious that the developers like to use their classes, themselves.

        It's Ragu!
        Indeed, from doing complex things like affine transforms, to even simple things like measuring

      • New Pascal Strings for PHP
        New Pascal: We use it in Java, .Net, and C/C++ - I even used them in the 118,000 recipes we have on this site.

        Now is the time to share!

        New Pascal Strings
        Perfect for when we need to quickly index / save large "heaps" of textual data - or when we need to commun

    • November
      • World's Simplest Source Code Formatter?
        Formatting code need not be tough. Indeed, when it came time to write a simple brace-based source code indentation-class for ClassIO, here is what we came up with:

        package com.soft9000;

        import java.util.Formatter;
        import javax.xml.bind.DatatypeConverter;


      • Reading, Writing, & Converting between XML, TDF, & CSV
        Just a quick note to let everyone know that a new release of ClassIO is out:

        ClassIO is a command-line tool (executable JAR) that allows us to quickly create POJOs. Java Source Code that can create, read, update, and save arrays of o

      • Parsing CSV
        Too Many Newbies?
        Call me old fashioned - but to-date there is simply nothing more efficient than a 1970's transaction!

        Oh sure, XML is great for many things. -But for pushing data between mainframes it is about as fat and chatty as a 400 pound valley-girl. Might the

      • Android, Eclipse & Ubuntu
        We Love NetBeans
        My friends and I learned how to develop software for Android on NetBeans. -While far from the usual path taken to Android 'Nerdvanna, since we have started training on Android, we have been increasingly reverting back to bad habits. We have been using Eclipse.


      • Color Enforcement in Swing
        Santa's Clothes
        When a local charity asks one to be Santa Clause for the season, the first thing to do is to consider the audience.

        In as much as this charity's audience consisted some affluent, yet also some very poor children, it was for more reasons than for my geeky-gi

      • Angry Buddha Springs?
        Loco Motion
        Well - true to form - yet another game is sweeping the blogs today. We see it on FaceBook. We see it on Android. We see it on T-shirts in Wal*Mart.

        -What was even all the buzz at summer camp this year? Angry Birds, of course!

        One of the fun things about AB is

      • The Neat Odd-Job Namesapce for C++
        Just a quick note to let everyone know that we had a moment to update the STDNOJ Namespace on

        Because we are working on for-profit commercial software applications once again, we have been switching from Java, back to using C++. Also, since we have recently switched from

    • October
      • System of Systems
        Writing quality software is an expensive, time consuming process. Once tested, packaged, and accepted, software created by the best developers is not only usable, but maintainable as well.

        Interestingly, when creating reusable components today, few think that it is possibl

      • Intergalatic Julian Dates
        It's A Date!
        As you might imagine, someone who writes robots designed to automatically mange opt-in content or daemons - designed to run unattended for decades - might have some relatively interesting time and date calculation requirements. Indeed, when tracking appropriately-recurring day

      • ClassIO 1.2 Released
        Just a quick note to let everyone know that we just released another version of [ClassIO]. Still a Java tool, but we plan to create one for C# as time permits.



      • Generic Object Placeholders in Templates
        I am reminded that it is good to remember that we can use templates to take advantage of "isa:" In C# and Java specifically, since all classes are reference types (object pointers), the universal object-placeholder is Object. From a template's point of view, Everything 'isan'

      • C#, C++, and Java: Types, Templates, & Parameterized Factories
        Too Much Knowledge?
        For the tenured C++ developer, both C# and Java have their thrills - as well as their chills.

        For many, one of the chills can occur when your templates are prematurely inspected by that Java or C# Compiler. While absolutely similar to C++ in many ways, in other wa

    • September
      • Installing Ubuntu on the iMac G3 PowerPC (PPC)
        There is something truly wonderful about keeping those old computers doing useful things. -So as everyone from Apple to Microsoft encourages us to chum our old hardware into the ocean by dropping support, I find more and more reasons to convert them from Windows, OS 9, or OS X, to Linux.

      • Simple XML Serialization
        Having formerly been a Principle Software Development Engineer at Informix - the maker of the fastest database of the era - I can say that many senior folks simply *HATE* the way people use databases today. -Not only do folks use them to store everything from web-site logging to SOX tele

    • August
      • Of UML, VISIO, & Developers?
        When is a scenario, not a scenario?

        When we are using UML under VISIO, of course!

        If you ever have received the message "Shape protection and/or layer properties prevent execution of this command." under Microsoft Office VISIO (Version 2000 – 2007, to present?), th

    • June
      • WebPing 2 Released
        WebPing Overview
        Today a lot of the more “affordable” web hosting companies do not use the ping service. Even more insidious, even when the ping program might seem to be working properly, more often than not an RFC Ping Request is in reality being re-directed to another server. -A server ty

    • May
      • XML Serialization for Java
        I wanted to share the following article - it is an excellent overview of the history of Java Serialization as well as an unusually good overview of using XML with JavaBeans.

        Along the way, Mr. Winchester also whets the appetite for learning more about using XML for the serialization for

      • Cognetic Word Lists
        The Problem
        They annoy everyone - people who think they are smart by putting a few words together, then handing out a do-noting web site to sell the combination. Doh!

        Cyber Nuts
        No matter if they are grabbing your ideal name before you think of it (cyber squatting), or after you

    • March
      • Java Threads in Android
        Android Threads
        Those looking to port threads to Google's Android Operating System are often frustrated: While the classic thread classes are there, using threads in your application can cause some pretty tough-to-debug problems.

        Indeed, while 'googling around the 'net

      • Unit Testing Today
        In 2009 and 2010, the United States Army asked me to write several papers on modern software capabilities.

        Inspired by what I discovered on recent unit testing advancements, I have written an article on unit testing. One that I would like to share:

        [ Unit Testing Today ]

      • Java Processes - Java Jive?
        Our quest to find an elegant solution to the random Platform / Process hang-up (zombie) read-problem lead to the creation of an Open-Source Project.

        Cross-platform and easy to re-use, you will recognize some of the following code as par for the Microsoft Windows & PO

    • February
      • Don't be a Monkey!
        Another Chimp, Chump?
        I do get SO tired of the monkey-shine. (No, this time I will not treat you to yet-another politically-incorrect pseudorant on neo-politico-religious values. Un-uha.)

        What has gotten my goat during lunch today is yet another clueless company. This one, a computer

      • Cosmos Screen Saver
        Ah, for the days of Carl Sagan - when the threat of national socialism, global warming, and removing funding from the arts and sciences seemed to be a problem for a republic far, far, away...

        While this note has absolutely nothing to do with the late, great cosmic scien

  • 2010
    • December
      • Incrementally Backing Up Changes to a USB Drive in Linux
        Saving Changes Anywhere?
        Whenever we want to back up a Linux file system to a FAT / FAT32 file system, strange things can happen!

        The need was to help us incrementally, and recursively, back-up file changes made during the past few days to a huge USB drive. -Since FAT partitions do n

    • February
      • The Ideal Company Structure?
        LinkedIn Question: "How do you see an ideal structure of IT company? Who reports who? What's the most effective division?"

        Response: The problems I see today have far more to do with leadership, motivation, integrity, and ability than with the enforcement of any static hier

  • 2009
    • October
      • Sharp Objects
        It was late. So late in fact that there was no-one standing anywhere near me in the security line.

        That fact, coupled with my unfortunate tendency to arrive hours before my departure time (so I can write freeware or articles like this one), meant that I had time to spare; Ev

    • September
      • Sierra Bible Released!
        Just a quick note to let everyone know that I have decided to share a little ditty (one that I worte for my own use), with the rest of the world.

        Know as The Sierra Bible[tm], I hope you will find it as useful as I do.


        -R.A. Nagy

    • August
      • What A Change!
        Want a REAL change for our country? Then forget the "alpha male" scandals, ego, spin, and deficit spending of the last 20 years and check this out:

        "Harry Truman was a different kind of President. He probably made as many important decisions regarding our nation's hi

    • April
      • UML, MDA, & Code... Oh My!
        From yet another LinkedIn discussion:

        It seems that the more companies try to turn software development into a mere assembly-line process, the faster their software falls apart. While code generators can indeed pump out that software, I have discovered that there is ever an art

    • March
      • Tivoization
        Attention Open Source Authors: If you have not been keeping up with the latest motivation behind the GNU General Public License (GPL 3), then you might want to tune-in to the current debate, as sparked by TiVo's success.

        Having supported Richard's movement in code, prose, and af

      • Hourly Rate Calculator
        I woke up this morning with an idea: Why not cobble together an hourly rate calculator? One to go a long with that "What To Charge" article?

        So here it is: If you would ever like someone else to do the math for you, then just use this consultant's CalcYouLater.

      • What To Charge?
        After I wrote this article, I felt inspired to cobble together a utility to do these calculations for us. So after reading the following, you can click here to try it out.

        Note that if you use the tool, then a donation of $1 or so would be a nice way to say 'thanks'.

      • Who-Do -v- Who-Design?
        The software world is far too often torn between the 'fear of design' versus the 'fear of implementation' camps. Unfortunately, in tough times, quality - or deliberate, maintainable architecture and design - far too often takes a back-seat to the 'just do it'

      • Resume Robers!
        In a previous post I wrote about the horrors of being employed by people who do not respect our countries notion of what an "employee" is. Far from complying with the IRS regulations on what it means to be genuinely "employed", today hosts of unscrupulous people typically employ

    • February
      • SOA Meltdown
        Hariharan asks: "Can SOA predict slowdown?"

        Response: Most can predict a slowdown for large companies who use SOA. Indeed, using the modern definition of an XML based service, SOA itself is inheritantly fat, chatty, and slow. Using a more broad definition (i.e. octet-optimized s

    • January
      • Blinking - Part One
        I would like to thank IBM's Jeffery Cohen for helping me get this model working under Rhapsody. In as much as we both had better things to do with our time, I appreciate his willingness to go that extra mile to " eventually " give me exactly what it took to make it all work properly!<

      • The Daily Crumpet Newsletter ...
        ... is back on line!

        For the geeky, note that The Daily Crumpet Newsletter PAGE now uses PHP.

        Using PHP allows us to keep track of, and to manage, a lot of information every time someone views the newsletter.

        Thanks for staying tuned!

        R.A. Nagy

  • 2008
    • December
      • Carpe Vous!
        "He only earns his freedom and his life
        Who takes them every day by storm."

        ---Johann Wolfgang Von Goethe, from Faust.

        This quote contrasts an innocent practice many find a bit curious. Rather than telling our friends to 'take it easy' as we depart, wh

      • Rhapsody Examples + UML Use Cases
        Off to a Shaky Start?
        This first thing to be aware of when using Rhapsody is that *it matters* how you start it! If you are using Rhapsody in C, do not start a new project in Rhapsody for C++ or Java. (The rest of that truth table is also true!)

        While that observation might sound mor

      • Introduction To Modeling & Rhapsody
        Wherefore Rhapsody?
        For those of you who might not know much about it, Telelogic's Rhapsody is a Model-Driven Architecture (MDA) way of bringing UML Models to life. Recently acquired by IBM, Rhapsody adds a decidedly firmware / embedded flavor to the avid C, C++, or Java developer's t

      • Who are they paying for, anyway?
        Bleeding U.S Dry?
        If you are a subcontractor you might have asked yourself a very common question: When the place where I work each day is paying for MY skills, how oh why is someone else able to take 30 to 75% of my wage?

        No, I am not talking about the Government. While the 30% the

    • November
      • Adding Javadoc to NetBeans
        What is "Netbeans"?
        Netbeans is a free Java developers environment from Sun. IMO is is much easier to use than Eclipse.

        The best part of the deal is that NetBeans is 100% free. If you are new to Java Software Development, NetBeans is a great place to start before you upgra

      • Thanksgiving for - Our New Blog-ability!
        Wow - this was easy.

        There I was writing my own blog-site CMS solution, when the inspiration suddenly hit me: Why not see what my fellow open-source dweebs have cobbled-together for ready reuse?

        So I did and here it is.

        How long?

        After spending a few doze