Monthly Archives: August 2011

Des tweets et des plus n°3 – Pink Sombrero

Cowboy coding and the pink sombre: Si vous codez comme un cowboy directement sur le prod vous devez porter le sombrero rose

The best solution to any programming issue:  faire un billet sur un forum de développeur avec un pseudo de fille

PLANIFIERIFIER: planifier et vérifier? Joli néologisme sans doute involontaire dans la nomenclature des métiers du systè me d’information des grandes entreprise par le cigref

The Entire Facebook Terms of Service in Bro Speak : Good news! Everything you put on Facebook is yours.[…] You have complete control over your own shit in the settings. Uh, except for a few things For things covered by intellectual property law, (which is, I mean, just minor shit like your pictures and videos; whatever, amirite?) you grant us license to use it literally however the fuck we want for as long as it’s up. Seriously, we can blow up your pictures and Photoshop in sombreros and dicks and then put them up on billboards in Asia if we want. Also, we can let our friends use your shit however they want […] LEGALLY WE’RE REQUIRED TO YELL THIS PART BECAUSE IT’S FUCKING IMPORTANT […]We’re all about one big human family and all that bullshit, but we also try to respect the rules wherever you live …

TATA: Automatiser, Tester, Architecturer

Si au lieu de se concentrer sur les mauvais points distribués par thoughworks on regarde leurs recommandations on voit émerger un patern:

  • Automatiser
    • Continuous delivery: en lien avec devops, le boulot et terminé si et seulement si le code est en production
    • Infrastructure as code: c’est la révolution IAAS initié par Amazon EC2, poursuivie par les Chef et autre Puppet
    • DevOps: Mettre de l’agile entre les devs et les ops, à moins qu’avec les 2 points ci-dessus, ce soit que les devs vont enfin pouvoir se débarraser des ops?
    • Automated database deployment: voir flyway
  • Tester
    • Test Load Balancer: pour paralléliser les tests
    • Thoughtful caching : et oui le cache n’est pas une solution magique à tous les problèmes de perf.
    • Early performance tests : Je repéte: il n’y a pas de solution magique à appliquer à la fin du projet pour résoudre les problèmes de perf.
  • Architecturer
    • Evolutionary database: que les DBA nous laisse rajouter une colonne sans remplir un formulaire en 3 exemplaires.
    • Evolutionary architecture: A mort le big design up front.
    • Event API: pourquoi ce qui marche pour l’UI ne marcherait pas pour le backend ?
    • Event sourcing : L’idée est de conserver les logs transactionnels de la base pour l’audit, l’historique, le débuguage, à creuser…

Automatiser, Tester, Architecturer et recommencer je propose donc un acronyme récursif:

TATA: TATA Automatiser, Tester, Architecturer là maintenant vous pouvez vous mettre à coder.

ThoughtWorks Technology Radar 2011: the good parts

Le thoughtWorks Technology Radar 2011 a fait la une récemment en tapant maladroitement sur GWT:

GWT is a reasonable implementation of a poor architectural choice. GWT attempts to hide many of the details of the web as a platform by creating desktop metaphors in Java and generating JavaScript code to implement them. First, in many ways, JavaScript is more powerful and expressive than Java, so we suspect that the generation is going in the wrong direction. Secondly, it is impossible to hide a complex abstraction difference like that from event-driven desktop to stateless-web without leaky abstraction headaches eventually popping up. Third, it suffers from the same shortcomings of many elaborate frameworks, where building simple, aligned applications is quick and easy, building more sophisticated but not supported functionality is possible but difficult, and building the level of sophistication required by any non-trivial application becomes either impossible or so difficult it isn’t reasonable.

 

Mais il n’y a pas que GWT qui en prend pour son grade la base de données déguste elle aussi:

We often see problems caused by manual configuration of firewalls and load balancers, and especially by DBAs cutting and pasting SQL scripts to run against production databases

 

It is startling to us that we continue to find new systems in 2011 that implement significant business logic in stored procedures. Programming languages commonly used to implement stored procedures lack expressiveness, are difficult to test, and discourage clean modular design. You should only consider stored procedures executing within the database engine in exceptional circumstances, where there is a proven performance issue.

Ainsi que les portails java

 A continuing cause of delivery problems lies in the use of Java Portal Server packages. These problems occur in both open source and commercial portal platforms. The promised productivity of these platforms is hindered by their complex and unwieldy programming models and difficulty in automating deployment, data migration, and tests.

Concernant les portails on remarquera qu’en guise de portail Google avec Google + se contente d’une barre de navigation unifiée en haut de tous ses produits.

Ce ne serait pas Thoughworks s’ils n’ajoutaient pas un clou dans le cercueil de WS-*

Previously our advice has been to tread carefully when using the WS-* stack beyond the basic profile. Given the progress and acceptance of simpler web-as-platform techniques such as REST and OAuth and the known issues with the WS-*, it should only be used cautiously.

Dans le prochain billet on va regarder ce qu’ils mettent en avant

Des tweets et des plus n°2 – Post It war


Antepedia: search among  210 million files and 940,000 open source projects


The Git workflow:

  1. Create a private branch off a public branch.
  2. Regularly commit your work to this private branch.
  3. Once your code is perfect, clean up its history.
  4. Merge the cleaned-up branch back into the public branch.

Histoire de l’Internet et des télécoms: La France aurait pu inventer l’Internet… Mais Giscard (et ses conseillers) en ont décidé autrement


QUnit: QUnit is a powerful, easy-to-use, JavaScript test suite. Et oui J c’est pour Java 😉

De l’open source à l’open data

Alors que l’open source VS propriétaire est un sujet de troll débat qui n’en est plus un, que le débat desktop VS web est a été remplacé par mobile VS Web (quelle différence?). Le vrai sujet aujourd’hui c’est l’ouverture des données, la preuve avec deux petits acteurs qui communiquent, chacun à leur manière sur le sujet.

Microsoft :

tant que les interfaces d’accès au service(API), les protocoles et les standards pour le cloud sont ouverts alors le client n’a pas à se soucier du code sur lequel il repose.” 

 Google :

  1. Can I get my data out in an open, interoperable, portable format?
  2. How much is it going to cost to get my data out?
  3. How much of my time is it going to take to get my data out?

What we mean by open, interoperable and portable is that your data should be exported in a format that is:

  • Publicly documented and non-proprietary (i.e. it does not require a commercial license to use)
  • Easy for engineers to write a program that can import the data into another system
A vos APIs… Tiens l’occasion de relinker ma présentation Ressource Oriented Architecture (slide 57)