Replacing default MATE window manager with i3wm

For the last few month I’ve been torn between i3 tiling window manager and MATE desktop environment.  I love them both, even though they are very different from each other.

When I’m alone, and have all the time in the world to write code, i3wm is my best friend.  When I’m in the office, or need to move between tasks, monitors, and locations, MATE is the best.  But I want both.  I don’t want to choose.

Today I came across this YouTube video with a screencast of how to setup i3 window manager instead of the default MATE’s one.  Yes, i3 running inside MATE!  This sounds like magic!

Things I have to do this week make tweaking a working desktop a really bad idea, so I probably won’t try this until the weekend, but it does look exciting!

Learning Machine Learning and NLP from 187 Quora Questions

Machine Learning is a hot subject these days.  And as with any other hot subject, there is a multitude of books, online course, videos, and guides available all over the web.  I think that this curated list of  187 Quora questions is an interesting way of approaching the subject.

While Quora has FAQ pages for many topics (e.g. FAQ for Machine Learning), they are far from comprehensive. In this post, I’ve tried to provide a more thorough Quora FAQ for several machine learning and NLP topics.

Quora doesn’t have much structure, and many questions you find on the site are either poorly answered or extremely specific. I’ve tried to include only popular questions that have good answers on general interest topics.

Seven Reasons IT Projects Fail

While reading through “Seven Reasons IT Projects Fail“, I came across an interesting statistic (source):

By categorizing documented causes of IT project failure, a majority—54 percent—are attributed to project management. Surprisingly to some, technical challenges are the least-cited factor at 3 percent.

For me, this is just a confirmation of the gut feeling I had for years.  It doesn’t really matter which technology stack you are using for your project.  The reasons for success or failure are usually somewhere else.

The article  lists the following seven reasons for IT projects failure:

  1. Poor Project Planning and Direction
  2. Insufficient Communication
  3. Ineffective Management
  4. Failure to Align With Constituents and Stakeholders
  5. Ineffective Involvement of Executive Management
  6. Lack of Soft Skills or the Ability to Adapt
  7. Poor or Missing Methodology and Tools

 

Browser screenshots with PHP and Google Chrome 59+

The release of Google Chrome 59 brought some really cool features.  One of them in particular was all over the technology news – headless mode.  Being able to run the browser engine without the graphical interface, and having control from the command line and API has many benefits.

One of the benefits is being able to take web page screenshots.  “Easily convert webpages to images using PHP” is one of the many blogs and articles that explain how to do it, using your preferred programming language (or mine in this case).  Browsershot is a very simple PHP library, which you can install with Composer and start using straight away.

I’ve tried it out and it works pretty well.  The screenshot above has been taken by the following script:

<?php 
require_once 'vendor/autoload.php';
use Spatie\Browsershot\Browsershot;

Browsershot::url('http://mamchenkov.net')
  ->windowSize(1600,900)
  ->save('screenshot.png');

Improving the output of PHPUnit

Via “Improving the output of PHPUnit” I’ve learned about PHPUnit Emoji Result Printer.  Obviously, this sounds like fun, but I’m also sure there is some really smart way of using this.

Too bad I couldn’t try it on one of our work projects just yet, as this requires PHPUnit 6+, while we are still on PHPUnit 5.7.  But we’ll get there.