I bought myself a Nintendo Wii Remote Plus controller. Interesting for me are the acceleration data. Since it was not trivial to me, I will show in this post how I have connected a Wii Remote Plus controller with my notebook that runs Debian 8 Jessie.

Nintendo Wii Remote Plus

Continue reading

Bootstrap responsive embed can be very helpful to show responsive PDF files or videos. But it supports only the aspect ration 16by9 and 4by3. But what about other aspect rations? For example 210by297 would be interesting to embed a A4 paper.

Continue reading

In sommer 2015 I have visited the seminar Intelligent Software Systems at the TU Berlin. My topic was Fast Nearest Neighbour Classification. This post contains the results of the presentation and the term paper. Everything is open source and can be accessed on GitHub.

Continue reading

When preparing my LaTeX slides with the beamer class for a presentation, I have used pretty often the pause command. This command splits a frame and hides the content under pause on the first frame. This is very helpful to give the audience step by step the content of a talk. But this can be very annoying when clicking throw the slides after the talk. There is a simple solution to ignore the pause commands.

Continue reading

I had the pleasure to give a talk about Magento 2 content under version control at the Meet Magento NL 2016.

Continue reading

Sometimes it is necessary to compare a generated PDF file with a given one in PHP. Just to check with one PHPUnit test that your PDF generation works the expected way. But pretty often generated PDF files are identical, but there content isn't the same. For example if you use FPDF the following assertion can fail if the files have different meta data.

$pdfContent1 = file_get_contents('path_to_pdf1');
$pdfContent2 = file_get_contents('path_to_pdf2');
$this->assertSame($pdfContent1, $pdfContent2);

Continue reading

Magento2 has reduced the use of events. I guess the Magento plug-ins are more powerful. Today I would like to show, how to create a list of all dispatched events after visiting the product page for example. I have written a similar post a few years ago for older Magento versions.

Continue reading

Lesti_Fpc is internal full page cache for Magento. This Cache needs no varnish or any other extenal software and works with events. It is an internal cache and so it replaces dynamic blocks before sending response to customer. Here is little post that explains the workflow of Lesti_Fpc.

Continue reading

When developing with Magento2 you have maybe come to the question were is my logger for example. This was the way in Magento before.

Mage::log('Some log message', null, 'file.log');

Maybe you have already found the logger here for example in the class Magento\Backup\Controller\Adminhtml\Index\Rollback.

$this->_objectManager->get('Psr\Log\LoggerInterface')->info($e->getMessage());

Today I don't want to show you the logger. More interesting for me are the shared instances inside of the Objectmanager that you can use with the fucntion get.

Continue reading

If you have started developing a Magento2 shop with Composer you should have noticed that you will need some authentication keys. Alan Kent is explaining in his post Magento 2 and Composer Authentication why Magento thinks this is necessary. It doesn't make much sense to me why it is necessary also to store the open source extensions and modules in a protected repository, but I guess Magento is a control freak.

This protection is really a problem for maintaining open source extensions with Composer in a public continous integration. Today I would like to show how to use Travis CI for open source extensions with the password protected repository repo.magento.com from Magento2.

Continue reading