Lorenzo Villani

(╯°□°)╯︵ ┻━┻

Apple Watch, The three months review

Oct 8, 2015

Countless words have been spent on reviewing the Apple Watch, I won’t pour more words to describe the hardware and the software. What follows is a collection of thoughts about the product.

I just “happened” to be around the Apple Store on day one (that was in the last days of June here in Italy) with the intention to turn around should a huge mass of people be there waiting to spend their hard-earned cash on “The Watch”.

But… lo-and-behold, almost nobody was there!

There were just around ten people waiting in queue and, since I didn’t want to wait, I scheduled a pickup later that day. After that, the web form went dark, telling people that no more stock was available. Phew.

By lunch I had the watch on my wrist, fully set-up and I began playing with it. Except that… there isn’t much to play with in the first place. The device doesn’t do much more than tracking activity and displaying notifications. For that, it’s excellent. For anything else it fades in the background. Unless you raise the wrist, it’s just like a regular watch with a screen that it’s oddly turned off.

Power management is probably the biggest issue of this first-gen product and Apple is perfectly aware of that, since they wouldn’t keep the screen off most of the time otherwise. Battery lasts around one day. One day and a half if you don’t use it that much. This means that unless you strategically schedule a recharge, you won’t be able to use it for, e.g., sleep tracking.

By doing some planning 1 you can, however, wear the watch during the night, with the added benefits that you can then enable silent alarms, so that the watch taps on your wrist instead of making an unpleasant audible sound that has the potential to wake up your neighbors.

I really, really like the fact that I can turn off all sounds and have the Taptic Engine 2 on the watch gently, and discretely, buzz on my wrist to notify me that I got an important message (and I know it is important because I generally turn off notifications for all apps except for email, messages, work and family IM).

Bluetooth range is decent and that gives me the freedom to leave the phone on my desk, while still being able to receive notifications while around the office. In some cases, I can even quickly respond right from the notification, except WhatsApp, since it hasn’t been updated to take advantage of this yet.

Another thing I like is activity tracking, which is probably the main reason I bought the Apple Watch in the first place.

The Activity app shows you three circular rings. The outer red one counts the active calories you have spent during the day and is the only one you have control of. The middle ringer is green and completes once you complete at least thirty minutes of light activity, such as a brisk walk. The inner circle requires you to move for at least one minute during each of at least twelve hours during the day.

Apple designed the thing in such a way that you feel compelled to complete all three rings every single day. It also gives you awards from time to time to keep you motivated. I am way more active than before and I lost a fair bit of weight and I guess I have to thank the Watch for that.

Another issue I found with the watch is that third party applications are really slow to load. When they load they seem to often have trouble communicating with the phone (remember that most applications are just thin shells that relay commands to the phone to perform any business logic). Even when they work properly, I found little reason to use them anyway (besides the Overcast app, which I use a ton).

As a developer I found the lack of reliability delivering commands to the phone to be maddening. Thankfully we have watchOS 2.0 now, that allows for applications to run on the watch and perform more functions over there, that should improve the situation quite a bit.

There are no killer apps for the apple watch and there is no strong reason to prefer it to other smart watches. The only discriminant is your phone. If you have an iPhone: get an Apple Watch, if you have an Android phone, get an Android Wear watch. Many higher ends Android Wear watches have an heart rate monitor and match (or slightly exceed) most of Apple Watch features (except for its user interface) but they all do mostly the same things: notifications and fitness tracking.

For a first gen product the Apple Watch is good, not exceptional, and it doesn’t do anything that your phone doesn’t. If you don’t mind getting your phone out of the pocket when a notification arrives, or don’t care about all-day fitness tracking, there’s really no reason to get it at the moment. It is an expensive toy that will surely trigger buyer’s remorse unless you are OK with the price and the lack of distinctive features.

  1. To wear it all day, and be useful to perform sleep tracking, you should follow David Smiths’ advice on an unobtrusive recharge pattern that allows for that. 

  2. The Taptic Engine on my watch is, however, fairly weak. Even on its strongest setting. I’m not sure if it’s a problem with my unit or it’s intended to be like that. 

Quick'n'Dirty Atom Review

Sep 6, 2015

Last month I tried Atom.

I liked it.

Now I’m back to Sublime Text.

The story began a couple of months ago, when a colleague that shall remain nameless convinced me to try Atom, a new text editor from GitHub.

I wasn’t sure I would like it so I promised to use it exclusively for a full month right after its first 1.0 release, whenever that would happen. When it finally came out at the end of June, I knew that I was in for a great deal of radiations.

Bad jokes aside, I was immediately struck by its insane slowness.

For a text editor, it really takes a long time to launch! Almost as long as my fully loaded Emacs setup. To make a comparison: Sublime Text 3 starts in around 0.70 seconds and is immediately usable, with 43 installed plug-ins. Atom, on the other hand, needs around 3.28 seconds with no plug-ins, and this is only after I warmed it up a couple of times already. The first time it took around 6 seconds. The more plug-ins you install, the worse it gets.

This negatively impacts my work-flow. I keep one long-lived editor instance for the project I am working on and then I tend to fire many short-lived windows as I browse around the file system doing some one-off editing tasks. During my trial I simply began using Vim alongside Atom, even though I’d rather avoid the context switch between editors.

Additionally, there is a persistent lag that permeates the entirety of the GUI, something that is barely perceptible and hard to describe. You can compare it to the difference in touch responsiveness between iOS and Android: both are acceptable but you can feel that there’s something slightly amiss with the latter.

Aside from its slowness, and the fact that it eats RAM like an IDE, Atom is really a nice text editor. It looks great by default, has modern keyboard shortcuts clearly inspired by Sublime Text, has a vibrant development community working on its core and, last but not least, a growing set of third party packages.

Since Atom is built on a browser engine it is able to provide, for example, live Markdown previews directly in the editor, something I appreciate very much since I write almost all text documents, including documentation, with it.

Markdown Preview

It is also one of the few editors with a built-in package manager that doesn’t suck. It allows to search, view the most popular packages and its README file directly from the GUI. It can also be used from the command line and it has some nice tricks up its sleeve: since I have an account, I can “star” the packages I use the most and quickly re-install them by running apm stars --install --user lvillani. I can install other user’s packages this way, too.

Package Manager

The settings screen reminds me of Emacs’ “Customize” mode, which shows package configuration knobs in a GUI, so that I don’t have to fiddle with elisp/JSON/whatever configuration files by hand.

Also, it’s open source software. I believe the world sorely needs a strong contender to Sublime Text which isn’t proprietary and developed by a secretive developer that has a tendency to disappear without trace for months, leaving people to question whether their investment in a commercial text editor was worthy of their time and money.

Given the way Sublime Text is being developed, I long for a text editor where community feedback is taken seriously and bugs get fixed.

Atom seems to be what I want Emacs to be 1: an editor that’s extensible, mode-less and actively developed even though it is, sadly, just as heavy.

  1. Sans HTML, CSS and JavaScript. 

Getting started with Podcasting

Aug 5, 2015

Podcasting is all the rage in 2015, with new shows popping up everywhere.

Since I am a newcomer to the podcasting world I have four objectives in mind: have the podcast sound nice, be practical to record, require a minimal amount of editing, and don’t break the bank in the process.

What follows is my current setup. Getting everything will cost you around 200€ in total, excluding the laptop and other ancillary hardware that you might already have anyway. You could certainly achieve the same results by spending less, but I didn’t want to waste too much time finding the ultimate “el cheapo” setup: everything in here is more or less tried and true by people with way more experience than me.


To get started, you will only need a decent microphone and a pop filter:

  • The Blue Yeti is a decent condenser microphone with multiple pickup patterns, a gain control, a nice metallic stand, mute button, audio out and volume control. Some of my favorite podcasters have been using it for a long time.
  • A pop filter to soften plosive sounds. These are usually very cheap (around 10€) and you can even build one yourself with used socks.
  • A decent set of monitor headphones that you must wear while recording, you don’t want sound to come out of your speakers. I use a pair of Sennheiser HD202.

On top of that I added a shock mount and a second-hand NEEWER boom arm to physically remove the microphone from the desk and have it float out of the way when not in use. The shock mount prevents the “bumps” that I would get when I move the mic around 1. You can get both of them for around 50€ or less.


I prefer to record over Skype since it has passable sound quality and it allows me to record from home. I simulate double enders with Audio Hijack 3 by setting up a pipeline like this:

Audio Hijack Pipeline

The pipeline above records my voice onto one file, Skype onto another and produces an additional file with both streams combined, with some volume equalization thrown into the mix. This is what I call the “virtual double ender”: it shares some advantages from the “real” double ender such as having both participants on different audio tracks, being able to space out overlapping voices with the added benefit that I immediately have everything needed to begin editing the episode.

A setup like this also greatly lightens the burden on my co-host since he will only be required to have Skype installed. No additional expensive or complicated software needed.

The drawback is that sound quality takes a noticeable hit, especially for the track that is being recorded over Skype, but it’s an acceptable trade-off for the simplicity brought by this setup. We are planning to move to a real double ender as soon as we gain more experience, though.

I use Trello and a document on Google Docs to plan each episode and collect all show notes.


I begin a recording session by opening our shared document on Google Docs, keeping a spare browser tab open and switching all devices and messaging application to “do not disturb” mode.

I then record between 15 to 30 seconds of background noise to aid with noise removal during the editing phase. I live near a busy road, thus a 30 second clip lets the microphone capture the varied background noise I am subjected to. 2

After that, we start recording, with Audio Hijack taking care of everything.


After the recording session, I import the clips into Audacity and perform some cleanup by doing the following:

  1. Select the first 30 seconds of background noise, then click Effect -> Noise Reduction -> Get Noise Profile button.
  2. Select the whole track and go back to Effect -> Noise Reduction and click the OK button, accepting the default settings.
  3. Select the whole track and then go to Effect -> Compression and click the OK button, accepting the default settings.
  4. Select the whole track again and apply the generic “Bass Boost” equalization curve.

After the cleanup phase I import the clips into GarageBand to cut and re-arrange the clips, space out overlapping voices, add the jingles and maybe the occasional sound effect.


That’s it, as you can see my setup is quite simple and while it could certainly be improved by throwing some more money at it, I’m quite happy with what I have now. I’m planning to do a full recording and editing session on an Ubuntu box in the future to see if I can use only 100% free software, stay tuned!

Meanwhile, I highly suggest you to read The ultimate guide to podcasting guides.

  1. Unfortunately the Blue Yeti didn’t fit into the NEEWER shock mount, fortunately I don’t happen to move the mic enough to be a problem. 

  2. I will probably switch to a dynamic microphone or make a small sound booth