HN user

tr4nslator

267 karma

Freelance Japanese translator. Working on langwidget.

tr [atto] nslator [dotto] jp

Posts5
Comments36
View on HN
Beef Bowl Economics 16 years ago

The Japanese government is not unique here. Earmarks and pork are just as big a problem in the United States.

I actually think this is less magical than most approaches, since there's no pre-compilation or "with" scoping magic. Sinatra's hello world is awesome, until you realize that a lot of the cool stuff is scoping magic that you have to throw out when your app has to play nicely with others.

My original approach for (fab) was like jQuery:

  fab()
    .find( path )
      .bind( method, handler )
      .find( subpath )
        .bind( method, handler )
      .end()
    .end()
  .end()
but I realized that I could simplify things by getting rid of methods entirely, and reserving methods for HTTP methods and status codes.

As for people not realizing they can define functions outside of the DSL, I'm hoping that the extensibility of middleware will mitigate that, just as the ecosystem of plugins did for jQuery.

Yeah, a (fab) function just returns itself. It's like jQuery's chaining, but using argument signatures instead of object methods to delegate work. The last (fab) is just a way to indicate the chain is over so that a listener can be returned, and has the additional benefit of making it look declarative.

Hey all,

I just launched a dead-simple web framework on top of node.js. It uses (abuses?) a lot of the dynamic nature of javascript to create a jQuery-inspired DSL that's pure javascript, allowing you to create really concise web apps like this:

  ( fab )
    ( "/time", function(){ return "the time is " + (new Date).toTimeString() } )
    ( "/date", function(){ return "the date is " + (new Date).toDateString() } )
  ( fab )
I'd love to hear any feedback from the folks here, so check it out and let me know what you think.

You might want to create your own original "feedback" image for the tab on the left. Yours[1] appears to have been copied from uservoice[2] (probably a leftover from deciding to use their feedback or use your own, am I right?).

  [1] http://www.fromabirdie.com/images/feedback_tab_white.png
  [2] http://cdn.uservoice.com/images/widgets/en/feedback_tab_white.png

It's a lesson in the difference between translation and localization.

In this case, Google's approach confuses the latter for the former, because its corpus contains parallel texts that have not only been translated (into a different language), but also localized (into a different locale). For example, it may be extrapolating incorrectly from a French document and an English document with the following phrases in the same location:

  FR Cliquez ici pour la version anglaise.
  EN Click here for the French version.
This sign is another good example of how parallel texts are not always translations:

http://flickr.com/photos/jadelin/2205088201/

(the Japanese "おかえりなさい" here means "Welcome home")

I agree. It's not monetizable in its current state, but I'm curious what features you think would get it closer, such as:

* more rich replacement (including functions/regex) * dynamic content like stock prices * ability to chain expansions quasi-recursively * SSL / privacy

As a reference point, TextExpander (http://www.smileonmymac.com/TextExpander/) is an OS X app that offers similar functionality, and it's $30.

After getting such useful feedback on HN for typd.in this week (special thanks to huhtenberg/LogicHoleFlaw/ken), I thought I'd put our next project out there to get some more ideas.

textpanda is a simple bookmarklet that lets you define shortcuts for any text input on the web (think really simple emacs bindings). Since it's more of a quick proof of concept than anything, we're not quite sure what to add next (functions and other dynamic replacement? real user authentication? subscriptions to other users' macros?) and would love to hear what you guys think.