from 2016 to 2017

So 2016 has come and gone, it’s time for some post-mortem / retrospective and dive into the wonderful world of 2017. I must say that this post is the perfect example of what I should avoid as I started it roughly mid december and I realize that January is mostly gone and this is still not published (and becoming less and less relevant).

World

The world is more and more scarily broken. I feel sad just thinking about it, not that there is much I can do. Extreme right wing, religion, terrorism, war, genocides, I think most of the tick box can be checked, sadly.

It pains me to see how the future is shaping more and more like the grimiest forecast of the 60s science fiction and less and less like a happy fantasy. Even when the future is coming (google self-driving car, I’m looking at you), it gets boring.

On the other hand, it could have been worse. Austria chose greens instead of extreme right wing, we had no major nuclear incident, Switzerland is still a wealthy and mostly safe place to live.

That said, 2016 was an awful year for arts: Carrie Fisher, Leonard Cohen, David Bowie…

In summary, bad year, better forgive about it and hope for better.

Me and myself

I had a few resolutions last year and it’s time for a retrospective

Post on blog

I wanted to post at least once a month: I posted ~18 blog posts (of different quality, true) over last year, with an emphasis on begin of year and big gaping holes in some months (november, september). Currently, blog is read mostly by people I know / friends and has very low traction. Most of the external traffic is in French for HR related stuff I posted ~10 years ago.

Not too bad on this topic (70%?), but some clear axis of improvement:

  • More engagement, post twice per month seem to be a good cadence, ideally at fixed time/day
  • Finish stuff that I started : I have ~5 blog posts in various state of draft that could have easily filled the gaps I had provided I gave them a bit more log

For 2017:

  • Post at least once a month something technical, this can be a tutorial, a thing I realized, either soft or hard. lower bar would be typically building lego. In case of big projects, any significant milestone should be an independent post and count. Should be in english.
  • Stretch, post once a month on non-technical stuff, in french or english depending on the topic.

Do technical stuff

I wanted to do a technical hack per month. Scope and exact definition of technical were purposely left fuzzy.

I clearly did a lot of technical stuff and posted quite a bit of them, so a clear improvement on the topic. Especially, I got the feeling:

  • I clearly improved and learnt stuff in mechanical design / tinkering: learnt to use fusion 360, to do parametrical design, first 3D printer usage, lots of complex lasercutter designs that I mostly posted
  • Had some lego, not really technical but fun-ish and good with kids
  • Did some human-size furniture for the birds
  • Broke and repaired my drone

I also failed on various other stuff:

  • almost no electronic work. The stuff I tried stayed on breadboard and never really worked
  • got pwned on a server
  • couldn’t not really keep up with advent of code
  • broke an RC car

Overall, I’m super happy on the topic, I have identified a few axis of improvements:

  • When doing stuff, start a log (picture, video) early as backtracking the history is painful. Start early by defining goals follow up with pictures for any interesting step (better to have too many than too few). Start writing early and publish even if it’s a failure.
  • definition of technical is super fuzzy and covered stuff which is only technical as a stretch
  • no formal logbook

For 2017:

  • Do the technical things to feed the blog 🙂
  • Some stuff I would like to do will have to be postponed due to constraints, so focus on things which are achievable (I want a forge, but living in a flat, that does not sound realistic)

Read books

I read 32 out of the 20 books I had pledged to read, so clear achievement (details in goodreads challenge). However quality is still quite dubious.

Most of the books I read are teenagers’ books, of very low interest from a literacy stand point. There are however a few outliers that stand out:

The things to improve is obvious here: read more of the outliers and less of the other (as in aim for quality, not quantity)

For 2017:

  • Well, let’s restart goodread challenge for 20 books, but aiming at at least 5 books which are neither heroic-fantasy nor science-fiction.

Wellbeing

Being 36, I’m putting weight. Reasonably, but even so, it’s quite noticeable. I wanted to restart sport and get more healthy habits. This topic has been a complete failure:

  • I exactly commuted 0 time by bike and ~4 times using rollerblades
  • I started twice YAYOG and never went past the first week
  • I’ve been exactly once at the fitness room at work (while it’s free)
  • I’ve steadily gain weight, despite not tracking properly
  • I’m still eating candies (too many, in the evening), drinking too much beer and whisky and having too many snacks
  • I’ve tried counting calories and failed, I’m obviously getting way too many

I managed to partially:

  • cut on caffeine: I’ve managed to go to 2 coffee a day, no coke or other source of caffeine
  • get sleep habit under control: managed to sleep more and better, at least over some period of time

So, complete fail on that one, need to tune it a lot for next year

For 2017:

  • Train twice per week, even some light training (going to work rollerblading or skiing rover WE)
  • Improve overall fitness and reduce weight (aiming at back to 68kg?, which would be minus 5 stabilized)

Family

For 2017, kids are getting bigger and we can have more and more shared activity:

  • Focus on better splitting couple / kids / family / personal time and keep enough for each bucket.
  • [family] go skying, ice-skating, hiking, biking…
  • [family] schedule summer vacation for family, ideally some eastern / fall break as well
  • [couple] Get 2 week-end for us, without the kids or work
  • [kids] Build lego with the kids, involve in projects

Conclusion

Overall, having these “personal” targets helped me focus and prioritize over the last year. I’m trying to go one step further this year and actually make them public, hoping it will help me focus on them. Let’s see how it goes, I aim at reviewing this on a quarterly basis

LePin, Lego and Porsche

I’ve been a fan of Lego for ages and my only limiting factors are the place it takes and the cost.

Being a car fan, I was pretty excited by the release of the ego 911 GT3RS (Lego 42056). However, this model was not stocked much and is overly expensive, probably to account for the Porsche copyright. This model is one of the biggest Lego Technics set to date (3rd I think) and is also one of the most complex in terms of mechanics, with a 4 speed sequential gearbox and a realistic look and feel.

Deciding that 300+ swiss francs was too much for a toy, I skipped this model…. until a colleague pointed me to LePin.

Until now, I’ve only and ever bough real Legos. My kids got some BanBao bricks which were definitely of lesser quality compared to the danish originals. Some colleagues told me that LePin quality is much higher, on par with original Lego. I used the 11/11 (the Chinese equivalent of black friday or cyber monday) to order a set to try and picked the Porsche model for ~80 dollars (USD, roughly 1/4th of the Swiss price for original lego)

After building it, here are my first thoughts:

  • The set is a 1:1 copy of the Lego set, the instruction is a leaner version (without all the shininess and pictures from real porsche) of the Lego one, based on an older version (with bugs). This is a clear clone and I don’t know how this can be legal and not infringe copyrights… Just to be clear, it’s free for sale online, you don’t have to go into the deeper parts of the undernet to find it and it ships with dhl/goes through custom without problems.
  • The quality of the pieces is really good, almost impossible to differentiate from real Legos. The model I picked is a known stretch for Legos (way too many gears and way too much friction) and ends up a good test: if this one is working, almost any Lego set must be working.
  • Assuming I didn’t mess up with the montage, I had way more spare parts (connectors especially) than on a standard Lego set. I however ended up with a spare bar of length 4 and a missing one of length 5. I can’t really say who is responsible for that.
  • Chiral components are clearly identified on real Legos with an embedded number, LePin are not
  • Some pages of the manual are not printed to scale, so you can’t use the 1:1 size picture to measure (not a problem if you’re experience, might be an issue for beginners)
  • The set itself is astonishing: huge, realistic, bright orange, it really looks like a masterpiece and has overly complex mechanics carefully hidden 🙂
  • some tolerances might be slightly worse than lego: the clear disks used for lights tend to fall, some connections are overly loose while other required some force to actually snap (including some connectors)

My final conclusion is that I would not buy LePin on a standard set, the price difference is not enough to account for the lack of innovation. I’m fine if a group creates alternative original models and cheaper bricks on the ones where the patent expired (I guess it’s not the case for studless). In case of Lepin, the quality is really good (almost the same as Lego, at least in terms of tolerance, I don’t know about time resilience) but he legal aspect seem quite shady.

Building a microscope

vlcsnap-2016-10-14-15h48m11s828

I recently bought on aliexpress a powerful (and cheap) microscope. For 15 bucks however, the feature set is quite limited and it has no autofocus, meaning the body needs to be moved to put things in focus. As the official support has 2 ball joints, it’s almost impossible to be accurate : when moving focus, you end up moving the sample and must restart. On top of this, it’s almost impossible to do any kind of fine tuning and the microscope has very low depth of field, requiring displacement in 10th of mm for focus.

I decided that building a body where I can accurately change focus would be my October monthly hack. It was completed in October and was super late for posting… Let’s call it a Novctober hack.

Concept

As usual, I’ll be using a share laser-cutter and 3mm thick mdf. The laser cutter is free for use at work and mdf is the cheapest material you can find for hacking around.

My idea is to lock the body of the microscope into 2 rings and use a carriage that can slide on vertical rails. Actual movement will be done using a threaded rod. Looking at my stash of junk, I’ve seen that I have a 1m long M6 rod. I also happen to have a set of M6 nut from a previous project that I can easily embed. To avoid putting too many constraint on carriage, a single nut will be used to do the translation, from the bottom.

For reference, this means that:

  • the hole must be 6mm diameter
  • the equivalent nut is an hexagon, 10mm flat to flat
  • the thread is 1mm per rotation

Open questions:

  • The amount of space needed for the carriage to properly slide is quite unknown to me. As the mdf is actually slighrly thinner than 3mm, I’m going for 3mm and no margin, and will sand/grind the relevant pieces if required.
  • not sure the amount of force (torque) required on thread to move the carriage and device. Assuming I won’t need additional torque and can directly turn the raw rod with finger. Some lubrification might be needed at some point

First prototype

The first prototype proved it was a viable concept, it however showed some limitations.For reference, it’s based on v10 of the fusion 360 file

  • the amount the carriage can travel is too small, the body needs to be much bigger
  • the lack of back plate means the body was not sturdy enough and could shake / shift (parallelogram disortion)
  • the holding ring are not compelled to stay horizontal, need to add orthogonal pieces
  • Having a removable support for sample would be nice
  • One of the component was badly extruded and lacked a hole

What confirmed worked well:

  • the carriage slides without issue
  • the hole is the correct size
  • the overall concept works

Second prototype

Rework is implemented in v14 of fusion 360 model, the actual printing can be found in this commit on the usual bitbucket repository, in this file. The print uses roughly an A4-sized sheet of mdf, all included.

img_20161014_140214 img_20161014_140325 img_20161011_145901

After building, quick summary:

  • despite having longer range of motion, still unable to focus at lower zoom, would need several more centimeters
  • the back plate has 2 holes which are not the same side, forgot a constraint in the design (just an aesthetic issue)
  • the carriage works fine with the redesigned model, the nut needs to be glued though because it’s not heavy enough to go down with gravity
  • while glueing the sliding bar, I pressed them too much and the carriage could not slide any more. had to sand quite a bit of material to make it work
  • the holding tray worked well

Reference for assembling

I decided to sand all pieces, to give a smoother feeling. I sued Grit 600 for starting then finished with Grit 1000.

Pay attention to the following tricks for glueing / assembling:

  • sliding bar needs to stay parallel, don’t over-constraint while glueing
  • to help aligning the 2 bottom plates, use the vertical sliders
  • Don’t glue the full body before inserting the sliding part
  • I used 2 nuts locked against each other to prevent the threaded rod from moving

Some more

After a few minutes of usage, the lighting of the microscope failed probably linked to a deficient solder. Wiggling the cable helped for a while, but I have limited hopes. However, worst case, it’s still possible to use external lighting so it’s still usable.

The device itself exposes as a video device, I could use it from Linux (/dev/video) and Windows (as a directX  input device). The pictures below have been taken using VLC (open capture device in the file menu) then use video/snapshot to get pictures.

Some pictures for reference, overview of a feather from my bird.

 View of the feather, for scale.
This is a standard post-it and a standard sd card
img_20161014_155509
 Minimal zoom, I didn’t have enough distance for focus, so I used the empty bottom of the microscope to actually make it higher  vlcsnap-2016-10-14-15h50m57s657
Some more zoom on the top of the feather vlcsnap-2016-10-14-15h53m00s405
Maximal zoom on the tip of feather, using the removal tray.

The background is wood fiber from mdf, field of depth is super short.

 vlcsnap-2016-10-14-15h48m11s828

Lessons learnt

  • despite having a full 3D model, 2 iterations were required and it’s not perfect, dynamic mechanics is (unsurprisingly) much hard than static
  • the reliability of a component sourced from China for 15$ is on-par with expectations

Some more pictures

The following pictures are, in this order:

  • a 1 dolalr us bill, zoom on washington’s head
  • the backplate of my phone
  • a mechanical watch
  • the atmega328 on an arduino mini
  • a SMC resistor from an ESP8266

References

Legal

This post and the related original works and pictures are covered by the creative common licence, CC-BY-SA.

Some random thoughts

I realized I’ve been pretty idle and did not post over the last month. September is gone, and that blog stayed empty. I did not really do anything technical last month (I mostly blame work and laziness), but I have a few random and unorganized thoughts I wanted to post.

  • I have finally seen the move “Rush (2013)” and I only regret not seeing it earlier. I was not born at this epic age of formula one racing, I knew about Lauda (ofc) but nothing about Hunt.The movie is great, it really shows what I imagined the 70s to be about racing: different philosophies battling on the grid, the begin of professionalism, the death at each corner. I can only recommend the movie, even if you’re not a petrol head.
  • Speaking about Petrol Heads, a friend of mine drove me last week in California in a Tesla X. This car is impressive. Performance wise, it would made cry my sportly german 6-inline, at least on straight line. Actually, the car itself is a mix between a tank and a sports car. It seems to be a californian hipster version of the muscle car, weighting tons but compensating by sheer goodwill horsepowers. Calling that an eco friendly car is definitely an overstatement. Outside of the pure performance part, the car itself is quite disruptive on the technoologies it uses: ~20 inches embedded touch screen controlling everything, 7 seaters, falcon wings, everything electrified. I can’t help but be scared about the future of this car. It’s definitely a cobblestone in the world of car making, with the equilibrium slowly shifting and newcomers finally challenging the establishment. However, my cell phone lasts in average 2 years, my computer up to 5. I’m pretty sure the supply line is not made in a way that this car will be maintainable in the long term. Which means that this car is likely going to be a myth, but a myth that will die in less than 10 years.and won’t ever make it to collection. You can still drive a 1923 Bugatti or a 300SL gullwing (at least if you have a few spare dollars), I fear modern cars won’t have that fate and will end up discarded (which is an interesting problem for an eco-friendly care)
  • I’ve read slingshot, by a former colleague of mine. The book is awesome, don’t hesitate, buy it read it, share it if you like SF. Second book got published in August and is my (big) pile of stuff to read, but failry high priority.
  • I’ve finished (and went above) my goodreads challenge and retrospectively, I’m not proud: I’ve read chick litt, bit lit but really only a few books of higher value. I’ll try to focus more on content and less on quantity next year.
  • I’ve seen the latest x-men, it’s good to see such a talented young actress playing someone else than Sansa and moving to the big screen. The movie is quite good as well. I would not say the same about Batman v. Superman: I happily slept in front of it and found it awfully boring. I didn’t know about Deadpool, foun dit was a nice way of spending an evening (or a quarter of a transatlantic flight)
  • I’ve flown again with SAS (Scandinavian Airlines) : that company has cheap business flights with good quality, but comfort in eco is awful. So Good for business, Ok for Eco+, avoid for Eco in the future.
  • This blog is now served over https or http, still tuning the details, so edges might be rough. I’ve also put some monitoring in place with uptime.com and tuned the apache configuration, so things should be slightly more stable and have elss downtime than previously.
  • Mandatory picture : my last business trip had a nicer weather than the grey sky of  september in Switzerland
From the SF office
From the SF office

g-watch crashlooping

I have a LG G-watch (android smart watch, the square one). I’m not using it much and it mostly seats on my desk, uncharged.
For some reason, I decided to give it another try and it could never start: just after boot, it would say that settings crashed, proposing to wait or to close. Tried all several times and it was stuck in a crash-loop. Rebooting, letting it run out of battery again did not help.
The goal of this post is to keep some notes of the reparation.

Some notes:

  • G-watch hardware is called dory and builds are named platina. This helps recognize if the build is for the correct platform or not.
  • To go into boot-loader mode, you need to swipe in diagonal when LG logo pops-up (from top left to down right)
  • From bootloader, you can do a factory reset. It did not help for me (suspecting issue with hardware or corrupted firmware)
  • adb can be found in the recent android sdk, you need to install the usb driver on windows. it handles communication with the device over usb.
  • Watch is recognized by computer (using adb devices -l) only when it’s in sideload mode. adb logcat never provided anything, which is not really surprising on a production device.
  • Finding a firmware can be fun. I finally had some luck on this website and ended up getting that firmware. Not much chances of failing as firmware are signed : if it’s not for the correct device, it will likely fail with code 7 (had some of these). Likely legit as it comes from googleapis.com domain. I usually am weary of getting stuff from unknown source for firmwares as it can be quite easy to push a virus.
  • The physical button on bottom of watch needs to be pressed for ~6s for the watch to shut down. It requires a lot of pressure to press it and hold it (but does a nice click to let you know)

After quite a bit of messing around, it finally reworks. Somehow, one OTA update must have failed.

Bruce reads (it’s funnier in French)

I’m just back from vacation and beach is super boring, so I’ve had plenty of time for reading and I haven’t posted in a long time.

  • Redeemed: last book of the “House of Night” serie, as usual, lots of stuff is happening when a serie is finishing. Compared to some other, that one is fairly easy to read but mostly enjoyable, with some surprise. Definitely recommended for teenagers and non-native speaker wanting to read some random bit-litt.
  • Lenobia’s vow: this is a book explaining the story behind one of the teacher from the house of night series, by the same authors. The book brings absolutely no value if you already read the house of night series as everything is already known and just repeated.
  • You’re never weird on the internet (almost): autobiography of Felicia Day, who is a web addict / video game player / video producer / internet business woman. I didn’t know the lady, I found the story really interesting, with lots of things echoing into my personal experience. I recommend this reading for any geek, this is really interesting for remembering some old good time and seeing the point of view of a woman on this old age. Not necessarily as glorious as we’d like it to be. To be clear, I didn’t know the author before reading the book and I know want to see what she produced.
  • Des femmes dans la mafia: written in French, the role and situation of women in the various italian mafias. Interesting because it’s happening now (some stories are less than 5 years old), because it’s super close and it explains a lot about what the mafia really is. Not an easy read, but I loved it.
  • Fire touched: last episode of the adventures from Mercy Thompson. Nothing really interesting, quite boring IMHO but good if you’re reading the serie.
  • Written in Red: First book of “the Others”, it’s happening in the equivalent of the US, in an alternate universe where shapeshifters would own the land and lease it to the humans. Easy and thrilling read, more mature IMHO than average teenage bit-litt. Quite a few interesting analysis on how society works are intereleaved in the story,.
  • Murder of Crows: second book of the others, still very good :-).

This brings me to 23 books read this year, which makes me complete my 2016 goodreads challenge. Not really ambitious this year, I think I’ll plan for ~30 next year. As it’s a good time to look back: I read mostly in english (2 books in French, out of which one is a gift), I read mostly bitt-lit / Heroic Fantasy / Science Fiction. I think my english level is now good enough for me to start tackling more complex books. I must say that I pretty much know everything about vampires and shapeshifters. These last vacations where the opportunity to dig into different topics and I really liked it.

Box for GoPro batteries

 

IMG_2200I recently bought a GoPro and wanted to make a box to store the batteries. To be clear, my model is Hero 4 Silver and is using these (AHDBT-401) batteries. It’s easy to find the electrical properties (3.8V DC, 1160mAh, 4.4Wh), not so easy to find the physical size. Here is a quick overview of the key dimensions I noted:

side size top

Out of this unreadable post-it, the important to remember is

  • the full battery measures 36 x 10.9 x 32.5 (in mm)
  • the bottom part of the battery, where GoPro is written measures 30 x 10.9 x 30 (in mm)

The design will be symmetric, to allow to store the battery facing the lid or the opposite side, to distinguish between full and empty ones. I also decided that 4 spare batteries is a good number.

I usually draw my laser-cut design with inkscape but I decided to follow a different path this time. I recently discovered fusion 360, which is free (as in free beer, not free speech) to use for hobbyist. So, for the first time, I did a full 3D model, that can be found here. You can play with the model online and explode it to see the various components.

This is one of my first parametric 3d design, I learnt quite a lot. It’s then definitely time for a pro vs contra using Fusion360 vs inkscape.

Pro fusion 360 / against inkscape:

  • design is fully parametric, changing thickness of material or size of the battery does not involve to restart the design from scratch. I typically had to move from using an m2.5 to a M3 screw (to match what I had in my inventory)
  • you can use standard parts in your design (I used a M3x12 bolt and nut)
  • You got full mechanical constraints, so you can play with your various pieces and check. I discovered an issue that way (there was not enough place for the nut) and avoided a prototyping iteration
  • There is friendly support on forums and a lot of very well made explaining videos (tutorials) on a youtube channel.
  • There is a CAM module, to do machining with a CNC (not tried yet)
  • the web viewer has support nice features. You can explode the components, select specific components (using design button, top left). Time to check the model again 😉

Pro inkscape / against fusion 360

  • inkscape is open-source, uses a standard format, stores locally. This allows to use version control and have lots of freedom (and is future safe)
  • fusion 360 has a 1-year long license that you can renew, courtesy of autodesk and is storing its data in autodesk cloud. It might stop at any time, locking you out of your own designs or forcing you to pay an (expensive) license
  • inkscape’s use of splines is more common for computer users (rather than bezier)
  • Doing a full 3D model currently takes me ~3x more times than drawing in inkscape. I think on complex design, the reduction in the number of iterations evens this out.

Overall, I’m super glad I tried Fusion 360, it’s quite easy to use and has super nice results. side

About the design itself, I wanted to have a design with a lid and it’s the first time I really have moving components. the trick I used was to deport the axis of rotation on the top-left to make the rotation work.

I used 2 bolts and nuts for the rotation (M3x12). Tightening them is enough to have a lid not opening.As usual, the box is also posted on thingiverse.

For bragging rights, some more pictures:

IMG_2171 IMG_2151 IMG_2206 IMG_2203

 

 

pgp, keys, security, privacy

It’s been a long time since I wrote on this blog. I recently attended a talk with Phil Zimmerman recently and it was the opportunity to reuse pgp/gpg and I thought it was a good idea to talk about it.

Why

I often had the questions why I would need to use strong encryption, especially since it used to be very illegal in my own country (there was a limit on 40 bits in France back when I started using cryptography). Usually, people tend to say that if you use cryptography, you must be hiding stuff and probably doing some very illegal and dangerous. I beg to differ on this topic: I keep my personal data in my home, which is usually locked. If a judge comes and ask to open the drawer, I’ll gladly do it if the due process is rightly followed. In the same way, I consider that my communication is private and while I’ll surrender my private key to the right officials and the right request, I prefer not having anyone being able to excess its authorization and illegally eavesdrop on me, which seem to have been a pretty common game for most governments. In a pettier way, some company sysadmin might be overusing their privilege and while you may trust them to watch you personal folder, it might be interesting to make sure they actually can’t do it.

Theory

Private/public keys

Quick reminder on theory:

  • you want your communication to be secure (i.e. not easy to listen to silently)
  • you want your communication to be authenticated (i.e. I need to be sure whom I’m talking to) and non compromised (i.e. if someone attempts at modifying the message, I want to know).

This can be enforced through cryptography the following way:

  • signing with a private key will allow anyone having the corresponding public key to check the integrity of the message. Trusting that the set of key actually belong to the person you’re thinking about is a different problem.
  • ciphering with a public key will allow only the target private key to read the message. Practically, message is ciphered with a random session key and that key is ciphered using the public key (for performance reason).

One fun side effect is that you need to encrypt the session key with the public key of each of the message recipient, including the ones in BCC, hence displaying them on the clear. You’ve been warned.

Trust

While using asymmetric cryptography ensures that only a set of key is involved, knowing whether this set of key actually belong to an individual is a different problem. To solve this, the concept of “web of trust” exist. The principle is that at any time, you can check the real life identification of someone and cryptographically sign their key, hence providing the community that you checked that a given person is who they claim to be. Then, if you trust someone who trust someone else, you’re likely to actually trust that some one else to be who they pretend to be.

Practically

Generating a key

I’ll explain how to do most command using gpg command line, mostly as a reminder for me. There are several bazillions tools to help you automate and work around these process.
Modern standards seem to use a 4096 RSA key (this won’t prevent you from having your communication read when quantum computer will be there, so if you care…). Elliptic curves can be as safe for shorter keys but are not widely supported yet. The passphrase will be protecting your private key, it seems to be a very good idea to have something really strong here. I’m not talking about reusing a 8 letters web password kind of strong, but writing a full sentence that only you will remember kind of strong (like a pass-phrase, not a pass-word).

gpg --full-gen-key

This will generate a key, including a key id and a fingerpint:

bruce@morannon:~$ gpg --fingerprint C3F53DD4
pub 4096R/C3F53DD4 2016-06-10
 Key fingerprint = 77EE B582 C4AA 7724 AD2D 53AC AC42 DF1E C3F5 3DD4
uid Florent Revelut (Bruce) <florent@revelut.ch>
sub 4096R/92F7C250 2016-06-10

The id (C3F53DD4 in my case) will be used to identify your key. The fingerprint will be used when cross checking identities (i.e. if you check and identity, you need to be sure that you check the fingerprint)

Signing someone else key

Say I want to sign my old key FBE03BF7 with my new and shiny one C3F53DD4.

Make sure you have the key, if not get it from a keyserver (pgp.mit.edu is a common alternative)

gpg --keyserver pgp.mit.edu --recv-keys FBE03BF7

Sign the key (level 3 is the highest level of trust, meaning you checked really closely an official id)

gpg --sign-key --default-cert-level 3 --no-ask-cert-level -u C3F53DD4 -a FBE03BF7

Export the key to a file

gpg -a --export FBE03BF7 > FBE03BF7.txt

and prepare a to send it to your stakeholder (this will generate a FBE03BF7.txt.asc that you can safely cut and paste in an e-mail)

gpg -u C3F53DD4 --armor --recipient FBE03BF7 -e -s FBE03BF7.txt

delete the key form your local keyring, you’ll get it from a keyserver later when you need it

gpg --delete-key FBE03BF7
rm FBE03BF7.txt

Importing a signature

You’ll probably receive ane-mail with a file attachment named something.asc. You’ll have to decrypt it:

gpg -d *.asc > clear.txt

Then probably extract the file attachment, this will generate new files

munpack clear.txt

Then import the signature (check whatever file was generated in previous step). It will merge the new signature with the existing ones.,

gpg --import florent@revelut.ch.asc

Then publish it:

gpg --keyserver pgp.mit.edu --send-keys C3F53DD4

And done : your public keyis now available, including the trusted signature from your stakeholders.

Traps/tips

If you encrypt an e-mail/a file you’re sending to someone else, you’d better encrypt it for you as well or you won’t be able to read it later (remember, you don’t have the private key of your recipient). If you have the file “in clear” on your file system, you will definitely want to delete it in a safer way than rm. Depending on your OS, file system and caching policies, this might get tricky to make sure your content is actually properly wiped out (or close to impossible).

Enigmail is a very easy and user friendly way to cipher your e-mails. If you’re using a web-app to access your e-mail, you might  want to switch to using a real mail client and imap to access your emails as webapp usually don’t support cryptography. It might eventually be coming for gmail though (blog post from google).

Cryptography and BCC don’t work well together: the IDs of all recipients are in the clear… In the same way, ciphering and mailing list don’t work unless you have a way to expand the mailing list on client side and know all recipients (think about exchange server). There is no issue with signing cryptographically when sending to a mailing list and it’s considered a good practice.

You can (and should) use your private key when tagging a git repository. As you put your reputation on line, you might want to review branch merge with extra care.

Most people won’t check the signature of the public key, which is really bad. Anyone can publish a public key on a key server, if it’s not signed, it does not bring anything.

Some extra paranoid people don’t want ot have their public key hosted on a key server. There are some use cases where it makes sense, use your best judgement on convenience vs security.

Music and mood

I always listen to music, but most of the time I don’t really care or pay attention. I tend to use quite random playlist and mostly let them run. Or at least, this what I thought until I recently checked.

What I discovered surprised me. Most people say their mood will be influenced by the music they listen to. This is explained in detail (and in French) by someone smarter and way more knowledgeable in music (which is easy considering my quasi-null level)

In my case, I tend to influence my playlist based on my mood. The fun thing is that I do that unconsciously and that it seems to correlate sometime surprisingly.

Let’s dig:

Renaud can be good (Molly Malone) or bad (p’tite conne in a loop is a fairly good indicator of depression).  Brel, Moustaki, Ferrat is mostly always bad: not for the singer himself but rather for the memories of a lost one they evoke. Funnily enough, Jean Yanne, which is from the same environment, is not triggered by the same feeling.

On the contrary, classical music, opera and even requiem are an indicator of good mood. I especially like listening to symphonies, Fauré or Mozart requiems as it helps me getting isolated from the rest of thew world.

My main problem now: each time I choose an album, I wonder if I’m making a conscious or unconscious choice. I have several hundreds disks in digital format but no real way or making statistics (as I use several players). Currently, this is more a feeling than hard-data backed evidence, which disturbs me. I know not to trust a feeling as it’s usually the best way to be wrong.

For the coming weeks, I’ll try to sweep the darker area of my collections, to dig into stuff I know less and see if I have the opposite effects. Anyway, I found  funny to realize after so many years and to discover such a correlation.