Monday, February 15, 2010

Quick Update

Just a quick update before I go to bed. Really, I'd like to give you a much better update, but I don't want my sleep cycles to get even more fucked up than they currently are.

First, I've been programming quite a chunklet of Flash recently. And it's reasonably cool, but there's very little reason for me to use it in general. I don't animate many things, I don't make web games, and the community seems to be almost exclusively geared towards graphic designers (that is, graphic designers who are not also programmers). The entire thing typically gets pitched as an alternative to learning HTML/CSS/JS, with reduced cross-browser headaches.

In practice, ActionScript is a poor-man's jQuery, and IE still breaks things you never really thought could break. The only real advantage flash has over the standard web trio is that you can visually lay out interfaces rather than doing it as a series of nested tags and properties. That's a powerful abstraction once you understand it, but in my experience, not many do. Flash is most powerful when you use the stage metaphor as a way of setting up your objects, then script all of their actions. Actual humans who use flash tend to fall into two groups:

  1. Graphic Designers (with the capital GD) who use the stage for everything. These are the people who will set up empty movie-clips with onEnterFrame events instead of taking the two minutes to understand how setTimeout works.
  2. Programmers (with the capital P) who script everything. Typically, half of their code is things like
_root.createEmptyMovieClip('notification');
_root.attachMovie('notification');
_root.notification.createEmptyMovieClip('okButton');

Second, I haven't made much progress on Emacs Extensions, but I have picked up some data structures literature, and I'm moving onto The Seasoned Schemer. Also, I've found some interesting (if academic) programming problems that I'm trying to work through in Scheme now that I've started using Quack (which reminds me, I'm hacking Scheme again now that my Python project is finished and my PHP contract is winding down). Quack is basically SLIME-lite for the Scheme language. It gives you much better highlighting than the default Emacs scheme-mode, and you can use C-c C-q r to start up a Scheme prompt (which defaults to MzScheme on my machine. I'm not sure if it just uses whichever implementation it finds, or tries to use MzScheme even if it's not installed). The debugger and macro-stepper are now really the only reasons I hop into DrScheme anymore.

Third and finally, I've been spending more and more time tinkering with Apache. Mostly, trying unsuccessfully to get it to play nice with PLT-Server. Apache seems like an application based on how people talk about it and use it, but when you get deep enough into this thing, it becomes clear that Apache is actually a (close to) Turing-complete, XML-based language with none of the debugging ability or cohesion of an actual language. I'm seriously considering picking up Unix Network Programming and getting my head around the protocols just so I don't have to deal with it.

No comments:

Post a Comment