My experience with Soylent alternatives in Europe so far

Unfortunately in Europe there are no Soylent resellers. There are, however, quite a bunch of less famous alternatives. I’ve been asked about them a couple of times so I felt it was worth a blog entry.

I’ve been trying Soylent alternatives since November 2015, replacing about 30-40% of my meals. I had the chance to try Joylent, Huel, Mana, Nano, Jake and Futricio (formerly SoylentLife) and here are some of the differences between them.

Joylent: it is the one I’ve been recommending to everyone wanting to try out Soylent alternatives. Joylent is probably the one with the less barriers to entry. It is one of the cheapest, it comes with a handy bottle, it leaves a good fullness sensation and has a good variety of the best flavors. Cons: it tastes really better if you either blend it or leave it to rest for 8 hours or more, and variety is limited to its 5/6 flavors.

(more…)

xboxdrv 0.8.8 for the Raspberry Pi Zero

If you, like me, have just found out that GameStop xbox360 controllers, even when they have the same BB070-B-EU model, from the same shop, same look, same everything, … but they happen to have different chipsets, and not all of them work properly with xboxdrv 0.8.5; you might appreciate an update from the version which is offered in the Raspbian repositories.

In my case, the incompatible model was showing up with magic numbers 0e6f:0401 in `lsusb`. The GameStop xbox360 controllers which works with xboxdrv 0.8.5 shows up as 0e6f:0301.

Compiling it took quite a long time (about two hours), so here’s a precompiled package. You can get xboxdrv 0.8.8 in a .deb package for ARM here.

The online replacement vs repair decision helper

I wrote this tool to help decision-making when you have have to repair or replace something.
It uses a pair of jeans as an example, but it’s meant to be generic. Just replace its parameters and let it calculate.

(I’m assuming onChange="updateAll();" onKeyUp="updateAll();" /> as a currency and one onChange="updateAll();" onKeyUp="updateAll();" /> as a time unit.
I also assume a onChange="updateAll();" onKeyUp="updateAll();" />%/year growth rate of your assets.)

You are thinking about replacing a: onChange="updateAll();" onKeyUp="updateAll();" />
You have owned pair of jeans for: onChange="updateAll();" onKeyUp="updateAll();" /> year(s)
Replacing the pair of jeans would cost you: onChange="updateAll();" onKeyUp="updateAll();" /> $
Your pair of jeans is costing you in repairs: onChange="updateAll();" onKeyUp="updateAll();" /> $ / year
While the pair of jeans is undergoing repairs, you have a backup plan which costs you: onChange="updateAll();" onKeyUp="updateAll();" /> $ / year
Do you feel the pair of jeans at risk of a major, catastrophic, sudden failure?
onChange="updateAll();" onKeyUp="updateAll();" />Not really.
onChange="updateAll();" onKeyUp="updateAll();" />Possibly… but maybe an ice cream would cheer me up again. (+5 $ / year)
onChange="updateAll();" onKeyUp="updateAll();" />I think I’ll have to pay a couple of fine dinners if that happens. (+50 $ / year)
onChange="updateAll();" onKeyUp="updateAll();" />Well, that would cost me about onChange="updateAll();" onKeyUp="updateAll();" /> $.
Would a new pair of jeans have significant advantages, or technological advancements, over the old one?
onChange="updateAll();" onKeyUp="updateAll();" />Not really. I’m kind of emotionally bonded to the old one.
onChange="updateAll();" onKeyUp="updateAll();" />For starters, it wouldn’t look old. (+15% value over the old one.)
onChange="updateAll();" onKeyUp="updateAll();" />It has an improvement or two. (+30% value over the old one.)
onChange="updateAll();" onKeyUp="updateAll();" />The new one is way better! (+ onChange="updateAll();" onKeyUp="updateAll();" />% value over the old one.)
onClick="updateAll(); document.getElementById('response').style.display = '';" />