Opus ][ and Juiced.GS

September 14th, 2015 8:43 AM
Filed under Musings, Software showcase;
no comments yet.

I attended my first KansasFest in 1998. It was the year that GSoft BASIC debuted from The Byte Works, and also the year that Eric Shepherd founded the HackFest contest. I married the two and attempted to write a Boggle game in GSoft BASIC while at KansasFest. It didn't go well, but I was encouraged by The Byte Works president and fellow attendee Mike Westerfield, who made changes to GSoft BASIC in response to my experience and feedback. It meant a lot to me, KansasFest 1998's youngest attendee, so receive that kind of support from a community luminary.

This past July, Mike posted to Facebook:

I know people have had trouble recently getting some of the old Byte Works products. I'm looking at a number of options, and wanted to gauge interest.

All of our products that were produced at the Byte Works, and thus the ones we have clear copyright to, are on a CD called Opus ][. This includes ORCA/C, ORCA/Pascal, ORCA/M, and all of the support programs and so forth, but not ORCA/Modula 2. There are two disks, one with the executables and another with the source. These have been selling for $99 each or $195 for the set.

I'm considering offering these as downloads. They would be one-off sales, which would take some of my time for each one, so I would need to charge for them. I was thinking $25 each or $40 for the pair. You would have to move the individual files to your Apple IIGS or Apple II yourself.

This would mean the only way to get an individual language would be to buy the entire CD, but then, the CD would cost no more than the individual languages do now, anyway.

So, is this interesting to anyone, or does it really matter anymore?

I emailed Mike that same day, offering the Juiced.GS online store as a vehicle for distributing Opus ][. It wouldn't be the magazine's first collaboration with The Byte Works: our December 1998 issue (Volume 3, Issue 4) included a 3.5" floppy disk containing a free trial version of GSoft BASIC, allowing readers to follow along with Eric Shepherd's six-part GSoft tutorial that debuted in that issue.

To my delight, Mike was enthusiastic about revisiting that collaboration. The only hesitation was on my end: how do we make this product a natural fit for the Juiced.GS store? The magazine had no history of selling software or other people's products. How could we make Opus ][ a good fit?

Our Concentrate line had the answer. These PDFs collect thematically related content from past issues of Juiced.GS into a single file. With transcription help from Ewen Wannop and Paul Zaleski, I'd begun producing out a PDF of Sheppy's six-part series back in 2011 — but the effort of laying out 49 pages of code was daunting… especially when The Byte Works' own Learn to Program in GSoft BASIC was available for free. The opportunity to work with Mike was the incentive I needed to revisit and finally finish that project, which is now available for free with the purchase of Opus ][: The Software or Opus ][: The Source.

Since releasing these products on September 1, sales have been strong, with dozens of customers buying the compilations in download, CD, and USB formats. The demand for these products is evidence of a vibrant and supportive Apple II community, even so many years after Opus' original release 15 years ago.

It's an honor to work with so esteemed and storied a developer as The Byte Works and to release a product desired by so many. Juiced.GS and I look forward to many more opportunities to serve the community!

Codes that changed the world

April 20th, 2015 10:40 AM
Filed under History;
Comments Off on Codes that changed the world

Growing up with the Apple II, I learned to program in BASIC. Its line numbers, GOTOs and GOSUBs, and spaghetti code were unlike anything I would encounter later in my education. Perhaps for that reason, I never mastered a language like I did BASIC. While I was able to grasp Prolog and FORTRAN, the "pointers" of C++ were so incomprehensible to me that I eventually had to change majors to get away from it.

Had I continued down that programming path, I doubtless would've faced many other challenging concepts as I attempted to master yet more languages, like C Sharp, Perl, PHP, Ruby, and more. By some estimates, there are over 20,000 languages in existence, only a fraction of which I ever could've learned on the Apple II. Some are more practical than others, while others are of more historical significance.

The BBC attempts to scratch the surface of those historical languages in a recent limited-run podcast series, Codes that Changed the World, hosted by Aleks Krotoski.

Codes that Changed the World

The podcast, which debuted this month and ran for all of five episodes, covers four languages: FORTRAN, COBOL, BASIC, and Java, with a fifth episode discussing how so many different languages are able to coexist.

Of course, you can't discuss the rise of BASIC without the role the Apple II played, and vice versa:

BASIC enabled computing as we understand it today. When Apple was a two-man band building this thing called the Apple II, there were no other computers out there like it. So they had to put something on it that would allow individuals to program it themselves. Apple just wouldn't exist without BASIC. And Microsoft! The first thing that Microsoft did as a company was selling BASIC to run on other people's computers. The two biggest names in modern computing, Apple and Microsoft, both wouldn't've happened if it wasn't for BASIC.

BASIC celebrated its 50th birthday last year, earning it a cover story in Juiced.GS:
Juiced.GS Volume 19 Issue 2

While researching that story, author Steve Weyhrich (who also pointed me to this podcast) delved into the resources available at Dartmouth College, where BASIC was invented. As part of its "BASIC at 50" commemoration, Dartmouth produced a free 38-minute documentary, Birth of BASIC:

If you want to learn more about other programming languages, Codes that Changed the World is available in iTunes. While it's unreasonable to expect all 20,000 languages to be covered, I do lament that the podcast's scope was limited to only five episodes, as I rather enjoyed these 15-minute encapsulations of technical topics for a lay audience. If the BBC or Krotoski ever produce more, I'll be first in line to listen!

Richard Garriott's teletype D&D ported

June 30th, 2014 11:17 AM
Filed under Game trail;

In March 2013, Richard Garriott, aka Lord British, aka the Tony Stark of gaming, announced his return to Ultima with a spiritual successor called Shroud of the Avatar: Forsaken Virtues. This computer role-playing game, which will be playable both online and off, is scheduled for release in 2015. But we don't need to wait until then to see Lord British return to his roots.

This April, Garriott released the source code for his 1977 game called D&D #1, a precursor to Akalabeth, which itself was a precursor to Ultima. The code is BASIC and was written for a teletype machine. But it wasn't solely the code's historical significance that motivated its release. As a promotion for Shroud of the Avatar, Garriott announced a contest to port this ancient game to either Unity or a Web browser interface. Winners would receive the equivalent of the $500 backer tier from Shroud's Kickstarter. As always, the snarky team at LoadingReadyRun has the details:

I marvel that this programming contest could be seen as a challenge. Admittedly, the original game, roughly 1,112 lines of code, dwarfs a similar game I wrote in in 1996, a mere 624 lines of Applesoft. But a game for a teletype machine has to be even more basic than one for the Apple II, and development tools such as Unity make far more complex games even easier to develop than a BASIC game was 35 years ago. How hard could it be to port, or even develop from scratch, a new D&D #1?

Turns out a straight port might not be enough to win; it's the flair each developer implemented that earned them recognition. Sean Fahey recently alerted me that the contest winners had been announced, and that across the two categories were 24 entrants and six winners. Mundi King produced the winning Web port, though I've not been able to get past the initial prompts, being stymied by passive-aggressive "WHO SAID YOU COULD PLAY" responses. I prefer Santiago Zapata's runner-up entry, which sports an authentic interface:

Richard Flemming won the Unity version, which can also be run in your browser but requires a plugin. Flemming called the original "1,500 lines of single-letter variable names, magic numbers, and spaghetti logic."

These ports are neat bridges between Ultima's origin and future—and a timely one, given Juiced.GS's recent cover story on the fiftieth anniversary of BASIC. Though I'm not likely to spend much time playing these ports, I'm heartened to know that a new generation has the freedom to enjoy Garriott's legacy across the ages.

If you want to hear Garriott speak further about Ultima, he was interviewed by Greg Kasavin and Felicia Day at this month's Electronic Entertainment Expo (E3).

Computer literacy begins at home

August 5th, 2013 4:59 PM
Filed under Happenings, Musings;

KansasFest 2013 is now a week behind us, and I'm still absorbing everything I saw, learned, and experienced. Moments such as interviewing Steve Wozniak and other unscripted events are memories that will last a lifetime. But of those events that stuck to the schedule — that is, the daytime presentations and official sessions — but one that really caught my attention was "Teach U.S. Kids to Program" by attendee Matt Hellinger.

Hellinger's talk was prompted by "Teach U.S. kids to write computer code", a December 2012 article by Douglas Rushkoff, digital literacy advocate for Codecademy.com, a tool I use in my own classroom. Rushkoff outlined ten reasons why programming must be an essential part of any student's curriculum, given how pervasive computers have become in modern culture and industry. The article focused on how we passively use computers, allowing ourselves to be the passenger to tools that drive our lives. Hellinger in turn reflected on the golden age of the Apple II, when users and programmers were one in the same, putting us in the driver's seat. Can that experience be replicated for today's youth?

His proposal stems from more than some nostalgic desire for his kids to grow up the same way he did. Hellinger made a compelling argument that computers have become so powerful and complex as to be impenetrable, transforming them from tool to crutch. He suggested bringing them down a notch to again make them accessible to students, providing them with an environment where they can write original programs in fifty lines of code instead of a thousand. The Apple II is just such a machine.

But there's more to that equation than the classroom. Hellinger and I approach the topic from very different perspectives: he as an IT professional and parent; I as childfree educator. Although I'll happily expose other people's children to retroprogramming, as is already happening in Milton Keynes, those lessons have to be reinforced in the home. To that end, Hellinger proposed taking away the tablet, replacing or completing the desktop with a Raspberry Pi, and limiting Internet access.

I challenged Hellinger on these potentially draconian measures — not out of opposition but curiosity, to better assess the rigor of the stance. I asked what Johnny should do when he comes home from playing Xbox 360 and surfing Facebook at his classmates' homes. Hellinger said those exceptions are no different from expecting a child to obey other house rules: different parents make different allowances for their kids. Later I followed up via email: what about when the disagreement isn't between homes, but between home and classroom? What if the student is using an iPad at school and needs one to complete his homework? Again, Hellinger made it a simpler matter than I imagined, pointing back to his basic tenets. "I would definitely recommend restricting usage (as if the kid had brought home a video game to research)," he wrote. "Disabling Wi-Fi in the house would go a long way toward resolving unfettered use."

Overall, I was pleased and intrigued by Hellinger's proposal. I hope for opportunities to test and practice his ideas in the classroom, just as he is doing so in his own household. If you want to see his theories for yourself, he has generously allowed me to embed his original slides in this blog. Watch for them to eventually be added to the KansasFest file archive.

My elementary education with the Apple II

June 3rd, 2013 12:36 PM
Filed under History;

My household was an early adopter of personal computers, at least compared to the rest of my grade school. Whereas I had access to the family Apple IIe whenever I wanted, for most of my classmates, their only exposure to that computer came from our weekly computer lab, which was not what I would call rigorous. The instructor was Sister Theresa, and she didn't know the first thing about programming or educational software. Too many classes would start this way: "Turn on the computer. Type NEW, return, RUN, return, HOME return, GR, return. Now draw the Nativity." And that was it: we'd be left to our own devices for the rest of class. Since our work was never checked, no one attempted the project she'd assigned us. On rare occasions, we'd be given textbooks of BASIC program listings and could type one in, but neither instruction nor comprehension occurred regarding what these commands did or how they resulted in the program we'd run.

Instead, my mastery of the Apple II occurred at home. I would pull apart Applesoft programs to see how they worked, then I'd modify them or write my own, sometimes recreating the work during class to show off to my classmates. (The result could be seen less in their admiration and more in their bullying.) I later wondered why the class couldn't be more productive. Did the administration think Sr. Theresa was the best person for this job? Or was the convent looking for a position for this old nun, and this was all that was available? Was it worth it to make her feel useful at the expense of all those computers being wasted? Having now been an educator myself, I'd be keen to see what the mission statement, classroom goals, or rubric were for that class. I suspect the syllabus was blank.

Regardless, I did enjoy these classes and the special permission Sr. Theresa gave me to borrow from her archive of Scholastic Microzine on Friday afternoons to bring home for the weekend. I would wake up early every Saturday to play this trove of new games I'd been bequeathed, both before my three older brothers would wake up and before the Microzine would have to go back to school on Monday morning. I was likely the only student who ever went to see Sr. Theresa outside our designated lab time, and we grew friendly. But my education had taught me to never question authority, so despite our relationship, it never occurred to me to suggest that her class could be run in any other way.

St. Leo's SchoolI don't know how much that aspect of the school has changed since then. I remember hearing in the early- to mid-nineties that they were "upgrading" all their IIe computers to IIc's. Whatever expert they hired for that advice steered them wrong, as the Apple II line was nearing the end of its official support by then, and switching to Macs or PCs would've been a more long-term investment. I wonder what came of their Apple IIe or IIc labs — no one called me when they disposed of either. Maybe they're still there, teaching modern students the fine art of retrocomputing.

Can a quick Google search tell us for sure? Visiting the St. Leo's School Web site — which is running on a five-year-old version of Joomla — I see that "computer" is one of the required classes, and that "Computers are incorporated into daily classes, starting in Pre-Kindergarten." Not the most detailed curriculum outline.

Granted, this is a grade school in suburban Leominster, Massachusetts. At that age and with the resources available, it may be more reasonable to expect the students to focus on the basics: "Religion, Mathematics, Reading — Literature, Language Arts". But computers can be tools by which to inspire creativity in all those areas and more. Think of all the lessons, exercises, and tools that computers could be bringing to the classroom: Programming! Applesoft BASIC! iBooks! Game-playing! Game design! And more!

The issue, in many ways, is academic, as it will be a long time before a grade school's curriculum again has direct influence on my family. But whenever I do evaluate a school's academic rigor for its ability to inspire a generation of creative and competitive professionals, I'll be sure of three things: that computer literacy is as much a priority as other "core" areas; that there is a passionate, knowledgeable teacher in charge of executing that mission; and that she be willing to share her library of Microzines.

What schools don't teach

March 18th, 2013 11:18 AM
Filed under Musings;

Computers play an important role in education, be it in programming or game design. Retrocomputers like the Apple II can be especially valuable in any of these disciplines, especially programming. The finite, knowable universe of an 8-bit machine provides the perfect canvas on which budding programmers can craft their first algorithms.

But in many schools, the question isn't with what computers should programming be taught, but whether programming should be taught at all. Demand for programmers has never been higher, with the number of positions growing at twice the national rate. Yet ninety percent of schools offer no programming courses at all, leading to colleges graduating fewer computer science majors than they were a decade ago.

The non-profit Code.org is bringing attention to the need for more programming education in this country with a public service announcement (PSA). For this five-minute video, they have recruited the likes of Bill Gates, Mark Zuckerberg, and will.i.am, as well as some less likely suspects.

(There are also one-minute and nine-minute versions of this PSA.)

When I was in high school, a required course was geometry. I found it a challenging course, but reasonably so. The theorems and corollaries about alternate interior angles and their kin weren't intended to train me to be an architect; rather, they were lessons in logic, teaching me how to think and solve.

Programming is the modern geometry, offering similar value to students, whether or not they seek careers in computer programming. I do not consider myself a programmer, yet I have benefitted immensely from the languages I taught myself outside of school. I have occasionally tried to pass on these lessons to friends, showing them some (literally) BASIC concepts on the Apple II, such as variables and FOR loops. They remain completely mystified, with one going so far as to marvel at my own capacity to grasp programming: "You're a creative person, Ken, yet you can program. I've never met anyone whose mind can switch between those two modes so effortlessly."

But programming is creative. A relative who doesn't realize that basic tenet recently characterized programming to me as "Doing the same thing, over and over". How he confused programming with data entry is beyond me. But the fusion of creativity and logic is perhaps best found on this digital landscape, and students would benefit from being introduced to that sandbox — whether or not it's on an Apple II.