Category Programming

Windows PowerShell, Control-Z, and Kitematic

I quite like Kitematic for Docker. Its marked as “legacy” so it may go away one day, but until then it provides a nice GUI to spin up containers, launch a web browser pointing to your container, and so on. (I use it on Windows.) But there has been one thing bugging me. When I […]

Installing GraphIQL for use with GraphQL in PHP

I was playing with GraphQL (an alternative to REST) recently using a PHP library and was trying to get GraphIQL (note the extra “I”), a web based “IDE” for writing GraphQL queries. This blog post is to save anyone else who stumbles across this post some of the wasted pain I went through.  TL;DR: Don’t […]

Microservices and Magento (Quick Note)

Firebear Studio published an interesting blog on Magento and Microservices. You might like to go read it first at Microservices In eCommerce And Magento | FireBear Blog. I thought I would give a quick possible way forward for Magento to see what others think. (There is no commitment to do any of this at this […]

Improving PHP Support for Dependency Injection

Most modern frameworks support Dependency Injection, including Symfony, Zend 2, and of course Magento 2. One of the criticisms of Magento 2 has been the extra code volume it has created compared to Magento 1. (It is the same problem in other frameworks – it is highlighted in Magento 2 because there is a direct […]

A Foray into Spark and Scala

Apache Spark is a new wave in Big Data computing, an alternative to technologies such as Hadoop. I was recently watching someone analyze log files of image URL requests using shell scripts to create a MySQL database and thought it might be an interesting exercise to try it in Spark as well. Hadoop versus Spark So what […]

What is “Good Code?”

What is “good code”? This question is probably as old as programming itself. Sometimes I forget how old programming is. (See my previous post “The Ten Commandments of Egoless Programming” a few years back, celebrating the 42nd anniversary of this original list.) The discussion in https://github.com/magento/magento2/issues/1133 raised this question for me. My gut reaction was immediate […]

Why I Prefer Constructor Injection over Setter or Property Injection

Magento 2 uses constructor injection as a part of the move towards dependency injection. This is a quick post on why I personally believe constructor injection is the best approach. And to give appropriate credit, it was the core team and individuals like Anton Kril that drove the introduction of dependency injection in Magento. I […]

How important is PHP Type Hinting to Magento? (Quick Note)

I did not have time for a real post this week on Magento 2, so I thought I would replace it with a community question. I am personally interested in Magento community opinions as a litmus test to work out trends of Magento versus more general PHP community. Reading http://www.matthias-zeis.com/archiv/magento-neuigkeiten-32 there was a comment that […]

Performance versus Scalability (Quick Note)

A frequent source of confusion I come across is the difference between performance and scalability. They are related, but not the same thing. Performance is speed – for example, how fast does a web page come up for a user in a web browser. Scalability is about how much load you can throw at a site […]

“PHP Namespaces as flawed” NOT! (Quick Note)

@VinaiKopp tweeted about an old post “PHP namespaces are flawed” by @pornelski. I don’t agree with many of the points, Vinai asked why, too long for a tweet response so here is a quick blog post instead. I will start off saying a lot of the following is formed from my experiences from Java, but […]