Wednesday, January 20, 2010

Open-PC

A bit off topic, but I thought this looked interesting. The Open-PC group are specing PCs around supported and open hardware. In this context "supported and open" means there is enough documentation to write a Linux driver.

Monday, January 18, 2010

German government warns against using Microsoft Internet Explorer

The government of the largest (most important) software market in Western Europe, Germany, is advising its citizens against using Microsoft Internet Explorer (MS IE). The reason has to do with the recent news of Google China being the target of corporate espionage allegedly by the Chinese government.

Thursday, December 24, 2009

Clickjacking

Clickjacking is yet another way to be attacked on the web.

Thursday, December 17, 2009

On-line Security

MessageLabs Intelligence: 2009 Annual Security Report is a very long report about on-line security in 2009. It is mostly concerned with the scope of the problem, but it also describes the most popular types of attack in a basic way.

Automated to Death

Automated to Death in IEEE Spectrum is not strictly about seeking better software in the sense that I normally think about it, but it is a very interesting read.

Wednesday, December 16, 2009

Commercial Software Should Be Judged by the Same Standards as Other Commercial Products

This Slashdot story links to an article containing the following quote from Prof. Tanenbaum:

“I think the idea that commercial software be judged by the same standards as other commercial products is not so crazy,” he says. “Cars, TVs, and telephones are all expected to work, and they are full of software. Why not standalone software? I think such legislation would put software makers under pressure to first make sure their software works, then worry about more bells and whistles.”

Hear, hear.

Tuesday, September 30, 2008

Lisp in C

As an exercise, I implemented Paul Graham's, "The Roots of Lisp" in C. The result is available on Google Code.

Two comments I've received so far are:
  1. Why C? Write in lisp if you want to learn lisp.
  2. Why not go the other way, a C interpreter in lisp?
Of course these are both possible, and certainly, the best way to learn a language is to use it.

However, writing lisp interpreters in lisp hides a few details. For example, garbage collection does not even need mentioning because the underlying lisp handles it. Another example, is the interpretation of truth, a lisp implementation would not have to explicitly map the interpreted lisp's truth to the implementation languages truth. Finally, cond written in terms of cond does not have to decide what to return if none of the cases are true, it can be implicit. And there are other examples. By writing the interpreter in C, some of these details that I might have missed were made obvious.

Writing a C interpreter in lisp sounds like a fun project, but it also sounds like a bigger project. Maybe I'll take that on next, maybe I'll start by writing, "The Roots of C."