Xavier Nayrac

Rubyiste accro au TDD, serial blogger, heureux utilisateur de Vim, accordéonniste.
Si vous vous sentez particulièrement généreux, suivez moi sur Twitter.

Dis digital encore une fois

| Comments

Je suis un pessimiste optimiste. C’est à dire que ma raison sait qu’une cause est irrémédiablement perdue depuis longtemps, et malgré tout, mon cœur me pousse à faire quand même quelque chose, parce qu’on ne sait jamais.

Le combat «digital» vs «numérique» illustre parfaitement mon pessimisme optimiste. La cause est entendue depuis longtemps, l’anglicisme «digital» a gagné et écrasé haut la main (haha) le mot «numérique», et pourtant je tente quand même de réhabiliter «numérique», à mon petit niveau, en l’employant toujours et partout à la place de digital.

Les maths derrière V=RI

| Comments

Niveau : facile

\(V = RI\), la formule est simple. V pour le voltage (en Volts), R pour la résistance (en Ohms) et I pour l’intensité (en Ampères). Grâce à elle nous pouvons calculer l’ampérage si nous connaissons le voltage et la résistance:

Et nous pouvons aussi calculer la résistance si nous connaissons le voltage et l’intensité:

Pas besoin d’être fort en math pour pouvoir appliquer ces 3 formules. On a juste à faire une multiplication, ou bien une division. Mais si on veut comprendre pourquoi les deux dernières formules découlent de la première, il faut un minimum de bagage en math.

Cet article est pour celles et ceux qui ont séchés les cours de math au collège et qui voudraient maintenant comprendre pourquoi \(V = RI\) implique nécessairement \(I = V / R\). Je vais tâcher de tirer et d’expliquer tous les fils qui nous amène à déduire la seconde formule à partir de la première.

Une machine de Turing en Ruby - Une bande de données infinie

| Comments

Niveau : facile

Dans la définition d’une machine de Turing on trouve:

Le ruban est supposé être de longueur infinie vers la gauche ou vers la droite, en d’autres termes la machine doit toujours avoir assez de longueur de ruban pour son exécution. — Wikipédia

C’était une grande limitation de l’implémentation de ma machine de Turing que d’avoir une bande de taille fixe. Avec la nouvelle version, cette limitation est désormais levée.

Une machine de Turing en Ruby - Le parser

| Comments

Niveau : facile

La machine de Turing réalisée dans le dernier article était seulement un brouillon, et elle souffre de plusieurs limitations. J’aimerais maintenant faire évoluer le programme en permettant à l’utilisateur de charger un jeu d’instructions quelconque. Pour cela j’aurai besoin d’un parser, qui sera vite écrit grâce à Ruby.

Une machine de Turing en Ruby

| Comments

Niveau : intermédiaire

Avec le film Imitation Game sorti récemment, Alan Turing, qu’on peut considérer comme un père fondateur de l’informatique, fait l’actualité. Je vous propose, dans cet article, de réaliser une machine de Turing en Ruby.

Mes premiers pas avec Arduino

| Comments

Niveau : facile

Ça faisait un ou deux ans que l’envie me titillait. Jouer avec Arduino, Raspberry Pi, etc. Mais essentiellement par manque de temps, je n’avais pas encore franchi le pas. Et puis dernièrement, on m’a offert le Starter Kit Arduino. Plus de faux pretextes, je devais m’y mettre ;)

Mieux utiliser le programme gem

| Comments

Niveau : facile

Le programme gem est bien connu des rubyistes, et ce pour une bonne raison: il est au coeur de l’utilisation de Ruby. Si je veux par exemple profiter de awesome_print dans ma console irb, je vais l’installer grâce à gem:

$ gem install awesome_print

De même, avez-vous déjà vu une appli Rails se passer d’un Gemfile ?

Gemfile
1
2
3
4
5
6
source 'https://rubygems.org'
ruby '2.0.0'

gem 'rails', '4.0.0'
gem 'pg'
...

En fait, si vous avez fait seulement 3 jours de Ruby dans votre vie, vous savez utiliser gem. Mais l’utilisez-vous à fond ? Moi, non. Enfin pas encore.

To tap or not to tap en Ruby ? C’est la question

| Comments

Niveau : facile

Le monde des Rubyistes est divisé en deux: ceux qui utilisent Object#tap à tout propos, et ceux qui ne connaissent pas cette méthode. Dans l’article Five Ruby Methods You Should Be Using sur le blog d’Engine Yard, Ben Lewis nous parle justement, entre autre, de Object#tap en expliquant très bien son mécanisme.

Mon article d’aujourd’hui sera lui aussi divisé en deux, d’abord une traduction en français de l’article original de Ben Lewis sur Object#tap, puis une critique (que j’espère constructive) à la fois de l’article et de la méthode tap