Sunday, October 21, 2012

Alternate Paths: MOOCs

I've long been a fan of online education. The origin of these pages was my past experience self-educating on the web. I don't think it's that hard, if you just do it. Hence the fairly straightforward sidebar to the right. I recognize though that it is hard to know you can just do it, until you've done it once or twice.

It seems that a consensus framework is building for Massive Open Online Courses (MOOCs). I gather from these videos that an emphasis is made on community building and networking. I can certainly see how that would ease the transition into online learning for the new student. And, as emphasized in those videos, give them a dual take-away, in both knowledge and a network of like minded friends.

So ... I better take a MOOC to figure it all out. Ideally I'd find a MOOC starting up that is about MOOCs themselves. (I'm not sure why MOOCs have start and end times, and don't just have "class of X" starting every week. That's something to learn.)

Top MOOCs are: Udacity, Coursera and edX. Check 'em out.

Alternate Paths: Nand to Tetris

"Here [via boing-boing] is an absolutely inspiring TED Talk showing how 'self-organized computer science courses' designed around students building their own PCs from scratch engaged students and taught them how computers work at a fundamental level."

It is the kind of thing us old timers did, as we climbed from tiny 70's computers to next (for us) millennium monsters. Looks good.

Saturday, October 20, 2012


So ... as we programmers fully automate everything, what happens to the work week?

In the future, we’ll only work 15 hours a week. So said John Maynard Keynes in 1930. Keynes’s utopianism is nothing new – it’s been a common refrain since the Enlightenment, when French philosopher Condorcet pushed it to absurdity by suggesting that an infinite expansion in human height was just around the corner.

John Quiggin has a great, nuanced re-evaluation of Keynes’ prediction. He writes that “for the first time in history, our productive capacity is such that no one need be poor” and that it is possible to achieve Keynes’s vision by 2060. The biggest obstacle won’t be productivity, but social norms

Counterparties via Felix Salmon. I enjoy the Jetsons reference.

Brains Plus Brawn

I'm slightly off charter again, but I love this article by Daniel Lieberman on the evolution of humans as big-brained runners:

Why did brains get so big? There are a number of obvious reasons. One of them, of course, is for culture and for cooperation and language and various other means by which we can interact with each other, and certainly those are enormous advantages. If you think about other early humans like Neanderthals, their brains are as large or even larger than the typical brain size of human beings today. Surely those brains are so costly that there would have had to be a strong benefit to outweigh the costs. So cognition and intelligence and language and all of those important tasks that we do must have been very important.


Until extremely recently, you couldn't live, you couldn't survive as a human being without being an endurance athlete. Not just hunting and gathering requires athleticism but also being a farmer. Subsistence farmers have to work extremely hard. Until the invention of industrialized machinery, farmers had to work even harder than hunter-gatherers, often spending many thousands of calories a day. They have to dig ditches and throw vast quantities of hay into bales and they have to schlepp stuff all over the place. Farmers had to work brutally difficult, hard, exhausting lives. It wasn't until, again, the invention of new technologies such as domesticating animals or even more recently machinery such as the internal combustion engine, that farmers were able to live non-grueling lives.

To be true to your nature, don't let that desk job take over completely. Sit on a yoga ball, and go for a hike (or run) now and then.

Thursday, October 18, 2012

Conservatives and Science

I'm veering off-charter a bit. Do read the sidebar to your right for a learn to program gameplan.

I'm struck by a few things though, reading Mike Dwyer's Conservatives and Science at The League of Ordinary Gentlemen.

Dwyer quotes a bit about "the growth of regulatory science," and then says "we have a scenario where science is allowing itself to be politicized." He's talking from his perspective as a archaeologist and anthropologist. My question to him would be, what if you had been a fisheries scientist?

I think a parallel world Mke Dwyer, one who became a fisheries biologist, would view all this very differently. I don’t think he’d view the loss of North Atlantic cod as a “political” issue. I mean, politics are a reality of the mind. They are philosophy. A fishery that is gone for good is gone for good.

(For those who don’t track fish news, the North Atlantic has sadly entered a stable state without the return of cod. For a good read, see Cod: A Biography of the Fish that Changed the World)

Also for what it’s worth, I think “young earth evangelicals” were the wedge that split conservatism from science. I got a chem degree in the 70′s myself, and at the time that was compatible with Republicanism. Now, not so much.

Tuesday, October 16, 2012

A123 May Seek Bankruptcy

A sad day for electric vehicle enthusiasts. At one time A123 was the contender for cheap and powerful batteries. Now, not so much.

A123 Systems Inc. (AONE), the maker of lithium-ion batteries for electric cars, said it may run out of cash to fund operations and may need to seek bankruptcy protection.

A123 expects to be in default under material debt agreements today, the Waltham, Massachusetts-based company said yesterday in a regulatory filing. A123 didn’t expect to be on time with an interest payment due yesterday on $143.8 million of notes expiring in 2016, or to make a payment due yesterday on $2.76 million in outstanding 6 percent notes, according to the filing.

Electric power is hard. (A semi-related topic for this blog, for those interested in embedded programming and especially transportation.)

Small Science

This article confirms a hobby horse I've had for some time, that big science is too much loved, and small science is neglected as a result:'

I am a big fan of Small Science. In spite of the riches unearthed by Big Science in the fields of biology and physics during the last fifty years, historically speaking much of scientific progress has come from small groups or individuals working with relatively cheap equipment and resources. For instance consider discoveries like the structure of DNA, the structure of proteins, nuclear fission, the cosmic microwave background radiation and the transistor. All of these have been the beneficiaries of Small Science. Even in those cases where large organizations have supported these developments, the key findings themselves have come from small groups left alone to pursue their own interests. The work done by these groups benefited from a maximum of flexibility and a minimum of bureaucratic interference.

More at SciAm: In praise of Small (and Cheap) Science

Sunday, October 14, 2012

Cognitive Surplus is Real, Waterfall Swing Edition

"Shown at the World Maker Faire in 2011, the device is a swing set capable of accommodating one or two people using it at a time. What makes it interesting, is that water comes out of the top support bar, forming a wall of water for the riders to pass through. This wall is then broken when the swing user flies through it making for a dry experience." Via Hack-A-Day.

Monday, July 9, 2012

Objective-C Overtakes C++

I was pretty harsh on C++ in my entry on that language. I even called it "crap," before saying "beginners should avoid the horror."

At one time that would have been heresy, but it seems to be trending toward conventional wisdom. As this I Programmer page shows, C++ has been overtaken by Objective-C.

Monday, July 2, 2012

Cheap Notebook Computers

I designed my study plan (in the sidebar) around cheap computers. At the time I wrote it, I thought good Linux-ready desktops were going for around $50. That wasn't much to spend if you couldn't find one in your closet.

I'm browsing Craigslist right now, and I'm kind of amazed. There are some good notebooks for less than $100. As an example:

IBM Thinkpad T43, Wi-Fi, 1.86Ghz, 1GB, Fantastic Condition - $80

I think we might be about to ubiquitous computing. From this point on computing power is approximately free. Of course, you can still drop a thousand on a new Mac notebook ... for however long that lasts.

Sunday, July 1, 2012

The PHP Singularity

Coding Horror does a long piece on the awfulness of PHP. It surprised me, frankly. I saw PHP as a good low level tool. I don't see it as a high-powered or high-level computer language. And maybe that's the key. There are a lot of computer languages in the world. You can either learn one really well, and use it as your tool to attack every problem, or you can learn a few and select one for the job.

I see PHP as a simple tool for creating the simple websites that make up 80 or 90 percent of our web universe. You certainly can create a restaurant's website, complete with menu, map, and daily specials, without taxing the language. You can do an auto dealer's site, list current inventory, and take service reservations.

At some point though, PHP will top out. It will be when the things you are trying to do become a bit too data intensive and computationally demanding. If you want your auto site to have a "build your car" page, first showing a wirefrime, and then showing it in your color, etc., that could be a bit much. You probably could do it in PHP, but then you'd run into the kind of frustrations Coding Horror shares with us.

That's my perspective as a former Java programmer, coming from a world where we were carrying around a lot MORE language and complexity than we needed for simple jobs.

Wednesday, June 27, 2012

Wednesday, June 13, 2012

Torvalds on “throw-away cheap”

Adafruit notices an interesting bit in a BBC interview with Linus Torvalds:

"The recent launch of the Raspberry Pi, running on Linux, has attracted a lot of attention. Are you hopeful it will inspire another generation of programmers who can contribute to the Linux kernel?"

"So I personally come from a “tinkering with computers” background, and yes, as a result I find things like Raspberry Pi to be an important thing: trying to make it possible for a wider group of people to tinker with computers and just playing around.

And making the computers cheap enough that you really can not only afford the hardware at a big scale, but perhaps more important, also “afford failure”.

By that I mean that I suspect a lot of them will go to kids who play with them a bit, but then decide that they just can’t care.

But that’s OK. If it’s cheap enough, you can afford to have a lot of “don’t cares” if then every once in a while you end up triggering even a fairly rare “do care” case.

So I actually think that if you make these kinds of platforms cheap enough – really “throw-away cheap” in a sense – the fact that you can be wasteful can be a good thing, if it means that you will reach a few kids you wouldn’t otherwise have reached."

I thought I'd repeat this here, because it is what this blog's method is about. I recommend "throw-away cheap" computers that are already in your closet or garage, but as I've mentioned, the Raspberry Pi works too.

That said ... a stick-to-it-ness helps. Don't give up too soon.

Saturday, February 11, 2012

Resources: Software Carpentry

Audrey, at Hack Education, has a nice post up on Software Carpentry and paths forward.

Software Carpentry is not a site I'd seen before. I've been saying, my theme, has been that there are more low-level resources out there then people know. My claim is that the problem is higher up, linking students to what they in particular need at a particular time.

That said, I think Software Carpentry has a pretty good high-level structure. In fact, their game plan is very much like my own, in my sidebar. It might be a little less a roadmap, but it covers the same bases, and does have tutorials for each step along the way. My approach, you remember, was to teach the meta-skill to "google bash scripting" or whatever, rather than to try to write it or own it ...

Anyway, Software Carpentry looks to be a good solid resource.

Friday, February 10, 2012

Study Groups

Here's a neat report, via Adafruit Blog:

Every week at a kitchen table in Brooklyn, coders Amit Pitaru and David Nolen host a salon/workshop called Kitchen Table Coders, bringing together a small group of people to discuss and study one subject at a time.

The photo looks very Community ;-)

Wednesday, February 8, 2012

Alternate Paths: O'Reilly School

Their blurb is:

Earn Your IT Certificate in 2012

Only with online courses from the O'Reilly School of Technology can you master in-demand IT development skills by using programming to learn programming.

It looks pretty good with a wide range of courses.

The front page is here: O'Reilly School of Technology. Check it out. I think I might, actually, for a little refresh on technologies I haven't used in a while.

Monday, January 30, 2012

Lectures Don't Work

The full article is worth a read:

Science Finds a Better Way to Teach Science

The basic idea is that students who put knowledge to immediate use remember it better. I guess that's not a surprise to those of us who prefer internet tutorials to dry lectures. It might even be a defense of my "go do it" method in the sidebar.

If you have a game plan, google for answers, and build a LAMP server, you'll learn a lot.

Monday, January 23, 2012

Alternate Paths: Udacity

Felix Salmon has a really great report on the Stanford AI experiment:

Thrun told the story of his Introduction to Artificial Intelligence class, which ran from October to December last year. It started as a way of putting his Stanford course online — he was going to teach the whole thing, for free, to anybody in the world who wanted it. With quizzes and grades and a final certificate, in parallel with the in-person course he was giving his Stanford undergrad students. He sent out one email to announce the class, and from that one email there was ultimately an enrollment of 160,000 students. Thrun scrambled to put together a website which could scale and support that enrollment, and succeeded spectacularly well. Just a couple of datapoints from Thrun’s talk: there were more students in his course from Lithuania alone than there are students at Stanford altogether. There were students in Afghanistan, exfiltrating war zones to grab an hour of connectivity to finish the homework assignments. There were single mothers keeping the faith and staying with the course even as their families were being hit by tragedy. And when it finished, thousands of students around the world were educated and inspired. Some 248 of them, in total, got a perfect score: they never got a single question wrong, over the entire course of the class. All 248 took the course online; not one was enrolled at Stanford.

He follows with news of a new venture:

But that’s not the announcement that Thrun gave. Instead, he said, he concluded that “I can’t teach at Stanford again.” He’s given up his tenure at Stanford, and he’s started a new online university called Udacity. He wants to enroll 500,000 students for his first course, on how to build a search engine — and of course it’s all going to be free.

Looking out there now, I see a couple computer science courses. This could shape up well.

Tuesday, January 17, 2012

Alternate Paths: Raspberry Pi

In my sidebar I recommend using an old abandoned computer to learn the LAMP stack.  If you, friends, or family, have such a computer sitting around, it's obviously the cheapest path.

The Raspberry Pi is a very similar and low cost alternative.  As Roy Wood reports:

The Raspberry Pi system is a single-board computer based on the Broadcom BCM2835 system-on-a-chip. The specs include a 700MHZ ARM CPU, a VideoCore IV GPU, up to 256MB of RAM, an SD card reader, USB ports, and an optional ethernet port. The device supports common USB peripherals like mice and keyboards, can be connected to a TV or monitor, and will run Debian Linux. Oh — and did I mention that a Pi will cost a mere $25 or $35, depending on the model?

The Pi is just entering production. It is an alternative, but might be a little tight on memory, compared to the typical disused closet PC.

Monday, January 2, 2012

Alternate Paths: Code Year

Code Year is a very interesting concept. It is a promise to send "a lesson a week" by the Codecademy folks. They don't give too much more info, do they? ;-)

I'd guess that it is a JavaScript-first programming path, based on Codecademy lessons.  As I mention on in my JavaScript page, Codecademy does have many happy users.

So if you like the JavaScript path, and weekly emails sound like the structure you prefer, go for it!

(Hat Tip Red Sweater Blog)

Sunday, January 1, 2012

Alternate Paths: Scratch, Alice and Greenfoot

I was just flitting about the webs myself, and came across this discussion of three recent educational languages.  The age targets are interesting:

I'd say Greenfoot comes closest to my target for my hypothetical audience (mostly 15-25, mostly male).  Greenfoot is a visual programming environment for Java which gives a jump-start to the interesting bits, with what looks like great visual feedback.

I kind of suspect that if you ended up here, you have an interest in programming for production (be that personal, open source, or commercial use).  For that kind of goal a Greenfoot and then Java path wouldn't be so bad.

Check out Alice and Scratch if you feel they better fit your profile.

Alternate Paths: Google App Engine

Can a new programmer jump right in and program the cloud?  It could be.  Google does have good documentation and tutorials at their main page:

Google App Engine

There are currently three languages options offered: Go, Java, and Python.

I did a little by the Python path, and liked it.  I think Python is a better match than Java for a widely distributed cloud solution.  It's just so much lighter to interpret a page, rather than launch an object-oriented runtime. If you take the Python path, the "stack" is HTML, CSS, the Python language, the Django framework, and then the AppEngine API.

I haven't tried the Go Programming Language and won't comment on that option ... other than to say it is probably a fine language, but wouldn't yet have the market potential of Java or Python.

Alternate Paths: HTML5

In the narrow sense, HTML5 is just a new generation of the HTML markup language. In the broader sense though, HTML5 is an application programming environment. It is possible to deliver useful programs using that broader bundle of technologies (HTML5, CSS3, JavaScript, etc.). The key advantage to a HTML5 learning path is that you can write (and deliver!) programs without becoming an operating system or database expert.

We are perhaps at a bit of a juncture.  MobileBeat claims HTML5 will kill the native app.  It may, but that may not be something a beginning programmer needs to worry about.   I think it is enough that the technology is popular, current, and growing.  It's a good start.

Jochen Voss gives a quick overview in How to Write an HTML5 App?

Google "HTML5 tutorial" and "learning HTML5" for the latest, best, pages.