Geek alert:
RDF API for PHP
Maybe one day I’ll have time to use it for something 🙂
Geek alert:
RDF API for PHP
Maybe one day I’ll have time to use it for something 🙂
The Macintosh crowd is all abuzz about the new Apple web browser, called Safari. It’s apparently based on the KHTML rendering engine, and has a few bugs. The problem is, this makes Yet Another Browser that web designers have to worry about, because Safari has it’s own unique set of bugs different from other existing browsers. Mark Pilgrim asks should Safari be intentionally buggy?
My answer would have to be, “Yes. Temporarily.”
Since the Safari developers are actively listening to the community and working to fix the biggest deficiencies as quickly as possible, they should adopt a short-term strategy with a long-term goal. Introduce a Safari-specific method for hiding CSS from that browser for now. But with the understanding that they will work as hard as possible to make Safari fully compliant with the standards. Once that goal is reached, the bug is removed.
My suggestion for a bug:
/*\*/
this is hidden from safari
/* */
Yesterday was just full of map references. Another cool thing I found out about is the Jabber World Map. If you are a Jabber user, you can register with the map notifier, and your status will show up on the map. You’ll have to email your location name and lat/long coords to the administrator (instructions are at the bottom of the web page, below the map).
I’ll probably hack some Jabber features into my blog one of these days. At the very least, I could easily add a status indicator to show if I’m offline, away, available, etc. I also want to come up with some more ways to cross-pollinate Jabber with FOAF. My JabFoaf project helps get FOAF data out of Jabber. Now I want to do something to get FOAF into Jabber. I’m just not sure exactly how I want to do it, yet.
Looks like Rev. Jim (no relation to the evangelist who used to visit college campuses, I’m sure) has also been thinking about blogware.
“A weblogging application? Okay, that’s pretty easy, really. Just build a model to access the data and work from there. Well, what should the model include? Weblogging stuff, obviously. How about comments, trackback and pingback? I guess I could stuff that in here, but that might be overloading things a bit. They should be their own models. That’s easy enough. I’ll start with just the weblogging piece and add the other pieces afterward. This means I need to write modularly so that these features can easily be added and removed in the future by any user who chooses to do so. How should I do that? I guess I can have the controller detect what modules are available and then assign those pieces to the view accordingly. But what if a piece is available but the user doesn’t want to use it? I guess I should have each model announce it’s capabilities in a systematic way. […]”
Sounds like the same problem I have in getting motivated to write dblog: I’ve got more ideas than I have time. The other problem I have is that all of the fun is in solving the problem, not implementing the solution.
Hmm…. Maybe I’d make a good manager, after all….
Geography rules.
I’ve been trying to work out some sort of concensus for how to include location info in FOAF files. It seems that my current implementation is too US-centric. The folks in the UK don’t like the use of the “StateOrProvince” terminology. I’m going to try switching to vCard terms (“Locality”, “Region”). vCard also has support for lat/long coords, so that might be better all-around.
One of my favorite science fiction authors has a blog. Gibson is often called the father of the cyberpunk movement. His descriptions of console cowboys cruising cyberspace definitely struck a chord with many a nethead in books like Neuromancer and Count Zero.
He’s made the classic mistake, the one he’s sworn he’d never make. He stole from his employers. He kept something for himself and tried to move it through a fence in Amsterdam. He still wasn’t sure how he’d been discovered, not that it mattered now. He’d expected to die, then but they only smiled. Of course he was welcome, they told him, welcome to the money. And he was going to need it. Because–still smiling–they were going to make sure he never worked again.
They damaged his nervous system with a wartime Russian mycotoxin.
Strapped to a bed in a Memphis hotel, his talent burning out micron by micron, he hallucinated for thirty hours.
The damage was minute, subtle, and utterly effective.
For Case, who’d lived for the bodiless exultation of cyberspace, it was the Fall. In the bars he’d frequented as a cowboy hotshot, the elite stance involved a certain relaxed contempt for the flesh. The body was meat. Case fell into the prison of his own flesh.
I read several of Gibson’s books back in my high-school and college days. And most of my peers shared the dream of a future where we’d be able to jack in to the bright geometric landscape of cyberspace that Gibson described.
I’ve hacked together support for Pingbacks. There are pros and cons to Trackback and Pingback. Pingback is more automated. Trackback has wider support because it is integrated into the popular Movable Type blogware.
To speed implementation, I borrowed some of my code from the b2 blog system. Specifically, the code for sending a Pingback ping. But I coded the XML-RPC server-side pingback.ping method for incoming pings on my own. Currently, it’s still not fully tested. But it should work. If you’ve got a Pingback-enabled blog, link to this story and help me test 🙂
When I implemented Trackback support here, one snag I ran up against is that I typically post to my website via the MetaWeblog API (using the very cool w.Bloggar client app), and the blog posting APIs don’t provide any inherent way to provide Trackback URLs. Nor should they, as that doesn’t really fall under the API’s core functionality. However, it still seemed wasteful to have to set up a separate web form just for doing Trackbacks. So here’s what I did….
In the server code that handles the client APIs for my blogging software, I added a snippet of code just after where a new entry is actually posted into my blog. The code snippet searches the incoming blog entry for an HTML comment that looks like:
<!-- trackback url=http://www.example.com/tb.cgi/987 -->
If it sees comment like that, the code extracts the Trackback URL and posts a Trackback ping to it. Voila! A tiny amount of work, and now I can go back to being moderately lazy. All I have to do is remember to put the Trackback URL in an appropriately formatted comment, and my server will automagically let the site know that I’ve linked to them.
I’d like to encourage anyone else involved in coding other blogging systems to do the same, if your software supports one of the blogging APIs (BloggerAPI, MetaWeblog API, etc) and Trackbacks.
I worked on a couple of new features for this blog over the past couple of weeks. The first is an About Page, with information about the site and its author. It’s still incomplete, but at least it’s a start. The other is that I’ve added Trackback support. I’m also working on support for Pingback.
Trackbacks and Pingbacks are methods for weblogs to recognize when another site has referenced them. For example, I’ll ping a story at cafelog, and you should be able to see a link back to this site, with an excerpt of this blog entry.
I hope everyone had a good holiday. We had loads of fun at Castle Campbell. The kids got so many presents that they still haven’t opened them all up. We got to take a road trip to visit my mother and grandparents, which meant that we ate lots of good food. Not that we don’t get good food at home, mind you 🙂
I received several nice gifts, including a ZipZaps mini RC car (a blue PT Cruiser), from my wife. She also got me a performance tune-up kit and a tool kit for my ZipZap.
On New Year’s Eve, we played our tradditional round of Trivial Pursuit, with questions drawn from multiple sets (Genus 1 and 2, Silver Screen, Baby Boomers, The Eighties, Disney, and Star Wars). Susan, Julie, and I won the 2002 Championship on a question about the legendary rock super-group, KISS.
Now it’s back to the grind.