Ouverture

on liminal issues

using many Heroku accounts, or pushing under many GitHub accounts
General,Opus,Projects

It all starts with SSH. First of all make sure that for each account, you have its respective identity file at hand, preferably stored under ~/.ssh. Most code in this article derives from Aeonscope and this is an empirical reincantation of the article.

Read the rest of this entry »

kerner
General,Opus,Projects

tidyCJK

Announcing lib.tidyCJK.js which pseudo-kerns Chinese, Japanese and Korean passages by properly inserting a space between CJK glyphs and Latinate / numeric glyphs in them. Clone it or fork it on GitHub.

It’s an early alpha, so might be full of bugs. With imminent field application, its quality and accuracy will likely improve. tidyCJK uses Unicode1, so it needs to run in an environment that supports JS 1.3+.

Why use lib.tidyCJK.js

For the exactly same reason why Cappuccino is strong: standard bodies move slowly, and despite that CSS3, a work in progress, already has much in store, we need similar capabilities now. And we often have to interact with existing material, which comes from all places in all sorts. Better post-process everything and make them look good than wait for everyone to conform.

Finding a character’s code easily

Add this little cute recursive JavaScript method if you’re targeting JavaScript 1.5+ 2, so you say String.hex instead of String.hex() 3:

String.prototype.__defineGetter__("hex", function() {

    var response = [];

    for (i in this) {

        var charCodeString = this.charCodeAt(i).toString(16);

        response.push("\\u" + (function(stringToWrap, finalDigits, padding){

            if (stringToWrap.length >= finalDigits) return stringToWrap;
            return arguments.callee(padding + stringToWrap, finalDigits, padding)

        })(charCodeString, 4, "0"));

    }

    return response;

});

And call String.hex — for example:

>   "f(*^%)g".hex
["\u0066", "\u0028", "\u002a", "\u005e", "\u0025", "\u0029", "\u0067", "\u0066"]

Happy Kerning!


  1. Get the code charts here. 

  2. Check out Wikipedia’s comparison table — IE 5.5+ is presumably already on JS 1.5. 

  3. In the old days, say String.prototype.hex = function () { foo; }

barker
Meditative,Opus

Barker.js might provide a minute splash of glee. It also comes with a bookmarklet 1. Click and tell:

Barker

Barker is updated with a jQuery-based replacement method (we added a lazy-loading mechanism with a callback) so now it works with Chrome.

Don’t quit your day job

Word. But maybe untrue.


  1. Even told me that it is tiresome to make a bookmarklet which works cross-platform, and upon discussing the rationale we came up with this solution. We initially thought that embedding a jQuery loaded, neé jQuerify, or using $LAB might suffice… But it seems that we could use some RegEx magic instead. 

populous
Opus

On A Popular Misconception, and iA’s reality check.

Design mixes idealism and realism. Despite that there are no leather buttons “in the real world” [sic], we use it sparingly. The key, undoubtedly, is “sparingly”. Kitsch? It is necessary if it works nice.

Quoted,

The passive (or as Apple calls it: “lean back”) tablet format suggests creating limited information architecture with linear use modes. In comparison to a website, an iPad app is like a closed egg.

[This] is one of the main challenges iPad app design poses to interaction designers. How do you make navigating on iPad as easy as breaking an egg? And in particular, how do you measure information on a device without static scrollbar?

In order to make the user feel in control of an iPad app you either need a strong and simple structured overall content model that is consistent with the mental model of most users (like the brilliant Marvel application)—or you need to re-invent the way information is measured and orientation is given.

We’ll see.

Why teamwork is not always a fine choice

Depends on whether the goal is to develop or maintain something.

leveldiving
Meditative,Opus

People who think about software frameworks ought not use the same thought pattern against consumer and practical, applied software.

That’s why the dubbed “C on Rails” is outright a joke. We can’t live without embedded software, but things start to get awry when people obsessed with embedded software start dictating how applied, consumer software ought to be done.

Perhaps because I’m obsessed with applied software. Perhaps because I love prototyping, and am bad at mass-producing. Time will tell.

Factoring Estimations

By anectodal evidence, it takes me approximately 1 week to churn out a full-fledged design, but that week is often scattered within a span of 2 or 3. That means my turnaround is not “one week” but 3. Rule of thumb: multiply the budget, and the time it takes to finish everything by 3.

A designer friend of mine goes this way:

“Two monthes of cushion time to the estimation, always.”

Word.