Archive for March 2006

Software engineer salaries in India and China

According to a survey conducted by Mercer Human Resource Consulting LLC, a software engineer in Beijing makes $13,400 per year. In India, a software engineer makes $10,300 per year. Salaries in India are growing at 11.5% per year (over the past 5 years) and 7.5% per year in China in the same period. The survey also said that software engineering wages in Beijing, Shanghai, and Guangzhou are higher by approximately 20% versus jobs in other Chinese cities. Via [David Intersimone]

Software Development *Is* Program Transformation

Ralph Johnson makes the point that since the majority of work on code is subsequent to its initial creation, the idea that transforming one program into another is not a theoretical exercise, but a fundamental reality of the way things already work. Via [Patrick Logan]

 

A wiki where every page is a literate program

I am interested by Literate Programming, in which both human-readable discussion and compiler-readable code are combined. Not only does such a system allow a document to be unit-tested, it generally allows code samples to be more expressive, because you can re-order code sections to fit the discussion. I’ve written a literate programming system for Word and .NET, but this is even cooler: a Wiki whose markup supports literate programming. Every page has a “download code” button that generates both a listing and even a .ZIP file!

When to build a DSL

Ray Ozzie’s LiveClipboard: Another Elevation of Cut & Paste

Ray Ozzie’s “Clipboard for the Web” is also (partially) based on the premise that “cut and paste” / copying is something that is inherently productive. A microtrend?

High-speed binary file reading in C#

Another good article on C#. This one on how to use interop to speed file reading.  [via Steve Pietrek]

Jonathan Edwards on Programming By Copy & Paste

I have been very intrigued by Jonathan Edwards’ work on “Subtext,” a spreadsheet-like programming language that elevates “copy and paste” to be the primary means by which programs are constructed. He’s already put up some prototypes and casual discussions, but now he’s posted a draft of a more formal definition of what he’s doing.

Nice article on templating and generics

This is a nice article demonstrating a programming style that has become possible in C# 2.0. Update: Fixed broken link.

Truck Dismount

This game perfectly captures how I feel right now:

Movie

Is the UMPC not the “XBoy” IPod Killer?

This article reports on Microsoft’s rumored ‘iPod killer’ and is filled with enough details to make me think that this is a different project from Origami/UMPC. That’s interesting, because when the rumors of an “XBoy” started a few months ago, I mentally said “Oh, that’s the Origami.” (Yes, I knew about Origami for months before launch.)