![]() | Ned Batchelder : Blog | Code | Text | Site March 2004 » Home : Blog |
« February 2004 | » Main « | April 2004 » XSLTXT version 2Tuesday 30 March 2004 XSLT is a powerful technology that uses some unusual constructs compared to more traditional programming environments. I like it, in fact, I use it to generate the page you are reading right now. But it is an XML dialect, meaning that if you want to write XSLT, you are stuck with the horrible-for-humans XML syntax. To solve this, Alex Moffat has written XLSTXT, an alternative syntax for XSLT. It's a great idea, but the implementation needs some work. Some of my XSLT constructs occupied more lines as XSLTXT constructs, and I couldn't roundtrip some of my complicated files. But I'm glad to see that someone is thinking about other ways for people to produce XSLT code.
tagged:
tools,
xslt» 1 reaction Oldversion.comTuesday 30 March 2004 If you've ever upgraded a piece of software and thought that the old version was better than the new one, then you understand oldversion.com's motto: "because newer is not always better". They archive old versions of commonly-used software so you can find an older, simpler version of software you really use.
tagged:
tools
/
via:
Tao of the Machine» react ProthonTuesday 30 March 2004 Prothon is a derivative of Python using prototypes rather than inheritance as the basis for its object orientation. Prototype-based languages seem powerful and intuitive, more so than inheritance-based languages. I'm not sure why they aren't used more. Also, Prothon fixes a few of my main annoyances with Python, especially the ubiquitous self variable, although it does it with dangerously Perl-like prefixes.
tagged:
programming languages
/
via:
Ian Bicking» react Cousins of the presidentsMonday 29 March 2004 The Genealogy of the Presidents of the USA has some pretty impressive information about the ancestors of the presidents. One of the ways they've sliced and diced it is to figure out which presidents are related to each other (beyond the Bushes, Adamses, and Roosevelts). For example, George Washington (#1) and George W. Bush (#43) are 10th cousins 8 times removed.
tagged:
politics,
history
/
via:
memepool» 1 reaction Race car birthday cakeSaturday 27 March 2004 For our second March birthday, we made a race car cake: The headlights are malted milkball candies, the front bumper is a licorice Twizzler, the front wheels are chocolate covered cookies, the windshield is a Hershey's bar, the antenna is a thin pretzel, the back wheels are chocolate covered doughnuts, the brake lights are cherry Dum-Dums with their handles sunk into the cake, the exhaust pipe is another Twizzler, and the spoiler is a frosted graham cracker supported by wafer cookies. I record it here for posterity, because the cake itself is already gone, down the gullets of a couple of dozen six-year-olds.
tagged:
cakes,
parenting,
cars» 5 reactions Air America radioSaturday 27 March 2004 Air America is a liberal answer to conservative talk radio. It debuts next Wednesday on stations in New York (WLIB), Chicago (WNTD), and Los Angeles (KBLA). The showcase is Al Franken's show, The O'Franken Factor, from noon to 3:00, opposite Rush Limbaugh, with programming running all day, 6 AM to 11 PM. I wish there were an affiliate in Boston, but they'll also be streaming the shows from their website.
tagged:
politics» 5 reactions John Miller gave a presentation at PyCon 2004 entitled Promoting Computer Literacy Through Programming Python. It's an interesting topic for me. I'm getting involved in my sons' school, volunteering to teach computer topics. The presentation is in annoying .mov form (you can only go forward, and can't copy text out of it), and begins with boring statistics about newsgroups (!), but then settles into the philosophy of education, the place of programming in the subjects students learn, and so on. There are two links in the presentation (which you cannot click!):
Broken build ritualsThursday 25 March 2004 One of the common components of software engineering culture is the shared build. A team of people work together to produce a piece of software, and on a regular basis, often daily, that software is built for the team. One of the cardinal sins in this culture is breaking the build: changing the software so that it can no longer be built. To punish the offender, and provide a bonding experience for the innocent victims on the team, a ritual develops around how to treat the offender. At a previous startup, a totem figure would appear on the culprit's desk. At Kubi, we've taken to using ordinary caution tape to identify the problem source. An additional benefit of these tribal behaviors is that it gets people talking about the process. When opinions differ on the severity of an infraction, people will talk about whether the punishment was deserved or not. Without a visible and derisive consequence, the process failure may not have been discussed further once the build was working again.
tagged:
development» 4 reactions Truly random numbersThursday 25 March 2004 Usually when a software person talks about random numbers, they mean ones generated by a software algorithm, which means they are really talking about pseudo-random numbers. There are better (but less plentiful) sources, which are based on physical processes that produce truly random numbers. Quantum physics is behind randomnumber.info, which generates numbers using a single-photon optics rig. Another is HotBits, which relies on radioactive decay. I'm not sure how you'd put these to use in any practical way, but it's somehow comforting and empowering to know that in distant corners of the world, physics has been harnessed to give me truly random numbers at my fingertips.
tagged:
comp sci
/
via:
Bob Congdon» 4 reactions Bloom filtersTuesday 23 March 2004 A Bloom filter is a clever data structure that lets you check if an element is a member of a set, while storing much less data than the entire set. The tradeoff is that there are false positives: you might ask if a member is in the set, and get the answer "yes", when it should have been "no". » read more of: Bloom filters... (10 paragraphs)
tagged:
obituaries,
comp sci,
history,
algorithms» 4 reactions One of the things that fascinates me about computer science is that the seemingly simple can be studied for long enough to find the non-obvious in it. Consider the problem of finding a small string somewhere inside a larger one. It's easy to do it a simple way: for every character in the larger string, see if it is an exact copy of the smaller string. Turns out, though, that people have been coming up with better and better ways to perform this simple feat, so that now there are dozens of different algorithms. Christian Charras and Thierry Lecroq have gathered them all together, with explanations, pictures, and even Java animations of the algorithms at work: Exact String Matching Algorithms.
tagged:
algorithms
/
via:
Bob Congdon» react Cog 1.1Sunday 21 March 2004 I made a few minor updates to cog, my code generation tool that uses Python code to generate code for any other language. Version 1.1 allows it to be used for languages without multi-line comments to hide the cog code in. The cool thing is, this was a suggestion by Greg Smith in the reader comments. If you have an idea, send it in! How to make a pop-up sceneSunday 21 March 2004 My almost-six-year-old and I made this pop-up scene this morning: I liked the way it came out, so I wrote up how to do it: How to make a pop-up scene.
tagged:
crafts,
how-to» 1 reaction GUIdebookSaturday 20 March 2004 Marcin Wichary has created a comprehensive compendium of user interface elements over the years: GUIdebook. It's cool to see the different pieces of UI from different systems, but on the other hand, there aren't many unusual ways of making a calculator. The component icons pages is particularly compelling. Sports Illustrated's digital workflowSaturday 20 March 2004 A fascinating article about how Sports Illustrated uses digital photography to produce their images: Sports Illustrated's Digital Workflow. They took 16,183 shots at the Super Bowl, over a million over the course of the year. It's interesting to read the details of how they manage and process the photos. Best quote, on the sports-specific trick of color-correcting photos:
GroovySaturday 20 March 2004 Groovy is a new dynamic language that's borrowing heavily from Python and Ruby. It compiles to standard Java bytecodes, and so can be run on existing JVMs. It looks very interesting. This snippet in particular caught my eye: foo = 'cheese'
tagged:
programming languages
/
via:
Ted Leung» react Why don't more people teach language skills like this? Bob Quick Guide to the Apostrophe, You Idiots. Maybe they can do one for "its" and "it's".
tagged:
language
/
via:
HMK's Spurious Thoughts» 4 reactions Times when I am truly happyWednesday 17 March 2004 Charles considers what his time is worth, and shares this great jwz quote:
Amen.
tagged:
administration,
quotes» 4 reactions ArtRageWednesday 17 March 2004 ArtRage is a free painting program based on natural media and tools. In other words, it's designed to work and feel as much as possible like real paints, chalks, and so on. I was very impressed with it. It has one of those non-standard but intuitive interfaces where you can just start clicking around, and you'll see how stuff works. And the real-media effects are remarkable. A single stroke of oil paint:
tagged:
tools,
graphics
/
via:
Bob Congdon» 4 reactions MIDI sheet music?Tuesday 16 March 2004 I like to play the piano. Not very well, but I like to. The problem is finding sheet music on impulse. I hear a song, and would like to play it, but even if good sheet music exists for it, by the time I can get around to finding it somewhere, my interest may have wandered off to another song. Musicnotes has digital sheet music (buy and download a digital file), but their coverage isn't complete (what store's is?) But there are tons of MIDI files out on the web. For example, Electric Light Orchestra MIDI files (today's song is Mr. Blue Sky). Some are good reproductions, some not so much. But they all are computer-readable lists of notes to play. What if I could convert a MIDI file into printed sheet music? There are MIDI disassemblers out there, but their output is hardly something you could play from. Lilypond is a GNU music typesetter, and a very powerful one at that. It can turn music notation into a MIDI file, but what about the other way around? Has anyone heard of something like that?
tagged:
music» 8 reactions Japanese paper robotsMonday 15 March 2004 I haven't made these yet, but they will be hard to resist. Robot Tairiku has dozens of one-page PDFs of cuttable foldable gluable robots, all in hip Japanese pop culture style. There's an English page, but the Japanese home page is really the way to go to get the entire experience.
tagged:
crafts,
robots,
japan
/
via:
Boing Boing» 1 reaction CSS diagramsMonday 15 March 2004 The thing about CSS is that it can do an awful lot of things, but most of them feel like clever tricks until you are an expert at it. Maybe that's the way all technologies are. In any case, here's another tricky CSS example: CSS Diagrams.
tagged:
css
/
via:
Chris Heller» react Mathematical backgroundSaturday 13 March 2004 I was a real math geek in high school, and was taught "new math" at the time, so I got a pretty good introduction to math at a theoretical level. Still, Mathematical Background by John Sowa is a good overview of math concepts. He doesn't cover the connection to computer science directly, but a lot of this stuff underlies software concepts we engineers encounter everyday. You can get along without the math background, but it helps to have it under your belt. For example, did you know relational databases are called that because they are based on the mathematical concept of relations? See section 5. In some places, he uses terms only in their mathematical sense, without touching on the more common computer science uses. For example, "idempotency" referring to operations, but not to functions: a function f is idempotent if f(f(x)) = f(x) for all x. TV tropes & idiomsSaturday 13 March 2004 Speaking of conventions in movies (I mentioned a starving person seeing someone turned into a chicken in my post on Charlie Chaplin), Television Tropes, Idioms, and Devices catalogues all of the commonly-used devices in TV shows. An example:
tagged:
tv
/
via:
Boing Boing» 1 reaction Elmo coatSaturday 13 March 2004 I guess it's art, or maybe just humor. Kelly Heaton has made an Elmo coat, that is, a fur coat using the pelts of Tickle Me Elmo's.
tagged:
art
/
via:
50 cups of coffee» react Charlie ChaplinSaturday 13 March 2004 Turner Classic Movies (a cable TV station for those of you not in the U.S.) is featuring Charlie Chaplin this month. My cinemaphagic* son and I watched some movies and part of a documentary about him, and we really enjoyed them. » read more of: Charlie Chaplin... (5 paragraphs)
tagged:
movies» 1 reaction CSS jokesFriday 12 March 2004 This is clearly an extremely geeky topic, but here goes. CSS Jokes:
tagged:
funny,
geeky,
css
/
via:
Simon Willison» react Overreaction?Friday 12 March 2004 Russell Beattie had some pictures of his family on his web site. Then he got a phone threat against his son. Then he reacted, or possibly overreacted. Finally, he took down the photos. The issue of how public to make one's family on one's web site is a tough one. I have erred on the side of privacy on this site, which fits my natural inclinations better anyway. The comments on the three posts above are all good reading on other people's reactions to the incident.
tagged:
parenting,
online
/
via:
Simon Willison» 3 reactions Some thought-provoking software engineering reading: ¶ Frameworks, Good Code and the Opposite of YAGNI ¶ Software Development Attitude ¶ Naming Classes - Do it Once and Do it Right
tagged:
quick links» 6 reactions Homestar birthday cakeMonday 8 March 2004 For the first of our March birthdays, we had a Homestar Runner birthday, complete with homemade cake: For those of you who missed it back in October, we also had a Homestar pumpkin for Halloween.
tagged:
cakes,
parenting» 1 reaction Julian Robichaux, concerned about know-nothings passing themselves off as programmers, gives us How to Spot a Fake Programmer:
tagged:
how-to,
work
/
via:
Small Values of Cool» react If you've installed the MSDN library on top of your Visual Studio, you've got a ton of documentation at your fingertips. In fact, way too much, at least in my opinion. Here's how to get rid of some of it. » read more of: Making Visual Studio less annoying #2... (7 paragraphs)
tagged:
how-to,
ides» 3 reactions Fun on the web: ¶ Worth1000.com - The Far Side, real-life versions of Far Side cartoons. ¶ Steve's Web Page, the guy from Blue's Clues! ¶ WEBoggle ¶ The Man in Blue > Experiment > SSCrabble, just CSS and JavaScript.
tagged:
quick links,
javascript,
css» react QRIOThursday 4 March 2004 QRIO is a remarkable consumer robot from Sony. I don't know exactly why you would want one of these things wandering around your house, but it does seem like a stunning technical achievement. Photomatt has some amazing videos.
tagged:
robots,
japan» 1 reaction Parents' choicesThursday 4 March 2004 One of the toughest things about being a parent is having to choose among all the things competing for your attention. Yesterday I felt lousy about a choice I had made. Writing Parents' choices made me feel better. Making Visual Studio less annoying #1Wednesday 3 March 2004 If you are like me, you use Microsoft Visual Studio 2003, and there are things about it that are just plain annoying. I've discovered a few tips to ease the irritation. The first is how to get the solution explorer to stop flipping and flapping. » read more of: Making Visual Studio less annoying #1... (7 paragraphs)
tagged:
how-to,
ides» 5 reactions Google search by numberTuesday 2 March 2004 Perhaps even more impressive than Google's complete capture of the textual web search arena are its continuing efforts to make absolutely all information available through its web site. Now they give us search by number, which includes an esoteric assortment of numeric searches (vehicle identification numbers?). For example, you can search for patents by patent number: patent 6351767
tagged:
google
/
via:
Pito Salas» 3 reactions Intro flash movieTuesday 2 March 2004 My soon-to-be twelve-year-old thought this site needed something to give it a little more pizzazz, and decided an intro flash movie was just the thing. So he whipped up a movie showing the mythic creation of this site: Intro Flash
tagged:
movies,
site» 5 reactions Martijn Reemst hosts an awesome resource: Calvin and Hobbes Extensive Strip Search, a searchable database of all published Calvin and Hobbes comic strips. A quick test proved the power of the system. Searching for "black and white" turned up the very strip I was thinking of: Calvin's Dad explaining how the world used to be in black and white.
tagged:
comics
/
via:
Bob Congdon» 4 reactions Alvy Ray Smith is a true computer graphics pioneer, and one of the founders of Pixar. He wrote a memo nine years ago entitled A Pixel Is Not A Little Square, in which he teaches us simple-minded Euclidean types about what's really going on with computer images. I don't want to give away the ending, but: a pixel is a point sample.
tagged:
graphics
/
via:
The Old New Thing» 2 reactions Loving v. VirginiaMonday 1 March 2004 In all the debate about gay marriage, a common refrain heard from opponents is that the definition of marriage has been the same for centuries if not millennia. Not so. The fact is, the current rules about who can be married have been in place (in some states) for less than 40 years. » read more of: Loving v. Virginia... (7 paragraphs)
tagged:
politics,
history,
law» 11 reactions « February 2004 | » Main « | April 2004 » | |