Ramblings & ephemera

Unix: An Oral History

From ‘s “Unix: An Oral History” (: ): Multics Gordon M. Brown … [Multics] was designed to include fault-free continuous operation capabilities, convenient remote terminal access and selective information sharing. One of the most important features of Multics was to follow the trend towards integrated multi-tasking and permit multiple programming environments and different human interfaces […]

Evaluating software features

When developing software, it’s important to rank your features, as you can’t do everything, & not everything is worth doing. One way to rank features is to categorize them in order of importance using the following three categories: Required/Essential/Necessary: Mission critical features that must be present Preferred/Conditional: Important features & enhancements that bring better experience […]

Programmer jokes

Q: How do you tell an introverted computer scientist from an extroverted computer scientist? A: An extroverted computer scientist looks at your shoes when he talks to you. Knock, knock. Who’s there? very long pause…. Java. Saying that Java is nice because it works on every OS is like saying that anal sex is nice […]

COBOL is much more widely used than you might think

From Darryl Taft’s “Enterprise Applications: 20 Things You Might Not Know About COBOL (as the Language Turns 50)” (eWeek: September 2009). http://www.eweek.com/c/a/Enterprise-Applications/20-Things-You-Might-Not-Know-About-COBOL-As-the-Language-Turns-50-103943/?kc=EWKNLBOE09252009FEA1. Accessed 25 September 2009. Five billion lines of new COBOL are developed every year. More than 80 percent of all daily business transactions are processed in COBOL. More than 70 percent of all […]

Green Dam is easily exploitable

From Scott Wolchok, Randy Yao, and J. Alex Halderman’s “Analysis of the Green Dam Censorware System” (The University of Michigan: 11 June 2009): We have discovered remotely-exploitable vulnerabilities in Green Dam, the censorship software reportedly mandated by the Chinese government. Any web site a Green Dam user visits can take control of the PC. According […]

An analysis of Google’s technology, 2005

From Stephen E. Arnold’s The Google Legacy: How Google’s Internet Search is Transforming Application Software (Infonortics: September 2005): The figure Google’s Fusion: Hardware and Software Engineering shows that Google’s technology framework has two areas of activity. There is the software engineering effort that focuses on PageRank and other applications. Software engineering, as used here, means […]

Microsoft’s programmers, evaluated by an engineer

From John Wharton’s “The Origins of DOS” (Microprocessor Report: 3 October 1994): In August of 1981, soon after Microsoft had acquired full rights to 86-DOS, Bill Gates visited Santa Clara in an effort to persuade Intel to abandon a joint development project with DRI and endorse MS-DOS instead. It was I – the Intel applications […]

A quick tutorial on writing a program that accepts plugins

On the CWE-LUG mailing list, someone asked a question about creating a program that can be extended with plugins. I thought the answer was so useful that I wanted to save it and make it available to others. On 2/17/07, Mark wrote: I’m a young programmer (just finishing high school) who has done a fair […]

Differences between Macintosh & Unix programmers

From Eric Steven Raymond’s “Problems in the Environment of Unix” (The Art of Unix Programming: 19 September 2003): Macintosh programmers are all about the user experience. They’re architects and decorators. They design from the outside in, asking first “What kind of interaction do we want to support?” and then building the application logic behind it […]

Why software is difficult to create … & will always be difficult

From Frederick P. Brooks, Jr.’s “No Silver Bullet: Essence and Accidents of Software Engineering” (Computer: Vol. 20, No. 4 [April 1987] pp. 10-19): The familiar software project, at least as seen by the nontechnical manager, has something of this character; it is usually innocent and straightforward, but is capable of becoming a monster of missed […]

How to get 1 million MySpace friends

From Nate Mook’s “Cross-Site Scripting Worm Hits MySpace” (Beta News: 13 October 2005): One clever MySpace user looking to expand his buddy list recently figured out how to force others to become his friend, and ended up creating the first self-propagating cross-site scripting (XSS) worm. In less than 24 hours, “Samy” had amassed over 1 […]

The Vitruvian Triad & the Urban Triad

From Andrés Duany’s “Classic Urbanism“: From time to time there appears a concept of exceptional longevity. In architecture, the pre-eminent instance is the Vitruvian triad of Comoditas, Utilitas, e Venustas. This Roman epigram was propelled into immortality by Lord Burlington’s felicitous translation as Commodity, Firmness and Delight. It has thus passed down the centuries and […]

Beauty and software

From “Beauty Is Our Business: A Birthday Salute to Edsger W. Dijkstra“: David Gelernter said in “Machine Beauty – Elegance and the Heart of Technology“: Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity.

Vitruvian Triad terminology

From “Good Architecture“: In ‘building architecture’, for comparison, we have the 3 classic Vitruvian qualities to which ‘GoodArchitecture’ aspires: ‘Firmitas, Utilitas and Venustas’ (Marcus Vitruvius Pollio ‘The Ten Books of Architecture’ 1st C AD). These qualities may be translated as: ‘Technology, Function and Form’ (C St J Wilson ‘ArchitecturalReflections?; Studies in the Philosophy and Practice […]

Culture, values, & designing technology systems

From danah boyd’s “G/localization: When Global Information and Local Interaction Collide“: Culture is the set of values, norms and artifacts that influence people’s lives and worldview. Culture is embedded in material objects and in conceptual frameworks about how the world works. … People are a part of multiple cultures – the most obvious of which […]

A very brief history of programming

From Brian Hayes’ “The Post-OOP Paradigm“: The architects of the earliest computer systems gave little thought to software. (The very word was still a decade in the future.) Building the machine itself was the serious intellectual challenge; converting mathematical formulas into program statements looked like a routine clerical task. The awful truth came out soon […]

Four principles of modernity

From “Relativity, Uncertainty, Incompleteness and Undecidability“: In this article four fundamental principles are presented: relativity, uncertainty, incompleteness and undecidability. They were studied by, respectively, Albert Einstein, Werner Heisenberg, Kurt Gödel and Alan Turing. … Relativity says that there is no privileged, “objective” viewpoint for certain observations. … Now, if things move relative to each other, […]

A programmer’s poem

From dive into mark: First, the poem itself (there are many versions, this is just one): < > ! * ' ' # ^ ” ` $ $ – ! * = @ $ _ % * < > ~ # 4 & [ ] . . / | { , , system halted In […]

Problems techies are good at solving

Linux kernel hacker H. Peter Anvin, quoted in MIT Technology Review’s “Linus’s World“: “When the BitKeeper fiasco broke, it turned what had previously been a political problem into a technical problem,” he says. “We’re a lot better at solving technical problems.”