Op-Amps (operational amplifiers) are integrated circuits that have been a bit annoying to work with in the past for me. Often they require rather odd power requirements — frequently positive and negative 9-volt power rails. I've bread-boarded op-amp circuits in the past and ended up with a couple of 9V batteries hanging off the end of the breadboard. It worked but was not ideal.
Here I create a small PCB that attaches to a breadboard and makes prototyping with op-amp chips much easier.Continues…
Maybe you know about the early (first?) 6502-based computer, the KIM-1 from 1976. I recently built a replica (the PAL-1) and wanted to flip through some of the original documentation. Fortunately archive.org has quite a bit of early KIM-1 texts.
The PDF was suprisingly clean, only the cover was a let-down. So I used my favorite vector-based drawing app, Affinity Designer, and recreated the front and back covers.
Shipping is such a factor in the cost that I went ahead and had Lulu print up eight extras. I went ahead and set up a Tindie site to sell the extra copies.
I retired a year and a half ago after having worked for twenty-six years as a programmer for Apple. I’m not sure which would have been more surprising: if I had continued programming in my spare time after I had retired or if I never programmed again.Continues…
Adam74 is a small ASCII terminal intended for hobbyist 8-bit computers. It has a simple, vintage-style interface: 7 pins for 7-bits of ASCII data and another "strobe" pin to tell the Adam74 to add the character to its buffer and display it. Special control characters allow cursor movement, etc. You can select either amber or green text — inverted text is supported as well.I go into more detail here:
…I found out though that bringing in a bound book of your source code to the interview is rather unusual. When I sat down in a small conference room across from two Apple engineers and put my Glider book between us, there were smiles and looks of surprise from the interviewers. That it turned out to be a conversation starter was a happy accident…More…
I was putting together a jigsaw puzzle the other day and it suddenly took me back to over twenty years ago when I was putting together another jigsaw puzzle — or I should say I was helping several people put together. That jigsaw puzzle was an enormous one, perhaps 5000 pieces that someone at work had deposited on a very large table in one of the common areas.Continues…
The Moon terrain is accurate — I began with NASA data. The game-play is straight-forward: you move cargo from one lunar base to another gaining in rank as you do so. Beginning as a lowly Apprentice, you try to learn to fly, manage fuel and move enough cargo to get to Journeyman and then, if you persist, Master class.
I begin a series of posts on how the code works and the process I went through in creating the game here…
Tom Dowdy was a software engineer at Apple back in 1995 when I was still writing Macintosh games in Lawrence, Kansas. One of his programming responsibilities was to maintain Apple's SimpleText (aka TeachText) application (see document icon above) — a basic text editor that shipped with the Macintosh. He was also the tech-lead (technical leader) for the graphics component of Apple's newest graphics framework called Quickdraw GX.Continues…
SystemSix is a small desk accessory sort of thing written in Python running on a Raspberry Pi and driving a small e-ink display. It fetches your calendar events and the local weather and displays them with the look of an early Macintosh running, of course, the System 6 operating system.
It changes the "desktop" from day to day, has several possible layouts, over 100 icons of classic apps it selects from. If your first Mac was from this era, it should bring back fond memories when you check on it in the morning and see what surprises it has for you.
Note: I know it looks interactive, but I assure you it is static, changing the desktop only once a day.
More in depth detail on how I put together SystemSix here.
Some years ago I had written a sort of "Card Engine" framework to make card games like solitaire easy to write. I think I enjoyed is as an exercise in designing a framework, an API.
Rather than the playing card being the sort of fundamental class of the
it was what I called the "Stack" or
CardStack object, representing a stack, pile, or
tableau of playing cards that really was primary.
To be sure, there was a
Card class and the
CardStack acted as a container
Cards. But the more significant methods that really implement the progression of a
card game were on the
CardStack objects: methods like
Don't laugh at the name, it was the best domain name I could think of that was available at the time.
Or, you know, if you just want to play a game of solitaire online, you could go to Kardland.
The sign-up/sign-in is broken since I just moved to a new server. You can still play the solitaire games though. I'll try to get the backend wired up again soon.
My name is John Calhoun. I discovered computer programming around 1980 when I was in high school. Sometime in college, second half of the 1980's, I got an Apple Macintosh computer and fell in love with both the hardware and software. It was then that I began to really program.
In learning how to program my Mac Plus, I wrote some shareware games. One of these, Glider, I rewrote commercially for a small company, Casady & Greene, Inc. (based in Salinas, California). After it was published, I turned to programming full-time.
Mid-1990's I was hired by Apple Computer (now Apple, Inc.) and moved from Kansas to California where I married, raised a family and worked for the next 26 years.
I just left Apple and have returned to the midwest. Perhaps I will go back to writing shareware?