TCO12 – Algorithmie

C’est vrai, cela fait un moment que je n’ai pas écris sur mon blog, mais je regarde de temps en temps s’il y a des commentaires (J’avoue, j’en ai au moins 1 en retard, mais promis je m’en occupe rapidement ;) ).

TCO12 ?? En fait, le TCO12 (TopCoder Open 2012) est une compétition de programmation et de “design” organisée par TopCoder.com. Cette compétition est division en 5 sous-compétitions: Algorithmie, Design, Développement, Marathon, “Mod Dash” et “Studio Design“. Au bout, pour les vainqueurs, il y a de l’argent, des goodies…

Read more »

Forensic

raise data recovery for xfs

Je me suis dit qu’il serait intéressant que je fasse un petit retour d’une de mes expériences: La récupération de données.

L’histoire débute avec un coup de fil d’un ami qui me fait part d’un gros problème qu’il a rencontré. Son webmaster, suite à une mauvaise manipulation, a supprimé son site Web (les pages et la base de données…physiquement) et il n’a aucune sauvegarde. Suite à ça, je lui demande de ne plus rien faire sur ce serveur, mais cette requête est impossible puisque le serveur se trouve être un serveur de production et héberge plusieurs sites.

Read more »

Quoi de neuf?

Cela fait un moment que je n’ai pas posté sur mon blog…… depuis que j’ai commencé mon nouveau boulot à Cast. Le thème de mon travail n’a pas beaucoup changé, ça tourne toujours autour de l’analyse statique de code (comme à Metaware), mais il y a quand même 2 grands changements:

  1. Le langage de progammation: Je développe principalement en C++ (Java pour les outils périphériques). Ce n’est pas plus compliqué qu’un autre langage, mais il faut faire attention à son style et utiliser les constructions en étant sur de leurs sémantiques, histoire d’éviter d’éventuels crashs.
  2. Le processus de développement: A Cast, on écrit les tests avant de développer, on fait des “design review”, quand cela est nécessaire on fait des revues de code…

J’ai également suivi l’actualité: les “départs” de Steve Jobs (tout le monde le connait), Dennis Ritchie (le créateur du C), et récemment, John McCarthy (le papa de Lisp).

Ce matin, je “zonais” sur le Net et j’ai trouvé ce post. Il parle d’une rencontre entre Steve Jobs et Donald Knuth, où Steve Jobs a dit à Don qu’il avait lu tous ses livres et Don aurait répondu “Tu es plein de merde” (désolé, c’est une traduction littérale car je ne connais pas l’expression française équivalente). Ci-dessous une conférence donnée par Randall Munroe à Google où Knuth est sorti de nulle part, et Randall a saisi l’opportunité pour en savoir plus sur cet “entretien”.

YouTube Preview Image

La Nuit du Hack 2011

Pour un retour en douceur sur la toile, je vous propose un retour de la NdH 2k11 (la nuit du hack 2011). Elle s’est tenue samedi 18 juin dans la salle de conférence de l’hotel New York au Parc Disney.

Ce fut très intéressant et l’ambiance était vraiment super. J’ai pu faire quelques photos de quelques présentations qui m’ont intéressées (désolé pour la qualité).

La première conf’ portait sur Android et la sécurité. L’idée est qu’il faut faire attention aux options qu’on active (debugger mode) et faire attention aux besoins de chaque application (ex.: une application de jeu de Go qui aurait besoin d’accéder à la liste de contacts par exemple). En gros, les androphones qui sont susceptibles d’avoir des problèmes de sécurité sont ceux qui ont été “rooted”.

On a eu une conf” intéressante sur l’avenir de la sécurité informatique et ce qu’il faut faire, ce que tout le monde doit faire pour les découvertes en informatique (et aussi dans les autres domaines), ne soient pas utilisées à mauvais escient.

Il y a également eu une conf” intéressante sur la recherche de vulnérabilités dans le kernel Windows. Approche intéressante, pas toujours facile à suivre (néophyte en la matière) mais super.

Sinon dans les confs qui font peurs, on a eu droit au crochetage de serrures (lockpicking). Effrayant car apprendre le “lockpicking” est simple et accessible à n’importe qui pour peu qu’on s’y intéresse.

Et dans la série des conf’ “à ne pas rater” mais que l’on a raté: Reinventing Old School Security (la présentation est disponible ici)

Et pour finir, on a eu droit à une conf’ où le gars nous explique comment draguer et coucher avec une fille (en passant par des explications sur la théorie de Darwin and co),et  une autre conf’ où les conférenciers ne pouvaient rien dire sur les failles qu’ils avaient découvertes dans l’architecture réseau d’un FAI français (Orange ;) ) ….enfin si “on a scanné….on a lancé un traceroute…. on a pingé”…tout çà pendant 45 min…Bon peut-être pour une prochaine fois ;)

A part les conf’, la NDH c’est aussi le CTF, le Wargame publique (qui n’a pas eu lieu cette année pour cause de problèmes), mais aussi des ateliers (PS3 rooting, lockpicking…)

En conclusion, c’était un moment sympa entre potes, on a bien rigolé ( pas vrai Darwin ;) ), on a appris pas mal de choses (en tout cas pour ma part) et très bonne ambiance (en plus on a eu un t-shirt et sticker :D ) En espérant que l’année prochaine ce soit encore meilleur ;)

Programming Praxis: Lowest Common Ancestor

Bon, j’essai de retrouver un rythme régulier, mais c’est pas facile avec mon nouveau boulot. Mais bon j’y travaille ;) .

La semaine dernière, je me suis attaqué à cette exercice. L’idée est simple, il faut trouver l’ancêtre commun à 2 noeuds d’un arbre qui se trouve le plus loin de la racine. C’est le genre d’exercices qui peut être demandé lors d’entretiens d’embauche.

Read more »

Metaware: la fin

J’aurais travailler au final 3 ans et 3 mois chez Metaware. 3 années pendant lesquelles j’ai beaucoup appris, tant sur le plan technique que sur le plan relationnel, avec des personnalités différentes et enrichissantes (allant du Lispien, Coboliste, en passant par le(s) chercheur(s), les experts DB, jusqu’au manager).

Mais tout à une fin. Le 30 Novembre 2010, je leur ai fait part de mon désir de partir.

En février 2010, j’ai pris du recul sur ma carrière et mes aspirations professionnelles, et je n’arrivais plus à imaginer mon futur chez Metaware. J’avais envie de voir autre chose, autre(s) langage(s), autres méthodes de travail. Donc d’ici 15 jours, je dirai au revoir à mes collègues Metaware et bonjour à mes nouveaux collègues de Cast.

Maximum Sum Subsequence – Programming Praxis

Oulala, ça fait un moment que je n’ai rien posté. En ce moment, je suis pas mal occupé (famille, boulot),  je retrouverai un rythme plus régulier d’ici quelques jours ;)

En travaillant dans le CLRS (Introduction to Algorithms), j’ai trouvé un exercice commun au site programming praxis: maximum sum subsequence.

Il faut trouver dans une liste de nombres (positifs ET négatifs), une sous-liste dont la somme des nombres est maximale.

Le but de l’exercice est d’écrire différentes versions de cette exercice en fonction de la complexité: n3, n2, nlogn et n.

Read more »

Dijkstra – Programming Praxis

Hier soir, je me suis attaquer à cet exercice: implémentation de Dijkstra. Cette algorithme est beaucoup utilisé puisqu’il permet de trouver le chemin le plus court entre 2 sommets d’un graphe dirigé. Comme vous pouvez l’imaginer, cet algorithme peut s’appliquer dans beaucoup de situations: Ex. vous souhaitez connaître trajet le plus court entre 2 stations de métro…

Read more »

Programming Praxis – le Père Noël

C’est avec un peu de retard que je m’attaque au codage de cette exercice proposé par l’équipe de Programming Praxis. L’idée est de calculer la distance totale parcourue par le Père Noël pendant la nuit du 24 au 25 décembre. On nous fourni un fichier data.js qui contient, dans un format Javascript, les informations nécessaires aux calculs (longitude et lattitude) ainsi qu’une page Wikipedia expliquant comment calculer la distance entre 2 points se trouvant sur une sphère.

Read more »

Bonne année 2011

Je vous souhaite à tous une bonne et heureuse année 2011. Et pour commencer cette nouvelle année, je vous propose une petite lecture: http://poita.org/index.php/c-programming/56-metafck-a-compile-time-brainfck-interpreter

On a tous fait un jour un interprète pour ce langage (enfin, ceux qui ont écrit des interprètes et/ou compilateurs et qui ont entendu parlé de ce langage – BrainF*ck), mais ici, ce qui est intéressant, c’est l’aspect “compile-time” et meta-programming en C++. Je vous laisse à cette petite lecture et reviendrai plus tard avec de nouveaux articles de programmation et sur mes dernières lectures.