Layne Thomas

"Some people choose to walk in the rain without an umbrella. That is what it means to live free" - Roger Smith

Layne Thomas is young veteran software developer living in Seattle, Washington, USA. His favorite language is C++, which he describes as "like an indestructible old car that keeps running, even after years of rust and abuse". Although very young compared to the masters, Layne believes in many "old-school" computer techniques such as Power Of Plain Text, Whats Wrong With Flash, Cee Plus Plus Reigns, and Command Line Interfaces. He also holds a heretical (and assumed to be amateur)belief in the possibility of an Infinitely Composable System. He has experience developing SCADA systems, but also enjoys his Pet Project/Software Masterpiece Katascope Studio. Layne's parents have raised llamas since he was in high school, which has had subtle but profound effects on his psyche.

He has recently become very interested in the Windows Presentation Framework.

Originator of Laynes Law, Proponent of Randals Rule, Creator (and destroyer) of the Llama Pattern

Professional Background:

One year developing C/Php/Perl-like embeddable scripting language with compiler and virtual machine using Flex/Bison(Lexx/Yacc).

Two years developing PDA (PocketPC) software, including network communication, encryption, and cross-platform issues.

Five years developing SCADA software, including 2d & 3d graphics, network programming, user interfaces.

Three years developing Sybase(SQL/ODBC) interfaces to the genetic database for Research Genetics.

Four years providing custom-coded projection visuals for ~50 concerts/shows.

Developed internet based tool with SQL accounting for burning custom Audi vehicle control chips.

Ten years professional C/C++ experience.



Python/Prolog/PHP/Perl/Batch/Shell scripting(bat/sh/csh/tcsh)/AWK/Sed/Ruby/Java Script

80x86 Assembly(MASM and TASM)

The standard learning languages - Logo, Basic, Pascal

Fluent in English and Spanish, some Latin and Russian - i.e. I can read French

Development Platforms(dos/windows/unix/webserver):

MS-DOS 3.0-6.0 and Windows 3.0/3.1/95/98/NT/XP/2K/CE(and cross-platform)

Unix - Linux/AIX/DEC/Irix/Solaris

Some pages I'm proud to be involved with:

Abstract development:


Transition Model - A concept I've been wrestling around with.

Exile Motorcycles - Got into a discussion earlier with a friend about minimal design. He's a motorcycle enthusiast, not a programmer, but brought up an england motorcycle maker whose focus is on no-frill motorcycles. Something about how good software should focus and even expose the fundamental core parts, and hit that level between hackable and stable. (I know, I know, c2 isn't a blog, I just haven't full crystallized the conversation into a coherent focus)

Bongard Problems -

Heard today: "I don't mean to sound like a nerd or nothing, but that surfer guy coming up with that E8 theory reminds me of when Kary Mullis invented polymerase chain reactions!"

Mechanical computing using legos:

Mechanical computing using marbles:

High points in my computer education:

When I got the computer to tell *me*(not the world) "Hello" the first time.

Cracking the first game using a hex editor.

My first 1000 line program that was more powerful than the my 10000 line one.

Realized that reading virus code was scarier than slasher flicks

Understanding how patterns, languages, and humans all shared the same paradox.

Implementing Bresenham's line algorithm for ModeX in 386 assembly - C/C++ was easy after that. . .

Telnetting around the world until I telnetted back into the system I first left. . . before they locked everything down.

When sending data directly to the VGA's port let me shift a palette, and create a 320 by 7.25 graphics mode, and blow any monitor I ran a certain program on. . .

Watching the internet go from telnet/finger/whois to browsers and seeing an url on a real estate sign near my parent's cabin - 25 miles from civilization. I hadn't thought of the internet as mainstream until that point.

Low points in my computer education:

Trying to explain in the pre-web days why the internet would replace BBS's, and why telnet was not just a dos prompt.

Being called a luddite for insisting "shell consoles still had advantages over GUI's, and the two could work together anyhow"

Trying to debug my 5000 line program written before I had learned why global variables were bad.

Favorite programming books:

Win32ApiBible(was great, but now googling with is faster) - Simon

Favorite concept/design books:

New Kind Of Science(I like the pictures, hate the delivery) - Stephen Wolfram

The Icon Book - Horton

Icon Design - Caplin

People whose work I respect:

Susan Kare - For being first at being good at icons, and for the five pixel font

Ew Dijkstra - For spotting the problem we are in right now, decades ago.

Linus Torvalds - For being an engineer first, a linux advocate second.

Ward Cunningham - For developing and maintaining Wiki

Donald Knuth - For writing books I aspire to understand

See original on