2007 Aug 7, 12:28Paul Graham's essay on the roots of the programming language Lisp.
lisp essay language programming software article history paul-graham 2007 Aug 3, 3:11The JavaScript language. The whole thing.
javascript reference language specification 2007 Jul 22, 8:38Animated interactive graph of the FSM used to parse any regex and corresponding string you enter.
regex flash visualization fsm interactive howto language 2007 Jul 11, 3:52I realized that I have short list of chicken related things I find humorous and they're all available for the linking to via youtube.
Chicken: The Powerpoint Presentation. This is a power point presentation of a research paper written in the
language chicken. (
video)
Bluth Family Chicken Dances. From the show Arrested Development many Bluth family members had their own chicken
dance. (
video)
Peter Fights the Giant Chicken. A man sized chicken fights Peter from Family Guy for multiple
minutes in several episodes mimicking famous action sequences. I must admire the writers dedication to the gag. (
video1,
video2)
roundup video personal chicken humor nontechnical 2007 Jul 5, 1:16Language Log notes a comic displaying a cartoonists rage with regard to the font comic-sans.
comic humor language font rage comic-sans 2007 Jul 4, 10:58Hackdiary
I really enjoy reading Matt Biddulph's blog
hackdiary. An entry some time ago talked about his
Second
Life flickr screen which is a screen in Second Life that displays images from flickr.com based on viewers suggested tags. I'm a novice to the Second Life scripting API and so it was from this
blog post I became aware of the
llHTTPRequest. This is like the XMLHttpRequest for Second Life code in that it lets you make HTTP requests.
I decided that I too could do something cool with this.
Translator
I decided to make a translator object that a Second Life user would wear that would translate anything said near them. The details aren't too surprising: The translator object keeps an owner
modifiable list of translation instructions each consisting of who to listen to, the language they speak, who to tell the translation to, and into what language to translate. When the translator
hears someone, it runs through its list of translation instructions and when it finds a match for the speaker uses the llHTTPRequest to send off what was said to
Google translate. When the result comes back the translator simply says the response.
Issues
Unfortunately, the llHTTPRequest limits the response size to 2K and no translation site I can find has the translated text in the first 2K. There's a flag HTTP_BODY_MAXLENGTH provided but it defaults
to 2K and you can't change its value. So I decided to setup a PHP script on my site to act as a translating proxy and parse the translated text out of the HTML response from Google translate. Through
experimentation I found that their site can take parameters text and langpair queries in the query like so:
http://translate.google.com/translate_t?text=car%20moi%20m%C3%AAme%20j%27en%20rit&langpair=fr|en
. On the topic of non US-ASCII characters (which is important for a translator) I
found that llHTTPRequest encodes non US-ASCII characters as percent-encoded UTF-8 when constructing the request URI. However, when Google translate takes parameters off the URI it only seems to
interpret it as percent-encoded UTF-8 when the user-agent is IE's. So after changing my
PHP script to use IE7's user-agent non
US-ASCII character input worked.
In Use
Actually using it in practice is rather difficult. Between typos, slang, abbreviations, and the current state of the free online translators its very difficult to carry on a conversation.
Additionally, I don't really like talking to random people on Second Life anyway. So... not too useful.
personal translate second-life technical translator sl code google php llhttprequest 2007 Jul 3, 9:25The Language Log folk explain where the 'x Considered Harmful' snowclone came from. Spoiler: Its not Dijkstra.
considered-harmful goto dijkstra etymology language snowclone 2007 Jun 19, 9:25Unfortunate versions of popular pickup lines.
comic xkcd pickup-lines relationship humor 2007 Jun 11, 2:46Humorous and interesting exchange on the Unicode mailing list concerning the velocity of Unicode character additions and the ability to accomidate alien (as in e.t.) writing systems.
blog humor unicode language microsoft article alien et 2007 Jun 6, 4:59A list of free web based language translation services including language guessing which I think is neat.
dictionary translation tool language reference free internet 2007 Jun 5, 3:09Database of very small objects found in basements, under decks, in couch, etc. The objects are added to the database with dimensions, photo, and name given by fun naming system. Database as art.
art humor taxonomy database community language ontology classification 2007 Jun 3, 11:22xkcd's captcha proposal.
captcha comic humor security robot spam xkcd 2007 May 30, 9:34This is the lolcat's programming language.
code humor lolcats language programming 2007 May 21, 3:19A visual graph of a searchable wordnet. Cool looking. Trial version for non registered users.
visualization graph word words design language 2007 May 18, 2:06The previously mentioned chicken research paper is presented. Funny video.
chicken paper research video powerpoint humor language 2007 May 18, 2:05This is a paper written in chicken. The associated presentation is funnier... I'll link that next.
chicken paper language humor 2007 May 17, 5:16Previously I created some
resource tools and then I used them to
overwrite msxml3's
XML source view. In this update I've added support for the XPointer Framework.
This time around I've started to add support for the
XPointer Framework to my
XML source view and
I've added
installation instructions. The framework consists of a series of pointer segments each of which has a scheme name followed
by data in parenthesis. For example 'scheme1(data1)scheme2(data2)scheme3(data3)'. A pointer segment resolves to a portion of the XML document based on the data and the scheme name. The whole pointer
resolves to the first segment that successfully resolves. That is, from the example, if scheme1 resolves to nothing and scheme2 resolves to something then that's used and scheme3 is ignored. In
addition to the framework I've added support for the
xmlns scheme which binds namespace prefixes to a namespace URI and the
element scheme which is a simple way to resolve to particular elements in an XML. I also have limited support for the
xpointer scheme the content of which is resolved as an
XPath with some extra functions (which I don't support --
hence the limited). I've also thrown in schemes for the two
SelectionLanguage values supported by msxml3.
Next time I might try to support the xpointer functions that aren't in xpath using
msxml script. But I think I'm losing steam on
this project... we'll see.
resource technical xml xpointer res xpath xslt 2007 May 11, 3:48Type in some latin script and you'll get back a string of Unicode characters that looks like its rotated 180 degrees. More info on exciting Unicode codepoints.
unicode javascript tool tools web language