programming

41 posts under this tag.

Star
The Secret Lives of Numbers 2
0
0
6
Aug
04

Overview and Detail. The pair keeps coming up whenever you start pondering on interfaces, interface patterns, interface & information design, and well (why won’t be grand?) space, time,ELZR and thought itself. Achieving both—the ancient dream of simultaneity—is one of the deep purposes of any media creator, from writersEE to interface designers, and though it may be a humble example, The Secret Lives of Numbers—an interface to the results of a crazy study of the search-engine popularity of every integer between 0 and 1 million1—is a superb one.

The resulting information exhibits an extraordinary variety of patterns which reflect and refract our culture, our minds, and our bodies.. We surmise that our dataset is a numeric snapshot of the collective consciousness. Herein we return our analyses to the public in the form of an interactive visualization, whose aim is to provoke awareness of one’s own numeric manifestations.

Click to view a 3.15-Mb PDF critique of the interface (right-click and select Save Link As to download)
The denizens of the number line are not the mere automatons or corporate tools we have made them out to be: each has a personality, talents, communities, and sometimes a little je ne sais quois. They reflect us. This unusual reflection is the focus of this project.

As for the credits:

Concept, direction, interface design & programming: Golan Levin
Interface and information design: Martin Wattenberg
Database & CGI programming (2002): Jonathan Feinberg
CGI programming (1997): David Becker
Statistics consulting: David Elashoff
Essay and research: Shelly Wynecoop

If you believe in geniuses you’re in for a treat checking out the three URLs above—each of them’s one. Martin Watenberg in particular, has some of the most intriguing information visualizations I’ve ever seen.

1 Though owing to limitations of internet bandwidth only data for the first 100,000 are provided online.

Linguistic vitality on the web 2
0
0
6
Aug
02

As I said on a previous post, I believe Spanish, my mother tongue, has a low status on the web. And as I laid there pondering the subjectivity of my assessment, I remembered Mihaly CsikszentmihalyiWP’s fascinating account of how (and why) he became a scientist (it appears in John Brockman’s excellent Curious MindsAM, a compilation of similar tales by top-notch scientists and a sure recommendation to anyone).

The particular anecdote that came to mind was when he and a friend quarrelled over whose neigborhood was the more communist (the matter was relevant because he was living in Italy and the country was then in political turmoil). Their brilliant analytic idea to try to settle the question was to count out the circulation of the left- and right-leaning newspapers in each of their neighborhoods’s newsstands. This of course sent them into all sorts of interesting statistical considerations, but it put them on the path of finding the subtle answers to their question, and it was certainly better than “the hocus-pocus most adults rely on to bolster their arguments”.

So I want to try to do something similar with my question—what is the linguistic vitality in the web of 14 languages?—and this post will be the beginning of my investigation. For reasons of practicality and personal bias, the 14 languages I’m going to settle to are: EnglishWP, GermanWP, FrenchWP, PolishWP, JapaneseWP, DutchWP, ItalianWP, SwedishWP, PortugueseWP, SpanishWP, FarsiWP, ChineseWP, EsperantoWP, and HindiWP.

It's one of those moments 2
0
0
6
Jun
26

It’s one of those moments when my head spins, twirls, swirls, and whirls. I’ve been seriously reading JS, CSS, and UI, since yesterday but it was just a couple of hours that it all came together. Let’s begin this Bushean trail with Ashley Pond V’s mindblowing, free web-book Developing Featherweight Web Services with Javascript. Then hop on to Sergio Pereira’s excellent Developer Notes for prototype.js. (Prototype.js, if you must know, is the JS framework.) Glen Murphy (recent googler) has a lot of interesting JS projects up his sleeve (say, this clock), and if you want clarity in this muddleheaded webworld, read everything you can find from Douglas Crockford (recent Yahoo)—all he’s written on JS is gobble-up-worthy, specially recommended are Prototypal Inheritance in JavaScript (it’s so short and yet it will change completely how you write JS) and Private Members in JavaScript (a wonderfully clear and short overview of JS object-orientedness). Did you know about JSON (Javascript Object Notation)? One last word on JS coding (and learning), please don’t do it without an HTML Real-Time Editor, a Javascript Shell, and a Javascript Development Environment—just don’t.

Yahoo! has a pretty nice UI blog going on (a couple of days ago, for instance, they did a nice post on the Patterns Behind the Yahoo! Home Page Beta) and they recently released an awesome Pattern Library (Yahoo! is becoming pretty cool lately… at least for developers). UI patterns seem to be all the rage these days and deservedly so. Jenifer Tidwell recent O’reilly, Designing Interfaces, looks set to become a classic (and some very worthwhile excerpts are available online). Out in the wild web, there’s even a pattern of how to build patterns, an interesting conversation on patterns here (intro, 1, 2, 3, 4), and Nine Tips for Designing Rich Internet Applications to which I wholeheartedly agree.

Doesn’t it just floor you how smart and fast things are becoming?

OK, back to work.

Wisdomous 2
0
0
6
Jun
25

I set out to serve me. Rails is a very selfish project in that respect. It gained a lot of its focus and appeal because I didn’t try to please people who didn’t share my problems. Differentiating between production and development was a very real problem for me, so I solved it the best way I knew how.

It’s hard enough to solve your own problems with eloquence. Trying to solve other people’s problems is damn near impossible—at least to do so to the level of satisfaction that would make me interested in the solution.

That’s why we hold the notion that ”frameworks are extractions” so very dear in the Rails community. Frameworks are not designed before the fact. They’re extracted when you’ve proved to yourself that an approach works. Whenever we get ahead of ourselves and try to leap over the extraction process, we come back sorely disappointed.

I believe that’s why Rails just feels right for so many people—because it’s been used by real people for real work before we dished it out for others to reuse.

I may be besotted with infatuation right now, but I believe there’s true wisdom—hard, distilled, endlessly applicable wisdom (well, what is wisdom if not particularly broad and useful patterns?)—up there.

And as a sidenote, I propose a new dictum based on the quote’s last paragraph: Use before you reuse.

Star
Blackboxing is how you do things with computers 2
0
0
6
Jun
20

to blackbox could be to reify thru interface. To suggest or implement a conceptualization thru interface. A basic strategy for synthetizing reality, it stems from an active rewriting of the famous duck test: “If I make this look like a duck, and quack like a duck, I may as well be able to conceptualize it as a duck”. The conscious, deliberate, “I make” part is crucial; to blackbox is not just to simply conceptualize, is to wilfully conceptualize something by painting an interface on it.

(Contrived) Usage Examples:

  1. “In modern programming, we blackbox our way out of complexity thru functions, objects, aspects, macros, and the like.”
  2. “Money is our society’s blackboxing of wealth, that is, of ‘what people want.’ We ought to remember it when trying to ‘make’ money.”
  3. “With the magic of silicone, you too can blackbox yourself a pair of massive pointy hooters!”
  4. “At this point, perhaps a better title for this essay is probably ‘An easy way to blackbox your own file-extension.”
  5. “The Kuratowski definition of an ordered pair as {{a},{a,b}} is pure blackboxing.”
  6. “In defining the class PlanePoint, from the stored attributes xPos and yPos you can (and probably should) blackbox Distance from them thru the distance formula.”
  7. “Let’s wrap these almost-expired candies with this cute cellopane bag and this lace bow, and blackbox them into a ‘Super Saving Kit’.”
  8. “I’m dying for someone to blackbox reputation, population, authority—the whole memetic shebang—thru some kind of social software.”
  9. “Don’t you find it amazing how blackboxing lanes and pedestrian crossings on the street thru mere painting can be so useful?”
  10. “Let’s blackbox operating systems away thru browsers!”

The word comes, of course, from the technical meaning of blackbox: “a device or system or object when it is viewed primarily in terms of its input and output characteristics.”

An easy way to create your own file format 2
0
0
6
Jun
20

I stumbled upon the .CBR extension some days ago and it was interesting to read its description, via filext:

This is a renamed .RAR file and can be decompressed with any .RAR file utility. The CDisplay program displays the comic book images so it is useful to use for this particular .RAR archive type.

Think about it, to create the ultimate comic-book format you simply wrap together some images (GIFs, JPGs, PNGs) and some (optional) introductory text (a .NFO or a .TXT) in a .RAR file and rename it. That’s it. A batch of pictures has been converted into a black-box, into a comic book. We’ve reified a comic out of thin pixels. That’s all CDisplay needs to let you seamlessly experience those images as a comic, but you could get as baroque in your specification of a file format as you like. For, say, a hypothetical .BIO file-extension used to store people’s biographies, you would specify a .RAR wrap of that person photo (that must be named, say, “mypic”, and must be a JPG), one photo as a kid (named “kidpic”), one photo of each parent (“mompic and “dadpic”), a curriculum vitae (“vitae”, must be a .TXT file),... you get the picture. Half of the magic, of course, resides in the reading-program, but that’s the easy part.

Here are two extra, contradictory advantages of creating file-formats thru .RAR wrapping:

the tying is loose
The elementary constituents are still available to anyone with a .RAR decompressing utility.
the tying is tight
You’re using a compression format after all, so you are probably saving at least a couple of bytes (though the time spent decompressing things on the fly could easily turn this into a disadvantage).

What struck me about this file-extension thing was how such a seemingly low-level nitty-gritty construct as a file-extension can be blackboxed mostly thru the high-level path of drag-and-dropping icons to WinRar.

Today's Reading: Kon’nichi wa, Ruby 2
0
0
6
Apr
22

Unlike most people these days, I happened to chance upon Rails through Ruby, not the other way round. But wait, today’s reading is a tad geeky but I’m putting it up here for non-geeks to read it —particularly those, you know who you are, that don’t yet speak any computer language— so here’s some context: Rails is a tool (a web framework they call it) to make web-apps (that’s right, a meta-tool: a tool to make tools) and Ruby is the computer language in which Rails is written.

Anyway, I can’t remember how I found Ruby but I can tell you when I was certain it was something truly special: when I found Programming Ruby: The Pragmatic Programmer’s Guide and, shortly thereafter, Why’s (Poignant) Guide to Ruby. The first one is a most delightful, witty, unique manual of the language made out of of an acute bout of ruby-rapture and given away for free by its freakishly talented authors; the second is the exact same thing.

So, after much ado, here’s today’s reading: the first chapter of Why The Lucky Stiff’s poignant guide, Kon’nichi wa, Ruby . Technophobists worry not, this chapter doesn’t contain a line of computer code nor does it force you to install a thing, it’s just good ole prose. It is my Trojan horse to try to get you to learn Ruby (you gotta learn a computer language someday). In fact, I’m so confident in my wooden stallion that let’s do this: you only need to read the very first section (1. Opening This Book) of the chapter. If it doesn’t mesmerize you, if you don’t have the weirdest crooked grin on your face by it’s end, feel under no obligation to read any further.

Star
Because we can 2
0
0
6
Apr
17

Storage space and computing power are dirt cheap; our task isn’t to “use them efficiently,” it’s to “squander them creatively.”

Or I could tell you about the time Apple released an unbelievably cool, unbelievably wasteful, 3d-rotating user-switching. The best description I read, and it still reads on the feature page: “Because we can.”

I'm so tired 2
0
0
6
Apr
07

Goddamned Rails-Engines!

...

mmm… Ok, Ok… I take that back. They’re indeed very helpful but installing them locally was a true nightmare and now that I was finally ready to deploy to TextDrive they refuse to cooperate. I’ve no idea what’s going wrong. I was counting on having my (political) web-app online tonight but it seems it’ll have to wait until tomorrow, my eyes are too bleary.

And the worst thing is that it’s almost 5AM. Which means one more day I miss my yoga class. Oh well… :(

Sleep that knits up the ravelled sleave of care

The death of each day’s life, sore labour’s bath

Balm of hurt minds, great nature’s second course,

Chief nourisher in life’s feast.
Macbeth, William Shakespeare

(I just found out there’s a pretty good song from The Beatles with the same title as this post. Heh. A nice surprise.)

Star
Formists 2
0
0
6
Mar
12

  1. A patternist is someone with an unusual ability to discern, manipulate, and enjoy patterns.
  2. A form is a linguistic pattern.
  3. A formist is someone with an unusual ability to discern, manipulate, and enjoy forms.
  4. Formists are prone to strange and seemingly dumb language misunderstandings. A subtle error in form in a sentence can led a formist completely astray. This is often irritating to non-formists—who, as if they wore cognitive sunglasses that dull them to form, remain undazed by its glaring inconsistencies.
  5. It is also common for a formist to stop people in mid-sentence only to point out a particularly beautiful (or ugly) form they just noticed in their conversation or the surrounding language. Non-formists find this offensive and obnoxious. They shouldn’t—to continue the sunglass metaphor, where they see drab colors, formists enjoy vivid hues.
  6. Formists are good at spelling and care about it (even in spite of themselves). They just can’t help noticing it.
  7. Formists make formidable poets, programmers, writers (of all kinds), philosophers, mathematicians, linguists, and translators.
  8. Formists excel easily in school and in academia in general, both having a marked bias towards verbal talents.
  9. Formists learn new languages faster and better than non-formists—to the point that their enthusiasm and natural talent can be seriously annoying and off-putting to non-formists. Even Norbert Wiener, one of the greatest mathematicians of the twentieth century, was overwhelmed by his extremely formist father.
    Thus it was a familiar part of our life to hear foreign languages spoken in the household. My father, indeed, could speak some forty of them. He was so proficient in linguistic matters that his insistence as a teacher on accuracy and fluency had the somewhat surprising effect of almost completely inhibiting the efforts of my mother and of us children to speak more than one language.
    I Am a Mathematician, Norbert Wiener
  10. Formists have a natural bias against non-formists (and vice versa); they often think (mistakenly, of course) that theirs is the only kind of intelligence.
  11. Linguistic pedantry is an occupational hazard of being a formist.
  12. Eemadges is a website for and by formists. So is the lovingly kept Language Hat.
  13. Homo Sapiens is the formist ape.
  14. We live in the age of the triumph of form. In mathematics, physics, music, the arts, and the social sciences, human knowledge and its progress seem to have been reduced in startling and powerful ways to a matter of essential formal structures and their transformations. The magic of computers is the speedy manipulation of 1s and 0s. If they just get faster at it, we hear, they might replace us… Life in all its richness and complexity is said to be fundamentally explainable as combinations and recombinations of a finite genetic code. The axiomatic method rules, not only in mathematics but also in economics, linguistics, sometimes even music. The heroes of this age have been Gottlob Frege, David Hilbert, Werner Heisenberg, John Von Neumann, Alan Turing, Noam Chomsky, Norbert Wiener, Jacques Monod, Igor Stravinsky, Claude Levi-Strauss, Herbert Simon.

    [...]

    A college student enrolled in economics, once a branch of ethics, will now spend considerable time manipulating formulas. If she studies language, once firmly the province of humanists and philologists, she will learn formal algorithms. if she hopes to become a psychologist, she must become adept at constructing computational models. The manipulation of form is so powerful and useful that school is now often seen as largely a matter of learning how to do such manipulation.

    The Way We Think, Gilles Fauconnier, and Mark Turner (both emphases are mine)
  15. Much (arguably lame) humor is formist in nature. Puns are the quintessential formist joke.

    What did the Buddhist monk say to the hotdog vendor?

    “Make me one with everything.”

    * * *

    When the monk asked for his change, the vendor replied, “Change comes from within.”

    Formists just want to have fun.

  16. A formist compliment: “I’m warm for your form.”
  17. Formists enjoy proverbs, sayings, slogans, mottoes, aphorisms, and quotes in general. Have you noticed how trivial and pedestrian they sound when rephrased? Much of what we love in them is their form.
  18. Esperanto is the formist language—a mixed blessing.
  19. Math is the study of patterns through forms. And thus it was so disappointing to find so surprisingly few formists during the time I pursued a Math major.
  20. Algebra is the most formist of math theories.
  21. A classic formist comment: ”X is almost a lump of syntactic sugarWP .
  22. It takes a formist to enjoy Toki Pona.
  23. This list of figures of speech is a formist’s field day. So is this collection of aphorisms.
  24. All sitcom dialogues are formist but The Simpsons is specially remarkable. Here are two noteworthy compilations of Simpsonian formist candy: Beyond embiggens and cromulent and Subtly Simpsons.

    Carl [To the MENSA members]: Let’s make litter of the literati!

    Lenny: That was too clever! You’re one of them! [punches him]

    Episode: AABF18, They Saved Lisa’s Brain
  25. Touch, a language of making languages, is a formist wet dream.