February 2004 Archives

brian d foy

AddThis Social Bookmark Button

I got my Nokia 3650 in the mail today (after waiting for T-Mobile to send it to my wife, then my wife to send it to me through the military postal system) , and earlier this week I got a USB Bluetooth adapter (from a friend through the same process). Everything was a cinch to set-up—easier than finding things in the manual even.

Once I plugged in the USB Bluetooth adapter, I got a Bluetooth control panel. With the Bluetooth Setup Assistant (or something close to that name) I paired my Mac with my phone without a problem. On the phone side I only had to enable Bluetooth.

In less than five minutes I had taken a picture and transfered it to my desktop (these images are really 640×480, but I scaled them by 50% to put them here).

image

I then went to dinner, where I could have gotten a picture of Tommy Thompson (and his many bodyguards), but I took a picture of my dinner instead (something I picked up from Randal Schwartz).

image

I took another picture when I got back to my tent.

image

John Catsoulis

AddThis Social Bookmark Button

Related link: http://www.newscientist.com/news/news.jsp?id=ns99994714

A silicon microrobot just half the width of a human hair has begun to crawl around in a Los Angeles lab, using legs powered by the pulsing of living heart muscle. It is the first time muscle tissue has been used to propel a micromachine.

Read about it at New Scientist.

Mark Finnern

AddThis Social Bookmark Button

Related link: http://groups.yahoo.com/group/bafuture/

Long overdue, this morning I updated the Future Salon Yahoo Group Description, announcing that our March 19th Future Salon Speaker will be David Sifry founder and CEO of Technorati.

I loved his Etech Technorati Hacks session and I wrote about it in the Yahoo Group Description, but they would not let me save my text, because it contained a word that Yahoo perceives as not appropriate. The word is “Hack”. Who would have thought?
hack_not_permitted.jpg
Wow and that just when O’Reilly is giving the word hacks a positive spin and coolness by coming out with a whole Hack series, and I hear that it is very successful.

Of course I had to check which other words are banned. From George Carlin’s Seven Dirty Words that you can’t say on television or radio two make it through: Piss and C*sucker.

Society has agreed to ban the dirty seven, because people are offended by them, which I don’t have a big problem with.

Hack on the other hand is different. I don’t think anyone is offended by the word hack, you may be if someone calls you a hack, but not in a description of a Yahoo Group. Fear is the motivation for blacklisting that word.

In the media hacking is often portrait as a criminal activity and the capabilities of hackers are greatly blown out of proportion. For example Kevin Mitnick said, that he was denied access to a pay phone in prison, because prosecutors argued he might launch a nuclear strike by whistling into the handset.

There thinking, I assume, goes like this: Don’t give Hackers a place to bond together and exchange ideas. Or if they do, don’t make it easy for others to find them. Just ban the word “Hack” and no search engine will index that group under that term. If you are not in the search index, no one will find you and your reach is limited. Subtly, but very powerfull.

Let’s not forget, that there are so many other definitions of the word hack. (Check Google with “define:hack”) The funny thing is, only the last one is mentioning to malicious hacking: “…refer to a program that’s clever but not very useful, to the process of breaking into computers–which more properly should be referred to as “cracking,” …” (The Wikipedia definition is way better then all the ones that Google lists)

Of course “crack” or “cracking” is not banned, but “hacking” is. By the way “Hacks” is not banned, so I used that.

What other words are blocked?

John Catsoulis

AddThis Social Bookmark Button

Introduction

INMOS introduced the first transputer in 1985. The transputer
was an innovative device. For the first time, a processor had been
combined with a communications subsystem for the specific purpose
of constructing scalable, parallel machines. Transputers
communicated with each other over four, high-speed serial links.
The transputer also implemented a hardware process-scheduler,
allowing easy implementation of multi-processing. Though
origninally designed for building supercomputers, the most common
application of transputers was in embedded systems. Some of the
most impressive arcade games (featuring high-resolution 3D
graphics and stereo sound) had transputer arrays at their heart.
INMOS produced a range of transputers. A summary of the processor
family is given in the table below.









































































































Property





T222





T225





M212*





T414





T425





T800





T9000



Architecture (bits)



16


16


16


32


32


32


64


Internal Cycle Time (ns)



50



50


50


50


33


33


20


Performance (MIPS)



20


20


20


20


30


30


100 - 200


Floating Point Unit



No


No


No


No


No


Yes


Yes


On-chip RAM (bytes)



2 K


2 K


2 K


2 K


4 K


4 K


16 K


Internal Bandwidth (M/sec)



80


80


80


80


120


120


200


Address Space (bytes)



64 K


64 K


64 K


4 G


4 G


4 G


4 G


Interrupt Response (ns)



950


950


950


950


630


630


unstated


Link Speed (Mbits/sec)



20


20


20


20


20


20


100


* The M212 was a special 16-bit transputer designed to
provide an interface to disk subsystems.

 

Transputer Architecture

The basic transputer (the original T414, for example) consisted
of a conventional, sequential, RISC processor, a communication
subsystem (implemented as four high-speed, inter-processor links),
4 k of on-chip RAM and an on-chip memory interface.

Functional Diagram

The processor had only three general-purpose registers, A, B
and C. These registers are treated as a stack by the transputer
instruction set. Loading a value into A pushes the previous
contents of A into B, and the previous contents of B into C.
Similarly, storing a value from A pops B into A and C into B. The
instruction set works with this register stack implicitly.
Performing an add instruction adds the top two operands on the
stack. In other words, an add instruction always adds B to A,
leaving the result in A. There is no mechanism provided to ensure
that a stack overflow does not occur. This is left to the compiler
or assembly language programmer.

A similar programming model exists for the floating point unit
found in the T8-series of transputers. In addition to the three
general-purpose registers, the transputer also has a workspace
pointer, an instruction pointer and an operand register. The
workspace pointer points to a region of memory where the
parameters of the currently executing task are stored. The
instruction pointer references the next instruction to be fetched
and executed by the processor. The operand register is used in the
formation of instruction operands (the transputer’s instruction
set is somewhat unusual in this respect). The programmer’s model
is shown below.

Transputer Programmer’s Model

It can be seen from the above that the transputer programming
model is a simple one. The transputer exploited the high-speed,
internal RAM to overcome the limitations of a small register set.
The small register set and RISC instructions meant that the
transputer had simple and fast data-paths and control logic.

The instruction set of the transputer is an unusual one. A
design decision was taken early in the transputer’s development
that the transputer should be programmed in a high-level language.
One look at the instruction set for these machines is sufficient
to convince even the most die-hard of assembly-language
programmers to follow the INMOS suggestion. The instruction set
contains a relatively small number of instructions. Each
instruction is one byte long. The upper four bits of the opcode
specify the function to be performed, the lower four bits contain
the data. Two of the function codes allow the operand of an
instruction to be extended to any length up to the size of the
operand register.

The transputer supported two priority levels for executing
tasks. High-priority tasks took precendence over low-priority
ones. A low-priority task will only be executed if there is no
high-priority task in the schedule. At any one time, a process may
be either active (executing or awaiting execution) or inactive
(waiting for I/O, waiting until a specified time or waiting for a
semaphore). The architecture of the transputer is such that
inactive processes do not use any processor time. The transputer
had two registers which point to a linked list of workspaces. This
list of workspaces constitute the process table. The task
switching time is very small and hence the transputer
implementation of multi-tasking is a very efficient one. The
transputer instruction set directly supports process creation and
termination.

Programmer’s Model of the Transputer Process
Table

 

Transputer Clocks and External Buses

Most fast processors require an external clock at their
operational frequency. This can cause the system designer some
problems as high-frequency clocks can be affected by noise, skew
and termination problems. They can also be a source of noise for
the rest of the computer system. The engineers at INMOS took a
slightly different approach in addressing this problem. Rather
than having an external, high-speed oscillator, all transputers
ran off an external 5 MHz clock. Each processor had an internal
clock source which is phase-locked to the external clock. In this
way, the system designer did not have to worry about the problems
normally associated with high-frequency clocks.

A T255 transputer memory cycle is divided into four clock
states. Address and control setup occurs in state T1. Data is
setup in state T2. State T3 is when data is read or written. State
T4 is data and address hold time after an access. The signal,
ProcClockOut is an output clock from the processor. An
access begins in clock state T1 with an address becoming valid on
MemA0-15. The address strobe, notMemCE goes active
indicating that a valid address is on the address bus.

T225 Read Cycle

For a write cycle, notMemWrB0-1 will go active low (both
for 16 bits, one only for 8 bits). For a read cycle,
nonMemWrB0-1 will stay high. During a read cycle, data is
latched by the processor in state T4. The processor outputs data
during a write cycle in state T2 and holds this until state
T4.

T225 Write Cycle

Wait states may be generated by driving MemWait high
within 25 ns of ProcClockOut high in state T1. The
processor inserts wait states between clock states T2 and T3. Wait
states may be easily generated using flip flops. A circuit to
generate two wait states for a transputer is shown below.
notMemCE enables the flip flops at the beginning of a cycle
and (re-)SETs them at the end of the cycle. Initially
MemWait is high. After two clocks, MemWait goes low.
Adding additional wait states is just a matter of adding extra
flip flops.

Wait State Generator for a T225

Interfacing a T225 is straight forward. The example below shows
a T225 interfaced to two, 32k x 8 static RAMs. Note that since
transputers are able to work as processing elements in
multi-processor systems, it is common to have transputers
interfaced to memory alone. In such cases, the transputer is
booted over one of its communication links and uses I/O devices
interfaced to other transputers. (Note that not all pins are shown
in the example below.)

Interfacing a T225 Transputer to Static RAM with No Wait
States

BootFromROM is tied low. This causes the transputer to
wait to be booted over one of its communication links after reset.
If this processor was connected to a ROM, BootFromROM would
be tied high. This causes the processor to automatically begin
executing code after reset.

The communication links in the above example are used to
connect this transputer to other transputers in the system. The
Link0-3In lines should have 100k pull-down resistors to
ground. The Link0-3Out lines should have 56 ½ resistors in
series with the link.

 

Transputer Communication

Communication between processes is achieved through channels.
Channels are uni-directional, synchronised and unbuffered. A
channel may be between two processes running on a single
transputer, in which instance the channel is implemented using a
word in memory, or a channel may be between processes executing on
separate transputers, where the channel is implemented using the
high-speed, external links.

The external links between transputers are implemented using
two uni-directional lines connecting each transputer pair. The
data is transferred serially at high speed.

A major problem with the conventional architecture of the
transputer is the distinction between inter-process communication
via an on-chip channel or via an external link. Software has to be
written and compiled specifically for the transputer system it is
to run on and is not easily portable to other transputer networks.
In addition, algorithms have to be specifically matched to the
architecture of the transputer system to ensure efficient use of
the machine. This had to be specified at or before compilation
time. The T9000 processor was an attempt to address these
problems. It was intended as a standard architecture machine to be
used in message-passing MIMD computers. Inter-process
communication is achieved through virtual channels rather than
distinct hard or soft channels. This greatly simplifies the
programming of the transputer system and leads to greater software
portability.

 

T9000

The T9000 was the last processor in the transputer family. It
comprised a superscalar 32-bit processor, 64-bit floating point
unit, a dedicated communications processor with four links, an
inbuilt external memory interface and 16 K of onchip memory, which
may be used as cache, normal memory or a combination of the
two.

The IMS T9000 processor had a peak performance of 200 MIPS and
25 MFLOPS whilst operating as a single processor running at 50
MHz, which given the time of its design and that it was running
off a 5 MHz crystal, was quite amazing.

T9000 Functional Diagram

The T9000 executes processes sequentially, but implements a
process scheduler in hardware. In transputers, multi-tasking is
moved from the software kernel to the hardware of the processor.
The T9000 has three registers to implement the process table. The
Front register points to the first process in the table and the
Back register points to the last process in the table. Each entry
in the process table contains a pointer to the next process. The
Workspace Pointer points to the process currently being executed.
A process may either be active or inactive. Active processes are
either being executed or are awaiting execution. Inactive
processes are descheduled and may be waiting for I/O, a semaphore
or until a specified time. The scheduler of the T9000 works in
such a way that inactive processes do not consume any processor
time. This is a very efficient implementation of multi-tasking and
is quite different to that used on machine with multi-tasking
implemented through a kernel.

The instruction set of the T9000 supports multi-tasking
directly. Two instructions, startprocess and endprocess directly
affect the process table. They allow, as their names suggest, the
creation and destruction of processes in the process table.

Process scheduler has two process queues, one for high-priority
processes and one for low-priority processes. A low-priority
process will only be executed by the processor if no high-priority
process is waiting. In addition, a high-priority process becoming
active causes the scheduler to suspend the current low-priority
process and begin execution of the high-priority process.

 

T9000 Communication

The message-passing system implemented in the T9000 is
point-to-point and synchronised. By employing this form of
communication, the T9000 does not require message queues or
buffers to be implemented directly by the processor. This is the
same communication mechanism employed in the first-generation
transputers. However, the T9000 extends the communication system
implemented in earlier transputers through the use of virtual
links rather than specific hard links. A virtual link may
represent a communication channel between a local process and a
process located elsewhere in the parallel machine. Several virtual
links may use a single hardware link for message routing. This
allows for an arbitrary number of virtual links to exist over a
limited number of physical links. Thus, the communication
limitation of the earlier transputers is overcome.

The virtual links are controlled by a dedicated, communication
processor located within the T9000. This processor is known as the
virtual channel processor (VCP). The VCP accepts packets
for communication along the virtual links and routes these either
directly to another T9000 or through a network of routers using
the hardware links of the T9000.

 

T9000 Memory Interface

The clocks for the T9000 are generated internally. These clocks
are phased-locked to an external 5 MHz clock. This avoids problems
associated with routing high frequency clocks throughout the
computer system. The processor has three input pins which may be
used to specify operating speed. Maximum speed for the T9000 is
expected to be 50 MHz for the first version of the processor.

The T9000’s bus interface provides direct support for dynamic
RAMs. The address lines of the T9000 behave as multiplexed address
lines when accessing a region of memory defined as dynamic RAM.
The timing of ~RAS and ~CAS may be configured under
software control to suit the memory devices used.

Interfacing a T9000 to 8 Mbytes of DRAM

The T9000 provides direct support for booting from an EPROM. It
has a dedicated chip enable (notMemBootCE) for an EPROM and
dynamically sizes its bus down to eight bits when accessing the
ROM. The T9000 also generates appropriate addresses for the ROM on
address lines MemAdd2 through MemAdd15. These
address lines correspond to A2 through A15 on the
ROM. Two programmable strobe lines (notMemWrB2 and
notMemWrB3) become address bits A0 and A1
when the processor is accessing the ROM address space.

An input to the T9000 (StartFromROM) determines whether
the transputer will boot off a local ROM, or will remain idle,
waiting to be booted by a root transputer over one of its
high-speed links. Normally only one transputer would have a boot
ROM and this transputer would then configure the other transputers
in the network through the communication links. However, it is
also possible for individual transputers to have their own ROM.
This ROM may contain local boot information or software to
configure and control I/O devices local to that transputer.

The basic configuration for interfacing a T9000 transputer to a
boot EPROM is shown below.

Interfacing a T9000 to a Boot ROM

C104 Crossbar

An essential element of the T9000 system architecture is the
ability to pass messages quickly between processing nodes of the
parallel machine. Interconnection is provided by dedicated VLSI
routers implementing a 32-way crossbar. The INMOS C104 is the
companion router to the T9000. Separating the processing unit
(T9000) from the router (C104) has a number of advantages
[May, et al. 1993] :


  • Systems not requiring message routing may interconnect
    T9000s directly.
  • Routers may have a relatively large number of links
    allowing large systems to be constructed from a small number of
    routers.
  • Transputers are not required to implement message passing
    between neighbours.
  • The architecture of the parallel machine is scalable.

Each C104 has 32 communication links capable of operating at
100 Mbits/sec. The router provides wormhole routing of incoming
data packets. As the header of each packet arrives on a given
link, the C104 determines the destination link for the packet and
generates the appropriate internal route before the main body of
the packet is sent. The C104 is capable of routing packets through
all links concurrently. The C104 uses the header of each packet to
identify which output link to use.

Wormhole Routing through Multiple C104s

The C104 is also capable of arbitrating between multiple data
packets requiring the same output link and causes them to be
output sequentially along the required link. [May, et al.
1993]

The C104 provides for header deletion. This allows a packet to
contain multiple headers specifying a path through several
routers. Each router routes the packet and deletes the current
header, exposing the next header for routing by the next C104.
Thus, C104s may be combined together to form large, multi-layered
networks.

 

MIMD using T9000s

Barnaby, May and Nicole in Networks, Routers and
Transputers
[May, et al, 1993] propose a
fully-interconnected, folded-Clos architecture for a
multiple-T9000 parallel machine. Groups of four T9000s are
interconnected using C104 crossbars. These crossbars are in turn
connected to a second layer of crossbars, providing not only full
interconnectivity for the system, but multiple, concurrent paths
between processors.

Folded-Clos MIMD Machine using T9000s and
C104s

In this system, each T9000 has its own local memory for program
and data storage. Some T9000s may have I/O facilities and as act
I/O servers for the rest of the system. Only one T9000 requires
ROM and is capable of first booting the network, then booting the
other processors over the network.

A separate control network interconnects the other T9000s and
crossbars and allows them to be configured by the boot transputer.
Note that the control network is separate to the data network
which carries interprocess communication. Each T9000 and C104 have
dedicated control links (Clink0 and Clink1) in
addition to the four data links. Clink0 is the control
input link and Clink1 is the output control link. In small
systems using only T9000s and no routers, the control links are
daisy-chained together. The Clink1 of one transputer is fed
to the Clink0 input of the next transputer.

Configuring a Small, Routerless, MIMD
System

However, it is also possible to use a C104 to provide routing
of the control network. This is preferable in larger networks
where latency in the communication channel can cause unacceptable
delays if daisy-chaining is used. The C104 is configured through
its control link, however the data links of this C104 are
connected to the control links of the T9000s in the MIMD machine.
This is achieved by connecting the C104’s output control link,
Clink1, to one of its data input links.

Thus control packets may be routed by the C104 to other devices
(T9000s or data-network C104s) in the system as though they were
data packets. The control links, although functionally different
to the data links, use the same protocol for communication. The
C104 used to implemement the control network is not used as part
of the data network.

Configuring an MIMD System using a C104 Crossbar
 

 

Booting

There are six levels of reset for a T9000-based, MIMD machine.
When the machine powers up and undergoes a hard reset, all T9000s
in the system are in their reset state. This is reset level 0.
Each transputer checks its StartFromROM input. All
transputers, save one, will have this tied low and will therefore
wait to be booted over their links. The transputer with
StartFromROM high will configure its bus interface
appropriately and begin executing code from its boot ROM. This
processor is the root processor for the network and the control
processor for the machine. The software executed by this
transputer identifies and ‘labels’ all devices connected to the
control network. This includes configuring the control-network
C104. The system is now at reset level 1.

The boot transputer, under software control, uses the control
network to configure all devices. The system is now at reset
level 2
.

The virtual links are configured, boot code is downloaded to
each transputer and executed. All transputers are now operational
and the system is at reset level 3.

The processes belonging to the application software are
downloaded and distributed throughout the system over the data
network. Each transputer in the system configures its virtual
links as required by the application. The system is now at
reset level 4.

The application is then executed by the machine. The system is
now at reset level 5 and is operational.

Normally, the system is only taken through the above sequence
by a hard reset. However, the control process (operating system)
may reboot the machine by sending a Reboot message to some or all
devices in the system.

 

Conclusion

The transputer was a great architecture, in many ways ahead of
its time. Its novel stack-based architecture, inbuilt
mutli-tasking support and inter-processor and inter-process
communication were revolutionaly. It was a beautiful machine.
Unfortunately, it was killed not long after its company was taken
over by another, and no further development was done on the
architecture.

Chris DiBona

AddThis Social Bookmark Button

Related link: http://www.musiccdsettlement.com

Back in “the day” when the music and hardware companies were touting the astounding benefits of the CD format, they promised a number of things to the consumer, including, but not limited to:



    Perfect sound forever

    Inexpensive CD cots

    Conversion of their entire catalogs of music.



We did get a terrific general improvement in sound quality (yes, vinyl lovers, I have a very nice turntable too so don’t bother reminding me about the dangers of solid state technology) and durability. And CDs are indeed much less expensive to manufacture, not that consumers ever saw that benefit. In fact, in return for higher prices, the industry promised that their entire back catalogs would be available, which we all know was just another way of saying “nah, it’s just gonna cost more, and , no, we’re not releasing that “The Sparks” album featuring their groundbreaking 70’s appeal to citrus consumption: ‘Pineapple’”


Yes, I know large consortia lying to the consumer is nothing new, and noone really bought this stuff when the different people pushing the CD format we’re hucking these lines. But when they recently were accused of and settled with the California court on charges of price-fixing, there was a handy website where you could make sure you were part of the class.


Today, funnily enough, I received my check (see the accompanying letter) for $13.86 cents. Which isn’t so bad, I mean, that’s $13.86 cents I didn’t have, but it really makes you wonder about the nature of such things. I mean, I’ve probably bought somewhere around 800 cds through my life, and if each one was just a teeny rip off of say a $1 a piece (ha!) then that check should be much larger.


That said, money is good, and I wanted to see who else on O’Reilly had this nice gift from Bill Lockyer show up in their mailbox today? Do you think such settlements are a just punishment or just a waste of time and money that no one will learn from?

Did you get your CD settlement check?

Adam Trachtenberg

AddThis Social Bookmark Button

In the last week or so, I’ve gone from getting 2-300 hundred pieces of spam a day to about 500 message a day. While I’m sure there are many other people out there who get 10 times as many messages as I do, I’m still not pleased at this development. Even worse, almost 20 of these messages are making it though my spam filtering combo of spamassassin (sa) and Mail.app. I used to only get one or two uncaught messages.

Fortunately, most of the messages that slip through aren’t spam per se. They’re not trying to sell me anything. Spamassassin does a great job at nabbing those. Instead, they’re virus e-mail trying to get me to click on a Windows file. Too bad I use a Mac, so they’re not only annoying, but useless.

Normally, when a big spamming virus starts flooding my account with messages, I write a custom sa rule to block it. However, I don’t really want to be in the business of writing spam filters. Partially, I just don’t have the time and partially because I’m always afraid I’ll accidentally filter out something important.

So, I’ve come up with a solution to my problem. What I want and would find really useful is a sa virus rules RSS feed. Then, whenever a nasty virus comes around, I’m automatically notified and presented with a rule I can cut and paste into my user_prefs file to filter it out of my life. (I don’t trust automated filter updates because I prefer not to be forced to dig out legitimate messages from my spam box if the filter is too loose.)

Does such a thing exist? I checked out the sa wiki, but they only have virus bounce rules. Does somebody want to start one? I can guarantee one customer.

How do you combat virus spam with spamassassin?

brian d foy

AddThis Social Bookmark Button

Apparently Apple does not like to use AppleScript for their own applications. Fed up with iPhoto’s poor performance, I started playing with AppleScript so I could automate some of my tasks. Alas, iPhoto is missing a lot of things, apparently.

I would like to see iPhoto’s AppleScript suite support:

  • Film rolls - I can access albums and selections, but not film rolls. What gives?
  • Import - I want to choose a bunch of files or directories and tell iPhoto to import them.
  • Export - While we are at it, let’s go the other way too.
  • Retouching - I can do it in the application, so I should be able to do it programmatically.

What do you want in the iPhoto AppleScript suite?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.catb.org/~esr/writings/let-java-go.html

The human race has been hearing reports that “solar energy
is our friend”. We are glad to hear that, and your support
of photosynthesis certainly puts some biomass behind that
claim, but your support is inconsistent, especially on
cloudy or rainy days, which suggests you may be confused
about what we expect you to do.

Certainly your confusion shows up in other ways. Many of us
think the Sun is good, and we install solar panels, go to
the beach on sunny days, or have gardens. However, you waste
so much of your energy just radiating it into space, as if
something else exists that can use it. Give us a
break—space is only three or four Kelvins, but most of our
planet is quite comfortable in shorts and sandals. Why not
give all of that energy to us, the only intelligent Life in
the universe? Indeed, we, along with a few other
insignificant species, grow things in open fields which turn
your Light into things we all can eat, save a few people
with strange allergies.

The informal equation between Life and Light suggests that
you do not understand what we are talking about. Life is
hardly all about Light—just ask the benthic sea creatures
living off chemosynthesis, completely without the sun, or
some of the blind fish living in caves, or even the bats
that fly around at night. Some animals have already given up
on you.

It does not need to be this way. If you could go all the way
with Life giving Light, you could retake your position of
vital leadership. You are the only thing that has the fuel
and the proximity to do better than other energy sources.
Indeed, on historical grounds, you can do even better
because you will probably be around a lot longer, and all
that coal that we burn originally came from plants which
used you. However, you radiate energy to other planets, even
though they are lifeless, and probably immoral and godless
at that. The rest of your energy just dissipates to nothing
according to an inverse square law.

You have done other things to make us question you. You
continue to hide neutrinos, plaguing our scientists with a
“solar neutrino problem”, causing us to rely on supernovae
and other astrological events for these. Some report that
you are turning away from your original mission of hydrogen
burning to using carbon. Furthermore, every 11 years or so,
you disrupt our atmospheric and communications equipment,
but you do not let us look inside you to figure out why or
how that happens. You insist on keeping an external
temperature that prevents us from approaching to closely,
and even burns us this far away. Your efforts at mitigating
the effects of our thinning ozone layer have been less than,
well, stellar. You even cause cancerous growths in some of
us. You appear to choosing control—some people are
allergic to you and can only come out at night because you
do not let us choose an alternate radiation pattern.

Sun, open up that mantle! You have billions upon billions of
organisms over here on Earth who would love a sunny day if
only you could throw all of your energy our way and cut
down on the ultraviolet wavelengths. If you are serious
about Life, you will adjust your radiation, and if you are
serious about living longer, you will let our scientists
figure out your secrets so we can fix whatever is happening
at your core. Let Light go!

brian d foy
President, Opine Sores Initiative
20 Feb 2004

Have something you want to say? Elect yourself president of something and get yourself a website, or just post comments here.

AddThis Social Bookmark Button

Related link: http://wgz.org/chromatic/perl/trustabit/Trustabit.tar.gz

Existing social networks have several flaws of implementation. Most obviously, they’re too coarsely-grained. Are you my friend or not? Do I trust you or not? My personal and professional relationships aren’t that binary and yours aren’t either.

Of course, if you want to make these relationships flow between users, you run into scary math with directed graphs. If someone well-connected changes something, how many nodes and edges do you have to recalculate? Yuck.

Another flaw is that most don’t let you retain control of your own information. Some details of my work aren’t appropriate to share with acquaintances (or friends, in the cases of books as yet unsigned) and some details of my private life aren’t appropriate (or even interesting) to my work colleagues. It’s important to be able to control what information I provide as well as who sees it.

I’ve been thinking about this problem off and on for a year or so. During ETech, the two problems above started to solve each other. Why not let users control their own data and make them calculate their own trust flows?

That’s where Trustabit comes in. It’s a proof of concept trust and rating network with working (if limited) code.

In brief, Alice rates items, such as “The Princess Bride” and publishes a list of those ratings on her site. Her friends fetch that list and apply their ratings of Alice’s ratings to the items and publish the results, as they choose. If Bob trusts Alice’s taste in movies but not in restaurants, he can ignore her ratings of restaurants while viewing — and passing along — her ratings of movies to his friends.

There’s a bit more to it, so see the Trustabit README for the fuller, gorier details. You’ll need Perl 5.6 or better with YAML to run the code, though it should be reasonably easy to reimplement in any other decent language.

I’ve tried to stay away from dictating much policy. I’ve limited the code deliberately. The idea is pretty simple and I think it’s rather workable as it is.

(I did look at FOAF briefly, but the complexity is too high. Try to explain the mechanism in two paragraphs as I did above. Also, its goals are different. I don’t particularly care if machines can infer semantic meaning from Trustabit data. It’s for humans anyway.)

That’s my wacky idea. It may not be entirely practical, but I think it’s worth playing with. Drop me a line if you find it useful.

Suggestions? Enhancements? Existing projects I overlooked?

Andy Oram

AddThis Social Bookmark Button

Related link: http://www.linuxpipeline.com/showArticle.jhtml?articleID=17603119

Mitch Wagner, on
Linux Pipeline,
airs pretty much the same arguments I made in my blog

To push desktop Linux, radical shift may be required
.

Will the move to desktop Linux take place?

Andy Lester

AddThis Social Bookmark Button

I have a reputation as a pain in the ass when starting a project. Whether it’s
the Phalanx project or
WWW::Mechanize, or the data-transfer system we’re setting up at work that we called “Moto”, I think naming projects is critical to their continued success. I’ll literally spend hours before the project starts, working to find the perfect name. I’m glad I’m not alone.


Simon Cozens, Perl wizard and editor of
perl.com, has started a new project. Like most of
Simon’s projects, it is not modest: It’s a generic MVC-based web application framework that pulls together disparate parts such as web server and database interfaces.

What to call it? From Simon’s weblog:

Let me start by saying that the plan was always for Apache::MVC to be abstracted into a more general MVC web application framework, and so Apache::MVC would eventually become the Apache-based subclass of this more general project. And such projects need a name - Struts, Brazil, Quixote, Wafer, and so on.


Also, having a name like that allows the project to have a decent web presence, show up on people’s CVs, and so on. I really do see [the project] as being Struts for Perl programmers.

Simon understands the importance that naming holds, that this entity will forever be tied to a few syllables. He could have called it something techie and uninspiring, like AppFrame or WebGirders, that tried to tie into what the actual product is, but leaving it completely bland.


No, he called it Maypole.


So why Maypole? I wanted a name which reflected the fact that the framework was a focal point for various different “strands”; that in a sense it tied everything together. I got thinking about knots and anchors and things but that wasn’t helpful.


In the same way that a maypole is nothing special by itself, but needs dancers around it, Maypole isn’t really very interesting on its own but works wonderfully when combined with a data source library, a view layer and a presentation mechanism. Equally, though, you can’t have a maypole dance without the maypole.

It’s brilliant as a name, and it evokes an instant image. One other parallel that he didn’t mention is the interleaving of the various threads, combining to make the specific look of the maypole.


If only all projects were named so evocatively…

What great project names do you like?

brian d foy

AddThis Social Bookmark Button

I made my decision—I got the Nokia 3650.

I could have tossed a coin to pick between the two finalists, and the Nokia won because it has a goofy button design, and the T-Mobile description of it specifically listed its BlueTooth feature (which it omitted for the T610, although it has it). It was a close match for me, so it came down to these little things.

I did not have to make this decision alone though. Even though I looked at reviews for both phones, read message threads, customer complaints, and other internalia, I found the reader feedback from the O’Reilly Network more valuable. Thank you to everyone who had something to say, even if I did not choose your favorite phone.

Now I have to figure out which BlueTooth accessories to buy. The Jabra headset looks very Trekkie and cool, and I have a USB BlueTooth adapter for my G4 PowerBook on the way (and, the Apple Store says the 12″ and 17″ PowerBooks have it built in. Why not the middle model?)

After I bought the phone, I also found some interesting news that I could have used earlier:

brian d foy

AddThis Social Bookmark Button

About five years ago, one of my friends thought that online wedding registries and planning services would be a huge market, and the situation now seems not much farther along.

My wife and I had a quick civil wedding (two minutes, sign here, pay there) before I left for Iraq, and we are going to have the real thing once I get back. While we were instant messaging one night, we decided to set up an online wedding registry. We are not really excited about the technology, and we realize that a good portion of our guests will probably have trouble using it, but it is something we can do together even though I am on the other side of the world.

Tiffany makes you call them to talk to a registry consultant first, and Mikasa tells you to visit a store first. Several other places we checked had no mention of their wedding registry on their web site.

So, we tried Amazon.com, which, despite its geeky and progressive TK, has a online registry that we can set up in a couple of minutes without talking to anyone else. Their selection of traditional wedding gifts (e.g. china) is very limited, but we found some of the stuff we wanted that they offer through third parties.

Setting up the registry is much like shopping at Amazon.com, although you never checkout. Using the registry to buy gifts looks exceeding difficult. If you find the wedding registry link, which shows up in different places on different pages, but usually near the bottom, you can search by the couple’s name and town of the wedding to find out just how many other brides share my wife’s less common spelling of her name. The search results got better over a couple days, and Amazon had made some remark on how that might be the case. They must have some sort of delayed indexer at work. This is not a huge problem though, since we can just provide our guests with the appropriate link.

How is this going to work out? You will have to wait to find out, just like me.

Does a good online wedding registry exist?

AddThis Social Bookmark Button

Related link: http://csrc.nist.gov/publications/nistpubs/800-61/sp800-61.pdf

There’s a new version of the Computer Security Incident Handling Guide from NIST (Jan 2004).

The guide (148 pages, 2.8MB) covers the complete range of the Incident Handling process and includes chapters about: organizing an Incident Response Capability, handling an actual Incident, handling Denial of Service Incidents, handling Malicious Code Incidents, handling Inappropriate Usage Incidents, and much more. It also features checklists, FAQs and other resources.

This NIST Special Publication 800-61 contains a wealth of information and really should be on the desk of every IT Security manager — No excuse.

For even more Incident Handling resources, visit the overview at Intrusions.org

AddThis Social Bookmark Button

Related link: http://www.theregister.co.uk/content/4/35481.html

Neil Davidson’s analysis of Mono and .GNU is flawed, but it’s a good springboard for a more interesting question. Is .NET Microsoft’s exit strategy for Windows as we know it?

There’s fair evidence that the next version of Windows will have — or be — the CLR at its heart. Apart from some drivers and a few pieces of unmanaged code no one can quite escape, the rest of the OS will be CLR components.

That’s positive in a few ways. I most appreciate that it will finally add credibility to something besides C and C++ as system programming languages. (As a side benefit, Microsoft might finally escape buffer overruns.)
Further, if their developers really embrace the idea of well-designed components, it’ll make Windows even easier to script. Admittedly, you’ll have to use some flavor of C# to do it, but at least it’s an intrinsic goal. You can port any language to the CLR as long as it’s C#. (Before you send me angry e-mail, I know that you can add layers and layers of code to add nice things like dynamic typing, but I don’t consider that a port. Deal with it.)

To convince the “I overclock to run the idle loop faster” crowd that CLR components can run fast, or at least, fast enough on the average new machine of 2006, Microsoft has to brag about aggressive JITting. (That’s more or less a runtime optimization step that produces raw machine code from opcodes. While it seems like this
would be slower than producing raw code from the start, it can actually be faster in cases where the additional information at available at runtime allows better
optimizations. This is all an oversimplification, but it should be true enough to make the point.) Since the JITter is necessarily bound to a specific processer (it’s machine-dependent code), the CLR will only JIT
on officially blessed targets. Then again, Java’s “platform independence” meant “some flavors of Win32, Solaris, and, in a few years, an old version will run on Linux” for quite some time too.

There’s another important part of .Net here. Microsoft’s strategy has included distributed components for years. This also shows up in .Net. It’s conceivable that a .Net Office suite will consist of small, downloadable stubs
that connect to an Office server online to do the real work. Expect to pay a license fee.

What are the implications? It’s pretty simple, if a little subtle. If I’m right, Windows will become a virtual machine that allows you to rent applications. Because the CLR isn’t tied to any specific platform — Rotor runs on FreeBSD and Mac OS X, for example — it’s
possible that this most of this new version of “Windows” will run on any complete enough Rotor port, though perhaps not as fast as on the blessed version. Hey, it worked for J++.

It’ll run okay on Mono too. I’ll get to that in a moment.

Microsoft could give up its whole operating system monopoly by shifting it into a CLR monopoly. It may seem like a stupid strategy, but add in the renting of software and it’s not so bad. Think about handheld computers,
cell phones, and PDAs and how well they’ll run the CLR in a couple of years and it’s more and more likely.

Now again, the JIT is important. I’m not sure if Microsoft’s really publicly concerned about anything much more than x86 and its successor. (If Intel’s and AMD’s 64-bit lines emulate x86 instructions, they may
not have to care for a while.) While I’ve run NT on an Alpha, way back when, Microsoft hasn’t shown much of a history of portability. If you want code that runs on multiple architectures, look at the open source and free software folks.

That’s where Mono comes in. Runs on Linux? Yep. Has JIT for PPC? Yep. Goes places and does things that Rotor doesn’t? Yep. Sure, Microsoft loses no
love on the GPL, but they could overcome their institutional view that Windows is the crown jewel to make the argument that renting applications in perpetuity is valuable even if you don’t use the official CLR. (Alternately, they could claim patent infringement and try to grab rights to the Mono source that way, but that seems extraordinarily risky.)

Why port Office to Linux when you can port Windows to .Net?

Is it farfetched? Maybe a little bit. Microsoft has the opportunity to bet the company on a big shift in the desktop market. By making anything-but-.Net a dead end for Windows development and redefining the platform, they have yet another shot at their grail: complete control over your data and applications.

I can’t quite fit DRM into these schemes though, so there may be more (or less) to the story than this idea. Still, there’s a possibility that free software fans should keep in mind. What if the desktop turns out not to be the
right goal after all?

Yep, it’s speculation. Do you have evidence pro or con? Let me know!

AddThis Social Bookmark Button

Related link: http://conferences.oreillynet.com/etech

It’s easy to have a dozen interesting conversations every day at a conference. One person wanders up, two wander away, and the topic winds from idea to idea.

That also happens online, although the idea of presence is much more difficult. Besides the non-physical components, which allow for many times more lurkers than participants, many forums have no realtime interaction.

That’s a good feature — it allows more participation. It’s much easier for me to collaborate with authors in Europe and Asia without one of us having to go to bed very late or wake up very early.

Of course, it’s more difficult to capture the idea of ad-hoc conversations with this model. Either you use a real-time chat system such as IRC or an IM system or you use a more permanent system such as e-mail, Usenet, or a web forum.

My wacky idea is to make it easier to hold ad-hoc conversations. That’s part of the idea behind Mail::SimpleList. It should be easy to create a conversation between several people. That conversation should have a defined topic and a scope.

Of course, there are thousands of existing conversations already. The trick, then, is identifying these conversations, discovering participants in existing (and, likely, completed) conversations, and putting people in contact with each other.

The real magic may be not requiring existing participants to register with a central server. I’m not convinced that’s workable and scalable. Instead, it may be more important to identify, classify, and point out these conversations to people who want to participate. Dale Dougherty pointed out that many SourceForge projects are statements of interest, not code repositories. “I’m interested in the idea of writing games in high-level languages. Who else is? Where are they discussing this?”

There’s probably another component. It’s likely necessary to help people create their own ad-hoc conversations. That might mean bridging between Usenet, e-mail, and web forums, as Jon Udell suggested several years ago in Practical Internet Groupware.

Remember, though, applications such as Wiki perform similar services very, very simply. The real trick may be emulating self-organizing behavior among conference participants. At least, any software should allow it.

That’s the wacky idea. It has lots of handwaving. I’ll try to make up for it by providing actual, working code with tomorrow’s wacky idea. Don’t worry — it’s a lot more practical.

How do *you* start and manage ad-hoc conversations? Is it valuable?

Jono Bacon

AddThis Social Bookmark Button

You know, I like Open Source, and I also like free software. Although this may not be the most shocking revelation that you have heard from an article bearing my name, I wanted to not only clarify my affection of this software, but also one of the reasons why I love this software.

We all come from different computing backgrounds, and although I sailed the fairly common seas of a Commodore heritage, there are of course many of you who have trudged through the darkened waters of restricted technologies that
not only restrict what you can do, but also restrict what you can’t do. These technologies have typically been developed by companies with more of an interest in profit margins, marketability and sales rather than the technology and how it works. Luckily, a ray of hope is shining into the IT industry, and we can thank the legions of free software hackers firmly seated behind their whirring PC’s the world over.

If you take an honest look at software usage, it is quite clear that Microsoft play a very dominant role in the IT world. Not only does this behemoth sell a a stable of Operating Systems but they also sell productivity software, servers, development tools, consumer applications and games
consoles. Despite whether you may look at Microsoft’s dominance as a monopoly or whether it is the media tarnished success of a large corporation, there is no doubt that Microsoft technology runs many computers.

With the problem of dominance comes equality. Microsoft is a closed source company. They sell closed sourced software, use proprietary file types and generally hold their cards fairly close to their collective chest. When you combine a large multi-application vendor and a closed sourced OS, there is a real distinctive possibility that the vendor may not have provided as complete and thorough details on their OS API as you may think. This is a possibility that immediately puts other application vendors at a disadvantage, particularly if they are competing with with the OS vendor in the first place. The problem here of course is that we will never know - closed sourced software cannot give us an authorotive answer. I am certainly not accusing Microsoft of holding certain API details from the general application development community, but the possibility exists, and while it exists, it poses a problem.

Irrespective of whether you say yay or nay to this possibility, the other issue with relying on a closed source base to build software on is that of experience. Microsoft have been writing Microsoft software that runs on Microsoft systems for years. As such, this Microsoft software may run
better on Microsoft systems because Microsoft have been writing Microsoft software for a long time and Microsoft know more about how the Microsoft machine works than anyone. Can you see a pattern here?

Free software has given the world a level playing field. If the code is available and closed source components are not relied upon, it means that every developer and business from a tiny startup to a huge corporation is on the same footing. The code is open, the market is open and the possibility
for innovation is open. This level playing field also paves the way for a variety of software applications that may be either redundant or difficult to compete with from a Microsoft technology based standpoint. Take as an example the actual GUI desktop that forms Windows. Although many would constitute this desktop Windows itself, the reliance of the GUI toolkit that is part of the Windows OS seems to not only bind the user to the desktop, but also binds the developer too. This is simply not the case with an open source system, and this is why we have a variety of development options for free software systems.

This open source platform really unchains the possibility of smaller businesses doing a real and viable business. Take as an example href="http://www.trolltech.com/">Trolltech who develop, sell, and support the popular Qt toolkit. Trolltech have worked exceedingly hard to really push out a great product, and not only has this small company worked to develop
quality, but has also worked to keep it compatible with the open source culture that actually made Qt a viable option. Trolltech will know very well that the KDE desktop is one of the
main reasons why people will have heard about Qt in the first place; a fact that the company can leverage on to push the software into different areas and to different consumers. Not only have Trolltech bended to the reality of running a business and selling software, they have done it in such a way that really provides a quality product that keeps both commercial and free software developers happy. This knock on effect will have no doubt increased the development community of KDE and free software Qt hackers. Many would say this is a truly symbiotic relationship in action.

Pushing the example of open innovation a touch further, another case where free software has opened the doors to smaller scale development is with href="http://www.thekompany.com/">theKompany.com who sell applications and tools that are cross platform. It is clear that theKompany.com were well aware of the potential of Qt, and although they initially tried to write KDE
only software, the company has broadened out to create multi-platform native applications. Once again, theKompany.com have a viable environment to exist
in because the open source platform is a relatively un-tendered base for commercial software. Not only have theKompany.com put together a distributed network of developers from around the world, they have put together and refined a truly modern company that is writing software that will run irrespective of the OS. This factor not only opens up Linux as an option for customers, but does not tie them into the Linux platform in a hostile way; the customer can choose - a factor that cannot be said for various other software vendors.

The reason why I am using Trolltech and theKompany.com as examples is because I think they are really interesting companies that are pushing for a warm relationship between a free software and commercial environment. I have worked with both Trolltech and theKompany.com as a freelancer, and the
reason why I am writing this is not to bolster any kind of sales or promotion, but to give examples of companies are sensitive to their open source heritage as well as their product lines. These two companies have proved that a balance of of quality products, honesty and support of the community can really help develop a business.

I like groups, individuals and businesses who work hard at creating a product that is unique, fair and representative of their passion for their work. I really have a kind of sympathy with vendors that are pushing to wedge their foot in the door, particularly when the market is driven by huge companies with possibly inferior products. It can be done of course, and the list of companies who have a hand in the Open Source framework is increasing all the time. In the same way that fans of a style of music often remain faithful to lesser known artists, I believe that many Open Source and free software users have a real sympathy for companies such as this. Setting up your own business and making money is difficult enough, let alone in an industry dominated by huge businesses where you try to retain some community spirit.

The Open Source and free software community has created a real recipe for equality in the market, and with the predicted growth of the Linux platform in 2004, this rather young industry could see more and more players moving
into the field.

What do you think? Do you think this kind of equality in industry can work? Share your thoughts…

brian d foy

AddThis Social Bookmark Button

Related link: http://www.reuters.com/newsArticle.jhtml?type=internetNews&storyID=4211601

Reuters reports that President Clinton only sent two emails, although his presidential library calls him “the first president of the Internet Age”. Sorting those email should be easy, especially if we remove the test message he sent. I wonder if he typed “Hello World”.

The library, however, will contain 40 million email messages total, and after it opens in November of 2004, I will go there to see what he wrote, what he had in the signature, and maybe, if they kept the mail headers, which program he used.

brian d foy

AddThis Social Bookmark Button

I have narrowed the cell phone field to two contenders, the Sony Ericsson T610 and the Nokia 3650. Neither come close to my initial requirements, but no phone does.

I settled relunctantly on T-Mobile, since my wife already has a phone with them, after I gave up on Verizon, which has served me well but seems sadly stuck in the last century. It is a pity I cannot give my money to the carrier I really want. I wish Motorola had more BlueTooth options, but since they do not, I have to choose someone else, and another company loses my money. Even though we are both in Chicago, Motorola, I cannot buy local and it looks like my money is going overseas.

I have a selection of 11 phones in my T-Mobile service area (Chicago), but only two, these final two, show up on Apples iSync device list. They both have BlueTooth, and they both have a lot of add-on services designed to suck the money right out of my checking accounting. Even though I do not want to send video email from my phone, once I have a phone that does it, I might be really annoying to my friends and family who have already seen enough out-of-focus pictures of my cats.

Timothy Appnel says from the Emerging Technology Conference that the Nokia 3650 is the phone to have”, and I am leaning that way since it is the last thing I read. How can so many Mac users be wrong?

Although T-Mobile does not list the Sony Ericsson P800 SmartPhone, a couple of people have told me I can buy it and take it into their store for programming. I think I would have to pay full price for the phone, in that case, whereas the ones T-Mobile lists have generous rebates. Besides, the notion of a SmartPhone scares me—its only with some trepidation that I am even venturing beyond technology that does caller ID, the most fancy feature on my last phone.

Maybe this is a good thing—I am being forced to try something new and outside my gadget and brand loyalty comfort limits.

Would you choose the Nokia 3650 or the SOny Ericsson T610?

Chris DiBona

AddThis Social Bookmark Button

Related link: http://list.org

A self indulgent, juvenile, poem, followed by something valid and less insipid:


I love mailman, It really flies,

Set up lists, easy as pie,

Batch create, password and mbox

Options galore, sly as a fox.


Not all perfect,

with some features on the edge

Setting moderator passwords

Can only be done via a port 80 wedge


But Wait! This is free software

Written in python, which I enjoy

Open the code, where can I go?

check_pw modified, now my new toy


Change mlist.password to mlist.mod_password

That’s all it took

Now I’m batch processing in passwords

so people can look


If I had gone proprietary

Where would I be?

Calling tech support

Climbing a tree


Free software it is, open source for me

And our lists run, smooth and happily

Free is nice, but freedom makes it happen

And leaves my clients clappin.


To explain: I needed to batch process a client’s collection of about 548 lists which we were porting from ezmlm to mailman, which the client and myself are enamored of. In the process I wrote a handy tool for taking the ezmlm stuff and some options from the gforge we were installing, and created the lists, generated the archives from the old mboxes and set the different privacy and administrative options. It took about a minute per list to create and populate and more time for the archives to create based on mbox size.


When I went to set the moderator passwords programmatically, I realized that, being a new feature, the moderator interface wasn’t as mature as the rest of the package. There was no command line tool to change the moderator password. A quick inspection of the code revealed the proper class function to call to set said password.


A quick edit of the standard list-password setting cli utility gave me the interface I needed. I was a happy sysadmin to be sure; I wasn’t looking forward to manually (or via something like lwp) going into the web interfaces of 548 lists.


Only thing left for happy life is tracking down a rewriting issue, but with that done, we’ll have seriously happy list goodness.


All hail free software!


Chris DiBona

I’m reminded yet again why open source is good.

Andy Oram

AddThis Social Bookmark Button

The main complaint I hear about free and open source software from
people in the computer field is that “You can’t earn money from it.”
Sometimes the claim is thrown about with the superior air of those who
consider themselves versed in the ways of the world–essentially
accusing free software proponents of being economically soft in the
head. At other times the claim is made petulantly, an anxious cry
welling from the breasts of those who have lost jobs in high-tech
fields and spent months looking unsuccessfully for work.

I got a new perspective on this question recently when I read the book
Innovation and Entrepreneurship: Practice and Principles,
published in 1985 by the much-celebrated business researcher Peter
F. Drucker. It discusses, among other things, the sources for new
ideas. One passage that can prove significant in discussions of free
software comes from Chapter 9, titled Source: New Knowledge:

The world’s computer industry began in 1947-8. Not until the early
1980s, more than thirty years later, did the industry as a whole reach
break-even point. To be sure, a few companies (practically all of them
American, by the way) began to make money much earlier. And one, IBM,
the leader, began to make a great deal of money earlier still. But
across the industry the profits of those few successful computer
makers were more than offset by the horrendous losses of the rest; the
enormous losses, for instance, which the big international electrical
companies took in their abortive attempts to become computer
manufacturers.

And exactly the same thing happened in every earlier “high-tech”
boom–in the railroad booms of the early nineteenth century, in the
electrical apparatus and the automobile booms between 1880 and 1914,
in the electric appliance and the radio booms of the 1920s, and so
on.

In other words, during the entire careers of most people who begin
technology revolutions, their industries are losing money.

To understand the promise and meaning of free software, we have to
look beyond it as a business to see it as an element of a larger
society and economy.

What this passage by Drucker tells me, in effect, is that dynamic
societies are willing to sink money into new technology for the benefit
of the larger public, even if it means the ruin of the first people
working in the field. To be true, these industries eventually start to
make a profit–but in a very different form from the first start-ups,
and in vastly different social environments. Why should free software
be held to a standard that other technological innovations cannot
meet?

It just so happened that, during the same weekend I read Drucker’s
book, I also read Dostoevsky’s Gambler. And I thought about
how investment in new technology is itself an awful gamble. A thousand
investments will vanish utterly while a few succeed big. But investors
delude themselves that their money won’t enter the black hole along
with the rest of the cash that society, as we’ve seen, loses in the
gamble on new technology.

What’s hard about free software is that it makes the necessary losses
more explicit. On the other hand, investing in free software is made
easier because its benefits flow more immediately and obviously to the
same ultimate beneficiaries as the other technological
advances–everybody.

What economics are involved in the shift to free software?

Chris Shiflett

AddThis Social Bookmark Button

Related link: http://www.omniti.com/~jesus/scriptures/archives/000111.html#more

It’s been a week since he wrote this (I’ve been busy with PHPCommunity.org), but Theo has written a nice testimonial about the problems developers are facing with MySQL’s licensing.

Zak has been hosting an open license review recently. Hopefully good things will happen as a result. I encourage everyone to voice any concerns you have; MySQL AB seems very willing to listen and to try to resolve and/or clarify any legitimate concerns.

David Sklar

AddThis Social Bookmark Button

Keynote from Tim O’Reilly

Tim’s keynote touched on the “Google/Amazon/etc. as open source app” theme that he discussed also at OSCON last year (and he mentioned its familiarity) but also toured other areas of notable/high-potential/otherwise worthwhile activity that (he thinks) hold great promise:

  • Hacking (in the tinkering sense)
  • Second generation network effects like social software and net-enabled market research and data visibility
  • The architecture of participation (e.g. the user-supplied content in Amazon search results)
  • Getting beyond the single device
  • Robotics and hardware hacking

The talk was a great “heads-up” for areas to watch. Some of this stuff I was familiar with, some I was just aware of, some was completely new. Smoothing out that “lumpiness” of knowledge is one of O’Reilly’s stated corporate missions. Tim’s talk was right on target.

Data visualization is an undercurrent to many of the themes touched on. For example, the sector maps available at http://smartmoney.com/sectormaps and http://netscan.research.smartmoney.com/Static/treemap. I hadn’t seen these before and can think of a lot of other kinds of data I’d like to organize with this kind of tool.

Evolving the Bad Guy

Eric Bonabeau gave an entertaining and informative introduction to evolutionary programming. If it is axiomatic, as he claims, that:

  • Our brains are bad at dealing with complexity.
  • It is inevitable that a complex system has loopholes which can and will be exploited.
  • Our world is filled with complex systems (tax code, power grids, software, etc.)

Then, harnessing the power of evolution in programming gives us a way to discover loopholes in these complex systems that we couldn’t find otherwise. The basic idea is to create a symbolic representations of actors in a system, a fitness function that measures how that actor performs, and the rules in a system. Then, recombine the pieces of those actors and evaluate their fitness to evolve the most fit actors.

The key benefit of this technique is that it can evaluate a huge number of potential solutions — far more than any more traditional method could. It also evaluates solutions that aren’t thought of a priori by developers or testers. It’s sort of like running all computationally possible unit tests on a piece of code without explicitly writing any of the unit tests.

Next Generation File Sharing With Social Software

Robert Kaye laid out how to build (with plenty of prior-art worthy detail, patent hounds) a file sharing infrastructure that provides sufficiently adequate protection (in the worst case compromise scenario) against identifying network users with anything else than anonymous IP addresses.

The technologies he talked about are not revolutionary (which he acknowledges) — a combination of web services, SSH, PGP, and existing P2P protocols and clients. The distinctive part are the social models. His envisioned infrastructure lets different “tribes” set their own rules on what it takes to be part of the group and what kinds of privileges you have. Individual tribes can similarly define how they relate to other tribes and so-on, forming larger aggregates of interrelated individuals which can still preserve their local rules on interaction.

The weak links in a crypto or security regime, Robert emphasized, are people. For example, someone who shouldn’t gets permission to join a group. So the solutions to these kinds of problems involve the rules for interpersonal interaction and having “tribal leaders” establish and enforce those norms.

Mobile Hacks

I don’t have a mobile phone, so I went to this talk to see what I
am or am not missing out on. I’m not now going to run out and buy one,
but what this session really hit home for me was that voice
communication was a popular, useful trojan horse which got millions of
people to start carrying around pocket-sized (or thimble-sized, if
you’re Zoolander)
wirelessly networked computers.

A lot of what’s being presented all over this conference are
brainstorms of what to do with this swarm of chatty, roving
computers. These brainstorms are all over the
creepy/exhilarating/neat/silly map. I am really curious not only to
see how the technological problems and solutions evolve but also how
the cultural/etiquette ones do. Perhaps someday soon my (hypothetical)
phone can glow red when I’m walking by a bar in which there are people
who I’ll probably think are cool and blue when I’m walking by a bar
that I should avoid. Now imagine I’m outside a bar with five other
people who have similar phones. Three of our phones are red, three are
blue. Is it polite to go in? Should I be embarrassed that my phone is
blue and a friend’s is red (or vice versa)?

Etiquette for talking on a mobile phone is jumbled enough as it is:
everyone seems to think that talking on the cellphone around others is
rude but they still do it. It’s a nono for a phone to ring in a
theater but it happens all the time. (And it’s illegal to have a
device in the theater that jams mobile phone signals.)

So, all of these neat apps raise all sorts of other neat cultural
issues that I look forward to seeing be hashed out.

Transient Worlds

Folks from Ludicorp talked
about snazzy stuff they’ve done to enable relationships formed in
online MMOGs to extend into the broader net. For example, some
javascript-based widgets that, plopped on your web site, let folks
send messages to you inside the game (if you’re playing at the time).

The Q and A part of the session provided a stellar reminder about
what’s great about conferences like this: someone asked a question
about FOAF and the answer involved a discussion of permissions issues
related to importing a list of friends into a social networking web
site. When answering the question, Stewart Butterfield, as a random
example, said something like “You might import your friends list that
says you’re friends with Jeff Bezos, but Jeff Bezos would say ‘Who the
heck is this? I don’t want to be your friend!’”. At that point, Jeff
Bezos, who happened to be sitting in the front row, got up and said
something like “I’m sure that would never happen.” (to great
laughter). It was sort of like being an extra in the movie theater lobby scene in Annie Hall.

Vegetables

I cut out at lunchtime to drive up to the href="http://www.amazon.com/exec/obidos/ASIN/0375412808">Chino
Farm and get some vegetables. I got some great strawberries, small
white turnips, and a few kinds of radishes. If you want to go, get on
I5 North from downtown and go about 19 miles to the “Via de la Valle”
exit. Turn right at the exit on to Via de la Valle, go about 4 miles,
and turn right onto Calzada del Bosque. The vegetable shop is on the
right about a half mile down the road. It’s about a 20 minute
drive. Before you go, call 858.756.3184 and listen to the recorded
message to check their hours and make sure they’re open.

Meeting People

One of the best things about a conference like this is the
opportunity to meet and talk to so many bright folks doing neat
things. Most everyone is pretty friendly, too. When someone’s given a
talk or been on a panel and I later want to talk to them, here’s my (so far
effective) strategy: find them wandering around in the hallway (or stand nicely next to them if they’re talking to someone else and it seems like a general chatting-at-the-conference talk, not a personal conversation), tell them something I liked about their talk or
what they said on the panel. Then ask them whatever question I wanted
to ask them. This usually leads to an interesting and/or educational
conversation for a few minutes. There’s no technology that mitigates
this — it just comes down to good ol’ introducing yourself to
strangers.

Seating Arrangements

Although many of the sessions are full enough that this effect is camouflaged, attendees tend to sit where there are power outlets: along the walls and near clusters of powerstrips placed here and there amidst the seats. Tim’s keynote mentioned The Word Spy, which elucidates the meaning and first use of new words and phrases. So what’s a new word/phrase that describes this seating preference in which conference attendees arrange themselves like iron filings on a piece of cardboard with a few magnets underneath it? “power seating”? “strip seating”?

What’s it called when where you sit is determined by where you can plug in your laptop?

AddThis Social Bookmark Button

Related link: http://conferences.oreillynet.com/etech/

Tim’s keynote this morning brought up several ideas he’s been promoting for the past year. There’s a lot of data in cyberspace that, if you measure it the right way, can teach you intersting things.

Take Netcraft, for example. It’s brilliant to map web servers with a simple HEAD request (or whatever they use). Tens of millions of domain names map to millions of IP addresses. What kind of information can you learn if you trawl through DNS and check out what the normal browsing software doesn’t tell you?

Consider also programs that scrape Amazon and eBay for book ranks, prices, and so on. It’s easier (though still not easy) to judge the potential audience for a book by looking at the performance of similar books in a subject area.

Microsoft Research’sNetscan performs a similar service. Want to gauge the popularity of programming languages against each other? Check the numbers of newsgroup posts about that language in the previous month.

Of course, not all discussion on the Internet takes places in archived forae such as web pages and Usenet. Here’s my wacky idea, a refinement on the above theme: scan IRC channel names, topics, and the number of participants.

It’s a little tricky because there are several different networks and, admittedly, quite a bit of seedy content in an ephemeral forum. Still, there’s an awful lot of conversation there. It’d be a shame to continue to miss out on the trends you could follow.

Is anyone doing this? Are there other odd corners of the Internet that need aggregation and summarization?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.audible.com

I access the internet through a bank of computers connected to a satellite IP service. The connection is fine for stateless things like web browsing, tolerable for things like chat, and unable to handle Real Audio. So, when I wanted to hear the latest episode of This American Life, I tried Audible.com.

The requirements seemed okay. I needed a regular PC with some disk space for their software and an internet connection, or I needed a Mac with iTunes. This sounded perfect—I had the PC connected to the internet, and if I could get the file, I could just carry it to my Mac on my USB key drive. I cannot connect my Mac to the military network, but for most things that is merely inconvenient.

I bought the file I wanted, found it on the page that lists my purchases after a bit of searching through all of the tabs, then tried to download it. Instead of an audio file, I got an installer for their PC software. This installer insists on Administrator privileges to install, so I could not install it. There was no way to simply download my purchase to use it on another computer.

After polling some friends online, I found one with a Mac and a DSL connection and got him to download it for me. He had no trouble. On the Mac, he simply downloaded a file, which he then made available to me (luckily we use the same ISP). I downloaded the file from him and carried it back to my Mac.

What Audible.com forgot to say was that even Macs need an internet connection to activate my computer so I could play the file, even though I already had the file. When I tried to import it, I got an error. I noticed it was trying to make a network connection. Their “What I Need” page did not say anything about the Mac needing an internet connection, and if it had I would not have purchased anything.

A couple of days later I happened upon a private network (non-military) and was able to activate my PowerBook to play the file, and when I finally could listen to it, I was disappointed. The sound quality was that of an old AM radio—not really noisy, but not crisp. They recorded the show at around 30 Kbps for their high quality version which came out to 14 MB for an hour-long show, whereas I am used to the much better sampled versions of the show I made with Real Audio and Audio Hijack (which are about 4 times the file size).

I emailed their customer service about their misleading requirements section, but I did not even get an auto-reply.

In all, not only was their service disappointing, but the product was not worth the effort. I would have given up on it a lot sooner if the content were less compelling. And, if I did not have a friend back in the States ready to help, I would never have been able to listen to my purchase.

Have you had better luck?

AddThis Social Bookmark Button

Related link: http://conferences.oreillynet.com/etech

The fine Kasei folks showed up in the lobby bar. Aside from talking about YAPC::EU 2004, Tony Bowden brought up a fantastic idea.

Suppose you’re in the market for a house. You might be out and about in a nice neighborhood for some other reason — taking a walk, for example, or just driving around — and see an interesting house for sale.

What if you could send an SMS or some other easy request with your phone to allow you to find more information? It’d be useful to see photos of the inside of a house without having to make an appointment with a realtor and show up again.

It doesn’t stop there. When GPS is more prevalent, history buffs could say “What’s interesting about this building?” House buyers could say “What’s the price and what does it look like inside?”

You could receive the data in a message or a URL to look up later, or you might just store the coordinates where you could look them up later. There are lots of options.

As well, there are privacy and advertisement concerns to consider, but the basic idea is pretty simple. It should be easy to correspond information to locations.

Does this already exist? I’m new to GIS geekery.

Andy Oram

AddThis Social Bookmark Button

Related link: http://www.sangoma.com/

Most of us remember X.25 as the first couple wasted days in courses on
computer networking, something we had to pay obeisance to before we
could get down to the TCP/IP stuff we needed to know. I had no idea
until recently that X.25 is still growing in use, and not just in
legacy applications.

X.25, actually, is one of an enormous series of protocols standardized
by the international body CCITT; X.500 is another one of the few that
are well-known.
I threw a joke about X.25 in to my recent weblog about the
history of computer
documentation
.
X.25 was on my mind thanks to a recent interview I conducted with
David Mandelstam, CEO of
Sangoma Technologies Corp.,
a company that has made telecommunications and routing equipment since
1984. (And I thought it would be ironically appropriate to post this
blog in the middle of our
Emerging Technology conference.)

Sangoma’s earliest projects involved X.25, and they are still
developing X.25 enhancements, largely on Linux. Mandelstam says, “It
has been estimated that there is still over $10 billion invested
worldwide in X.25 hardware.” Many legacy systems are used by such
large institutions as banks and phone companies, and serve them
well. In fact, new systems are still being built on X.25.

X.25 is noted for being slow (64 Kbs or less) and as having poor
latency, but for being very, very reliable. Its positive and negative
characteristics alike stem from the extensive error-checking it does
at each hop. It thus finds uses in applications where the amounts of
data to be transmitted are small and latency is not very important,
but it’s critical that data not get lost. Examples mentioned by
Mandelstam include:

  • A lottery system being built in Spain. This is a completely new X.25
    application.

  • The SITA system, used to communicate information among carriers and
    between the carriers, airlines, and other institutions. This is a
    relatively new system that uses X.25 as the core protocol.

  • A cell phone system in India, where the gathering of billing data is
    X.25-based.

Currently, Sangoma encourages customers to base products on Linux
“whenever possible.” He says, “An Open Source solution is the only
reasonable choice when developing a specialized communication
server. It’s imperative to get control down to the lowest level of the
kernel, even to the hardware.”

He illustrates the value of Linux for embedded and server applications
by pointing to a recent project that had to communicate with 32,000
automated teller machines. That meant a system that could run 32,000
networking processes at once. Sangoma did a great deal of tweaking and
rewriting of the kernel to let it scale. The automated teller machine
application, incidentally, used several protocols including X.25.

“In the old days when DOS was used for embedded applications,”
Mandelstam says, “programmers would just bypass the operating system
and write their drivers to go down to the hardware. You can’t do that
with a modern operating system, but Linux gives you control over the
device drivers and kernel. Windows, being closed, cannot be
manipulated at this level.” So Mandelstam has found in general that
“customers develop on Windows only when there is no choice.”

What old networking technologies continue to seem to have lasting
value?

David Sklar

AddThis Social Bookmark Button

Joe Trippi

The day began with Joe Trippi’s keynote about the net-enabled experiences of the Howard Dean campaign. Joe Trippi and the Dean campaign have certainly performed a valuable public service — they’ve gotten lots of people interested in politics, explored ways to exploit the Internet in a political campaign, and provided suggestions of how to build grass-roots organizations.

Unfortunately, they haven’t done so much to get Howard Dean lots of votes.

Although Trippi labored in his talk to say that the oft-applied “failed .com” analogy is inaccurate to apply to Dean’s campaign, I think it *is* apt: A stereotypical gold fishtank buying .com failed for the same reason as the Dean campaign: a lack of attention to the bottom line.

Failed .coms built cool technology, made it possible to get a box of Krispy Kremes delivered at 3 am, and threw lots of cool parties. But their efforts at generating interest and transient customers didn’t result in permanent, profit-making customers.

The Dean campaign built cool political technology, made it possible to chat with a fellow Dean enthusiast across the country at 3 am, and threw lots of cool parties. But their efforts at generating interest and enthusiasm amongst supporters didn’t result in votes. For .coms, the bottom line is making a profit. For a campaign, the bottom line is getting votes.

The Dean campaign’s magnanimous exploration, however, certainly benefits future campaigns and all of us as voters and citizens. Mainstream media (what Trippi calls “broadcast politics”) was certainly no help, as their enthusiastic embrace of Dean’s novelty whipped him up to a frothy peak that they were only too happy to deflate. The blame for that artificial rise and fall is a media responsibility as much as (or more than) that of the campaign.

Effective Political Blogging

This session, featuring Doc Searls, Cameron Barrett, Mitch Ratcliffe, and Halley Suitt was definitely about blogging, mostly about politics, and not at all about effectiveness. Mitch Ratcliffe played the role of the voice of reason, emphasizing the role of blogs as just another publishing tool. He also pointed out that blogs fall into the “horse-race” style of campaign coverage just as much as the mainstream media (Trippi’s “broadcast politics”).

Other than Mitch’s insight, this session showed me that although I had thought that the idea of people who blog alot coming together to tell each other how cool blogging is was a thing of the past, it isn’t. Are there sessions at bookselling conferences where people get together and talk about how it’s neat that you can read information in books?

To be fair, this is the *Emerging* technology conference, so some amount of jibber-jabber (to borrow a phrase from Mr. T) is expected, welcome, and even perhaps productive, but I’m a curmudgeon when it comes to “Up With Blogging” navel-gazing.

It sort of reminds me of what people thought about URLs in 1996. Geeks were very concerned that technical standards be maintained as all sorts of random commercial organizations staked out a web presence. (I myself must confess to nerd snits when people had the gall to call a protocol-less fragment like “www.oreilly.com” a URL and not a hostname.) Marketing folks were very concerned that URLs be easy to remember, hence the bidding wars over “any short English word”.com.

I think what most of us (myself included) missed was that pretty much, no one actually types in a URL anymore. You click on a link in an e-mail message or a page, you remember that typing “buy lithops” into Google brings up oldmancactus.com on the front page, or you’ve got something bookmarked. So it doesn’t matter if my URL contains the numerals 2 and 4 so that when it’s read on a radio ad it’s really confusing as to what it is — the URL, it turns out, isn’t what’s driving folks to my site.

That’s what this session about blogging seemed like to me. Everyone was obsessing over blogging qua blogging without talking about what kind of information makes a good political blog or a bad political blog, etc. There was one question about what distinguishes a political blog from any other kind of blog and the answer was … nothing! “Mr. Knopf, what distinguishes the ink in detective thrillers compared to the ink in literary fiction?” Who cares? I want to know what makes a good detective thriller! The medium ain’t the message here, not at this rate.

Gatekeepers and Grassroots vs. the Journalist Priesthood

Dan Gillmor, Jeff Jarvis, and Jay Rosen had an excellent session on the tensions, interesting issues, and implications for “traditional”/”big media”/”broadcast” journalism vs. a bottom-up, “grassroots” effort.

If I got nothing else good out of today (which I did, though), hearing Jay Rosen talk would have been enough. If you’re interested in this topic, stop reading this right now and go read PressThink, Jay’s blog about the role of journalism in a democracy. Insightful, thoughtful, worthwhile.

Don’t be mislead by the fact that I spent six paragraphs ranting about what bugged me about the blogging session and only three here telling you how great this journalism session was. It was the highlight of my day.

Electronic Voting and Transparency

Phil Windley led a good panel on electronic voting technology and how much insight/oversight there should be. Bill Stotesbury, from Hart InterCivic (which makes electronic voting machines) made some good points w/r/t the comparative risk of electronic voting devices vs. mechanical voting devices. Gary Chapman, from UT Austin was realistic and sanguine about how getting electronic voting “right” is not a new problem and not a simple one to solve.

Still, I was disappointed when he seemed to think (in response to a question) that open-source voting machine software would necessarily mean that there was no vendor backing up the software to provide services like indemnification. Open source doesn’t mean public domain and it doesn’t mean disconnected from a corporation. I thought we were beyond explaining that.

MoveOn.org

The last session I attended was an overvirew by Wes Boyd of what MoveOn.org has done and their strategy that has enabled them to build such a large committed base of supporters in such a comparatively short time.

There was nothing exceptional about MoveOn’s activities, which is perhaps what makes it exceptional. They seem to have a good sense of listening to their supporters and acting on good ideas quickly, which has enabled them to nimbly raise lots of money and spend it in creative ways.

Audience members had some good questions. How can a citizen-based organization like MoveOn engage in dialog across the political spectrum and not just within a relatively ideologically homogenous group? Boyd didn’t have a good answer for this one, he just said that he thought that MoveOn was pretty centrist (which is a difficult claim to make.) I’m not sure he needs a good answer to it, though. MoveOn attempts to (and has succeeded at) organize and galvanize politically progressive folks who want to be involved. There are plenty of other organizations out there who can be responsible for organizing other kinds of people with other political allegiances.

That said, I do think it would be a noble mission (and more beneficial to the political process) to build an organization that can use the populist techniques that MoveOn has demonstrated such skill with to de-rhetoricize and add substance to political debate so that we can trade vitriol for discussion. But that may just be the politics equivalent of just wishing for all the mean people to go away. I leave it up to someone more politically skilled then myself to engineer such civility.

Other Stuff

One of the freebies in the conference bag was a slide rule. For those etech attendees out there like me who were born after the invention of fire and therefore don’t know how to use a slide rule, here’s some helpful tips. For those etech attendees (or just random blog readers) who think my little invention of fire crack was too mean, stop bashing your cave wall with your club, uh, I mean, calm down, I’m just kidding — I am trying to learn how to use the slide rule, right?

What did you think of the teach-in?

Schuyler Erle

AddThis Social Bookmark Button

Related link: http://activecampus2.ucsd.edu/

At last year’s ETCon, Ludicorp’s Stewart Butterfield made a splash with Confab, a browser-based tool for finding other conference attendees. This year, UCSD’s Bill Griswold ups the ante with ActiveCampus, a Wi-Fi location sensing system tailored for the Emerging Technology conference, based on the system being used on the UCSD main campus. If you’re running Windows at ETCon, you can find (and be found by!) other attendees at the hotel automatically by trying out the free client application. There’s also an HTML client on the site for those of us not Microsoft-enabled. Give it a whirl!

brian d foy

AddThis Social Bookmark Button

Related link: http://www.theregister.co.uk/content/6/35375.html

A friend passed me this Register story about Orkut’s user license, which looks a lot like a license Microsoft Passport tried to use but then discarded after another Register story stirred up user outrage about privacy and ownership.

I mentioned before that I saw no value in Orkut, and I think this little tidbit pushes that into negative value.

Would you give away your rights to meet people you already know?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.talkingpointsmemo.com

I was reading Talking Points Memo since I found out it was awarded “Blogger of the Year”.

At the bottom of the page, it has the Powered by Movalbe Type link. Movable Type is an application that installs on your web server, providing you with a personal publishing system for creating weblogs or news pages, and it is powered by Perl.

Schuyler Erle

AddThis Social Bookmark Button

Next week’s Emerging Technology conference promises to be full
of fascinating talks and events. One event that I’m especially
looking forward to - and not just because I’m helping to organize
it - is the Collaborative Mapping Workshop, co-sponsored by the href="http://locative.net/">Locative Media Lab.

The workshop sprang out of a series of discussions between various
members of the geowanking list about the best way to
present or explore the burgeoning field of collaborative cartography in
the context of the Emerging Technology conference. We were interested
in weaving together some tools that conference attendees could use to
build up a customized picture of downtown San Diego, as well as foster
discussion about best practices, cool hacks, and so on. A hands-on
workshop seemed like the most effective way to immerse ETCon attendees in
the wonderful world of collaborative geoannotation, as well as generate
new ideas and new directions for further pursuit.

I’m pleased to report that in the intervening months the workshop has
jelled together amazingly well! We’ll be having two face-to-face sessions
at the conference, one on Monday evening to kick off the workshop,
and one on Wednesday evening, to review the tools and techniques used
to geoannotate the Gaslamp district during the week. You can find all the details on the conference events page.

Here’s a quick preview of some of the projects that will be employed
to map out downtown San Diego next week, in no particular order:

  • Chris Goad will be demonstrating Pointmapper,
    a scriptable web mapping applet written in Flash. Chris is also the author
    of RDFmapper, Blogmapper, and Fabl, an RDF development language.
  • Jason Harlan, who collaborated previously with Chris
    Goad on Blogmapper, will
    be setting up and demonstrating a Moveable Type map plugin that
    exemplifies how some of these mapping tools can be dropped right
    into existing applications.
  • Anselm Hook, a co-founder of the href="http://headmap.org">Headmap Project will be showing off Thingster, a web-based geoannotation service.
  • Tom Longson has something super-secret planned that he’s
    refused to tell us about yet. We bet it’s pretty cool, and, hey, it’s
    a surprise!
  • Chris Heathcote has set up a WAP-based geoannotation service that be accessed from your phone. There’s an HTML front-end, as well.
  • Karlis Kalnins will be demonstrating and discussing Where-Fi, an 802.11b-based positioning technology.
  • Dav Coleman will be
    providing and demonstrating a geocoding web service, which converts
    street addresses to location coordinates, as well as a service
    for geotagging mobile phone cam photos. Dav is a co-founder of the
    Headmap Project and developer of the Blogosphere web mapping applet.
  • Mikel Maron, who will be attending the workshop remotely, has contributed a San Diego version of his Flash-based worldKit toolset, an interactive web-based mapping system.
  • Joshua Schachter will be presenting his GeoURL geographic search engine.
  • Jo Walsh has set up a
    RDF-driven geodata aggregator, specially built for the workshop, which we hope will tie a lot of these projects together and offer a common source for data exchange. The
    aggregator uses a REST interface to allow submission and querying of
    “locative packets”, or small location annotations expressed in RDF. Jo
    spoke at last year’s ETCon on “Gonzo Collaborative Mapping on the
    Semantic Web”.
  • As a last-minute addition to our unruly mob, Dr. William
    Griswold
    has agreed to come out from the University of California at
    San Diego, to introduce and demonstrate the Wi-Fi-based location service
    being successfully used on campus there!

The workshop’s homepage is at href="http://locative.net/etcon/">http://locative.net/etcon/. Please
check out the site — there’s resources there to get started building
our custom map of San Diego, plus lots of related information. We hope
you’ll use the workshop projects to both find interesting things to see and do
in San Diego, as well as leave notes for your fellow attendees about what’s hot and what’s not in the Gaslamp and beyond.

As you can see, we’ve really got a lot on, and a lot of brilliant
people involved, and I really think the workshop is going to flat out
rock. We really hope you’ll join us for presentations and discussions
about the digital maps of the future. We also hope you’ll join us in
mapping out downtown San Diego. Feel free to drop by our table, which will be located on the second level in the California foyer, any time during the week. Hope to see you in San Diego!

brian d foy

AddThis Social Bookmark Button

Earlier I set out my requirements for a cell phone. I thought my needs were minimal and I could get by with a low-end phone and plan.

I would really like BlueTooth, so I cannot go with Verizon, which really is not all that bad since my wife already has a T-Mobile account, and we should really get the family plan. Nobody ever told us about merging cell phone accounts when we checked out the wedding planning guides.

So, if I stick with T-Mobile, I have a very limited number of phones to choose from, and the intersection with the Apple iSync devices list seems to leave me only the Sony Ericsson T610, the lesser version of the T616 I have been considering.
It is an open-faced design, although I wanted a flip-phone.

Now I have to figure out how to buy the thing. Cellular plans, or, at least T-Mobile’s, seems so complicated. The last time I did this sort of research was several years ago and the only difference in plans was the number of minutes (and they gave me the phone for free).

My wife called T-Mobile to see if we could add a phone to her account, and they gave her the medium pressure sales pitch that if she did not add it this week the price would go up and there would be less features.

Why does this have to be so painful?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.theweekmagazine.com/opinion_awards/blogger.html

In The Week’s 2003 Opinion Awards, they choose Joshua Micah Marshall’s Talkingpointsmemo.com as the blog of the year. I do not read the weblog, but The Week reports that he canvassed his readers to see if he should go to New Hampshire to cover the primaries, then raised money from the readers to pay his way. He admits though, that he was not the first to do this. Chris Allbritton used the same method to come to Iraq.

A finalist was The Volokh Conspiracy, featuring Eugene Volokh,
whose name I only recognize because he is a friend of my wife and I met him at a party a couple of years ago. His brother, Sasha, who also writes for the weblog, sent me a number of books to read while I am in the Middle East (most of them significant works of Arabic authors). The Week called the weblog “a libertarian collective the excels at analyzing legal, political, and academic trends…”. The spam assasins and linguist geeks out there may enjoy their attack of spam.

I am not an avid fomenter of weblogs, and for all the bluster about weblogs being the next big thing, I think the real news here is that people are independently supporting news sources. The writers would be writers regardless, and the medium seems more like the phamplets that the Founding Fathers published.

What were your favorite weblogs of 2003? Who is going to be big in 2004?

brian d foy

AddThis Social Bookmark Button

I just went through a pile of last year’s Mac magazines, and I have a list of nice, shiny things to buy:

  • inMotion Portable iPod speakers
  • iPod Armor - even though my iPod has held up well in the desert, I am still afraid of breaking it. I do not think this armor stops bullets though, even though they say it is built like a tank.
  • Canon Digital Rebel - I had the film version of this entry level camera. Now I want the 6 megapixel digital version, which can use the lens I already have. And, it is under $1,000.
  • Kensington WiFi Finder - I can war-walk an airport or hotel without fooling with my laptop.
  • TiVo Home Media Option - schedule recordings from any web browser

What is on your wish list?

Dale Dougherty

AddThis Social Bookmark Button

The killer application of the Internet is being strangled to death. Over the last year I had seen numbers that spam accounted for as much as 50% of incoming mail. Current spam levels are much higher, according to
Bob Amen, O’Reilly’s system administrator, based on his experience. Bob sent mail today describing our statistics for the last 24 hours, saying that he wanted our users to know how much spam he was keeping out of our mailboxes.

There were 82,300 incoming email connections to our mail server.


Of those, we blocked 10,000 messages through a local blocking list that I maintain and for improperly formed SMTP commands. The latter are mostly due to viruses and trojaned home systems on DSL or cable that are being used as spam robots.

We blocked 13,000 attempts to deliver the MyDoom virus.

Our spam software (SpamAssassin) identified 49,000 spam messages and 11,000 clean messages (after alias expansion). That means we get more than 4 spam messages for each good message!

Of course, this doesn’t mean that O’Reilly users were not seeing spam. A good amount does get through. I’d estimate that I get 1 piece of spam for every 4 messages that get through to my mailbox. Less than 10% of the incoming email is any good, an unhealthy ratio of real meat to spam.

As much as spam filtering has improved, I’m still spending a portion of my day rooting through trash to find something good to read. The only consolation is it could be worse, if not for the efforts of admins like Bob.

Isn’t it too bad to see email trashed?

brian d foy

AddThis Social Bookmark Button

For the past several years, I had a simple Motorola StarTac with Verizon service, and it has served me well. The price was right, the minutes were beyond my ability to exhaust, and I liked the flip-phone.

When I left for the Middle East, I cancelled my plan (under a special I’m-A-Soldier-Get-Out-Of-Contract thing), and accidently destroyed my phone’s attenna. For the past year that has not mattered to me that much, though.

Now I am getting ready to come back to the States. Some soldiers have got activated cell phones in the mail so they can use them the minute they get off the plane (or maybe sooner if the pilot lets them talk while taxiing). I have been looking at phones myself, and, since I am starting anew, I can get almost anything I like.

My dream phone needs only a few things:

  • A Motorola phone would be great
  • Flip-phone design, preferably with caller-id/time window
  • Works with Mac OS X’s iSync
  • Has BlueTooth, because I hate cables, even for a headset.
  • Works with Verizon, with whose service I am completely satisfied
  • Optionally, though not importantly, can receive text messages from the internet so various Perl scripts that I write can email me).

That is it. That is all I want. I do not need to take pictures, play music, download ring tones, or make toast.

Although I have only looked at a few phones, and the intersection between iSync, BlueTooth, and Verizon support is very small, I am still looking for my dream phone.

What phone do you like?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.time.com/time/personoftheyear/2003/people/

In the January 5, 2004 edition of Time, Jon Stewart has a page-sized portrait of him adjusting his tie, thus showing a smiley face cuff-link.

The caption compares him to Edward Murrow, the radio newscaster from World War II, despite the fact that Jon Stewart is “desk-bound”. He was one of the first ones to go back on the air after 9/11 for a very serious half hour that belied Comedy Central’s usual, irreverent programming.

Curiously, none of the “embeds”, the journalists travelling as part of the military units, seemed to Matter, no matter how fancy they got with video satellite phones. Indeed, The Daily Show is the only television news program I watch, and only because it seems to not owe anyone anything or need to make a story, since, in the absence of real news, they just make something up, although their creations are funny.

I think, however, that Ann Garrels of NPR, Mattered too, but then, who listens to NPR?

Who do you think Mattered?

Andy Oram

AddThis Social Bookmark Button

The following is condensed from a talk I gave at LinuxWorld in
January 2004.

If we look at the types of documentation needed in the Linux
community, it leads to a general discussion about different types of
computer documentation and the learning needs of computer users.

The Linux Documentation Project

When one talks of Linux documentation, one should think first and
always of
the Linux Documentation Project.
Linux started to congeal and take off in 1992, and it was around the
same time that the LDP appeared, founded by Matt Welsh (who soon wrote
Running Linux for O’Reilly). The LDP is an impressive
organization that has editors, guidelines for reviewers, procedures
for updating documents, translators–in short, an it’s an organization
that has tried to reproduce everything about conventional publishers,
but in an open and volunteer manner.

The LDP is a phenomenon we should all be following as a model for
documentation in an open source community. The quality of its output,
as one might expect, varies widely. At the high end, a few documents
outrank the information in most conventional, published books. At the
low end one finds mushy, vague descriptions of no interest to anybody,
sometimes written by people for whom English is not only not a first
language, but not a language.

The LDP is a fine achievement, but it’s fragile. One would be overly
generous to say it runs on a shoestring budget. It basically has
nothing but a Web site and a few tremendously dedicated and inspired
volunteers who manage to keep the documentation flowing from multiple
contributors. They need an infrastructure, including the kinds of
legal protections for which such open source projects as Apache,
GNOME, and Eclipse set up foundations. People who care about
documentation should talk to the companies pouring money into Linux
and get them to set aside a little bit of those funds to put the LDP
on firm ground. Even though the LDP could be viewed in some sense as
competition to O’Reilly, I feel they are very important.

Three audiences

Let’s look now at Linux documentation as a whole. I won’t treat the
valuable but amorphous range of informal documentation in the form of
journal articles, newsgroups, and even chat rooms; it’s enough in this
talk to stick to the conventional books that are understood when one
uses the term documentation.

The computer field has long divided documentation into three
categories based on audience–end users, system administrators, and
programmers–a division that applies well to Linux.

End users

There are some good beginner’s books for end users that succeed in the
sense that they make Linux seem simple. If anything, I’m afraid they
oversimplify. Sometimes things on Linux just don’t work right. A
configuration file has the wrong default setting, or you install a
program and it fails to put a menu item on your start-up menu, or
conversely, an item on your start-up menu fails because some file
association is incorrect. And people need help fixing these problems.

It’s traditional to say that problems like these should be solved by
making the software systems themselves more robust and by planning to
make everything work together in advance. Just as when you buy a
Macintosh, you should be able to install Linux and have everything
just work. The end-user documentation should not have to deal with
incongruities.

Certainly, standards for installing software and making programs
interoperate correctly are valuable. But I fear the results of putting
too many constraints on programs. Something of the openness of systems
might be lost. In theory, one should be able to define standards that
make all software work together robustly without excluding innovative
developers. But in practice, I think developers on the fringe would
lose out if Linux became like a Macintosh. So let’s allow some
flakiness around the edges and give end users documentation that help
them deal with it–more on this later.

System administrators

System administration documentation is the largest category in Linux,
and it addresses a lot of areas well. It’s gratifying to see so many
books that provide background, take readers through complex processes
step by step, and, most significantly, allow them to backtrack and
trouble-shoot what they’re doing. For instance, one regularly sees
books warn users to run ps to make sure a background daemon
is running before carrying out steps that assume the presence of that
daemon. That’s a simple example of good, belt-and-suspenders system
administration, and a lot of authors know what to do.

Programmers

There is much less documentation for programmers on Linux, and the
books I do see on the shelves don’t sell very well compared to the
other kinds of Linux books. I’ve spent a lot of time–since it’s my
job to figure out where to put my company’s resources–trying to
figure out why people in the Linux and open source areas don’t buy
many books on programming, and I can merely cite a few hypotheses.

One possibility is that there just aren’t many people writing programs
for Linux, KDE, GNOME, etc. If that’s true, it’s a big problem that’s
going to bite Linux in the future. But it’s a situation that could
also change rapidly. I don’t think this is necessarily true, and in
any case it doesn’t strike me as the major reason for poor sales of
programming books.

Another hypothesis I’ve considered is that, after all, Linux is
modeled after Unix and the desktops offer programming models similar
to other toolkits used on the X Window system, so there are lots of
people who have learned the basic programming techniques
already. Maybe all the Linux/X programmers are old hacks who don’t
need new documentation. But when I look at the age of the people doing
the coding, I know that can’t be the explanation.

Finally it occurred to me that the lack of interest in programming
books may be caused by the availability of other sources of
information. If programmers can get what they need elsewhere, they
won’t buy many books.

And what do programmers always say is the best documentation? Source
code! So that may ultimately be the explanation. When so many open
source applications are out there for everyone to see–including the
efforts of the best coders in the industry–programmers may be finding
enough to get them going.

What the Linux field needs

So our field is doing pretty well, in terms of both formal and
informal documentation. But we still could do better. I’ll give a bit
of history of computer documentation to show where we’re still weak.

Reference manuals

The first computer documentation was awful three-ring-binder reference
listings filled with sentences such as, “The /x25 option invokes the
X.25 protocol on the line.” Nearly all documentation (which, I’m told,
has its roots in military technical manuals) was like this from the
beginnings of the computer industry until the 1980s, when
nonprofessionals started to get their hands on computers. But
certainly, reference documentation is still important, and some of the
best-selling O’Reilly books (including Linux in a Nutshell)
fall in that category.

User-friendly documentation

In the 1980s a revolt broke out among technical writers, who insisted
on writing what they called user-friendly manuals. This led to sleek
and glossy books with lots of little icons and and tricks of layout
(facilitated by the simultaneous rise of desktop publishing) and
sentences such as “To print your document, pull down the File menu and
choose Print.” Hmm, that sounds pretty much like the old X.25 example,
doesn’t it? Often, under the friendly exterior, the user-friendly
documentation wasn’t much better than the old stuff.

But this is being a bit unfair. The writers of user-friendly
documentation tried to be task-oriented. When done properly, the
documentation helped readers understand what their systems were
capable of doing, and even sometimes helped them decide on their
needs.

User-friendly documentation is represented today at its best in the
Missing Manual series. I say not simply because they’re put out by
O’Reilly, but because sales figures show how wildly popular they
are. Missing Manuals are often at the top of the charts, particularly
the Mac OS X Missing Manual, which has kept its best-seller status for
years.

Model-building documentation

During the craze to do user-friendly documentation with lines such as
“To print your document, pull down the File menu and choose Print,”
few technical writers tried to think further or deeper about how to
educate users. But another experiment was tried during the 1980s, a
little-known movement called minimalist documentation.

The goal of minimalist documentation was not to convey facts–as was
the goal of all computer documentation up to that time–but to help
readers build the mental models that would help them solve problems
they encountered by themselves. The movement was called “minimalist”
because the documents were short and actually told the user as little
as possible. Typically, they’d show some menu or dialog box and
encourage the reader to play around with it herself. The psychologists
who invented this experimental documentation (I know of no commercial
examples) deliberately wanted to set users free and force them to take
responsibility for themselves.

Mental models help you figure out where to go to solve a problem. They
help you guess that a certain setting must be missing from a certain
file, or that a certain daemon is not running, or that a certain data
format is not being recognized by the recipient of the data.

It’s very hard to form mental models. Readers certainly need
background information, but often they are not helped by simply having
information thrown at them. One must empower them to explore their
systems. Metaphors and exercises–fixtures of the Head First series at
O’Reilly, which are credited by many readers for helping them
understand complicated subjects that other books didn’t explain–are
often critical. And that’s where the Linux field, like many other
areas of computing, can do better.

The person who doesn’t want to learn

I’ve been asked what to do for users who just don’t want to
learn. Documentation is clearly of little value in this case. First of
all, not everybody should have to learn their systems in depth; just
like stoves or television sets, systems should provide basic
functionality in intuitive ways. But people often want to learn when
someone sits down with them and shows them the power of the
system. One needs to induce a “Wow, I could do that” feeling.

This is a general topic for the field of education. Lots of dollars
are spent trying to figure out how to teach the hard-to-teach
children. And like the computer users who don’t want to learn, the
main hurdle to overcome with hard-to-teach children is motivation.
Because of socio-economic stresses or learning disabilities or other
underlying problems, these children can’t take advantage of the
resources teachers offer because the children don’t see a reason to.

I think the arts are a major motivator for learning. Show the children
exciting art and play wonderful music for them. Teach them to make
their own art and music. Along the way they’ll come to realize that
they need mathematics to understand rhythm and harmony or
perspective. They need physics to understand musical timbre and
chemistry to understand how materials form artworks. They need to
study history to understand what led their favorite musicians and
artists to make the works they love.

So the desire to learn has to be nurtured individually in each person,
but there are certain experiences that have a high likelihood of
turning people into learners.

What general areas would you like to see more documentation for?

brian d foy

AddThis Social Bookmark Button

This war has been hard going for the public affairs people. Something happens and in several minutes it is on CNN or Yahoo! News. The events get on the news before I have a chance to get back to camp, even.

A lot of soldiers carry digital media equipment with them. As a military policeman I carry a digital camera to document things (traffic accidents, people I talked to, and other boring things). Some soldiers carry personal digital video cameras.

Yesterday we had a bit of action north of Baghdad—nothing big, just the everyday variety of danger. This time, a group of combat service support (CSS) soldiers (the sort that do military jobs that do not involve direct combat) showed up to do their job. While we were clearing the area, an armored platoon joined the party.

We left because oour job was done and we were needed elsewhere, and I did not think about it again until another squad member showed me a MPEG movie he had.

As my squad was left the scene, things went south and the CSS crew filmed it. There was a moderate exchange of gun fire, and it looks more exciting on the video than it did in real life (which is normally the case with these things), but then, watching armor shoot anything can be interesting just like watching construction cranes or freight trains can be.

The video looks like some of the manufacture cinema verite stuff that seems so popular now—shaky camera, bad pans, bad lighting, and lots of action happening where the camera is not pointing.

Now, by this morning when I got up, the soldiers in my unit were already passing this around, even though it was filmed by another unit. I happened to have my USB key disk on me (a lot soldiers do, it seems), so I immediately got a copy too, and passed it on to another team leader three minutes later, using only SneakerNet.

AddThis Social Bookmark Button

Related link: http://dnsmon.ripe.net/

The RIPE Network Coordination Centre (RIPE NCC), one of four Regional Internet Registries in the world, has recently launched a beta version of dnsmon.

dnsmon provides a comprehensive, objective and up-to-date overview on the quality of service of high level DNS servers, currently these are the root servers and some participating TLD servers. dnsmon measurement data is continuously added once every hour.

image

Tools used to build all this include most prominently: RRDtool, MASON, PERL and Unix.

Please note that the dnsmon service is still beta.

brian d foy

AddThis Social Bookmark Button

Related link: http://www.orkut.com

A friend recently invited me to join Orkut. I cannot give you the URL because he did not give it to me, at least not yet. Someone has to invite you to join. Okay, the URL is http://www.orkut.com/, so it is not as secret as The Order of the Skull and Bones, and probably not as nefarious.

The list of people I already know who have joined this service seems to include everyone who has been to an O’Reilly Conference, including Tim O’Reilly, who was specifically mentioned to me.

My first question was “What do I get out of this?”. My second question was “What do you get out of this by inviting me?”. I figure this is another geeky way to try to get the high score by having more friends than other people.

Another acquaintance said “It is like high school, but run by the nerds.”

Or “It is like Match.com for geeks”, which I really thought was what OSDN Personals (a branded Match.com) was. But if this is a networking tool, it cannot be like much like Match.com because the whole point of that site is to meet someone then stop using the service (although some people probably keep meeting people on the sly).

Jeremy Zawondy says it has something to do with user tracking.

I think it is just another way to spend quality time with your keyboard. If you want to play around with it, you have to find somebody who is already a member to invite you, and that is not me, at least not yet. Resistance may be futile.

Do you belong to Orkut?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.perl.com/pub/a/2004/01/30/ttbook.html

In his recent story on Perl.com, Dave cross explains how he used Template Toolkit, a Perl suite used originally for creating dynamic web pages, to create The Perl Template Toolkit, mainly showing that the web is not the only reason anyone publishes anymore.

Curiously, it looks like he reinvented a lot of the tool that I like to use, LaTeX, but without the pain, suffering, and mysticism.

Like I do with The Perl Review, he uses Perl’s plain old documentation (POD) for the content, then turns that into the form that he needs. I especially like this approach because Larry Wall designed POD to branch out to different formats Indeed, perl has a lot of pod2* translators for different formats, including HTML, man page format, plain text, and the one I use, pod2latex.

Advertisement