Author Archives: Sergej Kurakin

A new Skype (Alpha) for Ubuntu…

So, finally after few years(?) Microsoft updated Skype for Linux. But be careful, as much as I see from different sources: A new Skype for Ubuntu… Alpha available now!, Skype Announce Brand New Linux Client, Now In Alpha it’s still in Alpha and incompatible with old Skype for Linux.

So, think twice before upgrade, note from Microsoft:

You will notice that with the Alpha version of Skype for Linux, which uses our next generation calling architecture, you will be able to call your friends and family on the latest versions of Skype on Windows, Mac, iOS and Android, but you won’t be able to make or receive calls to and from the previous versions of Skype for Linux (4.3.0.37).

Look at the FAQ of Skype for Linux Alpha – you might miss a vital feature or two.

By the way, don’t miss the comments under Microsoft press-release – priceless :)

Will I upgrade? Nope, not until it’s stable or Old good Skype for Linux works on my Ubuntu 16.04.

NGINX in Ubuntu

That small but fast, flexible and powerful HTTP server, NGINX, with HTTP/2 support, that help many high-load project to deal with traffic and load-balancing, looks like has some issues on Ubuntu – The Road Ahead for NGINX in Ubuntu.

By the way, OpenSSL and HTTP/2 gets more and more traction in different Linux distributions, for example Debian added OpenSSL version 1.0.2 to “testing” and “backports” of “stable”.

Real-time dashboards

Real-time dashboards on big LCD screen in the office – I think this is present in every cool team and desired thing of one that don’t have (including me). Lots of information displayed on screen in fancy diagrams and updated in real-time. But does those diagrams have any impact on what you do and how you do? So, before making a decision about creating one in your office read Real-time dashboards considered harmful – it might change your goal.

Ubuntu + Vagrant + VirtualBox + Ubuntu = Sleepless night

Because of some migration experiment, required by the project I’m working on, I’ve had interesting issue at last sleepless night with Ubuntu, Vagrant, VirtualBox and more Ubuntu.

My current host setup:

  • Ubuntu 16.04 LTS (up to date)
  • VirtualBox 5.0.24
  • Vagrant 1.8.4

The goal: migrate Vagrant + Puppet development setup from Debian 7 to Ubuntu 16.04. At least try to and get familiar with part of the issues.

Because I’m familiar with Debian and Ubuntu, and all Puppet provisioning scripts done mostly by me or my team members with my supervision – migration of Puppet provisioning went well (almost well, some small changes ant tweaks left, but nothing special).

Troubles appeared a bit later – when I’ve tried to setup project’s NPM requirements inside the box. After running npm install and after few first packages where installed “root” partition of new VM became read-only and installation process failed. That’s a strange issue – PHP dependencies, managed by Composer, went well and without any error or warning.

Installation process of NPM packages just stops and do not respond to any command. In TTY console I see: “Rejecting I/O to offline device“. In SSH console I see many errors like: “glob error { [Error: EIO: i/o error, scandir '/home/<username>/.npm/<packagename>/2.0.1/package']

Spend few hours by searching solution over internet and nothing helps:

  • Upgrading VirtualBox Guest Additions
  • Adding vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant", "1"]
  • Adding vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
  • Adding vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant-root", "1"]
  • Running npm install --no-bin-links

By the way – sometimes this ends with kernel panic.

All that time I was using ubuntu/xenial64 box version 20160705.0.0.

One of the main reasons, described on the Internet was “symlinks don’t work on VirtualBox shared folders”. But this is not the case – I perfectly know shared folders issues and I don’t use them for project’s files sync between host and guest.

So, I’ve made clean Ubuntu Xenial install from ISO on fresh created virtual machine and everything went smoothly, from OS install to NPM – everything was installed!

Same good result was with PuppetLabs box puppetlabs/ubuntu-16.04-64-puppet.

This is how just a tiny issue with base box can keep you a bit sleepless. Yes, I know, that was my choice.

Now the question – should I build own box that I trust for this project or use something from third party Vagrant boxes available on Internet?

HTTP/2 and speed of web

Deep dive into the HTTP/2: history of HTTP protocol, why HTTP/2 is better, HTTP/2 features and HTTP/2 performance – all that in one big nice article How HTTP/2 Will Speed Up the Web. So, keep up with the rapidly changing Web!

Now, after reading this, go and try to install it on current stable Linux and try how it works with modern browsers. You are lucky, if your Linux has openssl 1.0.2 with ALPN protocol support.

AWS CodeDeploy

If AWS CodeDeploy is something new for you (as it is for me), you can read very comprehensive blog post by Matthew Weier O’Phinney Push-to-Deploy with AWS CodeDeploy. One valuable part of it – how to setup AWS CodeDeploy on your selected Linux distribution (AWS CodeDeploy comes pre-installed only on Amazon Linux AMI). But most valuable part – example of PHP project deploy script with explanations and example. So, have fun and automate your deployments!