J’aime beaucoup ces 3 sujets. Vraiment. Bon après la linguistique je m’y connais pas des masses non plus, c’est un sujet sur lequel j’aimerais bien m’instruire plus. Et les deux derniers je m’intéresse un peu à des sous-ensembles de ces sujets aussi, mais bref, j’adore quand ya des liens qui se créent entre les 3
Korbak, a friend of mine, wrote a joke-article about Jeff Bezos, presenting the Jeff Bezos bomb, a little shell script. He didn’t thought of it as a real bomb, the name was only a joke. But, as it turns out…
Y’a un truc que j’aime beaucoup faire, c’est scripter des trucs pour me faciliter la vie
Et bah ça tombe vachement bien parce que j’ai “dû” le faire pour mbsync 1 et msmtp 2. Bah ouais, la conf est la même pour chaque adresse mail, j’allais pas m’emmerder à tout écrire 4 fois quand même :D
Surtout quand faut faire des changements, y’a juste à les faire une seule fois
L’autre jour (hier à l’heure de la rédaction de cet article, en fait), je me suis posé une question : « On entend vachement parler des algos de tri, et c’est vrai qu’ils sont cools, mais comment on mélange un tableau 1 en fait ? »
Bah ouais : je savais même pas comment on mélangeait un tableau, c’est con quand même !
Bon bah du coup comment on fait ? Et bah on va aller mater du code :D
Disclaimer : Oui, évidemment, Ruby c’est pas le meilleur langage pour faire ça, je sais, merci (vous allez voir une des raisons plus loin dans le billet). Mais c’est le langage que je connais le mieux, et juste pour une petite question que je me posais, j’avais pas envie de passer du temps à chercher comment on fait en Haskell, en Python, ou autre.
Tantôt, je lisais tranquillou ce billet de blog de Eli Bendersky, sur un algorithme rapide (≃ O(log n))qui permet de calculer le reste d’une division.
À la fin, il transcrit le code en Python comme suit :
def fast_remainder(a, b):
if a < b: return a
if a - b < b: return a - b
r = fast_remainder(a, b + b)
if r < b: return r
return r - b