You are at the newest post.

## January282018

### Handball and management: from success to failure and back up

On January 29th, 2017 France was winning the World Handball Championship. Yesterday, after 6 wins in the European Handball Championship—the only team with only wins until the semifinal, France was eliminated by Spain after a game in which Les Bleus looked very different.

I’m trying to understand what led to this unexpected result given the previous results obtained in the tournament and also the fact that the French team this year is very similar to the one in 2017—fact that I take as an advantage of unity and team efficiency, more than a sign of a team getting old. To be very clear, I have no intention to minimize Spain’s success which was won with a great strategy, game plan, and effort.

My curiousity is mostly related to what mechanics can change so radically the way a very experienced and well greased team with a perfect track record performs in a critical moment. And next, how do you regain your confidence to play the next game.

Imagine working with a very experienced team that delivers consistently high quality releases. Now with no visible changes in the objectives or area of work, we not only fail to ship in time, but during the whole iteration we are almost clueless of how to address the growing delays and issues.

Update: next day France won the bronze medal in a game with Denmark. When I wrote the title the other day, I had no intention to make it sound like a prediction. I was rather thinking that in sports, you need to be able to refocus very, very fast after a win or a lost.

## September052017

### SteerMouse is indeed the ultimate tool for configuring mice on macOS

It looks like it didn’t take me long to get to SteerMouse.

I continued to ask questions about the Evoluent Mouse Manager and learned that there are no plans to support application-based mappings in the macOS Evoluent Mouse Manager.

Next I tried BetterTouchTool which is my tool of choise when it comes to configuring the touchpad, or an Apple mouse, or even the touchbar. While BetterTouchTool supports the idea of multiple configurations, switching between them is a manual process. What this means is there isn’t an easy way to maintain and switch configurations for multiple mice.

These attempts finally brought me to try SteerMouse. And so far it provides exactly the functionality I’ve been looking for:

1. recognizing different mice and being able to switch configurations accordingly
2. recognize all the extra buttons in my mice (e.g. Evoluent VerticalMouse, Anker vertical mouse, Logitech M705, and Logitech MX Performance)
3. ability to configure different behaviors for the mouse buttons based on the active application.

Based on my initial experience, SteerMouse seems indeed to be the BetterTouchTool for mice. And I haven’t even tried yet its chording operations.

## August312017

### Evoluent Mouse Manager supports the advanced per-app button mappings. But not on macOS

I just learned that the Evoluent Mouse Manager for Windows supports the feature that I was looking for that allows defining per app mappings. The button in the screenshot is pretty clear: “Customize functions for different programs”.

To make things even more disappointing, I have found a screenshot of an older version (3.3) in which this feature already existed:

I can only hope that at some point this feature will also be supported by the macOS Evoluent Mouse Manager tool.

## August272017

### SteerMouse - BetterTouchTool but for mice

In researching how to best configure the Evoluent vertical mouse , I’ve run into SteerMouse. I haven’t had a chance to play with it, but it looks like BetterTouchTool but for mice. I’m bookmarking it here, just in case I’ll need it later.

### Mapping the Evoluent vertical mouse buttons on macOS: BetterTouchTool or Evoluent’s tool?

After trying an Anker vertical mouse for a few months, I finally decided to try the original vertical mouse from Evoluent 1. As with other advanced multi-button mice (e.g. Logitech MX, etc.), Evoluent offers a tool to customize the extra-buttons. The configuration tool offers pretty much all the mapping options I’d expect; or at least I didn’t run into any limitations. I could map buttons to simple actions like Back or Forward, other predefined actions like Mission control, and even keyboard shortcuts.

What I found missing though is the ability of defining per application mappings. In case you haven’t used such mappings, they offer a mechanism to define differfent button behaviors depending on the active application. Such a feature truly maximizes the value of the extra buttons these advanced mice are coming with. Logitech’s application for configuring the mouse supports application-based profiles. Evoluent’s doesn’t.

This is when I started to wonder if using BetterTouchTool for defining custom behaviors for Evoluent’s extra buttons would give the flexibility I’m looking for. At the first glance, BetterTouchTool seem to recognize all Evoluent’s buttons and that means that this migth work nicely2.

As a side note, I couldn’t find much information out there about advanced mappings being used with the Evoluent vertical mouse. Any link or hints will be appreciated.

1. as far as I can tell, there’s a huge difference in the position of the hand while using these 2 mice. But this post won’t focus on this.

2. there is one default button mapping that I don’t know yet how to deal with

## June132017

### Reading "How will you measure your life?" by Clayton M. Christensen

The other day I’ve started to listen the “How will you measure your life?” audiobook by Clayton M. Christensen.

The 2nd chapter introduces Frederick Herzberg’s two-factor theory or motivation theory. I have found it very educational. As a leader, you might discover or realize these aspects—what the theory calls hygiene and motivation factors—by yourself over time. It’s reassuring though to learn there’s a theory and research behind.

I’m also planning to watch the homonymous TEDx talk:

## May292017

### What's the right way to organize my Go project code?

I’ve only worked with Go code a couple of times (the Go wrapper of the DataStax C++ driver for Apache Cassandra is one of them). But my familiarity with the rules and practices in the Go land is very limited. So when I looked to start a toy project I have found myself asking again: what’s the right way to organize my Go project code?

I have found very little online. The first, is Ben Johnson’s Structuring Applications in Go:

I used to place my main.go file in the root of my project so that when someone runs “go get” then my application would be automagically installed. However, combining the main.go file and my application logic in the same package has two consequences:

1. It makes my application unusable as a library.
2. I can only have one application binary.

The best way I’ve found to fix this is to simply use a “cmd” directory in my project where each of its subdirectories is an application binary.

There are some additional hints in the article about Go project code org, and some

I had very high hopes that I’ll find the final answer in David Crawshaw’s slides Organizing Go code. The slides are really interesting, but unfortunately they don’t provide the answer I was looking for.

Finally, I’ve run into Dave Cheney’s Five suggestions for setting up a Go projec. This article provides suggestions for the following types of projects:

1. a single package
2. multiple packages
3. a command
4. a command and a package
5. multiple commands and multiple packages

All I read in this post makes sense to me. So until I hear other recommendations, this will be what I’ll be using.

## December242016

### Dealing with the leap second at AWS

AWS Adjusted Time – We will spread the extra second over the 24 hours surrounding the leap second (11:59:59 on December 31, 2016 to 12:00:00 on January 1, 2017). AWS Adjusted Time and Coordinated Universal time will be in sync at the end of this time period.

It sounds like AWS is using a similar approach for dealing with the leap second as Google does, by making the time slightly slower for a window of time. What seems to differ is the lenght and when this window of time is scheduled. For Google, the interval is 20 hours with the leap second right in the middle of it. For AWS, the interval is 24 hours, but finishes at the same time with the lead second.

I confess that I’m curious about any pros and cons of each of these approaches.

## December232016

### Dealing with the leap second at Google

No commonly used operating system is able to handle a minute with 61 seconds, and trying to special-case the leap second has caused many problems in the past. Instead of adding a single extra second to the end of the day, we’ll run the clocks 0.0014% slower across the ten hours before and ten hours after the leap second, and “smear” the extra second across these twenty hours. For timekeeping purposes, December 31 will seem like any other day.

I don’t know if this a widely used approach for the leap second to spread it across 20 hours.

## December162016

### Make sure you're using the correct USB-C charge cable

• If the first three characters of the serial number are C4M or FL4, the cable is for use with the Apple 29W USB-C Power Adapter.
• If the first three characters of the serial number are DLC or CTC, the cable is for use with the Apple 61W or 87W USB-C Power Adapter.
• If the cable says “Designed by Apple in California. Assembled in China” but has no serial number, you might be eligible for a replacement USB-C charge cable.

I wish it was a joke.

## December142016

### Apple AirPods shipping... in 4 weeks

The Apple AirPods re-announced through a press release are shipping in 4 weeks and are not available for pick up from stores. This looks like missing a deadline to me.

I was more interested in the BeatsX Earphones. They are using the same Apple W1 chip as the AirPods, but are less futuristic. The status of these headphones changed from “Coming this fall” to “Currently unavailable”.

2. the “Thunderbolt 3 (USB-C) to Thunderbolt 2”: $29 The “USB-C Digital AV Multiport Adapter” option is the one that worked. The first time I plugged in the dongle, I was prompted to perform a driver update. Then everything worked as expected. Please note that the Thunderbolt 3 to Thunderbolt 2 does not work. There is a note somewhere in the Apple pages about this dongle not working/supporting the Mini DisplayPort capabilities. Side note: besides HDMI, the AV Multiport adapter also has a charging USB-C port and USB-A port. As I don’t need the USB-A port, and having the charging USB-C is nice, but definitely not critical, I’ll be looking to find a cheaper adapter that only support HDMI. ### Connecting the Thunderbolt 3/USB-C MacBook Pro to my Monoprice IPS monitor The Monoprice IPS monitor I’ve been using for the last couple of years requires a Dual-link DVI adapter1. I confess that I didn’t have very high hopes. Even if my research hasn’t revealed any potential solutions, I wasn’t completely pessimistic when I walked into the Apple store. But things changed very fast after starting to describe how I use to connect to this monitor. I could tell by the grimace of the sale person that I’m touching a pain point2. We consulted with other technical people in the Apple store and in the end, we decided that the only adapter that seemed like having a slight chance to work is the “Thunderbolt 3 (USB-C) to Thunderbolt 2”. Judging by what we read online — none of the people we’ve talked to could tell with a good level of confidence what can be expected to work or not from this dongle — I didn’t expect much. And I was right, as this adapter didn’t work3. At this time, there is no way to use my Monoprice IPS monitor with the Touch Bar MacBook Pro. To make things more complicated and unpleasant for me: 1. the 4k LG monitor is not on display in the Apple store. Apple wants you to buy it blindly. I’m wondering why? 2. the 5k LG monitor is “coming this fall” (today is Dec. 11th, but astronomically(?) fall’s ending on the Winter solstice day, Dec. 21st) 3. I’m almost sure that neither of these will work with my 2013 retina MBP I got from work. I haven’t made up my mind yet what to do regarding the monitor. If you are in a similar situation, I’d love to hear your thoughts and/or decision. 1. Apple’s dongles have never been cheap. I had paid$99 for this Mini DisplayPort to Dual-Link DVI adapter. Compare it with the about $400 I paid for the monitor. But at that time, it was still a good deal considering the Dells were around$700-800.

2. we ended up chatting about the state of dongles and he confessed that 1) he postponed upgrading his own notebook; 2) he avoids recommending the Touch Bar MacBook Pros to non-geeks, and 3) it’s a nightmare.

3. right now, I have no idea what the “Thunderbolt 3 (USB-C) to Thunderbolt 2” adapter is good for. It definitely doesn’t support the DisplayPort features. But I’ve also tried chaining it with the Ethernet-to-Thunderbolt and it did nothing.

## December112016

### Dibya Chakravorty: My search for a MacBook Pro alternative

8 laptops reviewed to correspond to the following requirements:

• must have good build quality comparable to Apple products.
• must have powerful and upgradeable hardware (at least up to 16 GB RAM, 6th or 7th gen processors and 512 GB SSD).
• must have a good form factor, be light and portable.
• must be Linux compatible out of the box.
• must be cheaper than/as costly as the MacBook Pro with similar configuration.

What she finds is not looking very encouraging. Slightly less disappointing than The best MacBook Pro alternatives, now that Apple ruined everything

## December082016

### What happened to my Touch Bar?

This is how DayOne displays my movie journal in which each entry has the movie poster. That’s super cool!

## December022016

Looking at this I’m scratching my head wondering why I haven’t saved the models I had owned. I’m sure there are plently that had them all; I started with 3GS and I’ll most probably skip the 7.

### Console app: how many bugs can you count?

How many bugs can you count in the screenshot below?

This is not about some third party app, but the Console app itself on macOS 10.12.1.

## November272016

### Tree and Ranger: 2 utilities for the terminal

Just a quick note about 2 utilities for the terminal:

1. Tree: a recursive directory listing command that produces a depth indented listing of files, which is colorized

2. ranger: a console file manager with VI key bindings

Both can be installed on macOS through Homebrew. And they are great!

## November212016

### Reddit: I just tried spacemacs for two weeks. Here are my impressions

Great things:

• The ability to roll back package updates easily
• Pre-configured layers that can auto-install if you open a ruby (or whatever) file
• Really good defaults (whoever came up with Emacs’ default scrolling needs a stern talking to in my book)
• I really like the idea of the mnemonic keybindings. I ended up disliking how Spacemacs does it, more below

I learned about Spacemacs a while ago. Before that I’ve tried to get comfortable with Emacs a couple of times and ended up having a decent working configuration; I’ve built it from scratch following the advice of adding to it only the bits and pieces that I understood.

Today I still have Spacemacs on all my machines. I don’t use it very frequently though, but I keep it up to date and, now and then, I check how random things are done.

Then I go back to my Vim environment. There are a few things that I wish I had in Vim too:

1. a central listing of Vim plugins (download numbers, last update info would be super useful)
2. feature packages. Not having to figure out what plugins to combine to get an end to end experience would make things so much easier. I do wonder if Vim’s 8.0 packages will start be using for this.
3. Consistent mappings. Even more important, a keybindings hint system that could suggest mappings that are available. Spacemacs uses which-key which provides a help buffer listing the available key bindings and their associated commands. It is amazing!

## November202016

A question on Twitter made me quite curious about AsciiDoc. I’ve heard about it in the past and as someone writting almost everything in Markdown I was naturally curious to see what improvements could it bring to my environment.

What follows is the series of remarks, comments, head scratchers, and complains I accumulated over a couple of hours of learning AsciiDoc:

1. searching anything about AsciiDoc led me invariably to either AsciiDoc or Asciidoctor. That was confusing as hell. Even if the 2 projects seem to be related.
2. after doing quite a bit of reading, I still cannot summarize the main advantages of AsciiDoc when compared with Markdown. I did noticed some interesting features, but I had to read the docs twice. Now when writting this, I do realize that I should’ve create that summary myself.
3. I didn’t find a way to simply generate an HTML fragment; AsciiDoc supports multiple output formats, but not HTML fragments (see update at the end)
4. it feels to me that AsciiDoc has a bit too much ceremony. While I did look at an example file, I failed the test of creating a simple document right after going through the docs.
5. I have found an AsciiDoc plugin for Vim that is quite good. Spacemacs also has a layer for AsciiDoc, but the formatting used goes too far and I could hardly use it.
6. weirdly enough, while AsciiDoc has better support for standardizing quotations (inline and block), I have discovered that when generating HTML, it doesn’t use either of the specialized tags cite or blockquote. I have found a corresponding ticket from 2013.

In the times of myNoSQL, I have developed my own toolkit and extensions around various Python libraries, starting with Markdown and all the way to custom scripts for resizing and uploading images, and an end-to-end publishing workflow. I don’t need such a complete toolkit these days, but if I’d actually see the significant benefits of AsciiDoc, I’d probably be tempted to address some of the above points myself.

Update: thanks to Dan Allen, I’ve learned that it’s possible to generate HTML fragments by using the -s option.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.