I am enjoying the holidays immensely, just keeping too busy to post much. I’ve got a couple of things in the pipeline, stay tuned.
Every once in a while someone you hear a story that makes your blood boil. Sometimes it happens to someone you know. Joe Clark has the complete details, but here’s a rundown of the events as I understand them:
- Noel Jackson redesigns Fleshbot using CSS and XHTML, all in perfectly compliant code. I talked with him for a bit of this, sent some screenshots. He worked really hard on it and the result was, if I may say so, gorgeous despite the questionable content.
- Joe contacts Nick Denton on behalf of Noel saying what a neat thing Noel had done and recommending they hire him. Joe can be a nice guy like that.
- Denton responds that they can’t really afford anything like that right now.
- Noel’s design shows up on Fleshbot, a few days later they remembered to credit him for it.
- Later Noel’s exact code, right down to an empty
divhe had to add to get the layout to work just right, shows up on Gawker and Gizmodo. Some colors are changed, and likely due to incompetence of the implementor the other new designs have numerous mistakes added. - Noel steams quietly for a few days, then talks to Nick Denton. Denton doesn’t see what the big deal was using Noel’s copyrighted work on several other sites. It reminds me of people who rip off other’s designs and then don’t understand why you’re mad about it. The copies are not as high quality as the original, as well.
Smells rotten to me. Personally I was quite fond of Gizmodo, as it really is a high quality blog, but I’m not going to visit it anymore and I’ve delinked it because I don’t want to support a company with such low ethical standards. I encourage you to consider the situation and come to your own conclusions. All I can do at this point to support Noel at this point is let more people know about what’s happened to him, in the hope that possibly this could end on a more positive note.
Update: Denton has emailed me and is telling everyone that he has posted chat transcripts that clear everything up. I applaud him for putting more information out there, but it doesn’t seem to help his case much. I suppose anyone can claim ignorance as the reason for a mistake. Some will believe that, some won’t. What makes the difference is actions from here on out, now that everything is “clear.”
Before it’s too late, I wanted to wish the wonderful Sarah Michele Williams who plays trumpet a happy 18th birthday.
Birthday Wish
On your Birthday,
Stretch for a sunbeam…
Reach for a star,
Go for a beautiful dream…Pick out some wishes,
no matter how far,
or how hard to reach
they may seem…Cherish some hopes
that are dear to your heart…And as a new year comes in view,
Treasure & keep them,
and know from the start,
that this year,
you can make them come true
I hope your birthday was as special as every day deserves to be for you.
15
Filed under: Design | Tags: Interesting Links (21), Web (100) | December 15th, 2003
Distributed Social Networking Software
One of the greatest things about South by Southwest interactive last year, which I just barely made it to, was the incredible creative energy born of like-minded people interacting with each other closely. Out of a conversation with Tantek Çelik regarding linking, social interaction, and leveraging HTML rather fabricating new formats I became involved in what now is known as XFN, or the XHTML Friends Network.
XFN is a standardized method for leveraging the HTML rel attribute to describe relationships between people. More simply, it’s about enhancing how you link to somebody. Together with Tantek and Eric Meyer (and wonderful feedback) we’ve put together some great information and guidelines for using XFN. Check it out and share the link.
As an example of an early XFN application, people who I’ve met in person now automatically have a star beside their name when I link to them. See the “timely dozen” to your right or my portal page.
13
Filed under: Uncategorized | Tags: Scripts (5), Web (100) | December 13th, 2003
Sortable Tables and PDAs
For the Houston Palm Users Group meeting today I wanted to put together a comparison of currently available PalmOS PDAs for people shopping for the holidays. The idea from the beginning was to present the information as accessibly as possible, and after toying with doing a slide-based presentation, but talking about them all, or some sort of giant table I settled on the table, mostly because members could check it on the website when they got home and use it as a reference. Of course, giant tables are generally as unfriendly as you can get online, so I started thinking about ways I could boil down the information into just a few values, objective and subjective, and how to present in an effective manner.
The architecture of the table ended up being simpler than I anticipated with just 7 columns: model name, street price, weight, internal memory, total pixels, screen dimensions, and the completely subjective MattRating. I chose the values based on what people seem to care about most at meetings, and with a number of assumptions. Internal memory is important, but less so now that nearly every unit supports external memory (memory stick or SD) transparently. Total pixels was a compromise to present the screen dimensions as a sortable value. “MattRating” is a subjective rating of how I think each unit rates as a gift, taking into account all its features, expandability, the unit in comparison with what else is available, and price. It’s the secret sauce that balances out the values included with everything else about a PDA that couldn’t be usefully quantified or there wasn’t space for.
Finally to make the table as useful as possible I was determined to make it sortable by the table headers. I search high and low and found nothing better than the unobtrusive DOM sortable table code from kryogenix.org. It functions exactly how I think great javascript (ECMAscript, whatever) should. My only problem has been it seems to sort things oddly when you first click on a header, but corrects itself if you click on that header again. I’m trying to track down what could be causing this, but haven’t had any luck so far. Still, even with that one flaw, it’s better by far than the other sortable table implementations I found.
The result of these labors can be seen on the HPUG website, Holiday PDA Comparison.
Now what would be cool is a way to do it with alternating row background colors
It’s over, it’s done. Those of you holding on should wave the white flag as two of the best flexible width sites, Doug Bowman and Dan Cederholm, have thrown in the towel and gone fixed-width without even an entry of explanation, I suppose because the benefits of fixed-width are so obvious no explanation is necessary. Update: Cedorholm’s design is now centered.
The assault is coming from all sides:
Dear Mr Antonioni:
I recently screened your classic film, The Red Desert, starring Monica Vitti and Richard Harris. I have a problem with the way you used screen space. My theater’s screen is big and wide. It is capable of handling many actors at the same time. For instance, crowd scenes and battle scenes work well. But in your movie there are only a few actors — and many times they are pictured in one corner of the screen or another, against a stark minimalist background. This is a terrible waste of screen space. For instance, there is one scene where Ms Vitti is filmed on the left side of the screen and there is a white forest behind her. The white forest is not much to look at. Sure, I can look to the left and watch Ms Vitti’s performance, but what do I see when I squint my eyes and look only at the right side of the screen? Not much! I urge you to add extra characters and situations to your movie so every inch of my screen bursts with action at all times.Sincerely,
Howard Gumpf
Ouch. Now I think the film/web analogy is a bad one, and it breaks down with any sort of critical thought. Zeldman knows this but he’s trying to make a point.
Was it that long ago that flexible-width designs were all the rage? They came in with a bang, and left with a whimper. Is anyone still holding out? Are there any good flexible sites left? The only place I see it anymore in web applications (such as the WordPress administration interface) and in lightly designed e-commerce sites like Amazon.
I’m sure everyone is going to be making #eric_meyer :first-child type jokes so I’ll just link to the announcement, and say congratulations.
I just got an email from docs@mysql.com saying the following:
The user comment system in the MySQL manual is not the place to request features. You can do so using our bug-tracking system at http://bugs.mysql.com/. Thanks. (Actually, your comment is not a feature request, but it relates to another comment that is. The example you’re giving is nice, but this is a reference manual, so we have to restrict it to _a few_ useful examples.)
My original comment was:
You bring up some important issues, but dealing with ages really isn’t that hard. For example you could do something like this:
mysql> SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(dob)), '%Y')+0 AS age FROM people;Where ‘dob’ is obviously their date of birth. It’ll also work with pre and post-epoch dates. Please excuse the funky formatting as the
comment stem seems to insist on inserting line breaks into the code block. I ran into this problem while working on some genealogical things over at Mullenweg.com, a family site. I hope this helps!
Looking back, it’s funny that the comment is still around, I wrote it over two years ago. The date and time functions is the MySQL page I use most, so in some sense it was always nice to have my mark on there. For google and posterity I’ve preserved the comment here.
I’m glad they’re cleaning up the comments, as they are really bad in places and have atrocious formatting, especially when compared to say, the PHP manual. However there is a later comment (which is still up) that offers perhaps a better method. From Kirill Novitchenko:
The method posted by Mathew Mullenweg is good, but leap years goof it up on birthdays. (Try it. Use the current date and subtract exactly 5 years ago.)
Hopefully this will be the last ‘find age’ function. There is a simple premise to it:
- Subtract the current year from the birth year to get the age.
- If the current month and date is less than the birth month and date, subtract 1 from step 1.
Therefore, this should work with everyone who wasn’t born in the future.
SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS agewhere dob is date of birth.
I’ve never run into any problems with my function but I see nothing wrong with the way this one works, so I may update my code to use it.
Why not just use unix timestamps and avoid all the funkiness? When I first started writing everything I actually did, but then one day I got a call from my lovely sister saying that it was showing everyone’s birthday as January 8th, 1901 (or something like that). I had reached the negative limit of a 32-bit integer, the upper limit being sometime in 2038. Moving all the date functions into the SQL is probably bad from a programming point of view but it works great for the application. Of course I have no clue how it deals with the 10 days Pope Gregory removed from the calendar in 1582. Hopefully that won’t come up.
As you may have heard, Thunderbird 0.4 has been released, and it’s a delight. I’ve been using Thunderbird off and on since I first heard of the project. I snubbed 0.2, as it was quite clunky. 0.3 changed my mind and became my default email client over Outlook Express, and I also set it up for my mom. However it was not so much on Thunderbird’s merits of the time that I switched, because it was still quite rough in many areas, it was simply the least bad of all the IMAP email clients I have tried. (And I’ve tried them all.) However this new 0.4 version is a pleasure to use. The graphics have been completely revamped, which is a much bigger deal than I would have thought and really changes how I view the application. (Literally.) Of course they were pretty patchy before, it didn’t even have a separate icon for mail you had replied to. The other problem I had before was that the program would get hung up on something, I’m not sure what, but when it was nothing would work until I restarted the application, which was annoying to say the least. I haven’t even seen a hint of this problem for about two months now (I’ve been keeping up with the weekly builds).
It just does IMAP so well. Having all my email and folders on the server makes it easy to try different email clients and not worry about importing, exporting, or keeping my data in sync. A few minutes ago, just to make sure I wasn’t remembering things wrong, I opened up Outlook Express again to give it another go. That’ll probably be the last time I ever do. Moving IMAP messages to different folders in Outlook Express opens a dialog box that actually precludes you from doing anything else in the application, so if you’re moving a message with a large attachment or several messages you have to wait for everything to finish before you can do anything else. For someone who lives in their email client, that is simply unacceptable. Thunderbird does all that in the background, and it’s so fast with most things that the “IMAP lag” is gone.
It’s not perfect, there are a few things I hope the Thunderbird team addresses in future releases. First is the spell check, which rocks but always wants to spell check the name of the person I’m replying to in an email. Second when I forward a message inline it includes all the headers, which can often be twenty or thirty lines, most of it junk that isn’t important. Just give me from, to, subject, and when it was sent, and I’ll be happy.
Thunderbird understands that on some IMAP servers, including mine, some folders contain mail messages and some just contain other folders. Outlook Express would try to select these “holding” folders and return an error, where Thunderbird shows them in italics so they’re visually set apart from the folders that hold actual mail. Thunderbird is also supposed to have some great spam handling, but since I handle all that on the server side I can’t speak to that personally.
Bottom line: try it out. You have nothing to lose and you might just find that perfect email application you’ve been searching for. The best thing about it is I know that right now another version is in the works, and in a few months they’ll be a 0.5 I can rave about. Or I could wait until 2006 for a new version of OE to come out with Longhorn. Right.
I’m not sure what it is, but Paul Ford has done something amazing.
Well the last gig got canned due to torrential rain, and now this Monday I’m feeling a bit under the weather. That’s life! Here are the details again, try to make it out if you can:
Tonight at 7:30 PM I’ll be performing with the Dennis Dotson big band on lead alto. Our entire program is going to be exclusively music from the highly talented composer and pianist Joe LoCascio, who will also be playing with us. It is the first night of what they’re calling JazzFest 2003 and there are more details, including directions and a map, at JazzHouston. They say they’re charging for tickets but I don’t think they have in the past so I’m not sure about that. I’ve been looking forward to this gig and I think it’s going to be great, so if you’d like to hear some exciting jazz tonight, try to check it out.
By the way, welcome to December. It’s by far my favorite month of the year and I’m going to savor every minute of it. December is the month I look forward to when trudging through all the other months. Lot’s of exciting things planned this month, from HPUG to WordPress to even something with the elusive Mike. And that’s just the volunteer stuff.
Update: Thanks to all who came out. Having people you love in the audience makes performing a whole difference experience.
Leonard does things different:
Hey, it looks like I’m the ‘Feed of the Day’ over at Feedster. Just goes to show that you don’t need things like ‘regular updates’ or ‘finished templates’ or ‘permalinks’ and ‘date stamps.’
I would link to the post, if I could. (Poor man’s permalink: scroll down on his homepage to just above the pictures of the Treo 600 and the Sidekick.)
20
Filed under: Uncategorized | Tags: Dining, General (322) | November 20th, 2003
The Coffee Guy
I write this from the comfort of a tall stool in the brand new Coffee Guy store at I-10 and Highway 6/Addicks. Some of you may know the Coffee Guy as that cute little place at Richmond and Sage that mostly caters to a drive-thru crowd. They’ve decided to expand their business and have moved out to this swank new shop they built and designed from the ground up. The old place was so small it wasn’t really conducive to lounging the way most coffee shops are, plus it didn’t have any internet access, a requisite feature these days. I can’t speak for the coffee, because I’m not a coffee guy myself, but I can safely say that they have the best hot chocolate I’ve had anywhere—think multiple layers of whipped cream, caramel syrup, and chocolate syrup. However I have heard from people who do know coffee that The Coffee Guy at their previous location was quite good and I don’t see why this one should be any different.
With the new design they obviously had high-tech coffee lovers in mind, with power outlets everywhere, wi-fi and wired internet access, a big plasma TV, and lots of seats and tables. I can’t vouch for the coffee, but what I can vouch for is their internet connection, which has speeds consistent with a high-end cable connection. Connect to SSID TheCoffeeGuy and you’re good to go. I’ll have to tell my friends in the Houston Wireless Users Group about this. Here’s a few pictures I snapped:
I was going to end this on a bright note and recommend you try the Coffee Guy out, but Elissa (who works here) just tricked me into eating what’s called an “espresso pancake” by disguising it as a cookie, so I’m going to say whatever you do, do not visit or patronize The Coffee Guy. Unless of course you like good drinks and free internet.
How could Elissa do such a thing? Look at how evil she is! (She’s even evil looking with real cookies.) Anyway if you do decide to visit, I can tell you when Elissa isn’t working so it’ll be safe. Here’s their address:
14725 Katy Freeway
Houston, Texas 77079
With all the serious talk around here lately of hacks and writing and markup, I think I’ve been neglecting some different but still important things like lunch with Elaine and the crazy birds there, the new haircut, and such.
But what I’m really excited about is my room. Comments, questions, and advice welcome.
I’m going for something comfortable yet stylish in a functional way, if you drift my catch.
17
Filed under: Essays | Tags: General (322), Web (100) | November 17th, 2003
On Blogrolling Hack
I think the importance of this issue cannot be understated. My thoughts from the WordPress Dev blog: Blogrolling Hack Illustrates Need for Decentralization.
This morning it seems that sites who manage their blogrolls using blogrolling.com’s service had their links hijacked, every link being replaced by one to “Laura’s Blog,”
which predictably redirects to a porn site.As painful and unfortunate as this is, I think it illustrates an important point that as a weblogging community we should be heading away from centralization as a rule, not flocking to every free or low-cost centralized service that pops up.To me one of the greatest things about weblogs is that they shift power and control away from monolithic organizations and into the hands of users, where it is ultimately more secure. I have a friend who lost three years of her writing when a free online journal service decided to fold and delete everyone’s entries. I know people who hardly use email because their hotmail or yahoo addresses are flooded with so much spam as to make them useless. People who don’t host their own comments have their discussion at the mercy of some third party provider of varying reliability. Many of you reading this had your blogrolls hijacked this morning. In the weblog world blogroll links represent a web of trust — you freely giving a piece of your credibility to another site as a gift to that site and your audience. Today that trust was betrayed for many people.
There is more on the link. I’d love to hear some feedback and assist people in moving away from centralized services, even if it isn’t to WordPress. What are the other alternatives? If you want to move away but you’re having trouble with code somewhere just let me know and I’ll try to help you out.
Tonight at 7:30 PM I’ll be performing with the Dennis Dotson big band on lead alto. Our entire program is going to be exclusively music from the highly talented composer and pianist Joe LoCascio, who will also be playing with us. It is the first night of what they’re calling JazzFest 2003 and there are more details, including directions and a map, at JazzHouston. They say they’re charging for tickets but I don’t think they have in the past so I’m not sure about that. I’ve been looking forward to this gig and I think it’s going to be great, so if you’d like to hear some exciting jazz tonight, try to check it out.
The gig has been cancelled due to rain! Sorry to any who were planning on going. It will most likely be rescheduled and I’ll post an update when it is.
If you notice this sort of thing, the last post and one several days ago about Charles Platt now have visible attribution as part of the inset quote, which is marked up using the HTML <blockquote element. Each of these block quotes has a cite attribute, which is invisible to the user but which I sometimes add when I feel like having million dollar markup. Honestly I had slacked off doing lately because I wonder: if you add an attribute to an element, and no one sees or uses it, does it make a sound? It does now.
Thanks to an ingenious script from Dunstan which he describes in this post my cite attributes are now clear for the world to see. Can you hear me now?
The validationists in the audience will notice that am I not using the cite attribute in the strict sense because the value “Albert Einstein” it isn’t a URI. They would be right: it is technically in violation of the spec. However it is correct in spirit if not implementation. The URI RFC says “Not all resources are network ‘retrievable’; e.g., human beings” and “An identifier is an object that can act as a reference to something that has identity.” We’ve got the “resource” and “identifier” part down, what about “universal”? To be fully in line with specification what we need is a protocol to indicate individual people. I propose something like the following:
person://Albert Einstein
Thoughts? Now I just need to work up the javascript chops to hack around with the script, or if I’m lucky Dunstan will get an itch and beat me to it. The cite attribute checking should probably allow for protocols such as ftp:// and irc:// as well, not just http://.


