Categories: Technology, Coding, Hardware, Networks, Operating Systems, Linux, Windows, Security, Software, The Internet
According to the HTTP/1.1 specification (RFC 2616, section 14.43) ( http://www.w3.org/ ):
The User-Agent request-header field contains information about the user agent originating the request. This is for statistical purposes, the tracing of protocol violations, and automated recognition of user agents for the sake of tailoring responses to avoid particular user agent limitations. User agents SHOULD include this field with requests. The field can contain multiple product tokens (section 3.8) and comments identifying the agent and any subproducts which form a significant part of the user agent. By convention, the product tokens are listed in order of their significance for identifying the application.
(emphasis by me)
Despite this quite clear definition, a LOT of websites use the User-Agent in an attempt to identify what capabilities a browser has and deliver it to them. Some might say that Microsoft's usage (abuse) of the User-Agent was the cause of the mess of all this we have today when they made Internet Explorer identify itself as "Mozilla" when it clearly was not. When you think about it though, they most likely did this in order to OVERCOME these already incorrect uses of the User-Agent by web "developers" (as this mozilla page from '98 ( http://www-archive.mozilla.org/ ) also implies).
I use the following true, correct and legal User-Agent for my most used browser, uzbl ( http://uzbl.org/ ):
Uzbl/aa8c2e459cd035f13144c21400f8db1c47a15a36 (X11; U; Linux i686; en-US) Webkit/1.1.6 (A browser built upon the highly renowned web standards compliant and secure Webkit rendering engine that is the heart of several open source web browsers, including Uzbl, Midori and Android Webbrowser)
(the "aa8c2e459cd035f13144c21400f8db1c47a15a36" is actually the git commit (source code version if you will))
User-Agent sniffing is SO bad, that my initial User-Agent (shown below) led to too many sites simply not displaying AT ALL (errors, blank page, etc):
Uzbl/aa8c2e459cd035f13144c21400f8db1c47a15a36 (X11; U; Linux i686; en-US; A browser built upon the highly renowned web standards compliant and secure Webkit rendering engine that is the heart of several open source web browsers, including Uzbl, Midori and Android Webbrowser)
So, whenever I come across a page that I notice does a User-Agent sniff (for example they say "we are sorry, you need to be using IE or Firefox to view this page") I contact the webmaster and inform them of their error. This leads to also no change and in most cases no response.
In the event a response IS received after I contact them, it is usually in the form of "We are looking into this" or something similar to the hilarious "If you tell us your User-Agent, we can add it to the list of working User-Agents".
I have not been hugely affected by this and in the event that a site really doesn't work properly due to this, I will simply go elsewhere and "blacklist" that site (after trying to help them of course).
I have noticed very recently however, a HUGE difference in pages I visit. An extreme number of sites have seemingly started User-Agent sniffing all starting around the same time. As time moved on, I noticed it was largely (but not only) wordpress ( http://wordpress.org/ ) blogs. So what was the symptom of these "sniffing fails"? "Mobile" versions of sites. I visit Amazon ( http://amazon.com/ ) and am presented with a rather plain page:
This is quite different compaired to the standard amazon page:
This page is displayed by the EXACT same browser, passing all the same header variables with the acception of the User-Agent, where it was changed to:
Mozilla/5.0 (X11; U; Linux i686; en-au; rv:1.8.1) Gecko/20061010 Firefox/2.0
The effect is the same with all those Wordpress blogs. So why's it happening I thought, until I realised, they are all sniffing for 1 simple word... "Android". When they detect a User-Agent containing "Android", they go into this "Mobile" version.
I emailed Amazon to let them know, but got the standard "1-click" reply that's rather common with Customer Support these days:
Thank you for your comments about using Amazon Anywhere with your mobile device. In addition to our large selection, one of the benefits we try very hard to offer our customers is convenience. I'm very sorry for the inconvenience you experienced while shopping at our store with your device.
Of course, they didn't actually READ my comments judging by the "... using Amazon Anywhere with your mobile device ..."
The funniest thing about this is, that even without any adblock or noscript plugins in my browser, I actually get a rather lean browsing experience as a result of this
Perhaps the solution would be to build a mobile device called "Mozilla"
I read an article today entitled "iPhone 3GS Gets Jailbroken, Hack Available Online" ( http://www.pcworld.com/ ). A single paragraph really stood out for me, namely:
"However, the purplera1n jailbreak will free your iPhone from the limitations imposed on it by AT&T and Apple. After jailbreaking, a user will be able to customize the iPhone with home-screen wallpapers and third-party ringtones. But the biggest advantage of jailbreaking is the support of unapproved apps such as iBlackList (blacklists and whitelists for contacts) and many others."
Upon reading this I thought simply, "so, hang on, people are actually truly dumb enough to pay $879 AU ($695 US at time of writing) ( http://store.apple.com/au/ ) for this?!".
You can't run your own applications. To me this is unbelievable. I recently purchased a Palm OS based phone for cheap (off eBay, couldn't get one new ( see my earlier "Good Products are hard to find" post ) and I have so much cool freeware on it it hurts! I've got a RSS/Website feed reader, email client, file manager, PDF viewer, dictionary, thesaurus, complex alarm clock, speech synthesiser, movie player (XVid, Quicktime, etc - you name it), Automatic call recorder, SMS Scheduler, Complex SMS auto-replier, C Compiler and Interpreter, VNC client, SSH client, Source code editor, Text editor, Barcode scanner, Midi editor, XMPP client, Google maps, IRC client, Programmable Remote control, Web browser, a GB/NES/SNES (yes, SNES, as in Super Nintendo Entertainment System)/SMS/SMD etc Emulator and about 4 gazzilion games. This doesn't include the built in apps either, these are just the FREE (as in cost) apps I installed. Stick that up your App Store.
People who own iPhones, just like those who own iPods, deserve what they've got.
For me though, the best bit is "After jailbreaking, a user will be able to customize the iPhone with home-screen wallpapers and third-party ringtones". Riiiiight, so out of the box, you can only have a wallpaper or ring tone that Apple sells/gives you?!
To be fair, with this new model they've added MMS support and copy/cut/paste, voice memo's too! - Apple REALLY lead the pack in tech don't they. Although, they are still missing some features Telstra's $99 AU ($78.55 US at time of writing) T6 ( http://shop.telstra.com/ ) phone has like a built in FM radio, video capture, expandable memory using microSD and proper Bluetooth that works with other Bluetooth devices, not just Apple ones. Oh, and the Telstra T6... I bet it supports having your very own background.
Disclaimer: Please note that the iPhone does actually come with a GPS receiver built in and 16Gb (albeit a hard drive not memory) whilst the T6 only has 45Mb but this comparison was more about showing what a rip-off the crap iPhone is and not how great Telstra's crap T6 phone is.
I use Firefox and have been doing so since before the name change from Firebird (which occurred early 2004) and whilst I have tried other browsers I find a lot of them lacking.
There's Lynx, Links and ELinks but they are text only (well elinks does support a vesa graphics mode I believe but I haven't tried that) and can be a little difficult to use and navigate. There's also dillo but it's SSL support is alpha only at the moment, it doesn't support frames and it's support for image formats seems a little limited.
I find Firefox somewhat better than these although out of the box it's got some annoying limitations - luckily it has extensions. In the past I had to add 20 odd extensions just to make Firefox "almost un-annoying" to me but thanks to Mozilla adding these features in Firefox over time, I've got my extensions list down to a mere 9 which I will detail below (roughly in inverse order of importance, just for fun).
- User Agent Switcher (https://addons.mozilla.org/)
This extension allows you to change your User Agent, also allowing you to switch between user-defined User Agent strings. While a lot of people use this to visit websites that say "I'm sorry, you need Internet Explorer to view this" when it would render fine in Firefox, I use it just to set my User Agent to something more generic (namely "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:22.214.171.124) Gecko/2008123017 (A browser built upon the highly renowned web standards compliant and secure Gecko rendering engine that is the heart of several open source web browsers, including Camino, Epiphany, Firefox, K-Meleon, Mozilla, Netscape, SeaMonkey and XULRunner)", an idea I got from Mozilla Firefox Bug 334967 (https://bugzilla.mozilla.org/)). In fact if a website says "You need Internet Explorer", I just take my business elsewhere.
- Add Bookmark Here² (https://addons.mozilla.org/)
I realise while writing this, that I don't actually use this extension anymore but only because it doesn't really work with another extension I use that I cherish more. Add Bookmark Here² adds a menu item under each subdirectory in your Bookmarks called "Add Bookmark Here". This is a lot more intuitive and natural feeling than using Firefox's Add Bookmark dialog to navigate to where you want to place your Bookmark.
- Duplicate Tab (https://addons.mozilla.org/)
This little beauty is essential when dealing with annoying pages that require you to click something and won't accept it when you open them in a new tab/window etc. It simply allows you to duplicate any given tab to another tab or window, including it's history.
- Image Zoom (https://addons.mozilla.org/)
This extension allows you to right-click any image and zoom it to any size. This is a great little extension if you need to get a closer look at an image. As of Firefox 3 "zooming" the page no longer zooms just the text but also the images making this extension less necessary but I still find it better to turn that feature off and reserve their "zooming" to text only and leave the image zooming to this little extension.
- Stop Autoplay (https://addons.mozilla.org/)
Stop Autoplay allows you to disable autostarting of embedded media (or exclude it altogether) as well as blocking Flash (though I don't use that feature (see below)). Quick, simple, NECESSARY for those dodgy GeoCities or MySpace websites that spew audio at you obnoxiously.
- Nuke Anything Enhanced (https://addons.mozilla.org/)
Ever had a website that brought up an annoying "popup" within the page, blocking the content and not allowing you to read it until you clicked something? Maybe you want to print the page without all the unnecessary images (Note I haven't actually tested this extension for this purpose but I THINK it'd work)? Well, this extension will allow you to right click ANYTHING (yep even a table cell, paragraph, image, frame, div etc) and select "Remove this object". Until you try this, you have no idea how satisfying it is!
- Adblock Plus (https://addons.mozilla.org/)
This extension will block ads from websites so that you don't have them in your face whilst trying to read the content. You can subscribe to ad list databases and even add your own manually or automatically (right-click any ad and say "AdBlock this"). I am actually torn with this one as I realise some sites rely on their ad revenue to fund their hosting etc. I would advise anyone who feels this way to still have this installed (but not subscribed to any database) and simply use it for the really obnoxious ads that insist on flashing in your face.
- Flashblock (https://addons.mozilla.org/)
The web today is unusable without this extension. This extension is more advanced than Stop Autoplay's Flash blocking capabilities because it still reports to the website that you can handle Flash but it won't actually load the Flash unless you click a cute little play button. Stop Autoplay is aware of this extension and won't fight for Flash control if it sees it (so they play nice together).
- Vimperator (http://vimperator.org/)
This one changed my life. It's the best extension EVER. It is designed to allow you to operate Firefox as you would VIM, including many of the same shortcuts and commands. The good thing is you can have it installed and still use Firefox normally and just take advantage of the features you like. It has a most excellent keyboard link navigating system where you press 'F' and start typing the text of a link. As you do so, the list of available will reduce until such time as there is only one left at which time, it is "clicked". While this is happening however, the links matching the text you've typed will be highlighted and numbered so you can optionally type a number at any time to follow that specific link. Features like this make keyboard navigation quick and painless. It has many other features worth looking into too - check out their website for more details. In short though, if you use VIM (and Firefox) you NEEEEEEEEED this.
Well, that's it. My list of required extensions to make Firefox really usable and an almost painless experience.
I work in IT Support and am often on call. As it's a real pain having to cart around a heavy laptop/notebook everywhere I go, I decided to get a mini-laptop/netbook such as the ASUS Eee PC ( http://wikipedia.org/ ). These are great little laptops that weight approximately 1 Kilogram (depending on the model) and measuring somewhere around 225mm x 165mm x 30mm making them hightly portable.
I originally purchased the 701 as they were suitable enough and the only real model that was available at the time. The Linux versions were the most common, which suited me fine as I am a Linux only user anyway (I don't run Windows on any of my machines). I found the screen size a little small however and when the 901 was released, I sold the 701 and decided on a 901.
I checked out many different suppliers but could only find the Windows version. It would seem no matter where I looked, only Windows. I even tried JB Hifi ( http://jbhifi.com.au/ ) but no luck there either. No suppliers would even order one in. It took months of monitoring and contacting various suppliers, and frequent visits to the most excellent price comparison website StaticIce ( http://staticice.com.au/ ). In the end I luckily managed to find one supplier that had a 901 with Linux!
More recently I wanted to purchase a new phone and decided I wanted to combine my PDA and phone into one. I naturally figured that since I'm moving from a Palm ( http://www.palm.com/ ) PDA to an all in one solution, I should investigate a Palm made phone.
Turns out they make them but unfortunately the more recent ones run the horrible Windows Mobile OS - something that I have used in the past and had terrible experiences with.
In fact, there was only one phone still on the market that ran the Palm OS, and it was exclusively sold by Telstra ( http://telstra.com.au/ ) and only as a pre-paid phone, namely the Palm Centro ( http://www.palm.com/au/ ).
So, my search began. I went to approximately 20 phone stores in the Melbourne CBD without success, 5 of which were "Telstra dealers" (I was not aware of the exclusivity at that point), but all had the same reply: "Don't have any, but we do have these ones running Microsoft Windows Mobile". I even tried to order one in without success. In the end I had no choice but to buy a Palm Treo 780 off eBay from America.
What's my point? I had good money to spend on good products yet it was near impossible to do so. Had I have not been so persistant, I might have simply purchased a Windows based Eee PC (installing Linux on myself) and bought a Windows Mobile running phone.
Poses the question, how many people are "settling" for things and ultimately counting to market statistics. No matter how good a product is, if it's not available people cannot buy it (or even see it for that matter)
I recently got a new machine at work and as it's shared between 3 people so installing a custom distribution (ArchLinux would have been my choice) is not really an option. So, as my company default Operating System is Ubuntu, that's what I've got.
I can't really use my normal way of doing things like mounting on this system so I had to work out new ways to do things in the console instead