Learning to Program with Teaching Languages

This is a short revue of some of the teaching languages I have been impressed by. If you’re looking to cut your teeth on programming, these are all good choices, they all have easy step-by-step tutorials, they are all available for a variety of platforms including Mac, Windows, and Linux, and they are all free!

Logo

Logo is the Wise Old One of teaching languages. It is also the language that introduced so many of us to geometric concepts via its innovative use of turtle graphics. Here is a free Logo implementation for Mac OS X. Here is a Logo design gallery.

Alice

Alice is an object-oriented programming language that also teaches concepts of 3-D programming and includes built-in tutorials. Here is the Alice home page.

Squeak

Squeak is an implementation of the venerable Smalltalk programming language— perhaps the first true object-oriented language. Here is the Squeak home page. An offshoot of the Squeak project is Squeak Etoys, which is a powerful and dynamic learning environment.

Scratch

Scratch is also based on Squeak, and provides a dynamic programming environment that encourages a community of sharing code among its users. The Scratch home page.

Context Free

Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes. There is a gallery with thousands of art pieces and their source code.

Processing

Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. The Processing home page.

Wiring

Wiring is an open source programming environment for exploring the electronic arts, tangible media, teaching and learning computer programming and prototyping with electronics. Wiring is based on Processing. The Wiring home page.

Arduino

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. The Arduino programming language is based on Wiring. The Arduino home page.

Comments? Send a tweet to @ironwolf or use the response form.
I can’t respond to everything, but I do read everything!

New Tumblelog

You’ve subscribed to the Ironwolf Blog RSS Feed

…you follow Ironwolf on Twitter

…you religiously debate in the Ironwolf Forum

…you own every shirt available in the Ironwolf Cafe Press shop

…you hang out 24×7 in the Ironwolf Chat Room

…and now, in our never-ending quest to satisfy your craving for all things Ironwolf, we present…

The Ironwolf Tumblelog!

A tumblelog is a place for short, stream-of-consciousness links to various web pages, images, videos, or text snippets I’ve found interesting or amusing, but which don’t merit much further commentary. It also exists because after researching a particular topic of interest, I’ve often found myself with dozens of open tabs that I don’t really want to bookmark in my browser, but do want to have some record of— in case I ever want to remember what I was doing instead of the more important things I should have been doing.

Oh, and the tumblelog also incorporates the RSS feeds from my Twitter account, which in turn includes links to my blog posts. So if you want a single RSS feed that covers all three, go for this one.

Comments? Send a tweet to @ironwolf or use the response form.
I can’t respond to everything, but I do read everything!

Autonomous Robots

The thing that all these robots have in common is that they have a certain amount of autonomy— they are given goals and strategies for achieving those goals, but the particular movements they will make at a given time are not known in advance.

Dexter, from Anybots

YouTube Preview Image

BigDog, from Boston Dynamics

YouTube Preview Image

Asimo from Honda, programmed at Carnegie Mellon

YouTube Preview Image

Robot Fish, from Essex University

YouTube Preview Image

Comments? Send a tweet to @ironwolf or use the response form.
I can’t respond to everything, but I do read everything!

Better Than Free?

In an age where a major portion of the economy is based in “digital goods,” that are transmitted through a system— the Internet— where they are of both necessity and choice endlessly and perfectly copied, and from which they can never be fully erased, why would anyone pay for these goods? After all, they’re basically free, right?

As a kid I did on occasion copy game software I wasn’t supposed to. As an adult I still have a few tracks in my music library that I’m really not sure where or from whom I got them. And as a software author, my livelihood depends on people actually ponying up for my digital goods. So I’ve been acutely aware of issues of copyright, and the ancient and seemingly endless technical and legal cat-and-mouse games played by producers and consumers of digital goods.

Take Linux for example: it’s a great operating system. It is widely used in both business and academia. It is more stable than Windows. It runs on almost any hardware. And unlike my favorite operating system, Mac OS X, it is free. So why hasn’t Linux taken over the world? The short answer is that although Linux is “free,” commercial OSes like Mac OS X are often “better than free.”

Kevin Kelly, in his article Better Than Free in the latest Edge, points out that not only is the number of digital goods available “for free” rapidly increasing, but so are the number of types of goods becoming digital, and hence free to store and copy. These products include the formulas for drugs and our own genetic codes.

So what will people pay for? Kelly’s article describes eight so-called “generative” qualities that keep people ponying up even when the goods themselves can be had for free. These qualities point to new business models that anyone who makes their livelihood from goods that are digital (or that will become so) should keep in mind. Here are my distilled summaries of these qualities— read his article for more detail and examples.

Immediacy “I’ll pay to have it now.
Personalization “I’ll pay to have it my way.
Interpretation “I’ll pay to get the most out of it.
Authenticity “I’ll pay to get the creator’s mark and warranty on it.
Accessibility “I’ll pay to have someone keep it safe and bring it out when, where, and how I want it.
Embodiment “I’ll pay to experience expressions of it that are highest-quality, or most unique and rare.
Patronage “I’ll pay to reward the creator for it, and encourage them to continue creating.
Findability “I’ll pay to easily find what I want, even when I don’t know what I want.

Comments? Send a tweet to @ironwolf or use the response form.
I can’t respond to everything, but I do read everything!

A Little Bird Told You

twitter.pngI now have a Twitter account, so if you want to tune into my ongoing answer to the question “What are you doing now?” then feel free to follow my tweets. The sidebar of my blog now also includes my latest tweets. I plan to keep them to two to three per day, and I’ll see whether I can make them interesting. But no promises.

Comments? Send a tweet to @ironwolf or use the response form.
I can’t respond to everything, but I do read everything!

The Secret History of Hacking

In junior high and high school, I never engaged in phreaking or other black hat activities. But I certainly could have, because I spent a good deal of time with that crew as I pursued my own computer-related interests. And I still keep the original hacker ethos alive in a lot of my current adventures. So watching this 2001 documentary gave me numerous nostalgic flashbacks.

http://video.google.com/videoplay?docid=5464925144369700635

Comments? Send a tweet to @ironwolf or use the response form.
I can’t respond to everything, but I do read everything!