Critically Analyze What You Read And Hear

Thanks to Jon Paul Davies for quoting the Pragmatic Programmer.

“Critically Analyse What You Read and Hear. Don’t be swayed by vendors, media hype, or dogma. Analyse information in terms of you and your project.”

The Pragmatic Programmer by Andrew Hunt & David Thomas

I’ve been living my life that way for so long I’ve given up even trying to be gracious about accepting someone’s words. I’m known to just flat out say “I don’t believe that.” When I hear something from someone which doesn’t match points at which I have arrived from previous critical analysis.

Jon Paul also has a really cool domain name. It makes me want to register for myself, but there is already a and wouldn’t you know it??? This Jay Walters fella is a Software Developer too!

Meme: How I Got Started In Programming

Josh Holmes tagged me.

I must admit I enjoyed reading many of these by people I have met and they have all definitely been in the spirit of what I read at Michael Eaton’s blog when he said “…while I know my tweeps (twitter friends), I don’t really ‘know’ them.”

How old where you when you started programming?

Six years old?

How did you get started in programming?

My dad has a really cool pocket computer. Yes pocket computer. When I was causing trouble in church or out in public or some place where I needed to not cause trouble he would point to the Sharp PC-1500 and I would write him a little program. Later I would find out that it was mostly TRS80 compatible BASIC. The programs were pretty stupid, but the ability to control the little machine kept me entertained for a while. They usually involved questions like “What is your name?” and “How old are you?” with responses like “Wow <name>, you are old”. Sometimes I would put if statements if the name was “Jay” it would say “You are cool” or if the age was under 10 (10 is old when you are 5) it would say “you are not old”. GOOD TIMES!

I really wanted my own computer. My Uncle had a ton of Commodores. When I say “ton” I mean MANY. He automated an entire candy factory by making his own robotics and automating the robotics using Commodore computers. Some were VIC20s some were various editions of the C64, the C64 plus 4, the C64 plus, etc. Anyway, he had an extra VIC20 at some point, I think it was fall of ’85 or ’86. He lent the family a VIC20 and so I got to learn all the differences between TRS80 BASIC and Commodore BASIC. Immediately I had opinions about coolness and suckage between the two languages. Another critic was born!

Sometime after that, it must have been Christmas of ’85 or ’86, the family got an Atari 800XL. It had a TAPE DRIVE. It had a slot for a cartridge, but I never, ever used the cartridge. Games were way too expensive said that parents and so I never got any. Now I’m told there was a huge piracy ring for trading games on floppy disk back then, but notice I didn’t say I got a floppy drive. I didn’t. So I didn’t pirate software. I didn’t play hardly any games except for a few which someone did pirate to me on cassette. Lacking games, I learned to program.

It was an awesome experience as a seven or eight year old to learn to program the 800XL. Later I learned that the LINE, DRAW, CIRCLE and FILL commands which I learned to love on that ATARI BASIC were not on C64. Actually I learned that months later when I was visiting my Uncle or someone else who had a C64 and I tried these drawing primitives and they didn’t work. It was later that I learned that C64 just didn’t have these and I realized how blessed I was to have gotten the ATARI. I remember learning Cartesian Coordinate systems in grade school and thinking they were backwards(graphics occur unsigned with numbering like the 4th quadrant of a Cartesian system), but quickly adapting and thus being ahead of my grade school peers.

In summer of ’87 the family got an Amiga 1000 with the 512K expansion unit and a second external double density 3.5″ disk drive used from a coworker of my pops. A WHOLE NEW WORLD WAS REVEALED TO ME as I learned BASIC WITHOUT LINENUMBERS! It turns out that Microsoft wrote the versions of basic that shipped with the Amiga Workbench versions 1.2 and 1.3 and while I had versions 1.1, I didn’t like the funny screen that popped up with the 1.1 BASIC which was not from Microsoft. So I learned non-line numbered procedural programming around age 10. 1987 was a fun year. The drawing primitives on the Amiga Basic were very similar to that on an Atari so I was able to draw fun pictures and play with geometry.

The Amiga also came with a FORTH interpreter and so I followed the manuals to do some simple FORTH program.

The Amiga also came with a C compiler called North C. I tried and tried and tried to get Hello World to run, but I don’t think I ever succeeded. At 12-14 years old, I had no idea what compiling and linking were all about. I was used to interpreted BASIC.

After IBM Clones (that is what we called PCs back then) looked like they were the winner, I begged and begged and begged for one and after a few years off from learning much about computers, I got one. In 1991 it was a 486 33Mhz DX with 4MB of RAM and a 100MB disk. Yes I typed 100G the first time I typed that. We ordered it with a 80GM but they had some inventory issues so gave us a 100MB. It was sweet. I learned DOS and played with Windows 3.0. I programmed QBASIC.

I saved up all my allowance, because that is what 12year olds do, and I got a modem, 2400 baud baby! It was a $30 BestData brand modem. I got to set jumpers and insert it into a free ISA slot in the 486. BBSing was awesome. Later a 14.4kbps modem came too.

Then came my drivers license, the job in food service and high school girls. Programming took a back seat.

After high school I got a job operating a Unisys mini-computer (yes, as opposed to a mainframe or microcomputer) at the world headquarters of a small local paper and plastics manufacturer. This horrible job is where I decided for sure that I was going to go to college. One of my jobs at this place was searching for certain text in the green and white mainframe print outs. Later I would assume that no one on the IT staff there knew what grep was. I was human grep.

Then came College, a brief stint with a Computer Engineering program before I switched to Computer Science where I belonged.

What was your first language?


What was the first real program you write?

I’m still waiting to write it.

What languages have you used since you started programming?

I lost count somewhere in the late 90s, but for the sake of keeping up with others who followed this Meme, I will try. In order as I recall:

BASIC, FORTH, PASCAL, C, C++, VB, SQL, Bash, JAVA, HTML, JavaScript, PHP, Python, Pike, IDL, ML, Modula-3, VHDL, Perl, C#, Ruby, Boo, F#

What was your first professional programming gig?

Three years ago when I started working at ADP writing custom software to aide in managing their Hosting Center. All jobs prior to this were System Administrator jobs which I may have scripted or programmed, but programming (or delivering software) was not my primary responsibility in those roles.

If you knew what you know now, would you have started programming?

Yes, although I may have kept it a hobby rather than doing it professionally. Sometimes, I wish I was a lawyer.

If there is one thing you learned along the way that you would tell new developers, what would it be?

That guy over there that you think is so smart is just a man just like you, trying to be the best programmer he can be (hopefully) just like you.

What’s the most fun you’ve ever had… programming?

Fun? What is so fun about it? Its hard damned work!  J/K

I can’t place just one thing. Most thoughts are of the little graphics programs I wrote as a child. The first time I ever pair programmed was in college and that definitely stands out.

Update: I showed my Mom this article and she reminded me that she used the Atari 800XL to practice her typing for her secretarial work. She told me a great story about how I asked her “When you press the R on the keyboard, how does the R show up on the screen?” And like most computer users, she didn’t know, but I was a 7 or 8 year old who could read and so she handed me the manuals and I started reading them. Most of the manuals we had were on BASIC and getting started and so I guess the curiosity of getting the R on the screen is what triggered the curiosity of how these PRINT, INPUT and LINE commands make things appear on the screen. Thanks for the good memory Mom.

Creation of Open Space

via Gregg Newsom


Open Space is an awesome format for meeting and conferencing. The Day Of Dot Net Conferences have been promoting it with varying success.

Personally, I love it when a conference has space set aside for Open Spaces, if the conference isn’t entirely open space format. There are only so many times I can sit through another presentation about something I have seen before. Open Spaces does provide an alternative for us overly selective types.

More importantly, it provides a place for you to get out of it exactly what you put into it. What do I mean by this? How many times have you said “yeah, that would be awesome” to some idea when you were talking with someone at a conference? Open Spaces provides the means to make that idea a reality. Next time this happens to you, please grab that person with whom you were speaking and march directly to the open spaces room and begin working, planning, designing, developing, whatever-ing. Maybe make a pit-stop at the Open Spaces board on the way.

I can’t wait for the upcoming development tools focused open space event at SRT Solutions. I love my tools. I’m passionate about my tools. Like any good craftsman, I have my favorite hammer, my favorite saw, and my favorite drill. I feel crippled without my own tools. Ask a craftsman to build you something and give him unfamiliar second rate tools and see what happens 🙂  You probably will not like the results.

Book Lists

Ben Carey made me do it.

I have to say I’m a little surprised at my own list of books that changed my life. I’m also disappointed by how short it is, but I guess I just haven’t read that many life changing things.

Not life changing, but definitely entertaining are John Scalzi’s Old Man’s War and the sequel The Ghost Brigades. I finally read The Ghost Brigades last week and IMO it is every bit as good as the first.

Currently, I am reading Orson Scott Card’s Shadow of the Hegemon, Napoleon Hill’s Think and Grow Rich and Marc Weissbluth’s Healthy Sleep Habits, Happy Child (I swear I’ll get this back to Dianne sooner or later.)

Aspie quiz like everyone else

Whoa, everyone else was doing it, so why can’t I?

I have to admit the Hunting point definitely surprised me.


I have to admit I learned a new word when taking the test. Actually it was the pre-test background information. Dyscalculia is a word I had to look up. I’d always told people I was slightly dyslexic with numbers. I had never heard of dyscalculia before. I realized I had it when I was 16 or 17 in a high school math class, possibly calculus, when I received the results of a test and the teacher said, “I gave your credit for this one. Everything was right. You just had numbers switched around in your final answer.”

Thank god for partial credit, I passed calculus. I’m glad I didn’t have “You build bridge. It fall down. NO PARTIAL CREDIT.” instructor.

So now I claim to have a mild case of self-diagnosed dyscalculia. Add that to my “who is he” profile.

Its all Michael Eaton’s fault for pledging his allegiance

Like most of my U.S. readers, I grew up saying the Pledge — 13 years of public education. 13 years of saying the Pledge. 13 years of never once seeing anything wrong with it. 13 years of thinking it’d ever change.

But why pledge allegiance to the flag every day?

I don’t pledge my allegiance to my wife and child or even my Christian God every day! I do it by action.

I pledge allegiance to logic, wisdom and God and I pray that the flag falls under one of those things. But if “the flag” (this nation) is stupid, evil, and wrong. Then it does not have my allegiance.

Lets think about the very concept of requiring students to recite this. You are requiring that they make a statement about their allegiance. Merriam-Webster defines allegiance as

1 a : the obligation of a feudal vassal to his liege lord b (1) : the fidelity owed by a subject or citizen to a sovereign or government (2) : the obligation of an alien to the government under which the alien resides
2 : devotion or loyalty to a person, group, or cause

I thought this was America, land of the free and home of the brave. I do not believe that allegiance and obligation of a feudal vassal (the student) to his liege lord (the state) mixes with the liberty on which this country was founded. Take a huge step back for a minute and compare this requirement to the watching of the media broadcasts in Orwell’s 1984. I don’t see it as being so different.

Instead of requiring students to recite some fascist poem how about teaching them to think freely, make their own decisions, take responsibility and be accountable for themselves and their actions.

I won’t be getting an iPod

When Apple updated their iPod lineup a couple of weeks ago, I started to drool. I’ve wanted an 80G iPod for a while, but when I finally had the opportunity to buy one – May of this year – I recognized that the then current generation of iPod had been around for a while and that a new one would be out soon.

This really pisses me off: New iPods reengineered to block synching with Linux

The 160G iPod “classic” and the iTouch are a couple of really sexy sweet products. However, I wouldn’t buy a toaster oven that I couldn’t empty the crumb tray, and I won’t buy an iPod from a company that intentionally limits my ability to use their product.

Zune is lame at 30G. Creative has some offerings but Apple is so far ahead simply in user experience. This is why I wanted an iPod over something else. If you have never used an iPod for more than 5 minutes that you don’t know what you are missing. Maybe this is a case of ignorance is bliss. I might have been happy with a Creative product if I had never touched an iPod. Alas, I have touched an iPod. The menu system and “click wheel” interface are superb.