Tuesday, September 21, 2010

Language Semantics

Some 50 years ago, the renowned linguist Roman Jakobson pointed out a crucial fact about differences between languages in a pithy maxim: “Languages differ essentially in what they must convey and not in what they may convey.” This maxim offers us the key to unlocking the real force of the mother tongue: if different languages influence our minds in different ways, this is not because of what our language allows us to think but rather because of what it habitually obliges us to think about.
...
When your language routinely obliges you to specify certain types of information, it forces you to be attentive to certain details in the world and to certain aspects of experience that speakers of other languages may not be required to think about all the time. And since such habits of speech are cultivated from the earliest age, it is only natural that they can settle into habits of mind that go beyond language itself, affecting your experiences, perceptions, associations, feelings, memories and orientation in the world.
From http://lambda-the-ultimate.org/node/4062

Friday, September 10, 2010

ZUI Presentations

Zoomable UI, definitely feels cool on first encounter - not convinced though that it's much better than regular slides. Nice implementation though from prezi.com

Thursday, September 9, 2010

Polyglot Programming

A typical week (and sometimes day) consists of a little bit of the following: C++, C#, Python, Javascript.

 C# 
  • Asset-Backed Position Management UI in WinForms.
  • Trade And PnL UI in WPF for a high frequency trading engine. Using RX for processing streams of incoming messages, hoping it can scale to > 1k ticks/sec.
C++ 
  • high frequency trading engine: position management, pnl calculations, high-performance messaging. Advanced use of templates, custom memory pooling, concurrency. Ahh, it's been a while since I cared so much about bits and bytes. But as Alan Kay once said "if a company is really serious about software they need to build their own hardware", so I got myself a new book on top of the stack on my desk: Bebop to the Boolean Boogie - it's a fun book, even if at the expense of accuracy (for example the author claims that Perl is one of the first scripting languages, I am no expert on these matters but looks like sh predates perl by a decade, while I was fact checking I was shocked to discover that perl is now 23 years old! and python is almost 20).
Python
  • Building a web app on Google AppEngine. (using django templates, meta programming with decorators, metaclasses, and other nifty python stuff that make it a very elegant language. Python is FUN; glad that the author of a book i am currently reading - programming collective intelligence - opted to use py for the examples).
  • Curses UI in a Unix environment (initially it started out as a somewhat specialized file grep+tail, but, bam, a couple hundred of python lines later it's a multithreaded, curses-based powertool).
Javascript