What do you want? It seems like a simple question, but it can be deceptively difficult to answer. Even when you do have an answer, “wanting” something doesn’t seem to be any guarantee that it’s possible, or if it is, that you’ll actually do it. How can you reconcile the things you want to do, and the things you are capable of doing, with the things that actually get done? There is no easy answer, but it can help to think of your wants as distinct from your wishes–and to realize that you can wish for making better choices, not just for having better choices available. Continue reading →

“A government big enough to give you everything you want, is strong enough to take everything you have.”
–Gerald R. Ford

It got me thinking about the relationship between power and freedom, and how that relationship applies not only to governments but also to businesses, authority figures, laws, programming languages, and even games. Continue reading →

Like many hackers, my first real programming language love was Lisp. Paul Graham, who inspired my own explorations of the language, is a particular advocate and has written quite a bit about Lisp and what makes it different from other programming languages. So what does make Lisp different? Why does Lisp continue to be one of the most powerful, flexible, and concise programming languages in existence, despite the fact that it was invented in 1958–making it the second-oldest high-level programming language in the world? Continue reading →

As our transition from agriculture to manufacturing shifted the focus from food to material wealth (commodities), we are undergoing a similar shift now where material wealth is becoming as cheap as food became during the industrial revolution (introducing similar problems of overabundance). As material goods were the most valuable things before the industrial revolution, ideas and information are what’s most valuable now–in other words, service industries. This has implications across the economy not just concerning which businesses will make the most money, but how most of that money will be made. Continue reading →

How come nobody told me about this before? Amber Smalltalk is a dialect of the Smalltalk programming language, which is what caught my attention. I have been a fan of Smalltalk for years, but the image-based development environment proved a little too cumbersome and monolithic for my tastes. Amber to the rescue!

Amber is a Smalltalk language for web development. Now, as I understand it, there is already an excellent Smalltalk-based environment for web development called Seaside. However, what sets Amber apart from other Smalltalk variants for the web is that it is client-based, and compiles directly to JavaScript. This means, among other things, that you can go try Amber out right now using nothing but your browser! It’s the perfect “gateway drug” for the wider Smalltalk world! I find this especially appealing because it means I won’t have to learn JavaScript to do portable, client-based web programming! Hurray!

After my initial “project” (modifying the “counter” example to count only by primes), I’ve started working on a web-based game. It won’t be the much-anticipated port of my game “Press A to Win” (my apologies to both of you who were hoping it would be), instead it will be a game about numbers! A game about finding numbers’ unique prime factorizations, specifically. What? Why are you looking at me like that? Of course it’ll be fun!

Anyway, you should go check Amber out. It’s great. I’ll have something more for you to look at next week. Until then, stay curious!

I’ve expressed unpopular opinions about nerd idols before, but this one is a little harder for me to talk about. My dislike of Terry Pratchett’s books is simple: I don’t like the deconstructionist genre. Easy enough; I can just stick my tongue in my cheek and go on a rant. But my reasons for disliking World of Goo and Little Inferno aren’t so straightforward. Continue reading →