Posts
I have been the CTO of Arkhn for two years now, during this time we’ve been building the best data platform to empower healthcare providers, make better decisions and improve patient outcomes.
I've been coding since 2006, during this time I've seen multiple trends & technologies emerge, rise and fall - nowadays the elephant in the room is the bad press around OOP languages the likes of Java, C#, C++.
With the Apache Spark 1.3 release the Dataframe API for Spark SQL got introduced, for those of you who missed the big announcements, I'd recommend to read the article : Introducing Dataframes in Spark for Large Scale Data Science from the Databricks blog. Dataframes are very popular among data scientists, personally I've mainly been using them with the great Python library Pandas but there are many examples in R (originally) and Julia.
Apache Spark's default serialization relies on Java with the default readObject(...) and writeObject(...) methods for all Serializable classes. This is a very fine default behavior as long as you don't rely on it too much...
Ever wanted to try out Apache Spark without actually having to install anything ? Well if you've got Docker, I've got a christmas present for you, a Docker image you can pull to try and run Spark commands in the Spark shell REPL. The image has been pushed to the Docker Hub here and can be easily pulled using Docker.
So exactly what is this image, and how can I use it ?
Many of the concepts of Apache Spark are pretty straightforward and easy to understand, however some lucky few can be badly misunderstood. One of the greatest misunderstanding of all is the fact that some still believe that “Spark is only relevant with datasets that can fit into memory, otherwise it will crash”.
This is an understanding mistake, Spark being easily associated as a “Hadoop using RAM more efficiently”, but it still is a mistake.
I'm using more and more Lucene these days, and getting in depth on a few subjects, today i'm going to talk to you about how to handle the new Highlighting features available with Lucene 4.1.
I've began to work more and more with the great “low-level” library Apache Lucene created by Doug Cutting. For those of you that may not know, Lucene is the indexing and searching library used by great entreprise search servers like Apache Solr and Elasticsearch.
Don't get me wrong, i love Apache Solr, i think it's a wonderful project and the versions 4.x are definitely something you should check out when building a proper search engine.
Je ne suis pas le plus aguerri des vétérans, et je m'en rend compte encore assez souvent pour savoir que j'ai encore des sempaïs dans plus d'un domaine (pas que technique) dont certains avec qui j'ai la chance de travailler, même si ce n'est pas tout le temps au jour le jour.
As time is always running out, i don't think i'll have the time in a while to work again on the data I collected for the last three articles, Going offline with Maven, State of the Maven/Java dependency graph and State of the PyPi/Python dependency graph.
At Lateral-Thoughts, we organize at least once a year, what we call a “Timeoff” where we get together in a nice place and hack on what we want. It can be a learning period or a startup weekend-like event where we hack on a product/idea. Last time it was in a nice house in Guérande where we had everything we needed, internet access, rooms, tables, lots of space, an indoor swimming pool and a barbecue !
So here it comes, the second part of a three part articles on dependencies in different world, the first part was about Python/PyPi dependencies and considering the size of the graph : 20661 Nodes, 14047 Edges, I was able to show you the graph in an interactive javascript app using SigmaJS. But this times it's different, after extracting the metadata from Maven repositories, the raw data file generated weights 273M, and the size of the whole directed dependency graph is 186 384 Nodes and 1 229 083 Edges, in other words, it's going to be tough to show you the whole graph interactively but the raw data, the graph file and the Gephi file are available on the GitHub project.
I usually work in Java/Maven environment, so when I explain to people that Python also has a package manager - a bit less heavy than maven - and that it's working pretty well, I always have to answer the same question : “Ok, but how does it solve the transitive dependency hell ?”
c'est l'histoire d'un concept, vieux comme le monde, la démocratie.
Bon déjà, c’est facile, c’est moi qui la ferait donc ça sera forcement intéressant (au moins un peu !), ensuite plusieurs points.
Voilà le #hackathonLT “été 2012” est fini pour moi, c’était bien sympa. Difficile d’arriver à expliquer à tout le monde l’ambiance ou l’organisation, vu que le but était de ne pas vraiment en avoir… mais pour faire simple imaginer ça :
Je vois de plus en plus de devs et autre afficionados technolo-geek commencer à ne jurer que par le cloud, alors à défaut de présenter une vision partiale et totalitairement contre, ce que je ne suis pas, j'aimerais bien tempéré un peu ces ardeurs.
So in your life, one of these days, you're going to realize you need tests, and that “maybe” you also need to test components that depend on several Celery tasks.
En développement, comme dans beaucoup d'arts martiaux, on peut devenir fort assez rapidement. On peut se fixer des objectifs (une ceinture, une victoire / maitriser une technologie ou réaliser un projet perso) et les atteindre rapidement selon le language, le maître et l'implication qu'on y met.
Voilà c’est fait, après maintes péripéties et une attente longue je l’avoue, le projet est enfin publié en AGPL v3.
Un état de fait m'énerve, il m'énerve d'une part parce que dans d'autres domaines professionnels, il n'est pas aussi exacerbé, et d'autre part parce que je pense que la tendance s'accélère.
So i’ve been a professional Java developper for a few years now, and the question seems interesting to me. Should, let’s say a student, really learn Java even if he does not want to do “Enterprise applications” ?
Short answer, Yes.
Juste pour faire un petit point autour de la HADOPI et plus précisément de la position de la HADOPI envers les proxy, et plus spécifiquement de la distribution des proxy comme le fait TOR.
In the series of the Python “features” that makes me happy last time i began with two concepts, the with statement and the list comprehensions, now i'm going to talk about Multiple assignments and the import aliases.
There are many occasion where you may be limited using your own IP address, i will obviously only refer myself to “rightful” cases where you need to use different IP address in very short lapse of time. Let's say you want to test your website localization functionality, or just access it using many different IP address and see how the system deals with it.
I've just watched Hillary Mason's talk in Pycon 2011 : http://pycon.blip.tv/file/4878710/
And that got me thinking about all the python constructs that makes my day better, and i decided to make a list of them and their meaning.
Even if that seems common sense, i found out that there's not that much sources that explains how to use PDB with Django's bundle webserver. So here we go, let's say you have some treatment like that :
J'avais déjà publié à la fois la lettre de la RATP me mettant en demeure de fermer le site incidents-ratp.com et mon ressenti sur toute cette affaire, mais là l'histoire continue.
On peut dire beaucoup de choses, mais pas que l'on chôme. Une application IPhone développée par Benoît Clouet est en préparation et bientôt prête pour être testée. Nous avons beaucoup travaillé ensemble sur la communication avec l'API du site, et voici un petit screencast de présentation de la version de test actuelle (chargement un peu long) :
J'aime beaucoup les chiffres, mais surtout les chiffres bien utilisés. J'ai eu très peu de temps à consacrer à ce blog ces derniers jours, et beaucoup de temps pris par les interviews et la communication de manière générale. C'est nouveau pour moi dans le sens où pour une fois mes propos sont très largement et systématiquement déformés dans beaucoup des medias. Je ne blame personne et le message que je tenais à faire passer est “globalement” bien ressorti, donc je ne vais pas me plaindre.
La, maintenant célèbre, lettre de la RATP que j'ai reçu me demandant d'arrêter toute activité sur incidents-ratp.com. J'ai bien sûr retiré toutes références aux personnes et adresses y compris le personnel de la RATP.
Depuis quelques mois je travaillais sur un projet que j'avais intitulé incidents-ratp.com avec un but simple : mettre à disposition une plateforme libre et ouverte pour connaître les incidents en temps réels dans les transports en commun.
Principal talk de la journée - Facebook messages avec HDFS/HBase :
Une présentation du projet de Facebook d'unifié tous les messages (SMS, Email, Chat...).
La journée commence bien, petit déjeuner à l'hôtel, et voyage vers le FOSDEM. Petite grasse matinée oblige, on loupe les premières conférences sur la liberté des logiciels et la liberté tout court pour arrivé dans un amphi gigantesque, mais surtout plein à rebord.
Vendredi soir, après une longue journée de boulot, et un petit voyage en train d'1h30, rendez-vous Bruxelles pour une soirée sympa au beer event du FOSDEM 2011.
Le FOSDEM 2011 (Free OpenSource Developer European Meeting) aura lieu ce weekend du 5 février à Bruxelles !
Ca y est ! Fin de mission aujourd'hui.
Ok, ce n'est très certainement pas mon domaine d'expertise, mais je suis un programmeur Python, principalement sur Django et je cherche souvent un hébergement.
Ca y est l'édition d'octobre 2010 du Startup Weekend de Paris qui c'est tenu à Télécom Paris est terminée. C'était ma première fois, et comme le promettait l'affiche, c'est clair que je reviendrais.
I honestly have been waiting for this since the first day i met with Thorsten Behrens and worked with him and Eric Bachard on improving OOo Impress.
This article is once again more of a reminder to me, i hope it will help everyone at the same time.
S'il y a bien une constante que je retrouve à travers toutes mes expériences professionnelles, c'est qu'on vient bien de partout pour finir dans l'informatique. Je m'explique :
Ça y est ! mon dernier article sur développez.com est terminé, relu, vérifié, contre-vérifié etc.
Okay so to make a small introduction (i promise a tiny one) i’m starting to contribute into VirgoRT (ex-SpringSource DM Server) for me it’s an opportunity to work with great people, learn more about OSGi and work on a real JEE application server (and more).
I won’t say that my contribution to this work will be tremendous, but it’s nice to know a little more if you want to try out building the ex SpringSource DM Server
Maybe we’ll soon be able to get more out of machine learning algorithms, Google is communicating a lot, throught the GSOC (Google Summer of Code) and Google Code as a whole, on this project and supporting the Apache foundation.
voilà ce qu’on pourrait trouver, alors qu’on essaye sans succès sur une page Web de changer son mot de passe :
After the court decision about thePirateBay, now it’s the time to be sad for Mininova,
and because i’m deep into the last parts of a new release (for my job), here’s a little thought i’d love to share :
La déformation professionnelle est un concept, il faut bien l’avoué, typiquement français qui consiste à dire qu’un professionnel verra toujours sa vision du monde influencée par le type de travail qu’il réalise.
Comme j’anticipe le gros troll qui pourrait découler d’un tel titre, je vais préciser ma pensée : Je ne veux pas dire qu’il ne faut pas optimiser son code autant que faire se peut et qu’il n’est pas nécessaire de toujours réfléchir au plus performant.