Skip to content


A few “close enough” unlimited “cloud” storage solutions

There’s no such thing as unlimited or infinite. When you read the fine prints, you always manage to find out a limit. When you’re lucky, it’s close enough to really unlimited. When you’re not, you’ve wasted time (and sometimes money) on a deceiving offer. And some other time, the limit is so unrealistically high that the service is destined to doom.

Getting realistic: the real limits

1. The fine prints

For instance, I remember this now defunct offer that used to limit “fair use” to “maximum 2 billion files and 10TB per file”. Okay, that’s more than close enough to really unlimited, but it doesn’t take a genius to see those conditions will have to change if the company wants to survive. The question being, how much will customers get screwed in the process? (aka how far from unlimited will the new TOS be?) To sum this up: “unlimited” only means you’ll have to dig up into the fine prints to see the real limits and what they’re worth to you. No fine prints about the limits or insane limits in the fine prints means you’re gambling the future of your storage: when the company realizes the limits are unsustainable, how much will they cripple their offer? (hint: usually, they go back to severely limited offers – the “10 TB per file” company I mentioned at the beginning of this paragraph has doubled its price and limited the total storage space to 2 TB, and then added an option at 60€/month per extra TB – or more precisely, 0.06€/month/GB: if you had one single 10TB file, it will now cost you an unlikely 519.99€ per month, excluding VAT).

2. The backup trick

Unlimited/unmetered storage also has a big particularity compared to, say, unmetered bandwidth: there is a way for the provider to impose a limit without enforcing it. And this is how most “unlimited backups” are very limited indeed. The method? Well, backup means they sync your local folders with their remote servers. So you can only backup files which also are on your computer. So, you are limited by the space on your computer, which usually means not much more than 2TiB. Some allow you to backup several computers, but that’s still limited. Some also allow you to backup external drives and NAS, but usually this comes with a extra fee and it’s not always very clear what those “backups” become if you don’t plug your hard drive for a long while, or if you switch between several external HDs, etc. Probably not recommended. And limited in space as well as in convenience!

What to look for

So, those are the 2 things to consider: the fine prints to check the real limits, and whether or not it’s a simple “backup” or a real “upload what you want” solution. I’ll ignore encryption because I’ll be using encryption on my side, possibly with Boxcryptor or with GnuPG. I want FTP (or, better, SFTP) access, but I won’t exclude services without FTP from the list, though. Without further ado, here is the list of what’s left of the services listed on onlinebackupreviews once I ran them through this filter. In order not to have only one survivor in the list, I also kept 2 unlimited solutions with no findable fine prints but that seemed a little bit established (one has been running for about a year and a half, the other had previous limited offers before launching the unlimited version in January 2013).

And the winner is…

After 3 unlucky tries with unlimited services (Foreversafe, Onlinestoragesolution, OVH’s hubiC), and a fourth (iKeepinCloud) in progress (we’ll soon see where this goes), I’m not willing to try yet another soon-to-change pseudo-unlimited service. So, for me the winner seems to be: LiveDrive (full disclosure: this is an affiliate link – but I don’t earn anything if you don’t buy, so just check out the free trial and then decide if that was indeed a good plan :) ).

Okay, they’re not unlimited. But, they’re close enough. They have the infamous limited “unlimited backup” (although the “Briefcase” offer doesn’t have it), they offer a limited (but fairly large) cloud storage of 2TB or 5TB depending on the offer, and you can add more TB at around 6€/month/TB. The 5 TB offer is at 17€/month if you pay monthly, or 168€ for a year, or 312€ for 2 years. All in all, this seems both very sustainable and not too expensive, if prices don’t skyrocket unexpectedly in the future. They provide FTP access (only with the 5TB offer, or with the business offer), and a free 14 days trial version (no credit card required, just full name and email and you’re good to go). Uploads and downloads are both very fast (I maxed out my 100Mbps uplink and my 100Mbps download too, although I didn’t test the latter on a very extended duration). The only little weaknesses of this service are the price of extra TBs, about double the price of the TBs included in the starting quota, and the lack of SFTP support. Maybe that’s something for future evolutions, though? ;)

Another option could be Bitcasa. 10$/month, unlimited but with no fine prints about storage capacity. Yet they’ve been running for over a year and a half, I believe, and they don’t seem to be in trouble (yet). Some catches, though: no FTP access, and a reportedly not too efficient client (plus apparently some memory leaks at the moment).

Finally, there is Opendrive. 10$/month too, unlimited and again with no fine prints about storage. They’ve been running as unlimited for shorter than Bitcasa, but were running as limited before. They don’t provide FTP support either.

Posted in Internet.


How to compile (and install) the latest Linux kernel for an OVH server

Not a step by step tutorial this time, because if you can’t figure it out with those pointers probably you shouldn’t be compiling your own kernel anyway. Using Debian 7 here. And (obviously) kernel 3.9.2. Change numbers if appropriate, of course.
Edit: on Debian 6, you’ll need to install package lzma first. And maybe to move around bzImage (cf later) yourself, although I’m not sure this is really necessary.

First install the required compilation stuff:
apt-get install gcc make

Grab the kernel sources from https://www.kernel.org/. Last time I tried, Debian didn’t like the HTTPS certificate so I had to download from the FTP (for instance kernel 3.9.2 is there: ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.9.2.tar.bz2).
wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.9.2.tar.bz2

Grab the config file from OVH. It should prevent you from making stupid choices when configuring. There are a few different ones to choose from, on a dedicated server you’ll probably want ftp://ftp.ovh.net/made-in-ovh/bzImage/3.8.13-2/config-3.8.13-xxxx-grs-ipv6-64 (but if you want to pick others, just browse the folder, they’re all here).
On a side note, the config file from your distribution should be in /boot/ (for me it was /boot/config-3.2.0-4-amd64). If you’re on OVH, their config file is most likely much more appropriate, but if you’re elsewhere, the config file they left you here is probably your best option.

Pretty self-explanatory steps then:
tar xf linux-3.9.2.tar.bz2
cd linux-3.9.2
wget ftp://ftp.ovh.net/made-in-ovh/bzImage/3.8.13-2/config-3.8.13-xxxx-grs-ipv6-64

Now in order to use the custom config, simply copy it to linux-3.9.2/.config:
cp config-3.8.13-xxxx-grs-ipv6-64 .config

That’s about it. Now you can just run make or make bzImage (but before that, maybe you’ll want to run make dep to check for missing dependencies – which I didn’t, with no issue). It will still ask a bunch of questions the first time. I started by reviewing them, then got bored and just went ahead accepting default choices, which seemed globally good (most of them default to “No”, so rushing there shouldn’t cause to much junk).

It may take a little while (say, about 15-20 minutes on a cheap dedicated server – by this I mean, some dual core better than an Atom or Celeron).

When it’s done, you need to grab linux-3.9.2/arch/x86/boot/bzImage, which is the kernel, and linux-3.9.2/System.map, which is some mysterious kernel symbol table. Although this is probably enough for OpenSUSE (I didn’t check, but that’s all I could find in the /boot folder of my OpenSUSE installation), on Debian you’ll probably also need linux-3.9.2/vmlinux. Just copy them into /boot. For the sake of clarity, maybe rename them to bzImage-3.9.2 and System.map-3.9.2.
Actually, no need for this manual mayhem. Just run make install and all needed files should go to their rightful place (notably the initrd.img file which i wasn’t able to find). Doing so will even run update-grub, so basically you’re then ready for reboot (disclaimer: if it fails, I’m not responsible, this is a tutorial for experimenting, not for production).

(!) OVH only: if you had your server configured to use the OVH kernel, you may need to go to /etc/grub.d and then rename 06_OVHkernel to, for instance 16_OVHkernel (it should start with a number higher than 10 and lower than 20), otherwise priority will be given to the OVH kernel instead of yours. Then run update-grub (or grub-mkconfig) again.

Don’t forget to make a copy of your updated .config file. When the time comes to install the next version, it will save you some time to start from this updated version rather than from your previous version!

Bonus: you can create your very own kernel version by editing CONFIG_LOCALVERSION in .config ;)

Sources:

Update (2013-05-21): due to some pretty severe bug, this will probably fail at make install (or update-bootloader) on OpenSUSE 12.2 and 12.3.

Posted in Linux, servers.


More drivers for the Schenker XMG P702 notebook

A few months ago, I bought a Schenker XMG P702 laptop, which I chose because of the highly (for a laptop, at least) configurable build. They also provide a nice download area for drivers and tools, at least if a bit of German here and there doesn’t scare you. But some of the downloads are not updated very regularly, so here are some links to manfacturer-provided downloads

Also links to ATI Mobility Radeon drivers obtainer via URL manipulation (last time I tried, the AMD downloader wouldn’t let me download the drivers, claiming they don’t support my laptop, although they do):
13-1_mobility_vista_win7_win8_64_dd_ccc_whql.exe (Mobility Catalyst 13.1 for Windows Vista/7/8
13-4_mobility_vista_win7_win8_64_dd_ccc_whql.exe (Mobility Catalyst 13.4 for Windows Vista/7/8 (NB: version 13.2 and 13.3 never left beta and those I tried did NOT work with the 7970M)

Last but not least, if you want to update your BIOS, you’ll need to create a DOS boot USB stick. Fortunately, Schenker provides a package (with English instructions, don’t worry ;) ) to create such a stick: on the download page go to _Sonstiges → Tools → Bootstick.zip. As usual, you’ll need an empty USB key to use it (it’s all pretty small, so any very old 32+ MiB key should do the trick).
I flashed my BIOS recently using this tool (and the BIOS files provided in the appropriate P702 folder). Make sure you do read all the instructions and follow them to the letter. Compared to all the BIOS flashes I had performed before, this one is much, much weirder, involving a lot of (automated/forced) reboots and a tool messing up the CPU fan settings (I think it ran at 100% during the whole procedure – only at the last reboot it went back to normal). Plan about 15 minutes for all the operations (that’s about the time it took me from when I left my Windows desktop to when I was able to load it again).

Posted in drivers, Schenker XMG P702.


R: how to sort a vector according to another

As usual, it’s always what seems to be the simplest operations which turn out the hardest to implement in R (although usually once you’ve figured it out it’s a one-liner or something ;) ). Sorting a vector based on the values of another vector is no exception to this.
There is a nice post on stackoverflow on how sort a vector so that values are reorganized in a specified order (that order being specified via another vector), here I just wanted to sort vector x according to the order of values in vector y. It took a bit of thinking, but once it’s been sorted out I think the code is pretty self-explanatory (and if it’s not, just run it step by step to make it easier):

> set.seed(1);
> x=runif(10);
> x;
[1] 0.26550866 0.37212390 0.57285336 0.90820779 0.20168193 0.89838968 0.94467527 0.66079779 0.62911404 0.06178627
> y=(10:1)*2;
> y;
[1] 20 18 16 14 12 10 8 6 4 2
> x[order(y)]
[1] 0.06178627 0.62911404 0.66079779 0.94467527 0.89838968 0.20168193 0.90820779 0.57285336 0.37212390 0.26550866

As a bonus, not that sort(x) and x[order(x)] give equivalent results.

Posted in R (R-project).


How to specify signature level in OpenPGP

I always misplace this information, so I’m saving it here for (hopefully) easier access next time. By default, gpg will sign keys without specifying a certification level (ie it will set it to 0, which means unspecified). If you want to change this behavior, you can add ask-cert-level in the configuration file (gpg.conf, I don’t know where it’s hidden in Windows…), or more simply launch gpg with the --ask-cert-level parameter. Note that this must be specified before the --edit-key parameter, like:
gpg --ask-cert-level --edit-key 18bea442
Then simply type sign, and before signing gpg will first ask you for the signature level that you want to use. As a reminder:

  • 0 = unspecified
  • 1 = no verification – I use this one only locally, when I haven’t seen any ID but need the key to be signed for convenience
  • 2 = casual verification – I use this one when I’ve checked some official ID but don’t know the person otherwise
  • 3 = extensive verification – I only use this one when I’ve checked some official ID and personally know the person to some extent

Posted in cryptography.


Today is day against DRM 2013

Today (May 3rd) is this year’s day against DRM. I already (tried to) briefly explain the concept of DRMs and why they’re bad two years ago, on day against DRM 2011, so this time I’ll try to cover how to fight them.

First, you can spread the word. If you happen to be a blogger or journalist, the greatest thing to do would be to write about it. But even if you’re not, you’re in charge to create the buzz: share a link for instance to http://www.defectivebydesign.org/dayagainstdrm/, http://libreplanet.org/wiki/Group:DefectiveByDesign/Day_Against_DRM_2013 or http://www.drm.info on Twitter, Facebook, reddit, Identi.ca, etc. You could also share a banner or poster on Pinterest and such.

If you’re motivated to spend some $$ on it, you can even get the t-shirt and play the anti-DRM sandwitchman ;)

Then, you can support organizations campaining against DRMs. Of course, you can do so financially (cf the links I suggested in the second paragraph, most have a donation page a few clicks away), but also just be signing to show your support, for instance to support the Free Software Foundation Europe (FSFE), which maintains drm.info: it’s important for them to be able to show they have a large number of supporters, so even if you don’t donate anything your signature matters (NB: their privacy policy is good, they don’t share your name, they only use it to publish the total number of supporters).

And finally, you can… vote. And no need to vote for the Pirate Party, just vote for or against brands. It’s voting day almost every day: you can vote with your money, simply by not buying DRM-impaired stuff. I have to admit I’m not very up-to-date on what not to buy, since I’m not much into portable devices (such as Kindles…) and already using mostly free software (like, LibreOffice instead of MS Office). But you get the idea: before buying something, check whether or not it comes with DRMs, and if it does, try to find an alternative. You’ll be surprised by how often it’s actually quite easy to find a DRM-free alternative, except maybe for games or very specialized software.

Well, that’s all I guess, for this year at least. The list is likely quite incomplete, but that’s already a fair amount of things to do. It may sound tedious, and if it does, well just focus on a thing or two, it’s still better than nothing ;)

Posted in digital rights and DRMs.


A year with Flagcounter

About a year ago, I stumbled upon a nice looking visit counter on some site, which would show visits by country and keep a public record of how many visitors per country a site get. I quickly decided to add it to this notepad, because I felt that, unlike other counters, this one showed funny trivia instead of an unpersonal number. A year and a day later (yeah, was too busy yesterday so I missed the real anniversary), let’s make a summary of all the visits :)

In total, there were 276,894 unique visitors, from 208 countries. The top 10 countries by unique visitors is as follow:
1. United States – 31,156 visitors (among which 6,113 from California and 2053 from both Texas and New York, and on the other end, only 24 from both Wyoming and South Dakota)
2. Germany – 17,092
3. France – 9,808
4. United Kingdom – 8,460
5. Italy – 6,761
6. Poland – 6,741
7. India – 5,468
8. Canada – 5,226
9. Russia – 5,208
10. Brazil – 4,993

This site is in a large majority written in English, with some French posts here and there (some of which pretty high traffic), and has been hosted majoritarily in Germany (around Berlin I think, I moved it back to France some months ago).

It’s interesting to notice that not so many visitors come from English-speaking countries. Not sure if this means that search engines tend to suggest contents in English even to those searching in their native language, or that people search in English more often than I thought (whenever I discuss with real life friends here in friends, they almost always are die-hard local language searchers), or just because my portable Flash gets a lot of traffic, and for this one the language spoken by the searcher is maybe less relevant.

The very high amount of visitors from Germany, while not a single page on this site is in German, is probably due to Google giving a priority boost to sites hosted locally. It will be interesting to see how this changes now that the site is back in France.
The farily high amound of French visitors (despite the well-known aversion to any kind of foreign language proficiency here ^^) can probably be explained by a couple of posts where I posted solutions to some French websites’ contests, which drew a few thousands people to the site.

The fairly low position of China (22nd with 1,984), lower for instance than Portugal, Switzerland or Turkey, may be due to Chinese searching more often locally and in their language (hi Baidu ;) ). In contrast, Hong Kong, with a much lower population, is 32nd with 1,377 unique visitors with 0.5% of China’s population (although of course there is also the proportion of population with an internet access to be taken into account).

Finally, a bit of exotism: the latest country added to the list of visiting countris was Turks and Caicos Islands, population: 47,754. This is actually a British overseas territory located North of Hawai.

Posted in site news.


aToaD #8: SuperPutty

Remote console, wrapper for PuTTY.

This tool is quite raw and simple, at least the way I use it. SupperPutty‘s main function is to let you run several PuTTY consoles from a single window with tabs. Or to put it another way, it saves space on the taskbar.
Another nice feature is its ability to remember the state in which it was when you last close it, so it restores all opened sessions on startup (you need to log in again in each of them, of course). That is, when it works, because quite often it forgets the previous session (I think this occurs mainly when you don’t close it properly – for instance if you shut Windows down without closing SuperPutty first).

Well, that’s all there is to say, I think. I’m not very sure how good it is at managing a list of sessions, what I do is I keep managing my sessions from PuTTY, and when needed I import them into SuperPutty (since this will create duplicates, I first remove all sessions from SuperPutty, then import all from PuTTY).

Posted in A Tool A Day.


aToaD #7: Webmin

Web interface for Linux server management.

Webmin is again a Linux tool. Great web interface to easily manage a Linux server (actually, it seems it can also be used to manage several servers at once). Detects most commonly installed services (PHP, Apache HTTPd, MySQL, Postgre, and a lot more: 100+ modules in the default installation, with the possibility to add additional ones – there’s even a module to mange a Minecraft server…) and let you manage them with a GUI (some settings directly available through the GUI, and the rest can usually be edited via config file edition in the web interface too). You can also use it to create system users, and upgrade packages (although I don’t think I ever tried this as it’s so easy to do from the command line anyway).

To install on OpenSUSE (or Fedora or other RPM-based distros):
wget http://voxel.dl.sourceforge.net/sourceforge/webadmin/webmin-1.620-1.noarch.rpm
sudo rpm -Uhv webmin-1.620-1.noarch.rpm

(don’t forget to change the version number to match the latest one)

Posted in A Tool A Day, Linux, servers.


aToaD #6: iftop

Network interface monitoring. Linux command line.

Finally, the first tool which runs on Linux and not on Windows :) Iftop is a bit like top, except that instead of monitoring CPU usage by process, it monitors network usage by connection (from IP => to IP). It runs in the console, so it’s great when you need a quick view of what network activity is going on on your server, as long as you don’t have too many connections (then it becomes a bit tedious to browse).

There isn’t much more to say, actually, apart from the quite surprising fact that it’s not bundled in a default Linux installation (at least not on Debian or OpenSUSE), so you have to install it manually: zypper install iftop or apt-get install iftop. Also, it seems it can only be run as root.

Posted in A Tool A Day.