Archives de l’auteur : Fab

Golang: lack of generics bothers me

I think I will give up Go, mainly because of the lack of generics. What bothers me is that I can’t see how to write all-purpose algorithm functions like the ones C++ have (I love them), like for example «std::remove_if». Without them, you will have to write the same little pieces of code again, and again, and again. Or use cast everywhere (not great for a language with strong static types).
The built-in functions (like «copy») can do such a magic, but you, developer, can’t.
Oh, it’s possible to do like the package sort: provide to the function an interface that will perform the operations on the data (like «Swap», «Len», «Less»). If I want to implement my «remove_if», implementing such an interface will be a drag.
Same problem if you want to create a generic data structure, like a «set» or a b-tree of anything (interface or native type), and keep the type-safety.

That’s a pity, Go has some great features. Maybe I will try Rust.

One-liner: espace-disque occupé par extension de fichier

Un petit one-liner pour avoir l’espace-disque occupé par extension de fichier. Ne marche peut-être pas avec les fichiers dont le nom a un espace.

find . -type f -printf "%s %f\n" | 
awk '{sub(/.*\./,"", $2);st[$2] += $1} END{for(key in st){print key, st[key]/1000000}}' |
sort -n -k2

Starzik, mauvaise gestion des mots de passe

Je viens de me rendre compte que Starzik.com stocke dans leur base les mots de passe de ses clients en clair, vu qu’ils m’ont renvoyé par mail mon mot de passe perdu. Ça craint. Au lieu de ça, ils auraient dû faire comme tout le monde: stocker un hash et en cas de perte de mot de passe, envoyer un mail avec un lien vers une page de changement de mot de passe. (explication-fiction: un responsable de ce site qui n’a aucune notion de la sécurité a demandé cette « fonctionnalité » et les devs n’ont pu que dire « oui, bien-sûr messire »)

Je crois que je vais m’abstenir d’acheter chez eux tant que c’est le cas. (mise à jour janvier 2017: c’est toujours le cas)

O-Droid X2: some Ubuntu benchmarks

Power consumption:

  • Boot: 16 watts
  • Doing about nothing: 10 watts (I hoped it would be more like 6W)

Read/Write on the 64Go eMMC card (1Go file). Access on my PC SSD card reader:

  • read: 18.5Mo/s
  • write: 9.5Mo/s

Read/Write on the 64Go eMMC card (1Go file), plugged on the Odroid:

  • read: 47Mo/s
  • write: 30Mo/s

Some processor tests. Bad surprise, Firefox is slower than on my Nexus 10. Maybe the ARM «desktop» version of Firefox is not as optimized than the Android one.

Mp3 compression with Lame:

  • AMD Athlon II X4 620: 13s
  • ODroid X2: 35s (x2.7)

Firefox 21, Sunspider 1.0:

  • AMD Athlon II X4 620: 318ms
  • ODroid X2: 868ms (x2.7)
  • Nexus 10: 761ms (x2.4)

Firefox 21, Kraken 1.1:

  • AMD Athlon II X4 620: 4277ms
  • ODroid X2: 14871ms (x3.5)
  • Nexus 10: 9316ms (x2.2)

Chromium 25, Sunspider 1.0:

  • AMD Athlon II X4 620: 370ms
  • ODroid X2: 950ms (x2.5)

Chromium 25, Kraken 1.1:

  • AMD Athlon II X4 620: 4049ms
  • ODroid X2: 12764ms (x3.1)

 

Mon premier scam téléphonique

J’ai reçu aujourd’hui un coup de fil d’un gars qui appellait de la part de «Windows», car mon ordinateur serait infecté. Un gars parlant anglais, avec un accent indien. M’appelant en France, sur mon fixe. Sûrement pour me faire installer des malwares et me soutirer du pognon. Je n’ai pas insisté parce que ce n’est pas la peine de perdre mon temps à le convaincre que c’est immoral (en plus d’être illégal). (en plus je n’ai même pas de Windows, quelle ironie)

J’avais lu un article de Ars Technica là dessus il y a pas mal de temps.

Le clavier bépo Typematrix et moi, un bilan contrasté

Mise à jour de mes impressions quelques mois plus tard.

J’ai acheté il y a 1 an et demi un clavier Bépo (disposition des touches ergonomique et vraiment adaptée au français) de marque Typematrix, puis un deuxième récemment pour le boulot, et voilà le bilan contrasté que j’en fait.

Continuer la lecture