Google Web Development

Google Reader Generator

I mentioned last night that I switched to Google Reader. What I didn’t mention is that I have a nice way of monitoring what new items are in there for me to read.

I wrote a quick Microsummary to keep an eye on it for me. I really wish Google would have implemented this already, perhaps they will at some point. Oh well. Just in case anyone else wants to use it, you can install it by clicking below:

Update: Removed for now due to a possible bug. Will try again later.

Google Mozilla Software

Google Reader Updated

I’ve been using RSS Readers for a while, but not consistently because I’m extremely picky. I insist on the following:

  • Be able to show multiple feeds merged together as 1 category.
  • Do the above, fast.
  • Handle RSS 2.0 and Atom without bugging out over all the tiny mistakes or discrepancies some generators can have
  • Either be remotely hosted, or have a client capable of having an OPML or some other API remotely, so it’s accessible on more than 1 system.
  • OPML import/export (mandatory).
  • Free, preferably open source.
  • If it’s client based, it can’t use 10,000 threads, and 100MB RAM, it needs to be somewhat small and quick.
  • Unobtrusive

So far not many have even come close to this. Bloglines is popular but royally stinks. It’s awkward (just because you use “AJAX” doesn’t mean your eloquently designed. It’s also somewhat slow, and not application-like since it’s not fully JS driven. I just can’t get comfortable to the design. Not to mention, ewww frames? Google Reader had this silly design (that scrolling concept) that was just awkward and inefficient use of screen space. That’s not good for when I want to quickly read things. Good layout is critical.

On the client side I evaluated several including Thunderbird (which I love for email), but it’s RSS support is extremely basic, which isn’t surprising considering it’s an email client. Bottom line is Feeds aren’t emails and shouldn’t be displayed as such. I also tried RSSOwl, but it’s java based and still pretty clunky as a result. I just couldn’t imagine keeping that open all day. Next up was RSSBandit. This isn’t bad (actually pretty good), but it isn’t updated often, it is very fussy in regards to feed validation issues, and is somewhat of a thread hog. Not to mention it’s not very eloquent with refreshing feeds. Rather than space them out it seems to do a large number all at once, which is somewhat of a system slow down. The whole point is to be efficient. I wasn’t to fond of using IE as the internal browser either. Adding feeds from Firefox was also painfully slow for some reason. Still it was the best so far for my needs, and was the default for a few weeks.

Now Google Reader has been redesigned, and it’s finally good enough for real use. It’s new design is vastly superior to the last generation, though still has a few odd quirks. It really needs to take a tip from Bloglines in regards to organizing/manging feeds, so that it’s not as much effort (go into prefs, in the subscriptions tab, scroll down to the feed you want, tag it). The one thing Bloglines had right, Google Reader doesn’t have. It also doesn’t send the right MimeType when exporting OPML, but I suspect that will be fixed shortly. It also requires this interstitial page before adding a feed (to select where to add it to), but doesn’t give you the option to select what tags to give it. That’s pointless. Other than that, it’s solid. It’s now my default. I’ll be using Firefox to preview feeds, and add them to Google Reader. I can keep it open in 1 Firefox tab and monitor it just by the page title.

On a side note, how many years will it take before FedEx, UPS, DHL and USPS finally offer tracking via feed? I know there are services for it, but they break when one of them updates, and I really don’t feel like giving another site my tracking number.

Hardware In The News

Lenovo Starts Recall

Like there was any doubt it would happen, there’s now officially a recall on Lenovo/IBM laptop batteries made by Sony. Not surprising Sony has given up and started a global recall to get the damage over with, and behind them as quick as possible, and minimize potential future incidents/lawsuits.

Like there was anyone who didn’t know weeks ago this was going to happen.


In Search Of The Missing Sync?

I had another silly thought this evening, and thought I’d just mention it for anyone interested. I’ve been reading through some bugs, and wiki documents on the state of synchronization of various devices with Mozilla based products.

It would be great to have a generic XPCOM wrapper for interacting with Bluetooth support on various platforms (yes, you read that right, and trust me it’s not that crazy). It would need to have the ability to detect what Bluetooth implementation is used by the user for Windows (Broadcom/WIDCOMM vs. Windows XP), Apple’s Bluetooth implementation and of course Linux (I believe it’s Bluez, but I’m not to familiar with Bluetooth on Linux). Note that this does not mean having Mozilla drivers for Bluetooth hardware. Just an easy way for developers to interact with Bluetooth without the concept of platform specific software.

With projects like Lightning, Thunderbird maturing, and MiniMo it’s important to be able to interact with other devices for the sake of forward progress, and this may prove to be the best solution for many cases.

There are several approaches to device sync from what I’ve seen from things that are device specific likePalmSync to the more generic iSync, but the problem that comes up is that it’s a lot of work for relatively limited devices. For example, even with iSync, as robust as it is, your still limited in devices it supports, and it’s Mac only (leaving Windows and Linux users in the cold). Others still require commercial software (Palm) to work with iSync. So for all the work, all Windows users have no benefit from iSync support. For all the effort on PalmSync for Windows done thus far (and that’s a fair amount of effort), no Mac users have been able to benefit thus far. SyncML has some potential, but the lack of support thus far still leaves many without any support. Anyone without a newer device likely won’t ever have SyncML support, so again the problem is a limited device set. And still not all newer devices support SyncML, and it could even depend on your service provider, as they sometimes disable features.

The advantage of Bluetooth is standardization. Lets face it, love it or hate it Bluetooth is becoming more and more available. More and more portable devices are shipping with it. By having support for it, Mozilla products gain compatibility with devices as they come out. It also would provide good device support over multiple platforms. For example, Thunderbird’s Address Book could have a small database of device types (phone/PDA models) and the format of an address book they support (such as vCard) or Calendar (vCalendar or iCal).

It looks like Synchronization Profile (SYNC) and File Transfer Profile (FTP) would be necessary to get most devices going (seems not all support SYNC, so supporting FTP would allow you to at least dump your Address Book or just an Address Book card from time to time onto your phone.

If included with Firefox, there would be an easy way for product developers, and extension developers to add a “send with Bluetooth” menu option. Save snippets of a web page, an hCard, the possibilities are endless.

This wouldn’t work for every device (such as the iPod thus far which is Bluetooth free, but I’ve got you covered on that ;-)), but it’s a big gain with supporting 1 protocol.

I could even see this as an interesting approach to keeping bookmarks in sync. Perhaps store your bookmark file on your cell phone… well you get the picture, mobile devices are without question the future, the question we need to ask is, how do we transport data back and forth?

It doesn’t look like something I’m personally up to implementing (I’m not very strong when it comes to this stuff), but it would be pretty cool to see someone take on. The key to this is that it needs to support SYNC and FTP, as well as be as multi-platform as possible. That’s not an easy task, but the possibilities are rather impressive.

I’m curious what others think of such an idea. I’m not saying it’s 100% workable, or warrantied for any particular use. Just some idea in my head I felt like putting into text and sending down the series of tubes we call the internet.


Google Earth Accuracy

I’ve been a fan of Google Earth since it was Keyhole. But this screenshot/picture comparison still managed to really impress me. Just amazing. Now imagine what this product could be in 4 more years?

Around The Web Politics Security

Hacking The TSA

Everyone’s favorite security guru has a great blog post on how to prevent loss of an expensive camera that must be checked luggage rather than carry on. To summarize, you can pack it with a starter pistol so that the TSA takes extra precautions to prevent it’s loss (they don’t want to loose a gun, but don’t mind losing your expensive possessions).

This is really quite brilliant. Here’s some info on requirements. According to this you could also just carry a replica, or even bullet, or a piece of a gun.

That’s got to be the most clever solution to the problem. Finally we can all carry our laptops and expensive equipment around without fear of loss. You know the TSA won’t loose a gun, since that would spark a major controversy.

I must admit this solution is beyond clever, it’s outright brilliant.

Apple Mozilla Open Source

Lightning Strikes The iPod

I started working to implement support for Lighting (project to integrate Calendar into Thunderbird) to sync with Apple iPods via mozPod. Didn’t take to long before I had a successful sync. It’s not done yet, and likely some big evil bugs (read: including but not limited to loss of data or first born child), but it’s well on the way!

That’s right, we now have the ability to sync contacts and calendar to the iPod on Mac/Windows (Linux still on the todo list, though it’s mostly there). It will require Thunderbird 1.5 or later. No release date just yet.

How cool is that? 😀

Hardware In The News

Thinkpad Explodes

Engadget has the scoop on a Thinkpad that blew up at LAX. From the picture I’m virtually positive it’s a T4x/p (T40/p, T41/p, T42/p, T43/p). According to IBM/Lenovo Documentation (T40/p, T41/p, T42/p T43/p) they do ship some with Sony batteries, in addition to Panasonic and Sanyo. I personally have a Sayno in my T43. I believe the T60’s also have Sony in the mix (docs). I’m pretty sure that’s a 6 cell battery in there based on the contour of the rear of the battery (it’s burnt so it’s hard to be 100% positive with that picture quality.

So is it a Sony battery in there? Will there be a recall? My guess is this is going to be a very quick investigation. Considering how many business travelers have Thinkpads, and how many are using the T4x series right now, there are tons of these laptops on planes right now as I post this.

Around The Web

20,000 Passwords Analyzed

An interesting perspective on 20,000 Passwords. As noted in the comments, the data collection skews the results a bit, since most people who fall for phishing scams aren’t knowledgeable enough to know a good password form a bad password.

But it’s possible to generate a safe password with ease even if your not a technically inclined ;-).

Programming Web Development

Asynchronous Processing With PHP

Several weeks ago I was looking on line for a way to have PHP execute a background process, so that the page didn’t hang while some functionality happened. One way to do that is to use fsockopen() to open a URL to exec what you want. But I wanted to see if there was another way. This is what I came up with.

I should note that this isn’t that well tested. I ran it on a Windows and Linux system without incident to test it, but I haven’t given it a very thorough exam. Also note $call is completely unsanitized. If you’re using this and accepting anything from the web, you need to make really sure that $call is completely sane and free of evil.