Friday, February 27, 2015

Blind spot elimination side mirror adjustment

There is a newer side mirror adjustment to eliminate blind spot for a decade now. There is one guy who is very vocal against it. I'm sure if he is still that much against it or he just don't want to withdraw the articles he submitted to the internet.

I have this renewed interest because ... I'm horrified about the smallness of the new cars! Those two seaters shorter than a Mini! Horrible! And often those drivers have insufficient confidence who use others as a speedometer, by following you synchronously for miles at your traditional blind spot!

First, that guy assume that if you flip left and right, there is all that is to it. No. I have to go home daily on a 8 lane freeway / motorway after dust, in a traffic jam moving at over 80 miles per hour. I have to cut from the outermost lane 8 (carpool) to exit the freeway in about a mile. And many of the other "cars" are humv sized SUV's with bright LED's glaring into your side mirror. And they don't signal if they don't see the need to. When they signal, it means move over, I'm coming.

I drove on several continents and I experienced all the international aggressive, incompetent driving styles on my way home.

That guy is not comparing apple to apple, and piles up all the reasons he can think of to support himself. This is obvious when he's talking about backup! WTF! Now if somebody created an accident on the freeway, it's not just a bump on the door, but a pile up of biblical proportions at 80 MPH. Honestly, I didn't do parallel parking and not even reverse parking for so long that I think I will fail any test. If you really need the side mirror for perfect parking, fine, but who cares. The car is mostly stationary and you have all the time to look around 360 without the side mirror. If you hit anything, it will be just a scratch.

I don't think he got the geometry right. I was looking for more scientific and geometric explanations so as to set the side mirrors perfectly. But youtube users seemed to have done a better job. Anyway, the new blind spot is a narrow triangle with your side back door on one side and extruding to the other lane. In theory, a short motorbike can hide in that zone. But practically, being in that zone at high speed is a dead wish - extreme tail gating - and it doesn't depend on how your side mirrors are adjusted. If you want to pass right at the lane marking line, you would not stay on the dead zone and suddenly accelerate. 

If he wants to talk about human nature, I tell you what, my wife never use the side mirrors! And it's not just her. When driving tests are easy, the side effect is that you can pretend to check the blind spot without understanding what to look for. If you look over your shoulder without seeing anything the examiner will give you a tick.

I can assure you that many drivers turn their heads to make sure that they don't create an accident during lane change. That's not bad when there's plenty of space ahead. But the problem is that people don't signal when they see the lane is free to take. So when you do everything that's right, and in the middle of changing over, you will find that somebody in front of you is also moving over to the same lane from the other side, without signalling.

The traditional way isn't fool proof if you do everything right. There is the pillar blind spot between the rear and front side windows. Practically, you can only see clearly cars that pass your side rear door. Small cars can still hide in the blind spot without being detected.

The guy talked about different cars, trucks, vans. This is rubbish. I don't even see if the traditional way claims to be one size fit all. I can't say about trucks, but it is your responsibility to see if it works for your vehicle.

Yes, there are cheap blind spot elimination mirrors as add-ons. But the problem is, if you don't know how to set the side mirrors in any methodology, you are not going to be able to set these aids correctly, or even buy the right mirrors.

My wife will never let me see how she drives, to avoid me telling her what is the correct, safe way. She never adjust the side mirrors - she don't know how to and she don't use them anyway. You may wonder what her driving instructor taught her. I think if your student is a total failure, you may want to teach her something that she feels her money spent is worthwhile. She talked about how to claim the lane for herself out maneuvering other drivers, when she don't even know how to use the mirrors, admen.

Some people obviously don't really understanding the newer adjustments or they didn't even try. Basically, for the traditional method, looking over the shoulder is vague. How far back an angle you need? The newer method didn't claim that you don't need to look. A comfortable side glance over the shoulders guarantee that you won't miss anything. It makes the obvious more obvious. Hopefully my wife will notice something there even if she doesn't adjust the mirrors herself.

You can't change lanes using the side-mirror alone. But that's not wrong on the method itself, it's transitional.

I saw a cyclist who is very much against it because they are often hit by car doors. I would say it's a already problem with the old method. For the newer method, if you bother to look, and you can't see your side door, you will find a way like turning your head when the car is stationary. I don't see how you will want to over take a parked car along the curb. Any passenger may hit you. For the driver side doors, I always make sure they are not opened to the on coming traffic. Cars and cyclists are not any different. If you don't open the door all of a sudden, you should be able to catch anything moving with any proper adjustments.

That comes to the point of awareness all the time. The fact is, people often drive 4 hours or more at weekends, and over 7 hours on vacation. It's a good point but you can't expect everybody to do it all the time. And also the drivers who follow you at the blind spot so if the cops are catching speeders, they will not be the first.

As for motorists who can sneak around your car close at high speed, they already have a solution. 10 out of 10 have a exhaust louder than a siren. You just can't miss them.

Sunday, February 1, 2015

Parental control using DD-WRT

As I have told you last time, I switched back to DD-WRT. The reason is that it is easier to go back to, and you can flash other 3rd-party from there.

Before I went to another firmware, I thought over it carefully because ... DD-WRT just doesn't work for MAC filtering. I went back to the stock firmware but the IP phone went dead! I'm not going to waste my time.

Also I have a rather complicated (and cheap) setup, with a client bridge to increase range, a powerline network to penetrate the walls into the garage, and a 2nd old router to serve the corner rooms and use twice the bandwidth!

If I flash another firmware the IP phone may not work again so I linger on DD-WRT a bit. The main problem is that the officially recommended version for my router isn't recommended by the community. This is well known but I don't know. How can I know? This is horrible. There's no update all these years. Of course there's no motivation for the few guys in charge to update things several years old.

I flashed the community recommended version and the MAC worked. Then I looked a bit more if I can do parental control effectively. The stock firmware and all the others like Tomato have easier to use GUI I suppose. DD-WRT is basically a complicated list of things it can do.

But how do I know what to do? I only knows what I want - parental control. There are a lot of tutorials on the DD-WRT site but I guess no parental control. That's the problem. Parental control is actually complicated and open ended, so you have to know exactly what you want in order to have a chance of finding the tutorials you need.

First, everybody have a few devices. I thought of adding host names to MAC's before starting to manage them. But it can't be done, so I didn't even try to control anything for a long time. The stock firmware gave me the idea - to add hostname you need to do static IP address. In DD-WRT, I never got the idea of linking static IP to adding host name to MAC's.

I have a few static IP's but all are setup on the host side. It's rather different on the router side. Basically it can be still automatic (DHCP) but you can assign a static IP to any host MAC and label the host your way. You can mix the static and dynamic IP ranges. So if you just change the dynamic assigned IP to a static one, you got your host labelled. But this is not under the initial DHCP setup but under Services - DHCP Server - Static Leases. This should be under newbie tutorial otherwise how do I know? Depending on your browser, you just need to cut and paste around the MAC. It is easy to guess the few unknown IP's remaining by eliminating once host at a time. Before that, the fastest way seems to be looking at the MAC at the host, and type the full digits into the access control box. Terrible.

Now since you have static IP, so it is just easier to use static IP access control rather than the MAC.

Now parental control starts but never easy. You want kids to use OpenDNS and such, while parents have no limitations. But Google made it very simple to change DNS on Chromebooks. You can ban other servers but then it's very inconvenient when you want superuser global access on that machine, to download and install something for example. Also if kids know how to change DNS then they might know how to change IP's etc.

The basic need is to have one SSID for restricted access and another for non-restricted access. I saw this need time and time again but it's not a simple switch in DD-WRT. May be it should be.

Also, if kids suddenly finds that they suddenly need a banned website for homework, there should be a simple way to grant temporary access all by themselves over the phone, without needing someone to login to the router and run some commands. OpenDNS used to take forever for the rules to update. Now it says a few minutes but I doubt that. Immediate is better.

Interestingly, my stock firmware has one SSID and one extra for guest. DD-WRT can have as many virtual access point (SSID's) as you want.

Unfortunately for multiple SSID to work with different DNS, you need the terrible horrible iptable commands. They seldom work, particularly if the poster says "something like this".

The tutorial that works is called "Multiple WLAN" in the DD-WRT tutorials. Each SSID is a WLAN (or sort of), and if you don't install multiple of them, all the SSID's will be bundled on the same WLAN with the same DNS of course.

For DD-WRT, the interface vlan1 represents all the LAN sockets at the back of the router. (For older routers it may be called vlan0.) The eth1 interface is the physical access point (phyiscal SSID). Each additional virtual access point (additional SSID's) is given interfaces wl0.1, wl0.2, etc.

By default everything should be on the same network so vlan1 and eth1 are bridged into br0 interface. You can see this on Setup>Networking. So iptables won't work on individual interfaces since perhaps they are already bridged. Only the bridged interfaces will work. And when you separate the WLAN's (or the SSID's), the only easy way I see is using the DD-WRT GUI building new bridges. So everything will be bridged and there's no reason not to work on the bridged interfaces only.

The instructions for adding bridges are good and working. So I'll will skip and talk about the things you may need to do differently.  By default you have

192.168.1.1 (network)      br0 (bridged ) = vlan1 (ethernet connections ) + eth1 (wifi)

If you add more VAPs (SSIDs), it will be
192.168.1.1    br0 = vlan1 + eth1 + wl0.1 + wl0.2 + ...

For me all the shits already setup, with static IP's and such, went through wifi eth1. (Powerline adaptors, client bridge and repeater.) So for me it's easier to separate the only LAN connection, the PC. So the 1st bridge I created is:

192.168.2.1  br1 = vlan1
You can only take out one interface at a time unless perhaps using the commands. All the other interfaces will be left on br0.

I need one wifi VAP for adults, so
192.168.3.1 br2 = wl0.1

You may need another VAP for guests with different settings.

The iptable commands for forcing DNS works. You just need to pick the DNS address and bridge number. By default, hosts in different bridges (WLAN) cannot access each other. So I need to set br1 (my PC) to be able to access br0 (my router and all the shits). The iptable commands work, but cannot penetrate deep into the subnet br0 when I have client bridges, repeaters, and such.

Now when I need to give somebody unrestricted access, I can give them the password for a VAP without OpenDNS. I can take it back by simply changing the password, the SSID or deleting it.

Now for more parental control, I can restrict the host IP's with a time table, say no messaging on the phone after light out.

One more thing I wanted to do is to setup VPN on just one VAP. So I can switch VAP to get VPN instead of connecting and disconnecting the VPN server, that takes time. However, I find out that OpenVPN will be slow on the router just because the clock rate is a lot lower on the router. So it's not worth it.

But I wanted to protect my IP on the guest VAP. I can use a simple VPN as a proxy or full openvpn because speed is not important. Openvpn is always a little tricky. The servers may want to do it one way but the clients may do it differently. For example chromebook is seldom supported. Servers in the world are fairly standard but clients behave differently - Linux clients and Window clients are slightly but critically different on at least one point. It took me a while to figure out that servers push some options on clients but only works for Window clients.

DD-WRT is differently tricky so the instructions never works. Basically if the config files for Linux works it should work for DD-WRT. However, since you cannot store or edit the config files at will so you need DD-WRT to help write the config files. But DD-WRT's help is not direct edit at all. You can't add more options (in my newer version) or delete options that DD-WRT force you to. For example most servers use (and DD-WRT setup) key files to login but some use username and password. So everybody goes their own half way but do not meet up. It's a hindrance. If OPENVPN works with the right options, then there is the dreadful iptables that may or may not work.

Monday, January 26, 2015

DD-WRT overrated

DD-WRT was so overrated that when I replaced my broken wifi router I flashed with DD-WRT and hope to use the extra features one day. But just when I needed the features, they don't work or won't work out for me. I have been using DD for nothing.

DD may once been useful. The firmware is basically written by the chipset makers. A few manufacturers can save a lot without hiring firmware engineers by using DD-WRT. Range extenders and repeaters once cost more than a router. Now everybody can get a cheap personal one and set all they like. Depending on your hourly rate, it doesn't worth to tweak DD-WRT. Just buy the feature off the shelf. For the same reason, it isn't worthwhile to find good uses for old routers by putting DD in it.

Once manufacturers started to add non-router features into routers, because it's a low power, always-on internet device. This is not any more. People don't need file servers that much because of the cloud, like Dropbox and Google Drive. Also a router can't do encryption on the fly. Print server is absolutely obsolete because of Google Cloud Print. Once you can put a private digital telephone exchange into it. The only good reason is that you can have a free phone with Google Voice. Now that's gone. If you need a private exchange you better buy a different box and save yourself a lot of trouble. Also with Android stick computers, set top box, and internet ready low power device like Raspberry, it's hardly needed to get into the router for anything.

There are major disadvantages of DD. First, it can't catch up with chipset makers. There are only a few contributors to DD and they don't work together. A cost reduced new version of a well known router can use a totally different chipset and the DD guys need to take months to support it, if ever.

I never know the intended users of DD. It's absolutely not for home users though you may find something useful in it. Home users don' t need that much feature and they need easy UI to do it. System admins can't use it that much because if they make use of the wide array of features, finding support of it is a nightmare.

To be specific, if you use OpenDNS for parental control, you need to set the DNS servers and then add a command elsewhere. So I never have control until I just happened to discover that I can access to any URL I wanted on my kids computer.

Even a couple of years ago parental control on stock firmware became easy to use. You can find the MAC from current connections, give it a name and then set restrictions. You never need to look at the MAC on the device, nor type the MAC. And it easy to change since you can recognize the name instead of the MAC. The so called "simpler" DD-WRT alternatives such as Tomato all have that. As a home router you must have parental control and must make sure that average parents know how to set it with ease.

Version control of DD is a nightmare. No body cares what the features are. They only care about their router model. Instead of listing by models, they list by build. You can't just buy a router and look up the version for it. Each router have a recommended firmware version for it but it's so outdated that the recommendation is not recommended.

For the same reason, each version/build have a feature matrix like 10x10. The only reason for that is because the memory size of routers are limited and vary greatly across manufacturers. So for the smaller size routers you have about 10 versions to pick depending what feature you want. Again if you list the versions suitable for a specific router life will be easier.

The recommended version for your router isn't recommended, that is not the worse. The worse is that it doesn't work. I set up a MAC filter restriction and it doesn't do anything. So I doubt if it actually block all the protocols it claimed, or anything it claimed.

For my story, I flashed DD to the new and old router. All is good because I don't need much. At the time I think I may add a PBX, file server and BT down loader. Also print server. Then I find out that actually the huge firmware that I flashed still can't do the job. I need optional extras. The situation is far far worse than DD-WRT itself. There's is the right way, and the right way take two. And then you need older USB drives formatted exclusively for Linux. Nothing make sense for me so I didn't do anything. Just brought an overpriced older router for nothing.

But then it work well and so I though I can get extra old router for a few dollars and use up all the bandwidth and channels around my spacious house and yard with few neighbours. But then the same old router I brought has a different chipset than the one I have, and it has so small memory that DD-WRT can't even load on it. Nothing else can flash into it, except for a pure command interface.

Finally I need to setup parental control, then I found out that the official recommended build doesn't work. Some say that MAC isn't reliable and some say that any other build should work. So after careful research, I decided to go with an improved version of the stock router firmware.

It's easy to flash. The UI is so much nicer, and the parental control is so much easier without typing the MAC. The problem is, my IP phone can't stay register for long, meaning that I have no phone. My phone is connected to a wireless bridge, and there are a lot of other things connected to it too.

So I don't trust any improvements by outsiders. I revered to the stock firmware and it's easy. But then the same situation happens. "Features" on the stock firmware got copied to the "improved" version.

Then I decided to try Tomato. They are actually not simpler, but feature rich command line openwrt plus UI from the stock firmware. Then I found out that you have to use Windows utility to flash it. Then I found out that it's easier to flash DD-WRT first and "upgrade" flash again to Tomato.

Then I decided to give DD-WRT another try and find out the actually recommended build. The flashing procedure don't work seamlessly. After almost bricking the thing, I succeed in having DD again, thought a slightly later version. The phone works again.

The MAC restriction works but then those connections coming across the bridge doesn't. Because the router don't see the original MAC. I can set the MAC restriction on the endpoint, the wireless access point that is just an old router. But this router can't give out IP's so it doesn't work for the MAC too. Hard luck.

I can try something else like openwrt with other UI's. But I think they will be the same for the MAC filter and my phone may not work again.

Now I have to rethink it again. The main thing is that repeaters can half the bandwidth and it doesn't work well across multiple walls. Dual band may be easier to partition but higher frequency band have less range. Increase the power or a larger antenna is out of the question because of health concerns. Power is measured in log scale. You have to double the power to have some effect and 10 times is noticeable. Also, sometimes reducing the power works better because of multi path interference indoors. Those powerline extenders is good for penetrating walls but they are less stable unless you never use those electrical sockets.

Wednesday, December 17, 2014

Ubuntu 14.04 on C720 Chromebook

I'm so ahead of time. Now almost all student have a google account in the cloud and they are all using chrome. And it make no sense to buy anything else other than a chromebook. For a while the C720 falls to $150, amazing! What are you going to do with a pad if you are to type an essay?

The C720 Chromebook is the 1st netbook that worked 100% (well, almost, after patches) for Linux, that doesn't rip you off.

To install full Ubuntu on C720, follow the instructions for installing Chrubuntu. It doesn't matter if it's not most up to date. It's like full Ubuntu so you can update from the official Ubuntu depositories. This is dual boot with ChromeOS so leave a few gigabytes for it. It's worth it.

When you see the warning screen, Ctrl-L to boot into Ubuntu. It takes a while to boot probably because of some IO errors. The screen will probably be blank most of the time.  Also, the touchpad isn't likely to work.

I would use the terminal, Ctrl-Alt-T, to update Ubuntu first. I'll upgrade it to 14.04 or higher via commands. I've been using 12 and 13 with no problems. But you are to upgrade the kernel so use the latest version if possible.

Next upgrade the kernel to 3.17 and follow the few command line instructions from the man, the Linux inventor. The command "uname -a" should give you the kernel version. 14.04 use an earlier version than 3.17. Reboot and the touch pad should now work.

Now google and follow the Mike Lin fix for the suspend mode (05_sound file). I think the problem arise from I/O so the patch corrects a few things. For one the chromebook boot better or even normally.

Then set the warning screen to 2 secs without beeping. So kids can still use Chrome OS by default.

http://johnlewis.ie/neutering-the-developer-mode-screen-on-your-chromebook/

Now I'm keeping Chrome OS because things like scrapbook and zetoro are not in the cloud without paying. Dropbox is the obvious solution. But I might be able to do everything in Google Drive for free, and hopefully cheaper than dropbox when the time comes when I have to pay. If I need disk space it will be for media and an external drive is what I need anyway. VPN works decently with a visual feedback when it's connected. It's just not openvpn yet.

I need Ubuntu for encrypting external drive. It's a pity as both OS use the same software. There's just no apps for it in Chrome.

Tuesday, August 12, 2014

Ruby versus Python - a programmer's choice

If you regard or call yourself a "programmer", the obvious choice is Ruby. If you spent an hour looking at both languages totally new to you, and you cannot tell which is better, I can assure you that Ruby got there first at two of the biggest things now, Ruby on Rail, and Chef/Puppet. Python is just playing catch up and doesn't seem to catch on. Would you ask yourself why?

The most important thing is programmer productivity. An early airline reservation system shared their experience that they are the early developers, with how many mega lines of Lisp code written by few programmers. Provided these guys are not static, there's no way other developers can catch up. If you are one many year ahead, others will always lag you by one year. If they throw in 12 man for one month, there will certainly be a disaster. When your product get to maturity, there's just no need for another similar product.

Many of the arguments and comparisons are irrelevant to "programmers". Ruby code can make your eyes bleed more. I agree but bad programming practice is a personal choice. Ruby is as object oriented and as functional as anybody else. There's no inherently obstacle to readability and maintainability. Perl is still alive and so are it's generation of system admins. If they want to write Ruby in Perl style that is a personal choice.

Most of the time veteran programmers and contractors deliberately make their code impossible to maintain by others so as to secure their job and status. This is hard to avoid but management would prefer something with more inherent restrictions. The majority of companies are not startups that need productivity and creativity.

Python has a lot more mature libraries. It's because Python was supposed to be a better Shell in it's early days. If you can't rewrite those things you need in Ruby you have no choice. If you have to learn you can always learn Ruby on the side or later.

I read about that most libraries in the scientific community are written in Python. That's true and I regard myself in the scientific/engineering community, but screw them. Many will be happy to use Fortran if Microsoft still let them. Since nobody let them they move on to Matlab.

Trust me, I had the privilege to help a professor who dug up a ancient dialect of Fortran program to interpret the moon's surface data using dot matrix printer. I knew too much Fortran than I would like to admit because I had failed to convert a few critical "routine", but utterly incomprehensible, to C or preferably C++. I managed to fix the dialect and get the programming running in a single lab lesson, which is a miracle to me. I even get to view a little of the moon's surface on a dot matrix printer!

I had little idea why that somebody in that community can write huge incomprehensible and eye bleeding programs. That's just me, from my viewpoint. They seems to enjoy it. But if you talk with them about objects, class, functions (as in functional program), they would walk away. Some C programmers challenge every C++ thing I made creeping into their system even though the compiler have no problem with it and they don't need to know. Most of them are commented out test code anyway.

Professors are wary that students run into bad program practice if the language lets them. Students are wary if the language is good enough. Nobody uses Pascal. There's no harm to teach or learn it, but ..., nobody ever uses Pascal. If you are a professor, you should be able to turn the disadvantage of an imperfect language into an advantage, of teaching. If you are a student that worry about learning bad programming practices, you should not learn anything on your own.

Many people worry about feature rich languages. If they come across something that they don't know, they will freak out. They cannot say they are competent in that language. A programmer will have no problem if you yourself are the only one that you answer for.

Every time you want something for yourself, somebody else will shoot you down one way or another. What about the runtime efficiency? Java didn't apologize for it and got compilers for it. Now Java became the "efficient" language to write compilers for others like Ruby.

C++ is the first language available on most computers that allows painless writing and using of "libraries" on anything. MS screwed it up. They are more happy to sell you visual basics and they charge you dearly for whatever language you use. Unix screwed it up. Even the compilers have no problem with it, the graphical system community soldiered on C way much longer.

Java is very limited as a general purpose language as compared to C++. For one there's no operator definition when the Math (not Mathlab) community uses it since ancient times. Not to mention the lack of overloading.

Nowadays you should enjoy the chance to open up any browser on any computer to learn and use a pretty object oriented language - Javascript, totally free. Ruby is even better outside the browser with all types of system, graphical and web related things.

Wednesday, April 16, 2014

The 2048 game should be renamed to 4096

Yes, it was quite addictive and a good way to spend time waiting. But soon, after a day or two, I won - getting a 2048 square . I tested my strategy and soon it was obvious that it's pretty easy if you have the right simple strategy. A day or two more I got 4096 and my personal high score to date is 45184.

I don't think I'll be addicted to it anymore because it's too easy.  And once you get to 4096, there's not a lot of difference to get to 8192. But I'm not too interested to find out, unless there's a new SAVE feature so I don't need to start fresh every time from 2.

The strategy is simply to keep the largest square at the corner, with decreasing value outwards.  For example, at the bottom of the board, you should have:

128 64 32 16

You don't want to move the corner 128 to the right or up. If you keep the 4 squares occupied all the time, the bottom row  can't shift right. And you never need to shift the row up if they are the largest numbers.

You keep the largest squares at bottom and at left when you grow the numbers.  And always target the smallest square 1st at bottom. In this case if you get another 16 over the 16 at right bottom, you immediately carry on to get 256 at the left corner.

Things are seldom ideal. But still you target the smallest at bottom and they will be improved.

Also you never put a bigger number on top of a smaller number. They will happen from time to time but this is the 1st you have to deal with.

That's about it.

Tuesday, April 8, 2014

XP going strong

Windows 3 starts to be useful, when you can start ditching DOS. Widows 95 is the 1st usable GUI OS. People keep reminding people that OS is just for loading applications. I'm 8/10 in that camp. For this reason I resisted upgrade until Windows XP. I built my own PC mostly so I have to pay extra for the OS if I want to upgrade it too.

I upgraded to XP for several reasons. It came out about 2001 so my 6 year old OS seems to be ancient at the time. XP merged the corporate/business NT line and the home user line 9x into one. It's a lot more usable, reliable and powerful, than W95 that is. I pay the OEM price for just the software so it's not a big deal. I said at the time just the bundled windows movie maker worth the price, providing a usable movie editor. My comment answers somebody asking should I upgrade. If you have doubts and have to ask, you don't need to.

And then it's same old same old. I was happy with XP. Even when I got the netbook with Windows 7, it's full of bulk ware and very slow. I saw no need to upgrade.

In 2011, I decided to move on to Ubuntu all the way. I played with Linux/Ubuntu for a couple of years via dual boot. Before that, I couldn't do without XP for proxies, VPN, encryption and such. Soon after I'm 100% Ubuntu with upgrades per 6 month. I need to go to XP very rarely. One XP only app is car diagnosis with adaptor, and the other is a cheap Fax modem just in case I need to send legally recognized documents fast. I still need them but they are compatible to W7 I think.

The problem of Ubuntu is that they are going the way of Macs, while the others are not that well supported without a profitable company behind it.

I brought Chromebook for my wife and kids so I don't need to do backup. (I never do much anyway.) I ended up using a lot myself. It's a lot faster than most of my computers. I "built" my last fast computer for video recoding and editing. There's no need for it anymore because people only capture short clips in standard formats.

Now you can't do a lot of things on Chromebook but ideal for wife and kids. They were using LibreOffice anyway. Using Google "Office" is a step "forward" without the need for saving. For me it's a super Linux machine with all the hardware compatibility problem solved because Chrome OS is Linux and all the hardware drivers are compatible with other Linux.

When I revisited my old XP boot partition, I'm surprised it's so fast. Much faster than Ubuntu now and comparable to the basic Chrome book on an ancient machine with rotating disks! I should do this more often. 

The free anti-virus software installed is still going strong. They are still near the top at industry performances. Though one of them seems to be giving up XP gradually, and falling down the charts.

I installed the British Comodo firewall to be paranoid. I need that hopefully to detect irregular activities on the computer. My model is that someone may have gained access to my computer and installed something to monitor me. They may sent information back to headquarter on a very low frequency so it's hard to detect. Comodo is doing well and got a lot bigger now. But they still are not too good for anti-virus so  can't have just one malware software.

Again, booting XP is a lot faster than Ubuntu and loading firefox there is a lot faster too. Should do it more often.