Subscribe

Some Chrome For Pjs

May 9th 14:24
by why

So, yeah, Processing.js. Big fans of Pjs in this vicinity. Doesn’t do all that Processing does (in the way of: video exports, 3-D, and plugin support) but it’s totally amazing what it does with a few K of JavaScript and a browser. This will wipe out the applet completely.

Rather than just link to it and yelp HOORAY!, I thought I’d keep Resig’s birthday jaunting along with some XUL chrome, designed to mimick the real Processing.

One great thing about this is that you can run this app if you have Firefox 3.

firefox -app /path/to/processor/application.ini

Processing.js is included in the app’s tarball. Just add Firefox or XULRunner.

I don’t know if anyone else has tried this yet. Don’t want to step on any toes. The git repo is open for contribs.

Clearing Up The Whole Shoes And RubyGems Deal

May 8th 00:18
by why

Here’s my reason for stalling on the question of Shoes and how to get gems to work with it.

Sneaking Ruby Through Google App Engine (and Other Strictly Python Places)

May 5th 11:11
by why
$ git clone git://github.com/why/unholy.git
$ cd unholy
$ vim hello.rb
$ bin/unholy hello.rb
$ PYTHONPATH=python python hello.rb.pyc

Your Eight Second Calling Card

April 23rd 10:04
by why

See, it’s just a lick of Javascript. And you end up with this:

Which makes these.

manveru: now we can have asynchronous phone calls!

Get your Firefox extension, Greasemonkey script or bookmarklet at this place.

Making SCUMM Games

April 22nd 10:44
by why

After three years since their last release, ScummC has hit 0.2.0. And it’s looking really good. They have a short but rather complete example (a port of Michael Sheail’s OpenQuest,) the source code for which is included in the ScummC distro. We’re talking: roughly 3000 lines of a JavaScript-ish language. So, hey, this seems to be a great avenue for creating adventure games, folks.

The language consists mostly of setting up objects in various rooms and laying out what sorts of ways you can manipulate those objects. So, an object could be a gun. Or it could be an NPC, such as Carol:

object carolObj {
  name = "Indigenous lifeform";
  verb(int vrb,int objA,int objB) {
    case TalkTo:
      zobTalkToCarol();
      return;
    case LookAt:
      if( ! knowsCarol ) {
          egoSay("A large carbon based mammal, it seems.");
          waitForMessage();
      }   
      else {
          egoSay("It is Carol, one of the local lifeforms.");
          waitForMessage();
      }   
      return;
    case Smell:
      egoSay("This creature has an overwhelming pungent smell.");
      return;
    case Move:
      egoSay("The lifeform is surprisingly sturdy, I don't believe I can use force.");
      return;
  }
}

The bulk of the code is spent setting up the various rooms and objects and bits of dialog. But you are also free to set up all of the action buttons and the inventory drawer. In fact, a fairly large chunk of code in the sample game is used to setup a subscreen for picking your dialog from a script (just as in The Secret of Monkey Island or Day of the Tentacle.)


And yet, this project has been virtually ignored by everyone, including the ScummVM community, with no mention of it on their wiki and only smatterings of discussion on the forums last year.

Now, of course, SCUMM games are lo-res and old-fashioned. Why would anyone target the ScummVM? Well, perhaps for nostalgia. Maybe because it’s pretty easy. And there is a wealth of fans that’s already obsessed with the VM.

But, come on. ScummVM is hugely cross-platform. We’re not just talking Linux, OS X and Windows. It’s perfectly stable on the iPhone, Palm OS 5, Windows Mobile and the Nintendo DS. Seriously: Dreamcast? SCUMM always hits a platform first.

For now, it’s something of a sweet spot between VMs and emulators. Reaching platforms that Java and Flash neglect. While not being as primitive as NES or Genesis emulators are to develop for.

Jason Garber Finishes SuperRedCloth For Me

March 20th 19:02
by why

The Tiny And Accomplished Lew

March 4th 23:30
by why

François Lamotte took some time to e-mail in about his friend 4P8. He thought we’d like this.

4P8: In the same time, the personal computing paradigm matured. The original rogue program that assumed a total control over what was perceived as a hobbyist toy have now to behave nicely. It has to comply with access rights, to accept and process requests from the graphical environment, to follow a rigorous syntactic and conceptual model and so on.

So, here we’ve got another tricky, little graphical gear to spin! LEW is an art tool which embeds the Lua language and it’s inspired by (you guessed it) NodeBox and Processing. And BASIC. The gallery is incredibly impressive. And equally impressive is the brevity and usefulness of its manual.

You know, things continue to bode well for a real return to the days of bloat-free, starter programming environments. Small and for the layfolk. In fact, LEW makes me feel like Shoes is bloated: LEW is a single binary, around 400k. (Windows only, for now.)

The image at right is a clone of a flight404 demo called “Solar”. Roughly 250 lines of Lua code.


Continuing the quote from earlier:

Is this an advocacy to return to BASIC ? No: the old BASIC is clearly too primitive to handle problems we’re now used to deal with, and new BASIC implementations have just grow in complexity the same way other languages did.

The conclusion is a need to an equivalent of what BASIC was in old personal computer industry: a simple, exploratory language.

Shoes Is Sort Of Making Its Way Through The Linux Packaging Machines

March 4th 10:44
by why
  • Bram Senders has put together a Debian package for Shoes. Available from apt in unstable and testing.
  • And an Archlinux package is out from Michael Fellinger.
  • A Gentoo ebuild was also posted to the Shoes list by Shanoah.

And, beyond that, I develop and build from source daily on Ubuntu and DragonFly.

NKS is OPP

March 2nd 01:30
by why

As of today, Nobody Knows Shoes doesn’t belong to me any more. I have disowned it. Disowned it in both PDF and HTML. I have given it to the publick. It was a bad idea. I realize that now. Clearly! So much egg on my face. And sooooo many pancakes on my knee.

Many of you tried to tell me it was a bad idea. In fact, you told me that all of my ideas were bad. All present and future ideas. So I could have concluded that this was, as well, YES, a bad idea.

But it simply did not occur to me, at the time, that I was probably crazy and probably even insane. I could not see this clearly, from inside my head. However, now that I have had a chance to read a bit more about myself on the Internet, I now see realize I am very berserk nuts and probably doing drugs. I mean, duh, guys, everything that I say is totally unintelligible! You can hardly make out an actual English word when I write. It’s bad. I am spamming the good hackers of our planet.

My first step to recovery is to completely denounce Nobody Knows Shoes. I am distancing myself from it. It’s now completely on its own. I hate it. It reminds me of a very dark time in my life. Don’t make me go there. It gives me the chilly willies to even think about.

Conkeror Comes Unstuck

February 29th 17:36
by why

  • Like: the command g hackety.org takes you here.
  • Ctrl-u g hackety.org opens this site in a new buffer (like a tab.)
  • f 12 opens link #12.
  • Thus, Ctrl-u f 12 opens link #12 in a new buffer.

DragonFly's Freezer

February 27th 15:19
by why

The dfly 1.12 release was yesterday.

require 'dfly'
puts "THIS APP IS GOING TO FREEZE"
case Dfly.checkpoint("test.ckpt.gz")
when Dfly::FROZEN
  exit
when Dfly::RESUMED
  puts "THIS APP IS THAWED OUT"
end

Smudgy Residues

January 26th 15:10
by why

Oh nice, you can now preview the chapters for The Ruby Programming Language by David Flanagan and matz. I did some pencil drawings for each chapter. At left, the demure lady stork for chapter four on “Expressions and Operators.” Really glad David asked me to help and that he gave me plenty of room to draw all my favorite sorts of things.


And, also, demimismo is offering a peek at some of the stuff inside Nobody Knows Shoes. On March 1st, the book will be out in PDF and HTML for you to freely share and print and do with as you please. It’ll be a revised edition with some updates and a few extra pages, yeah.


The Lecturing Of Dr. Plainfield's Trilby

January 18th 13:29
by why

Plainfield: This could lead to… tiny hatreds… building up little by little… throughout the duration… of the development and testing processes. It is to this end that I would to like to propose a system of introspection and collaboration of information that… I’m sure you will find to our mutual benefit.

Loads upon loads of sheer poppycock. While I can admire Plainfield’s candor and the remarkable rapport which he holds with the camera lens, his conflated tone so very does flake my ears away, even as the molting of an aged pelican into the Chesapeake Bay. While I myself have no small affinity for Information and these selfsame platitudes, how quickly I tire of the brash monologues which now clog our youtubes. My migraines are pounding away now with tribal lust and I can do naught but for a nightcap and the tender comforts of a kind buttermilk.

Also, might I add something about goose-stepping morons who should be reading books instead of burning them!

Not Too Far Away

January 13rd 12:18
by why

  • The Io language blog has a nice example of using self-modifying code to implement constants. The call message setName code was used on this blog the other day and some had called into question its usefulness.
  • Special Special Pages is a new blog in the vicinity.
  • Will Larson has a review of Shoes Curious on OS X: “Shoes development on OS X is still fraught with peril.” Thankyou for contributing your test script, Will. I’ll spend some time with this on OS X right now.
  • If Shakespeare wore Reeboks…, an othello game written in Shoes! Can I include this in the samples, supra-please Tieg??

Lazy Bricks, Lazy Mortar

January 10th 15:47
by why

Here’s a bit more Io. Don’t feel obligated to spread this stuff around. I like keeping things here obscure. After RedHanded, it’s nice to have a bit smaller crowd. And this stuff is just written for the few dedicated readers who don’t mind travelling Wherever.

Builder html(
  head(title("Lazy Bricks, Lazy Mortar"))
  body(
    div(
      p("Here's a bit more Io...")
      p("Previously on Hackety Org...")
    )
    div(
      p("Adieu, friends and uncles.")
    )
  )
) print

The Curious Look

January 9th 14:55
by why

Well, that’s pretty wild. Simultaneous to yesterday’s Shoes release, there’s a big article exploring a little Shoes app on O’Reilly’s site by Gregory Brown and Brad Ediger. And it goes through Shoes and Merb together. Let us be friends, Merb. Anyway, you’ve probably already seen it.

Shoes Curious Released

January 8th 15:11
by why

Here are the recommended builds:

Io Has A Very Clean Mirror

January 5th 03:54
by why
Io> plus := block(a, b, a + b)
==> method(a, b, 
        a + b
    )
Io> plus call(2, 3)
==> 5
Io> plus message next setName("-")
==> -(b)
Io> plus
==> method(a, b, 
        a - b
    )
Io> plus call(2, 3)
==> -1

5¢ Concurrency

January 2nd 15:00
by why

This Hack Was Not Properly Planned

December 24th 14:40
by why

Nikolai Krylenko: We must finish once and for all with the neutrality of chess. We must condemn once and for all the formula ‘chess for the sake of chess’, like the formula ‘art for art’s sake’. We must organize shockbrigades of chess-players, and begin immediate realization of a Five-Year Plan for chess.

I can also recommend this harrowing list of chess problemists who died or were imprisoned during this era in Russian history. It’s as if the lines between actual war and the game were blurred: chess became too real and imprisonment became too strategic.