I could not possibly agree more with this view of teaching software/CS.
We are focused on introductory programming education at a high-school and collegiate level — what is often called “CS 1” and “CS 2” (roughly, the first year of college). Pyret is being actively used in everything from high-schools to upper-level collegiate courses, giving us a tight feedback loop.
Of course, even in that setting there are differences of opinion about what needs to be taught. Some believe inheritance is so important it should be taught early in the first semester. We utterly reject this belief (as someone once wisely said, “object-oriented programming does not scale down”: what is the point of teaching classes and inheritance when students have not yet done anything interesting enough to encapsulate or inherit from?). Some have gone so far as to start teaching with Turing Machines. Unsurprisingly, we reject this view as well.
What we do not take a dogmatic stance on is exactly how early state and types should be introduced. Pyret has the usual stateful operations. We discussed this at some length, but eventually decided an introduction to programming must teach state. Pyret also has optional annotations, so different instructors can, depending on their preference, introduce types at different times.
I’m delighted to see work on languages like Dr. Racket and Pyret, and the more so because the teams behind both have been willing to set aside many of the dogmas of how CS has been taught and actually do pedagogical research. Also: OOP is a useful tool, but I’m with them: treating inheritance as a first-semester concept is… nutty.
The whole “Why Pyret?” page is worth reading if you have any interest in programming languages or teaching software development and computer science.
A month ago, Alan Jacobs asked about quality conservative Christian podcasts. Here’s a big part of why there are so few (at Mere Orthodoxy):
As a Christian in the world of podcasting—I have both a “two dudes talking” show (Winning Slowly) and also a “one dude talking with maybe a brief musical intro and outro” show (New Rustacean)—I found much to agree with, but also much to clarify and a few things to disagree with…
First, a set of theses on podcasting as a medium. Some of these are obvious; none are intended to be tendentious. Some of them warrant further explanation—for which, see below….
After which, 32 theses (and another ~3,000 words) on the constraints and challenges of podcasting as a medium.
Aside: the format of this particular piece is heavily inspired by Jacobs’ own “79 Theses on Technology. For Disputation.”
I always appreciate Ben Thompson’s takes, but this—on the Thiel/Gawker imbroglio—is one of his best posts ever.
When designing a program, one should first think about how to make a intuitive and powerful program. Implementation issues should only be considered once a user interface has been designed.
This design rule is different than the others, since it describes how one should go about designing new features, not what the features should be. The problem with focusing on what can be done, and what is easy to do, is that too much of the implementation is exposed. This means that the user must know a great deal about the underlying system to be able to guess how the shell works, it also means that the language will often be rather low-level.
Dear Republicans: your opposition to net neutrality might be justifiable as something other than kowtowing to megacorporations if you ever got around to proposing something else. As is, all you’re doing is propping up some of the nastiest, most anti-consumer companies in the country and sustaining monopolies and duopolies, supposedly in the name of “free markets”.
N.b. This isn’t intrinsically a partisan issue. It’s become one, but mostly because Republicans have felt compelled to do the bidding of the telecom industry for… reasons.
The only thing worse than a government monopoly is a private monopoly.
If Republicans wanted to push for local loop unbundling in place of net neutrality, almost everyone would be for it. (The exception: telecom companies.)
Ooh, look! A beta for Reeder 3! Shiny!
Another one in the music industry—but in this case, companies taking the long view and advancing the good of the whole community, rather than just their own bottom line. (Spreadbury, the guy behind SMuFL, was one of the team laid off in the aforementioned layoff from the Sibelius team, and now heads the product development for a new notation software tool from Steinberg.)
Avid: charging Sibelius users more money than ever for less value than ever, after laying off their dev team a couple years ago just to maximize profits.
This is not Winning Slowly material here, folks. They lost me (and many other) customers along the way, and they’re headed further down that road here.
Subscription models for software can be valuable and reasonable—but the providers have to justify them with product to match. Avid isn’t, and hasn’t been. I’ve no doubt they’re continuing to profit in the short term, but this will no doubt erode their market position and waste an amazing product in the long term. Greed destroys good things.
I confess: my first response to seeing this page was a flash of anger: Hey, he didn’t just learn from my site configuration, he actually stole my site design_!_ And then I remembered: I open-sourced the design precisely so people could do that. This was just the first time I’ve ever actually had someone reuse something I did and shared like this. It was a strange (but ultimately wonderful) feeling. I hope to have it again many more times.
In any case, I rather like the tweaks Andrew Comenga made to my design to make it his own; go take a look!
“I don’t want a back door,” Rogers said. “I want a front door. And I want the front door to have multiple locks. Big locks….”
Rogers suggests the adoption of “front door” access will allow for essential security measures while keeping data safe from hackers or an outside attack. But opponents of the idea note that even broken into pieces, a master digital key creates security flaws. “There’s no way to do this where you don’t have unintentional vulnerabilities,” Donna Dodson, chief cybersecurity adviser at the Commerce Department’s National Institute of Standards and Technologies, told the Post.
That last bit is absolutely true. The government basically wants to make sure it can spy on anyone, any time it wants. That’s a bad, bad plan.
One thing I didn’t talk about in comparing reading experiences on a Kindle and on an iPad the other day is the elephant in the room: old-fashioned books. I enjoy Kindle and iPad, but I still love books best. Turns out I’m not alone… and there might just be reason for it.
Paper books were supposed to be dead by now. For years, information theorists, marketers, and early adopters have told us their demise was imminent. Ikea even redesigned a bookshelf to hold something other than books. Yet in a world of screen ubiquity, many people still prefer to do their serious reading on paper.
Count me among them. When I need to read deeply—when I want to lose myself in a story or an intellectual journey, when focus and comprehension are paramount—I still turn to paper. Something just feels fundamentally richer about reading on it. And researchers are starting to think there’s something to this feeling.
Pretty damning of the current (lack of a) regulatory regime, if you ask me:
According to a recent study by Ookla Speedtest, the U.S. ranks a shocking 31st in the world in terms of average download speeds. The leaders in the world are Hong Kong at 72.49 Mbps and Singapore on 58.84 Mbps. And America? Averaging speeds of 20.77 Mbps, it falls behind countries like Estonia, Hungary, Slovakia, and Uruguay.