Matthew Saunders: Drupal Association Board Retreat - Amsterdam

Planet Drupal - mar, 07/10/2014 - 03:08

I've spent a good chunk of the last year working on and with the Association Board. I've poured over financials, talked through plans for expansion and diversification of the organization. I've been working with the Governance Committee and have taken on the role of Committee Chair. I'm a bit of policy wonk, having been heavily involved in policy in the Charter School and Arts Nonprofit/State Government world.

During our most recent retreat in Amsterdam, the board broke up into their committees and started sorting out what we want to accomplish for the year.

I'll be working with the Governance Committee to achieve a few goals.

Catégories: Elsewhere

Victor Kane: Historic DrupalCon Amsterdam 2014 - Let's get to the bottom of Headless Drupal

Planet Drupal - mar, 07/10/2014 - 02:05
Let the Debates Begin - Part II

Other articles in this series:


Whatever it is, and in this article we are going to venture a proposal for a canonical definition, Headless Drupal seems to synthesis a heartfelt need in the context of the current Drupal problematic. It has been a hot subject for quite some time now, with an active group presence on Drupal Groups, and with a veritable avalanche of articles and presentations. Barring the obvious number one topic of Drupal 8 (which we'll debate in the next article in this series) and successfully competing with "the new PHP" itself as a center of interest, it was really the number one topic at DrupalCon Amsterdam 2014, with training, presentations and at least one very important BOF:

read more

Catégories: Elsewhere

Drupal Easy: DrupalEasy Podcast 140: Oh *Beha*ve! (Matthew Grasmick, Behat)

Planet Drupal - lun, 06/10/2014 - 23:38
Download Podcast 140

Matthew Grasmick (grasmash), Technical Consultant with Acquia, joins Mike and Ryan to talk about the Behat testing framework, Drupal 8 beta 1, and Dries' (super-interesting) DrupalCon Amsterdam keynote.

read more

Catégories: Elsewhere

Cocomore: Q and A with Dries — All questions and answers summarized from Drupalcon Amsterdam 2014

Planet Drupal - lun, 06/10/2014 - 20:31

One Drupalcon session of particular interest to many in the community, since the first of them, has been the “Q&A with Dries”, a core-conversation -track, where Dries is joined by a panel of his initiative leads and other major contributors to Drupal 8 core development. Since I'd wished, in the past, that sessions like these had a video recording to show who was talking, I brought my DSLR and a shotgun microphone this time, thinking I'd contribute the resulting video. I don't think the video I shot was technically perfect enough to share and I realized that one panel member also prefers to limit her exposure on the Web and respect that, of course; since it's much easier to blur or block out a face in a few images than in a video, and since you can read this summary in much less time than the hour+ -length session, too, I decided to provide stills from the video, along with a summary of the questions and answers, which ranged from the whimsical (a bet on how long it would be till Drupal 8 would be released as “stable” to various business and architecture questions and concerns.

(You’ll find a more serious answer(s) to that question if you read on...). Of course, Dries began by asking each of his panelists to introduce themselves. Those present were:

read more

Catégories: Elsewhere

Appnovation Technologies: Up and Running with Acquia Dev Desktop

Planet Drupal - lun, 06/10/2014 - 20:12

Getting a Drupal site up and running is easier than ever with Acquia Dev Desktop.

var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Catégories: Elsewhere

Julian Andres Klode: A weekend with the Acer Chromebook 13 FHD (AKA nyan-big)

Planet Debian - lun, 06/10/2014 - 18:19

I spent the weekend using almost exclusively my Chromebook 13, on a single charge Saturday and Sunday.


I think I like the keyboard better now than I used to when I first tried it. It gets nowhere near the ThinkPad X230 one, though; appart from the coating, which my (backlit) X230 unfortunately does not have.


While the screen appeared very grainy to me on first sight, having only used IPS screens in the past year, I got used to it over the weekend. I now do not notice much graininess anymore. The contrast still seems extremely poor, the colors are not vivid, and the vertical viewing angles are still a disaster, though.

Battery life

I think the battery life is awesome. I have 30% remaining now while I am writing this blog post and Chrome OS tells me I still have 3 hours and 19 minutes remaining. It could probably still be improved though, I notice that Chrome OS uses 7-14% CPU in idle normally (and up to 20% in exceptional cases).

The maximum power usage I measured using the battery’s internal sensor was about 9.2W, that was with 5 Big Buck Bunny 1080p videos played in parallel. Average power consumption is around 3-5W (up to 6.5 with single video playing), depending on brightness, and use.


While I do notice a performance difference to my much more high-end Ivy Bridge Core i5 laptop, it turns out to be usable enough to not make me want to throw it at a wall. Things take a bit longer than I am used to, but it is still acceptable.

Input: Software Part

The user interface is great. There are a lot of gestures available for navigating between windows, tabs, and in the history. For example, horizontally swiping with two finger moves in history, three fingers moves between tabs; and swiping down (or up for Australian scrolling) gives an overview of all windows (like expose on Mac, GNOME’s activities, or the multi-tasking thing Maemo used to have).

What I miss is a keyboard shortcut like Meta + Left/Right on GNOME which moves the active window to the left/right side of the screen. That would be very useful for mult-tasking situations.


I noticed some performance issues. For example, I can easily get the Chromebook to use 85% of a CPU by scrolling on a page with the touchpad or 70% for scrolling by keeping a key pressed (crbug.com/420452).

While watching Big Buck Bunny on YouTube, I noticed some (micro) stuttering in the beginning of the film, as well as each time I move in or out of the video area when not in full-screen mode (crbug.com/420582). It also increases CPU usage to about 70%.

Running a “proper” Linux?

Today, I tried to play around a bit with Debian wheezy and Ubuntu trusty systems, in a chroot for now. I was trying to find out if I can get an accelerated X server with the standard ChromeOS kernel. The short answer is: No. I tried two things:

  1. Debian wheezy with the binaries from ChromeOS (they have the same xserver version)
  2. Ubuntu trusty with the Nvidia drivers

Unfortunately, they did not work. Option 1 failed because ChromeOS uses glibc 2.15 whereas wheezy uses 1.13. Option 2 failed because the sysfs interface is different between the ChromeOS and Linux4Tegra kernels.

I guess I’ll have to wait.

I also tried booting a custom kernel from USB, but given that the u-boot always sets console= and there is no non-verified u-boot available yet, I could not see any output on the screen :(  – Maybe I should build a u-boot myself?

Filed under: Uncategorized
Catégories: Elsewhere

Urban Insight: Tracking progress in embedded Vimeo videos

Planet Drupal - lun, 06/10/2014 - 17:14

Urban Insight operates a highly successful on-demand video service, Planetizen Courses. The service keeps improving rapidly; it’s not uncommon for new features to appear on the site. One recent enhancement allows the system to keep track of progression in videos as they are being watched.

This enhancement allows for two new features:

Catégories: Elsewhere

Phase2: Introducing DrupalCon Amsterdam Hackathon Champs!

Planet Drupal - lun, 06/10/2014 - 17:03

Last Monday, Phase2 hosted a distribution hackathon at DrupalCon Amsterdam. While we were excited to see what our hackers would come up with, we were blown away by what was accomplished in an evening of hacking.  The winners of the hackathon developed a Drupal 8 distribution called Drupal Promo Kit. This distribution allows anyone to easily create presentations and landing pages using Drupal. Other hack projects included Open Atrium Apps, Panopoly apps, and more. I got to chat with the hackathon winners: Kate Marshalkina , Konstantin Komelin, John Ennew, and Mariano Barcia, to learn how they came up with their idea and how they did it:

Q: What was your inspiration for your hackathon project?

A: We wanted to test our skills in Drupal 8 and see if we could build our own distribution.  We also wanted to build a unique solution that was useful and meaningful.

Q: How did you prep for the hackathon?

A: About a week before the hackathon Kate and I (Konstantin) brainstormed potential hackathon ideas. Our goal was to decide on a project that we could complete by the end of the hackathon, so once we decided on our idea for the project, we decided on the scope of our project and the minimal and maximum viable product.  We then decided on the tools we would use including Bitbucket, Google docs, Slack, and Trello.

Q: And once you arrived at the hackathon, what was your experience working with other people?

A: When the hackathon kicked off, we announced our project and goals to everyone and found some new team members that were interested in what we wanted to do. John Ennew and Mariano Barcia joined us and it was amazing how easy it was to pick up and start developing with other Drupalers. We were able to start developing rapidly in just a couple of hours. It didn’t matter that we were all coming from different backgrounds, with different skill levels, we were all speaking Drupal, a universal language.

Q: What do you think is the value of hackathons?

A: Hackathons are a great opportunity to meet other Drupalers in the greater Drupal community and work together to solve problems. Hackathons at Drupalcon are special because your  team can come from all over the world, and you all have different cultures, different jokes, and new ideas.  Not only do you build friendships throughout the event, but all the different perspectives and experiences strengthen your project. Hackathons let you dive into something you are interested in and at the same time, it can help push Drupal forward.  We learned so much about Drupal 8 while working on this project, and we plan on taking our experience and feedback to the core team to help improve Drupal 8.


Interested in learning more about Drupal Promo Kit? Check it out on Drupal.org! We want to thank all the hackers that participated in our hackathon, and can’t wait to hack with our brilliant community again soon!  See more images of the hackathon and other DrupalCon Amsterdam photos on our Flickr!

Catégories: Elsewhere

Matt Farina: Find Security Holes With A Threat Analysis

Planet Drupal - lun, 06/10/2014 - 16:00

It seems that every week we hear about a new high profile hacking. For example, it just came out that numerous financial institutions, in addition to JPMorgan Chase, were hacked. We live in an incredibly accessible world where those on the other side of the globe can easily knock on our digital front doors or even try to pick the locks. So, how can we try to figure out where the weak points are in our security? How can we find the tasks to work on to beef up security? One option is to perform a threat analysis.

A threat analysis for computing systems is...

Systematic detection, identification, and evaluation of areas or spots of vulnerability of a facility, operation, or system.

Let's look at some ways we can dip out toes into a threat analysis. This is not all inclusive and you'll need to go well beyond these ideas but they are a place to get started.

You'll notice I suggest documenting many of the aspects discussed. Documenting them helps to communicate the system and details to others who can offer insight and it helps to visualize what's happening.

Diagram Your System Architecture

Above is a simple example of a CMS based website, such as a common Drupal site. In the diagram diagram document all the components, even elements that browsers download from 3rd parties or components that aren't user facing.

Once you have the diagram look at all the interconnects between the different parts. For example, you may serve your pages over https but the connection between the web server and the MySQL isn't over an encrypted connection. That could offer a route to peek in on data.

Also, look at who can access what ports on what servers. If Memcached is accessible to anyone who knows the IP of the server the data in it can be retrieved by anyone. In this picture private networks, cloud security groups, or some other protection should be in place to protect anyone from ever accessing Memcached or MySQL.

Looking at the system can help you identify places to secure communications. It's an easy place to start identifying tasks.

Data Storage

Many sites store information about customers. This ranges from mundane settings through personally identifiable information (PII). Imagine an e-commerce site where someone gets into the database or can even just monitor the traffic between the web server and the database. They'll know customer names, email address, home address, and more.

Type Where Encrypted? Products MySQL No Name MySQL No Address MySQL No ... ... ...

An easy way to get a view of the data you're storing is with an old fashioned table. List out everything from the content that's displayed to the private details (even those sent to web services like a credit card processor).

Once you have this information you can combine it with the accessibility of the system and start to get an idea how open data is for hackers. It's also an easy place to start finding tasks to make the data more secure. For example, can information like addresses be encrypted?

Security Update Plan

Software is insecure. The more complicated the software the more likely there are holes in it. The software powering the Internet has regular security updates to fix the problems as they are found. By regular I don't expect a week to go by without needing to update one thing or another.

How do you update software? Is it automated? Is it often? How often? For example, it's great to install updates to a CMS but what about the web server, the database, the operating system they are on, and everything else in the system?

Document how you handle updates and then look for ways to improve on and automate the updates.

Reviewing Logs

Hacking attempts happen. Some people will even scan the entire Internet to see what's open. It's not all the hard to scan the entire Internet and you can do it at a slow pace in under a day.

Part of handling threats isn't just handling them but identifying bad situations quickly and reacting. That's where good logging practices can come in. Look at the log review practices and automate as much as possible.

Make sure to log everything (minus information such as passwords) and review those logs. If an IP address keeps trying to access your systems but fails to authenticate you should know about it. If systems are accessed when you don't expect them to be or from locations you don't expect, you should know about it.

Just the beginning...

These few things are just the beginning but a good place to start. Initially, this can raise a number of places to improve the system while getting some of the security thinking more in place.

Continue Reading »

Catégories: Elsewhere

Lullabot: DrupalCon Amsterdam

Planet Drupal - lun, 06/10/2014 - 13:31

In this week's episode Addison Berry and Amber Himes Matz sit down together in a quiet room at DrupalCon Amsterdam to give a quick recap on their week at the largest European DrupalCon. We chat about other events outside of the DrupalCon sessions themselves, some cool sessions, and a bit about the new Drupal 8 beta.

Catégories: Elsewhere

Blue Drop Shop: Contributing IRL

Planet Drupal - lun, 06/10/2014 - 13:29

Let’s face facts: I am not a coder. With a lot of caffeine, much googling and more time than is reasonable, I *can* code my way out of a paper bag, but that’s about it.

So it is highly unlikely you will ever see my username tied to a module or on a list of contributors. Sure, I created the occasional new issue on a module’s issue queue or provided feedback for a patch I needed, which in itself is a form of contributing. But messing around with core? Funny. Me writing a patch? Nope. Sprinting? I only run when being chased.

According to d.o then, I am not a contributor. 

The outward problem with this is that the language around contributing back to Drupal is code-centric. The current system places emphasis on how many commits you have and how many projects you maintain. But there is hope for those of you who, like me, won't be contributing back code anytime soon. 

I am a co-organizer for the Fox Valley Drupal Meetup Group in the western suburbs of Chicago. We held our first camp in 2013 and I was part of the team that helped pull it off, and we recently wrapped our 2014 camp.

When the idea of the inaugural MidCamp was getting kicked around, I offered up my logistics help for that as well. And I'm on deck as the logistics lead 2015.

Through my non-Drupal day job, I have extensive print experience and do a fair amount of video production work tied to the annual conference we host. So I was all over session records for all three camps, and I'm working on a rebooted session recording kit that the Drupal Association is very interested in learning more about. 

My print skills have been tapped by the core mentor team, mostly because I was hanging around a bunch of them at Drupalcon Austin and they needed materials printed for the mentored sprints at Drupalcon Amsterdam. 

Hell, I even got roped into catering the extended sprints at Austin mainly because I am passionate about food, especially when it comes from something with four wheels and an engine.

My point: there are many opportunities to give back to the community and the project as a whole in real life. It took me a while before I realized that yes, I am a contributor. Just not in a way that is currently measured. But that's not why I do it. I am forever indebted to all the heavy code lifters that I depend on for my work. It just feels good to be able to give back.

So while it’s highly unlikely you’ll ever see any kind of percentage powered by kthull on a Drupal site, I’ll continue to lend my time and talents where I can. You should too.

Catégories: Elsewhere

Nuez Web Blog: Top 5 talks at the DrupalCon Amsterdam

Planet Drupal - lun, 06/10/2014 - 12:30
Last week I attended another very enlightening DrupalCon - this time in Amsterdam - with a wide variety of talks about Drupal ranging from hardcore computer science to business strategies and design. Also with a wide range of levels, which, to be honest, didn’t always match the difficulty mentioned on the official programme. So which ones were the best speeches for an all-round Drupal professional like me? 

Photo taken at the Druplicon with Drupal professional Marcel Ritsema and the team of Dutch Drupal shop Merge.

So what is an all-round Drupal professional like me? That's someone who mainly uses Drupal as a tool to build websites and web apps, knows how to build a module and a theme (sometimes shares them with the community), but does not necessarily understand all the nuts and bolts of core, especially of the Drupal 8 core.

This blog post is about the 5 most valuable talks I’ve...Read more

Catégories: Elsewhere

ERPAL: Two important Drupal facts resulting from Drupalcon Amsterdam 2014

Planet Drupal - lun, 06/10/2014 - 10:05
Two important Drupal facts resulting from Drupalcon Amsterdam 2014

This year was our first as a silver sponsor with an ERPAL booth at a Drupalcon. As we had lots of BOFs and interesting talks with other Drupal developers and sponsors from various companies, I’d like to share my thoughts and conclusions in this blog post. It became obvious that the community agrees about two very important facts:

Fact 1: Drupal is not a CMS

You might exclaim, "But this is written everywhere!" – and you would be entirely right. When companies are looking for a CMS, what do they want? Mostly a ready-to-use system to manage their content. In general, they expect to start adding their content quickly and easily. Responsiveness is required straightaway and no content site works without media management. However, when we install Drupal, we don’t get a CMS that works for end users right out of the box: we get a clean and slim Drupal installation that takes quite a bit of modification before it’ll work for a content site, but it’s much more powerful! Nonetheless, it can also be a little disappointing. With all the contrib modules available, you can build almost any web application you want, but to create a full-featured content site, you need to be an experienced Drupal site builder. You need to know how entities/nodes work, how rules and panels do their job, why and how to use features for deployment and why you won’t find a ready-to-use "image gallery" module – instead, you have to build it yourself. This can be problem when, after installation, Drupal doesn’t live up to these unwarranted expectations. If you need an easy-to-use CMS that works immediately after installation, WordPress may be a better choice, as it does what people expect. Install and use for your content management, done!

Drupal can do content management as well, but it needs to be built manually. In all our conversations we prefer to call Drupal an “application framework”. And many of the people I talked to at Drupalcon seemed to agree with that.

So you can use Drupal to build a full-featured CMS if you’re an experienced site builder and know all the modules and how they interact with each other. Or you can use a ready-built Drupal installation specialized for content management (if there is one). These vertical use cases are called “distributions” and there are already lots of them out there at Drupal.org. A Drupal distribution is a collection of preconfigured modules that provide features for a specific purpose, say, content management. Drupal is a framework, as Linux Magazine wrote in a previous blogpost: Drupal provides the horizontal "infrastructure modules" like fields and entities for building a data model, views for data queries and lists, rules for business logic, feeds and webservice clients for interaction with external systems and their APIs, panels and display suite as well as other formatters for layouting and display control. Everything we need to build powerful web applications is available as a module.

Since many Drupalistas see Drupal in the same way, I want to plead with everybody to allow Drupal to meet the expectations of its users. Let’s show the world the power of Drupal to build web applications, and show it with vertical distributions and use cases that are different from your typical CMS. Give end users a functional and full-featured distribution for content management but don't hide Drupal for other purposes like collaboration platforms, e-commerce systems, CRM systems, business applications, or planning tools. I guess the list is almost endless and content management is just one item: Drupal can be used to build all of them, nearly without coding, but out-of-the-box it is not.

Fact 2: Integration really matters

Another important fact I realized at Drupalcon is that many people are looking for examples of integration use cases. Drupal integrates with other systems very well – we’re often asked to integrate it with the “big players” in the software industry. And even better: it can extend the functionality of other system's data to integrate it with new workflows. Sharepoint and SAP integration requests show that Drupal has matured and that it’s now being viewed as an enterprise application framework. It only lacks public success stories that showcase these integrations. When I presented the Drupal cross-enterprise integration on an example of Sharepoint at the Drupalcamp in Frankfurt, I was asked "Why should one even do this?" The question is legitimate, of course. Why indeed should a Drupal developer use Drupal and Sharepoint together? The answer is to be found in the enterprise. Whenever you use Drupal in the enterprise for an intranet, a workflow management system, a CMS or a collaboration platform, the first thing you’re asked is: “Can we integrate with LDAP to avoid duplicate user accounts and permission duplication? Can we have a single sign-on? Can we see documents stored in Sharepoint in our Drupal instance? What about integrating SAP applications and can we reuse data from Drupal in Sharepoint or SAP?” The answer is: yes, yes and yes we can! But only a few will actually believe that, since they won’t find (m)any use cases in Google or Drupal.org.

So what we should foster in the Drupal community is the publication of stories of successful integration scenarios with other enterprise systems. Of course, these use cases won’t be as shiny as beautifully designed content sites, but they will help Drupal grow. Compared with other web applications systems Drupal is one of the most flexible: nobody argues this. It’s flexible and open to "talk" to other systems. In many of my conversations at Drupalcon it became clear that there are many niche use cases in the enterprise that would be expensive to build with other commercial systems, since code changes are always time-consuming and risky. From our daily work with Drupal we know that they’re much easier to build with Drupal, mostly by configuration. But almost none of the decision makers know this, which leads us back to "Fact 1 - Drupal is not a CMS". So whenever you build applications with Drupal that are integrated with other enterprise systems like SAP or Sharepoint, PLEASE publish and promote them! This will help Drupal grow in the enterprise, where we all want to see it settled in the future.

Conclusion: Let’s do it together

So if you agree and want to see Drupal as a world-leading application framework someday, share this information and help us with the next steps. If you’re interested in further discussion, use the comment function. If there are enough people interested in this movement, let’s put our heads together and plan how we can better meet the requirements of Drupal users. Perhaps you even have some use cases that represent Drupal as mentioned in Fact 1 and Fact 2? Don't hesitate to go public with them. If you DON'T agree with this opinion and we didn’t meet at Drupalcon, you’re most welcome to share your thoughts here as well.

Catégories: Elsewhere

Freelock : Ask Freelock: Upgrade D6 to Drupal 7, or wait for 8?

Planet Drupal - lun, 06/10/2014 - 07:11

Apparently there's some FUD (Fear, Uncertainty and Doubt) being sown by a few Drupal shops who are spreading downright wrong information about Drupal 8, trying to encourage people to upgrade to 7 now. One of our clients called in a panic unsure whether she needed to act, after getting approached by Drupal Geeks pitching this misleading content, which they've now posted in a highly inaccurate blog page, here:

6 Reasons to Upgrade to Drupal 7 Right Now

DrupalDrupal PlanetDrupal 8FUD
Catégories: Elsewhere

Robert Douglass: The DrupalCon Amsterdam Prenote : Drupal Memories

Planet Drupal - dim, 05/10/2014 - 23:28

Rob, Jam, and guests tell the history of DrupalCon, from Antwerp to Amsterdam, from the point of view of those whose lives were changed by them. This video includes "Oh, and one time, at Drupal Camp", "The Drupal 8 Bug Elimination Challenge", a guest appearance by Captain Drupal, a performance of "The Drupal Song", a re-enactment of the genesis of Acquia, a "Never Marry Me" proposal, and a stunning performance of "Memories" by Bryn and Campbell Vertesi.

It also concludes with the inaugural instance of "Selfieception", the culmination of the underlying metaphor behind this show. Inspired by Daniel Kahneman's TED Talk about "the future as anticipated memories", Rob and Jam set about to create a show that ties our collective experience to "the experiencing self that lives in the present, the remembering self that maintains the story of your life", and to use "storytelling as a function of what we remember from our experiences".

As we tell the stories of our DrupalCons, and how they defined us (remembering self), we engage in a dialog with the audience, who has to pay close attention to capture every moment (experiencing self), as indeed we'll have to do through the coming days of sessions, meetings, chance encounters, and business opportunities. But in a tip-of-the-hat to our remembering selves, we decide to take selfies to remember the moment by. However, to frame the shot in an optimal way, we must all turn our backs on each other, and thus the conflict between experiencing self and remembering self is embodied: the remembering self demands that the experiencing self sacrifices the performer-audience dialog, and turns the back to the present in anticipation of a future memory.

Thanks to the Drupal Association for supporting our ongoing tradition of the DrupalCon Prenote, thanks to the 1,500 people who got out of bed to be at our show at 8:00 in the morning, and thanks to everyone who stood up to tell their story.

Tags: Drupal PlanetDrupalDrupalConSelfieception
Catégories: Elsewhere

Stefano Zacchiroli: je code

Planet Debian - dim, 05/10/2014 - 16:48
je.code(); — promoting programming (in French)

jecode.org is a nice initiative by, among others, my fellow Debian developer and university professor Martin Quinson. The goal of jecode.org is to raise awareness about the importance of learning the basics of programming, for everyone in modern societies. jecode.org targets specifically francophone children (hence the name, for "I code").

I've been happy to contribute to the initiative with my thoughts on why learning to program is so important today, joining the happy bunch of "codeurs" on the web site. If you read French, you can find them reposted below. If you also write French, you might want to contribute your thoughts on the matter. How? By forking the project of course!

Pourquoi codes-tu ?

Tout d'abord, je code parce que c'est une activité passionnante, drôle, et qui permet de prouver le plaisir de créer.

Deuxièmement, je code pour automatiser les taches répétitives qui peuvent rendre pénibles nos vies numériques. Un ordinateur est conçu exactement pour cela: libérer les êtres humains des taches stupides, pour leur permettre de se concentrer sur les taches qui ont besoin de l'intelligence humaine pour être résolues.

Mais je code aussi pour le pur plaisir du hacking, i.e., trouver des utilisations originelles et inattendues pour des logiciels existants.

Comment as-tu appris ?

Complètement au hasard, quand j'étais gamin. À 7 ou 8 ans, je suis tombé dans la bibliothèque municipale de mon petit village, sur un livre qui enseignait à programmer en BASIC à travers la métaphore du jeu de l'oie. À partir de ce jour j'ai utilisé le Commodore 64 de mon père beaucoup plus pour programmer que pour les jeux vidéo: coder est tellement plus drôle!

Plus tard, au lycée, j'ai pu apprécier la programmation structurée et les avantages énormes qu'elle apporte par rapport aux GO TO du BASIC et je suis devenu un accro du Pascal. Le reste est venu avec l'université et la découverte du Logiciel Libre: la caverne d'Ali Baba du codeur curieux.

Quel est ton langage préféré ?

J'ai plusieurs langages préférés.

J'aime Python pour son minimalisme syntactique, sa communauté vaste et bien organisée, et pour l'abondance des outils et ressources dont il dispose. J'utilise Python pour le développement d'infrastructures (souvent équipées d'interfaces Web) de taille moyenne/grande, surtout si j'ai envie des créer une communauté de contributeurs autour du logiciel.

J'aime OCaml pour son système de types et sa capacité de capturer les bonnes propriétés des applications complexes. Cela permet au compilateur d'aider énormément les développeur à éviter des erreurs de codage comme de conception.

J'utilise aussi beaucoup Perl et le shell script (principalement Bash) pour l'automatisation des taches: la capacité de ces langages de connecter d'autres applications est encore inégalée.

Pourquoi chacun devrait-il apprendre à programmer ou être initié ?

On est de plus en plus dépendants des logiciels. Quand on utilise une lave-vaisselle, on conduit une voiture, on est soigné dans un hôpital, quand on communique sur un réseau social, ou on surfe le Web, nos activités sont constamment exécutées par des logiciels. Celui qui contrôle ces logiciels contrôle nos vies.

Comme citoyens d'un monde qui est de plus en plus numérique, pour ne pas devenir des esclaves 2.0, nous devons prétendre le contrôle sur le logiciel qui nous entoure. Pour y parvenir, le Logiciel Libre---qui nous permet d'utiliser, étudier, modifier, reproduire le logiciel sans restrictions---est un ingrédient indispensable. Aussi bien qu'une vaste diffusion des compétences en programmation: chaque bit de connaissance dans ce domaine nous rende tous plus libres.

Catégories: Elsewhere

Frederic Marand: Drupal 8 tip of the day : check menu links consistency

Planet Drupal - dim, 05/10/2014 - 14:16

One of the interesting aspects of the revamped menu/links system in Drupal 8 is the fact that menu links are now in easily parseable YAML files, the "(module).links.menu.yml" in each module, in which each menu link can be bound to its parent link, hopefully producing a tree-like structure.

read more

Catégories: Elsewhere

Triquanta Web Solutions: DrupalCon Amsterdam, 2014

Planet Drupal - dim, 05/10/2014 - 11:43

Come to think of it, I almost decided not to go to the RAI in the morning! All the official sessions are over since thursday and yesterday there was only ‘codesprinting’ left. This is where you can help contributing to the Drupal community in an informal setting with other Drupal users.

Since I’d never taken part before I was wondering what I could possibly add, next to the most imposing names always circulating on drupal.org, that were also present at DrupalCon. But when I heard all my colleagues were going also (except for our hardworking guards left at the office) I couldn’t let them down of course and stay behind. 

De last few days were (visually) exhausting and it cost me great effort to step out of bed and pack myself together to get started.

In the RAI they were buzzing already! When I tried spotting someone I’d know, I was helped by the so-called ‘Mentors’ (which Marc and Bart were also part of!) and they were trying to give me helping hand.

The new Drupal 8-beta release was freshly installed and intact, waiting for me on my laptop, to be tackled. And since I had nothing else to do I thought: ‘let me try some exercises to find out how it works’.

The first thing that immediately struck me was that I sometimes could and sometimes could not navigate to the homepage. I found that noteworthy and it also felt inconsistent. Each time I was intuitively hovering in the upper left corner of my screen trying to find a home link.

Well let me see what was causing the problem? I found out that when you opened a new tab and surfed directly to an admin page the home link didn’t show up.

Strange! Would this already have been discussed? I could hardly imagine I would be the first one to complain. Quick: let’s see if the ‘issue cue’ could clarify. No! It wasn’t mentioned before!

And so, after only five minutes of work, I found a job that kept me busy all day. Marc explained to me how I should handle this and introduced me to the right people. First I had to create an issue, I had to define the problem, and suggest a solution. It wasn’t real rocket science by the way: it only cost me three lines of code, but to get them reviewed and accepted by the right maintainers was a whole other story… well let me spare you, I won’t go into detail. The good news is: at the end of the day I stood there, shining happily ever after, next to my colleague Daniël, and suddenly we were just ‘Core Contributors’! Everyone was applauding, we were filmed and a live commit of the patches we created was done by ‘Webchick’.

Also Patrick, my other colleague had discovered a bug en managed to get this reviewed, fixed and committed the same day.

So only one day of codesprinting on DrupalCon had passed, but Triquanta gained three new Core contributors: Well done!

And I haven’t yet mentioned the important work that has been done by Jur (on Facet API) and my colleague Elibert who discovered a bug in CKEditor.

As I said before: this DrupalCon was the best ever. For example, I enjoyed so much the visit to photomuseum FOAM where Drupalists could get in for free on Wednesday night, during the ‘cultural evening’ which I also helped organizing. And the musical event subsequently in café the Prael, where Peter en Jur gave a great concert was every bit as successful. Thursday night I was invited by the Drupal association to have dinner with the other volunteers and afterwards I took part in a very funny group to answer the most hilarious questions at the big Trivia night in café Panama.

Next year DrupalCon will be held in Barcelona. Whilst everyone wants to go there, this might turn into a huge battle! At least I know where to focus: I will, if necessary use my newly acquired status as a Drupal contributor to win this game!

Catégories: Elsewhere

Thomas Goirand: OpenStack packaging activity: September 2014

Planet Debian - dim, 05/10/2014 - 10:41

I decided I’d post this monthly. It may be a bit boring, sorry, but I think it’s a nice thing to have this public. The log starts on the 6th, because on the 4th I was back from Debconf (after a day in San Francisco, plus 20 hours of traveling and 15 hours of time gap).


Saturday 6th & Sunday 7th:
– packaged libjs-twitter-bootstrap-wizard (in new queue)
– Uploaded python-pint after reviewing the debian/copyright
– Worked on updating python-eventlet in Experimental, and adding Python3 support. It seems Python3 support isn’t ready yet, so I will probably remove that feature from the package update.
– Tried to apply the Django 1.7 patches for python-django-bootstrap-form. They didn’t work, but Raphael came back on Monday morning with new versions
of the patches, which should be good this time.
– Helped the DSA (Debian System Administrators) with the Debian OpenStack cloud. It’s looking good and working now (note: I helped them during Debconf 14).
– Started a page about adding more tasksel tasks: https://wiki.debian.org/tasksel/MoreTasks. It’s looking like Joey Hess is adding new tasks by default in Tasksel, with “OpenStack compute node” and “OpenStack proxy node”. It will be nice to have them in the default Debian installer! :)
– Packaged and uploaded python-dib-utils, now in NEW queue.

Monday 8th:
– Uploaded fixed python-django-bootstrap-form with patch for Django 1.7.
– Packaged and uploaded python-pysaml2.
– Finilized and uploaded python-jingo which is needed for python-django-compressor unit tests
– Finalized and uploaded python-coffin which is needed for python-django-compressor unit tests
– Worked on running the unit tests for python-django-compressor, as I needed to know if it could work with Django 1.7. It was hard to find the correct way to run the unit tests, but finally, they all passed. I will add the unit tests once coffin and jingo will be accepted in Sid.
– Applied patches in the Debian BTS for python-django-openstack-auth and Django 1.7. Uploaded the fixed package.
– Fixed python-django-pyscss compat with Django 1.7, uploaded the result.
– Updated keystone to Juno b3.
– Built Wheezy backports of some JS libs needed for Horizon in Juno, which I already uploaded to Sid last summer:
o libjs-twitter-bootstrap-datepicker
o libjs-jquery.quicksearch
o libjs-spin.js
– Upstreamed the Django 1.7 patch for python-django-openstack-auth:


Tuesday 9:
– Updated and uploaded Swift 2.1.0. Added swift-object-expirer package to it, together with init script.

Wednesday 10:
Basically, cleaned the Debian BTS of almost all issues today… :P
– Added it.po update to nova (Closes: #758305).
– Backported libvirt 1.2.7 to Wheezy, to be able to close this bug: https://bugs.debian.org/757548 (eg: changed dependency from libvirt-bin to libvirt-daemon-system)
– Uploaded the fixed nova package using libvirt-daemon-system
– Upgraded python-trollius to 1.0.1
– Fixed tuskar-ui to work with Django 1.7. Disabled pep8 tests during build. Added build-conflicts: python-unittest2.
– Fixed python-django-compressor for Django 1.7, and now running unit tests with it, after python-coffin and python-jingo got approved in Sid by FTP masters.
– Fixed python-xstatic wrong upstream URLs.
– Added it.po debconf translation to Designate.
– Added de.po debconf translation to Tuskar.
– Fixed copyright holders in python-xstatic-rickshaw
– Added python-passlib as dependency for python-cinder.

Remaining 3 issues in the BTS: ceilometer FTBFS, Horizon unit test with Django 1.7, Designate fail to install. All of the 3 are harder to fix, and I may try to do so later this week.

Thursday 11:
– Fixed python-xstatic-angular and python-xstatic-angular-mock to deal with the new libjs-angularjs version (closes 2 Debian RC bugs: uninstallable).
– Fixed ceilometer FTBFS (Closes rc bug)

Friday 12:
– Fixed wrong copyright file for libjs-twitter-bootstrap-wizard after the FTP masters told me, and reuploaded to Sid.
– Reuploaded wrong upload of ceilometer (wrong hash for orig.tar.xz)
– Packaged and uploaded python-xstatic-bootstrap-scss
– Packaged and uploaded python-xstatic-font-awesome
– Packaged and uploaded ntpstat

Monday 15:
– packaged and uploaded python-xstatic-jquery.bootstrap.wizard
– Fixed python-xstatic-angular-cookies to use new libjs-angularjs version (fixed version dependencies)
– Fixed Ceilometer FTBFS (Closes: #759967)
– Backported all python-xtatic packages to Wheezy, including all dependencies. This includes backporting of a bunch of packages from nodejs which were needed as build-dependencies (around 70 packages…). Filed about 5 or 6 release critical bugs as some nodejs packages were not buildable as-is.
– Fixed some too restrictive python-xstatic-angular* dependencies on the libjs-angularjs (the libjs-angularjs increased version).

Tuesday 16:
– Uploaded updates to Experimental:
o python-eventlet 0.15.2 (this one took a long time as it needed maintenance)
o oslo-config
o python-oslo.i18n
– Uploaded to Sid:
o python-diskimage-builder 0.1.30-1
o python-django-pyscss 1.0.2-1
– Fixed horizon libapache-mode-wsgi to be a dependency of openstack-dashboard-apache and not just openstack-dashboard (in both Icehouse & Juno).
– Removed the last failing Django 1.7 unit test from Horizon. It doesn’t seem relevant anyway.
– Backported python-netaddr 0.7.12 to Wheezy (needed by oslo-config).
– Started working on oslo.rootwrap, though it failed to build in Wheezy with a unit test failure.

Wednesday 17:
– To experimental:
o Uploaded oslo.rootwrap It needed a build-depends on iproute2 because of a new test.
o Uploaded python-oslo.utils 0.3.0
o Uploaded python-oslo.vmware 0.6.0, fixed sphinx-build conf.py and filed a bug about it: https://bugs.launchpad.net/oslo.vmware/+bug/1370370 plus emailed the commiter of the issue (which appeared 2 weeks ago).
o Uploaded python-pycadf 0.6.0
o Uploaded python-pyghmi 0.6.17
o Uploaded python-oslotest, including patch for Wheezy, which I also submited upstream: https://review.openstack.org/122171/
o Uploaded glanceclient 0.14.0, added a patch to not use the embedded version of urllib3 in requests: https://review.openstack.org/122184
– To Sid:
o Uploaded python-zake_0.1.6-1

Thesday 18:
– Backported zeromq3-4.0.4+dfs, pyzmq-14.3.1, pyasn1-0.1.7, python-pyasn1-modules-0.0.5
– Uploaded keystoneclient 0.10.1, fixed the saml2 unit tests which were broken using testtools >= 0.9.39. Filed bug, and warned code author: https://bugs.launchpad.net/python-keystoneclient/+bug/1371085
– Uploade swiftclient 2.3.0 to experimental.
– Uploaded ironicclient 0.2.1 to experimental.
– Uploaded saharaclient, filed bug with saharaclient expecting an up and running keystone server: https://bugs.launchpad.net/python-saharaclient/+bug/1371177

Friday 19:
– Uploaded keystone Juno b3, filed but about unit tests downloading with git, while no network access should be performed during package build (forbidden by
Debian policy)
– Uploaded python-oslo.db 1.0.0 which I forgot in the dependency list, and which was needed for Neutron.
– Uploaded nova 2014.2~b3-1 (added a new nova-serialproxy service daemon to the nova-consoleproxy)

Saturday 20:
– Uploaded Neutron Juno b3.
– Uploaded python-retrying 1.2.3 (was missing from depends upload)
– Uploaded Glance Juno b3.
– Uploaded Cinder Juno b3.
– Fixed python-xstatic-angular-mock which had a .pth packaged, as well as the data folder (uploaded debian release -3).
– Fixed missing depends and build-conflicts in python-xstatic-jquery.

Sunday 21:
– Dropped python-pil & python-django-discover-runner from runtime Depends: of python-django-pyscss, as it’s only needed for tests. It also created a conflicts, because python-django-discover-runner depends on python-unittest2 and horizon build-conflicts with it.
– Forward-ported the Django 1.7 patches for Horizon. Opened new patch: https://review.openstack.org/122992 (since the old fix has gone away after a refactor of the unit test).
– Uploaded Horizon Juno b3.
– Applied https://review.openstack.org/#/c/122768/ to the keystone package, so that it doesn’t do “git clone” of the keystoneclient during build.
– Uploaded oslo.messaging (which really is 1.4.0) to experimental
– Uploaded oslo.messaging to fix the issue in Sid/Jessie after the wrong upload (due to Zul wrong tagging of Keystone in the 2014.1.2 point release).

Monday 22:
– Uploaded ironic 2014.2~b3-1 to experimental
– Uploaded heat 2014.2~b3-1 (with some fixes for sphinx doc build)
– Uploaded ceilometer 2014.2~b3-1 to experimental
– Uploaded openstack-doc-tools 0.19-1 to experimental
– Uploaded openstack-trove 2014.2~b3-1 to experimental

Tuesday 23:
– Uploaded python-neutronclient with fixed version number for cliff and six. This missing requirement for cliff version produced an error in Trove, which I don’t want to happen again.
– Added fix for unit tests in Trove: https://review.openstack.org/#/c/123450/1,publish
– Uploaded oslo.messaging 1.4.1 in Experimental, fixing the version conflicts with the one in Sid/Jessie. Thanks to Doug Hellman for doing the tagging. I will need to upload new versions of the following packages with the >= 1.4.1 depends:
> – ceilometer
> – ironic
> – keystone
> – neutron
> – nova
> – oslo-config
> – oslo.rootwrap
> – oslo.i18n
> – python-pycadf
See http://lists.openstack.org/pipermail/openstack-dev/2014-September/046795.html for more explanation about the mess I’m repairing…
– Uploaded designate Juno b3.

Wednesday 24:
– Uploaded oslosphinx
– Uploaded update to django-openstack-auth (new last minute requirement for Horizon).
– Uploaded final oslo-config package version (really is 1.4.0)
– Packaged and uploaded Sahara. This needs some tests by someone else as I don’t even know how it works.

Thuesday 25:
– Uploaded python-keystonemiddleware 1.0.0-3, fixing CVE-2014-7144] TLS cert verification option not honoured in paste configs. https://bugs.debian.org/762748
– Packaged and uploaded python-yaql, sent pull request for fixing print statements into Python3 compatible print function calls: https://github.com/ativelkov/yaql/pull/15
– Packaged and uploaded python-muranoclient.
– Started the packaging of Murano (not finished yet).
– Uploaded python-keystoneclient 0.10.1-2 with the CVE-2014-7144 fix to Sid, with urgency=high. Uploaded 0.11.1-1 to Experimental.
– Uploaded python-keystonemiddleware fix for CVE-2014-7144.
– Uploaded openstack-trove 2014.2~b3-3 with last unit test fix from https://review.openstack.org/#/c/123450/

Friday 26:
– Uploaded a fix for murano-agent, which makes it run as root.
– Finished the packaging of Murano
– Started packaging murano-dashboard, sent this patch to fix the wrong usage of the /usr/bin/coverage command: https://review.openstack.org/124444
– Fixed wrong BASE_DIR in python-xstatic-angular and python-xstatic-angular-mock

Saturday 27:
– uploaded python-xstatic-boostrap-scss which I forgot to upload… :(
– uploaded python-pyscss 1.2.1

Sunday 28:
– After a long investigation, I found out that the issue when installing the openstack-dasboard package was due to a wrong patch I did for Python 3.2 in Wheezy in python-pyscss. Corrected the patch from version 1.2.1-1, and uploaded version 1.2.1-2, the dashboard now installs correctly. \o/
– Did a new version of an Horizon patch at https://review.openstack.org/122992/ to address Django 1.7 compat.

Monday 29:
– Uploaded new version of python-pyscss fixing the last issue with Python 3 (there was a release critical bug on it).
– Uploaded fixup for python-django-openstack-auth fail to build in the Sid version, which was broken since the last upload of keystoneclient (which makes some of its API now as private).
– Uploaded python-glance-store 0.1.8, including Ubuntu patch to fix unit tests.
– Reviewed the packaging of python-strict-rfc3339 (see https://bugs.debian.org761152).
– Uploaded Sheepdog with fix in the init script to start after corosync (Closes: #759216).
– Uploaded pt_BR.po Brazilian Portuguese debconf templates translation for nova Icehouse in Sid (only commited it in Git for Juno).
– Same for Glance.

Tuesday 30:
– Added Python3 support in python-django-appconf, uploaded to Sid
– Upgraded to python-django-pyscss 1.0.3, and fixed broken unit tests with this new release under Django 1.7. Created pull request: https://github.com/fusionbox/django-pyscss/pull/22
– Fixed designate requirements.txt in Sid (Icehouse) to allow SQLA 0.9.x. Uploaded resulting package to Sid.
– Uploaded new Debian fix for python-tooz: kills memcached only if the package scripts started it (plus cleans .testrepository on clean).
– Uploaded initial release of murano
– Uploaded python-retrying with patch from Ubuntu to remove embedded copy of six.py code.
– Uploaded python-oslo.i18n 1.0.0 to experimental (same as before, just bump of version #)
– Uploaded python-oslo.utils 1.0.0 to experimental (same as before, just bump of version #)
– Uploaded Keystone Juno RC1
– Uploaded Glance Juno RC1

Catégories: Elsewhere

Steve Kemp: Before I forget, a simple virtual machine

Planet Debian - dim, 05/10/2014 - 10:34

Before I forget I had meant to write about a toy virtual machine which I'ce been playing with.

It is register-based with ten registers, each of which can hold either a string or int, and there are enough instructions to make it fun to use.

I didn't go overboard and write a complete grammer, or a real compiler, but I did do enough that you can compile and execute obvious programs.

First compile from the source to the bytecodes:

$ ./compiler examples/loop.in

Mmm bytecodes are fun:

$ xxd ./examples/loop.raw 0000000: 3001 1943 6f75 6e74 696e 6720 6672 6f6d 0..Counting from 0000010: 2074 656e 2074 6f20 7a65 726f 3101 0101 ten to zero1... 0000020: 0a00 0102 0100 2201 0102 0201 1226 0030 ......"......&.0 0000030: 0104 446f 6e65 3101 00 ..Done1..

Now the compiled program can be executed:

$ ./simple-vm ./examples/loop.raw [stdout] register R01 = Counting from ten to zero [stdout] register R01 = 9 [Hex:0009] [stdout] register R01 = 8 [Hex:0008] [stdout] register R01 = 7 [Hex:0007] [stdout] register R01 = 6 [Hex:0006] [stdout] register R01 = 5 [Hex:0005] [stdout] register R01 = 4 [Hex:0004] [stdout] register R01 = 3 [Hex:0003] [stdout] register R01 = 2 [Hex:0002] [stdout] register R01 = 1 [Hex:0001] [stdout] register R01 = 0 [Hex:0000] [stdout] register R01 = Done

There could be more operations added, but I'm pleased with the general behaviour, and embedding is trivial. The only two things that make this even remotely interesting are:

  • Most toy virtual machines don't cope with labels and jumps. This does.
    • Even though it was a real pain to go patching up the offsets.
    • Having labels be callable before they're defined is pretty mandatory in practice.
  • Most toy virtual machines don't allow integers and strings to be stored in registers.
    • Now I've done that I'm not 100% sure its a good idea.

Anyway that concludes todays computer-fun.

Catégories: Elsewhere


Subscribe to jfhovinne agrégateur - Elsewhere