« | » Main « | »

Picasa serial numbers

Saturday 30 November 2002

Do you want a serial number that will unlock Picasa? Try one of these:


To the people looking for serial numbers: The software only costs $30! Have the makers of Picasa angered you in some way that you feel justified stealing from them? You like the software enough to search the web for a serial number, why not give them the lousy $30 so they can make the next version? When was the last time you saw a movie you hated, and paid almost as much for the experience?

To my other readers: For most of this site's life, the top search engine query that brought visitors to this site was how to draw a monkey, because of a posting back in April entitled How To Draw A Monkey. About one person per day would find me that way. Who knew there was such demand for sketches of animals?

About a week ago, though, I wrote an entry partly about Picasa, entitled Picasa and ThumbsPlus. In this same month, I wrote an entry called Serial Progress Bars. Because I organize my archive pages by month, and I ask the search engines to index my archive pages rather than the always-changing main page, these two entries appear on the same page. In the four days after Google first indexed this page, I got more than 20 people a day coming here looking for picasa serial number, or some variant thereof.

Pixar is the Anti-Lucas

Monday 25 November 2002

James Lileks comments on Monsters Inc:

Pixar is the anti-Lucas. Where George Lucas uses technology to poke your eyes out and hit your head like a big brass gong, hoping you won't notice how the actual humans exhibit the emotional depth of a photocopy, Pixar uses the technology to speak to your heart.

(The pizza rant is pretty good too, but the Pixar thing is after it.)

Growing A Language

Sunday 24 November 2002

Guy Steele wrote a clever paper a few years back called Growing A Language. It is a precisely written exposition of the difficulties of using programming languages, and his thoughts on how to plan for their growth.

To illustrate his point, he uses English as programmers have to use programming languages. As a result, he provides definitions of words that are illuminating in their own right:

  • A machine is a thing that can do a task with no help, or not much help, from a person.
  • Meta means that you step back from your own place. What you used to do is now what you see. What you were is now what you act on. Verbs turn to nouns. What you used to think of as a pattern is now treated as a thing to put in the slot of an other pattern.

Too many new things

Friday 22 November 2002

A quick spin of the blogosphere, and my head is spinning with new things to think about:

  • Via Second p0st, I learned that XML-RPC for Python is part of the standard library. Who knew? It started me on a mental riff about the availability of technology to pragmatic hackers, which I'll have to share another time.
  • Via Textism, I learned that browsers can accept gzipped pages. Makes sense, I just hadn't picked up on that factoid before. Maybe this is the reason to make all of my pages PHP.
  • The always-prolific and interesting Mark Pilgrim rolls out a fabulous new web app: Recommended Reading. It's like an Amazon Recommends, but for weblogs.

If only there were more time in the day!

Picasa and ThumbsPlus

Thursday 21 November 2002

I take a lot of pictures with my digital camera, and have struggled with how to manage the images on my computer. I've used two different programs, and they are both good in their own ways, but they are also very different.

ThumbsPlus is a very full-featured program that has all the bells and whistles you could want when slinging images around. It handles batch conversions, color management, thumbnail generation, metadata, overlays, image querying, and so on and so on. It is a classic example of a feature-stuffed program with a usable, competent interface. The hallmark of this sort of program is the options dialog box, with multiple tabs and tons of checkboxes.

Picasa is very different: it is aimed the "home" user, meaning less-sophisticated. The entire design of Picasa is structured around a simple metaphor that home users will understand: you don't work with files, you work with images organized chronologically into "albums". Picasa has put a lot of effort into a very attractive interface ("attractive" not just in the sense of "pretty", but in the sense of drawing you in). All of the visuals are very slick, with lots of sexy dynamic effects. These are the sorts of things Mac users have become accustomed to, but we troglodytes on Windows don't get enough of it. When dragging thumbnails around, the other thumbnails glide around to make room for their new neighbor; the "timeline" view shows an infinite timeline with stacks of photos, which you can drive along until you find the stack you want. Picasa doesn't do much, but it does everything a "snapshot" user needs (store, view, print, email), and it does it well.

So to summarize: ThumbsPlus provides way more tools, in a relatively pedestrian way. Picasa does comparatively little, but with real flair. Take your pick.

Amazon wishlist URLs

Monday 18 November 2002

As another angle on the long URL theme, Jake Howlett pointed out that the URL I used for my Amazon wishlist was bogus: it always showed the current user's wishlist, rather than mine.

What happened, of course, is I visited my wishlist, and copied the URL. It had what seemed like a long unique number at the end of it, so I figured it was mine: http://www.amazon.com/exec/obidos/wishlist/104-3115277-8167128. Actually, the random junk on the end is a session id or something (the same url with no random junk also takes you to your own wishlist: http://www.amazon.com/exec/obidos/wishlist).

Visiting Amazon again, I tried to find a good URL for others to use to get to my wishlist. I couldn't find one: every time I got to my wishlist, Amazon knew it was me, and showed it to me in ways that wouldn't work for others. In the end, I sent myself one of the cheezy emails Amazon would like me to send to all my friends announcing my wishlist. It had a URL that worked. (Actually, Jake sent me a URL, but I wanted to work through it myself).

All this brings up another point about long confusing URLs. Dynamic URLs can bring the power of an API to a website (in that they let you craft queries with URLs). But they can also obscure the structure of a site by bringing you to the same place with different URLs (all the different ways I could see my wishlist, for example), or to different places via the same URL (the URL that showed each person their own wishlist).

How much should web site designers make their URL structure transparent? How much can they anticipate all the ways people will want to use their sites? The permalink artifact common in weblogs is an example of providing a clear and direct mapping between content on a site and URLs that map to that content. If only all sites could be as direct.

War on P2P?

Sunday 17 November 2002

How outrageous is this? Even if file sharing really could put the movie industry out of business in three years, as Rick claims, how can he compare this to terrorism? No matter what, no one is going to die from P2P networks. These people need to get some perspective.

As Boing Boing's commentary cogently lays out, there doesn't even seem to be any evidence that the studios are losing money to P2P networks anyway.

And one more thing: the producer of Star Wars is complaining? Not only are these movies hugely profitable, but if the studios want to make more money on them, maybe they should hire a writer and/or director who can do credible love stories and dialog, instead of scapegoating their most devoted audience (techies).

Phoenix and CSS

Sunday 17 November 2002

Phoenix is a new Mozilla-based browser that appeals to me for two reasons: it's trimmed down (just a browser, without all the mail/news/address effluvia that Netscape and Mozilla want to install), and it adopts little shortcuts from IE where they make sense, so my fingers know how to work it. The tabbed interface is intriguing, though it isn't second nature to me yet.

Using Phoenix finally got me to work on this site's CSS so that it renders the same in both browsers. I understand the theory of CSS, but fiddling with it always feels like bits of stuff slipping between my fingers: when I change a padding someplace, I have to go change another padding someplace else. The main things I figured out today are:

  • Put explicit margin and padding specs all over the place.
  • Specify line-height in ems rather than percentage, since IE bases the percentage on the current font-size, but Mozilla bases it on the inherited line-height, while both base the em unit on current font-size.

Lotus Notes icons

Sunday 17 November 2002

The release of Notes 6 with a new application icon was cause for a nostalgic review of the Notes icon over the years. Here, for posterity, without comment or criticism, are the Notes icons as I have known them (R3, R3-4, R5, R6):

four different Notes.exe icons

My RSS Feed

Saturday 16 November 2002

I've added an RSS feed for this blog. I'm not sure what to think of RSS. On the plus side, it's a great way to syndicate sites, and makes for easy aggregation. Its early history was a textbook example of starting with the simplest thing that can possibly work, and letting it grow as needed, rather than the bureaucratic creation of a monstrous standard that no one is happy with and no one can implement.

On the minus side, I personally don't want to view web sites via their RSS feeds. It means having all of the sites I like being homogenized together through an aggregator blender. I like visiting sites and experiencing their different designs. It's part of the experience, and the variety of designs helps me keep them all straight in my mind. The one thing I don't like about the broad adoption of easy-to-use blogging tools is that too many people use the default templates, and we end up with tons of sites that look exactly alike.

And RSS's recent history has been an ugly squabble over what should be a great shared resource.

But part of the fun of this site is experimenting with technology, so I've added an RSS feed just to try it out.

[Valid RSS]

Ban Comic Sans

Friday 15 November 2002

I've always disliked Comic Sans, the childish typeface on Windows systems that seems so popular with apparently everyone else. It's not that I think comic book lettering is a bad design for a typeface, I've always felt that Comic Sans lacked grace or style. It seems deliberately cramped and awkward. It's surprising considering the other work by the same designer (Vince Connare).

So I was encouraged to see others share my distaste for the face. Ban comic sans is proposing a guerilla sticker campaign to ban Comic Sans. It won't work of course, but I have to admire their typographic passion and sticker chutzpah.

The typographica entry also has a link to a Typophile forum message about the campaign. BTW: I love the Typophile banner ad:

Typophile banner ad


Friday 15 November 2002

Ghostzilla is a web browser designed to let you surf without others around you knowing that you are surfing. The browser appears hosted in some other application, with text grayed and images place-held, for minimal read-over-the-shoulder-ability. Mouse gestures control its coming and going.

While it is unfortunate that we have either (a) people lying to their bosses about how they spend their time, or (b) bosses that have unreasonable expectations of how their workers spend their time, I think it is cool that someone hacked Mozilla to come up with a clever technical solution to the problem.

Referrer spam

Wednesday 13 November 2002

OK, so spam emails are horrible, we all agree about that. There's also been spam in other channels: snail mail, fax, instant messaging. Now comes the latest: referrer spam. This is where spammers visit your website and claim the referring URL is their scuzzy site, so your server logs record their URL as a referrer. Then if you're looking at your referrer logs to see who's linking to you, you look up their site. I've gotten some of these bogus referrers that also set the referrer to a Google search for the spam site, so the site name also appears in the list of search terms that the log reports (such as Analog) show.

What I've never understood is how these people can respect themselves. The email spammers can at least work really hard at deluding themselves into thinking that they are simply telling the world about their product. But how can you set out to write bogus referrers and not see that you are being a sleaze-ball?

Grouping in XSLT

Tuesday 12 November 2002

Alex Moffat has an entry about how to group data with XSLT. This has got to be the biggest question people face as they climb the XSLT learning curve. It's a tough one to solve, because it's probably the most common operation that doesn't fall naturally out of the nested template model of XSLT, and whose simple and obvious looping solution is not available in XSLT.

Alex's solution is a clever use of tail recursion to loop and work around XSLT's lack of mutable variables. Luckily, when I was trying to figure out this same problem (for my blog archive page), I found Jeni Tennison's XSLT pages, including a page about grouping. She describes the Muenchian method, which is what I ended up using. Not only is it faster than Alex's method for very large data sets, but it has a natural place to drop in sorting so the original data set doesn't have to be pre-sorted. (Actually, Alex's method doesn't need the data to be sorted to get the grouping to work either, but the groups appear in whatever order they occurred in the data set. The Muenchian method lets me sort the groups and the records).

Another excellent resource for XSLT is Dave Pawson's XSL FAQ. The presentation is more of a firehose than Jeni's pages, so there's more information, but it's a little more work to find what you want.

The web is great, part 2437

Sunday 10 November 2002

While driving home a few weeks back, I was listening to NPR. They play little snippets of music between stories, and I heard one that night I liked. It was a piano piece I had heard before, and I wished I knew what it was, so I could try to find the music and play it myself. So I visited All Songs Considered, the site where NPR tells you what those little snippets are (they call them "music buttons").

Clicking on the samples, I found it was From Foreign Lands and People, by Robert Schumann. A search at Google for the sheet music eventually led to The Sheet Music Archive, which has PDFs of public domain music, including Schumann's Scenes from Childhood, Op. 15, the first composition of which is From Foreign Lands and People. Print the PDF, take it to the piano, and away we go.

The web is great.

UBF: universal binary format

Saturday 9 November 2002

UBF(A) is a simple binary-friendly data format that allows for creating structured data, similar to XML, but much easier to parse. There are actually three levels to UBF, and I think I'm only interested in the first (because I don't really understand the other two). Don't be scared off by the Erlang programming language: UBF is just a data format. If I had found this sooner, things might have gone a little differently on a recent project...

In a similarish vein, DIME (Direct Internet Message Encapsulation) is a MIME-like thing for putting binary data chunks together. It doesn't do structured data the way UBF does, but it lets you agglomerate binary data the way MIME lets you agglomerate textual data.

Doom for the Nokia 7650

Thursday 7 November 2002

Technology marches on: now you can play Doom on a cell phone (just so long as you don't play it on the cell phone while driving!). This tops SimCity on the Palm for the "least-likely desktop app squeezed into the smallest device" award.

These two ports point up an interesting point for software developers, though. Desktop machines become more and more powerful. Developers who write for those machines have become accustomed to having their minimum platform specs improving over the years (used to be 640×480, 256 colors; now it's 1024×768, 32k colors), letting them assume more- and more-capable infrastructure for their apps. But as the range of devices broadens (desktops to hand-helds to cell phones), the minimum capabilities will remain low, perhaps even get lower. And it isn't just new whizzy gadgets that show this effect. Even running an application on a desktop, if the app is accessed over a remote-access program (like VNC or Microsoft's Terminal Services), the capabilities of the "device" will be reduced for bandwidth reasons.

As much as developers would like to believe that they can count on richer platforms, it is still valuable to be flexible in what you assume about your hardware.

Notes questions from the mailbag

Monday 4 November 2002

In a recent email, I got these questions about CD records (the proprietary rich-text format used by Notes, CD stands for Composite Document):

Q: Do CD records map to HTML tags completely?

A: No. Like many of Notes' fundamental technologies, CD records were designed before their now-ubiquitous standardized counterpart (in this case, HTML). CD records cover much of the same ground as HTML (both represent rich text after all), and there are some clear mappings between them (how many different ways are there to say, "start a new paragraph"), but since CD records predate HTML, and HTML was not designed to map cleanly to CD (why should it have been?), there are many mismatches between the two.

The mismatches can be reduced if modern CSS is used to augment the HTML, but there's still a lot of work to be done to convert between the two. Luckily, there's already technology out there that can help. First, the Domino Web server translates CD to HTML as part of serving Notes content to the web. Second, Lotus's DXL provides an XML representation of CD content which may be easier to deal with. Third, there are third-party tools (notably the Midas Rich Text LSX) which can do some or all of the job for you.

Q: How do I determine the character set of a note? There seems to be no information stored about the character set.

A: All text (well, almost all text: native MIME data is the main exception) in Notes is stored in a proprietary character set called LMBCS (Lotus Multi-Byte Character Set). Again, Lotus needed a way to represent a wide range of texts in a unified way, and developed a solution well before the standards community came to the rescue with Unicode. When reading text from Notes (for example, with the C API), you must convert the text from LMBCS to whatever character set you want to use (using OSTranslate).

More-logical alphabets

Sunday 3 November 2002

Halley Suitt made a comment about how M should clearly come after N in the alphabet, since M builds on N the way W builds on V (or is it U?). It's a fascinating nugget of an idea, sitting snuggly at the intersection of typography and linguistics.

David Weinberger responds by re-ordering the whole alphabet based on which letterforms are derivative of which. Since it is all subjective anyway, I can quibble with the details (I always thought of an F as an E with a line missing, rather than an E as an F with a line added), but the exercise is fun in any case. And why does Z come after M in the upper case, but after X in the lower case?

Also found on JOHO: the factoid that the peace symbol is a combination of the semaphore signals for 'N' and 'D' (the initials of Nuclear Disarmament), and a proposal for a hand gesture for "forgive me".

Serial progress bars

Sunday 3 November 2002

I was installing new printer software today, and ran across an old enemy: serial progress bars. This is where a progress bar is shown, but when it hits 100%, the task isn't over, you just get another progress bar that starts over again at 0%. Sometimes there'll be five or six of them in a row. Doing this completely subverts the original goal of the progress bar. It was meant to give the user some idea of when an operation would be completed. By making the user suffer through a parade of identically-labelled progress bars, the user is left almost as baffled as if there were no bar at all (it's marginally better, because at least you can tell something is happening), but a spinning beachball would communicate the same thing without misleading the user into thinking that he's being told something useful.

Even worse, some of these progress bars are the lightning variety: they zip immediately to 100%, only to be replaced by another progress bar that flashes immediately to 100%, etc.

Pyx: the last thing I need

Sunday 3 November 2002

Pyx is a game written in Python with pygame. It's a reimplementation of Qix, a classic arcade game that came out during the time I frequented video arcades. Pyx is very well done, capturing well the feel and challenge of the original game. It's also the last thing I need, because of aching wrists, and because of its addictive nature.

« | » Main « | »