Technorama

An omnibus of tech posts by a Futurologist on software development primarily.

Thursday, 29 November 2007

 

Google Android 3D and UI

Google's 3D accelerated android looks amazing, (you will need an FLV downloader etc to watch the videos as they are in Adobe Flash format). I love the browser history pages viewed as 3D, maps with street panoramas, and the ability to run games like quake! I'd like to see how they did the panoramas in code, seems to all run in Java from the look of it. There are so many nice touches, like integrated messaging, and the way the title bar is a notification area for incoming messages.

Interesting they chose WebKit instead of Mozilla's Gekko HTML rendering engine too. When you notice who compiled the OpenVG spec at Khronos things all start to make sense... ;)

Perhaps this is what the iPhone should have been? Another missed opportunity for Apple!

Labels: ,


 

Do you find yourself highlighting text?

I read a lot of PDFs and webpages, but what strikes me is the colour schemes are often unsuitable for reading. Take the standard black text on white background, there has been research showing that applying a blue or other filter to the page makes the tones easier to see and thus easier to read. At present I find myself highlighting the text to give it a blue highlight rectangle!

So.. now we just need an easy way to change PDFs and webpages colour schemes to fit what we want. Its not difficult, so someone will do it eventually.. just like I've done custom userContent.css code to remove adverts we could change the colours. Perhaps even Greasemonkey can do it.. ah, yes we have Page recolourisation just what I was thinking!

Labels:


 

Fix for coral cache Adblock Filterset.G Updater bug

If like me you use Adblock Filterset.G Updater to grab the latest regexp to layout pages in Firefox without all the intrusive Adobe Flash, Gif and Iframe adverts.. you may have noticed that Filterset.G Updater doesn't work when you're behind a firewalled connection! I tracked down the cause to be because it relies on Coral Cache, which functions on the less standard port 8080. I told the guys at Coral about this problem in their design a few years ago, unfortunately they've not fixed it still.

The solution is to dive into the code and change Filterset.G Updater to not use the Coral cache.. now editing code is pretty easy, so just follow these steps:

Find fgupdater.jar in your firefox profile and copy it somewhere as a backup.
Rename the original copy fgupdater.jar.zip
Open it up in your favoriate ZIP archive browser, such as Ark, WinZip etc.
Edit the file "content/fgupdater.js"
Change the function near the top to go straight to the uncached site URL:

function fgSite(filter)
{
return "http://www.pierceive.com/filtersetg/";
}

Now save your changes, and close the editor, it should then update the archive when you close it.
Rename it back to fgupdater.jar again.
Restart firefox, and either do a manual update from the Add-ons menu, or if it does an automatic one you should then see the Adblock extension gets populated with the list of regular expressions ;)

Easy eh!?

Labels:


 

Subjected to Yahoo's PDF adverts!

Now as well as the usual glut of Adobe Flash adverts on pages (generating errors if you don't have Adobe's extensions installed), Yahoo are pioneering PDF adverts, that is the adverts run along the side of PDF files! What ever happened to the joy of not being sold anything ? ;)

Labels:


 

Japanese for busy people Kana editions

Just dug out my old Japanese for busy people book. I did buy the romaji one at first, but replaced it when I realised reading in English wasn't going to help me pick-up the written language. It doesn't take long to learn Katakana and Hiragana, so save yourself a lot of time and go straight to the Kana edition of the study books! がんばてね!

Labels:


Sunday, 25 November 2007

 

Things come in waves

The EU is currently continuing it's expansion east, doubling in size. I do wonder how long it will last, and if we will see an equal and opposite swing the other way just like CCCP and Yugoslavia did.

In 30-50 years time will we see a disentanglement effort and eventual peaceful breakup and separation?

I for one think the EU is something quite different from past efforts to integrate states. How things will fair after China and India change the world-trade map will be interesting to see, fingers crossed the EU lasts ;)

Labels: ,


 

Expiring web sessions

I do a *lot* of online shopping these days, the high-street is so far away, and then I have to find parking too. (Even then, when I get back to my car I may find dents in the doors from the adjacent car because the greedy car park company only allows a tiny space for each car!)

So, back to my point. Why do web-sessions expire? Visit confused.com and you'll often get:

We are sorry but your interactive session has expired.

So we have to go back and fill in all the forms again. The reason we have these web applications which don't work is because there isn't a professional UI/widget layout development system like we have on GNU-Linux with Qt and Qt Designer etc. So every programmer tries to do his/her best, redeveloping the wheel. Which leaves things like even the "Exit Confused Site" button not working.

Once we get a better web-server configuration which fits with a standard web application UI/widget these problems will go away, so for the moment we still have to suffer when using websites like confused.com.. oh well, things will improve eventually.

Labels:


Saturday, 24 November 2007

 

Google Analytics "urchin" cookie tracking

While testing my site earlier I noticed cookies called __utma, __utmb, __utmc and __utmz being set from jguk.org, what was worse was that they lasted until 23 Nov 2007, and had unique numbers in them, like 98208771.

I've found out that they orginated not from my site, but from "http://www.google-analytics.com/urchin.js". This was a free google service I signed up to but couldn't get anything useful out of it as it was using proprietary Adobe Flash files for its display. I already have an http://extremetracking.com/ button visible and a hit counter, so I've fallen back to using that. (These services aren't perfect though, e.g. they record screen size not current browser window size!)

I've removed the code that was setting these unreasonable cookies (practice what I preach eh?), and I suggest you all clear out your cookies from my domain, and consider if you want to clear out these __utm* cookies from other domains too. Another way of achieving the same result is to use the Customise Google extension to Firefox!

Urchin can track every single click on a webpage if the developer sets it up like that, they just add something to the onclick param of the anchor tag like this:

onClick="javascript:urchinTracker ('/directory/file.html");"

It could even be used to see what links people hovered over with by adding the function call to the onMouseOver param.

It's intrusive use of features like this which ruin it for the rest of us who love webpages which are javascript enabled (AJAX etc!). This is going to make people want to selectively block Javascript for certain sites, and then those sites may not function well enough.

Other sites have the same problem, take Ian Brown's Blogzilla as but one example, should anyone really be using Google urchin tracking!?

Labels: ,


Thursday, 22 November 2007

 

Simple changes to improve road safety

Working in the home counties recently, I see lots of little villages and winding roads. What surprises me is that nearly all these roads are set at the national speed limit and there aren't any double-white lines in the middle stopping people from overtaking. So every day I am doing 40 mph around a sharp bend and find someone else overtaking and almost careering into my car!

So some simple steps to cut down road traffic accidents:
Easy stuff, and not that costly to save lives, so why isn't it done!?

Labels: , ,


Monday, 19 November 2007

 

Happy birthday Open Rights Group!

ORG is officially Two years old today, congratulations! For those not already members, please consider supporting any way you can ;)

Labels: , , ,


Saturday, 17 November 2007

 

The French will be pleased not to arrive in Waterloo!

With the opening of St Pancras to the Eurostar High Speed 1 route which travels through the chunnel from France, some must be very pleased about not having to arrive in a station named after the defeat which ended the Napoleonic wars!

Victory against Napoleon was on 18 June 1815 at Waterloo (Belgium), secured by the Duke of Wellington and the Prussian army against the might of Napoleon. Waterloo bridge was named after the battle, and then Waterloo station was named after the bridge.

I'm happy to have a high-speed route in to London from the channel, but wonder just how long we'll have to wait until the rest of the UK has high-speed routes..?

Labels: ,


Wednesday, 14 November 2007

 

Incorrect email from, envelope-sender and reply-to addresses

Companies seem to be getting worse at email these days. Now email is almost considered a shot in the dark, with either an invalid from, return-path and sender address, or one which which send any reply straight to /dev/null. And now some even bounce back saying there will be no response to emails and we should call a premium rate call centre number.

Take the example of this marketing email I got from Holiday Extras. The return address was agent@ukex11.pur3.net and the from address was . Reply to the email and you get a bounce straight back. They should have set them to customerrelations@holidayextras.com!

Some companies now insist on filing any "email" contact with them in a tiny web-form, which I don't think really is fair to really call email. This means we don't have a copy of the "email" in our "Sent" folder with the rest of our email, and we have no record that we have contacted the company though the tiny web-form, so when they don't reply we don't have a copy of what we sent them or any proof.

Often the web-forms will have bugs, like a 255 character limit, or a silly set of blocked characters which includes question marks and commas.

Got another one today saying "
NOTE: This is an automatically generated email. Please do not reply to this email."... but when I email these companies I don't hide my email address.. The same when they call me from Withheld numbers..

So, any companies reading this.. switch back to standard email, and provide good customer service!

Labels:


Tuesday, 13 November 2007

 

Regulating CCTV in the UK, Surveillance Protection Principles proposed

From last year's EthiComp Conference, A. A. Adams of Reading University presented Regulating CCTV.

Quotes from the Abstract: "Given that the number of CCTV cameras in the UK is the largest in the world, and given that it is unclear when video data should be regarded as Personal Data (or what rights a blanket definition would reasonably provide to the surveilled) it is claimed that a CCTV Act is needed in the UK"

"Specific proposals for securing data and infrastructure are suggested, in addition to some general Surveillance Protection Principles."

Labels: , , ,


 

The real reason and benefit of the 2012 London Olympics

We would all think the Olympics was about sports and building bridges between different countries and peoples. That's still officially the goal, but the reality is that it costs too much to bid successfully and develop the facilities that now it's about more than just the eight week Olympic period.

It's about the legacy, what facilities and regeneration the Olympic works will bring in. It's a great excuse to spend a lot of tax payers money, re-developing depressed areas. Like the Stratford in North London.

As well as all the fantastic sports facilities, we are also getting part of the rail network the capital is desparate for. The new Crossrail route from east to west, and the eurostar line (High Speed 1) down to the chunnel from St Pancras, Stratford and Ebbsfleet International stations.

I'm looking forward to making the most of these new transport facilities ;)

Labels: ,


Monday, 12 November 2007

 

Check (fsck) your GNU-Linux filesystems! (ext2/ext3 & FAT)

I've had so many hard drives fail over the years that I'm sadly accustomed to running these checks on my drives to test them, and I even now run on new/replacement drives because I get faulty drives that have probably been dropped by the courier a couple of times a year as well. My longest serving drive is only around 3 years old ! Just purchased a 4GB M2 card for my Sony Ericsson K800i, that had errors straight out of the box! New drives For a new drive, it's fine to run a destructive test, which writes patterns of data and does a through "soak" test (this may take over 24hrs on a 350GB drive though): # badblocks -b 4096 -c 512 -s -v -w /dev/sdxx ^ This tests 512 blocks (4096 bytes each) at a time, which means the process takes an order of magnitude less time than the defaults. The -w flag makes it write the pattters 0xaa, 0x55, 0xff, 0x00 over every block of the drive, read it back and compare. -s and -v gets the program to display information while it is running so we know where it is up to. Drives with valid data If you're like me, and you need to also check filesystems with valid data that you can't overwrite you need to do a safe read-only check of each block. Unfortunately no distros come with a a ram root disc which includes the utils necessary to do these checks, so you'll need to boot up from a Live disc, either Knoppix, or a standard Ubuntu disc will do. Run these commands on the drive:

# badblocks -b 4096 -c 512 -s -v -n /dev/sdxx
Also, you can display the blocks which are reserved as bad on an ext2/ext3 filesystem with the command:
dumpe2fs -b /dev/sda3

Memory cards Old style DOS filesystems are still around on some memory cards (they've not reached the hard-coded limits of FAT32 yet!). So if like me, you've got a Sony Ericsson K800i, plug in the USB cable and run these commands to do an interactive check, which also scans for bad sectors:

# umount /dev/sdd1 # fsck.vfat -rtvV /dev/sdd1

Mount count checks Make sure your mount-counts are set to something reasonable, if you reboot 3 times a day set it higher, but if you only boot twice a month it might be worth having the max-mount-counts set to 1 with the -c option. Stagger your different drives with different counts (primes eh!?) to avoid overlap. So 2,3,7,11,13,17,19,23,29 etc Set a time interval with the tune2fs -i command. 

Recover a problematic partition with dd_rescue Got a failed drive that you want to recover files from? Sometimes it's not possible to mount them, so the trick is to copy it to a new drive with dd_rescue. I would have said use "dd", with a line like:

dd if=/dev/sda of=/dev/sdb bs=512, but even with conv=noerror it actually skips sectors in the output it can't read, so your new partition will have all the remaining sectors bunched up, and thus the file inode chains won't work! dd can be used with conv=noerror, sync but you also need to get the ibs set correctly and the man page is poor. So simplest is to use dd_rescue (or GNU ddrescue, or myrescue): # dd_rescue /dev/sdxx_in /dev/sdxx_out It just uses zero for sectors it can't read. Then you can run recovery tools on the new copy you made, without damaging the faulty drive further. There are various tricks like actually writing the data back to the same drive, which will cause the drive to remap the sectors (you all understand engineering tracks and that all drives ship with a certain number of mapped out bad sectors using spare sector pool right?).. which may allow you to mount the faulty drive directly. Feature wish list fsck.vfat should include a % complete indicator which updates as it progresses, so we know its still working! When your drives reach the mount count they have a display in that mode, so could go the same, like this:
|====================............|*
fsck.vfat provide a way to view the bad blocks on a drive. fsck.ext3 should provide a way to get the list of bad blocks out of the drive. (Currently we have to run dumpe2fs) dumpe2fs is actually a very useful util, for developers mostly though. (and bad blocks check as above) tune2fs lets us set the mount count, which forces a check when the system reboots (why can't distros also run other checks in this read-only mounted state?) Set the mount count with -C 4096 to force a check on the next boot (as that number is higher than the max-mount-counts) e2image useful for dumping the filesystem to a file for analysis purposes. debugfs is an interactive filesystem debugger. Tips Give your partitions a name with the tune2fs -L command, to make it simpler to identify your drives. You can also do this when creating your partitions by passing the name to: mke2fs -L (GNU+Linux distributions still aren't setting meaningful names like "boot", "root" and "home" as partition labels, doh!). The e2label /dev/sda1 Root_FS command achieves the same result as using tune2fs. Check the name of your partition by calling: dumpe2fs -h /dev/sdxx You can also name your Swap partition, first disable swap, then setup a new swap file in it with the name: # swapoff /dev/sdb1 # mkswap -L SWAP_DRV /dev/sdb1 You can list the labels of your partitions by using the "blkid" shell command too! As fdisk -l only gives the partition types. Never had success reading S.M.A.R.T. from GNU+Linux, always didn't support my drives. smartctrl is part of that live disc, so you may be lucky if you try. (I'm informed the atausb driver mgiht support S.M.A.R.T. although my drive uses ata_piix driver) Finally, be really careful when using these commands, as you could destroy your data! If you ever need it, you can force the kernel to sync and remount all filesystems read-only by pressing Ctrl + Alt + SysRq + s, followed by Ctrl + Alt + SysRq + u. Then do Ctrl + Alt + SysRq + b to reboot the system.

Labels: ,


Sunday, 11 November 2007

 

Poor SMART support on SATA and GNU-Linux

Of my two SATA drives (Seagate and Samsung) and one external USB2 (Western Digital) all bought within the last 12 months, none support the SMART standard according to GNU-Linux's nifty smartctr util. It's areas like this where the OS is lacking, and Windows tools seem to manage to monitor devices ok, so perhaps this is a Linux kernel issue? Whatever the underlying cause is.. vendors need to get together with distros and other stakeholders and resolve the issue!

Labels:


 

Broken Nokia link on new N770..!?

It's often funny how out of sync the product dept and internet division are of the same company can sometimes be.

Take the example of the Nokia N770 I just bought off amazon.co.uk. The manual lists the support page as www.nokia.com/support/770, punch that in and you get a "Sorry" page. Google for it and you get the working link europe.nokia.com/770 at least ;)
Nice to see they've dropped the www prefix, but shame the manual doesn't reflect that!

Saturday, 10 November 2007

 

Master Boot Record (MBR) fix for laptop ubuntu broke!

Kubuntu installer killed my dell laptop the other day. As Dell still don't include any diagnostic tools in the firmware I was stuck. The C drive on this laptop had been setup by Dell with MS-Windows XP, but I couldn't even use the MS recovery console as it only allows access to the C Drive after entering the administrator password.. and as you all know, Dell don't setup an administrator account/password any more. Dell diagnostic tools are installed on the hard-drive.. which could not be booted..! Clever eh Dell?

As I had the Kubuntu live install CD I booted up that again. For some reason they have not included typical recovery commands on the CD though. I could have used the LILO command to write a working MBR back to the drive with this command:

/sbin/lilo -M - write a Master Boot Record on a device

I found a better fix from some kind sole on ##windows IRC channel. Install the "mbr" package, and then run the command:

install-mbr /dev/sda

Which will write a default MBR similar to the one LILO produces I expect, which will boot the first active partition. Of cause this only works if you can setup a network connection, and get access to the ubuntu repositories to issue apt-get install mbr. Why not include these as standard ubuntu guys? Especially when the installer is breaking Dell laptops like mine!


Backup your boot sector

You can back up your bootsector, and then restore it should you need to.

To backup the whole MBR and partition table run:
dd if=/dev/sda of=backup_mbr.dat bs=512 count=1
Of that 512 bytes, only the first 448 bytes is the boot code, the remaining 64 bytes is the partition table of the drive.

To just restore the MBR boot bytes run:
dd if=backup_mbr.dat of=/dev/sda bs=1 count=448
My MBR backup could be useful to someone.

Be very careful running these commands, as you could make your boot problems worse!

Also there is a great package called Smart Boot Manager on sourceforge, it's got it's own little boot menu (screengrab) and gives a choice of which partition to boot from. Developer is looking for a new maintainer, so get in touch with him if you're interested!

Labels:


Thursday, 8 November 2007

 

Ubuntu killed my laptop!

Ran up the Kubuntu 7.10 Live CD and started the install last night. It detected my external USB2 drive I wanted to use (sdb), and let me leave my my Windows C drive alone (sda). It took over the whole of sdb, creating about 6 partitions, why so many? not necessary to use the extended partition IMHO.

Then the installer offered to install the boot loader grub, so I went along with it. Little did I know this would break the system. The Installer displayed no warning about this potential hazard like it should have, at the least.

While it was formatting the drives I clicked the "Skip" button as I had already formatted the drive, so it only really needed the (empty) directory structures writing etc.. that was the installer's first fault, as the UI locked up, and the windows became corrupted. The "ubiquity" process was still taking up 95% of my CPU, so I assumed all was well under the hood, but after after 2 hours waiting, and no activity I rebooted the laptop to see what the damage was.

When the laptop started, with or without the USB2 external drive in I got this ominous display:
=====================
GRUB Loading stage1.5

GRUB loading please wait...
Error 5
_
=========

So when Kubuntu knew it was an external drive (it had given it that name!) did it install the grub knowing the stage1.5 would be inaccessible because the usb kernel drivers had not yet been loaded?

Quite a few visible bugs, even the Wireless connection wizard gets stuck displaying "Unknown", the workaround is to manually select the Wireless connection *again* to get it to complete the connection.

Konqueror displays a multitude of accented characters in little boxes all over the browser window from time to time.

The installer seems to have other issues as well:
Nov 7 19:49:42 ubuntu ubiquity: /proc/misc: No entry for device-mapper found
Nov 7 19:49:42 ubuntu ubiquity:
Nov 7 19:49:42 ubuntu ubiquity: Is device-mapper driver missing from kernel?
Nov 7 19:49:42 ubuntu ubiquity:
Nov 7 19:49:42 ubuntu ubiquity: Failure to communicate with kernel

..and why is it doing this before asking me!?
Nov 7 19:50:25 ubuntu ntfsresize: ntfsresize v1.13.1 (libntfs 9:0:0)
Nov 7 19:50:25 ubuntu ntfsresize: Device name : /dev/sda2
Nov 7 19:50:25 ubuntu ntfsresize: NTFS volume version: 3.1
Nov 7 19:50:25 ubuntu ntfsresize: Cluster size : 4096 bytes
Nov 7 19:50:25 ubuntu ntfsresize: Current volume size: 56696852992

Sometimes it feels almost like we are going backwards with GNU-Linux distros!

Labels:


Sunday, 4 November 2007

 

Guesthouse provides Linux wireless config!

I have to say, this was a first for me, Clifton Guest house in Maidenhead provided me with a wireless connection sheet with Linux (and MS-Windows) instructions on it! Interestingly they missed Mac details out, a signal of the way things are going!?

Labels: ,


Archives

February 2003   March 2003   April 2003   August 2004   September 2004   December 2004   May 2005   June 2005   December 2006   January 2007   February 2007   March 2007   April 2007   July 2007   August 2007   September 2007   October 2007   November 2007   December 2007   January 2008   February 2008   March 2008   April 2008   May 2008   June 2008   July 2008   August 2008   September 2008   October 2008   November 2008   December 2008   January 2009   February 2009   March 2009   April 2009   September 2009   November 2009   December 2009   January 2010   April 2010   September 2010   October 2010   November 2010   December 2010   January 2011   February 2011   March 2011   April 2011   May 2011   June 2011   July 2011   August 2011   September 2011   October 2011   November 2011   December 2011   January 2012   February 2012   March 2012   April 2012   May 2012   June 2012   July 2012   October 2012   December 2012   March 2013   May 2013   August 2013   September 2013   October 2013   November 2013   March 2014   May 2014   June 2014   July 2014   September 2014   October 2014   December 2014   January 2015   February 2015   March 2015   April 2015   May 2015   June 2015   July 2015   August 2015   September 2015   October 2015   November 2015   December 2015   March 2016   April 2016   May 2016   July 2016   August 2016   September 2016   October 2016   November 2016   December 2016   January 2017   February 2017   March 2017   April 2017   May 2017   June 2017   July 2017   August 2017   September 2017   November 2017   March 2018   April 2018   May 2018   June 2018   August 2018   October 2018   December 2018   January 2019   March 2019   May 2019   August 2019   September 2019   March 2020   April 2020   May 2020   September 2020   October 2020   February 2022   June 2022   July 2022   October 2022   December 2022   February 2023   April 2023   September 2023   October 2023   May 2024   June 2024   July 2024  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]