Computers behave better when a computer scientist is watching.
Seriously! How many of you have experienced the same? Some member of your family is having problems with their computer. It doesn’t do what it’s supposed to. But then when they want to show you, it suddenly works. And they’re completely bewildered. “But I promise. It didn’t work before. Honest to God.”
Are computers really better behaved when they’re being watched by someone they know they can’t fool? What’s your experience?
Det lader til at man i Danmark har besluttet sig for at det hedder en rejseplan når man tager bus eller tog, og en ruteplan når man kører i bil. Eller er det omvendt?
Er der noget i betydningen af de to ord, som har sammenhæng med den brug? Så vidt jeg kan se er en rejseplan og en rute det samme. Jeg kan ikke finde ruteplan i ODS. Og jeg kan ikke se nogen grund til at det ene er en ruteplan og det andet en rejseplan.
Måske man kunne sige “Rute: Bil/cykel – Bus/tog”. Ville det ikke gøre det mere klart?
Jeg må stadig stoppe op og tænke et sekund, før jeg husker hvilken jeg skal vælge.
Jeg fik Camilla Plums Umoderne Mad for et par uger siden, og har allerede smagt hendes løgsuppe, omelet, boller i karry, torsk med kaperssauce, og vildtgryde. De var alle fantastiske, undtagen vildtgryden, der blev noget juks—men det er jo ikke sikkert at det er Camillas skyld.
Opskrifterne er nemme at gå til, med masser af smag i, og retterne er nogen, som ikke lige er dækket af Jamie Oliver. En varm anbefaling herfra.
November 23, 2005 · 1 comment
Har fundet at Vesterbro Kontorforsyning er billigere end Kontorartikler.dk. Bemærk at den sidste har priser ekskl. moms, så det skal lige regnes med.
Hvor køber du kontorartikler? Eller har du en kæreste inden for rengøringsbranchen? ;->
Not sure where the tracker for Prototype is, so I’m posting it here, in case fellow railers run into it—1.4.0_rc2 is the version distributed with the latest Rails.
Element.removeClassName will leave the classnames with commas instead of space between classes. Fortunately, the fix is easy:
Index: public/javascripts/prototype.js
===================================================================
--- public/javascripts/prototype.js (revision 450)
+++ public/javascripts/prototype.js (working copy)
@@ -1079,7 +1079,7 @@
if (!this.include(classNameToRemove)) return;
this.set(this.select(function(className) {
return className != classNameToRemove;
- }));
+ }).join(' '));
},
toString: function() {
From what I understand, the way they work over at 37signals is that Jason Fried will do interaction design, graphic design, HTML, and CSS coding, which he’ll then hand to David or some other programmer, which will add code.
That sounds like a great way to work. The visual presentation is really intricately tied to the interaction, you want to treat it as a whole. The programmer can eliminate most of the rework, because others have already figured out the details of what to code.
There’s only one little problem: I haven’t met any designers like that, apart from JF himself. I’ve met designers who design in HTML and CSS, which is definitely a plus. But none that also do the interaction part well.
Are there any such people out there, or is Jason unique?
Or maybe I’m misguided. There’s also Ryan and Matt, perhaps Jason doesn’t do all those things, but only some of them, and they do the rest. Can anyone offer any insight?
Have you found your Jason Fried?
Ok, I didn’t mean to say so much on this topic, but I really can’t help myself with the response I’m getting :)
So I’m saying these big application components don’t work.
But come on! No login system? I mean, everybody needs a login system. Let’s add a login system to Rails. Just an itty-bitty login system. Please?
No! (Disclaimer: I don’t get to decide that.)
Seriously, though, the number one request I’ve heard from folks familiar with OpenACS is a login system. But friends, you don’t want your web framework to have a login system.
Why? Look around on the web. How many login systems do you see that are exactly alike? I’ve hardly seen any.
Login systems turn out to be a really hard piece to generalize. Trust me, I’ve tried. Do you use username or email? Do you let people register or create accounts for them? Do you store passwords encrypted, in which case you can’t email them a forgotten password. Do you offer login with Passport or Typekey? Do you verify passwords against a local database or an LDAP server or something else? Or both? What do you do when those accounts aren’t in our database already? Do you ask people for their name and other stuff, or do you get that from somewhere else? Do we ask for their real name, prefix, suffix, etc.? Do we lock people out after x number of failed attempts? Do we use their mother’s maiden name to recover passwords? Do we verify your email before letting you in? Does your login expire, and when, and can the user choose that? Do we still show non-sensitive information even though your login is expired, like Yahoo and Google do on their portals? Or maybe we don’t use passwords, but just hard-to-guess URLs?
The bottom line is that there are lots and lots of meaningful differences.
So you can either take the complex and hard path of trying to build the login system to end all login systems—in which case you end up with lots of complex code that only a few people fully understand, and that still doesn’t cut it for everybody.
Or you can do the Judo and solve the easy problem.
It’s your choice, but I know where I put my money.
I can’t help but be a bit amused at the response to my post on leaving OpenACS. It illustrates very clearly one of the things that I had almost forgotten, but that I do not long for: The culture of complexity.
Take this gem by Neophytos as an example—not to single out Neophytos, he’s an honorable person, but this quote does represent the culture pretty well:
expose UI granules both at the tcl level and also at the highest level via customization services… for example, there must be a way to represent a page as a tree of UI granules/portlets that depend on a collection of data sets and their decoration and placement (layout). This IMO would enable a developer-developer to prepare a page quickly and only at the end improve the graphic design part. [This is not as simple as it sounds but it can be done]
I’m sure it can be done, but should we?
Actually, I’m not sure what Neophytos is talking about, and that’s exactly my point. If a solution in the web application framework domain is this incomprehensible, you can bet there is a simpler solution. This isn’t rocket science, or parenting. It shouldn’t be this hard.
But there’s a tendency to believe that when your big abstractions and generalized login system/workflow engine/forum/portal system doesn’t work all that well, we just need to think harder and deeper about the problem, and we shall find the Solution.
I’ve been around the block a couple times myself, with login systems and workflow engines that were so complex that nobody was able to understand them, and which nobody used, because even after all that hard work they still didn’t do what people actually wanted them to do.
But what if instead you applied some Judo logic? What if we could avoid the hard problem altogether. What if we did the simplest thing that could possibly work, like the Agile folks like to say.
What if, instead of building a login system, you make it easy for people to make their own login system. You could make it easy to associate the user with the session, so we know they’re authenticated; to filter your requests, so they are presented with a login screen when they need to be logged in; by making it really easy to talk to the database; by making it easy to send out an email with a link to click.
In other words, once you change the level of abstraction from the login system itself, to all the elements you need in order to build the login system, you’ve judoed an unsolved problem into a solved one. Fact 16 (reuse-in-the-large) has given way to Fact 15:
Reuse-in-the-small (libraries of subroutines) began nearly 50 years ago and is a well-solved problem.
As an added bonus, you get something infinitely more useful because you can make just the login system you need, and you get code that’s readable and maintainable by ordinary software engineers. And, needless to say, this is the approach that Rails takes.
Why do so many people drift towards complexity? I don’t have the answer, but I do have an angle on it. Back in the day, at ArsDigita, the engineering team took an MBTI-style personality test, and it showed a strong tendency toward “Analytical”. So it would seem this culture was formed early on, and then stayed that way. All I can say is that I’m happy to have gotten out of its stranglehold.
Paidcontent:
MSN is selling 24 hours of front-page real estate for several hundred thousand to a million compared to a high end of $50,000 in 2001.
This web advertising business keeps growing and growing, and it’s starting to look like real money. Does anyone still have any doubts that it will easily be able to pay for online-only newspapers?
Just installed Switchtower, the automated application deployment tool for Rails, and wow. It’s really neat. Just do a rake deploy and your production server is updated without missing a beat. Can’t wait to roll out tons of new features less software.
rake deploy, rake deploy, rake deploy ... ;->
So I noticed that this FlickrExport thing is actually open source, so I figured I could change it to point to 23hq.com myself. But I have no idea how to compile this bastard, and my Xcode ignores me when I tell it to open the files in FlickrExport.xcodeproj.
Can any of you Mac gurus out there (Mark, others?) tell me how to make it compile? Doesn’t OS X ship with everything needed to make software for it?
It’s now more than 24 hours since I put the Google Analytics javascript in place, and the interface still says the first reports will be ready within 12 hours. And all the help pages keep crashing. Also, it was really slow yesterday. Did they just have too many users sign up too soon?
Google normally have their act together and know how to scale, but Google Base also had a very bumpy start. Is this a new trend for them? Are they having trouble hiring top talent?
UPDATE: There are data available, they just don’t show in Safari (and the twelve hours thing is still there, 48 hours and counting). (Thanks ho Bradley at SvN)
A number of folks have asked me why I decided to leave OpenACS in favor of Rails, and with David leaving Denmark for the States, I figured now was as good a time as any to tell the story publicly.
It’s always been clear to most of us in the OpenACS core group, that OpenACS has some things going against it:
- AOLserver was originally chosen because Apache wasn’t very popular and was inferior at the time, but things had changed a lot, and not supporting Apache was a constant frustration.
- Tcl, which was chosen because AOLserver had an interpreter built-in, isn’t exactly the sexiest or most modern scripting language out there.
- PostgreSQL is a very fine database, but almost everybody uses MySQL.
- Code quality was very uneven, with many packages being poorly designed, written and untested.
- Documentation was poor, and things like metadata for tables had several different partial solutions in different places in the toolkit.
- The community is small, which is comfy, but it isn’t growing, and things move very slowly because there’s not enough people.
- Its data model is heinously complex, with more than 100 tables in a normal install, truckloads of stored procedures, many many joins, and two databases to support, making development hard and performance poor.
These are important problems, to be sure, but the big prize, the reusable applications, more than make up for it. Except, over the first half of 2004, I came to realize that they were a pipe dream.
OpenACS’ primary claim to fame was always the reusable applications (see Community in a Box” for example). There’s a forum, a file-storage, a login system, the groups and the permissions system, the portals. Throw them together, and voila, you have an e-learning platform. Or a project workspace. Or anything, really.
That’s the theory, but I had five experiences that all drove home the message that reality doesn’t stack up.
The first was Basecamp. I’d been struggling with how to design web applications for several years, including a period as UI Czar at ArsDigita, but had failed. Basecamp came to epitomize what I think a web application ought to be like, and it wasn’t quite what we’d had in mind. An example: We had spent countless hours creating a form builder that was just right, so you could make every form on the site look the same, and change it at the flip of a switch. But Basecamp’s forms were all hand-craftet, because each had a different purpose, so each should have a different design. Web forms is not as generic a problem as you’d think.
Moreover, they didn’t even use a forum for the forum. They used a blog format. And that, too, worked out quite well. And, well, they didn’t use a file storage, either, files were just attached to the messages. And they didn’t use a fancy login system, they had a very simple one, where you can’t register, you can only have people invite you. And no fancy permissions, either. You can’t design a framework without designing it for some kind of software, and Basecamp changed my perception of what a web framework should be designed for.
The second lesson was an experience with .LRN, an e-learning system built on top of OpenACS, and used by a number of universities around the world. They put together a forum, upload course materials to a file-storage, and glue it all together in a portal. But there was one nasty bug number 900-something, which kept rearing its ugly head. It was about whether a HTML file in the file-storage should be shown in a way so relative links worked, or downloaded, and the bottom line was that we kept changing things back and forth for quite a while, because people simply used the file-storage differently, even though it was all within a university setting. The lesson I took away is that a file-storage is not just a file-storage. Uploading a file and getting it back out is trivial today (it wasn’t when OpenACS was started). It’s the details that really matter.
Another example was the login system extensions we did. It was a joint effort between many clients, and one of them paid specifically to have us do LDAP, because they wanted to use that down the line. First, they ended up never using it, because by the time they were ready, they’d decided to switch to Rails instead. Second, when I did do the actual integration in Rails, it turned out that what they really needed was much simpler and much different from what we’d built, and what they thought they needed at the time. The lesson is, don’t build without a specific need here and now, because what you think you’ll need will be wrong. So much of OpenACS is built on guesswork.
One of the “privileges” we had at Collaboraid, was that most of our projects extended the core in some way. But in the summer of 2004, we got a large project where there would be no core extensions, and where the client had engaged an information architect and a graphic designer to specify what to build in detail. So here was a project to build a well-defined site, as simply as possible. It had a photo-album, a forum, a FAQ, login pages, all the things that OpenACS already had, only the user interface defined by the design team was different from the OpenACS modules. Naturally, we thought that we’d use the existing modules and just tweak them to fit. But that turned out to be more work that just writing exactly what the client needed from scratch. With that, I learned that our fine applications weren’t up to par with a client’s reasonable expectations to a website.
That project also had a pretty tight deadline, so I hired a bunch of people I knew and trusted in the community. I’d read Brooks and knew the dangers, but we had a shared culture. Well, it turned out that the culture was so strong in its belief that a forum is a forum and details don’t matter, that despite the detailed specs, they would deliver something that was the OpenACS forum, instead of what the client asked for. When I pointed out the very obvious differences between the spec and what was delivered, they just couldn’t see what I was talking about. I ended up recoding almost everything myself. The lesson? That the culture is very strong, and you can’t realistically change it.
Finally, at some point during the summer, I also read Fact 16 in this article by Robert Glass:
“Reuse-in-the-large (components) remains a mostly unsolved problem, even though everyone agrees it is important and desirable.”
Bam! There you have it. All the problems I’d seen weren’t because of poor execution. It was a dumb idea to begin with! Reuse-in-the-large is exactly the problem that OpenACS is trying to solve, and it “remains a mostly unsolved problem, even though everyone agrees it is important and desirable”. Can it be said any clearer than that?
Problem is, that when you take away that piece, you’re left with an little known, hard-to-install, overly complex, partially debugged, aging toolkit built on a stack that nobody else uses. It started to look very unattractive. I knew I had to get away.
But to where? I’d been looking around for quite a while: PHP, Zope, .NET, Mono, Java. In fact, I’d done that in 2001, too, after ArsDigita, and before starting Collaboraid. But I didn’t see anything that I liked enough to leave my friends, my customers, and my code. That is, until David showed me Rails.
I had him come in to the office and give a demo to Peter, Yon, and myself, and I was blown away. Not only was it neatly done, but the thinking behind it matched what I had learned, and all the problems that OpenACS had were solved. I knew from that instant that I had to leave OpenACS and pick up Rails.
I did, and I haven’t looked back. I’m glad to see that a number of my old friends and customers have decided to join me.
UPDATE: I’ve been getting a number of emails with comments. Feel free to post them here publicly.
By popular demand, here is the code. It needs to be hand-held, but the bulk is there. While putting it together, I noticed a bug, which has caused my 39 posts with a URL on the title to lose their contents. Bummer. Gotta fix.
Thanks all for an inspiring evening at David Heinemeier Hansson’s emigration lecture. Now tag your photos emigrationsafhandling (23, flickr).
Some things are blatantly obvious, yet I somehow still manage to miss them. If you have, too, then here it is.
You look up Ruby and Rails documentation from within TextMate by simply placing the caret inside a word and hitting ^H. It works using ri, so you need to make sure that your Rails documentation is available to ri.
Mine wasn’t, so I added the following line to ~/.gemrc:
rdoc: --all -S -N --ri
Then finally I did a sudo gem rdoc --all, and all was bliss.
Øltorvet forhandler min yndlingsøl, Sierra Nevada Pale Ale. Til kasseapparatet!
Øltorvet stiller også med øl til aftenens emigrationsafhandling. Tak til dem.
Støt Børnenes Filmfond. Bogen “Filmstjerner ” udkommer på tirsdag. Køb den på vej hjem fra stemmeurnerne.
Disclaimer: Jeg har lavet og hoster sitet. Gratis. For en god sag og et link.
Fastmail says it could take as long as 2 days before I can get to my email again. Call or SMS me at +45 31 18 47 07, leave a comment here, or mail me at larspind at gmail dot com. This has been since last night.
UPDATE: Email is working again. Finally.
Just noticed this text over at plazes:
Update recommended: new version fixes instability and excessive memory usage on Mac OS 10.4!
Hm, my computer did get a lot worse shortly after installing that widget. I wonder if I had the fixed or the not-so-fixed version. I wonder if it’s really fixed now?
Regardless, it’s good to have a clean machine.
(What’s that thing called in psychology where you tend to like something more when you’ve paid more for it—because you’re now invested in it?)
It sounds like we have ourselves a team for the Public work places site. Here’s a minimal feature list to get us off the ground:
- Places have: Name, address, neighborhood, city. Wifi info. Ambience, food, coffee, what’s good, what’s bad. Comments, ratings, photos/moblog, tags. Anything else?
- Places can be created, searched, browsed, and updated. Who can update? Anyone? Wiki-style? Who oversees it?
Some things that would be fun to do but can wait till we’re airborne:
- Show who’s there, or who’s frequently there, from plazes.
- Say who my friends are, and see the places they like which I haven’t been to yet.
- Same with friend-of-friend—useful when traveling.
- Pick up reviews posted on people’s blogs and tagged with technorati tags.
What am I missing?
How about a name? Who wants to play with Nameboy? places2work.com is available, should we just grab that?
While writing the post below, I discovered a feature that I hadn’t seen before on any other producer’s site: The ability to get high-resolution versions of all the product pictures and logos on the site. It feels like something Jakob Nielsen would approve of.
Do you know of other comparable product makers that do this?
I bought this talking kitchen timer a few weeks back, much to the embarrassment of my wife. And myself, for that matter. We had friends over that same day, and I tried to hide it.
Alas, hiding it is pretty challenging, because, well, it talks. It says “20 minutes left”, then “10 minutes left”, then “9 minutes left”, then … And not in a very soft voice, either.
It’s a little comical at first, but it quickly turns out to be quite handy. You get a rough idea of how much time is left without having to take you eyes off the pot you’re stirring. And where a normal timer will be silent, silent, silent, and THEN start BEEPING LIKE MAD, this one is more polite. It reminds you periodically of its existence, and it actually lets you turn it off before it gets to the beeping.
The trick is that it uses a sense that is not as occupied, but more importantly, a sense that’s not exclusive and directional: You can easily hear many things at once, but you can only really look at one thing at a time.
It’s pretty clever. And if you still find it a bit too embarrassing, you can always set it to Finnish and claim that it’s a fancy automated language course.
After a system that had been slowly deteriorating since my upgrade to Tiger half a year back, I finally bit the bullet and reinstalled my system.
Glad I did! It’s one of those things, where you’re a bit scared—you know what you’ve got, but what if something goes awry along the way. But once you take the time to do it, it always pays off.
My system had been through Panther and Tiger, Fink and Darwinports, PostgreSQL and MySQL, OpenACS and Rails, besides lots of manually compiled packages and a ton of applications. It was showing.
But now I’m back with a vengeance, and I don’t know if it’s me, or if the screen actually does look brighter.
November 09, 2005 · 1 comment
Why oh why did Microsoft decide that it was so important that you can drag the toolbars in Office anywhere you want? They can go top, right, bottom, or left, and they can even float. Even more puzzling, you can do the same with the menubar.
I can see how sometimes in some situations it might be handy to be able to float a toolbar. But then I can see so many other cases where unsuspecting users (the prototypical mother, perhaps) will drag their toolbar somewhere they don’t want it and not know how it happened and how to get it back. Of course, getting that damn toolbar to go where you actually want it, and where it belonged in the first place, takes good mousing skills as the bars keep jumping around on you.
This is my favorite example of a feature that’s more trouble than it’s worth. I’m not even talking about the time and effort it took to develop, and what it takes to maintain it—I’m sure those developers had fun. I’m talking about the cost for customers and users of administering their toolbars versus the dubious benefit they derive from it.
It’s a case where less software would be better.
The reason I’m posting this now is that FCKeditor, a browser WYSIWYG editor, has decided to imitate that feature. Not that you can actually drag the toolbars, thank god, but they have copied the tiny graphic that you use to drag the toolbars in Office, the one with the small horizontal bars stacked on top of each other. And they figured it was really important that people be able to hide the toolbar, like in the old Netscape. Just cut both, and everybody will be better off.
Again, I find myself looking for public places - coffee shops, cafes, libraries - to work from, and again, I find myself at a loss for resources to help me find them.
Is there an upcoming.org of public work spots? (Notice I didn’t say “flickr of”.) A site that lets everyone add, review, tag, index, search, and triangulate them? That tells about the atmosphere, the furniture, the coffee, the food, whether they welcome workers, the smoking policy, and whether you pay for wi-fi and through which provider.
Does anything like that already exist?
If not, who wants to do it with me? I need someone to do the graphic design and the CSS.
It’d be for fun, not for profit, of course. As a service to the new generation of independent laptop agents worldwide. Shouldn’t be hard, really.
Do you think the reason those pesky Americans won’t switch to our nicely engineered metric system is that theirs just sound cooler?
I mean, “miles” rolls off the tongue a lot easier than “kilometers”, “inches” is definitely nicer than “centimeters”, “gallons” sounds better than “liters”, and I’d prefer “ounces” to “grams” or “centiliters”.
So is it a case of beautiful engineering wrapped in poor user experience design?
I am about to move and most likely rid myself of the box that currently hosts my Basecamp
SFTP file server, and since I’m a big fan of paying my way out of having to do sysadmin work, I figured I’d give
Strongspace a try. Bad idea.
So the core problem with that idea isn’t really with Strongspace, it’s with Basecamp: It doesn’t let you move the files. I scp’d all the existing files over to Strongspace, then updated the settings in Basecamp, but then Basecamp insisted on pointing all the old files over to the old server. Bah!
Also, Strongspace is really slow. It least it was for me today. What am I paying for, exactly?
Then there’s the problem of users. Your Basecamp users, will have to have another set of accounts. You can’t use HTTP auth or anything like that. Bah!
But the final straw was that then because of Basecamp sticking with a URL forever, I’d essentially be locked-in to Strongspace. No thanks. I’m canceling.
Now if only I could get my $8 back, but no, they don’t do that either. No “try before you buy” with Strongspace. Bah!
Bottom line: Use your own server, or find a friend with a server you can use. Anything is better than this.
The one feature that I found convenient in Flock is the star feature. A quick and easy way to bookmark a page with delicious. And that’s exactly what Lazy Sheep does. It’s a bookmarklet that adds the current page to your delicious account, using the same tags that everybody else already used for it. One click, and you’re done. Works with (almost) any browser.
The only problem I’ve found with it is that his server is frequently down, so you’ll don’t throw out your old delicious bookmarklet just yet.
It’s happened before, but it still puzzles me every time. For a couple weeks, I’ve been feeling really tired. I’ve been making sure I’d get at least 8 hours of sleep, some nights even longer, but I still felt tired. Then after a night of just 5 hours of sleep, I felt great. Now after two more 5-6 hour nights, I still feel more well rested than I have for weeks.
I know it’s not unusual that too much sleep can make you tired, but it still throws me.
Have you experienced the same?
Yes, it was time to retire that other OpenACS site, collaboraid.biz. For the time being, it’s just a page on this site. This means I can completely eliminate AOLserver and PostgreSQL from my server. The less, the merrier.
script/plugin install \
-x svn://home.leetsoft.com/liquid/trunk/liquid
This will download and install the plugin with svn:externals. Sooo sweet!
SkypeMenuX will put a nice little Skype in your menu bar, complete with a buddy list, just like iChat. Very nicely done. Now go get it—and there’s a donate button if you like it :)
The Danish blogosphere is up in arms over The Cancer Society’s misuse of the term “weblog”.
It is evident that what they’re doing is not a weblog, and it’s equally clear that they’re calling it a weblog.
And so what?
I can’t really see what the big deal is here. What damage does it do to us, to Danish society, to the princesses, or to the work to find a cure for cancer?
If there’s a crime, who is the victim?
It reminds me of back when the web was new. Everybody and his mother had to get on the web. Which they did, typically in a pretty helpless fashion. Getting on the web is the easy part. The realization that this would forever change the demands on your organization from its customers/citizens/members took much longer. And the cultural and organizational change needed to put that realization into practice, and to honor those demands is still so far from over it’s not even funny.
Blogs, just like the web itself, call for a much deeper cultural and organizational change. A change we cannot reasonably expect the Cancer Society to put in place at this point.
So instead of bashing them over the misuse of the term, why not laud them for at least realizing that this is something worth experimenting with. Perhaps they’ll read a book and go on to make a more honest second try. And in their third or fourth attempt, they might actually get a conversation going through a real weblog.
I’d understand it if the members asked for a real conversation, for example through a blog. But that’s not what I’m seeing.
I really don’t understand what all the fuss is about. Who is the victim?
The Liquid templating system for Rails comes like a god-sent for me. Via the Rails blog.

[IN ENGLISH: See here or at the end of this post.]
Vi arrangerer en emigrationsafhandling til ære for mr. Ruby on Rails/Basecamp/Backpack/37signals
David Heinemeier Hansson.
Det bliver sidste chance for at få del i hans viden inden han emigrerer til USA, og du får mulighed for at give David en hilsen med på vejen.
Det foregår på mandag den 14. november kl. 20.00 i Admiral Gjeddes Gaard. Arrangementet er gratis og vi byder på øl.
- Smid en kommentar her hvis du kommer.
- Post et link hertil i din egen blog, så vi kan få spredt ordet til alle.
Med venlig hilsen
Madsen-Mygdal, von Haller, Nyholm, Yang og undertegnede, på vegne af det danske folk
In English: We are cheering David as he emigrates to the States at 8pm Monday November 14th at Admiral Gjeddes Gaard. It’s free. Show up!
PS! As a tribute to David, this blog was moved to Rails this weekend :)
UPDATE: 24 signed up in 24 hours. Awesome! But where are the women? Please, let’s fix that!

Mac meetup at Baresso today—accidentally ended up in a Goldilocks setup.
Amazon’s new Mechanical Turk site reminds me of this old boingboing story about spammers leveraging humans to solve CAPTCHAs. Same thing, only the reward is different—Amazon offers pennies, the crackers offer porn. Again, the spammers and the porn industry are leading.
After moving all the photos from my old photo gallery over to
23, I decided to also get rid of the old stats for that part of my site in Mint, and I was quite surprised to see that this caused the IE share to drop from around 75% to 51%!
It sure seems that my photos had a different audience from my writing.
I’ve built a plugin for Typo that will display photos from 23 in the sidebar, like you see on this site. I should probably get around to submitting a patch to Typo, but in the meantime, if you want it, let me know.
I always find it confusing to install
PHP for
CGI with MySQL support on Debian. I tried with
apt first, then with the unofficial packages from
dotdeb, before finally giving in to compile-from-source of
PHP 5.
But then when I do that, I always have trouble figuring out which switches to use. So with some help from this snippet, I figured out to do this, and it worked well enough to let me install mint:
./configure --prefix=/usr/local/php5-fcgi --enable-fastcgi \
--enable-force-cgi-redirect --disable-cli --with-mysql
I just found out that you can bring your own stylesheet to MarsEdit. Right-click the weblog in the drawer, and select “Edit preview template”. Here you can throw in you usual LINK tags, and whatever DIVs and other wrapping your blog post needs to display properly. I’ve done that now with the Typo stylesheets, and it’s working well, except it’s including the sidebar. Pretty nice, nonetheless, it would be nice if Typo came with a template that you can just copy-paste.
November 06, 2005 · 1 comment
Finally, more than a year since I decided to drop OpenACS and pick up Rails, I have gotten my own site running on Rails. It’s just an almost-vanilla install of Typo. The photo gallery is missing, I’ll move that over to 23. The feeds and most old URLs should still be working. Let me know if things are broken. Thanks!
UPDATE: All the old photos now up on 23—which, incidentally, runs OpenACS :)
When
your camera takes pictures that weigh in at over 3MB each, the decision of which photos to
delete is as important as any. That’s why I’m dumbfounded by the way that feature is designed in iPhoto.
If you’re looking at a photo inside an album, hitting the delete key will remove the photo from the album, but won’t delete the actual photo. If, however, you’re viewing the Library, and you hit that same key, it will.
Now I understand the logic. But I still keep making this mistake, because the library and the album work and look exactly the same, otherwise, so I forget where I am. And then when, after careful deliberation and comparison of almost-identical shots, I’m done “deleting” them from the album, and I realize I was in the wrong place, it is really hard to figure out which photos it was that I wanted to delete, since they’re now gone from the album. Argh!!
I had to dig a little for this. The answer is simply:
1
2
|
headers["Status"] = "301 Moved Permanently"
redirect_to "/" |
Here is the relevant snippet from response.rb in ActionPack:
1
2
3
4
|
def redirect(to_url, permanently = false)
@headers["Status"] = "302 Found" unless @headers["Status"] == "301 Moved Permanently"
@headers["location"] = to_url
... |
So as you can see, it actively checks for that particular header. Kinda weird that it doesn’t have a :status flag like so many other methods, but that’s the way it is.
I’m fiddling with an OpenACS lars-blogger to Typo converter, because I need to have my blog running Typo by Monday.
Has anyone done this already?
UPDATE: I completed it, and it turns out it wasn’t that bad. Ironically, it was much much easier than the upgrade from OpenACS 4.6 to OpenACS 5.0. Why? Because the queries for getting stuff out of the database, you can just grab from the pages, or even the error log. But inserting into the OpenACS database is a pain with multiple inserts across several tables. Much easier in Rails, where you have ActiveRecord making it trivial.
It wasn’t until today that I realized you can point the RDoc Dashboard Widget straight to the Rails API doc. Now i have two RDoc widgets on my dashboard. Handy!
Paul Graham: “Most of what the VCs add, acquirers don’t want anyway.” Exactly!
This cracks me up! Apparently people have figured out that there’s no real security around the Google lunch, the doors to the outside dining area are wide open, and if you can get past the parking hurdle, you’re game.
Tony Snow from Fox News on last Friday’s (October 28)
Real Time with Bill Maher, makes the point that Exxon’s $10 billion quarterly profit, while a PR problem, isn’t really that spectacular, by referring to—Microsoft.
Apart from Snow being factually wrong (Exxon $9.9 billion, Microsoft $3.14 billion, as helpfully pointed out by John Sinteur), Microsoft is also a convicted monopolist!
So I guess he inadvertently makes a pretty good case that competition isn’t quite working over in oil land.
November 04, 2005 · 1 comment
Dave Winer: “The keyboard is a bit awkward, wish it were the same layout and size as the keyboard on the iBook.”
Exactly! I have a veritable keyboard graveyard from gone through at least 5 keyboards for my mac so far, and the only one that really works for me is the built-in keyboard on my 12” PowerBook. Weird.
If only we could have an external one just like the PowerBook keyboard, but with a full row of F keys, and Option and Control keys on the right side as well, I’d be pretty satisfied. Don’t bother with the numeric keypad, it just pushes the mouse further away.
Greg Yardley has a great point, when he says:
It’s just good business sense – if you want to kneecap the market leader, you have to reduce switching costs to zero.
It’s true, in an ideal world, people would agree on a standard set of APIs. And there are certainly
people that go that way, and they should be lauded for that. But there will be more folks who don’t. And in that case, we should just clone their APIs.
This has happened in the past with the blogger API. It has happened more recently with
23 cloning the Flickr API.
One crucial element is that tool makers anticipate this, and make sure their tools let you point them to another URL. I’m looking at you, FlickrExport! (Via Scripting News)
UPDATE: I heard back from Fraser who liked the idea for FlickrExport, and has posted a ticket
Since I am spending the day at
Baresso, I had a
sudden urge to
research espresso-
based beverages.
Latte tastes good, but I can’t deal with all that hot milk after a meal. Pure espresso is good, but can be a bit strong, and you have to drink it right away, so not much sipping enjoyment. I just had a beautifully decorated Cappuccino, but I think that next time I’m going to try the Macchiato.
Speaking of coffee shops, now that Denmark has recently imported neo-puritanism and intelligent design, how about also importing smoking bans in public places?
I’ve been happily using
NewsFire since The Switch a little over a year ago, but about a month ago, I switched to
NetNewsWire.
Reason was that NewsFire doesn’t show who posted an item, which is crucial when you’re reading group blogs, or using Basecamp via RSS feeds, where posts from multiple people end up in the same RSS feed, but their names aren’t part of the title or description, like they are on The Huffington Post. (I just realized that 37signals is essentially responsible for making me switch RSS reader—oh, the power!)
But since the switch I’ve also come to realize that the three-pane style is pretty handy for quickly scanning feeds from news sites, delicious, etc., where only a small fraction of the items are worth clicking into. With NewsFire, you can see the listing, but when you click into an item, you have to then switch back to the listing, and when you do, you’ve lost your place.
On the other hand, after switching to NetNewsWire I realized that a number of people put ads in their feeds. With NewsFire I hadn’t really noticed, because it removes them by default, and I wasn’t even aware that it did.
On NetNewsWire, the fast key combo switch between “Traditional view” and “Widescreen view” is a very neat idea for me, since I alternate between a 23” cinema display, and using the built-in 12” display. But I never use that feature, because the widths of the columns in the title listing gets messed up, so I end up spending so much time adjusting those that it’s not worth it. This is a classic example of a feature that should’ve been either polished some more, or cut in favor of something else.
I hate having to adjust column widths in general, though, and that’s not limited to NetNewsWire—Mail.app suffers from that, too, and I constantly end up adjusting the date field for some reason. That’s something that you never have to with NewsFire. David Watanabe, author of NewsFire, knows how to make an interface where things have the right sizes and work the way it should, without having to put the onus on the user to tweak it. Kudos on that!
It’s with some sadness that I’ve left the more stylish and fun NewsFire for the more Outlook-like NetNewsWire. I really hope that NewsFire’s author will fix these few problems, so I can get back to the Fireplace.
I say yes, let’s make the Google API an open standard. It really would be healthy with some serious competition.
Why the lucky stiff has some nice Rails tips that were new to me. Especially the XHTML formatting and the new scoped class methods (see the update). Thanks!
Wow, it
appears that Sony and Apple is having a turf war using legally bought CDs, which are artificially crippled to not play on an iPod!
Reminds me of the good old days on Windows when Internet Explorer and Netscape would fight over which should be the default browser, or Real and Windows Media Player would fight over file associations.
Sigh! Can’t they just fight out their vendor sports in the press? Why do we have to suffer in the process?
Thomas Madsen-Mygdal reminded us of this gem at tonight’s blogger dinner:
The Economist: “Technorati is a pioneering search engine for blogs, which allows the surfer to connect to online chatter on topics that might interest him—top topics this week, included Harriet Miers and Ajax football club.”
A helpful reader sets them straight: “SIR – As an inhabitant of Amsterdam employed in IT, I am fairly confident that the “Ajax” you refer to as the top topic on the Technorati search engine for blogs is not our local football team, but is in fact the acronym for Asynchronous JavaScript and XML, the latest hype in website development (Face value, October 8th).”
It’s good to see The Economist make an honest mistake. I wonder how it came to be. Probably an over-zealous copy-editor that was just trying to be helpful. Either that, or a journalist who can’t be bothered to pay too much attention.
November 02, 2005 · 1 comment
Had a conversation tonight with
Jesse James Garrett and
Thomas Madsen-Mygdal about how it is that Jesse and his wife Rebecca can just show up at a dinner in Copenhagen, and we all speak English, and we can all just join in on a conversation. The American culture has really taken over this place.
Well, on my way home, it struck me how much this resembles another world I used to inhabit, namely the world of jazz music. It’s not so much the American culture, as it’s the fact that we’re all part of a surprisingly small community wold-wide. So when you travel here, and meet up with people who are part of the same community, well, you will find that you speak the same language and share a cultural background, not in the sense of what you watched on TV as you were growing up, but as in what books and articles you’ve read, and what web sites you’ve listened to, or - in the case of jazz - albums you’ve listened to.
Once a community gets big enough, that feeling disappears. When car drivers was a small enough group, they also felt a sense of belongingness. Now it’s just the truck drivers that make the secret hand gesture as they pass each other on the turnpike.
SIGCHI.dk: “For anden gang afholder DFs Forum for Informationsarkitektur en 2-dages konference om informationsarkitektur”
Er det mig der er lidt langsom? Burde jeg vide at DF selvfølgelig er Danmarks Forskningsbiblioteksforening?
Flora is having a 14-week crisis. Discovering the new but constantly changing world around here. Not something to take lightly, it seems. We’re back to our old routine.
Danielle Crittenden has the secret IM conversation between Bush and Clinton over at the Huffington Post:
Kickass43: chill out dude
Kickass43: this is YR playbook
Kickass43: wat else 2 do?
Kickass43: fitz still vestigatin karl
Kickass43: dont wanna piss off fitz
Ladeezman42: slap 4hed
Ladeezman42: u guys r so screwd
Hilarious!