OpenSearch – the best search feature with no browser support

December 22nd, 2010
Suggestions in Firefox from the spider.my OpenSearch facility

Suggestions in Firefox from the spider.my OpenSearch facility

I’ve been working on spider.my for too long with no updates, so I’ve moved a recent version of the site online. I don’t have enough spare resources for a separate development system, so it may occasionally appear to be completely broken. Feel free to have a search, but be warned: there’s not much in the database (fewer than 200,000 pages) and while I’m working on it, it isn’t caching indexes, so it may rebuild an index before searching. Rebuilding an index may take tens of seconds, but it will include the very latest results!

One of the most apparent missing features in spider.my at the moment is spelling suggestions. The way I’ve written the back-end means that I no longer have a dictionary of any sort, so spelling suggestions are a problem! As a warm-up for spelling suggestions I added the Suggestions feature of the OpenSearch standard. I use Firefox more or less exclusively – it has very good support for OpenSearch, so testing was a breeze. Once I got my new code mostly up and working, I tried it on some other browsers. Or rather, I mostly failed to try it on other browsers – very few have any real support!

Mozilla Firefox – the way Firefox handles OpenSearch search engines is a thing of beauty, in my opinion. Use, installation and configuration are as simple as they could possibly be. Thanks, Mozilla.

Internet Explorer – kudos to Microsoft, Internet Explorer’s support for OpenSearch is almost as good as that of Firefox. You navigate to spider.my, get a page with a meta element that tells your browser that spider.my offers an OpenSearch facility, IE adds a bold entry to the Search Engine dropdown menu, a few clicks later and you’re searching with spider.my’s OpenSearch search and search suggestions.

Chromium / Google Chrome – No real support. I’m disappointed – not quite as much as I was when I discovered I couldn’t use ‘/’ to search in a page in Chrom – but disappointed. You can add spider.my as a search engine to Chrom, but it’s a manual technique that … I can’t be bothered explaining. Why should it be so difficult?

Midori – Manual method to add a search engine, similar to Chrom.

Arora – Now this was a surprise! Arora supports both OpenSearch and the Suggestions extension. Arora looks good – it’s fast and lighweight, but seems a bit unstable with lots of tabs open.

Safari – I downloaded a version for Windows XP, and while it looks nice (I’d never seen it before), not only does it not support OpenSearch, it doesn’t appear to allow you to change search engines at all, out of the box. That’s not a browser – that’s a stylish set of blinkers!

If you want to feel the awesomeness of spider’my’s OpenSearch facility, you really need Firefox, IE8+, or Arora. In that order, I think.

Streamyx down Port Dickson area Sept 29th 2010

September 29th, 2010

No Streamyx again, after a half hour dropout yesterday. Starting before 6pm this evening and still out at 9:30PM as I write. I tried phoning 1300 88 9515 first, but got bored after about 5 minutes. Among the adverts (do they have to spam me with adverts for their products when I’m phoning their ‘your product is broken AGAIN’ line?) was a cheesy ad for www.fms.tm.com.my – an online fault reporting system so I tried it. They’ve got the URL wrong – there’s no www on the front. If in doubt, search for “FMS TM” at your favourite search engine.

When your browser loads that page, it’s just a landing page to choose one of two other sites. I clicked on the ‘data problem’ link and got a Microsoft IIS ‘Forbidden’ page. If I’m forbidden from reporting faults, that should improve their statistics immensely. On closer inspection the error page contains a suggestion to try the same URL but with an https (secure HTTP) protocol. To do that, you have to manually EDIT the URL and request it again. I could give the link to the FMS system here, but on a “You help me,  I help you” basis, I am deliberately not going to.

I couldn’t login to the FMS system. My user and password which work fine to connect Streamyx, TM webmail and TM billing all fail at the FMS site. In desperation, I tried 1300 88 9515 again, and after waiting over TEN minutes, I got a single ringing tone followed by a click and an engaged tone.

So that’s it – Streamyx is dead, TM’s FMS site, when you eventually find it, is so secure  I can’t actually use it to report a fault, and their phone system is just a tease. More news when I have it.

Just in case it’s of any use to anyone, my DSL light is lit (so carrier’s there), and I’m using a TM/Innacom router. The diagnostic page from the router says:

ADSL Connection Check
Test ADSL Synchronization PASS
Test ATM OAM F5 Segment Loopback FAIL
Test ATM OAM F5 End-to-end Loopback FAIL
Test ATM OAM F4 Segment Loopback FAIL
Test ATM OAM F4 End-to-end Loopback FAIL
Internet Connection Check
Test PPP Server Connection FAIL
Test Authentication with ISP FAIL
Test the assigned IP Address FAIL
Ping Primary Domain Name Server FAIL

Update – service resumed again sometime before 22:40 same evening.

Small, free country flag icons / images for download

August 9th, 2010
Flags from famfamfam.com

Flags from famfamfam.com

I hope this saves someone a little bit of work. I wanted to find some small country flag icons to use on a project that shows a flag next to where a particular data item (a datum on my lawn). I searched through a lot of sites offering downloadable sets of pictures of country flags. A lot of them were either no good for me due to licensing restrictions or being too ‘fat’ (file size too large) for what I want. A further problem with the small icons was that many artists seem to add flourishes such as shading to show ‘flutter’ and rounded. ‘raised’ edges. Some of these flourishes almost completely obscure the small image. I finally found a set that’s perfect for what I want on famfamfam.com – it’s apparently totally free, the images are tiny (the PNGs can be reduced by about half by indexing them in GIMP with an 8-colour palette, with some attendant loss of clarity), but a good compromise between size and clarity.

Download small free country flag icons with ISO 3166-1 alpha-2 country code names here

Power cut near Port Dickson, Sunday 1st August 2010

August 1st, 2010

Mid-way through showering the kids (lazy Sunday!) the power went again. It’s a bit easier during the day, we can still see and the kids are quite happy to be hosed down with cold (the tank in the attic must be nearly blood temperature!) water. I can’t check with the streetlights to know that the power cut affects the rest of the neighbourhood. This time the diagnostic is the list of accessible Wireless Access Points. Usually 3 to 6, the list is completely empty.

Start time of power cut was around 10:45am.

Update 13:45 – Power back after almost exactly 3 hours.

Proxy web browser for XHTML Strict and non port-80 hosts

July 26th, 2010

While I’m developing projects I run a webserver on my own PC on a high-numbered port such as 22795. I use a little local proxy that I wrote myself for mapping entries in /etc/hosts back to localhost, and the proxy maps the request onto the web service running on the appropriate port. I typically run more than one web service at once, so I might have test.example.com and api.example.com mapped to localhost in /etc/hosts and run two webservers serving test.example.com on port 22795 and api.example.com on port 22796. The local proxy service is run as root and listens on localhost port 80. When it receives a request for ‘test.example.com’ it opens port 22795 and pipes input and output forth and back. All well and good.

I occasionally connect to the coffee-shop AP across the street to check code that uses the client IP address. I don’t expose port 80 on my development PC through port-mapping on my ADSL router, I just map the high-numbered port for the specific service I want to test. I use an URL like “http://123.456.789.321:22795/” to test access from the coffee-shop’s network, and that works a treat too – although I have to remember to turn off Host: header field checking or set it to allow the WAN IP + port combination.

Today I hit a snag. I wanted to test a service that does IP address to country mapping. I downloaded an IP range to Country Code database from ZaiGadgets.com and added it into a project. It worked a treat from a PC (another PC – my workstation has to stay connected to my own router to provide the service!) connected to the coffee-shop’s AP. But of course, both APs are located in Malaysia, so it’s not much of a test. So I used a Web Proxy Browser I habitually use as a first attempt at debugging HTTP problems at an Italian university – it didn’t work, claimed to be unable to connect.

I searched for “proxy browser” and must have tried 10-20 before I found one that did actually work. Many had problems connecting, some explicitly complained about the URL (remember I’m using IP  address + port). Many just seemed lame. I’ve been using XHTML Strict in my recent projects, and many proxy browsers don’t seem to be able to cope properly with XHTML source pages, producing bad XHTML output that my browser quite reasonably refuses to render. Since it took me a while to find it, here it is:

A web proxy that copes with XHTML, IP addresses and non-standard ports in URLs properly: Browser Unblocker at BrowserUnblocker.com

I should probably mention that Browser Unblocker claims to use a proprietary web proxy written in PHP called ‘glype’, just in case you’re looking for the software rather than the service.