Energize

https://transporter.wilcoxfamily.net

I wrote this for a final presentation in 2006 for Boston University’s MET CS 770: Object Oriented Analysis and Design class, under professor Suresh Kalathur. The objective was to model a “real world” system in software.

Deciding what to model was a challenge. An elevator system was tempting. And then, based on my nearly-compulsive reading of the Star Trek: The Next Generation Technical Manual by Michael Okuda and Rick Sternbach, I realized Star Trek’s transporter system would be ideal. I was still thinking about how to demonstrate the model, when my coworker Ravi Gopalan suggested I look at Adobe Flex.

I was nearly instantly hooked with what Flex could do, running inside the Flash Player (the very thing that would doom Flex not many years later). With it, I could create a beautiful, interactive display that would have been painful (but not entirely impossible) to create in the Web browsers of 2006. I sank 40 hours (5 to 10 times what was needed) into the project, and even had my kids, dressed in Star Trek uniforms, enter the room at the end of my presentation saying I had beamed them into the wrong room.

And, for reasons that are fair and just, Flex died. No one wanted a horrifically insecure Web plugin, and browsers got truly standardized and more powerful. I kept my archive, and swore that someday I would get around to converting it to modern HTML5 or whatever was the standard when I did it.

Twenty years later (19 years, 51 weeks, and 1 day), I took a few minutes in a company-sponsored hackathon to have Claude Opus 5 do what I had never gotten around to. To my delight, with a tinge of horror, it took only minutes, most of which was spent on the Node build and testing, to get a perfect translation on the very first pass. I spent a few more hours tweaking, fixing some minor pre-existing bugs, and adding a few effects and features I had never gotten around to. (Software is never finished, just abandoned.)

Like Q at the end of “Deja Q,” (TNG s3:e13), “Heeeeeeeeeee’s back!”

—Doug Wilcox, November 2026 (Veracode Hackathon 28: Page Break)

Engage.

Dagnabbit. 1993 to 2026. No improvement.

They got me again. Despite my biological grandfather Ezra Rachlin’s well-established musical talent and perfect pitch, and my own children’s incredible musical abilities … Well, let me put it the way my son Isaac put it: “Let us take a moment to appreciate that Dad can communicate fluently in multiple languages, but cannot hum the Tetris theme.”

These two puzzles, the first image from the original Myst game, and the second from the Machinarium game require the same thing: Reproduce a series of notes from one place you hear them to another.

I know what to do, but I can’t “hear” it well enough to beat it. I think I’ve gotten the first four notes in Machinarium, but I’m not sure. I had to have my friend Eric Quinlan help me with Myst. Machinarium has 7 notes, but it should be easier, as there are only 5 keys, instead of the five notes and multiple slider positions in Myst.

A Conceptually Identical Puzzle from Machinarium.

:: sigh ::

Maybe tomorrow.

See less

Inspired Adventure!

We were on our way to visit family in Indiana when the surveillance gods1 of Facebook advertising noticed my location and fed me an picture from RoadSideAmerica.com that definitely had my interests dialed-in: Giant metal sculptures of Transformers and Star Wars vehicles (especially walkers) were free for the looking at the various locations of Metal Source, a metal processing/recycling company.

Some of the coolest sculptures were a little over an hour from where we were staying, in two locations in Wabash, Indiana. But our schedule with family visits was already pretty full. The one morning I had a bit of time available had been preceded by a very late night visiting a vernal pool under moonlight led by avid naturalist (and Sarah’s daughter) fern Wildtruth, which ended somewhere just before 3:00 am.

I nearly always choose adventure, but this time I contemplated skipping it. The schedule would be difficult, and I would need to be back with the car in time to visit Sarah’s father. But then I asked myself, “What would Dani do?” No, really. Dani is a coworker who works remotely and shares wonderful adventures as she travels all over for gigs as an itinerant cat-sitter.

So, I didn’t start quite as early as I expected, but figured that enough other people in the family would be sleeping in and otherwise slow-to-start, and I would have just enough time, even if I got nearly enough sleep. Several family members had claimed interest in coming with me, that is until morning actually arrived.

No matter. I got up quietly enough, and faster than you can say, “One very large coffee, please,” I was headed out to the Metal Source site with the most number of sculptures, an 1733 South Wabash Street in Wabash. If I had time, I would go to another site in Wabash that had a beautiful sculpture of Bumblebee from Transformers.

This was very much worth the trip. The main site has three Star Wars vehicles: An AT-AT, an AT-ST, and a speeder bike complete with a Scout Trooper. And there was a bonus Optimus Prime himself!

And this geek must pause a moment for deeply painful confession. I didn’t recognize Optimus. This sculpture was, of course, modeled after the film version of Optimus Prime, and my brain had long-ago solidified with Optimus looking like this:

But, I was too busy ogling the Star Wars vehicles to feel too much pain.

There’s even a metal sculpture of a fork lift, which was not quite as impressive as an AT-AT.

Realizing I had just enough time, I took off to the other side of Wabash.

At the 1750 Mill Street Metal Source location, there was only one sculpture, but it was a doozy. And, sadly for my Indiana and Duesenberg fans, the term doozy does not come from the car. (Please don’t tell my father-in-law.)

And I made it back before everyone had even finished their 1:00 pm breakfast.2

(If you’d like to see all the photos from these two Metal Source visits, here they are.)

  1. See The Age of Surveillance Capitalism: The Fight for a Human Future at the New Frontier of Power, by Shoshana Zuboff. This is a hugely important book, and you should read it. ↩︎
  2. Any differing version of this specific aspect of the story is an absolute lie. ↩︎

Éoywn is Remarkably Empathethic

Éowyn (our 3-year-old english cream golden retriever) surprises me with her empathy. (None of our other dogs had ever been remotely aware of emotional or physical pain or illness.)

I got home sick with a moderate fever, last week. Éowyn seemed to sense this, and immediately started licking me in the face, instead of excitedly expecting attention from me. When I lay down on the couch (okay, it’s a love seat, we’re short), she brought her big Lamb Chop over—not to play our usual evening game of “tug”—and carefully placed it on me, then lay down next to me. Not long after, she decided that I would be warmer with a dog on top of me. For the past 24 hours, she’s stayed right with me.

Update: I am feeling better, and Éowyn has returned to her usual behaviors. I must now play tug and “bite the hand” with her. She is back to her more typical self—now that I am.

English Spelling: Why It’s Such a Nightmare

Christopher Lloyd as The Calico Kid in Best of the West, 1981.

It’s funny what odd things one remembers. When I was 13, I liked a probably not-well-known, one-season comedy series called Best of the West. One of the few quotes I do remember was this conversation between The Calico Kid played by Christopher Lloyd and the town Doc Kullens played by Tom Ewell. I always remember it when thinking about language learning and how difficult English spelling must be to learn.

https://youtu.be/rtO6DuKfhIk?si=-C2ZMhISOVLgVqoy&t=967

Best of the West, Season 1 Episode 15: “The Calico Kid Goes to School”

Tom Ewell (Doc Kullens): Spell laugh.

Christopher Lloyd (The Calico Kid): Laugh. [spelling it out] L-A-L-F.

Tom Ewell (Doc Kullens): [Takes a long, slow drink from his hip flask] No.

Christopher Lloyd (The Calico Kid): How can that be? Calf is [spelling it out] C-A-L-F.

Tom Ewell (Doc Kullens): Yes.

Christopher Lloyd (The Calico Kid): Half is [spelling it out] H-A-L-F.

Tom Ewell (Doc Kullens): Yes.

Christopher Lloyd (The Calico Kid): Then laugh should be …

Christopher Lloyd (The Calico Kid): [interrupting; spelling it out] L-A-U-G-H.

Christopher Lloyd (The Calico Kid): No!

Tom Ewell (Doc Kullens): Yes.

Christopher Lloyd (The Calico Kid): Why?

Tom Ewell (Doc Kullens): Spite.

Haunting Reflections

To remember their suffering is to recognize the danger and evil that are possible whenever one group persecutes another; … know that wherever prejudice, discrimination, or victimization are tolerated, evil like the Holocaust can happen again.

—New England Holocaust Memorial, Boston

I have been here to this memorial before, but today I wept as I walked through, thinking especially of my great-grandparents, Raphaël Alfandary and Léa Caraco.

They escaped Berlin for France soon after Kristallnacht, and remained mainly in hiding, first in Marseilles and then in Nice. Their last place of hiding was in Les Moussieres, in the Jura mountains in France, about an hour across the border from Geneva and the safety of Switzerland which they never reached.

Raphaël was tortured and later shot and killed by the Nazis (on April 12, 1944) while in hiding in France. Léa was transported to Auschwitz on May 20, 1944, and died during the death march out of Auschwitz in 1945.

Raphaël is buried in a mass grave in the municipal cemetery in Les Moussières (Jura), which bears the following epitaph:  « Aux Martyrs des Fournets 1944—Ici reposent les 6 Victimes Tuées aux Fournets le 12 avril 1944 par les barbares allemands et miliciens—Français Souvenez-vous » (“To the Martyrs of Les Fournets 1944—Here lie the 6 Victims Killed at Les Fournets on April 12, 1944 by German barbarians and militiamen – French, Remember.”)

A transport record showing Lea Alfandary’s April 15, 1889, birthdate, her profession (“none”), and an ID number. 20912. This was Convoy number 74, destination Auschwitz. The data is from electronic data compiled by Georg Dreyfuss regarding deportees from France, based on Serge Klarsfeld’s “Le mémorial de la déportation des juifs de France” and other sources; data includes names, dates of birth and convoy, places of birth and convoy destinations, nationalities and convoy numbers.

Four Fathers

For Father’s Day, let me introduce you to four fathers I have had. The last one will blow you away. (And that’s not just clickbait.)

Here they are, in order of when I learned of them.

(1) Paul J. Wilcox, Jr. Pictured with my adoptive mother Addie is my adoptive father. I met him when I was 8 or 9 months old. Dad was supremely practical. For example, when I was born I was diagnosed as retarded. He declared, “Well, if he’s not going to work with his head, we will teach him to work with his hands,” and for Christmas after my second birthday I got a toolbox with real tools (the toolbox and some of the tools I still have). Dad, a lifelong refrigeration technician, was skilled at repairing everything except modern home refrigerators and cars, and could build just about anything. He taught me many skills that I still use today.

My Dad and Mom, Paul J. Wilcox, Jr., and Rachel “Addie” Wilcox

(2) R Michael Frenchman. Pictured with one of the most loving people I have ever met, his wife Karen Crowe, is Michael Frenchman. He was labeled my father by my biological mother, who misled people in that respect. We met when I was in my 20s. Michael is indeed a Renaissance man, doing everything from working with UN programs, to being an independent reporter in Iran, to mentoring high school students in videography and animation, to producing live theater and video projects. Getting to know him has been one of the delights of my life. (He even inspired me to get my SCUBA certification.) Michael, along with my biological mother, made the prudent decision to place me for adoption, knowing their own lives were too chaotic at the time to raise a child.

R. Michael Frenchman and Karen Crowe

(3) George Fortini, also pictured with my Mom. A few years after my Dad‘’’s death, Mom remarried George when she was 80 years old. The next few years were wonderfully happy for them, although Mom outlived him as well. George was crazily in love with my mother, and fit in well with the family. He wasn’t Dad, but pretty close, except with an even better sense of humor and cooking ability. Most important, he was wonderful for my Mom.

Rachel “Addie” Wilcox and George Fortini

(4) Michael “Mickey” Rachlin. Well, this is the big surprise! After decades of searching, and over a decade of DNA sleuthing in search of my biological father, my cousin Audrey texted me last August and said, “I think I’ve cracked your case … but first, was there any reason you know of for your [biological] mother to have been in Texas?” I haven’t gotten to meet Mickey, as he passed away in July of 2020, before I was able to locate him. He never knew I existed, but, it is clear from other examples in his life that he would have loved to learn he had a son. He was the only child of Ezra Rachlin, who himself was a child prodigy pianist and conductor of, among others, the London Symphony Orchestra. I am still learning about Mickey through people in the family, but solving this mystery and expanding my known family has been huge, as you might imagine! I feel like I can only write in superlatives! I’m still learning what we had in common, but heard, from a stepsister, something I never was sure I would: “Oh my gosh, you look just like him!”

Michael “Mickey” Rachlin

It’s been quite a journey.

Fear

It is somewhere around 1:00 am. All but two of us are asleep.

I am hugging my daughter tightly as she sobs uncontrollably, her heart pounding with disappointment and fear.

There is nothing, really, I can say to comfort her. The best I can attempt is, “I will always fight for you,” as my own tears flow.

Romancing the Code: The Literacy Narrative I Did Write

As noted previously, I had to learn the hard way about how to really focus in a good writing assignment. This is the finished product, the earlier draft of which is here: Romancing the Code: The Literacy Narrative I Wanted to Write.

This is the final version of a literacy narrative, originally written for UMass Lowell (online) College Writing I, Sec. 031, Professor Richard Keating, October 15, 2018. (Note to plagiarists: This has been submitted to the TurnItIn database, <sarcasm>so, by all means, copy away</sarcasm>.)

Douglas Wilcox
Richard Keating
UML College Writing I, Sec. 031
October 15, 2018

Romancing the Code

Phase 1: Literacy Narrative

In one of several clichés employed by twentieth century science fiction, computers are autonomous problem-solvers. They are almost never seen to be programmed by humans. The idea of a computer as a tool is refocused into its metanarrative, where the computer is an autonomous yet servile agent of its human master. A query is made, and the computer—via punched paper, data cards, audible output, or screen display—provides the answer to an enormously complex problem. Although I use computers to solve a vast number of practical problems in everyday life, programming itself, begun when I was in elementary school, provides the ultimate problem-solving experience.

The same year Star Wars was released, I met my first real computer: a Digital Equipment Corporation (DEC) PDP-8, at my town’s high school. Each terminal connected to this computer was a repurposed teletype machine. There was no screen display, only a nearly-endlessly spooling roll of paper. Each keystroke from the operator or each character output from the PDP was accompanied by a wonderfully complex sound of motors and servos moving the print element and its carriage across the platen, and hammering the right letter onto the paper (262LongRunner).

I was in love.

Through another school program, I got to play on a PDP-40, a massive device that would have made the PDP-8 weep with inferiority, had it been sentient. There I discovered the text adventure “Dungeon” (nee Zork) (Anderson, Kidder).

Creating my own text adventure game became my obsession. I had grand visions. I spent hours creating maps, and working to figure out subroutines that would be able to interpret user input, track inventory, handle world descriptions and actions, and even inject some humor while tracking hunger and thirst—“You would kill for a baloney-and-cheese sandwich.” There was no way for me to do a program this large on the DEC, but the Apple IIs that the junior high had would be perfect. They even had floppy drives, so I could store this creation on my own 5¼” diskette.

Not owning my own computer, I had to work offline—truly offline. I worked in notebooks, keeping the program flow in my head, and writing the code in longhand for later entry and debugging. I had the inspiration and functional model from other, better-written software, and a clear idea of what I wanted to do. I just had to figure out how.

A text adventure needs to provide a description of each location or room, and anything that might be portable in that room. The program needs to track the player’s location, and allow the player to move through the game world. My solution for handling this was effective, but contraindicated by speed and memory limitations at the time. The key was arrays—the computer equivalent of a numbered stack of index cards. I used an array of alphanumeric variables as a container, storing the description for each of the game’s locations by element number in the array. So, if the player moved to “location 104,” the description could be displayed by returning the description in “card” 104. That system was great for things which stayed in place, but what about portable items? For that I had to push further, but was still able to use an array structure. I invented a design where each portable item would be assigned to an item number in an array, and the data for that item would be stored in a predetermined portion of a text variable that contained, among other things, the item’s description. In the metaphor of the index cards, we might imagine that specific lines on each card record a specific kind of data, such as consistently having a title on the first line of every card.

Player movement could be controlled by setting the player’s location to a particular number corresponding to the description array and item locations. Switching the location was just a matter of coding which direction’s movement would take one to which location number and using that number to access the description and item arrays.

When I finally got enough of the modules coded and debugged, I ran it. It worked! It was slow—but it worked.

Now I work full time as a programmer, as I have for more than 15 years, and every part of my workday involves applying digital literacy directly to solving programming problems. I use my store of those skills and a variety software tools to accomplish this. The problems I solve are far more complicated—although they often still involve arrays—but they apply all the digital skills and literacy that began when I was smitten by the PDP-8, in all its teletype-driven glory.

Phase 2: Analysis

The rapid development of digital technologies in the digital era presents individuals in the emerging information society with situations that require them to employ a growing assortment of cognitive skills in order to perform and solve problems in digital environments. These skills are often referred to as “digital literacy” (Gilster, 1997; Inoue et al., 1997; Lanham, 1995; Pool, 1997), which is presented as a special kind of mindset that enables users to perform intuitively in digital environments, and to easily and effectively access the wide range of knowledge embedded in these environments (Gilster, 1997; Tapscott, 1998; EshetAlkalai, 2004; 2005) (Aviram and EshetAlkalai 1, emphasis mine).

The experience described in this narrative pertains to the phrase: “to perform and solve problems.” Problem-solving is the aspect of digital literacy that is most important in my life and career.

My first digital literacy skills were not very impressive, and many are now accessible by toddlers in today’s world of icons and GUIs: reading a directory, loading a program, running that program, and interacting with its prompts and output. Looking back over my computer literacy from childhood through the early days of my computer career, it is clear that my very meanest skills were a foundation of understanding that lasted for decades.

I worked in notebooks, keeping the program flow in my head, and writing the code in longhand for later entry and debugging.

Although the problems I solve are now more complex, the instant availability of explanations, sample code, and often complete example projects available online can make the level of problem solving significantly different. Given my skill level at the time, my limited access to computers, the nonexistence of the Internet, and a lack of established patterns, there was more room for innovation at a basic level. Innovation is still significant, but it tends to occur 

I spent hours creating maps, and working to figure out subroutines that would be able to interpret user input, track inventory, handle world descriptions and actions, and even inject some humor while tracking hunger and thirst….

It was somewhat surprising to explore this time period, and to renew my awareness of just how exhilarating computer tasks were. I was able to continually improve programming concepts and problem-solving by my sometimes weak attempts to replicate things I had seen. Writing my own text adventure was a wonderfully motivating force for improving my programming and the problem-solving that went along with it. I still advise those who want to learn a new platform on language to think of something that they really want to build as a first project.

That system was great for things which stayed in place, but what about portable items? For that I had to push further.

Although it is true that I knew far less, I was also working with a programming language that was more limited in its abilities, and accomplishing what I wanted often required a finer-grained ingenuity.  

The “growing assortment of cognitive skills” (Aviram and EshetAlkalai) is particularly evident in the development of problem-solving. Like any cognitive skill practice, problem-solving begets even more refined problem-solving, leading to gains in the complexity of problems that can be solved, and the ease with which they can be solved.

Works Cited

262LongRunner. “Teletype Model 33 ASR.wmv.” YouTube, YouTube, 16 Apr. 2012, www.youtube.com/watch?v=ObgXrIYKQjc. Online video.

Aharon Aviram and Yoram EshetAlkalai, “Towards a Theory of Digital Literacy: Three Scenarios for the Next Steps.” European Journal of Open, Distance and E-Learning. 2006. Retrieved from https://pdfs.semanticscholar.org/c680/679dc70baf4727cfd5f97b8535d62137914e.pdf?_ga=2.58484906.1842711008.1538448028-1659923920.1538448028. Document download.

Anderson, Tim. “The History of Zork.” The Wayback Machine, 1985, web.archive.org/web/20060427000213/http://www.csd.uwo.ca/Infocom/Articles/NZT/zorkhist.html. Web page.

Kidder, Tracy. The Soul of a New Machine. Little, Brown and Company, 2000. Print.

Feedback

Professor Keating’s Final Response:

Hi Doug,

As I read the final version of this exceptionally well revised essay, I reflect on how the vast majority of my students see digital literacy in terms of language, or a lexicon of terms common to a discipline. You see it in terms of a numerical logic, a binary code of understanding. That’s just as applicable, different cognition, same result!

Fine start to the semester, RSK