Forget about ElasticSearch document types

This week I’ve been busy with a proof-of-concept using ElasticSearch to store a whole bunch of data. For me this was the first time in the NoSQL/Document-based world having used RDBMS systems all the time. With that said, I’ve been spending quite some time in the ElasticSearch documentation and Google to find ways to achieve my goals.

One of the most confusing things to me was how ElasticSearch is build on document types (which often get compared to data tables in a RDBMS-world). Having a setup where FileBeat watches a set of directories and reads a bunch of files I wanted to get these document types correct.
First thing I noticed was that FileBeat sends these document types in a field called ‘doc’ while ElasticSearch uses ‘_doc’ to identify a document type. This was somewhat confusing, but it was something I really wanted to find out because my Symfony bundles are highly reliant on these document types. After some searching I came to the following conclusions to tldr; it for you:

With this given, document types matter a lot less. Yes, it is still required to index your documents and setup mappings and a lot of external software still heavily relies on them. But we need to start preparing for a world where documents are just…. documents.

This made me realise that my document type issue wasn’t as big and I’m now ignoring the field. The challenges that lie ahead are of course making external software (like the ONGR ElasticSearch Bundle) work with this new way of thinking. But that’ll be something for a new blog post…

High quality live broadcasting with PHP

High quality live broadcasting (PHPCon Poland 2016)

For PHPCon Poland 2016 I was asked to submit a few of my talks, from these talks they picked “High quality live broadcasting” which I was happy to deliver.

One of the latest trends on our beloved internet is broadcasting live video. The charm of being there and being part of a group viewers via a chat is something which appeals to many users. It could be a product presentation, screencast with live Q&A, a weekly planned show or live DJ set. There are many opportunities to go live on networks like Facebook, Youtube or Twitch.
But there’s also a dark side with things like bandwidth limits, technical knowledge and many other small annoyances which can go wrong.
In this presentation we’ll look at these issues, how we as PHP developers at Spinnin’ Records overcame these problems now and new plans for the near future.
Best of all; this is being developed as an open source package, so you can already start planning your live screencasts, product presentations or weekly shows today!

Martin de Keijzer: High quality live broadcasting with PHP from PLUG on Vimeo.

As a bonus they asked me for a small interview after the conference for their after-movie.

PHPCon Poland 2016 Official Aftermovie from PLUG on Vimeo.

Productive & easy mobile app development

Productive & easy mobile app development

Code by the Sea invited me to speak about mobile app development using Appcelerator Titanium Mobile. The meetup was planned at the office of my former employee, Ibuildings, who I am still very thankful for my time with them, so I was more than happy to deliver.

A primer to starting on Titanium Mobile as given on a Code by the Sea meetup on December 8 in Vlissingen (The Netherlands)

Building a team for mobile development

Building a team for mobile development

I submitted to the tiConf conference because I just started Titanium Mobile development and wanted to meet with the community. The idea for this talk was very plain and simple; “Hi, I’m a newbie”. I wanted to talk about all the things that someone who is new to a certain technology has to overcome, how it can be done, and how you can start building a team with the knowledge you gather in a short amount of time.

I’m going to admit it, I’m a n00bie! And the great thing is that I start developing software with the experience I have from using software and developing for the web. But how do you turn an inexperienced developer into a productive asset to your team?

In this talk we’ll look at the mistakes I made and how those could be prevented. After that we’ll see the resources available and the steps that I’ve took to feel familiar and confident in developing with Titanium Mobile.

Native Javascript apps with Phonegap

Native Javascript apps with Phonegap (V3, CodeMotion)

Sometimes when you submit your talks multiple times you can get multiple positive responses. And of course when you get selected, you deliver! That’s why I polished up this talk based on all the feedback I got in the past to deliver the best content possible on building native Javascript apps with Phonegap.

Writing applications for phones has been a daunting task since every platform uses it’s own language and API’s. PhoneGap will solve this problem for you by utilizing the browser capabilities. In this session we will see how we can turn a web based application into a native app. We will also look at posibilites to integrate native functionality, like the camera or accelerometer, in our application. The final part of the presentation is about deployment of these applications. Adobe offers a cloud based service called PhoneGap Build which easily builds your application for all platforms.

The environment restaurant. Cooking up the best in OS's.

The environment restaurant. Cooking up the best in OS’s (PHPBenelux Summer BBQ)

When PHPBenelux came with the idea to have a summer barbecue with presentations I was on the tip of my seat to suggest my new presentation which also involved some cooking. After telling them what the talk is about they invited me to deliver the talk at this fun little event in the outskirts of The Netherlands.

Build quick development environments with Vagrant and Chef

Native Javascript apps with Phonegap V2

Native Javascript apps with Phonegap (V2, Dutch Mobile Conference 2013)

The Dutch PHP Conference got a new little sister called the Dutch Mobile Conference, of course with all my adventures in the mobile world the last couple of years it was a great time to submit one of my latest talks. I was happy to receive the response that I was selected to bring this talk.

Writing applications for phones has been a daunting task since every platform uses it’s own language and API’s. PhoneGap will solve this problem for you by utilizing the browser capabilities. In this session we will see how we can turn a web based application into a native app. We will also look at posibilites to integrate native functionality, like the camera or accelerometer, in our application. The final part of the presentation is about deployment of these applications. Adobe offers a cloud based service called PhoneGap Build which easily builds your application for all platforms.

Hybrid mobile webapps with Sencha Touch 2 (April 2013, iOSonRailsConf)

The kind people of the #iOSonRailsConf invited me to talk about Sencha Touch 2 and how to create mobile web apps using web technologies.

Creating apps usually is a very time consuming process when it comes to development. You need to write your code for all different platforms like iOS, Android, Blackberry, Windows Phone. Sencha Touch solves this problem by giving you a framework for the langauge we as web developers all know and love; Javascript! In this session we will see how Sencha Touch makes it easy to create apps. We will talk about the pro’s and cons of using HTML5 and Javascript. After that I will take you on a tour on how to create a simple tab-based application with an external data source. We will have a look at theming, and look into some performance optimizations.