Oct 232010
 

I have not had the opportunity to fiddle with one, but if Apple wants to send me one to review I am more than willing to do that! But I do have a few thoughts on the new Macbook Air. Both the 11″ one and the 13″ one. If you want something closer to a review (although nobody has had one long enough to review it properly) you can do worse than have a look at this article.

It is amusing to see the reactions to various articles published on the new Air from the “Apple is Satan” crowd, and the “Apple can do no wrong” crowd. Both as it happens are wrong.

If you look at the raw specifications of the Air – especially the 11″ model, you will see something that looks more or less like a netbook. Which of course it cannot be because Steve Jobs thinks netbooks are snake oil and useless at that. In fact it is a little bit better than that – the CPU is a little quicker, the graphics are a little better supported with a faster chipset, and there is a touch less storage (unless you go for the really expensive 256Gbyte model!).

So it’s just a very expensive netbook then ? Well, more or less. It fills roughly the same need – most people are not going to use one of these as their main machines, but will carry them around as ultra-portables. That is the kind of mobile computer you can take anywhere but once you are at your desk it sits in the drawer whilst you use a “proper computer”.

Sure the CPU is a little light-weight, but a couple of years ago a Core2Duo CPU was fine enough to get Real Work Done, so it’s still perfectly adequate to do a bit of light word processing on the train, throw up a presentation on a screen, do a little light web browsing during a boring meeting (ps: I never do this), and of course perfectly adequate for running kermit to connect to a Cisco router whilst balanced on top of a boring blue box.

Most of the compromises made in the specification are to get the size and weight of the laptop down to increase portability – that’s what a laptop is for after all! If you want power, go back to your desktop.

There is a fair amount of criticism around the cost of the Air being as it is very much more expensive than most netbooks. So ? Apple is hardly known for tackling the low end of the market where margins are small, so it is hardly surprising that things have not changed here. And of course this machine has a better specification than any netbook, whilst retaining the characteristic that Apple thinks is important in a netbook – portability.

Of course Apple is hardly perfect. Why must the battery and the SSD be fixed ? And why is there no possibility of swapping out the memory ? Whilst making these devices swappable may well make the laptop just a bit bigger and a bit heavier, it won’t be enough to ruin the portability, and will be a lot greener.

There is of course the usual criticism of Apple that their UK prices are over inflated compared to their US prices. To do a fair comparison, lets take a look :-

Cheapest Air on the US Apple Store $999
Cheapest Air on the UK Apple Store £849
US price in pounds where exchange rate is according to Wolfram Alpha £636.89
Plus UK “sales tax” (VAT) at 20% (to start in January 2011) £764.27
Penalty to UK purchasers for buying Apple £85

So why are we paying that extra £85 ?

We all know that laptop batteries fade over time to eventually give such a short running time to make the laptop unusable as a portable device. And of course circumstances change so you may suddenly need more than 64Gbytes of storage to get your work done on the move – or you just have to run a virtual machine because work has come up with the Ultimate Application that only runs under Windows, so you need a touch more memory.

Or heck, perhaps you just want to give your laptop a midlife upgrade to make it a bit quicker.

Apple want us all to throw away our old products and buy new ones – very capitalistic, but not very green.

And for all those pro-Apple and anti-Apple people out there who get so wound up by product announcements by Apple, please grow up and get a life! It’s a laptop; not a revolutionary change in the way that humanity exists.

Oct 052010
 

It is always funny reading articles trying to gaze into the future of computing especially when they start trying to figure out the form factor of future computers. The “desktop is dead, long live the laptop”, the sudden emergence and roaring success of the netbook, the gradual improvement in specification and increase in price of the netbook to encroach on laptop territory.

And of course the “new thing” – the slate (I refuse to call it the silly name that Applie chose).

Everything we read leads us to believe that this is going to beat that and there is no market for this other thing. The truth of the matter is that there is no reason why there should not be a reasonable market for all the different form factors.

For instance, I own and use :-

  • Two desktop machines (one dedicated to server duty)
  • A work-provided laptop for heavy duty work on the move.
  • A netbook for a portal “toolbox”.
  • An ‘all-in-one’ that sits on my coffee table and serves as a web browser for in front of the TV. Quite possibly to be replaced with a slate once decent 10″ Android slates start appearing.

Now I’m an extreme example, and it is unlikely that normal people would want all that. But it is quite possible the average family might, or even more.

But even more importantly, someone who has a desktop machine at home (and work) probably doesn’t need a powerful laptop, but may find a netbook useful. Or someone with a powerful laptop may not want a netbook, but may find a slate useful for random bits in front of the TV.

Different people have different preferred ways of interacting with computers. And the market is now large enough to provide different environments. So whilst the slate may eat away at the market share of netbooks, as indeed laptops have taken market share from desktops, there is no ‘death of the netbook’ coming anytime soon.

Sep 262010
 

This is a collection of a few thoughts mostly in relation to online shopping – I’ve been doing it for quite a while now; for over 10 years.

Online Shopping

There are two kinds of online shopping – those items that you really want and are prepared to go to the extra effort of finding, and those items that you’ll pick up online if it is convenient.

It seems that nearly all online retailers  want to build a relationship with their customers; complete with yet another username and password to remember, and yet more promotional emails cluttering up our inboxes, Frankly many of us do not want a relationship with the people who sell us stuff – we just want the stuff.

The effect of this, is that many of us have a tendency to stick with a relatively few online retailers (think Amazon), and only build new “relationships” when the special purchase crops up. This gives smaller retailers and those new to the marketplace a bit of a disadvantage. Although I would naturally prefer smaller retailers rather than the huge multi-nationals, I would rather not go through the hassle of creating a new account with a new retailer and deal with a bunch more “near spam“.

Plus of course there are people who are more cautious about online purchases who might stick to the larger online retailers as a way of avoiding risk.

What would benefit both the consumers and the smaller retailers is some sort of ‘meta-retailer’ who deals with the authentication, the “near spam” (by sending out a single digest collecting together multiple messages once a week please!), and serves as a clearing house for complaints. You might immediately think of eBay (or Amazon itself), which resembles what I have in mind, but the weighting is in favour of the ‘meta retailer’ rather than the business actually doing the selling.

As an example of what I have in mind, think of a retailer like Blacks (with whom I have a “relationship” for buying boots every few years). Whilst the process of choosing what to buy would be the same – by visiting the retailer’s website and picking out the chosen products, the process of buying would be different. You would select “Buy Now” which would take you to a different website, where you would authenticate using a username and password used for all the retailers who choose this service.

Such a service would benefit the smaller retailers by encouraging their use, and benefit the consumers who want reassurance and less hassle.

Delivery

Delivery of online purchases needs to be fixed. Some of the companies that perform deliveries are less than competent. I’ve taken days off work to wait in for deliveries only to be left sitting in my flat all day without a delivery being made.  And often when such deliveries fail to appear, the delivery company is less than flexible about making alternative arrangements – for example refusing to making a second delivery attempt on a Saturday requiring me to take a second day off, or insisting that the goods are returned (which I have done, and encourage others to do when the delivery company tries to pull a fast one).

There are two immediate solutions that come to mind :-

  • Firstly, online grocery shopping is often delivered in a way that all deliveries should be made – you get to choose a time slot when the delivery would be made. I would much rather have a window between 18:00-20:00 in three days time than a next day delivery “sometime” when I’m at work.
  • Secondly, retailers should offer a choice of delivery agent. I know which delivery companies are good and bad in my area, and I would always choose the Royal Mail (or Parcelforce) if given the choice as even when they fail to make a delivery, the package can be left at my local post office which happens to be conveniently close.

The High Street

Some people like shopping on the high street in genuine bricks and mortar shops where you can touch and feel what is on offer. Fair enough, but there are those who hate it too. In addition, the high street is under threat from online shopping which offers a greater choice, and more convenience … especially for those who do not like shopping on the high street.

What strengths does the high street offer to give it an advantage over online shopping ?

First of all, there is the possibility of getting something right now. If I need a pair of socks urgently (!), then I need to pop into a shop and get a pair suitable for my size of feet (12). I don’t need a wide variety of socks to choose from – I need an ordinary pair of socks in my size.

Reduce the variety of socks available slightly and introduce a proper range of ordinary socks in all sizes. So what if the size 12 socks don’t sell in great quantities ? An occasional sale will serve as good publicity and keep people coming back to the high street. And who knows ? Whilst buying my size 12 socks I might pick up a silk scarf at the same time.

Secondly there is the ‘touch & feel’ factor. In many cases, it is possible to deliver goods from a distant warehouse at a later date or time leaving the shop as a showroom for the goods on sale. This especially works for larger goods – TVs, washing machines, and the like. But could work equally well for smaller items given that a shop with less storage has more room for goods on display.

Sep 222010
 

I have been looking into a problem with my Macbook Pro for quite a while now – despite setting the preferred sleep mode with sudo pmset -a hibernatemode 1, the laptop refuses to go into hibernate mode. It doesn’t even go into hibernate mode when the battery runs down sufficiently that it should do.

This leads to a couple of problems :-

  1. On occasions, the battery runs down enough to loose all power meaning my laptop switches off, and all running programs are terminated.
  2. Also the laptop sometimes comes out of sleep mode in my backpack getting very hot in the process.

According to a comment on a blog posting, there may be an issue with Firefox preventing hibernation from working – why that should be, I haven’t the faintest idea. Despite seeming a touch unlikely, I gave it a go – quitting Firefox and then putting the laptop to sleep.

And it hibernates!

However it turns out that stopping Firefox doesn’t prevent my main machine from hibernating. After a long hunt and several experiments, it turns out that OSX will simply not hibernate to a disk that isn’t in the slot where the hard disk is. Or in other words, you cannot hibernate when your boot disk in an SSD in the ExpressCard slot.

Which strikes me as a bit … weird. I guess the fix for this would be a proper SSD in the hard disk slot and to move the hard disk elsewhere.

After having invested in an SSD and spent far too long forcing my tired old eyes to operate in my MBP, I can confirm that hibernation does work with any kind of disk in the right slot for the hard disk.

Aug 112010
 

Ten years ago? Bloomin’ heck! Still as this still seems to get frequent hits, I suppose quick update is in order – I no longer use the Unicomp “naked” but go through a Soarer converter which is an easier way of mapping the keys and allows macros to be added.

Thanks to these guys (the thread eventually gets to the meaty details), I have changed my Unicomp 122-key keyboard (UB40T56) from a funky “be friendly to Windows IBM Terminal emulators” mode into something a little more interesting. Specifically each key should be sending a unique keycode – which if you select the right model from Unicomp, you’ll get.

This can be done by opening up the keyboard and removing the jumper from JP3 (just below a small chip and close to the scroll LED). In addition, it is strongly suggested that you set the kernel parameter “atkbd.softraw=0” which can be done with Ubuntu 10.04 with the following :-

  1. Edit /etc/default/grub and change the variable GRUB_CMDLINE_LINUX_DEFAULT to include “atkbd.softraw=0” at the end of what is already there.
  2. Finish editing and run grub-update and finally reboot.

Without this, showkey -s only shows the scancodes of keys that the kernel knows about – not what scancodes are sent by the keyboard! It is possible to show the unknown scancodes by enabling the i8042 module debug mode, but atkbd.softraw does the same thing more effectively.

This is currently a work in progress, and will need further checking before it can be taken as gospel, but …

Group Key Make Break Keycode
Function Keys
F13 5b db
F14 5c dc 95
F15 5d dd 183
F16 63 e3
F17 64 e4
F18 65 e5
F19 66 e6
F20 67 e7
F21 68 e8
F22 69 e9
F23 6a ea
F24 6b eb
(next row) F1 3b bb 59
F2 3c bc 60
F3 3d bd 61
F4 3e be 62
F5 3f bf 63
F6 40 c0 64
F7 41 c1 65
F8 42 c2 66
F9 43 c3 67
F10 44 c4 68
F11 57 d7 87
F12 58 d8 88
Left Keypad (Top left is “Esc”)
Esc 7e fe 121
Cent 76 f6 85
Print Screen 72 f2
Pause e1 1d 45 e1 9d c5 119
Print 74 f4
Help 6d ed
Record e0 2a e0 37 e0 b7 e0 aa 99
Play 6f ef
GUI (Windows) 75 f5
Menu 6c ec
Editing Pad (between QWERTY and Number Pad)
Backtab 5a da
Insert e0 49 e0 c9 104
PageUp e0 51 e0 d1 109
(next row) Blue Return e0 4f e0 cf 107
Delete e0 52 e0 d2 110
Page Down e0 53 e0 d3 111
(next row) Up Arrow e0 48 e0 c8 103
(next row) Left Arrow e0 4b e0 cb 105
Home e0 47 e0 c7 102
Right Arrow e0 4d e0 cd 106
(next row) Down Arrow e0 50 e0 d0 108
Number Pad
(top row) End 01 81 1
Scroll Lock 46 c6 70
(shifted Scroll Lock) Number Lock 45 c5 69
/ 37 b7 55
* e0 c5 e0 b5 98
(next row) KP-7 47 c7 71
KP-8 48 c8 72
KP-9 49 c9 73
4e ce 78
(next row) KP-4 41 cb 75
KP-5 4c cc 76
KP-6 4d cd 77
+ 4a ca 74
(next row) KP-1 4f cf 79
KP-2 50 d0 80
KP-3 51 d1 81
Enter e0 1c e0 9c 96
(next row) KP-0 52 d2 82
KP-. 53 d3 83
  • Group. To break things up a little, I’ve grouped the keys into the 5 separate parts of the keyboard – the function keys, the keypad to the left, the qwerty pad, the editing pad, and the number pad (“keypad”). The details of the qwerty pad will be the last as the other groups are more interesting (‘qwerty’ keys just work).
  • Key. This is the label on the key on my keyboard. This may be different on different variants so in all cases I have started with the top left, worked left and down (the “qwerty” row before the “asdf” row).
  • Make. This is the scancode produced when the key is pressed.
  • Break. This is the scancode produced when the key is released.
  • Keycode. The configured keycode produced on the Linux console. The red cells are values that are wrong, but in addition many are missing because they are not produced on a keypress. I say wrong because the keycode gives a result that does not match the key legend – in some cases dangerously wrong such as PageDown generating Delete. One thing to be aware of is that you must use “showkey -k” at the console to get the same numbers I have – X seems to add 8 to each keycode.

Three interesting oddities here … F14 and F15 have somehow been graced with keycodes by default; their scan codes must coincide with keys defined on more popular keyboards. And of course Num Lock and Scroll Lock sharing the same key is a little … odd. And lastly the Record key is effectively sending two keystrokes in one.

Fixing The Wrong Keys

The first place to start is to map the keys that return a keycode that represents a key other than that written on the keycap – such as the key marked “End” which thinks it is an “Esc” key. I have left out two of the wrong keys from this group as they fit better into the next section.

The wrong keys can be fixed with the following commands :-

setkeycodes 7e         1    # Esc
setkeycodes e049      82    # Insert
setkeycodes e051     105    # PageUp
setkeycodes e052     111    # Delete
setkeycodes e053     109    # PageDown
setkeycodes 01       107    # End
setkeycodes 37        98    # KP-/
setkeycodes e035      55    # KP-*
setkeycodes 4e        74    # KP--
setkeycodes 4a        78    # KP-+

I have left out a couple of the wrong keys from this section as they do not return dangerously incorrect values, and they fit more logically into the next section (being Record and Blue Return).

Dealing With The Extra Keys

Now onto dealing with the extra keys. The tricky bit here was coming up with new keycodes for these keys that did not conflict with existing keycodes, and were reasonable. This is effectively impossible, as xmodmap -pk appears to show no significant range of unused keycodes although some of the used keycodes are for things like “Shop” buttons!

So I picked a range with a larger number of useless key symbols and some unused ones :-

setkeycodes 5b       222    # F13
setkeycodes 5c       223    # F14
setkeycodes 5d       224    # F15
setkeycodes 63       225    # F16
setkeycodes 64       237    # F17
setkeycodes 65       238    # F18
setkeycodes 66       228    # F19
setkeycodes 67       229    # F20
setkeycodes 68       230    # F21
setkeycodes 69       231    # F22
setkeycodes 6a       232    # F23
setkeycodes 6b       233    # F24
setkeycodes 72        99    # Record (after keyswap)
setkeycodes 74       209    # Print
setkeycodes 6d       138    # Help
setkeycodes 6f       239    # Play
setkeycodes 75       234    # Windows (GUI)
setkeycodes 6c       240    # Menu
setkeycodes 5a       235    # Backtab
setkeycodes e04f     236    # BlueReturn

Once this has run, we can look at fixing the X mappings … which is why F17 and F18 are out of sequence in the above! One key has to be (at least until someone comes up with a better solution!) sorted out with a keycap swap. Take the keycap from the Record key and swap it for the one marked “Print Screen”. This is because the scancode for Record is effectively two scancodes in one and attempting to remap it will result in strange things happening.

Sorting Out X11

Once you have a set of keycodes that don’t do funny things under X (for instance F17 and F18 when in sequence produce not a keystroke under X11 but some other event), you can move onto configuring the X keyboard. The following attempts to map as close to the keycaps as possible without going to extremes :-

xmodmap -e "keycode 230 = F13"
xmodmap -e "keycode 231 = F14"
xmodmap -e "keycode 232 = F15"
xmodmap -e "keycode 233 = F16"
xmodmap -e "keycode 245 = F17"
xmodmap -e "keycode 246 = F18"
xmodmap -e "keycode 236 = F19"
xmodmap -e "keycode 237 = F20"
xmodmap -e "keycode 238 = F21"
xmodmap -e "keycode 239 = F22"
xmodmap -e "keycode 240 = F23"
xmodmap -e "keycode 241 = F24"
xmodmap -e "keycode 217 = Print"
xmodmap -e "keycode 9 = Escape 3270_Attn"
xmodmap -e "keycode  93 = cent bar"
xmodmap -e "keycode 175 = 3270_Record"
xmodmap -e "keycode 175 ="
xmodmap -e "keycode 247 = 3270_Play"
xmodmap -e "keycode 242 = Super_L"
xmodmap -e "keycode 248 = Multi_key"
xmodmap -e "keycode 243 = 3270_BackTab"
xmodmap -e "keycode 118 = Insert 3270_Duplicate"
xmodmap -e "keycode 112 = Prior 3270_Jump"
xmodmap -e "keycode 117 = Next 3270_Rule"

This results in a keyboard that more or less matches the key caps. For some of the blue symbols, you press the key in combination with shift.

The number pad could do with a little more attention in the realm of X-mapping, and there are a few blue symbols on the main qwerty pad that might be usefully mapped, but this is sufficient for my purposes.