Profile cover photo
Profile photo
Mathieu Lacage
Nurturing, Hunting down and Squashing bugs since 2001
Nurturing, Hunting down and Squashing bugs since 2001

Mathieu's interests
View all
Mathieu's posts

I am looking for a 120cm x 20cm area/10cm height 3-axis cnc for wood-working. Ideally, it could do automated tool changes. I know I can't afford to buy one of these (it would set me back by 4K for a chinese one and probably 10 to 15K for a brand one).

Would someone have suggestions about a DIY project that might match these requirements ?

garbage in = garbage out

yes, I push untested code to production every day but it generally works out just fine. Today, for once, I did nothing and witnessed Facebook's latest code push to its graph API go badly wrong:

- no data or partial data returned for many endpoints
- the data returned now depends on the value of the 'fields' argument when it was ignored before
- but, more amazingly, some endpoints now return new, incorrect data with invalid ids: GET /1 returns {'id' : 2} (that one is really my favorite)

So, the result is that my preeety database is now nicely corrupt: garbage in = garbage out....

One might think that the ferm ubuntu package loads its configuration from its ferm configuration file in /etc/ferm/ferm.conf on every boot...

One would be wrong: /etc/default/ferm has the default option FAST=yes set that loads the configuration using iptables-restore. Now, somehow, I guess that someone thought that iptables-save would be used to during shutdown but it's not the case (on that box at least). What happened in my case is that there was an old configuration saved with iptables-save from the pre-ferm era and on boot, it was restored instead of the fresh one from /etc/ferm/ .

Every single time I see a distribution packager try to be smarter than the original package author, it's a disaster :/ I understand that a lot of package authors are not necessarily super mart when it gets to packaging software but the solution to that problem is not to add extra layers of crap on top of the original package: work with upstream instead.

* countless hours wasted *

Post has attachment
I can't believe I heard that on french public radio +France Inter . Totally awesome programming !

Anyone could recommend a specific brand of router hardware I could use to setup a linux router ? (I am looking for 5 to 10 ports, a decent cpu/ram that would allow me to setup 2 ppoe connections, connection aggregation for aggregate throughput of 5 to 10Mbs with qos on top)

1) I don't want a filthy web-based gui because I always spend more time to understand how the gui works and how it names things than actually setting up the configuration by hand myself

2) I would love to get a stock fedora distribution to avoid the pain involved in dealing with specialized firmware upgrades.

Post has attachment
custom-made summer suit, italian style :)

Post has attachment
truffles from the garden...

Post has attachment

Post has shared content

So, I heard before that mysql sucks. I thought that these were comments from DB-bigots. I was wrong. mysql sucks.

- they provide a character encoding convertor that they call utf-8 but which is not utf-8. (it encodes/decodes only unicode characters whose unicode id < 2^24)

- they provide a character encoder/decoder that they call utf8mb4 which is actually the real utf-8 - they silently truncate bytes from the data stored in columns to a size that depends on the storage engine and the character encoding of the column if a unique key is defined on that column.

- when integrity errors are generated due to the silent truncation above, they report the error but only with the first 64 bytes of the key

- Finally, to add insult to injury and make this really easy to debug, when you select over one of these truncated columns with a value that should be silently truncated, the select uses the un-truncated value to search in the truncated column, hence making it impossible to retrieve a value that was successfully stored in the DB (silentyly truncated) unless you reproduce the truncation algorithm in your code before doing the select.

WTF :/
Wait while more posts are being loaded