Wednesday, April 30, 2014

50th anniversary of BASIC and, more important, computer literacy courses

On May 1 1964 two simple BASIC (Beginner’s All-purpose Symbolic Instruction Code) programs ran simultaneously on the Dartmouth time-sharing system (DTSS) -- marking the birth of the BASIC language, created by professors John Kemeny and Thomas Kurtz.

That is an important milestone, but the BASIC language was only a part of the invention of the notion of computer literacy and of computer literacy courses.

To put this in the context of the time, only professional programmers and operators used computers in 1964. Nearly all programming and computing was done using batch processing -- you typed a program into punch cards, added some control cards and data, and fed the card deck into a computer card reader or transferred it to magnetic tape to be fed into a large computer. You typically dropped your job off to be run by an operator and picked up the results -- printed, punched in cards or written on tape -- some time later.

Card deck ready to submit for compiling and execution

A steady stream of jobs insured that the computer was kept busy, but programmers wasted hours waiting to get their output.

But, by 1964 there were several experimental time-sharing systems where users sat at terminals and typed in programs and data and got answers immediately. The computer allocated a small slice of time to a terminal, then went to the next, and so forth.

While switching rapidly between users meant some wasted computer time, it meant programmers could get immediate results and they could write interactive programs.

Kemeny and Kurtz realized that this meant non-specialists would be able to program and use computers in the future and they decided to create a computer literacy course that would be taken by all students at Dartmouth, not just the engineers and scientists.

For that to happen, they needed a time-sharing system of their own and a simple, teaching-oriented language, so they built the DTSS and invented BASIC with funding from the National Science Foundation.

BASIC was not intended to be used in production -- it initially had only 15 statement types -- it was intended solely to teach algorithmic thinking and introduce the notion of a stored program.

Once DTSS and BASIC were running, they were able to offer the first computer literacy course with the goal of teaching the skills and concepts needed for success as a student and after graduation as a professional and citizen.

I teach a digital literacy course today -- the skills are different than they were in 1964 and many (though not all) of the concepts are new, but the goal remains unchanged.

For more on computer literacy, BASIC and DTSS, see:
Update 5/6/2014

There is an "Easter egg" at 2m 18s of the above video -- a picture of Bill Gates and Paul Allen at a Teletype at Lakeside School. No doubt they were writing BASIC programs, although they would not have been running on DTSS.

The Dartmouth public computer room -- probably the first campus student lab:

John Kemeny worked on the Manhattan Project, was Einstein’s mathematics assistant as a student, and was Professor of mathematics and President of Dartmouth College.

Thomas Kurtz studied under John Tukey at Princeton, has been professor of math, computer science and Computer Information Systems and computer center director at Dartmouth.

Monday, April 28, 2014

Recommended podcast: Interview of Bill and Melinda Gates

Chris Anderson's TED interview of Bill and Melinda Gates. The interview covers the work of the Gates Foundation and the Gates' philanthropic goals, strategy and philosophy. They also talk about their family, relationship and child raising.

Edited transcript of the talk

Saturday, April 26, 2014

From punch cards to CLUI to GUI to EEUI (Easter-egg user interface)

In the batch processing days, we punched operating system commands into IBM cards. When we moved on to time-sharing, we began typing commands on terminals and later on PCs -- the command-line user interface (CLUI).

While we were memorizing and typing commands, researchers at Xerox PARC were refining the work of people like Ivan Sutherland and Doug Engelbart and developing the modern graphical user interface (GUI).

We could not write GUI scripts, but we flocked to them because they did not tax our memory -- you no longer had to remember a list of commands or type help or man for a reference sheet, you just clicked on a pull-down menu or right-clicked your mouse and saw your choices. Icons like trash cans also helped us see and remember our options and we could also click on clearly-labeled tabs and buttons.

Being lazy and impatient, I liked GUIs.

When touch screen phones and tablets came along with relatively small screens, the space used for menus, icons and buttons was limited so we added a new twist to the GUI -- we hid most of the icons, buttons and menus. The good news is that the screen is uncluttered, but the bad news is that we are back to memorizing commands. We either study tutorial material or we fool around to stumble upon then memorize commands -- the Easter-egg user interface (EEUI).

I understand the motivation for the EEUI, but it is more difficult to learn than a GUI and is not needed on a laptop or desktop with a relatively large display. (Jakob Nielsen describes this usability tradeoff in this post on GUI "chrome").

This was driven home to me the other day, when I went to create an application using Zoho's database service, Creator. I had not created an application for some time, and the user interface had been changed, providing an example of an EEUI.

This is a screen shot of the program's uncluttered dashboard:

When you roll the cursor over a region on the screen, a menu appears giving three choices -- view, edit or delete the current form.

If you move the cursor to the left, the menu choices remain on the screen, but the cursor icon turns to a small hand, indicating that clicking will execute a command. (It activates the form design menu).

Finally, we see a horizontal-line icon, which indicates another hidden menu. This one is hard to see, but perhaps three horizontal lines is becoming known as an icon signifying a drop down menu.

To end on a positive note, I will offer a UI solution for the easter-egg problem: provide a simple, consistent way -- a voice command or gesture on a system with no keyboard -- to toggle between a chrome-free display and one that reveals all easter-egg commands, mode changes and cursor hot zones, as shown below. (This is analogous to a global right-click in a GUI).

Toggle: Easter-egg display off

Toggle: Easter-egg display on

Friday, April 18, 2014

Udacity drops free certificates in their shift toward lifelong vocational education -- universities should pay attention

Udacity has continued with its shift of focus toward lifelong vocational education by phasing out certificates of free courseware completion. The courseware will still be available free, but a certificate will require interaction with "coaches," projects and testing.

The certified course model is explained here and they are offering courses in three certified tracks for now: Data Science, Web Development the Georgia Tech Masters in CS.

Udacity is not trying to compete with universities by offering the equivalent of a college education at a lower price -- they are doing something more subversive -- trying to alter the vocational certification process.

The reason most students go to college is to get a job or get a better job -- what do employers look for in making hiring decisions and will that change in the future?

Consider Google -- here is an excerpt from an interview of Laszlo Bock, senior vice president of people operations at Google:
Q. Other insights from the data you’ve gathered about Google employees?

A. One of the things we’ve seen from all our data crunching is that G.P.A.’s are worthless as a criteria for hiring, and test scores are worthless — no correlation at all except for brand-new college grads, where there’s a slight correlation. Google famously used to ask everyone for a transcript and G.P.A.’s and test scores, but we don’t anymore, unless you’re just a few years out of school. We found that they don’t predict anything.

What’s interesting is the proportion of people without any college education at Google has increased over time as well. So we have teams where you have 14 percent of the team made up of people who’ve never gone to college.

Q. Can you elaborate a bit more on the lack of correlation?

A. After two or three years, your ability to perform at Google is completely unrelated to how you performed when you were in school, because the skills you required in college are very different. You’re also fundamentally a different person. You learn and grow, you think about things differently.

Another reason is that I think academic environments are artificial environments. People who succeed there are sort of finely trained, they’re conditioned to succeed in that environment. One of my own frustrations when I was in college and grad school is that you knew the professor was looking for a specific answer. You could figure that out, but it’s much more interesting to solve problems where there isn’t an obvious answer. You want people who like figuring out stuff where there is no obvious answer.
Maybe Udacity is on to something universities should pay attention to. If Udacity is right, what does that imply for undergraduate education? For research universities?

Sal Khan published a book, The One World Schoolhouse on his educational philosophy and strategy. Here is an interview on the book and the future of the Khan Academy. His view of certification -- of signaling competence -- is not unlike that of Udacity.

Thursday, April 17, 2014

Verizon deception in order to avoid fulfilling broadband committments

In 2006, Bruce Kushnick published a book documenting $200 billion in subsidies given to Verizon on the condition that they make infrastructure investments. They did not make those investments. In 2009, Kushnick published a second edition in which, he increased the amount to $300 billion.

Now ARS Technica has shed some light on tactics Verizon uses to avoid fulfilling committments:
To make sure it doesn't have to complete the buildout to all of New Jersey's 8.9 million residents, Verizon led an astroturf campaign that flooded the state Board of Public Utilities (BPU) with hundreds of identical e-mails purporting to support Verizon's case. One person who is listed as having written one of these e-mails told Ars that he didn't submit anything, and if he did, "I would've slammed them." A report in Stop the Cap this month found several other Verizon "supporters" who had no idea e-mails were submitted under their names.
Kushnick has been researching and writing about this sort of thing for years and Verizon has agreed/decided to invest in mobile infrastructure and marketing, not home connectivity. It is good to see it finally getting wider coverage -- if the general public begins to wake up to the self-serving, anti-competitive behavior of the telephone and cable companies, we may see some real change.

Update 11/30/2014

A common pattern -- an ISP promises to make capital investments in infrastructure in return for a rate hike or permission to merge -- then they break the promise. Bruce Kushnick has been writing about this pattern for years. His latest example concerns AT&T's promise to roll out fiber in return for a merger with Direct TV. The FCC asked to see AT&T's plans and they received fully redacted documents. For the full story of this and many other broken promises, see Kushnicks book The Book of Broken Promises.

Wednesday, April 09, 2014

My son pays $30/month for symmetric, 100 Mbps Internet service ... in South Korea

My son lives in a relatively small city about 50 miles from Seoul.

He has a choice of three major Internet providers -- their monthly list prices for symmetric 100 Mbps Internet connectivity are as follows:

KT Corp: 31,680 ₩
SK Broadband: 33,000 ₩
LG Corp: 31,350 ₩
1,000 won is just under one dollar – about 96 cents, so, they are all around $30 per month.

Here is a copy of his latest bill from SK Broadband:

The top line is his charge for the month. (The second line shows the balance due from the previous month).

The charge is 35,000 ₩ (I guess there are some taxes), but he has a 13,000 ₩ discount because he signed a two year contract. With that contract he is paying about $22 per month for 100 Mbps connectivity.

How does that compare to your Internet service bill and speed?

How about customer service? Here is a quote from a comparative review of South Korean ISPs:
As mentioned earlier of fierce competition between a much-similar service providers, they will dispatch a repairman within a few hours of your call, even on WeekEnd!
How is it that Korea has achieved intense ISP competition? There is no simple answer, but the government has pursued a multifaceted policy encouraging investment and demand creation and providing common infrastructure, which is used by compteting ISPs (as in Singapore, Sweden or Latvia)

By contrast, we have little ISP competition in the U. S., leaving customers in a weak position -- dealing with non-competitve providers of a necessary service.

Update 4/11/2014

My son saw this post and offered a couple of corrections. He sent me prices for the three major ISPs he can choose from, but says there are a number of smaller ones -- he said I understated the level of competition. He also said that the difference between his bill and the list price I quoted was not due to taxes, but the fact that the list price comparison he sent me was from a blog post and may not have been current. His list price is 35,000 ₩, not 33,000 ₩, but the general point remains true.

Monday, April 07, 2014

Laptop vs Chromebook vs Tablet

I have played around with an Acer C720 Chromebook on and off for the last two weeks -- trying to see where, if anywhere, it might fit into my digital life.

My primary computer is a laptop, but I use a tablet from time to time, and, the bottom line is that the Chromebook is not ready to replace my laptop, but, it trumps the tablet.

I came to this conclusion by considering my digital applications and the hardware. Let's begin with a look at my applications


Consuming Web content: I often have fifteen or twenty browser tabs open That is no problem for my laptop, which has 8 GBytes of memory, but, I worried that the C720, with only 4 GBytes of memory might not be up to the task. I did not have to worry -- the C720 surfs as well as my laptop.

Casting tabs: The C720 easily outperformed my laptop in smoothly, quietly (no fan noise) casting video streams to the Chromecast device on my TV set. The Chromebook wins this application hands down since my laptop is unusable for video tab casting. In testing tab casting, I also noticed that its display colors are cooler than the TV set or laptop.

Email: I use the Thunderbird email client for most of my email and my primary account is on my university's Exchange server. I prefer Thunderbird because I am used to it, but Outlook Web App (OWA) runs in a browser and is an excellent client. I could easily give up Thunderbird and use OWA on the Chromebook. I could also access it on the tablet, but want a real keyboard for writing email.

Drafting documents and HTML pages: On my laptop, I usually draft documents (like this post) and edit HTML pages with a text editor and paste them into an application like Blogger or Word. Google Docs or Word Online could replace my text editor. The Chromebook and laptop are about even on this score, with the tablet a distant third, for lack or a keyboard or precision pointing device.

File transfer: Edited HTML pages must be transferred to my server and I have not found a browser-based FTP client with the features I take for granted when using FileZilla on my laptop. If anyone knows of a good one, let me know.

Microsoft Office apps: As a teacher, I create a lot of Powerpoint presentations and frequently need to write a formatted document. Neither Google Docs nor Office Online can match Office. I expect the next big clash between Google and Microsoft to be in the browser, and, if I were in charge at either company, I would put a lot of resources into these applications, but, for now, I'm sticking with my laptop.

Image editing: I have not found a Web-based image editor with the speed and features I need. I do not need a high-end image editor like Photoshop, but do need speed and features like layers, magic wand and other selection modes, effects and adjustments, fat bits, etc. provided by the editor I use, If you know of a tablet or Web-based image editor that can keep up with, let me know.

Audio editing: I only work with speech, not music, so don't need a professional editor. I use Audacity to record, capture and edit speech and have not yet found a Web or tablet based equivalent.

Video editing: I use Camtasia Studio for capturing and editing video. It has plenty of features for what I do, but, unlike open source Audacity and, it is expensive. I would love to find a "good enough" video editor editor for my laptop or online or on a tablet.

Podcatching I download a lot of podcasts using iTunes and listen to them on a small mp3 player. I've never used a cloud-based podcatcher -- are there some good ones?

Writing programs: I don't do a lot of programming these days, but occasionally fire up Visual Studio for a utility example or in teaching. Microsoft is moving in the direction of a browser-based version of Visual Studio and Google is developing Spark, a browser-based development envirionment, if I were at Microsoft, I'd speed up that effort. For now, I need the laptop for running Visual Studio.


As we saw above, the C720 is fast. With 30 browser tabs open, I was able to stream video smoothly and there was no noticeable delay when changing or opening tabs. Checking memory utilization, we see that it nearly all being used:

In spite of that, the Chromebook operating system and swaps between memory and the solid state drive are so fast that I did not notice slowing.

So, the system hardware is fast, but what about the input/output devices?

Screen: The larger, high resolution screen on my laptop allows me to work comfortably with two windows open -- the Chromebook screen is cramped when creating content.

Keyboard: Typing is easier and faster on the laptop, with its larger, deeper keyboard. I don't have a tablet keyboard, but, if I did, I would want one that was full size.

Pointing device: The trackpad on my laptop is smoother and more precise than that of the Chromebook and there is enough physical space for real buttons rather than the virtual buttons on the Chromebook. I like the two and three finger gestures on the Chromebook trackpad, but that is not enough for me to favor it.

Summing it all up

As a content creator, I prefer my laptop because of its input/output devices, but as a content consumer, my laptop cannot compare to the security, simple set-up, battery life, quick charging, instant on/off, size, weight and $250 manufacturer's suggested retail price of the C720. The Chromebook is comparable to a tablet in convenience and simplicity, but is more useful for casual content creation and light editing. If I have one computer, it would be the laptop, but, if I could have two, the second machine would be a Chromebook.

Of course different people have different applications. I let my 11 year old grandson Lucas use the Chromebook for a while then asked him how he liked it and how it compared to his iPad. He said he likes the touch screen of the iPad and missed that on the Chromebook, but he said the Chromebook was better for the "Interweb" and there were more games that he liked. He did not like the feel of the Chromebook touchpad, but liked the keyboard because he could type things like he does with Microsoft Word. The bottom line question -- I asked if he could have only an iPad or the Chromebook, but not both, which would he choose, and he preferred the Chromebook.

My wife reads email, consumes Web content, does Skype calls, takes photos and plays games. She would probably prefer her iPad to the Chromebook. And, geekier folks might get around some of the Chromebook limitations by installing Crouton, which would allow them to run Linux-based applications like Audacity, the audio editor I mentioned above.

How about the future? What about five years from now, when I hopefully have at least 100Mb/s connectivity, a much faster CPU and a Chromebook that runs HTML 6? I suspect that I will be doing more in the browser, and the Chromebook will look better than it does today, but I will still want the form factor and input/output devices of my laptop for content creation. So, I bet I have a laptop and a small Chromebook in five years, but I don't expect to own a tablet. Sorry Apple.