Tuesday, December 18, 2012

Killing the mouse with firefox

As part of a 10-foot experiment, I decided to use only a keyboard. 
I'm currently on Ubuntu 12.04. 

To use your computer efficiently from a distance, you will need a complete wireless keyboard with arrows and numerical pad. If it even has an included mouse it may help you to start and in some circumstances (like controlling some javascript buttons) but it is counterproductive in general.

I recommend you install firefox with the following add-ins : 

-AddBlock Plus (nothing more painful than a blinking add on your fullscreen TV with sound)

-Custom New Tab (so that the focus is not lost when you create a new tab)

-Stylish (so that you can install a style to remove the scrollbars (totally hide scrollbars) as they would now be useless)

-Vimperator (it will take a little time to get use to it except if you are a vim fan but it will allow you to easily follow links)

In firefox check that the option : Display, Zoom, Zoom Text-Only is disabled, it gives poor results when you need to often zoom in and out like you will in a 10-foot experiment.

Useful key for Vimperator : Insert : toggle vimperator
                                                  f : show hints to follow

Useful shortcut to learn for firefox : zoom-in (Ctrl + "+"), zoom-out (Ctrl + "-"), back (alt + left); forward (alt + right), home (alt + home), arrows, new tab (Ctrl + t), rotate tabs (Ctrl + tab), fullscreen F11

There probably exist a plugin to be able to use Vimperator to launch flash video but I have not yet found it.

Choosing a new computer

My computer, a mid-high range laptop from early 2009, was quite old, and couldn't handle the work he was required to do. So I needed a new computer. Choosing a new computer is somehow quite a strategic move. I could go a few different ways. I will here try to explain my reasoning.

First I could follow the consumer trend and go tablet, keyboard, cloud. The plan is renting a dedicated machine for 45$ a month, to have high bandwidth and a non restrictive computer remotely controlled by a cheap tablet when need be.

This solution has the advantage of being able to be fully mobile and quite cheap. The main inconvenient is that this solution is still restrictive, and require lot of work to do natural things. Mobile platforms like iOS or Android are quite restrictive by default. The second non negligible inconvenient is that I lost control over my computing and my data. Third inconvenient is that I lose the ability to play powerful games mainly for latency issues (though it should change in the future when higher bandwidth network will be available).

Second I could go the laptop way. It's the old fashion choice. I guess it's quite OK, but rather expensive. It's expensive because computer seller would rather sell you some tablets, so laptops are becoming more expensive. Would have I selected this option, I would have chosen a Retina Mac Book pro, mainly for the display. But it's very expensive and the disk is so small, it cannot handle a correct triple boot computer.

Third choice, and the one I have selected, is to have a home desktop computer, for use as a home server. If you buy it from distributors, it's quite expansive because they take such a large margin to compensate for the lost market due to the arrival of tablets. But if you assemble your computer from new computer parts, and that's so easy for anyone, it's really cheap (less than 1000$), powerful (4 core, 8thread @ 3.5Ghz, 16Go Ram, 3 To hard disk), and customizable. Concerning display, you can use the living room TV screen, to enjoy a 10 foot-experience, raspberry-pi for display on any screen, and remoting with Splashtop for a fully mobile tablet screen experience.

This third option is I believe the smartest choice for about any home computing need, it will allow efficient use of both tablets, and clouds.





Splashtop

Splashtop initiates the new generation of remoting. It's like VNC but with sound, and so much faster with such a low latency that you can even play video games. VNC should have evolved this way long ago.

This a partially closed source shareware which is its main problem especially with regards to security. It is designed so that you can use your tablet as a screen to your computer.

It still misses a lot of platforms but it is currently rapidly evolving over the course of a few months.

Inconvenient : you need a SplashTop account which you can currently only create with the use of a tablet.

My current tests : streamer (beta) on Ubuntu, client on android iconia tab over a wifi local network.
Positive points : -Impressive performance
                          -Very responsive.
Negative points : -usb keyboard by default only partially supported (although it maybe because of the tablet) ; in particular the navigation keys (which are supported through VNC on the same tablet)
                            -real mouse supported in an unintuitive fashion.
                          -Stability problems (but it's only beta), if you don't have a fix ip, it will not work for a long time, you will lost connection without being able to reconnect. Some keyboard input on the client make the streamer crash. It crashed 3 times in 30 minutes. It sometimes even crash the unity desktop when used in conjunction with x11vncserver. 

Assemble your computer

This is the smart thing to do when it comes to computers. You have to assemble them yourself. It's fast, easy and will save you thousands of dollars. Simple how to :
(Browse http://www.rue-montgallet.com/ to easily filter components)

1) Choose your processor brand : mainly Intel or Amd
This is a personal choice though Intel have easier to find linux drivers, and are the only way to go for hackintosh.

2) Choose your processor according to your budget and computer need. The best computer power per $ is around a 350$ processor. Each processor has a specific "Socket" that will allow to interface with the motherboard. For example for Intel i7 3770K the socket is 1155.

3) Choose the form factor of your computer. Should it be small or big. Should it possible to add lots of cards in it. What your computer should look like. For example if you want a small computer you can choose the mini-ITX format.

4) Choose the mother board : It must have a compatible socket, and a compatible format, and a compatible chipset. The mother board is what will allow you to connect your computer to the world, so choose one with the functionality you need (like hdmi output, wifi, bluetooth, pci16x ports, usb3). It will have a ram specification frequency and maximum ram memory. And an hard drive format.

5) Choose the ram, with a compatible frequency in the allowed sized range, Most important criterion is size, then frequency, higher frequency ram is faster but more expensive per dollar, and the best speed / $ is for ram around 1600Mhz.

6) Choose your disk. Solid State Drives are silent and fast but small, ideal for system disks. Hard-drive are bigger but noisy and slow.

7) Optionally, if neither your processor or mother board has a graphical unit, you will need a graphic card. Choose one that will interface with the mother board. Check the compatibility on-line on the graphic card manufacturer site.

8) Choose the power block and box.
Should be compatible with the mother board format. It will contribute a lot to the noise level of the computer. Should be able to provide enough power. If you don't use a graphic card, and don't use a lot of power, use a mini-itx format you can use a silent small power source from mini-box.

My configuration : 680€ all tax included (less than 1000$), in France, probably cheaper in the US.

Processor : Intel i7 3770k (4 cores - 8 threads @ 3.5Ghz overclockable up to 5Ghz with water-cooling)

Motherboard : Gigabyte Z77N-wifi It has the mini-ITX format, dual Gigabyte, dual HDMI, usb 3.0, 2 sata III ports, one pci 16x port, wifi, bluetooth. (This mother board is a really good bargain)

Memory : Kingston 1600Mhz 16Go

Hard-drive : Baracuda 3To 7500rpm (quite silent)

Box : Elite Advanced 120 (quite silent), mini itx could have a much more smaller box, but this one allow for about any graphic card.

Power : Be quiet 480 W (quite noisy) but I will soon buy picoPSU-160-XT from minibox so that it become more silent

Graphic card : None

Display : Any recent Tv, although you will need a DVI monitor to access BIOS if it does not recognize your TV.

Operating System : Tested on Ubuntu 12.04 fully operational. Should work on Windows 8. Should work for hackintosh except for the integrated wifi.
Please do not install Ubuntu 12.10, it is spy-ware.

Assembly in 30 minutes with experience and 4 hour with no experience including time to watch youtube video to learn how to assemble the pc, or reading the motherboard manual.
First elementary rule to follow to avoid frying a component : always plug off your computer when you insert or remove parts or components.

Second elementary rule : don't panic; there is no need to. Double-check when in doubt. Computer parts are quite robust (much more than you think), but yet avoid putting your finger on the processor connectors.

For the first boot you will need a bootable usb key which you can create with linux live usb key creator, or a windows 8 usb key which you can create via the microsoft site. You then just have to follow on-screen instructions.