May 2008
20 posts
Committing changes at sub-file granularity:... →
Git then shows you hunks of the diff between HEAD and your working copy. For each hunk, you can choose whether or not you want to stage the hunk. For large hunks, Git will also offer to split the hunk into smaller hunks which you can stage independently. (There are other options, such as options to stage or unstage all remaining hunks.)
A city speaks to you mostly by accident—in things you see through windows, in...
– Cities and Ambition
Another trademark PG essay! So what does Singapore say to you? “Copy the West as blindly as you can and do it better than the rest of SE Asia”. Don’t get me wrong but this is what I feel after staying here for 5 years.
Whatever PG says in the article makes a...
STMs vs Locks - excerpts from Clojure's mailing... →
Mocks do behavior verification. Stubs do state... →
This is another great article by Martin Fowler.
Types of “test doubles”
Dummy objects are passed around but never actually used. Usually they are just used to fill parameter lists.
Fake objects actually have working implementations, but usually take some shortcut which makes them not suitable for production (an in memory database is a good example).
Stubs provide canned answers...
The big surprise is that Google still uses the manually-crafted formula for its...
– Datawocky: Are Machine-Learned Models Prone to Catastrophic Errors?
They’ve 200 offline signals and a hand-crafted online formula.
Git: generate a patch file and apply it elsewhere
Generate a patch using git-format-patch.
git format-patch HEAD^
0001-Added-support-for-a-new-flag-YSLOW_OPTIMIZE.patch
This generates a patch file in that folder.
Now go to a different folder where you want to apply this patch.
cd /path/to/target
patch -p1 -i 0001-Added-support-for-a-new-flag-YSLOW_OPTIMIZE.patch
Generational Garbage Collection →
98% of all Java objects instantiated are apparently short-lived. Generational GC classifies objects in the heap into multiple generations (young vs old) and attempts garbage collection first on the younger generations and then on the older ones.
On a sidenote in Erlang, GC happens per-process and hence it is quick. This is possible because Erlang processes do not share any state. Ultimately the...
Supervisors in spirit are akin to load balancers or monitoring nodes. Comparing...
– Otaku, Cedric’s weblog: Erlang: the verdict
In response to this original comment,
“No matter how much Erlang supports you from a syntactic standpoint, you still need to implement the supervisors and, in short, to plan for failure. This doesn’t strike me very different from...
Yariv tears apart Scala
Ok that’s just a cheesy title to grab your attention. In his recent blog post, Yariv Sadan (author of ErlyWeb framework) compares Erlang with Scala.
The article has lots of nice info on Erlang which you cannot find in Armstrong’s book:
Erlang’s processes cannot block each other
The Erlang VM schedules processes preemptively. Each process gets a certain number of reductions...
So we would create entrepreneurs across the country that would produce the car....
– Learning from Tata’s Nano
I just wish we were all sitting around the Google campfire this evening, holding...
– Thoughts on DataPortability | FactoryCity
nutrun » Blog Archive » Distributed programming... →
With multicast options, presence discovery, node status updates and more, there is lot to explore in terms of distributed application development, if simple and lightweight are two keywords to be found on the highest ranks of your list.
John Resig - Qualified Selectors in jQuery →
This is really cool. You can extend the parser jQuery uses to parse the selector expressions.
But I hope that our Mars probes discover nothing. It would be good news if we...
– Technology Review: Where Are They?
If you understand the train of thought in this article after the very first read, I’ll bow to your intellect!
The mangosteen — a tropical fruit about the size of a tangerine, whose...
– Forbidden Fruit: Something About A Mangosteen - New York Times
I didn’t know anything about Mangosteen until I read this. I’m going to be adventurous enough to pick up a Mangosteen juice can next time at the mart.
Installing git-svn in OS X
$sudo port install git-core +svn
Btw if you want the SMP version of Erlang, then you need to do something similar,
$sudo port install erlang +smp
Using Git with SVN [Mantis] →
Useful guide on how to fetch and commit to an upstream SVN repos from a local git clone.
Coming to America: Getting visas to do business in... →
This is one issue which really gets me worked up. Why is it so hard for genuinely talented people to get H1Bs while real dumb-fucks from major service companies make their way through so easily? 3 major Indian IT services companies apparently take up more than 70-80% of H1B quota. Looking at that post, it seems like this is a global problem. Whether you’re British, Brazilian or Czech,...
Announcing django-pipes
django-pipes is a small plugin to Django that I wrote sometime back. From the wiki,
django-pipes module offers an abstraction layer over remote JSON data for Django apps. It is inspired by Ruby on Rails’ ActiveResource component. It provides the same semantics as Django’s ORM Manager class although currently only all(), get() and filter() methods are implemented.
I am using this at Circos...