29 Jun 2016

feedPlanet Grep

Frank Goossens: Whatever you do, don’t lie (when naming files)

So since Autoptimize 2.0.0 got released half a year ago, minified files are not re-minified any more, which can yield important performance-gains. Or that, at least, is the goal. But as checking if a file is minified is non-trivial, AO reverts to a simpler check; does the filename indicate the file is minified. So for example whatever-min.js and thisone_too.min.css would be considered minified and will simply be aggregated, whereas not_minified.js would get minified. Mr Clay's Minify (which is used by WP Minify, BWP Minify and W3 Total Cache and of which the core minification components are in Autoptimize as well) applies the same logic.

But apparently plugins often lie about their JS and CSS, with some files claiming to be minified which clearly are not and with some files (even WordPress core files) being minified but not having the min-suffix in the name. It's obvious that lying like that is kind of stupid: saying your files is minified when in fact it is not, offers you no advantages. Not confirming your file is minified in the name when it is, saves you 4 characters in the filename, but I suspect you were just being lazy, sloppy or tired, no?

So, ladies and gentlemen, can we agree on the following:

  1. Ideally you ship your plugin/ theme with minified JS & CSS.
  2. If your files are minified, you confirm that in the filename by adding the ".min"-suffix and minification plugins will skip them.
  3. If your files are not minified, you don't include the ".min"-suffix in the filename, allowing for those minification plugins tot minify them.

For a more detailed overview of how to responsibly load minified JS/ CSS in WordPress, I'll happily point you to Matt Cromwell's excellent article on the subject.

Possibly related twitterless twaddle:

29 Jun 2016 1:32pm GMT

Wouter Verhelst: Debcamp NBD work

I had planned to do some work on NBD while here at debcamp. Here's a progress report:

Task Concept Code Tested
Change init script so it uses /etc/nbdtab rather than /etc/nbd-client for configuration
Change postinst so it converts existing /etc/nbd-client files to /etc/nbdtab
Change postinst so it generates /etc/nbdtab files from debconf
Create systemd unit for nbd based on /etc/nbdtab
Write STARTTLS support for client and/or server

The first four are needed to fix Debian bug #796633, of which "writing the systemd unit" was the one that seemed hardest. The good thing about debcamp, however, is that experts are aplenty (thanks Tollef), so that part's done now.

What's left:

If I manage to get all of the above to work and there's time left, I'll have a look at implementing STARTTLS support into nbd-client and nbd-server. A spec for that exists already, there's an alternative NBD implementation which has already implemented it, and preliminary patches exist for the reference implementation, so it's known to work; I just need to spend some time slapping the pieces together and making it work.

Ah well. Good old debcamp.

29 Jun 2016 1:07pm GMT

Dries Buytaert: Drupal is for ambitious digital experiences

What feelings does the name Drupal evoke? Perceptions vary from person to person; where one may describe it in positive terms as "powerful" and "flexible", another may describe it negatively as "complex". People describe Drupal differently not only as a result of their professional backgrounds, but also based on what they've heard and learned.

If you ask different people what Drupal is for, you'll get many different answers. This isn't a surprise because over the years, the answers to this fundamental question have evolved. Drupal started as a tool for hobbyists building community websites, but over time it has evolved to support large and sophisticated use cases.

Perception is everything

Perception is everything; it sets expectations and guides actions and inactions. We need to better communicate Drupal's identity, demonstrate its true value, and manage its perceptions and misconceptions. Words do lead to actions. Spending the time to capture what Drupal is for could energize and empower people to make better decisions when adopting, building and marketing Drupal.

Truth be told, I've been reluctant to define what Drupal is for, as it requires making trade-offs. I have feared that we would make the wrong choice or limit our growth. Over the years, it has become clear that not defining what Drupal is used for leaves more people confused even within our own community.

For example, because Drupal evolved from a simple tool for hobbyists to a more powerful digital experience platform, many people believe that Drupal is now "for the enterprise". While I agree that Drupal is a great fit for the enterprise, I personally never loved that categorization. It's not just large organizations that use Drupal. Individuals, small startups, universities, museums and non-profits can be equally ambitious in what they'd like to accomplish and Drupal can be an incredibly solution for them.

Defining what Drupal is for

Rather than using "for the enterprise", I thought "for ambitious digital experiences" was a good phrase to describe what people can build using Drupal. I say "digital experiences" because I don't want to confine this definition to traditional browser-based websites. As I've stated in my Drupalcon New Orleans keynote, Drupal is used to power mobile applications, digital kiosks, conversational user experiences, and more. Today I really wanted to focus on the word "ambitious".

"Ambitious" is a good word because it aligns with the flexibility, scalability, speed and creative freedom that Drupal provides. Drupal projects may be ambitious because of the sheer scale (e.g. The Weather Channel), their security requirements (e.g. The White House), the number of sites (e.g. Johnson & Johnson manages thousands of Drupal sites), or specialized requirements of the project (e.g. the New York MTA powering digital kiosks with Drupal). Organizations are turning to Drupal because it gives them greater flexibility, better usability, deeper integrations, and faster innovation. Not all Drupal projects need these features on day one -- or needs to know about them -- but it is good to have them in case you need them later on.

"Ambitious" also aligns with our community's culture. Our industry is in constant change (responsive design, web services, social media, IoT), and we never look away. Drupal 8 was a very ambitious release; a reboot that took one-third of Drupal's lifespan to complete, but maneuvered Drupal to the right place for the future that is now coming. I have always believed that the Drupal community is ambitious, and believe that attitude remains strong in our community.

Last but not least, our adopters are also ambitious. They are using Drupal to transform their organizations digitally, leaving established business models and old business processes in the dust.

I like the position that Drupal is ambitious. Stating that Drupal is for ambitious digital experiences however is only a start. It only gives a taste of Drupal's objectives, scope, target audience and advantages. I think we'd benefit from being much more clear. I'm curious to know how you feel about the term "for ambitious digital experiences" versus "for the enterprise" versus not specifying anything. Let me know in the comments so we can figure out how to collectively change the perception of Drupal.

PS: I'm borrowing the term "ambitious" from the Ember.js community. They use the term in their tagline and slogan on their main page.

29 Jun 2016 9:34am GMT

28 Jun 2016

feedPlanet Grep

Frank Goossens: Music from Our Tube; Jaimeo Brown Transcendence – Be So Glad

Chaingang song + electro soundscapes + jazz by (the) Jaimeo Brown Transcendence

YouTube Video
Watch this video on YouTube.

Great live gig here, if you're into this!

Possibly related twitterless twaddle:

28 Jun 2016 9:32am GMT

27 Jun 2016

feedPlanet Grep

Amedee Van Gasse: The Website Was Down

Captain: What happen?
Mechanic: Somebody set up us the bomb!

So yeah, my blog was off the air for a couple of days. So what happened?

This is what /var/log/nginx/error.log told me:

2016/06/27 08:48:46 [error] 22758#0: *21197
connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 194.187.170.206, server: blog.amedee.be, request: "GET /wuala-0 HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host:
"amedee.be"

So I asked Doctor Google "connect() to unix:/var/run/php5-fpm.sock failed (11: resource temporarily unavailable)" and got this answer from StackOverflow:

The issue is socket itself, its problems on high-load cases is well-known. Please consider using TCP/IP connection instead of unix socket, for that you need to make these changes:

  • in php-fpm pool configuration replace listen = /var/run/php5-fpm.sock with listen = 127.0.0.1:7777
  • in /etc/nginx/php_location replace fastcgi_pass unix:/var/run/php5-fpm.sock; with fastcgi_pass 127.0.0.1:7777;

followed by a carefull application of

sudo /etc/init.d/php-fpm restart
sudo /etc/init.d/nginx restart

Tl;dr version: don't use a Unix socket, use an IP socket. For great justice!

I leave you with this classic:

The post The Website Was Down appeared first on amedee.be.

27 Jun 2016 9:32am GMT

26 Jun 2016

feedPlanet Grep

Philip Van Hoof: Little Britain

Little Britain is an amalgamation of the terms 'Little England' and 'Great Britain', and is also the name of a Victorian neighbourhood and a modern street in London. Says Wikipedia. It's also what I think will remain of Great Britain in a few years. Maybe defacto already in a few days or weeks. But okay.

This is not a big problem. More serious problems are geopolitical. I do think Russia will gain from not having England (in the end not Great Britain, but just England) in the European Union: it'll make the UK's (or England's) voice in NATO sound less part of one block. To remain significant will the EU block have to find a new way.

I propose to form a European military. Initially make NATO part of it. The idea would be that each country in Western Europe can join this military alliance based on negotiated contribution criteria. Let's learn from our mistakes and allow countries to leave and be kicked out: Especially if a country doesn't contribute enough to the alliance, it should be kicked out (temporarily).

That allows for England or Little Britain to keep its geopolitical relevance, yet allows for the EU member states to exchange economy-currency into military-currency and vice versa. Let's show some European teeth. But let's also remain calm and intelligent.

Meanwhile we can slow down NATO becoming a geopolitical playball against Russia. This Cold-War 2.0 nonsense isn't benefiting world peace. Keeping the world of humans in as much peace as possible should nowadays be NATO's only goal. I hope there is still some time before any big war starts, to stop it from happening at all. We have so much technology, happiness and growth to give to the world of humans. Let us not waste it in a big stupid worldwide conflict.

26 Jun 2016 2:06pm GMT

24 Jun 2016

feedPlanet Grep

Lionel Dricot: Reliez Ottignies et Bruxelles en vélo grâce au VER

20160624_091041

Une piste cyclable parfaitement sécurisée et sur site propre pour relier Ottignies à Bruxelles en seulement 16km ? Le tout entièrement financé par l'argent du contribuable ?

Un rêve ?

En fait, c'est déjà une réalité que vous avez déjà financé à hauteur de plusieurs milliards d'euros.

Seul petit problème à régler : les contribuables qui ont financé cette merveille sont interdits d'accès.

Car cette merveilleuse piste cyclable, c'est le tracé du futur RER. Un chantier qui a déjà englouti des milliards d'euros d'argent public pour un résultat qui serait, au mieux, utilisable en 2024. Mais les prévisions les plus réalistes tablent pour une arrivée du RER aux alentours de 2030. Si jamais il est finalement terminé et n'est pas déjà périmé avant même sa mise en service.

De Ottignies à Bruxelles (gare de Boitsfort), il existe donc une véritable route goudronnée, lisse, plate, sans aucune côte et sans aucun trafic. Cette route en parfait état ne s'approche jamais à moins de trois mètres des voies de chemin de fer et en est toujours séparé par une bordure et un écran minimal de végétation. Nous l'avons baptisé le VER, Vélo Express Régional.

20160624_085512-ANIMATION

Cliquez pour voir l'animation

L'association cycliste Gracq a très récemment annoncé que certains de ses membres utilisaient certains tronçons du VER. La réaction d'Infrabel, gestionnaire des voies, ne s'est pas fait attendre : l'accès à cette route est strictement interdit voire serait dangereux.

Cette route en parfait état devrait donc rester inutilisée et se dégrader inutilement pendant au minimum une décennie.

C'est pour en avoir le cœur net que cinq cyclistes ont décidé de relier Ottignies à Boitsfort en vélo, un jour de grève générale : Stéphane, Nils, Natacha, Yves et votre serviteur.

20160624_053113

Preuve que l'idée est dans l'air du temps : nous préparions notre action alors qu'aucun de nous n'était au courant de l'action très similaire du Gracq.

Le résultat est sans appel : seul le tronçon entre les gares de Genval et La Hulpe (2km) n'est pas encore aménagé. Le passage est strictement impossible sans s'approcher dangereusement des voies ou en les traversant (l'aménagement étant fait de l'autre côté des voies). Il est donc impératif de quitter le VER avant la gare de Genval et de le reprendre à la gare de La Hulpe, impliquant un détour de 15 minutes.

Le reste du trajet se fait de manière entièrement sécurisée sur une route large et dégagée. Deux passages d'une centaine de mètres sont en sable et en terre mais restent praticables en VTT, le premier à Profondsart et le second dans la gare de Boitsfort même.

20160624_084618

Passage boueux à Profondsart

Au total ? Un VER d'un peu plus de 16km sur un terrain absolument plat. Pour un cycliste entraîné, ce trajet est réalisable en une demi-heure. Et pour ceux qui préfèrent prendre le temps et admirer le cadre très agréable, 45 à 50 minutes semble un grand maximum. Tant que la jonction Genval vers La Hulpe n'est pas finalisée, une petite heure semble un temps raisonnable, même pour un cycliste néophyte.

IMG_20160624_081417

Une partie du trajet est même couverte

Autre obstacle imprévu : une étendue de verre brisé dans la gare de Rixensart qui déchirera le pneu de votre serviteur, le forçant à faire demi-tour tandis que les quatre autres continuaient vers Boitsfort.

Mais rien de mieux pour vous convaincre qu'une petite vidéo (d'où il ne manque que les derniers kilomètres).

Alors, est-ce dangereux ?

Oui, clairement. Le fait de devoir faire un détour entre Genval et La Hulpe nécessitant de passer par des rues ouvertes au trafic automobile et sans pistes cyclables est certainement la partie la plus dangereuse du trajet. Un danger que les cyclistes vivent au quotidien mais qui pourrait désormais être évité grâce au VER.

En dehors du tronçon Genval/La Hulpe, les trains restant toujours à une bonne distance ne peuvent en aucun cas représenter le moindre danger.

Est-ce légal ?

Non. Bien qu'il n'y ait ni dégâts matériel, ni victimes, cette action que nous avons entreprise est illégale.

Cette illégalité est-elle justifiable ?

Suite à l'action du Gracq, la réaction d'Infrabel ne s'est pas fait attendre : des bacs de ciment ont été volontairement placés pour bloquer l'accès aux cyclistes. Cette réaction vous semble-t-elle responsable et utile ?

IMG_20160624_081549

Infrabel ne supporte pas la concurrence intolérable du vélo

Le pouvoir politique qui lutte pour la mobilité, la réduction des polluants peut-il légitimement décider que les cyclistes n'ont pas le droit d'être protégés et ne doivent en aucun cas bénéficier du VER ?

Ces politiciens ne seront-ils pas moralement responsables si un cycliste se fait renverser par une voiture car il a décidé de respecter l'interdiction d'utiliser le VER et roule au milieu de routes pensées pour l'automobile ?

Un état démocratique qui a financé le VER avec l'argent du contribuable a-t-il le droit d'interdir ces mêmes contribuables de l'utiliser ?

Ne devrait-on pas au contraire finaliser au plus vite la jonction Genval/La Hulpe et inaugurer une formidable voie verte sur laquelle pourrait naître une véritable économie de proximité : buvette pour cyclistes assoiffés, ateliers de réparation, salles de réunions et espaces de travail.

La créativité est sans limite. Il ne reste plus qu'à finaliser l'effort accompli.

Mesdames et Messieurs les politiciens, vous avez aujourd'hui l'opportunité de transformer le plus grand des travaux inutiles belges, véritable gabegie d'argent public (le RER) en un formidable investissement écologique et économique, le VER.

Mesdames et messieurs les politiciens, il suffit d'une impulsion pour finaliser le VER. La balle est dans votre camp !

Photo de couverture : départ du VER depuis le pont de Jassans à Ottignies.

Merci d'avoir pris le temps de lire ce billet librement payant. Prenez la liberté de me soutenir avec quelques milliBitcoins: 12uAH27PhWepyzZ8kzY9rMAZzwpfsWSxXt, une poignée d'euros, en me suivant sur Tipeee, Twitter, Google+ et Facebook !

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

24 Jun 2016 12:27pm GMT

Jeroen De Dauw: Maps 3.7 for MediaWiki released

I'm happy to announce the immediate availability of Maps 3.7. This feature release brings some minor enhancements.

Upgrading

Since this is a feature release, there are no breaking changes, and you can simply run composer update, or replace the old files with the new ones.

Beware that as of Maps 3.6, you need MediaWiki 1.23 or later, and PHP 5.5 or later. If you choose to remain with an older version of PHP or MediaWiki, use Maps 3.5. Maps works with the latest stable versions of both MediaWiki and PHP, which are the versions I recommend you use.

24 Jun 2016 10:25am GMT

23 Jun 2016

feedPlanet Grep

Lionel Dricot: Travailler, un luxe que nous ne pouvons plus nous permettre

2750056025_d748167c26_o

De tous temps, la jeunesse est entrée en rébellion contre les vieillards afin de faire évoluer une société que les conservateurs, par essence, veulent figée.

La jeunesse finit toujours par gagner même s'il faut parfois plusieurs générations de jeunes pour faire admettre une idée, avec potentiellement des retours en arrière. Au final, il suffit d'être patient.

Mais aujourd'hui, il y'a un problème pour lequel nous n'avons malheureusement plus le temps d'attendre : la sauvegarde de notre planète.

Nous n'avons plus le loisir de discuter et de laisser le conservatisme accepter péniblement l'idée que, tiens, peut-être que les ressources de la planète sont limitées. Nous ne pouvons plus nous permettre de mettre quinze ans à apprendre à mettre les déchets plastiques dans des sacs bleus pour avoir l'impression de faire un geste pour l'environnement.

Il faut agir radicalement aujourd'hui et maintenant. Il faut repenser fondamentalement tout ce qui, dans notre société, détruit ou justifie la destruction de la planète.

Et l'une des principales sources de destruction est clairement identifiée : l'emploi ! Personne n'ose le dire voire le penser car il s'agit d'un pilier de notre société et de notre identité.

Car quel est le réel problème auquel nous sommes confrontés ? Nous consommons et nous produisons trop ! C'est aussi simple que cela : tout notre modèle de société est basé sur produire plus pour pouvoir consommer plus et consommer plus pour pouvoir produire plus.

Et comme nous sommes de plus en plus productifs pour produire avec moins de travail, nous n'avons d'autre choix que d'augmenter la consommation.

Les emballages biodégradables, les réductions d'émissions, l'isolation des bâtiments et même les marches pour l'environnement pleines de bons sentiments ne sont que cela : des bons sentiments, des vœux pieux.

Tous les discours, toutes les décisions politiques et toutes les technologies "vertes" ne pourront rien faire d'autre que légèrement ralentir l'inéluctable tant que nous n'aurons pas conscience que le seul et unique problème est notre relation au travail.

Car un travail n'est finalement rien d'autre que prendre une partie de ressources de la planète et la transformer en autre chose, en produisant au passage des déchets.

Tant que nous nous évertuerons à vouloir "créer des emplois", nous consommerons, nous polluerons, nous détruirons la planète.

Or, loin de remettre en question cette cause fondamentale, nous en sommes arrivé à la suprême hypocrisie qui consiste à "créer des emplois verts". Le discours des partis écologistes est de dire que "être écologique crée de l'emploi".

Nous essayons de faire en sorte que les voitures polluent un peu moins par kilomètre parcouru, quitte à truquer les tests pour faire semblant, alors que l'unique problème est que nous parcourons bien trop de kilomètres pour… nous rendre au travail. Kilomètres qui nécessitent des routes de plus en plus larges afin d'attirer de plus en plus d'automobilistes qui sont de plus en plus ralentis et donc polluent encore plus.

Nous ne pouvons plus nous permettre de "polluer moins". Nous ne pouvons plus accepter que les mentions "écologique" ou "vert" soient apposées à coté de tous ce qui est légèrement moins polluant que la concurrence. Nous devons radicalement changer notre mode de vie pour ne plus polluer du tout voir pour régénérer la planète.

La remise en question du travail génère des peurs fondamentales : plus personne ne va rien faire, les gens vont être désœuvrés, la civilisation va s'écrouler.

Mais le pire des scénarios n'est-il pas préférable à l'issue vers laquelle nous nous dirigeons inexorablement ?

Car si nous observons ce que les gens font en dehors du travail, que ce soit en bénévolat, en activité artistique, en entraide, en faisant de l'artisanat ou du sport, une tendance nette s'observe : ces activités détruisent très peu la planète (à l'exception de quelques sports moteurs ou de la chasse).

À l'opposé, le travail est une activité rarement réalisée avec plaisir qui a pour essence même de détruire la planète ou d'encourager à sa destruction à travers la consommation.

Dans le pire et le plus effrayant des futurs, une société de loisirs entraînerait des inégalités, un appauvrissement général voire un écroulement de la civilisation. Le tout potentiellement agrémenté de famines, d'épidémies, de guerre. Nous sommes d'accord que ce scénario catastrophe est improbable mais considérons le pire.

Nous constatons que, pour l'humanité, ce scénario catastrophe n'est pas mortel. Une nouvelle civilisation finira toujours pas renaître.

Tandis qu'en continuant à travailler, à créer de l'emploi et à valoriser le travail, nous détruisons peut-être définitivement notre planète.

Par peur des incertitudes, nous préférons offrir à nos enfants une quasi-certitude : celle d'être l'une des dernières générations d'êtres humains.

L'humanité peut se remettre de toutes les catastrophes. Sauf une. La perte de son unique planète.

Il est urgent de nous débarrasser de l'emploi le plus vite possible. D'arrêter d'essayer de négocier avec les conservateurs inquiets et d'agir sans tenir compte de leur avis. Nous devons unir nos forces aujourd'hui car nous n'aurons pas de seconde chance.

Alors ? Comment fait-on pour arrêter de nourrir le système ?

Photo par Alan Cleaver.

Merci d'avoir pris le temps de lire ce billet librement payant. Prenez la liberté de me soutenir avec quelques milliBitcoins: 12uAH27PhWepyzZ8kzY9rMAZzwpfsWSxXt, une poignée d'euros, en me suivant sur Tipeee, Twitter, Google+ et Facebook !

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

23 Jun 2016 1:55pm GMT

Mattias Geniar: Podcast: curl, libcurl and the future of the web

The post Podcast: curl, libcurl and the future of the web appeared first on ma.ttias.be.

I recorded a new episode of the SysCast podcast earlier this week, with Daniel Stenberg.

He's the author and maintainer of the curl project and we talk about curl & libcurl, HTTP/3, IETF and standards, OpenSSL vs LibreSSL and where the web is heading.

If you've got an interest in the web, HTTP and standards, this one's for you.

SysCast #4 -- Curl, libcurl and the future of the web »

The post Podcast: curl, libcurl and the future of the web appeared first on ma.ttias.be.

Related posts:

  1. I started a podcast for sysadmins and developers: SysCast In preparation of the launch of SysCast, the screencasting site...
  2. Podcast: Delving into HTTP/2 A couple of weeks ago I was invited to the...
  3. A clean mailing list browser, focussing on readability I wrote a new frontend for viewing mailing list entries...

23 Jun 2016 6:45am GMT

22 Jun 2016

feedPlanet Grep

Bert de Bruijn: How VMware appliances update themselves

Most VMware appliances (vCenter Appliance, VMware Support Appliance, vRealize Orchestrator) have the so called VAMI: the VMware Appliance Management Interface, generally served via https on port 5480. VAMI offers a variety of functions, including "check updates" and "install updates". Some appliances offer to check/install updates from a connected CD iso, but the default is always to check online. How does that work?

VMware uses a dedicated website to serve the updates: vapp-updates.vmware.com. Each appliance is configured with a repository URL: https://vapp-updates.vmware.com/vai-catalog/valm/vmw/PRODUCT-ID/VERSION-ID . The PRODUCT-ID is a hexadecimal code specific for the product. vRealize Orchestrator uses 00642c69-abe2-4b0c-a9e3-77a6e54bffd9, VMware Support Appliance uses 92f44311-2508-49c0-b41d-e5383282b153, vCenter Server Appliance uses 647ee3fc-e6c6-4b06-9dc2-f295d12d135c. The VERSION-ID contains the current appliance version and appends ".latest": 6.0.0.20000.latest, 6.0.4.0.latest, 6.0.0.0.latest.

The appliance will check for updates by retrieving the repository URL /manifest/manifest-latest.xml . This xml contains the latest available version in and (fullVersion includes the build number), pre- and post-install scripts, EULA, and a list of updated rpm packages. Each entry has a that can be appended to the repository URL and downloaded. The update procedure downloads manifest and rpms, verifies checksums on downloaded rpms, executes the preInstallScript, runs rpm -U on the downloaded rpm packages, executes the postInstallScript, displays the exit code and prompts for reboot.

With this information, you can setup your own local repository (for cases where internet access is impossible from the virtual appliances), or you can even execute the procedure manually. Be aware that manual update would be unsupported. Using a different repository is supported by a subset of VMware appliances (e.g. VCSA, VRO) but not all (VMware Support Appliance).

22 Jun 2016 7:50am GMT

21 Jun 2016

feedPlanet Grep

Dries Buytaert: The long path to being understood

I sent an internal note to all of Acquia's 700+ employees today and decided to cross-post it to my blog because it contains a valuable lesson for any startup. One of my personal challenges - both as an Open Source evangelist/leader and entrepreneur - has been to learn to be comfortable with not being understood. Lots of people didn't believe in Open Source in Drupal's early days (and some still don't). Many people didn't believe Acquia could succeed (and some still don't). Something is radically different in software today, and the world is finally understanding and validating that some big shifts are happening. In many cases, an idea takes years to gain general acceptance. Such is the story of Drupal and Acquia. Along the way it can be difficult to deal with the naysayers and rejections. If you ever have an idea that is not understood, I want you to think of my story.

Team,

This week, Acquia got a nice mention on Techcrunch in an article written by Jake Flomenberg, a partner at Accel Partners. For those of you who don't know Accel Partners, they are one of the most prominent venture capital investors and were early investors in companies like Facebook, Dropbox, Slack, Etsy, Atlassian, Lynda.com, Kayak and more.

The article, called "The next wave in software is open adoption software", talks about how the enterprise IT stack is being redrawn atop powerful Open Source projects like MongoDB, Hadoop, Drupal and more. Included in the article is a graph that shows Acquia's place in the latest wave of change to transform the technology landscape, a place showing our opportunity is bigger than anything before as the software industry migrated from mainframes to client-server, then SaaS/PaaS and now - to what Flomenberg dubs, the age of Open Adoption Software.

Waves of software adoption

It's a great article, but it isn't new to any of us per se - we have been promoting this vision since our start nine years ago and we have seen over and over again how Open Source is becoming the dominant model for how enterprises build and deliver IT. We have also shown that we are building a successful technology company using Open Source.

Why then do I feel compelled to share this article, you ask? The article marks a small but important milestone for Acquia.

We started Acquia to build a new kind of company with a new kind of business model, a new innovation model, all optimized for a new world. A world where businesses are moving most applications into the cloud, where a lot of software is becoming Open Source, where IT infrastructure is becoming a metered utility, and where data-driven services make or break business results.

We've been steadily executing on this vision; it is why we invest in Open Source (e.g. Drupal), cloud infrastructure (e.g. Acquia Cloud and Site Factory), and data-centric business tools (e.g. Acquia Lift).

In my 15+ years as an Open Source evangelist, I've argued with thousands of people who didn't believe in Open Source. In my 8+ years as an entrepreneur, I've talked to thousands of business people and dozens of investors who didn't understand or believe in Acquia's vision. Throughout the years, Tom and I have presented Acquia's vision to many investors - some have bought in and some, like Accel, have not (for various reasons). I see more and more major corporations and venture capital firms coming around to Open Source business models every day. This trend is promising for new Open Source companies; I'm proud that Acquia has been a part of clearing their path to being understood.

When former skeptics become believers, you know you are finally being understood. The Techcrunch article is a small but important milestone because it signifies that Acquia is finally starting to be understood more widely. As flattering as the Techcrunch article is, true validation doesn't come in the form of an article written by a prominent venture capitalist; it comes day-in and day-out by our continued focus and passion to grow Drupal and Acquia bit by bit, one successful customer at a time.

Building a new kind of company like we are doing with Acquia is the harder, less-traveled path, but we always believed it would be the best path for our customers, our communities, and ultimately, our world. Success starts with building a great team that not only understands what we do, but truly believes in what we do and remains undeterred in its execution. Together, we can build this new kind of company.

--
Dries Buytaert
Founder and Project Lead, Drupal
Co-founder and Chief Technology Officer, Acquia

21 Jun 2016 5:29pm GMT

Amedee Van Gasse: Popular Search Terms

These are currently the popular search terms on my blog:

The post Popular Search Terms appeared first on amedee.be.

21 Jun 2016 3:34pm GMT

18 Jun 2016

feedPlanet Grep

Frank Goossens: How to add posts’ featured images to WordPress RSS feeds

The standard WordPress RSS-feeds don't include posts featured image. Below code adds the medium-format thumbnail to each item in a RSS2 standards-compliant manner by inserting it as an enclosure.

add_action('rss2_item', 'add_enclosure_thumb');
function add_enclosure_thumb() {
  global $post;
  if(has_post_thumbnail($post->ID)) {
    $thumbUrl = get_the_post_thumbnail_url($post->ID,"medium");

    if ((substr($thumbUrl, -4) === "jpeg") || (substr($thumbUrl, -3) === "jpg")) {
      $mimeType="image/jpeg";
    } else if (substr($thumbUrl, -3) === "png") {
      $mimeType="image/png";
    } else if (substr($thumbUrl, -3) === "gif") {
      $mimeType="image/gif";
    } else {
      $mimeType="image/unkown";
    }

    $thumbSize = filesize(WP_CONTENT_DIR.str_replace(WP_CONTENT_URL,'',$thumbUrl));

    echo "<enclosure url=\"".$thumbUrl."\" size=\"".$thumbSize."\" type=\"".$mimeType."\" />\n";
  }
}

A more advanced & flexible approach would be to add support for the media RSS namespace, but the above suffices for the purpose I have in mind.

Possibly related twitterless twaddle:

18 Jun 2016 11:30am GMT

16 Jun 2016

feedPlanet Grep

Ruben Vermeersch: Translation parameters in angular-gettext

As a general rule, I try not to include new features in angular-gettext: small is beautiful and for the most part I consider the project as finished. However, Ernest Nowacki just contributed one feature that was too good to leave out: translation parameters.

To understand what translation parameters are, consider the following piece of HTML:

<span translate>Last modified: {{post.modificationDate | date : 'yyyy-MM-dd HH:mm'}} by {{post.author}}.</span>

The resulting string that needs to be handled by your translators is both ugly and hard to use:

msgid "Last modified: {{post.modificationDate | date : 'yyyy-MM-dd HH:mm'}} by {{post.author}}."

With translation parameters you can add local aliases:

<span translate
      translate-params-date="post.modificationDate | date : 'yyyy-MM-dd HH:mm'"
      translate-params-author="post.author">
    Last modified: {{date}} by {{author}}.
</span>

With this, translators only see the following:

msgid "Last modified: {{date}} by {{author}}."

Simply beautiful.

You'll need angular-gettext v2.3.0 or newer to use this feature.

More information in the documentation: https://angular-gettext.rocketeer.be/dev-guide/translate-params/.


Comments | More on rocketeer.be | @rubenv on Twitter

16 Jun 2016 11:32am GMT

Frank Goossens: Music from Our Tube; Andrew Bird – “Capsized”

Andrew Bird is an American songwriter an violinist and his "Capsized" is a damn good song;

YouTube Video
Watch this video on YouTube.

Possibly related twitterless twaddle:

16 Jun 2016 6:55am GMT