Monthly Archives: October 2013

Bryce Canyon

After the Death Valley, we headed North to reach Bryce Canyon. On the way up, we did take a quick detour to cruise Las Vegas by car but didn’t stop there.

We had a pleasant night in a very old fashioned motel near Bryce Canyon where the tenant asked me if I really was French because “the French are usually blond and don’t have such dark hair as you mister”.

I’m willing to bet a great deal on the fact that the vast majority of us are brown/dark haired… Mister blond @Lujeni is NOT representative of us French people ! 🙂

bryce canyon bryce canyon bryce canyon

Death Valley

The Death Valley was our first shock of wilderness and immensity as we were welcomed by strong and sandy winds. We slept in our car at an almost empty campground inside the park. Spending the evening and waking up alone in the desert is something very special, especially there.

dv1 dv2 dv3 dv4

Drop-down terminal in i3

One of the reasons I switched from KDE to i3wm is that I love and need terminals. In my field of work you happen to spawn dozens of them and you always end up running out of space / workspaces.

Yakuake has been a real ally to me for years as I intensively use a drop-down terminal for sporadic usages. It is hard to match Yakuake’s efficiency and ability to split terminals but I couldn’t stand all those KDE dependencies anymore; I had to find a great drop-down terminal solution in i3.

So I started looking at other drop-down terminals such as Terra and Guake but they didn’t fit my low dependencies and features list requirements.

Drop-down Terminator

My current solution is to take advantage of the floating mode of i3, use it with my beloved terminator et voilà ! Nothing more to install, no extra dependency, using the same shortcuts of my main $TERMINAL and all of its features 🙂

The idea is simple, we’ll create a special profile in terminator and have it spawned in floating mode upon i3 start. This profile must cover the following drop-down behaviors :

  • respond to a configurable show/hide key binding
  • present a drop-down terminal at the center of the screen
  • the interface should be dead simple and efficient and support splitting

Just edit your terminator configuration in ~/.config/terminator/conf and add :

[keybindings]
  hide_window = F1

Then add the dropdown profile under the [profiles] section :

[profiles]
[[dropdown]]
  exit_action = close
  scrollback_lines = 10000
  background_image = None
  scroll_on_output = False
  show_titlebar = False

That’s my minimal config, you can add your own stuff to it as well. Now we only need to configure i3 to spawn this profile at login and have it in floating mode.

Modify your i3 config file, usually ~/.i3/config :

exec terminator -c dropdown -p dropdown -T "Le Terminator" -H --geometry=1550x800

for_window [class="Terminator" instance="dropdown"] floating enable

That’s as simple as this.

EDIT: as per Joe’s comment, you can also configure i3 to place your floating Terminator window wherever you want (in his case, top off the screen). This still goes into your i3 config from above :

for_window [class=”Terminator” instance=”dropdown”] floating enable move absolute position 0 0

There’s still one limitation which I didn’t come across yet :

  • Unlike Yakuake, our drop-down terminator has a fixed geometry which you must set in the i3 config above and does not support percentage values. So if you have multiple screens of different resolutions it won’t adapt on them based on the screen you want to show your drop-down terminator.

So long, Yakuake !

mongoDB v2.4.7 & pymongo v2.6.3

First of all, I’d like to point out a quite big change in the Gentoo mongodb package. The Chromium team responsible for the v8 package decided to stop its maintenance as it was too much trouble to be used efficiently as a shared library (mainly due to upstream’s breakage behavior). Even tho I don’t like bundled libraries on sources, I understand my fellow developers point of view.

I’ve thus been asked and did switch the mongodb ebuild to use the bundled v8 library. This means that mongodb has no more v8 packaging dependency now. The mongodb v2.2.x users are advised that since upstream does not bundle the v8 lib in their source, I dropped the v8 USE flag and support altogether on this version (it’s not officially supported anyway) !

This being said, I’ll drop the old ebuilds from tree on the next releases iterations.

mongodb-2.4.7

Yet another bugfix release on this unfamous 2.4.x series :

  • Fixed over-aggressive caching of V8 Isolates
  • Removed extraneous initial count during mapReduce
  • Cache results of dbhash command
  • Fixed memory leak in aggregation

pymongo-2.6.3

BSON parser hardening and fixes in the connection pool mechanism. More info here.

 

USA roadtrip facts & start

The plan

We started our one month roadtrip in Los Angeles where we stayed 3 days to adjust to the -9h time zone shifting. We had planned and rented a SUV for the first 15 days to tour the national parks (just before the shutdown, lucky us) then we rented a motorbike for the last 15 days of our trip to ride the West coast. Needless to say it was an amazing trip, the photos I’ll post will show it by themselves.

Still, it’s always fun and quite stunning to look back at the odometers of the two vehicles we used to see how much miles/km we drove :

  • In the SUV, touring the national parks : 4269 miles / 6870 km
  • With the Harley-Davidson Street Glide, riding the West coast : 2175 miles / 3500 km

That’s a nice total of 6444 miles / 10 370 km ! It’s more than the trip from Paris to LA 😉

The start

We headed to the Death Valley but took a detour to “visit” an abandonned waterpark in the middle of the desert !

3924001039170001

3917000639170004

Latest cluster releases

Now that I’m back I’ve bumped some of the sys-cluster packages. Users of keepalived will be interested in this since it was more than a year that upstream released a version.

keepalived-1.2.8

This is a big and long awaited one. It features major enhancements, features and bug fixes. The changelog is pretty huge but here are some quick points which I particulary liked (biased view warning) :

  • Revisited the whole code to use posix declaration style
  • Boon Ang fixed comparison of primary IP addresses. If a router in the master state receives an advertisement with priority equal to the local priority, it must also compare the primary IP addresses (RFC 3768, section 6.4.3). The code to handle this was comparing two IP addresses with different byte-ordering, resulting in multiple routers in the master state. This patches resolves the problem by coverting the local primary IP address to network byte order for the comparison.
  • Henrique Mecking fixed memory leak in libipvs
  • Willy Tarreau and Ryan O’Hara add the ability to use VRRP over unicast. Unicast IP addresses may be specified for each VRRP instance with the ‘unicast_peer’ configuration keyword. When a VRRP instance has one or more unicast IP address defined, VRRP advertisements will be sent to each of those addresses. Unicast IP addresses may be either IPv4 or IPv6. If you are planing to use this option, ensure every ip addresses present in unicast_peer configuration block do not belong to the same router/box. Otherwise it will generate duplicate packet at reception point.

crmsh-1.2.6

Many bug fixes with better performances for this release. This is quite impressive, good work upstream !

corosync-2.3.2

This one is about supporting live config reloading and fix high CPU usage when idle. See the release notes.

Soon to come

The resource-agents v3.9.6 and cluster-glue v1.0.12 should be released by their upstream pretty soon, stay tuned.