It's small enough to "turn on a
dime and park on a nickel," or so say the inventors of a 1cm-tall machine
that lays claim to being the world's smallest robot.Popular
Mechanics via Gizmodo
Mitch Kapor on
OSAF (developing an Outlook-alternative called Chandler)
If we can demonstrate that it's possible to create great product under
these conditions, and if we can continue to find a balance between the
pragmatic necessities required to actually ship code and the idealistic values
we profess, if we can find ways to integrate those values into our day-to-day
process, then I think that will be a contribution on the order of whatever it
is we actually produce as product.
The first server I connected to the Internet sat on the floor of my
office, close enough so I could hear -- and feel -- its response to heavy
load. It seems weird to admit that I relied on those sensory cues, but I've
talked to enough system administrators to know I'm not alone. The sounds of a
working machine enable the pattern recognition engine in your brain to create
a baseline -- and to detect deviations from it -- in ways that are effortless,
automatic, and incredibly efficient. [Full story: The network
song ] [Jon's
Radio]
Jon concludes...
creating useful representations of states (how things are) and
events (how things change) -- is always going to be hard. Edward Tufte's books
lay out the rules for creating rich and effective visual information displays.
Of course, we rarely see these principles applied successfully in books and
magazines, never mind in system monitoring software. When the Tufte of sonic
design emerges, he or she will likely suffer a similar fate.
And I aver
that the secret will be in the mapping of data structures to biologically
natural (aka intuitive and familiar) forms.
1. This
is indeed a very nice introduction to sockets.
2. The
FTP enty parallels something I've been doing while developing a
web-app:
I created a
python module called uploadself.
When the line
import uploadself is encountered, the program that invoked it
(sys.argv[0]) is automatically uploaded to my webserver's
cgi-bin directory.
I often put
this as the last line of the program I'm working on.
Therefore
if the
program doesn't compile successfully, uploading doesn't occur and I continue
debugging without interruption.
if the
program DOES compile successfully, I can test the webapp through the web
instantly.
Note:
uploadself only executes when it finds itself on my PC. When invoked on
the server it just passes.
I've
found this to be such a smooth way to develop that the only problem is that
failures of this code (because of network lag for for example) are hard to for
me to recognize, in the same way that bugs in the standard library modules are
hard for me to recognize--I assume the problem is in my code, not in the
infrastructure.