IMDb : The new design

IMDb is widely known for two things: the overwhelming size of its movie database, and the fact that it never changes the way it looks.

Well, guess what, IMDb update its look and feel, and it’s not a minor change. It’s fast, it’s functional, and it no longer looks like it was built 20 years ago.

The funny thing is that while I was looking for a blog post announcing the changes, I came across this one from 2009. I haven’t realized that it was from 2009 until I saw the screenshots.

Some time ago the incredible happened: our beloved movie database site IMDb finally realized that it was not 1996 anymore and dared to hire some designers in order to – you won’t believe it – change the design of the page! When I visited the site the other day, I couldn’t believe my eyes

And just so that we keep the history, here are a couple of screenshots of how it used to look:

Great job IMDb! Even if it’ll take all of us a bit to get used to the new design. At least we know it’ll last another decade.

PHP CodeSniffer: Ignoring rules

PHP CodeSniffer is a great tool for making sure all your code is consistent with a set of rules and guidelines. However, there are cases, when you need to ignore the rules for a particular code snippet. For example, when you are working with third-party frameworks or libraries.

CodeSniffer provides a number of ways to do this. Until today, the following worked well for me:

// @CodingStandardsIgnoreStart
echo "Here goes some code that breaks the rules";
// @CodingStandardsIgnoreEnd

This is particularly useful for code within functions and methods. But what if you need to ignore a particular rule for the whole file, especially in places like method names, which are difficult to surround by starting and ending annotation tags?

Here’s an example that worked for me (thanks to this comment for the solution):

<?php
/**
 * @phpcs:disable CakePHP.NamingConventions.ValidFunctionName.PublicWithUnderscore
 */

The only bit that you’d probably need now is an easy way to find the name of the rule from the CodeSniffer output. The usual output of “./vendor/bin/phpcs” looks like so:

FILE: src/Model/Table/KeysTable.php
-----------------------------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
-----------------------------------------------------------------------------------------------------
 53 | ERROR | Public method name "KeysTable::_initializeSchema" must not be prefixed with underscore
-----------------------------------------------------------------------------------------------------

But if you run it with the “-s” flag (thanks to this comment), CodeSniffer will add sniff codes to all reports. Here’s the same example with “./vendor/bin/phpcs -s“:

FILE: src/Model/Table/KeysTable.php
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 53 | ERROR | Public method name "KeysTable::_initializeSchema" must not be prefixed with underscore
    |       | (CakePHP.NamingConventions.ValidFunctionName.PublicWithUnderscore)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

And that’s the code sniff rule that you can add to the ignore annotation tag at the top of your file, like I’ve shown above.

Joe Rogan Experience #1368 – Edward Snowden

All episodes of Joe Rogan Experience podcast are nearly three hours long, so I usually just watch the highlights. But this chat with Edward Snowden was well worth the full length watch.

Edward Snowden is one of the brightest and bravest people of our generation, and his story is fascinating. I think that this lengthy podcast episode provided a good channel for him to tell it. It’s not a tweet or a blog post, and it’s not strictly framed corporate media.

I also think that Joe Rogan is one of the finest interviewers today. In this episode, he shows that very well, but remaining silent for almost all duration of the show, with an occasional steer of the conversation.

I wish there were more content like this online.

Oh, and just for the record, “Permanent Record” is the book that Edward Snowden has written and is heavily referencing in this talk. I’ll definitely be buying a copy.

Git tips: disable diff prefix

Pure gold.