It's been rolling over the past weekend TuxCon 2017. Most people think I've done pretty well with my lecture. Personally, I'm not entirely happy, there are definitely a lot of things to work on, because I plan not to have my last such event in the future. If I have to be honest about most of the presentation, I hardly remember it, it was like a trance. I remember sporadic moments when I look at my watch and find out, that a decent amount of time has elapsed.

It was definitely not easy, even with that in mind, that the audience was extremely narrowly focused and there was no big barrier with the audience.


I experienced a little drama with the disk on my laptop. After fixing the problem with apt-get update, the following extremely unpleasant end of the process was shining

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

As usual the problem is extremely obvious /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386 cannot be read correctly. The fix is ​​as simple as the diagnosis of the problem itself:

 rf -f /var/lib/apt/lists/*

In the end, the result is forced synchronization of apt.

The new one Debian Stable has been a fact for about a week and my hands were itching to upgrade my virtual machine next to it but I didn't have any time until today. Since my day started early, I decided to dedicate time to the upgrade. I changed my source list by changing wheezy to jessie

sed -i "s/wheezy/jessie/g" /etc/apt/sources.list && apt-get update

They thundered here 2 mirrors:

  • MariaDB – from this mirror no longer needs Jessie includes a version 10.0.6 in myself which I didn't like very much. After 5.5 michetodb and mysql are not quite compatible which is why at the moment I turned back to mysql 5.5.42 – it is the default in jessie
  • DotDeb – i used it before for php55 here is also redundant because jessie comes with 5.6.7-1

After I lost the unnecessary mirrors and turned from MariaDB to Mysql apt-get dist-upgrade went clean, reboot and I was already with Debian 8.0. I opened my web server and to my surprise it worked here, the story is long – in a few words my Nginx is further compiled from source with additional directives. dpkg -l nginx-full 1.2 mdaaa someone forgot to unhold-not the packages. Unhold and upgrade everything is according to plan nginx broke 😆 . Nginx works processing requests and the php-fpm process is up and runnign but the php code does not execute and does not spit errors 🙄 MY FAVORITE.

After some searching for information about the changes, I found the following passage

Fastcgi configuration issues ============================

nginx shipped a modified fastcgi_params, which declared SCRIPT_FILENAME fastcgi_param. This line has now been removed. From now on we are also shipping fastcgi.conf from the upstream repository, which includes a sane SCRIPT_FILENAME parameter value.

So, if you are using fastcgi_params, you can try switching to fastcgi.conf or manually set the relevant params.

Bingo. I changed the virtual hosts to use fastcgi.conf instead of making rough interventions and everything worked. Then I hit a quick diff to see the difference between the 2 configs

diff /etc/nginx/fastcgi_params /etc/nginx/fastcgi.conf
> fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

Which reminded me that pouring large configurations into virtual hosts is not a cool idea. It remains to recompile my Nginx again with the add-ons I want mod_sec + pagespeed but this can wait. It is far more important, that my rule is repeated if you do not have the review from 3rd sources and custom performances Debian does not break at dist-upgrade! = gEQCny6zNF0

After much two months of deliberation, I decided to leave my current job. Today was my last day of work. So far I have been working for 4 years and a half (roughly) I can say, that it was a hell of a pleasure and a privilege for me to work with some of the best- the best linux administrators in bulgaria. I worked in one of the largest internet providers in southern Bulgaria, which gave me an awful lot of experience, stimulus, thirst for new knowledge as well as the need for such. I owe everything I have achieved to my colleagues who helped and encouraged me, but there comes a time when one does not feel well enough. In the last 1 year I stopped loving the place where I live, I stopped feeling that frantic urge to discover the new world every day and kill my brain with some interesting puzzle. Everything was starting to become more and more a kind of routine, which is not good.

I am terribly sad for my colleagues for my work on the aromatic coffee lunches early in the morning. I will miss all this but some things just need to change. He thinks for me, that is the final moment for that. I hope I made the right decision in before I was like a rock in my current place, no one had the power to displace me from the position I was in. And now I'm starting something with a not radically different activity, but to a very different extent than what I was doing. I know that more or less everything is an adventure, but how do we know we are alive. 🙂 It is not always safe to play.

Squeeze my thumbs and wish me luck!

Today I played lightly to clear all XHTML errors from my main page and now the result is absolutely valid code.

The document located at <> was successfully checked as XHTML 1.0 Transitional. This means that the resource in question identified itself as “XHTML 1.0 Transitional” and that we successfully performed a formal validation of it. The parser implementations we used for this check are based on OpenSP (SGML/XML) and libxml2 (XML).

I am satisfied, because this is an important part of an experiment that I started with my blog a few days ago. Now I'm struggling with the loading speed, that it is quite low which does not please me before the time was maximum to 2 seconds is now about 4 which is not good at all.