CardDAV support in FastMail

Posted on .

Two days ago FastMail announced CardDAV support was finally out of beta state. This is great news for people who, like myself, would like to stay a bit away from Google for all their personal information.

CardDAV is a standardized protocol to access contact data on a server. FastMail already supported accessing email through a web interface, client app and of course IMAP. They also supported CalDAV for calendars and provide web space to host bits of content, like this blog.

In a mobile environment, this allows you to have your personal information stored in “the cloud” but not tied to Google. The Google account is merely an enabler that gives you access to the Play Store, were you can download a signed copy of TextSecure and remembers you have bought CalDAV Sync and CardDAV Sync.

Using the latter two apps, contacts and calendar events stored at FastMail are available globally at the system level, and can be accessed normally with the calendar and contacts applications you’d normally use. Contacts and calendar events added from any normal app can be stored at FastMail instead of Google.

I realize I’ve never really blogged about why I use FastMail. I’ve been using their services for several years now. It started when I wanted to use my own domain for email and, at that point, you have to start paying money. Both to pay for the domain and for having someone handle your email for that domain. I investigated a few options and I remember reading good things about FastMail. They’re an Australian company, not very big. They have always cared about user privacy. Despite having their servers located in the US, they’ve stated in the past they actively avoid storing unencrypted information in their infrastructure abroad and do not obey US court orders. When Australian law changed recently, they sat together with their lawyers, analyzed the text and provided a public statement on why they believed the new law didn’t affect them.

This enthusiasm defending user privacy, coupled with their contributions to free and open source software, respect for standard protocols and efforts to push the state of email technology forward explains why I chose them. I highly recommend their services if you want more control over your personal data and email. Naturally, it’s not free. My enhanced account costs a bit over 30 euros a year (less than 3 euros a month), but you have to understand they’re not in the advertising business. They don’t profile you or use your data. You’re not the product in any sense, you’re a client. You pay for the storage, bandwidth and infrastructure you use, plain and simple.

The Universal Pause Button is amazing

Posted on . Updated on .

The Universal Pause Button is a free and open source Windows program that was featured on the front page of Hacker News a couple of months ago. It’s the Windows low-level and simple equivalent of a program that, under Unix-like systems, would find the PID in charge of the focused window in X11 and send it a SIGSTOP signal when pressing a button, followed by SIGCONT when the button is pressed again. The “button” normally being the pause/break key in the keyboard.

Effectively, this allows pausing the process at a low level and its author, Ryan Ries, states he specifically wrote it to be able to pause cutscenes in the videogame The Witcher III, which normally cannot be paused with an in-game native mechanism, and pay attention to real life events. In my case, it’s been used so far to pause and resume the game Dark Souls (note: Dark Souls III will be available in 2016 and I’m considering buying Dark Souls II at some point in the future). I had bought the game many months before but I had to abandon the playthrough precisely due to the lack of a pause function even in offline mode.

I thought of writing a review of the game but I decided to focus this post on the Universal Pause Button project instead. For a quick review, let me tell you the game is pretty good and enjoyable, but doesn’t hold your hand in many of the gameplay aspects, which are to be discovered slowly and painfully by the player. However, in the Internet age, it’s possible for anyone to read a lot of information about how the different RPG aspects of the game work, and also to get a nice overview of the available equipment to decide how you want to build your character. This makes the game easier while retaining its difficulty in the boss fights and enemies in general, and the exploratory excitement when entering a new area. Advancing through the game requires efforts and perseverance, and it’s a very rewarding experience. It brings back old school game mechanics like powerful bosses and the need to learn enemy locations, their attack patterns and weaknesses. Nothing Megaman didn’t have, but nowadays it’s considered “hard” because it requires time that’s to be added to an already long game in contrast with old school games that could be finished in one evening once you memorized them completely.

Dark Souls, however and as stated previously, lacks a pause button. Supposedly because it’s an online game where you can interact with other players in many situations, but I focused on single player and I always played in offline mode (previously this was with an offline Game For Windows Live account, also called local account, but nowadays it’s with Steam’s offline mode). It’s true you can quit the game at any moment and it will restore everything as was left before quitting, but this mechanism has two problems. First, you have to navigate a menu to quit and the game doesn’t pause in those seconds and, more importantly, if you’re in a boss fight and you quit, you will be teleported out of the boss arena and lose your progress in the fight. The lack of a pause button in offline mode cannot be justified easily and I don’t think it makes the game any more difficult. It’s simply an impractical glitch. In this situation, the universal pause button has no disadvantages. You only need to take a couple of steps back if in a tight situation, and quickly hit the pause key in your keyboard, as in any other game.

It’s unfortunate that many games nowadays cannot be paused at any moment, in what I can only consider a sad trend. Most of them can be paused normally or feature a menu you can escape to, but cannot be paused in certain cutscenes and dialogues. In Hacker News and reddit, some people commented how in the Wii U and the original Wii, you can press the home button in any game, and it will pause gameplay showing you the Home Menu. That’s what we should aim for in any platform, in my opinion.

The Universal Pause Button has allowed me to play Dark Souls in what is arguably the worst moment in my life to play videogames, having to pay proper and much needed and deserved attention to my wife and a now four-months-old baby. I used the button dozens of times during my playthrough, which I completed this weekend. I’ve personally thanked the project author through email.

If you’re going to use it, I can give you two hints: after installing (i.e. extracting) the program somewhere in your drive, create a link to it in your Windows Startup folder so you won’t have to launch it manually every time. Also, be careful with games and apps that require you to be permanently online due to DRM or anti-cheat mechanism, as the program could interfere with them.

Windows Update is slowness personified

Posted on .

My main desktop computer dual-boots Linux and Windows. Specifically now, Fedora and Windows 7 Home Premium 64-bits. I keep Fedora in an old-ish 128 GB Intel SSD that works remarkably well and has more than enough space for what I use it and, until now, I kept Windows in a 500 GB hard drive. Last week, however, I bought a 500 GB Samsung 850 Evo SSD to replace the HDD (it was just €180 from Amazon and had the same capacity). The drive performance is amazing and games load incredibly faster. Actually, everything is incredibly fast now. Except for one thing: Windows Update.

I can’t imagine what Windows Update does to be so slow. Partitions are properly aligned for the SSD and everything’s in place. After installing SP1 it still had around 200 updates to do (196 if I recall correctly), and most of them were small security fixes and updates. In fact, the total download size was around 400 MB, so it averaged just a couple MB per update. Once they were downloaded, it took the system more than 1 hour and 20 minutes to install them, doing nothing else. That’s more than the time it took for the whole system to be installed. In that time I could have installed Fedora from an old image and updated the whole operating system and applications.

To put thing in perspective, AnandTech reviewed this hard drive and the slowest operation benchmarked was 4KB random reads at 104 MB/second. In 1 hour and 20 minutes it could have random-read around 500 GB, that is, the whole hard drive. I’m unable to imagine what makes Windows Update so slow. It also takes ages to find new updates, even if downloading them takes a few seconds and the servers are able to saturate my download bandwidth (100 Mbps).

By the way, after upgrading I signed up for the free upgrade to Windows 10. I can only hope Windows Update or its equivalent performs better there. Anyway, I feel good after writing the rant.

All systems migrated to Fedora

Posted on .

Back in February I migrated from Slackware to Fedora. I still had a few machines here and there running Slackware, but yesterday I finished migrating all remaining systems to Fedora. I’m still very happy with the distribution and what I’ve seen so far. Note: I also removed my SlackBuilds repository from GitHub. Most people running Slackware use SlackBuild scripts from SlackBuilds.org and my repository had no stars nor forks, but if anyone is interested in those scripts I still keep a copy around.

Just upgraded to Fedora 22

Posted on .

Fedora 22 was released today and I upgraded already. Having started with a minimal installation in Fedora 21, the upgrade was from “nonproduct” to “nonproduct”. The most important change in Fedora 22 is “yum” being replaced with “dnf” as the package manager. I had already switched to dnf a few weeks ago so this didn’t affect me much. Desktop environment updates don’t affect me at all because I’m running i3. Besides that, I will have to update my installation to use libinput in the following days, which is the other important change for me, as other X11 input drivers will be deprecated slowly in Fedora.

A small surprise: some Fedora 22 packages still have the “fc21” tag as they have not been rebuilt for the new release. I made sure this was the case and not an update problem. For example, see asciidoc. All of them are “noarch” (hence they don’t need to be rebuilt) except for xorg-x11-drv-vmmouse, which already has an update pending as I’m writing this. People with more complete and complex systems will probably see more instances of this happening with other packages.

Note to future self: the next time, wait a couple of weeks before upgrading, so all the mirrors are properly in sync. And do not switch mirrors before the upgrade to avoid package downgrades in “dnf distro-sync”. A few weird things popped up while upgrading, but they were solved quickly and the system is up and running again exactly as it was before. All in all, the process was fast and smooth. I’m still very happy with Fedora so far.