Archive for November, 2003

Inroads

I’ve added a new feature to the weblog, a boxlet called Inroads. It’s a list of sites that lead to this blog in some fashion - blog indexes, update notification sites, rss feed search engines. Upon reflection, I should probably add Google to the list. For now, here’s a rundown of the sites listed currently appearing in the Inroads boxlet(on the right… acroll down if you don’t see it):

  • Blogdex - A project of the MIT Media Laboratory, it tracks the disemination of ideas via links read from websites. Collect data via spider.
  • Bloglines - A web-based News Aggregator. Subscribes to RSS Feeds, allows you to read your subscriptions from anywhere.
  • Blogrolling.com - A set of Blogroll (a list of web links) management tools. Among other things, lets you know when a site you read has been updated. Accepts ‘pings’ (update notification messages). This blog began pinging yesterday, thanks to Tatsuhiko Miyagawa’s ping_weblogs_com_rpc plugin for Blosxom.
  • Blo.gs - Another site that lets you track sites you read for updates. Offers various forms of notification. Accepts pings just like Blogrolling.com; I’m pinging them the same way.
  • Blogtracker - Allows you to track sites you read, see recent updates. Offers browser integration. Gets update date from Weblogs.com (see below).
  • Feedster - Feed search engine. Indexes RSS (and Atom) feeds, allowing you to search the content of nearly 250,000 blogs and other sites that offer feeds.
  • Syndic8 - Directory of RSS Feeds. Find feeds (news, sports, blogs, you name it) based on almost any criteria.
  • Weblogs.com - Lists weblogs that have changed in the last three hours. Offers its data as XML. Accepts pings, which I provide as outlined above. As far as I know, this is the original ‘ping me when your site updates’ website.

There are many other sites out there like these. Why did I list these sites? Each site listed links to jclark.org in some manner. I have either registered with these sites (to be spidered or have my feeds polled), or someone else reads this site via on of these services, or I ping them when I update. Some of these are services I’ve used myself (such as Feedster and Syndic8). Some are sites I’ve found in my access logs (referer URLs of User-Agent strings), such as Bloglines. Weblogs.com is one that I’ve been meaning to ping for a long time now, and it turns out that blo.gs and Blogrolling.com use the same interface for pinging. Three birds with one stone; and each site offers something unique as well.

This list may grow; I had intended to list Technorati but they seem to be having technical difficulties as of late. If you find any of these helpful, drop me a comment. Likewise if you want to recommend a similar service.

Update: Fixed the link for Blogtracker.

No More Excuses

As I’ve mentioned previously, I’ve become spoiled by the ubiquity of RSS Feeds. And now, there’s no more excuses not to have a feed. The fine folks at Feedster are now offering Feedster Builder, a service that will create a RSS feed for your site automatically. All you have to do is add a few tags to your blog templates. What could be simpler? It will help keep your bandwith down too, since Feedster will be hosting the actual feed.

I have now officially seen it all

Pac-man, written in Microsoft Excel. (via 0xDECAFBAD)

There are no words.

Web Standard Fonts

An article at jeffcroft.com, written in response to another article at whatdoiknow.org, asks the question “how might we encourage the adoption of a greater variety of web fonts?”

A quality set of web-ready Free (as in freedom AND beer) fonts seems like what is really needed here; distribution can happen later (more on this below). Granted, I know next to nothing about font design, but I know there are many talented people out there who believe in doing things for the good of the public domain. If someone could organize a project to create a set of high-quality, web ready fonts (for all platforms) that could freely be distributed, I think the distribution could be managed.

Why do I say that? Look at the Web Standards Project - A project to increase public awareness of the need to upgrade older browsers, and to get browser manufacturers to write standards-compliant browsers. It took time, but it accomplished its goal. The same thing could be done for Web Standard Fonts. At the same time, get try to get browser manufacturers to include the fonts. With the growing popularity of Firebird, this could cover alot of desktops. Additionally, as others have mentioned, free fonts are perfect for auto-download of fonts. I’d guess this technology still exists in browsers (like IE) it was designed for.

Better fonts for all is a great idea… I hope it will continue to generate some steam.

Recuperating

Well, I made it through my little surgery. Coming out from under general anesthesia is just a wierd as I remember (I had it several years ago when I had my wisdom teeth out). The surgery was an umbilical (on my stomach) hernia repair; it went a bit longer than expect as the damage was a bit more than expected. It hurt like the devil when I came to, and it took a couple of tries with the feel-good juice before something worked. However, it all went well. The nurses at the surgical center were very nice. I have alot of respect for everyone who chooses healthcare as a career.

I knew alot about what to expect from what others have told me about surgical experiences, such as being repeatedly quizzed by various staff as to what procedure I’d be having. I consider this a good thing, we’ve all heard the stories of people getting the wrong procedure. I also got a request I hadn’t expected, and a missed opportunity. When I was asked to disrobe and don the paper gown, I was given a skin marker, and asked to ‘circle or put an X on’ the area where I was having my surgery. It was only later, after I had finished marking and changing, that I realized I should have written a note to the surgeon next to my X. The message? “I’m Blogging This.”

Under the Knife

In about an hour and a half, I’ll be having surgery. It’s a minor, outpatient procedure, that involves putting me under general anesthesia. I’ll probably be too groggy to do much afterwards, but later in the week I’m planning to add a few things to the site while I’m convalescing.

For one thing, I’m working on pinging index sites like Weblogs.com, using Tatsuhiko Miyagawa’s ping_weblogs_com_rpc plugin. Unfortunately, my host doesn’t provide the required XMLRPC::Lite perl module. My next host will definately have shell access.

See you on the other side.

Rantlets

Random rantage, assorted annoyances, miscellaneous mumblings.

  • Updates to Mail.app in Panther include some new sound effects. There is a new ‘mail sent’ sound, like a swoosh or airplane taking off; there’s also a ‘no new mail’ sound (played only if you asked for mail check manually) that’s a charming mix of fingers on a blackboard and the shower scene from Psycho. In Mail’s preferences dialog, you can change the new mail sound (just as you could in Jaguar), but you can’t change any of the other sounds. You can only turn ‘other sounds’ on or off. That’s just lazy and sloppy.
  • If you’re going to bother inserting ads in a webpage, use a permalink. Ads on Macintouch are tasteful and subtle (one line of text, in a colored box, inline in the articles), but when I saw one today for something I was interested in, the link took me to the advertiser’s home page, not to the product mentioned in the ad. I searched and found the product is still caried and in stock (just out of curiosity as to why the link failed), but they lost a potential sale.
  • Firebird 0.7.1 has been bugging me lately. Granted, it’s beta, but this is just one of those things I keep noticing. I use the status bar, so I can hover a link and see where it goes before deciding to click. I also tend to maximize my Firebird window. At this point, if I click a link from another app (like NetNewsWire) which opens a new window, it’s top-left corner is tiled over and down from my existing window. Since the existing window was maximized, the new window is the same size; but since the new window is tiled down, the status bar is now off the bottome of the screen.
  • Speaking of status bars, Mail.app doesn’t have one. It claims to, but this is the info bar between the mail list and the preview pane. I need a real status bar, at the bottom of the window, so I can hover links and see where they go. Or show me this info as a tooltip. Don’t make me click blind.
  • Football coverage on CBS is just plain painful. Greg Gumble has got to be the worst commentator I have ever heard. Thank goodness the Eagles games are usually covered on Fox. Go Birds.

And Now For Something Completely Different…

Just becuase I don’t have enough diverse (and conflicting) interests, I’m currently learning Python. So far I like what I see. My only gripe is that the version of Python 2.3 Apple shipped with Panther does not support command line editing. In other words, in interactive Python, you can’t use up-arrow to access a command history (you have no history, except cut-and-paste, which means hands off the keyboard/on to the mouse), or use left-arrow to edit the current line (delete ‘em and weep). I’m pretty sure that this can be compiled into Python, I don’t understand why Apple didn’t.

Also of note, I’m learning Python via Learning Python (go figure), which I’m reading via Safari Bookshelf. Although I really like dead tree editions, and generally prefer reading hardcopy to electronic copy, I have to admit that it’s working out pretty well. It’s especially a good choice for this book, for two reasons. The second edition is due out next month… no sense spending the money for a hardcopy of the current edition. Also, I’m working through many of the exercises in the book, so I’m at the keyboard anyway. I originally signed up for Bookshelf as a way to keep reference books at hand and audition books to buy, but so far reading a whole book online is working well.

Worst. Bugfix. Ever.

I hope that none of you ever, ever have to deal with Sybase ASE ODBC/ADO drivers. Nevertheless, I’m going to document a bug (and a fix/workaround) for using Sybase with Microsoft ADO, because I still can’t believe it.

I first used ADO against a Sybase server about 6 years ago, on a major website project. Over the years, I (and other members of my team) have found that every version of the ADO/ODBC drivers has various issues when used with MSADO. Each new release of ADO and/or Sybase Drivers seems to change subtle behaviors in ADO. We did identify a single version (11.004, I think) that work exactly as it should. Subsequent versions had bugs, so we stuck with what worked.

We recently deployed all new webserver hardware for that original website project. It’s an important website, it processes $12-$15 Billion (yes, that’s a B) in transactions monthly. Needless to say, I spent alot of time installing and testing. Now, the server admins put a new version of the Sybase drivers on ther servers. I was hesitant, but was told that this version worked correctly. And in my testing, it did.

Until we deployed. Seems there was one function I didn’t test, which used ADO’s .UpdateBatch() against a Recordset opened with a client-side cursor. Shame on me for not testing it; nevertheless, the .UpdateBatch() was failing. Remembering similar issues from the bad-old days of driver shuffling, I tried switching to a server-side cursor. This fixed the problem. Unfortunately, it introduced another… the Sybase server side cursor doesn’t support Recordset filtering (and of course, the Client-side cursor library does).

So now, I was officially damned-if-I-do, damned-if-I-don’t. I immediately (well, right after some choice words) did what any good developer would do… I Googled. And lo, Google was good to me, for I found what I needed immediately. And I was shocked.

The post I found said that you could correct the ‘UpdateBatch failing on client-side cursors’ issue by adding the following line to your data source’s section of your ODBC.ini file:

WorkArounds2=24

Now, I don’t know if this affects the Sybase software or the Microsoft ADO software, but what we have here is a hack. An undocumented hack at that. Why this isn’t a configurable option on the ADO library or the OLEDB/ODBC driver is beyond me. But that’s not the worst part. The person who posted this nugget was in fact posting a solution to a problem they had themselves posted… and they found this answer in a newsgroup post from 1998. Why is this nasty hack still needed, five years later?

So, for the search engines, the above hack will fix and ADO failure cause when trying to run .UpdateBatch against a client-side (adUseClient) Recordset with Sybase ASE drivers. The error message is:

Run-time error '2147467259 (80004005)';
Data provider or other service returned an E-FAIL status.

You may also see a message that the error was raised by the Microsoft Cursor Engine. Also note, ODBC.ini now lives in the registry, at HKLM/Software/ODBC.ini.

More Firebird Coolness

If you use Firebird, and if you browse with tabs, you probably already know that you can drag tabs around the tab bar to resort them. But you can also drag a tab from one Firebird window to another, moving the page in that tab from one window to the other. If the tab was the last one in the window, the window will close. This is great for consolodating windows opened by other programs (like an aggregator or mail client) into a single window.