Not even a day has passed since Facebook released a new version of their PHP virtual machine called HHVM. If you don’t know HHVM and you’re coding PHP, you’ve probably been living under a rock for the last few years, but the point is, it’s blazing fast. As a matter of fact it’s so fast that at the moment the network latency on my blog is more of an issue than page rendering speed, and I haven’t even started to do any optimization.
What’s also cool about version 3.0.0 is the fact that the old HTTP engine is gone, instead HHVM is now reachable via FastCGI, which makes it an (almost) drop-in replacement for PHP-FPM. It also supports Hack Lang, which is a strongly typed variation of PHP. It should be noted, however, that it’s not 100% PHP compatible, so you might run into some compatibility issues. So, that being said, why don’t we take it for a spin?
If you’ve ever done any UI work, you almost surely encountered the book Don’t make me think by Steve Krug. The sole job of usability is to ensure a flow feeling for the customer. Anything that breaks that flow, makes the customer stop and think, is bad for conversion towards your target page.
When coding, you can have a similar flow feeling. You get into your zone, start coding and you just write the code that does exactly what you want – unless something interrupts you. The most common reason for this interruption in my experience is bad code. Code that you don’t know, code that’s not logical to use, code that contains bugs. If you’ve ever worked on larger systems, you know the annoyance of working with bad code. So the logical question is, how do you write slightly less crappy code?
Writing good code is an art. There is no magic bullet solution that will make you write good code over night. However, there are a few tools that you can use to remind you of the bad habits you may be doing.
If you are working in a team these tools can be the regulators that help you keep some sort of order in the massive amounts of code you’ll be writing.
If you’ve ever tried to operate a Linux server from Windows, you know what I’m talking about. That beautiful piece of software that’s allows you to connect servers via SSH and is generally just a pain in your proverbial backside: PuTTY.
Before you go down to the comments and unleash your fury of emotions on me and my progenitors, please let me explain. PuTTY is great in how reliable it works. It really is. However, using SSH keys and the whole integration with the Windows world is just a bit clunky. Not to mention the lack of rsync and all those other scripting tools, which is almost a must when working with Linux.
Why use Windows at all you ask? Unlike most sysadmins, I have diverse tasks that sometimes require me to run Windows-only software that makes heavy use of good hardware, for example for video editing. Although I could go to Mac, I am a long time Windows and Linux user, so combining the two would be the way to go for me.
Fortunately the marriage is rather easy.