The Data Stack – Download the most complete overview of the data centric landscape.

This blog post offers an overview and PDF download of the data stack, thus all tools that might be needed for data collection, processing, storage, analysis and finally integrated business intelligence solutions.

(Web)-Developers are used to stacks, most prominent among them probably the LAMP Stack or more current the MEAN stack. On the other hand, I have not heard too many data scientists talking about so much about data stacks – may it because we think, that in a lot of cases all you need is some python a CSV, pandas, and scikit-learn to do the job.

But when we sat down recently with our team, I realized that we indeed use a myriad of different tools, frameworks, and SaaS solutions. I thought it would be useful to organize them in a meaningful data stack. I have not only included the tools we are using, but I sat down and started researching. It turned out into an extensive list aka. the data stack PDF. This poster will:

  • provide an overview of solutions available in the 5 layers (Sources, Processing, Storage, Analysis, Visualization)
  • offer you a way to discover new tools and
  • offer orientation in a very densely populated area

So without further ado, here is my data stack overview (Click to open PDF). Feel free to share it with your friends too.

Liip Data stack version 1.0

Liip data stack version 1.0

Click here to get notified by email when I release version 2.0 of the data stack.

Let me lay out some of the questions that guided me in researching each area and throw in my 5 cents while researching each one of them:

Continue reading about The Data Stack – Download the most complete overview of the data centric landscape.

Tags: , , , , , ,

Hello, Rust! — An overview

This is my report of my talk at the TupperRust meetup hold in Lyon (France, February 2017) You find my slides available to download. 

The February 2nd 2017, I have presented a talk entitled Hello, Rust! — An overview about the Rust language. This language describes itself as safe, concurrent, and practical. The goal of this presentation was to give an overview of several features brought by the language, such as its strong safety guarantees, or speed and memory performances.

The slides are available online

First slide from the Hello, Rust! talk

This talk has been presented during the first TupperRust meetup event in Lyon (France). This is a serie of meetups focusing on Rust. The interaction was exceptional: The audience has been a great actor of this talk, and we even had a live-coding session on projects made by someones in the room. It was a great moment to talk about concrete problem, memory safety, performance etc.

It was also an opportunity to present a project that I have started here at Liip, called Tagua VM, which is an experimental PHP Virtual Machine that guarantees safety and quality by removing large classes of vulnerabilities thanks to the Rust language and the LLVM Compiler Infrastructure.

If you have any question, feel free to ask anything!

Tags: , , , ,

No nginx basic auth with either network or cookie set

For an internal tool, we’d like to allow access if you either coming from one of our office networks or you have a certain cookie set. If both are not satisfied, just show the usual basic auth dialog. And set that cookie, once you were allowed to access the page.

We wanted to do that in nginx and not the tool itself, as it looked like easier to do, especially since the tool didn’t have any authentication at all yet. Unfortunately it wasn’t that straight forward, but we found a working solution and wanted to share that.

Hope it helps anyone and saves them some time.

How to get involved in Drupal projects

Drupal is an open source project and really depends on its community to move forward. It is all about getting to know the CMS, spreading the knowledge and contribute to projects.
I will give you some ways to get involved, even if you are not a developer there is a task for you!

A group of Drupal mentors at DrupalCon 2016 in Dublin

Drupal Mentors – DrupalCon Dublin 2016 by Michael Cannon is licenced under CC BY-SA 2.0

Participating in user support

Sharing your knowledge with others is very important to the community: it is a nice thing to do and you might also learn some things by doing so. Whatever your skill level, you can give back to the community with online support. There are many places where you can give support starting with the Support Forums. You can also go to Drupal Answers which is more active than the forums or subscribe to the Support Mailing list. If you prefer real-time chat, you can also join #drupal-support channel on IRC or the Slack channels.

Helping out on documentation

Community members can write, review and improve different sorts of documentation for the project: community documentation on drupal.org, programming API reference, help pages inside the core software, documentation embedded in contributed modules and themes etc.
Contributing is a good way to learn more about Drupal and share your knowledge with others. Beginners are particularly encouraged to participate as they are more likely to know where documentation is lacking.
If you are interested, check out the new contributor tasks for anyone and writers.

Continue reading about How to get involved in Drupal projects

Tags: , ,

Drupal 8 Migrate Multilingual Content using Migrate API

As a follow-up to my previous blog post about the usage of Migrate API in Drupal 8, I would like to give an example, how to import multilingual content and translations in Drupal 8.

Prepare and enable translation for your content type

Before you can start, you need to install the “Language” and “Content Translation” Module. Then head over to “admin/config/regional/content-language” and enable Entity Translation for the node type or the taxonomy you want to be able to translate.

As a starting point for setting up the migrate module, I recommend you my blog post mentioned above. To import data from a CSV file, you also need to install the migrate_source_csv module.

Prerequisites for migrating multilingual entities

Before you start, please check the requirements. You need at least Drupal 8.2 to import multilingual content. We need the destination option “translations”, which was added in a patch in Drupal 8.2. See the corresponding drupal.org issue here.

Continue reading about Drupal 8 Migrate Multilingual Content using Migrate API

Tags: , ,

Fresh inputs from Confoo Vancouver 2016

I was invited to present at Confoo in Vancouver, Canada. I gave my talk “HTTP caching with Varnish” and a Symfony introduction. After having been invited to Confoo Montreal early this year, it was great to see how Confoo got an even broader range of technologies and languages covered. Many talks where on concepts first, rather than specific languages: HTTP, in-application caching, databases and so on. Other talks actively invited to learn new languages, like “Python for non-Python developers”.

Continue reading about Fresh inputs from Confoo Vancouver 2016

Web developer is a dream job? One week to discover

We welcomed Baptiste, 14 years, in our Lausanne Office. One week of “trial internship” to understand what it is to be a dev. What could I teach him in such a short time? Read this post to discover what I organised for him and how it went.

Dev step by step

Baptiste was visiting us to discover the different facets of our job, in view to better know what he wants to do later. This week was a professional orientation internship. Taking this issue very seriously, I have given much thoughts on how to prepare a broad, dense and accessible program.

Continue reading about Web developer is a dream job? One week to discover

Tags: , , , ,

Swift Alps Conference – experimentation and collaboration

The Swift Alps Conference has a special format focused on experimentation and collaboration. This is my report of the conference and the workshop Kilian and I held. The slides are available below.

Last month my colleague Kilian and I were pleased to attend the Swift Alps Conference, an experimental conference about Swift taking place in the Swiss Alps. This conference had a different format from what one can expect from a typical software development conference. In this case the format was more focused in experimenting and collaborating with other attendees with the goal of learning something new.

Experimenting with strangers

Continue reading about Swift Alps Conference – experimentation and collaboration

Tags: , , , , , ,

Why bother with User Testing? Part 2 : Answer 5 common objections

User Testing is essential, just like I explained it in my last blog post. But your client / boss refuses to pay for this option. No, sorry, this is not an option. At all. They will argue that there is no money , that there is no time left, that the product is super simple, they already know the users…

1. Why bother with user testing? We perform well!

Client: no need for this, our product is great, we’re not leaders for nothing.

fatboyslim_greatest_hits_cdcov

Designer: Oh really? If you never test it with users, how can you be sure that they don’t struggle regularly on your product?

Continue reading about Why bother with User Testing? Part 2 : Answer 5 common objections

Tags: , , , , , , , , ,

Accessibility: make your website barrier-free with a11ym!

Accessibility is not only about people with disabilities but also about making your website accessible to search engines robots. This blog post shares our experience with making the website of a famous luxury watchmaker more accessible, an important e-commerce application. We have built a custom tool, called The A11y Machine to help us crawl and test each URL against accessibility and HTML conformances. Less than 100 hours were required to fix a thousand of strict errors.

Issues with unaccessible application

Accessibility is not just a matter of helping people with disabilities. Of course, it is very important that an application can be used by everyone. But, have you ever considered that robots are visitors with numerous disabilities? What kind of robots you may ask, well: Search engine robots for instance, like Google, Bing, DuckDuckGo, Baidu… They are totally blind, they don’t have a mouse, they don’t have a keyboard, they must understand your content only with the source code.

Whilst it is easy to consider a man or a woman with a pushchair having a bad time in public transport, someone color-blind, a widespread disability, could also have issues browsing the web.

Continue reading about Accessibility: make your website barrier-free with a11ym!

Tags: , , , ,