Foreign languages

August 29th, 2016 10:13 AM
by
Filed under Musings;
Comments Off on Foreign languages

In my freshman year at a predominantly male tech college, our glee club trekked to a liberal arts women’s college for a joint concert. As the two choirs mingled, our high school experiences and summer travels still fresh in our minds, I overheard a young woman ask one of my classmates, “What languages do you know?”

Unabashedly, he answered, “Oh — C, C++, Java…”

He was being utterly sincere and unironic: even if he didn’t suss that his ladyfriend was more interested in tongues than code, his enthusiasm for computer programming was something he was eager to share.

Since starting college and discovering the world doesn’t run on BASIC, I’ve not shared my classmate’s confidence. I approach programming with an understanding of the fundamentals but with uncertainty that what I input will result in the desired output. I’ve not learned many language since my first seven:

https://twitter.com/kgagne/status/765622932571844608

Last week introduced me to a situation I’d never before been in: speaking French to a native French speaker. I’ve never learned any of the Romance languages, leaving me sure of only my ability to mangle them. For several minutes before launching Skype, I rehearsed: “Bonjour. Parlez-vous anglais?” I realized a person would be more forgiving than a computer, but I was still uncertain of the output: what if the answer was “Non“? Would I, like a nervous 9-year-old, hang up the phone?

Paris 2013 - Eiffel Tower
I found the whole prospect intimidating.

Hesitating for several moments, I finally dialed. The other end picked up and greeted me in French — words that came so swiftly and surely that I found them incomprehensible and intimidating. I nonetheless steeled myself and in my best American accent responded: “Bonjour. Parlez-vous anglais?

There was a moment’s silence, during which I imagined a computer terminal processing my command before deciding whether to accept it or return with a syntax error. Then, much to my relief, I heard the sound of a successful reboot into a more familiar environment: “Yes, sir. How may I help you?”

Whether it’s FORTH or French, I doubt I’ll ever be as fluent with a foreign language as my college classmate was, or that I’ll be able to speak to someone in or about other languages with the confidence he did. But perhaps, as with my attempt to major in computer science, my grasp of the fundamentals will be enough to get me by.

A curious crisis of computer science

February 8th, 2016 9:16 AM
by
Filed under Musings;
Comments Off on A curious crisis of computer science

I frequently hear from programmers born earlier than 1980 that today’s kids don’t know how to code. Matt Hellinger gave a great talk on the subject at KansasFest 2013, which he followed up with a Juiced.GS article on the subject. Other outlets have opined similarly, such as Simon Bisson pointing to the skills and technology of the past to power today’s Internet of Things, and John Martellaro proposing that a revamped iPad could be the ideal learning environment.

There’s plenty of truth to what these pundits say. The Raspberry Pi, which is often seen as a modern yet affordable equivalent to the Apple II in terms of easy access to the underlying hardware and software, is a powerful alternative to today’s closed environments. My own experiences would suggest that’s the way to go: opening up my Apple II, plugging in expansion cards, booting into BASIC, and writing my own code is how I taught myself to fall in love with computers.

The Apple II’s impact extends beyond these personal anecdotes, influencing careers and industries for a generation. "The peak in computer-science degrees, in 1985, came about four years after the introduction of IBM’s first personal computer and during the heyday of the Apple II, which very likely led to increased interest in getting a computer-science degree," writes Jonah Newman for The Chronicle of Higher Education in "Is There a Crisis in Computer-Science Education?" Had I started with an OS X or Windows machine, I wouldn’t know where to begin peeling away the pretty GUI surface and getting at the roots of the machine.

But how has interest in computer science developed since then, paralleling the rise in ubiquity of computers, smartphones, and other closed devices?

University of Washington in Seattle CS enrollment

"The chart above tells quite a story. That blue line — the one that looks like a hockey stick — shows how interest in computer science from freshmen at the University of Washington in Seattle has skyrocketed since 2010 compared with other engineering fields," writes Taylor Soper for GeekWire.

While that’s a very small data set, a larger one suggests computer science enrollment is on the upswing. "After the 1985–1986 peak in CS majors, demand declined again through most of the 1990s, before increasing in the 2000s and dropping back down again in recent years… Even though there are proportionally fewer graduates now than there were in 1985, this may be a cyclical trend that’s actually beginning to reverse," says Elizabeth Dye for Sparkroom in an analysis of The Chronicle of Higher Education‘s blog post. The job market plays a large role in that, with bubbles (such as the dot-com of 1997–2000) encouraging higher interest and enrollment in computer science.

The sooner kids have the opportunity not just to use computers, but to program them, the earlier they’ll develop an interest in a career in computer science. From the Apple II to the Raspberry Pi, there are many opportunities for young programmers to have that experience working with low-level hardware and software. But the platform they have access to is just one variable in a complex equation, and their childhood is only one window in which they can develop these skills. When I started college as a computer science major in the mid-1990s, I had a classmate who had never written a program before, yet she’d chosen to major in CS; almost two decades later, she’s still employed in that industry. The important thing may not be to give our children the same experiences we had, but to spark their curiosity. That quality, regardless of what field they pursue, will be of lifelong value.

(Hat tip to Steve Weyhrich)

Solo climbers

November 30th, 2015 9:58 AM
by
Filed under Musings, Software showcase;
Comments Off on Solo climbers

Most Apple historians know the name Jean-Louis Gassée: former Director of European Operations at Apple Computer, founder of Be Inc., and the mysterious informant who told John Sculley not to get on a plane to China, lest he be ousted by Steve Jobs.

But Gassée’s contributions to technology don’t end in the 1980s or even 1990s: he writes a fascinating blog at The Monday Note, drawing upon his experiences and perspectives in the industry. This past summer, he penned a post of particular relevance to Apple II users. "A Salute To Solo Programmers" pays homage to the days when a single developer could create an entire program:

Once upon a time, we were awestruck by the "solo climber", the programmer who could single-handedly write a magnum opus on a barebones machine such as the Apple ][ with its 64 kilobytes of memory (yes, kilo — not mega, let alone gigabytes), and 8-bit processor running at 1MHz (again, mega not giga).

Gassée goes on to offer examples of , Bill Budge, Dan Bricklin, and Paul Lutus, who worked independently to create programs that changed the world. It’s a phenomenon that’s unlikely today:

Operating systems have become so sophisticated, so tentacular that a single human being can’t possibly internalize their workings and write application code that keeps us users walking on water. There’s no place for a 2015 Paul Lutus.

I encountered a similar sentiment at KansasFest 2013 when I interviewed Eric Shepherd, former senior technical writer for Be Inc.:

I don’t know how much of this is just wistful reminiscing for simpler times. As Gassée later acknowledges, modern computers are not only capable of greater feats of engineering, but they still offer wonderful opportunities for solo development. Access to programming tools and resources is unprecedented, with classes being offered for free at local libraries, universities, and makerspaces, including to underserved communities and demographics. Motivated parties can build anything as simple as a Twitter bot to as complex as as a best-selling video game with a team of one.

I don’t believe development has outgrown the boundaries of the Apple II — it’s expanded them. But the time when "solo climbers" were the rule rather than the exception was unique, and we have much to thank those pioneers who led the way.

(Hat tip to Thomas Compter)

Opus ][ and Juiced.GS

September 14th, 2015 8:43 AM
by
Filed under Musings, Software showcase;
Comments Off on Opus ][ and Juiced.GS

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
by
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
by
Filed under Game trail;
2 comments.

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).