Tuesday, November 25, 2003

Computer Languages: Ruby object features that Java lacks ...


Dynamic Productivity with Ruby
A Conversation with Yukihiro Matsumoto, Part II
by Bill Venners
November 17, 2003

Summary
Yukihiro Matsumoto, the creator of the Ruby programming language, talks with Bill Venners about morphing interfaces, using mix-ins, and the productivity benefits of being concise in Ruby.

Yukihiro Matsumoto, or "Matz," as he is known online, is the creator of the Ruby programming language. Ruby is an object-oriented language suitable for writing day to day scripts as well as full-scale applications. Matz began work on Ruby back in 1993, because he wanted a language that made him productive while being fun to use. Initially popular in Japan, Ruby has been finding its way into the hearts of programmers all over the world.

Wednesday, November 19, 2003

Technology: Skype - the Next Big Thing


If Napster was bad, this is worse. Tune in, turn on, and drop out of the phone system. Even the VCs are hyping Skype to me. They know a disruptive technology when they see one.

The Skype is Calling
Fresh from upending the music industry, the duo behind file-sharing phenom Kazaa turn their attention to telecommunications.
MIT Technology Review By Eric Hellweg
November 19, 2003

Do you Skype? If Janus Friis and Niklas Zennstrom have their way, soon millions of people around the world will not only understand that inquiry but answer in the affirmative. The Swedish duo, who became (in)famous as two of the original programmers behind the peer-to-peer file sharing program Kazaa, are currently at work preparing the world for the first official, non-beta release of their new baby: an application that uses peer-to-peer technology to allow users to make phone calls over the Internet for free. They call it Skype, a nonsensical word they chose for its simplicity and catchiness.

Monday, November 17, 2003

Scrum: Maybe we need to take a lesson from the South Africans


Naked Springboks tested at camp

South Africans are agonising over their defeat by New Zealand. South African rugby players were subjected to naked toughening-up exercises at a gruelling boot camp before the World Cup in Australia. Some South Africans doubt the wisdom of sending the Springboks to "Camp Steel Wire" in light of their 29-9 quarter-final defeat by New Zealand.

South Africa's Sunday Times newspaper reports that players had to strip and pump up rugby balls in a freezing lake. The three-day "bonding" also involved crawling naked across gravel.

Saturday, November 15, 2003

ECC Cryptography Hacked


For in-depth coverage of cryptography, you can't beat Bruce Scheier's newsletter. Good to subscribe to and good to read. A recent issue covers the strength of the ECC crypto algorithm that we use on our PDA devices at PatientKeeper.

Elliptic Curve Public-Key Cryptography

In September of this year, nearly 200 people using 740 computers managed to crack a message encrypted with 97-bit elliptic curve cryptography. The process took 16,000 MIPS-years of computing, about twice as much as used by the team that recently cracked a 512-bit RSA encryption key. Certicom, the company who sponsored this challenge, has offered this result as evidence that elliptic curve cryptography is stronger than RSA.

Saturday, November 08, 2003

Digital Camera Technology: Unretouched photo of lunar eclipse


I hope this amazes you as much as it amazed me. As I walked out of my house tonight after a family dinner, we looked up and noticed the moon getting dark. Since I had not read CNN news on the lunar eclipse, I had no idea this would be happening. I ran in and grabbed my Sony DSC-V1 digital camera and without any adjustments whatsever took the following shot. You can see the roof of my house on the right. Blowing up this photo, it was blurred by hand movement during the lengthy automatic exposure.

Running back into the house to retrieve my tripod, I captured the following shot. No adjustments to the camera. No retouching of the photo.

I'm posting this within minutes of taking the picture and I think you will agree that it almost as good as the 1993 NASA telescopic photo published on the web by CNN today. Digital camera technology has become truly awesome.

Tuesday, November 04, 2003

Model Driven Development: Simonyi tries to build ultimate software solution


I helped to initiate the model driven development discussion at the Object Management Group in 1994 when we produced the first round-trip engineering business object design tool at Easel Corporation. The Rational product manager was a friend of mine and he repeatedly showed me his demoes of Rational Rose as he tried to emulate us. My technical lead eventually became the director of the Rational Rose development team.

Simonyi, one of the richest men in the world, has left Microsoft and started a company to get serious about this. This is the guy that gave us Word and Excel so we probably shouldn't underestimate him.

Everyone's a Programmer
Software is collapsing under the weight of its own complexity. Charles Simonyi’s solution? Programming tools that are so simple that even laypeople can use them.

By Claire Tristram
MIT Technology Review, November 2003

Programming In Pictures

When you ask Simonyi to explain just how the dronelike parts of programming might be automated, eliminating bugs caused by human error, he will tell you a story about jet engines.

“Think about the turbine blades,” he says. “They have to be perfect. If you were to use the most meticulous craftsman to make them, you still wouldn’t get anywhere near the degree of accuracy you need. You need to create a machine to make the blades. Are humans involved in the process? Of course. You need them to build the machine, and to maintain it and adjust it. Can machines fail? You bet! But they fail in a disastrous way, and you can see it right away and can fix it. It’s the same thing with code! You don’t want humans to touch it. It will have bugs in it! Can humans do something? Yes. They can build the machine.”

What, exactly, would a machine for writing software look like? It would itself be software. But its function would not be to solve the end problem—to perform some new home or office task. Rather, it would be a software “generator,” causing a particular piece of software to be written. Telling the generator what program to write would be accomplished through an easy-to-understand interface, sometimes referred to as a “modeling language.”

The most widely adopted modeling language today is the Unified Modeling Language, which evolved from work Booch and fellow programmers James Rumbaugh and Ivar Jacobsen did at Rational Software—and which is now being developed by the open-source software community under the stewardship of IBM and the other members of an industry consortium called the Object Management Group. The Unified Modeling Language is a system for creating diagrams. It’s intended to let managers of large software projects visualize their designs and make sure they meet the clients’ requirements before programmers sit down to write code in programming languages such as Java or C++.

Simonyi’s vision, and the reason he started his company, is to take the idea of models and go one step further: to link the model and the programming so tightly that they eventually become the same. Programmers and users will be able to switch between many contrasting views of the model they are creating, and revise programs at will simply by tweaking the models (see “Just-in-Time Programming,” below). It’s something like an architect being able to draw a blueprint that has the magical property of building the structure it depicts—and even, should the blueprint be amended, rebuilding the structure anew.