Thursday, May 10, 2007

A Judicious Use of Javascript

Ought to write more. Yesterday: "Maybe it is that I've been blessed with no memory." Today, however, I reconsider. There's a worthwhile lesson manifest in the CPU/RAM tradeoff. While blessed in some capacity, I still need to compensate. So. Ought to write more.

Last night was interesting, at least. Devoted to better Javascript understanding. Processed various forms of Douglas Crockford, JS guru at Yahoo!. He's wonderfully clever, gives great presentations with refreshingly good jokes. He promotes JS as a globally misunderstood language, and I'll admit I was guilty.

Javascript succeeded in what Java aimed to do. Its roots in the burgeoning browser industry were fraught with design errors, many of which persist. Doesn't really contain Unicode. That fucking global namespace. Its specifications result from a tug-of-war match fought in Europe by competing American companies. It's badly named, and abounds with bad ideas. Separate Math class, other bad Java residuum. But I'm still altogether taken.

He claimed it to be a functional language, and though unconvinced I'll still recognize closure as its lambda, and fundamentally important. Through linkage it manages inheritance. Labelled breaks, plus operators like && and || and === have interesting and useful functionality.

Genius, though? DYNAMIC OBJECTS. He got that point across. Objects are just containers. Big hash tables, really, and to any one you can add extra properties or methods. Want to give every Array your own method? Want to create an object? {}. There. It's lambda for anything static.

The global thing is a pain, but there seem to be sufficient ways around it. Crockford encapsulates his own YAHOO object, with its own namespace, separate from the global window. That's enough to manually establish scope.

Great Crockford quote, from another talk: "On the web, bugs don't get fixed." Every decision lingers. Most people update browsers when they update computers. It's a sad state of affairs, and you're left with multiple implementation differences between DOM APIs, but it's what's necessary for innovation.

Tuesday, May 8, 2007

Engage

I've written before of Philadelphia torpor. It overpowers my shy creative impulse and too my larger desires. A year ago I felt myself emerge from it, and broke free to find an unfamiliar fire. I'm again eager for something big, but its shrouded shape is what interests me tonight.

Aaron Swartz writes about living under the System, and his point arrives largely intact. When you apply for a job, you strive to fit yourself into someone else's puzzle.

In college, you serve another purpose. Penn will take credit for anything I do later in my life. They depend on some of their students doing something worth taking credit for. A university is a pompous business, nurturing good-intentioned academic elements for growth and profit.

How to get away from all that, from the expectations and motives of others, to live alone for something bigger. MD asks who's behind it all, who arranged to elect the president who appointed the Supreme Court judge who struck down the law. The founders, I suppose. We're still living out their dreams and ideals. It's unfathomable, a few people with a historical footprint so wildly enormous.

Today, we have digg, we have reddit. They remind me of those water pumps disguised as playground roundabouts. They run on latent energy. The people all over the world taking coffee breaks. These web-based systems largely serve themselves, but similar machines might not suffer such limits.

I never dreamed the sea so deep,
The earth so dark; so long my sleep,
I have become another child.
I wake to see the world go wild.

Allen Ginsberg
"An Eastern Ballad"

Wednesday, May 2, 2007

Users in the World

Finally broke through a wall, and things are developing. Went with Tom Wu's RSA scripts, due to better concentration on encryption and proven integration with openssl on the backend. I keep bouncing between 1024 and 2048 bits, when I really shouldn't give two shits. But happy news, login works and all the little pieces of functionality are there.

Now I'm pondering a redirection of the project. It's too ambitious, but that's forgiven for obvious motivational benefits. I'm just worried it won't catch on. It's not focused, and users won't see the appeal. It should focus on pictures and maps, and tying people to them. I love this idea. It's exciting. Ortanique? Orthopter? Something with ORT.

So many of these fancy Web 2.0 doodads are too about users. The content surrounds users. In a few places, users are beginning to meet foreign information, information that doesn't have to do with them, and that's key. That's travel and pluralism and self-perspective, and that's what the web needs to be about.

Saturday, April 28, 2007

Portrait of Good Friend Reem

Rocking and Rolling

Mistakes will follow learning, and as much as I want to get things done I'm enjoying the mess. I'm dealing with lots of blank files and sketchy ideas. Every aspect is cluttered. But every piece is of omen.

I decided to make the RSA encryption 2048-bits, since user registration is too rare an event to impact performance too heavily, and I'm uneasy going below the default of ssh-keygen (notwithstanding my using openssl, with a default of 512). Also, though I'm sure to dip into Perl at some point, I'm trying to lay off just to learn some more PHP. I love it, so far. Encryption would be painful without sessions, and mod_php in general makes working on HTML oddly fascinating, thanks to all the server-side ability.

I hated HTML before. Boring, cosmetic. Fussy. Not Turing complete.

Javascript is the next great frontier. Once I've polished the tracer backend, I'll repolish my AJAX skillz, grown dusty since my widget work one clean year ago. Chad's doing interface work after his exams are through, so hopefully I'll be able to meet him halfway.

Monday, April 23, 2007

The Future, Conan?

My schedule, skeletal! My database model, desolate! Tonight, I'll begin mapping out my informational infrastructure, namely what I'll accommodate and relationships between objects.

Database design involves iterating through the different levels of normalization. I've got First Normal Form down, since it's simply splitting your data into separate interrelated tables. Second Normal Form is about columns depending on part of a composite key, and Third pertains to ridding tables of interdependent columns, which seems intuitive. For myself, that's far enough; more silly tables means more silly JOINs.

So tonight I'll brainstorm, and unless dawn breaks on a chaos of lines and scribblings I will have failed.

System Salt

One globe seemed all too small for the youthful Alexander.
Juvenal