|
| |
GIGO: words unreadable aloud
|
Thursday 30 June 2005
|
Is it already installed?
The most frequently neglected "how to" question in any software installation package these days is "How can I tell whether it's already installed?" So much software, so many companies, think that the customer's attention is totally on their stuff. 'Tain't so.
10:50:35 PM
|
|
|
Wednesday 29 June 2005
|
Summer of code? How about an autumn of documentation?
Google is funding a "Summer of Code"; in effect, an internapalooza. Who's going to fund the "Autumn of documentation" that will be required, in order to make any of this code usable?
Burak Emir, one of the researchers working on Scala, wrote about some XML tools including schema2src (a data binding tool), xslt2src, xquery2src, and a servlet engine called smotor. He added, "They are all working, but undocumented.".
So, if any of y'all are into writing about code instead of actually writing code, I think this summer and fall will afford some very interesting opportunities.
12:02:10 AM
|
|
|
Monday 27 June 2005
|
Lavender, Matanzas, JWIG, MAWL, Scottish PL Seminar, Book of Sand
Deb and I spent a wonderful weekend in the North Bay's wine country. Stayed in Santa Rosa, visited Napa for a ride on the Napa Valley Wine Train, tasted some wonderful wines, spent an afternoon at Matanzas Vineyard's incredible Lavender Festival (highlights: the lavender fields themselves; the strawberry-lavender gelato; the 1996 "Journey" Merlot).
Now there's a few new (to me) things to read:
- JWIG, the successor to bigwig, a "Java-based development system for making advanced Web services. It integrates the central features of the bigwig language into Java by providing explicit support for Web service sessions and safe XHTML dynamic document construction."
- MAWL ... from Bell Labs (YES! They do still exist!) ... is "an application-oriented language for producing complex form-based services in a device-independent manner. Mawl separates specification of service logic from specification of the user interface to be presented on a device. This allows for both fast prototyping of new services as well as the easy integration of new user interfaces."
- Phil Wadler's summary of the Scottish Programming Languages Seminar leads to a number of things worth following up;
- and Dave Herman mentioned that Mitchell Wand refers to the "ever-growing list of references worth pursuing" as The Book of Sand. You're welcome to consider that a self reference.
10:31:23 PM
|
|
|
Wednesday 22 June 2005
|
Programming as Teaching
Andy Hunt and Dave Thomas write about learning
here and
here (sorry 'bout the awful URL).
Programmers must spend their entire careers learning; the best
programmers love to learn, and remain fascinated by their chosen
subjects for several decades. Dave and Andy write to that learner,
with good advice about mindful learning. If you're aware that you
need to learn some skill or language or system or technique, then
you have the opportunity to do so in a planned and measured way,
and to make the best use of your learning time.
What do programmers most frequently need to learn? In my
experience, we most frequently need to learn to assimilate huge,
ancient, misbegotten, broken, heterogenous, poorly-structured C
monstrosities. Legacy code. Cruft. How is it structured?
Where is the overview? Where are the hot spots, where one might
look for performance issues? Where are the ugly spots, where
buggy code is most likely to be found? Where are the debugging
hooks, functions designed to be called from the debugger, logging
or debugging flags that can be turned on, unit tests that can be
run?
Given the universal need for programmers to learn, you'd think
that there would be more literature about the flip side: programming
as teaching. Not teaching the computer things, but teaching the next
poor schmo who'll inherit your code, what you did. Teaching your
successor how your algorithm solves this problem, how it
fits together, where the tricky bits are, what alternative solutions
were considered, why they were rejected, and what was omitted because
you didn't have time to "do it right". Seems to me that these
mostly-contextual issues are given short shrift in most programming
shops.
My suggestion to anyone writing or maintaining code ever,
anywhere, and even to those inhaling a large body of code
that's new to you: be more mindful about teaching ... write
up little blurbs about things you learn, to smooth the learning
curve for the next inheritor of that code [*], and of your
modifications to it. Possible channels for this sort of thing
include comments, design notes, occasional presentations or
seminars or code reviews, and internal project weblogs.
Notes:
Michael Feathers' book
Working Effectively with Legacy Code is worth mentioning here.
I wrote previously about Programming as Teaching ...
here
and (tangentially)
here.
[*] It's entirely likely that the "next inheritor of your code" might be yourself, six months older.
11:22:52 PM
|
|
|
Tuesday 21 June 2005
|
Scala version 1.4.0.0
Cool! Just after Chris Diggins posted about Scala on Artima.com, the EPFL guys released a new version, 1.4.0.0. Check out their Scala downloads page.
Changes are listed here. Nothing too major; the three that stand out for me are (1) it looks like DTD parsing is now more integrated, instead of having to use the separate dtd2scala utility; (2) runtime types (experimental); and (3) Scala attributes. That last one might make it easier to integrate TestNG into a scala installation. Haven't installed Java 5, so I don't yet know whether the scala compiler is compatible with it.
11:12:43 PM
|
|
|
Monday 20 June 2005
|
GIGO Scala links, collected
Chris Diggins writes in Artima about Scala. That prompted me to collect links to the GIGO entries I've written about the language, over the past 3.4 years:
That last one kicked off a four-month (plus November) series of postings wherein I read many of the exercises from Bruce Eckel's Thinking in Java, and provided Scala solutions for them. Mostly, they don't really stretch the language, nor show its strengths, but they could be useful as sample code for Scala novices. See either my weblog's Table of Contents (look at May, June, July, August, and November of 2004), or look at those months in their monthly archive form (e.g., May 2004 is at http://tmp.i.am/2004/05/ ).
(By the way, on the mayday entry, Larry Clapp provided my favorite weblog comment ever.)
9:55:00 PM
|
|
|
Sunday 19 June 2005
|
Accordion Crimes
Not quite done reading Accordion Crimes; it's been at least a month and a half, while "Blink" was done in a couple of days. Maybe it's the paragraph-long sentences that Proulx seems to prefer; maybe it's the fact that the mostly-unfortunate characters who come into contact with the accordion all seem to be major losers; maybe it's the smattering of phrases in languages I don't speak (Spanish, French, Polish, Basque!); maybe it's all the vomiting; maybe it's just that Proulx's book is twice as long and the finer print is harder to read :-).
At any rate, I'm not quite as dazzled by this one as I was when I read Close Range or The Shipping News.
At least she got to use the joke about putting all your Basques in one exit.
11:53:05 PM
|
|
|
Saturday 18 June 2005
|
Wiley, the Santa Cruz breatharian
Mark Frauenfelder boingboing'd a piece from "The World's Worst...", about breatharianism, the world's least healthy diet.
It reminded me of this character that I read about, shortly after moving to Santa Cruz county. All I remembered was his name "Wiley" and that he claimed to be a breatharian. Google and The Santa Cruz Metro came to the rescue:
Best Reuscitation [sic].
Short recap: last seen emerging from a 7-11 with a slurpy.
2:53:38 PM
|
|
|
Friday 17 June 2005
|
Mechanical mood modifiers
Just finished reading Malcolm Gladwell's Blink. Then, online, I saw a few references to using physical actions to influence one's feeling of productivity. (E.g., Merlin pointed to Bert and Jason Womack chimed in.)
It appears that none of these entries mentions one important phenomenon that Gladwell describes: that making a particular emotion-related facial expression can cause you to feel that emotion. (See the subsection "The Naked Face", in the "Bronx" chapter.)
I wonder to what extent trained face-readers and face-fakers can simulate the eagerness and feeling of competence that so often occur during those most productive days.
11:46:38 AM
|
|
|
Friday 3 June 2005
|
Agile vs architects
eXtreme
Programming advocates seem to imply that "Agile Architect" is an oxymoron.
Chris Wheeler has a a story, an example of a situation where the phrase makes sense.
What an agile architect does is guide the discovery of those hidden requirements that the business facing customer doesn't always see and that the programmers naively label as speculative.
There's also an Agile Architect site.
10:44:48 AM
|
|
|
Wednesday 1 June 2005
|
Random June links
Welcome to June.
Here are a few random links, mostly via del.icio.us/popular ...
- Royal de Luxe
- Monster Mega Marionettes
http://www.nantes.fr/ext/royal_de_luxe_2005/
[via
Ned Batchelder]
- Lots of handy HTML entities
- http://www.cookwood.com/html/extras/entities.html
- Sean Barrett
- Lots of interesting stuff ... http://www.nothings.org/
Constrained writing: a
jabberwocky version sans "e"!
( See also http://tmp.i.am/2002/08/14.html . )
- Haskell Tutorials
-
http://www.haskell.org/~pairwise/
Especially Eric Etheridge's tutorial aimed for C Programmers.
- Another HCnAR to read.
-
(HCnAR == Haskell Communities and Activities Report)
This one is the 8th Edition, from May 2005.
http://www.haskell.org/communities/
- Much ado about dependent types and Epigram on LtU
- A couple of papers to read:
- epigram tutorial
- lesson 3 in boilerplate-scrapping (generic programming
in Haskell with GADTs).
- van Roy's CTM, Oz, Erlang
- These may be rising in personal importance for me: van Roy's CTM,
Oz, Erlang, and constraints-programming; or more intense web/ajax
stuff; or maybe even more advanced C++/boost/ootl work.
- JHC Haskell Compiler
- It may be that the JHC discussion at 'pub.comp.jhc@ofb.net'
will be of interest, if I can get a yammer.net account,
and figure out gale. JHC might be too young yet, though.
Noticed ex-colleague Tessa Lau's name (hi!), due to her
PyGale library. http://wiki.ofb.net/?GaleFaq . Ok, so
I got onto yammer.net; it took overnight to get a password
assigned.
(A paraphrased quote (Thoreau?) comes to mind: "Distrust any
discussion group that requires new client software.")
Of course, that may just be the price these days of keeping
ahead of spammer scum.
- Programmers need to learn statistics ...
- ... Or I Will Kill Them All
http://www.zedshaw.com/blog/programming/programmer_stats.html
It's worth reading at least up through Zed's dialog with the
"blind man on a planet with no sight".
- Lifecycle of Bloggers
- Funny and too true "Lifecycle of Bloggers" rundown.
http://www.minjungkim.com/?p=2675
- Project warning signs
- Perceptive
list of warning signs that you're being offered work on a bad project.
- JPublish and Aquarium
- ... and "FreeEnergy" are web frameworks based on an
idea very similar to what Scala can do with its "Modular Formatting"
as seen in Burak Emir's scala servlet how-to doc/examples.
FreeEnergy is a name like Ajax, for the synergy of how
PHP's "include" statement combines with PHP's environment
to allow modular, somewhat structured HTML page building.
jj Behrens was part of the inspiration for that, and then
he went on to create
Aquarium, a Python web application framework implementing
this idea. Meanwhile, Anthony Eden created a similarly-inspired
Java version called JPublish.
3:42:36 PM
|
|
|
|
© Copyright
2007
Doug Landauer
.
Last update:
07/2/6; 12:45:00
.
|
|
|
|
|