Blog en cours de mouvement

=> Mon nouveau blog

Quelques raisons :

  • Payer un dedié pour mon blog cela n’a pas de sens
  • Je suis entrain d’abandonner mon identité “metrokid” pour privilégier un_jon ou jonathan winandy, je suis diplomé normalement en novembre ;) (time to grow up)
  • Par défault je n’aime pas la complexité inutile, et je pense qu’un tumblr est exactement ce qu’il me faut.

On se voit là-bas ;)

Je vais pas tarder à republier tout le contenu aussi là-bas.

http://jonathanwinandy.net

Vacances aux Pays-Bas !! Finalement pas sans internet

Je l’ai twitté de nombreuses fois, je suis en vacances depuis dimanche aux Pays-Bas ! C’est super, les gens me donnent l’impression qu’ils se prennent moins la tête, et en plus il a fortement neigé, et cela tient.

Et je n’avais pas internet, et je ne comptais pas en fait l’avoir, j’avais prévu des vacances tranquilles, un peu trop car mes hôtes sont au boulot la journée jusqu’à Jeudi, et à part me gaver de ciné, ou commencer les visites de Liege, Mastricht, Amsterdam … tout seul, je ne fais que me remplir le ventre la journée, et réfléchir à comment va être 2010.

Comment avoir internet partout aux Pays-Bas ? Comme en France je vais vous répondre, vous prenez un iPhone, vous lui trouvez un data-plan, puis vous lui chargez le bon bundle des familles de votre opérateur NL préféré/choisi. (ref http://metrokid.fr/2009/08/se-servir-d-un-iphone-comme-modem-iphone-os-3-0-orange-et-bouygues )

Mon choix s’est porté, après avoir bavardé avec les boutiques de telco locales, sur Vodafone NL. Vodafone NL a une offre prépayé (c’est à dire seulement avec une carte SIM + avec un peu de communication dessus).

Prix de l’opération : 27,50 € pour :

  • Une carte SIM et un numéro de téléphone NL
  • 15,50 € de crédit téléphonique
  • Internet illimité pendant 30 jours  (9,50 €)

Conditions :

  • Avoir un iPhone qui n’est pas bloqué sur un opérateur, c’est à dire :
    • L’avoir acheté à nu (donc desimlocké)
    • L’avoir bien jailbreaké
    • L’avoir, heu … desimlocké en négociant avec votre opérateur.
  • Pour avoir en plus le tethering, c’est à dire le modem :
    • La version au plus 3.0.1, au moins 3.0.0 de l’iPhone OS
    • Peut-être que le Jailbreak désactive la vérification du cryptage (qui est venu avec l’iPhone OS 3.1.0) sur les bundles de configuration (IPCC)

Pour la configuration si vous avez déjà utilisé un bundle pour le réseau Français, il y a des chances pour que les conf APN soient accessibles :

  • APN : live.vodafone.com
  • Username : vodafone
  • Password :  vodafone

Pour le bundle, il suffit d’aller sur ce site, le télécharger, et l’installer : http://www.cyberhq.nl/2009/06/18/updated-vodafone-nl-carrier-settings.html (les instructions pour l’installations sont les mêmes que dans mon article précedant sur le sujet : http://metrokid.fr/2009/08/se-servir-d-un-iphone-comme-modem-iphone-os-3-0-orange-et-bouygues)

Puis voilà !! Internet sans les 2000 € de facture.

Informations et références :

De retour aux Utopiales !!

Je n’ai pas eu la chance d’assister aux Utopiales l’année dernière, du fait que j’étais en république tchèque au moment de l’événement.

Ca fait du bien d’y retourner. Alors les Utopiales en quelques mots, c’est un festival de science fiction qui se passe à Nantes fin octobre début novembre à la prestigieuse cité des congrès.

C’est le 9ème impact, pardon la 10ème édition, et pour moi la 3ème fois que j’y passe.

Alors qu’est ce que cela a été pour moi les utopiales ? Toujours une grande source d’inspiration, toujours ce sentiment à la fin que j’aimerai faire du dessin, mais que j’aurai jamais le talent de dessinateurs présents, et des découvertes dans le domaines du cinéma.

Et quels découvertes : Zebra Man, Suicide Kiss, et Doom m’ont beaucoup marqués (Doom m’a beaucoup fait rire), beaucoups de courts métrages et de très bon, comme DVD, et autres j’en passe.

Je me souviens aussi d’une discussion interminable avec Denis Bajram, l’auteur et dessinateur d’Universal War One, puis la rencontre des frères Bogdanoff. Enfin bon que de bons souvenirs.

Là cela commence déjà bien, alors des conférences comme “Peut-on se protéger de tout ?”, et un longue discussion avec les personnes du stand d’AVE!COMICS qui ont fait des choses très très belles pour la difusion de BD sur Iphone (et on sait tous que c’est dur de diffuser sur iPhone), plate-forme mobiles en général, et PC/MAC.

Là je vais reprendre en cours la confèrence sur le rêve d’immortalité. Puis je repasserai plus tard sur ce billet afin d’ajouter des liens, corriger des fautes d’orthographe ;)

“Your Blog is Your Mothership” http://blog.metrokid.fr => http://metrokid.fr

En fait, je pensais mettre une page d’accueil pour http://metrokid.fr, mais je n’ai pas eu d’idées depuis, donc j’ai décidé de mettre mon blog à la racine.

Sinon un article du WEB WORKER DAILY, et merci à Darklg pour sa veille techno (@darklgweb).

Mise à jour Facebook pour iPhone, je suis légèrement déçu, pas de push.



Tout le monde en parle, c’est beau, Facebook restera une app de référence avec la version 3.0 (la version 2.0 était déjà en référence que je bossais comme iPhone dev), mais en fait, je n’attendai qu’un truc, le push qui ferait de l’app facebook, un très bon “instant messenger”. Tanpis tanpis tanpis, cela sera pas avant la 3.1.

Sinon à quand la mise à jour de minigore ?



J’ai installé google analytics.

On va voir ce que cela donne plus tard. Pour l’instant, je n’ai pas encore envoyé beaucoup de lien vers ce blog, donc je me doute que le traffic doit être presque null, mon page rank proche de zéro, etc, etc. Donc c’est le moment idéal pour voir comment ces choses là évoluent.

Se servir d’un iPhone comme modem (iPhone OS 3.0, Orange et Bouygues)

Donc ça c’était moi dans le train il y a un mois. J’étais parti prendre quelques jours à Royan, histoire de sortir de mon appart et d’aller sur sable … mais je ne suis pas parti sans internet grâce à mon iPhone.

Activer le “tethering” (ou le partage de connection) sur l’iPhone, c’est très simple. Élements nécessaires :

Pour Mac

UPDATE : Video complète de la manipulation

Il faut ouvrir le terminal (terminal.app) et copier/executer cette ligne

defaults write com.apple.iTunes carrier-testing -bool TRUE

Redémarrez iTunes, puis allez dans le panneau de iPhone, clickez sur update avec le bouton alt enfoncé et sélectionnez l’ipcc. Faites un update (c’est pas lourds, cela prend 30 secondes au plus), et redémarrez votre iPhone, c’est prêt.

En video pour le clic.

Pour l’utiliser, simplement il faut brancher le cable USB, et dans les paramètres de l’iPhone, dans General/Network, il y a une nouvelle option : Partage internet. Il suffit de l’activer, puis le Mac va détecter tout ça… (que c’est beau, un Mac)

Quelques screenshots :

Pour nos amis sous Windows

Je terminerai ce post un peu plus tard, car il faut que j’aille voir mes frères pour faire des jolis screenshots.

UPDATE : Pour Windows, mon petit frère vous a fait une demo =)

Et le hors forfait ?

Ces deux IPCC ne font pas de hors forfait sur nos téléphones, mais il y a bien de vérifier avant sur le votre !

Si vous avez des soucis, n’hésitez pas à mettre des commentaires, je réponds assez rapidement. Pour SFR, je n’ai pas trouvé de personne sur qui tester, donc si quelqu’un a un iPhone avec SFR et veut servir de cobaye, je prends ;-)

TSP (Travelling salesman problem) dans EVE ONLINE.

Pour ceux qui ne le savent pas encore, je joue de manière assez irrégulière à EVE ONLINE. En gros c’est un MMORPG qui se base sur un seul serveur (tout les joueurs d’EVE jouent ensemble à la différence de World of Warcraft ou OGame). C’est un univers futuriste où l’on incarne un capsuler, c’est à dire un pilote de vaisseau immortel, car il peut télécharger sa conscience dans des clones.

Je suis tombé sur un message très intéressant aujourd’hui :

Un peu de contexte

Dans EVE ONLINE je suis un tradeur. EVE a son propre système financier basé sur deux composantes, un marché de biens, et un marché des contrats. Je vais relativement passer rapidement sur les contrats, en gros il y a de plusieurs types :

  • Enchères
  • Echange de biens
  • Transport
  • Location
  • Forme libre

l’échange et le transport sont les principaux utilisés de part ma connaissance.

Le marché de biens permet deux actions, des ordres de vente et d’achat qui sont attachés à une station. L’univers d’EVE est découpé en regions, qui contiennent des systèmes solaires, qui contiennent eux même des stations qui gravitent le plus souvent autour d’objets célestes. La circulation entre deux systèmes se fait à l’aide de porte de saut (jumpgate). On compte donc la distance entre deux systèmes par le chemin le plus court en nombre de saut (jump). Et un marché représente une région, c’est à dire que les ordres d’achat et de vente ne sont visibles que pour une region donnée.

  • La vente se fait en définissant une quantité (que l’on doit avoir pour la vente) pour un bien, cela va du railgun à la starbase en passant par tout les types de vaisseaux en tout genre et les biens de marché pur (insignes, matériaux de construction, narcotiques, …) pour une certaine durée:
    • immédiate (tente de résoudre le deal avec les ordres d’achat à coté)
    • plusieurs jours

    pour un certain prix à l’unité.

  • L’achat donne droit à 2 options supplémentaires, une quantité minimale pour chaque transaction, mais surtout la distance de validité de l’ordre d’achat.

Et donc il y a moyen de gagner des ISK, monnaie du jeu :15M ISK valent environ 1€ normalement pas échangeable [en, BBC], en faisant de l’arbitrage [en, wikipedia] de manière plus ou moins efficace en fonction de la liquidité des biens que l’on arbitre, de la zone que l’on veut couvrir (cela induit des déplacements), des taxes sur les ordres d’achat/vente…

En général je me balade à 3-4 jump d’Ourslaert (dans la region Essence, chez les Gallente) pour faire mon arbitrage, mais j’ai des biens qui se sont stockés progressivement plus loin, entre 4 et 7 jumps, et donc je me suis dit, ce soir je code à moitié/regarde nolife-tv, je peux laisser tourner l’autopilot pour aller chercher tout ce bazar. Oh surprise quand je veux optimiser automatiquement mon chemin, Eve me sort un “tu connais le problème du TSP ?”

Oui je connais le problème du TSP !

Le problème est que j’ai sélectionné beaucoup de système de passage, 13 exactement, et que cela fait globalement
niveau temps de calcul (le n2 vient de l’initialisation du problème, mais n2 devient vite négligeable comparé au n factoriel, n = 13 ici). Cela a pris globalement 2 minutes pour calculer mon trajet avec 13, donc pour 14 => environ 30 minutes, pour 15 => 7h30, et ainsi de suite.

Pourtant j’ai des biens dans plus de 60 systèmes (les systèmes marqués d’un point rouge, en partie visibles ici) !

Il paraît qu’il y a une solution avec d’autres algorithmes, mais cela prend beaucoup de plus de place.



EVE possède un API assez rudimentaire, qui me permet d’acceder à la liste de mes biens, et j’ai réussi à monter dans un serveur local mysql un dump partiel de la base de données d’EVE. Donc il se peut qu’un jour je tente de coder un peu pour minimiser mes déplacements/maximiser mon gain. Le problème avec EVE est que beaucoup des optimisations/astuces connues se base sur de problèmes métriques, le jump est loin d’être métrique (et il ne faut pas prendre en compte la distance entre les jumpgates dans un système, sinon on s’en sort plus). À voir … pour l’instant j’écoute du buono, et cela fait du bien !!

et aussi du Halcali. (ici aussi)

Cela fait beaucoup de cases en bleu. [Windows 7 upgrade]


La façon dont va se gérer les upgrades de windows 7 me laisse un peu perplexe. On va dire, je ne suis pas concerné, mais cette histoire de “custom install” dans la pluspart des cas n’est pas très satisfaisante.

Ceux qui ont le courage de lire l’article d’origine jusqu’au bout verront que le “In-Place upgrade” n’est pas mieux. Deciphering Windows 7 Upgrades: The Official Chart

Enfin bon, moi j’attends de mon coté Snow Leopard, qui doit être pour fin septembre, et au moins je ne perdrai pas mes programmes et configurations dans cette mise à jour majeur qui ne coute que $30. (Pour être honnête, je vais attendre 1 à 2 semaines après la sortie pour voir si l’on ne perd rien ^^)

Sinon, pour l’année prochaine (à partir de septembre), il y a de grandes chances pour que je sois MSP (Microsoft Student Partner), donc je vais être un peu plus proche de tout ça et avoir un meilleur point de vue.

J’en vois déjà qui crie à l’hérésie, mais je vous assure, je tiendrai cette position avec le plus grand sérieux, surtout avec la sortie d’une “bonne version de windows” (ça me rappelle d’un xkcd que je n’arrive pas à retrouver avec une sinusoide représentant l’apparition des bonnes et mauvaises versions de windows avec le temps). Je vous tiens au courant ;-)

Petit outil pour se tenir au courant en temps réel des changements sur un SVN

En discutant avec Nelle (a.k.a Nux) de Basie, un Trac-like basé sur Trac, mais multi-projet, on est arrivé à la conclusion suivante, il manque le diff complet dans les flux RSS qui sortent de Trac|Redmine. Pourtant cela serait super pratique pour faire de la revue de code.

Puis en continuant dans mon coin, j’ai pensé que cela ne serait qu’un pas en avant. Le RSS est un outil que j’utilise pour regarder une quantité incroyable de news, et donc faire une revue de code entre un post d’@Korben et de The Sartorialist … HaHa.

En attendant qu’il y ai une option pour ça dans les Trac|Redmine, j’ai codé un petit script en python bien sympa qui m’ouvre automatiquement dans mon éditeur de texte du moment (cf. Textmate) le résultat de `svn log“svn diff` pour chaque révision qui arrive sur le serveur. Voici la video (à l’arrache, la prochaine fois je mettrai en musique de fond une musique d’ascenseur) :

Et le code du script (j’ai corrigé 2-3 trucs, suffisant pour le publier)

[sourcecode language='python']
# -*- coding: utf-8 -*-

# Mon nom c’est svnSPY
# Et mon auteur, c’est Jonathan Winandy (aka Metrokid)
# Et ma license, c’est une LGPL version 3
# Et si vous arrivez à me vendre, je vous félicite par avance !!

import os
import re #re pour les expressions régulières.

url = “http:// svn:// ou un chemin vers un checkout”
program = “mate” # remplacer par “bbedit” pour BBEdit, “edit” pour TextWrangler …
#”open -a %OtherApps%” pour les autres
file = open(“lastrev”,’r')
lastrev = int(file.read())
file.close

revisionRe = re.compile(r’revision=”(\d+)”‘,re.MULTILINE)
authorRE = re.compile(r’(.*)‘,re.MULTILINE)

fin, fout = os.popen4(“svn info –xml “+url);

outresult = fout.read()

revisionNum = lastrev # un moyen simple de régler le problème de connexion (l’erreur ne s’attrape pas finalement car elle est dans le langue du système (et je ne vois pas où récupérer l’exit code))
for first in revisionRe.findall(outresult):
revisionNum = int(first)

author = “–”
for first in authorRE.findall(outresult):
author = first

print author+” : “+str(revisionNum)

if lastrev < revisionNum:
file = open("lastrev",'w')
file.write(str(revisionNum))
file.close

mateargs = ""
for i in range(lastrev+1,revisionNum+1):
fin,finfo = os.popen4("svn log "+url+" -r "+str(i))
fin,fout = os.popen4("svn diff "+url+" -r "+str(i-1)+":"+str(i))

mateargs = mateargs + " rev"+str(i)+".diff"
file = open("rev"+str(i)+".diff",'w')
file.write(finfo.read())
file.write(fout.read())
file.close()

if (lastrev +1 <> revisionNum) or (author <> “Jon”):
#ouverture une première fois pour grouper les fichiers
fin,fout = os.popen4(program+” “+mateargs)
#ouverture une deuxième fois pour afficher les fichiers dans des tabs
for i in range(lastrev+1,revisionNum+1):
fin,fout = os.popen4(program+” rev”+str(i)+”.diff”)

[/sourcecode]

Bonne fin de week-end ;-)