27 Aug 2014

feedPlanet Grep

Dries Buytaert: A better runtime for component-based web applications

Topic:
Drupal
Wordpress
Software development

I have an idea but currently don't have the time or resources to work on it. So I'm sharing the idea here, hoping we can at least discuss it, and maybe someone will even feel inspired to take it on.

The idea is based on two predictions. First, I'm convinced that the future of web sites or web applications is component-based platforms (e.g. Drupal modules, WordPress plugins, etc). Second, I believe that the best way to deploy and use web sites or web applications is through a SaaS hosting environment (e.g. WordPress.com, DrupalGardens, SalesForce's Force.com platform, DemandWare's SaaS platform, etc). Specifically, I believe that in the big picture on-premise software is a "transitional state". It may take another 15 years, but on-premise software will become the exception rather than the standard. Combined, these two predictions present a future where we have component-based platforms running in SaaS environments.

To get the idea, imagine a WordPress.com, SquareSpace, Wix or DrupalGardens where you can install every module/plugin available, including your own custom modules/plugins, instead of being limited to those modules/plugins manually approved by their vendors. This is a big deal because one of the biggest challenges with running web sites or web applications is that almost every user wants to extend or customize the application beyond what is provided out of the box.

Web applications have to be (1) manageable, (2) extensible, (3) customizable and (4) robust. The problem is that we don't have a programming language or an execution runtime that is able to meet all four of these requirements in the context of building and running dynamic component-based applications.

Neither PHP, JavaScript, Ruby, Go or Java allow us to build truly robust applications as the runtimes don't provide proper resource isolation. Often all the components (i.e. Drupal modules, WordPress plugins) run in the same memory space. In the Java world you have Enterprise Java Beans or OSGi which add some level of isolation and management, but it still doesn't provide full component-level isolation or component-level fault containment. As a result, it is required that one component pretty much trusts the other components installed on the system. This means that usually one malfunctioning component can corrupt the other component's data or functional logic, or that one component can harm the performance of the entire platform. In other words, you have to review, certify and test components before installing them on your platform. As a result, most SaaS vendors won't let you install untrusted or custom components.

What we really need here is an execution runtime that allows you to install untrusted components and guarantee application robustness at the same time. Such technology would be a total game-changer as we could build unlimited customizable SaaS platforms that leverage the power of community innovation. You'd be able to install any Drupal module on DrupalGardens, any plugin on WordPress.com or custom code on Squarespace or Wix. It would fundamentally disrupt the entire industry and would help us achieve the assembled web dream.

I've been giving this some thought, and what I think we need is the ability to handle each HTTP request in a micro-kernel-like environment where each software component (i.e. Drupal module, WordPress plugin) runs in its own isolated process or environment and communicates with the other components through a form of inter-process communication (i.e. think remote procedure calls or web service calls). It is a lot harder to implement than it sounds as the inter-process communication could add huge overhead (e.g. we might need fast or clever ways to safely share data between isolated components without having to copy or transfer a lot of data around). Alternatively, virtualization technology like Docker might help us move in this direction as well. Their goal of a lightweight container is a step towards micro-services but it is likely to have more communication overhead. In both scenarios, Drupal would look a lot like a collection of micro web services (Drupal 10 anyone?).

Once we have such a runtime, we can implement and enforce governance and security policies for each component (e.g. limit its memory usage, limit its I/O, security permission, but also control access to the underlying platform like the database). We'd have real component-based isolation along with platform-level governance: (1) manageable, (2) extensible, (3) customizable and (4) robust.

Food for thought and discussion?

27 Aug 2014 7:53pm GMT

Philip Van Hoof: Voorzien

Nu de rest van het land nog

Stroomgenerator

27 Aug 2014 6:11pm GMT

26 Aug 2014

feedPlanet Grep

Philip Van Hoof: RE: Scudraketten

Wanneer Isabel Albers iets schrijft ben ik aandachtig. Misschien ben ik verliefd? Misschien is ze een verstandige vrouw? Niettemin doe ik moeite me te ontdoen van m'n eigen grote waarheden. Één blijft overeind: wij moeten investeren in infrastructuur.

Dit creëert welvaart, distribueert efficiënt het geld en investeert in onze kinderen hun toekomst: iets wat nodig is; en waar we voor staan.

De besparingsinspanningen kunnen we beperken wat betreft investeringen in infrastructuur; we moeten ze des te meer doorvoeren wat betreft andere overheidsuitgaven.

Misschien moeten we bepaalde scudraketten lanceren? Een scudraket op de overheidsomvang zou geen slecht doen.

Een week mediastorm meemaken over hoe hard we snoeien in bepaalde overheidssectoren: laten we dat hard en ten gronde doen.

Laten we tegelijk investeren in de Belgische infrastructuur. Laten we veel investeren.

26 Aug 2014 11:48pm GMT

Lionel Dricot: Laissez-vous guider par la jalousie positive !

4995323127_512413f70e_z

Il y a quelques années, j'ai découvert que j'étais, sans le savoir, quelqu'un de très jaloux, particulièrement envieux du succès des autres. Et plutôt que de combattre cette tendance, j'ai décidé d'en tirer parti. Utiliser ma jalousie comme une force plutôt qu'une faiblesse m'a permis de modifier durablement ma façon d'être.

Lorsqu'une connaissance me faisait part d'un projet, j'avais tout naturellement tendance à l'encourager et à lui souhaiter sincèrement le plus grand succès. Untel travaillait dur pour devenir violoniste ? J'étais de tout cœur avec lui. Je n'hésitais pas à faire sa promotion et à le soutenir. D'ailleurs, j'avoue que l'idée d'être ami avec un violoniste célèbre m'emplissait d'une certaine fierté.

Par contre, si ce projet rentrait dans un domaine de compétence proche du mien, j'avais tendance à voir tous les défauts, tous les problèmes possibles. Un projet informatique ? D'écriture ? Sur le web ? "Cela ne marchera jamais" disais-je. En fait, au fond de moi, je ne voulais pas que ça fonctionne.

Je ne voulais pas qu'il réussisse, je lui souhaitais même l'échec. Car j'étais aussi compétent que cette personne dans ce domaine. Je n'avais pas eu de succès dans ce type d'entreprise ou je n'avais même pas osé me lancer. Si cette personne réussissait là où j'avais échoué ou là où je n'avais même pas commencé, cela serait… Non, le projet ne devait pas réussir !

Il m'a fallu des années pour comprendre que ce sentiment était de la jalousie pure et simple. La peur de se faire dépasser.

Mais plutôt que de me soigner, de tenter de faire disparaître ce sentiment, j'ai décidé de l'utiliser. Si je suis jaloux d'une personne, c'est que j'ai à apprendre d'elle. Si je souhaite l'échec d'un projet, c'est que je dois absolument l'observer voir y contribuer.

Ce simple paradygme a bouleversé ma vie. En à peine quelques mois, j'ai observé que mon cercle d'amis et de connaissances s'élargissait et s'enrichissait de personnes particulièrement intéressantes.

Alors que je me plongeais dans les projets que j'aurais voulu créer moi-même, je découvrais des subtilités, des problèmes que je n'aurais probablement pas été capable de relever seul. En fréquentant les personnes que je jalousais, j'apprenais les sacrifices qu'elles avaient dû faire, je comprenais les différences qui nous séparaient. Et j'en arrivais à ne plus les jalouser du tout voire, dans certains cas, à être heureux de ne pas être à leur place.

Contribuant à ces projets dont j'avais initialement souhaité l'échec, je finissais par les encourager à tout prix, à m'associer à leur succès. À chaque fois que je dépassais les simples apparences, de celles qui rendent envieux, je découvrais un monde complexe et des conséquences parfois insoupçonnées.

Utiliser ma jalousie comme un indicateur, comme un phare m'a permis d'apprendre, de découvrir les autres, de savourer les succès de mon entourage et, surtout, de me réjouir de mes propres accomplissements. Au fond, la jalousie est peut-être ma qualité innée la plus importante. Il m'a seulement fallu beaucoup d'années avant de comprendre comment en tirer parti.

Photo par Indy Kethdy.

Merci d'avoir pris le temps de lire ce billet librement payant. Pour écrire, j'ai besoin de votre soutien. Suivez-moi également sur Twitter, Google+ et Facebook !

Ce texte est publié par Lionel Dricot sous la licence CC-By BE.

flattr this!

26 Aug 2014 8:11pm GMT

Dries Buytaert: Open Source and social capital

Topic:
Drupal

The notion that people contributing to Open Source don't get paid is false. Contributors to Open Source are compensated for their labor; not always with financial capital (i.e. a paycheck) but certainly with social capital. Social capital is a rather vague and intangible concept so let me give some examples. If you know someone at a company where you are applying for a job and this connection helps you get that job, you have used social capital. Or if you got a lead or a business opportunity through your network, you have used social capital. Or when you fall on hard times and you rely on friends for emotional support, you're also using social capital.

The term "social" refers to the fact that the value is in the network of relationships; they can't be owned like personal assets. Too many people believe that success in life is based on the individual, and that if you do not have success in life, there is no one to blame but yourself. The truth is that individuals who build and use social capital get better jobs, better pay, faster promotions and are more effective compared to peers who are not tapping the power of social capital. As shown in the examples, social capital also translates into happiness and well-being.

Most Open Source contributors benefit from social capital but may not have stopped to think about it, or may not value it appropriately. Most of us in the Open Source world have made friendships for life, have landed jobs because of our contributions, others have started businesses together, and for others it has provided an important sense of purpose. Once you become attuned to spotting social capital being leveraged, you see it everywhere, every day. I could literally write a book filled with hundreds of stories about how contributing to Open Source changed people's lives -- I love hearing these stories.

Social capital is a big deal; it is worth understanding, worth talking about, and worth investing in. It is key to achieving personal success, business success and even happiness.

26 Aug 2014 8:27am GMT

Frederic Hornain: Red Hat | Corporate

infographic_RH_corporate

http://www.redhat.com/infographics/corporate/

KR
/f


26 Aug 2014 7:48am GMT

24 Aug 2014

feedPlanet Grep

Lionel Dricot: Printeurs 24

corridor

Ceci est le billet 24 sur 24 dans la série Printeurs

Je reprends péniblement conscience. Une douleur sourde résonne entre mes tempes et me cisaille le cerveau.

- À… À boire !
Ma bouche est pâteuse, ma gorge rêche. Chaque respiration me donne l'impression d'être devenu un robot de métal corrodé enfoui sous une tonne de sable. Une main me soulève la nuque et je sens le contact d'un récipient métallique sur mes lèvres. Les quelques gorgées d'eau que j'avale ruissèlent comme un torrent sur un lit trop longtemps asséché. Je déglutis douloureusement avant d'ouvrir les yeux.
- Alors ? Ça va mieux ?
Je cligne des paupières rapidement. Une paire de lunettes est penchée sur moi.
- Rassurez-vous, vous n'êtes pas blessé ! J'ai fait écran au moment de l'explosion.
Je réalise que, derrière les lunettes démesurées, un visage affable me parle. Un jeune homme a la peau extrêmement pâle. Il porte des traces d'acné mal soignée et ses cheveux en friche semblent avoir été laissé à l'abandon plusieurs années auparavant. Son corps est petit, osseux, chétif. M'apporter un verre d'eau a du représenter un véritable effort physique pour un organisme si frêle.
- Qui… qui êtes-vous ? fais-je en me redressant sur mes coudes.
- Appelez-moi Junior ! Mais ne vous relevez pas trop vite. Vous êtes au commissariat, en sécurité.
Je tente de rassembler mes esprits.
- Que s'est-il passé ?
- Un de nos clients, Monsieur Farreck, a fait une demande de protection d'urgence. Comme le prévoit le contrat de Monsieur Farreck, nous sommes intervenus immédiatement et nous avons aussitôt mis en sécurité tous les occupants du véhicule. C'est la clause d'extensibilité du contrat de Monsieur Farreck : nous devons également protéger ses proches.
- Comment va Georges ? Est-il blessé ?
- Non, rassurez-vous ! Il n'a même pas été assommé. Vous, par contre, avez pris le souffle d'une explosion de plein fouet. Vous allez ressentir de légères brûlures intérieures pendant quelques jours.
- Je veux parler à Georges.
- Il est déjà parti. Il soupçonne très fortement un certain Warren d'être à l'origine de l'attentat. Et, entre nous, le Warren en question n'y est pas allé de main morte. Waw !
Il secoue la main en sifflant et me gratifie d'un énorme sourire qui révèle une dent mal alignée. Son enthousiasme semble croître au fur et à mesure qu'il détaille l'attaque dont j'ai été victime.
- Je croyais que les drones kamikazes, on ne voyait ça qu'en territoire islamique ! C'était chaud. Sans la mousse airbag, on vous ramassait à la petite cuillère. Et encore, vous avez été assommé par le souffle de l'explosion au tout début, vous avez manqué le meilleur. On a établit un écran de protection et une couverture de feu nourri pour se tailler un couloir de fuite. C'était vraiment super, mieux qu'en compétition !
Je suis pris d'un léger doute. Ce jeune homme malingre et souffreteux me raconte les événements comme si il y était.
- Excusez-moi mais… vous faîtes partie de l'équipe ?
- Bien sûr, c'est moi qui vous ai tiré de la voiture.
Je manque de m'étrangler.
- Pardon ?
- Je m'appelle Junior Freeman. Enchanté de faire votre connaissance !
D'un geste ample, il me tend une main moite.

*

Alors que je suis Junior Freeman à travers les couloirs aseptisés du commissariat, je pose une question qui me brûle les lèvres depuis plusieurs minutes.
- Dîtes Junior, ce n'est pas que je veux paraître grossier mais le Freeman qui m'a sorti de la voiture…
- C'est moi, réplique-t-il avec un grand sourire.
- Mais alors, comment se fait-il que vous faisiez deux mètres de haut et presqu'autant de large ? Sans vouloir vous diminuer, vous n'êtes pas exactement ce qu'on appelle une armoire à glace. Non ?
Contre toute attente, il éclate d'un rire franc.
- Bien entendu ! Je suis un soldat d'élite ultra entraîné ! Je coûte trop cher pour être envoyé directement sur le théâtre des opérations. C'est la règle : si vous êtes face à un vrai policier en chair et en os, c'est qu'il n'est pas bon et qu'il peut être sacrifié. C'est évident, non ?
- C'est évident, en effet, annoncé-je sans avoir la moindre idée de ce qu'il sous-entendait.
- Comme les avatars coûtent énormément d'argent, seules les unités d'élite en utilisent. Et puis, je ne suis pas sûr que cela soit très légal. Il y a une convention, une charte ou un brol de ce genre qui soumet leur utilisation à une autorisation gouvernementale. Mais bon, vous savez, moi, les règlements… Du coup, nos avatars sont anthropomorphes et portent nos noms. Légalement, quand mon avatar est dehors, c'est de moi qu'il s'agit.
- Ah… fais-je sans conviction. Et… c'est quoi un avatar ?
Junior s'arrête et, à son regard, j'ai l'impression que des antennes vertes et des tentacules m'ont brusquement poussé sur le visage. Après quelques secondes d'hésitation, il se reprend.
- Le mieux est que j'aille vous les montrer au garage. Suivez-moi !
Alors que je lui emboîte le pas, nous passons devant une porte ou deux policiers en armure montent une garde attentive. Sans se faire prier, Junior se lance dans une explication.
- Ce sont les appartement de votre ami John, que nous devons à tout prix protéger.
- Mais je ne connais pas ce John !
- Ah bon ? fait-il d'un air étonné. Pourtant Monsieur Farreck vous a nommé comme la seule personne de confiance autorisée à l'approcher. À part lui-même, bien entendu !
- Bien entendu…
Saluant à peine les deux gardes, il continue sur sa lancée dans le couloir. D'un geste, il me fait signe de le suivre.
- Vous venez ?
- Je veux voir ce fameux John.
Campé sur mes deux jambes face à la porte, la voix ferme, je tente d'adopter une posture d'autorité.
- Mais… je voulais vous montrer les avatars.
- Ils attendront.
- Mais… je ne sais pas si le règlement permet…
Je me tourne vers les deux gardes qui ne semblent même pas prêter attention à notre existence.
- Conduisez-moi à John !
L'un des policiers daigne abaisser vers moi un regard hautain.
- Seul Monsieur Farreck a le droit de voir Monsieur John. Ainsi que les personnes de confiance désignée.
- J'en suis une ! Ouvrez !
Il pousse un profond soupir et hausse les épaules en regardant son collègue. Sans aménité, il saisit ma main qu'il applique sur un lecteur. Un léger bruit se fait entendre et la mention "autorisé" s'affiche sur l'écran. Aussitôt, le garde se recule et m'adresse un salut.
- Excusez-moi monsieur, je ne savais pas ! Mais pour des raisons de sécurité, je dois rester avec vous.
Junior a fait demi-tour et arrive à ma hauteur.
- Vous ne préférez pas voir les avatars ? Parce que je ne suis pas sûr que le règlement permette…
Je lui lance un regard teinté d'ironie.
- Je ne suis pas sûr que le règlement permette l'utilisation des avatars sans accord du gouvernement. Alors, vous savez, moi, les règlements…
Il n'a pas le temps de me répondre que l'un des deux gardes a ouvert la porte et m'introduit dans un sas d'entrée. Il toque à une seconde porte et appelle.
- Monsieur John ? Une visite pour vous.
Derrière moi, j'entends le premier garde discuter avec junior. Dans sa voix perce une pointe de respect, de déférence. Junior, qui mesure deux têtes de moins et pourrait se tenir trois fois dans le pantalon du policier est visiblement un soldat respecté et expérimenté. Mais je n'ai pas le temps de m'intéresser au comique de la situation. Monsieur John vient d'arriver.
- C'est vous Monsieur Farr…
Sa voix s'étrangle dans sa gorge.

Photo par Tanakawho.

Merci d'avoir pris le temps de lire ce billet librement payant. Pour écrire, j'ai besoin de votre soutien. Suivez-moi également sur Twitter, Google+ et Facebook !

Ce texte est publié par Lionel Dricot sous la licence CC-By BE.

flattr this!

24 Aug 2014 5:12pm GMT

22 Aug 2014

feedPlanet Grep

Joram Barrez: Seriously reducing memory consumption when running multiple Activiti Engines on the same JVM

The Activiti Forum is a place where I typically try to spend every day a bit of time. Surely, it is hard work to keep up with the influx of posts (but then again it means that Activiti is popular, so I'm not complaining!) but sometimes you find a true gem amongst the posts. On […]

22 Aug 2014 7:08am GMT

21 Aug 2014

feedPlanet Grep

Wouter Verhelst: Multiarchified eID libraries, now public

Yesterday, I spent most of the day finishing up the multiarch work I'd been doing on introducing multiarch to the eID middleware, and did another release of the Linux builds. As such, it's now possible to install 32-bit versions of the eID middleware on a 64-bit Linux distribution. For more details, please see the announcement.

Learning how to do multiarch (or biarch, as the case may be) for three different distribution families has been a, well, learning experience. Being a Debian Developer, figuring out the technical details for doing this on Debian and its derivatives wasn't all that hard. You just make sure the libraries are installed to the multiarch-safe directories (i.e., /usr/lib/<gnu arch triplet>), you add some Multi-Arch: foreign or Multi-Arch: same headers where appropriate, and you're done. Of course the devil is in the details (define "where appropriate"), but all in all it's not that difficult and fairly deterministic.

The Fedora (and derivatives, like RHEL) approach to biarch is that 64-bit distributions install into /usr/lib64 and 32-bit distributions install into /usr/lib. This goes for any architecture family, not just the x86 family; the same method works on ppc and ppc64. However, since fedora doesn't do powerpc anymore, that part is a detail of little relevance.

Once that's done, yum has some heuristics whereby it will prefer native-architecture versions of binaries when asked, and may install both the native-architecture and foreign-architecture version of a particular library package at the same time. Since RPM already has support for installing multiple versions of the same package on the same system (a feature that was originally created, AIUI, to support the installation of multiple kernel versions), that's really all there is to it. It feels a bit fiddly and somewhat fragile, since there isn't really a spec and some parts seem fairly undefined, but all in all it seems to work well enough in practice.

The openSUSE approach is vastly different to the other two. Rather than installing the foreign-architecture packages natively, as in the Debian and Fedora approaches, openSUSE wants you to take the native foo.ix86.rpm package and convert that to a foo-32bit.x86_64.rpm package. The conversion process filters out non-unique files (only allows files to remain in the package if they are in library directories, IIUC), and copes with the lack of license files in /usr/share/doc by adding a dependency header on the native package. While the approach works, it feels like unnecessary extra work and bandwidth to me, and obviously also wouldn't scale beyond biarch.

It also isn't documented very well; when I went to openSUSE IRC channels and started asking questions, the reply was something along the lines of "hand this configuration file to your OBS instance". When I told them I wasn't actually using OBS and had no plans of migrating to it (because my current setup is complex enough as it is, and replacing it would be far too much work for too little gain), it suddenly got eerily quiet.

Eventually I found out that the part of OBS which does the actual build is a separate codebase, and integrating just that part into my existing build system was not that hard to do, even though it doesn't come with a specfile or RPM package and wants to install files into /usr/bin and /usr/lib. With all that and some more weirdness I've found in the past few months that I've been building packages for openSUSE I now have... Ideas(TM) about how openSUSE does things. That's for another time, though.

(disclaimer: there's a reason why I'm posting this on my personal blog and not on an official website... don't take this as an official statement of any sort!)

21 Aug 2014 8:30am GMT

20 Aug 2014

feedPlanet Grep

Frederic Hornain: [Aug 2014] Red Hat JBoss Enterprise Java EE Containers Presentation

RED HAT JBOSS ENTERPRISE JAVA EE CONTAINERS

Dear *,

Few days ago, I did a presentation on Red Hat JBoss Enterprise Java EE Containers
If your company or you are based in BeNeLux and are interested by this presentation, just let me know and I will try to arrange a meeting for you.

N.B. You can also find it in Mojo.

BR
Frederic


20 Aug 2014 5:17pm GMT

Frederic Hornain: Open source: Debunking the myths

/f


20 Aug 2014 5:11pm GMT

Frank Goossens: Music from Our Tube; Tom Vek in the Jungle

Tom Vek is an English multi-instrumentalist, but you could just as well read the Wikipedia-article if you want to know that and more. If, instead, you'd prefer to hear what he sounds like, you can listen (and watch) below video of "Sherman (Animals in the Jungle)";

YouTube Video
Watch this video on YouTube or on Easy Youtube.

20 Aug 2014 5:08am GMT

19 Aug 2014

feedPlanet Grep

Dries Buytaert: To bean or not to bean?

Topic:
Personal

Last weekend our Nespresso machine died in front of my eyes. Water started leaking from its base during use and it shorted the electricity. It was a painful death. I'm tempted to take it apart and try to repair it but it also brings up the question; what to buy next?

Part of me enjoys the convenience of the Nespresso machine, the other part of me is eager to buy my first "serious" espresso machine.

See, I'm a coffee lover. That is to say, like most of the people living in the US I have a coffee addiction, and have been brainwashed into spending more and more on my daily coffee intake. To make matters worse, we live in a society where we call the people who make great coffee "artists". I'd love to practice some coffee artistry myself and make that perfect barista-grade cup of coffee.

I did a little bit of research and picking an espresso machine is not easy. It turns out this is a complex space. The choices range from super-automatic machines (e.g. they do everything from grinding, dosing, tamping to brewing) to semi-automatic machines (e.g. you manually grind your own beans and tamp them) to manual machines (e.g. you control how long the brewing water sits over the bed of coffee, resting as it were at neutral or boiler pressure). There are even "coffee schools" that offer classes and certifications to become a professional barista.

While I love the smell of fresh ground coffee and an above perfection espresso, I also don't want to take 15 minutes to make a cup of coffee. I usually need my first cup of coffee to help me wake up and I'm often crunched for time, so I don't want it to be super complicated.

Espresso or Nespresso? To bean or not to bean? Help!

19 Aug 2014 10:15pm GMT

Luc Stroobant: I3 WM Gnome style screenshots

I found lot's of examples to take screenshots in I3, but most of them require additional scripts or will always overwrite the same temp file. So I've been testing a bit to make it easier. Put this in your .i3/config to take Gnome style screenshots in a png in ~/Pictures. Mod+x selects a rectangle on the screen or mod+y takes the entire screen contents.

bindsym --release $mod+x exec --no-startup-id import ~/Pictures/screenshot-`/bin/date +%Y%m%d-%H:%M:%S`.png
bindsym --release $mod+x exec --no-startup-id import -window root ~/Pictures/screenshot-`/bin/date +%Y%m%d-%H:%M:%S`.png

19 Aug 2014 5:36pm GMT

18 Aug 2014

feedPlanet Grep

Frank Goossens: (When) should you Try/Catch Javascript?

Autoptimize comes with a "Add try-catch wrapping?"-option, which wraps every aggregated script in a try-catch-block, to avoid an error in one script to block the others.

I considered enabling this option by default, as it would prevent JS optimization occasionally breaking sites badly. I discussed this with a number of smart people and searched the web, eventually stumbling on this blogpost which offers an alternative for try-catch because;

Some JavaScript engines, such as V8 (Chrome) do not optimize functions that make use of a try/catch block as the optimizing compiler will skip it when encountered. No matter what context you use a try/catch block in, there will always be an inherent performance hit, quite possibly a substantial one. [Testcases] confirm [that] not only is there up to a 90% loss in performance when no error even occurs, but the declination is significantly greater when an error is raised and control enters the catch block.

So given this damning evidence of severe performance degradation, "try/catch wrapping" will not be enabled by default and although Ryan's alternative approach has its merits, I'm weary of the caveats so I won't include that (for now anyway). If your site breaks when enabling JS optimization in Autoptimize, you can enable try/catch wrapping as a quick workaround, but finding the offending script and excluding it from being optimized is clearly the better solution.

Possibly related twitterless twaddle:

18 Aug 2014 3:01pm GMT

17 Aug 2014

feedPlanet Grep

Lionel Dricot: Printeurs 23

11228416176_15e3f901f7_k

Ceci est le billet 23 sur 24 dans la série Printeurs

- Tu ne te souviens vraiment de rien ?
La voiture privée de Georges nous emmène à toute allure vers l'aéroport. J'ai décidé de me montrer coopératif. Après tout, s'il avait voulu se débarrasser de moi, Georges n'aurait eu qu'à claquer des doigts. Peut-être est-il sincère ? Je dois la jouer subtile, feindre l'acceptation totale tout en restant sur mes gardes. Alors que le véhicule nous emporte à toute vitesse hors de la ville, je regarde Georges dans les yeux et secoue négativement la tête.
- Rien. Le mur blanc.
- Bizarre… Bizarre…
- Au fait Georges, qu'ai-je fait avec toi durant tout ce temps ? Quel est ce grand projet dont je ne me souviens pas ?
- Tu dois te souvenir que je me bats pour améliorer les conditions de travail des ouvriers dans la zone industrielle.
- Euh… c'est possible. Quel est le rapport ?
- Les ouvriers sont aujourd'hui forcé d'accomplir des actions dangereuses, de manipuler des produits toxiques pour la simple raison que la robotisation de l'industrie coûte cher et ne permet pas la personnalisation extrême qui est aujourd'hui en vogue parmi les consommateurs. Si nous parvenons à industrialiser les printeurs, les ouvriers pourront travailler dans de meilleures conditions.
- Voire plus du tout.
- En effet…
- Tu espères donc transformer la majorité des ouvriers en télé-passifs ? Imagines-tu l'impact social ? C'est criminel Georges !
- Criminel ? Et forcer les individus à travailler 8h par jour, 4 jours par semaine dans des conditions dangereuses ce n'est pas criminel peut-être ? Le tout pour une situation qui n'offre aucun réel avantage par rapport à celle des télé-passifs !
- Oui mais personne ne veut devenir télé-passifs. C'est une question d'honneur, d'identité. Tu vas arracher à des milliers de personnes la seule chose qui leur donne le sentiment d'exister. Ils vont te haïr, te détester !
Les mots sont sortis spontanément de ma bouche mais ils ont un goût amer, artificiel. J'ai l'impression de ressasser des idées pré-mâchées, une propagande qui n'est pas la mienne. Depuis que je ne suis plus soumis à la publicité, je me surprends à être en désaccord avec moi-même, à découvrir des paradoxes dans les valeurs que je pensais les plus établies.
- Justement Nellio, il n'y a que moi qui puisse mener cela à bien. Toi tu es le créateur, l'ingénieur. Moi je serai la face publique. Les gens m'aiment Nellio. Les gens me reconnaissent. Si c'est moi qui parle, ils comprendront. Et même s'ils doivent me détester, c'est un prix à payer bien faible par rapport à la liberté que nous apportons à l'humanité. Peut-être que, libérés des contraintes, de l'obligation de présence, de la fatigue nerveuse, ils deviendront créatifs. Combien de Mozart, de Tolstoï, de Rowling, de Mercury, de Peegou n'ont jamais découvert leur propre talent car nous avons arbitrairement décidé que les télé-passifs sont une abomination morale, parce que nous avons érigé l'occupation inutile en sens ultime de l'existence ?
Je reste un instant sans rien dire, le regard perdu par la fenêtre. Les rues me semblent bien calmes. Georges m'a acheté une nouvelle paire de lentilles avec l'abonnement non-publicitaire total. Le ciel me semble à présent dégagé, aucune publicité ne vient plus perturber mes pensées et mon champ de vision.
- Georges, tu ne crois pas que tu exagères un peu les conditions de travail des ouvriers ?
- J'oubliais que tu ne te souviens plus du témoignage de John.
- Non, je ne m'en souviens plus. Mais pourquoi ne pas être plus progressif ? Il faut laisser le temps…
Ma phrase se termine en un hurlement bestial de terreur alors que que retentit une explosion assourdissante. La voiture semble faire un bon de plusieurs mètres. Pendant une fraction de secondes, je sens mon corps flotter en apesanteur avant de percevoir une douleur sèche dans le creux de l'estomac. Le genou de Georges. Ses mains agrippent mes épaules nous tourbillonnons dans un monde opaque et duveteux. Mon corps s'enfonce dans une mousse pâteuse qui s'insère dans ma bouche, mes narines. Je suis aveugle. J'étouffe.

J'inspire violemment une gorgée d'air. La mousse s'évapore. La voiture est sens dessus dessous. Des flammes dansent autour de nous, j'entends la voix de Georges.
- Intervention immédiate maximale.
- Georges ! crié-je.
- Nellio, ne bouge pas !
- Les flammes !
- Ne bouge pas ! Nous sommes dans un habitacle sécurisé. Les flammes brouilleront les capteurs du drone pendant quelques secondes et retarderont le prochain missile. La mousse airbag a parfaitement fonctionné et fait également écran.
- Mais… après ? On fait quoi ?
- Mes gardes du corps sont en route. Je les avais assigné à la protection de John.
- Qui serait assez fou pour envoyer un drone d'attaque en pleine ville ? hurlé-je. C'est de la démence !
Tournant légèrement la tête, je vois le visage de Georges. Un fin filet de sang lui dégouline du front, traverse ses sourcils avant de rejoindre sa lèvre. Un bruit violent me fait sursauter. Un main gantée de noire m'attrape soudain par le col et m'extirpe hors de la voiture. Je n'ai pas le temps de me débattre que je me retrouve nez-à-nez avec un policier caparaçonné des pieds à la tête. Une dizaine de ses collègues s'affairent autour de la voiture et pointent leurs armes vers le ciel tandis que Georges se relève en s'époussetant. Des coups de feu retentissent.
- Ne t'inquiètes pas Nellio, ce sont mes hommes.
- Ah… Et bien merci ! fais-je au géant noir qui se tient à mes côtés et dont je n'arrive pas à apercevoir le moindre morceau de chair. Sur la veste, je déchiffre un badge d'identification. J. Freeman.
- Merci J. Freeman !
- De rien monsieur, me réponds une voix caverneuse issue du masque. Monsieur Farreck nous paie pour ça.
- L'élite de l'élite, me fait Geroges avec un clin d'œil. Rien à voir avec tout ceux que tu as déjà vu qui ne sont, au fond, que des télé-pass à qui on a trouvé une occupation.
- Il y a quand même ceux qui ont tué Eva, fais-je en grinçant des dents.
- Les gouvernementaux ? De dangereux amateurs !
Dans la rue, les rares passants ont complètement disparu. Contrairement à la curiosité intrinsèque à tout citadin, les banlieusards semblent donner plus de valeur à leur tranquillité et à leur intégrité physique qu'au spectacle de voitures qui brûlent. Calmement, avec des gestes posés et mesurés, les policiers se rapprochent rapidement de nous pour former un mur humain.
- Escadrille de drones kamikazes en approche. Il faut évacuer la zone.
Le visage de Georges devient soudain pâle comme la mort.
- Warren, murmure-t-il. Je n'aurais jamais cru qu'il en arriverait à de telles extrémités.
- Quoi ? Le mec du conglomérat de la zone industrielle ?
Je lève les yeux au ciel. Au dessus de nous, des centaines de points bourdonnants semblent grossir.
- Qu'est-ce…
L'enfer se déchaîne soudain.

Photo par Norm Lanier.

Merci d'avoir pris le temps de lire ce billet librement payant. Pour écrire, j'ai besoin de votre soutien. Suivez-moi également sur Twitter, Google+ et Facebook !

Ce texte est publié par Lionel Dricot sous la licence CC-By BE.

flattr this!

17 Aug 2014 6:34pm GMT