<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on nagg.eu</title><link>https://nagg.eu/posts/</link><description>Recent content in Posts on nagg.eu</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 08 Dec 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://nagg.eu/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Fiddling with IoT home security</title><link>https://nagg.eu/fiddling-with-iot-home-security/</link><pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate><guid>https://nagg.eu/fiddling-with-iot-home-security/</guid><description>&lt;p&gt;Last year I installed an IoT home security system; back then I did not bother
to connect it to the internet mostly because of my own laziness but also
because IoT most of the times rhymes with: overpriced crap prone to also being
a security nightmare.&lt;br&gt;
I am not going to name the brand, but it is fairly well known and its pricing
is not on the cheap side (€ 700 for main unit and external keyboard).&lt;br&gt;
Hardware wise it is well made, just by looking at it one could tell that quite
some engineering was poured into it, it has all kind of expansion cards and
the quality seems more than decent.&lt;br&gt;
Software, hard to say though.&lt;br&gt;
Just to be on the safe side, I have put it into its own network segment which
is segregated from the rest of the network.&lt;/p&gt;</description></item><item><title>Remotely unlock a full disk encrypted Fedora 40 server</title><link>https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-40-server/</link><pubDate>Sun, 20 Oct 2024 00:00:00 +0000</pubDate><guid>https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-40-server/</guid><description>&lt;p&gt;What I have been doing in &lt;a href="https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-33-server/"&gt;2020&lt;/a&gt;
and &lt;a href="https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-centos-server/"&gt;before&lt;/a&gt;
doesn&amp;rsquo;t seem to work anymore, ence it is time to publish a new episode of the
saga: how to remotely unlock a full disk encrypted Linux machine.&lt;br&gt;
&lt;a href="https://github.com/gsauthof/dracut-sshd"&gt;dracut-sshd&lt;/a&gt; still works perfectly
even though the surroundings changed a bit.&lt;/p&gt;
&lt;p&gt;First step is instructing dracut to add &lt;code&gt;dracut-sshd&lt;/code&gt; into initramfs:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo dnf install dracut dracut-network openssh
$ git clone https://github.com/gsauthof/dracut-sshd.git
$ cd dracut-sshd
$ sudo cp -ri 46sshd /usr/lib/dracut/modules.d
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Configure grub to instruct dracut to add networking to initramfs:&lt;/p&gt;</description></item><item><title>We are in the cloud</title><link>https://nagg.eu/we-are-in-the-cloud/</link><pubDate>Sat, 08 Jul 2023 00:00:00 +0000</pubDate><guid>https://nagg.eu/we-are-in-the-cloud/</guid><description>&lt;p&gt;We are in the cloud, running on someone else&amp;rsquo;s computer.&lt;/p&gt;</description></item><item><title>Mikrotik RouterOS WAN traffic sniff Suricata IDS</title><link>https://nagg.eu/mikrotik-routeros-wan-traffic-sniff-using-suricata-ids/</link><pubDate>Sat, 21 Jan 2023 00:00:00 +0000</pubDate><guid>https://nagg.eu/mikrotik-routeros-wan-traffic-sniff-using-suricata-ids/</guid><description>&lt;p&gt;Preface: this is the poor&amp;rsquo;s man way of hooking up Suricata IDS to &lt;del&gt;Mikrotik&lt;/del&gt;
any router.&lt;br&gt;
Better ways would be using port mirroring or putting Suricata host directly
in front of the router.&lt;/p&gt;
&lt;p&gt;My goal was to have all network traffic coming and going from internet
&lt;code&gt;mirrored&lt;/code&gt; into the suricata virtual machine.&lt;br&gt;
Network schema is the following:&lt;br&gt;
(internet) &amp;lt;-&amp;gt; routeros &amp;lt;-&amp;gt; debian_hypervisor &amp;lt;-&amp;gt; (linux bridge) &amp;lt;-&amp;gt; Suricata_VM&lt;/p&gt;
&lt;p&gt;There are few ways of doing this, the one which is in my opinion the lesser
evil involves:&lt;/p&gt;</description></item><item><title>Monitoring DNS BIND with Zabbix</title><link>https://nagg.eu/monitoring-dns-bind-with-zabbix/</link><pubDate>Wed, 17 Aug 2022 00:00:00 +0000</pubDate><guid>https://nagg.eu/monitoring-dns-bind-with-zabbix/</guid><description>&lt;p&gt;Shockingly enough out of the box Zabbix (version 6) does not include any template
to monitor a very crucial compontent every organization: DNS.&lt;br&gt;
Like most open source aficionado my DNS of choice is &lt;code&gt;BIND named&lt;/code&gt;.&lt;br&gt;
Luckily Zabbix has a pretty huge community and plenty of templates for it are
freely available, a quick search on the interwebz lead me to this
&lt;a href="https://share.zabbix.com/templates/applications-dns-template-bind-stat/#body"&gt;page&lt;/a&gt;.&lt;br&gt;
Kudos to whoever wrote this template, I just took it and tweaked it a little bit.&lt;/p&gt;</description></item><item><title>Sony WF-1000XM4 on Linux Fedora 35</title><link>https://nagg.eu/sony-wf-1000xm4-on-linux-fedora-35/</link><pubDate>Thu, 23 Dec 2021 00:00:00 +0000</pubDate><guid>https://nagg.eu/sony-wf-1000xm4-on-linux-fedora-35/</guid><description>&lt;p&gt;Last week I converted myself to wireless earphones.&lt;br&gt;
I don&amp;rsquo;t consider myself an audiophile, I don&amp;rsquo;t have any deep knowledge of music
but I kinda enjoy listening to it.&lt;br&gt;
Because of this I have had a few decent pairs of headphones, earphones and
monitor speakers in my life; they all shared a thing: cables.&lt;br&gt;
Last week I pulled the trigger and bought myself my very first pair of wireless
earphones: Sony WF-1000XM4.&lt;br&gt;
The main idea was to use them with the phone and maybe with work issued laptop
which is running Windows, I did not even thought they would work with my Linux
laptop.&lt;br&gt;
But to my biggest surprise they just work on Linux, no fiddling with
&lt;code&gt;bluetoothhcl&lt;/code&gt; or &lt;code&gt;btmgmt&lt;/code&gt;; just enable BT in &lt;code&gt;Gnome settings&lt;/code&gt;, long press for
5 seconds on both earphones to activate pairing mode and wait for them to pair.&lt;/p&gt;</description></item><item><title>Thinkpad T480 firmware update in Linux using fwupd</title><link>https://nagg.eu/thinkpad-t480-firmware-update-linux-fwupd/</link><pubDate>Sat, 23 Oct 2021 00:00:00 +0000</pubDate><guid>https://nagg.eu/thinkpad-t480-firmware-update-linux-fwupd/</guid><description>&lt;p&gt;For the most part I never cared much about upgrading firmware because if it
works don&amp;rsquo;t mess with it is usually my rule.&lt;br&gt;
I also don&amp;rsquo;t care much about having installed the latest version of Intel
&amp;ldquo;&amp;ldquo;&amp;ldquo;NSA botnet&amp;rdquo;&amp;rdquo;&amp;rdquo; Management Engine, it is a piece of trash anyway so I might
as well not have the latest updates.&lt;br&gt;
But since I have some issues with the NVME drive (very slow reads, it is most
definitely dying) I figured a system wide firmware upgrade wouldn&amp;rsquo;t be a bad
thing.&lt;br&gt;
The interwebz says the best way to upgrade firmware on Linux is using a tool
called &lt;code&gt;fwupd&lt;/code&gt;; it basically gives the user access to a massive repository of
firmware which are provided and signed by hardware companies themselves.&lt;br&gt;
Dealing with closed source crapware and binary blobs always gives some
headhace, of course having &lt;code&gt;fwupd&lt;/code&gt; working was not free of any hassle: it
downloads everything, gives no error/warning, but after rebooting nothing gets
installed.&lt;/p&gt;</description></item><item><title>Debian QEMU/KVM bridged networking and VLAN</title><link>https://nagg.eu/debian-qemu-kvm-bridged-networking-and-vlan/</link><pubDate>Sun, 25 Jul 2021 00:00:00 +0000</pubDate><guid>https://nagg.eu/debian-qemu-kvm-bridged-networking-and-vlan/</guid><description>&lt;p&gt;By default on every Linux distro after installing &lt;code&gt;QEMU&lt;/code&gt; and &lt;code&gt;libvirt&lt;/code&gt; two
kinds of networking are available:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;NAT: VM sits behind a NAT.&lt;/li&gt;
&lt;li&gt;MACVTAP: without going into much details it acts more or less like a
bridged network, except not really. One of the most annoying limitations is
that host to guest communication and vice versa are not really working well.
Other important things might be broken as well, like for example VRRP.
This mode is good for quick and dirty testing but not really for a stable
environment.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;BRIDGED networking is also supported by &lt;code&gt;libvirt&lt;/code&gt; but requires some manual
work.&lt;br&gt;
A possible networking schema could be the following:&lt;/p&gt;</description></item><item><title>Keepalived and libvirt MACVTAP network interfaces</title><link>https://nagg.eu/keepalived-and-libvirt-macvtap-network-interfaces/</link><pubDate>Wed, 13 Jan 2021 00:00:00 +0000</pubDate><guid>https://nagg.eu/keepalived-and-libvirt-macvtap-network-interfaces/</guid><description>&lt;p&gt;Keepalived is a routing software written in C that can be used to setup load
balancing and high availiability for Linux machines.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;NOTE: hypervisor is Debian 10 (Buster) with &lt;code&gt;libvirt&lt;/code&gt; and &lt;code&gt;qemu/kvm&lt;/code&gt;, virtual
machines also are Debian 10 (Buster).&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="keepalived-configuration"&gt;Keepalived configuration&lt;/h2&gt;
&lt;p&gt;Install &lt;code&gt;keepalived&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ apt install keepalived
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Install &lt;code&gt;nginx&lt;/code&gt;, it will be use to check that keepalived is actually working:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ apt install nginx
$ systemctl enable --now nginx
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Configure &lt;code&gt;keepalived&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ vi /etc/keepalived/keepalived.conf
---
global_defs {
 enable_script_security # prevents tampering with the check script
 script_user root # defines which user runs the check script
}

vrrp_script chk_nginx {
 script &amp;#34;/opt/scripts/nginx-check.sh&amp;#34;
 interval 2 # run script every 2 seconds
 weight 2 # add 2 points if OK
}

vrrp_instance VI_1 {
 interface enp2s0 # interface to monitor
 virtual_router_id 51
 priority 101 # MASTER 101, BACKUP 100
 advert_int 1
 nopreempt # comment to not have the VIP go back to MASTER 
 # -&amp;gt; when it comes back online
 authentication {
 auth_type PASS
 auth_pass myPass # maximum 8 chars
 }
 virtual_ipaddress {
 10.10.0.12/24 # VIP (Virtual IP Address)
 }
 track_script {
 chk_nginx
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Also add a script to check if &lt;code&gt;nginx&lt;/code&gt; is alive and well:&lt;/p&gt;</description></item><item><title>Wireguard VPN Linux and IOS setup guide</title><link>https://nagg.eu/wireguard-vpn-linux-and-ios-setup-guide/</link><pubDate>Mon, 04 Jan 2021 00:00:00 +0000</pubDate><guid>https://nagg.eu/wireguard-vpn-linux-and-ios-setup-guide/</guid><description>&lt;p&gt;Wireguard is an open source software and communication protocol which aims to
provide a simpler and safer alternative to OpenVPN.&lt;br&gt;
Compared to OpenVPN both client and server configuration are much simpler and
mantaining a PKI is also not required.&lt;br&gt;
Performance wise Wireguard is also faster than OpenVPN.&lt;/p&gt;
&lt;h2 id="server-debian-10-codename-buster"&gt;SERVER: Debian 10 (Codename Buster)&lt;/h2&gt;
&lt;p&gt;As of today Wireguard is not included in Debian 10 stable repos, so it is
required to enable &lt;a href="https://backports.debian.org/Instructions/"&gt;backports&lt;/a&gt;
to install it:&lt;/p&gt;</description></item><item><title>LUKS encrypted TGT ISCSI target and initiator</title><link>https://nagg.eu/luks-encrypted-tgt-iscsi-target-and-initiator/</link><pubDate>Sat, 26 Dec 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/luks-encrypted-tgt-iscsi-target-and-initiator/</guid><description>&lt;p&gt;After the CentOS fiasco (good job Redhat/IBM) and since we are more or less in
lockdown I decided to invest a couple of days to migrate my home infra from
CentOS 7 to Debian 10.&lt;br&gt;
One of my physical machines, which was also CentOS 7 based, is used as ISCSI
target.&lt;/p&gt;
&lt;h2 id="debian-10---server-aka-target"&gt;Debian 10 - Server A.K.A. Target&lt;/h2&gt;
&lt;p&gt;Install the required packages:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo apt-get install tgt dkms 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Create a device backstore:&lt;/p&gt;</description></item><item><title>OPENWRT first run configuration guide</title><link>https://nagg.eu/openwrt-first-run-configuration-guide/</link><pubDate>Sat, 12 Dec 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/openwrt-first-run-configuration-guide/</guid><description>&lt;p&gt;OpenWRT is a free open source Linux based operating system aimed at networking
hardware.&lt;br&gt;
Every time the system is upgraded to a newer version using the so called &lt;code&gt;Sysupgrade BIN&lt;/code&gt;
image every package the user manually installed gets lost; this makes the upgrade process
very tedious especially if one does not properly write down all the customization he has made.&lt;br&gt;
I don&amp;rsquo;t use many custom packages but QoS, DNS-over-HTTPS, USB support and vnstat are must have.&lt;/p&gt;</description></item><item><title>Remotely unlock a full disk encrypted Fedora 33 server</title><link>https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-33-server/</link><pubDate>Tue, 08 Dec 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-33-server/</guid><description>&lt;p&gt;Last year I blogged on how to &lt;a href="https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-centos-server/"&gt;remotely unlock a full disk encrypted Fedora/CentOS server&lt;/a&gt;.&lt;br&gt;
The software I used, &lt;a href="https://github.com/dracut-crypt-ssh/dracut-crypt-ssh"&gt;dracut-crypt-ssh&lt;/a&gt;,
is not supported anymore and stopped working for me on Fedora 32 and 33.&lt;br&gt;
A quick DDG search pointed me in the right direction and made me find a similar
software that accomplishes the same task: &lt;a href="https://github.com/gsauthof/dracut-sshd"&gt;dracut-sshd&lt;/a&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo dnf install dracut dracut-network openssh libblkid-devel gcc
$ git clone https://github.com/gsauthof/dracut-sshd.git
$ cd dracut-sshd
$ sudo cp -ri 46sshd /usr/lib/dracut/modules.d
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;After compiling and installing &lt;code&gt;dracut-crypt-ssh&lt;/code&gt; configure grub to instruct
dracut to add networking to initramfs:&lt;/p&gt;</description></item><item><title>Siemens IOT2050</title><link>https://nagg.eu/siemens-iot2050/</link><pubDate>Sun, 24 May 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/siemens-iot2050/</guid><description>&lt;p&gt;A few weeks ago Siemens released a very much needed upgrade of the IOT2000
platform; the newcomer is called IOT2050 and is a huge step forward compared
to the very very underpowered IOT2040.&lt;br&gt;
I have had one for a few days laying on my desk but I just found the time to
play with it today.&lt;br&gt;
Other than the new hardware, the officially supported operating system also
changed from Yocto Linux to Debian Buster (kudos for dropping Yocto).&lt;/p&gt;</description></item><item><title>XMPP audio and video calls</title><link>https://nagg.eu/xmpp-audio-and-video-calls/</link><pubDate>Sun, 03 May 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/xmpp-audio-and-video-calls/</guid><description>&lt;p&gt;Ejabberd has supported STUN/TURN for quite some time now, this in conjunction
with client support can be used to implement one on one audio and video calls.&lt;br&gt;
Since version 2.8.0 &lt;a href="https://github.com/iNPUTmice/Conversations"&gt;Conversations Android client&lt;/a&gt;
added audio and video call functionality by leveraging on STUN/TURN and &lt;a href="https://xmpp.org/extensions/xep-0215.html"&gt;XEP-0215&lt;/a&gt;.&lt;br&gt;
The rest of the XMPP world is following the route opened by them, so I expect
to see IOS and regular computer XMPP clients to finally implement these new
features too in the upcoming months.&lt;br&gt;
Enabling audio and video calls in Ejabberd is actually pretty simple.&lt;br&gt;
Provided you have installed the latest release (version &lt;code&gt;20.04&lt;/code&gt;), edit
&lt;code&gt;ejabberd.yml&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Microsoft Teams on Fedora and Wayland with screenshare</title><link>https://nagg.eu/microsoft-teams-on-fedora-and-wayland-with-screenshare/</link><pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/microsoft-teams-on-fedora-and-wayland-with-screenshare/</guid><description>&lt;p&gt;Since the whole COVID19 pandemic hoax started a couple of months ago, working
from home has become the new hip thing every company brags about on every
social media known to humankind.&lt;br&gt;
The first step to be able to call yourself a proper &lt;code&gt;COVID19 ready(tm)&lt;/code&gt; company
is the ability to bother every employees with just a few mouse clicks.&lt;br&gt;
So here we are, with Microsoft Teams(tm) and a lot of other not very secure
and massively bloated software elected as the center of the office life.&lt;br&gt;
Coffee break? &lt;em&gt;XYZ software&lt;/em&gt; chatroom. Kick-off meeting? &lt;em&gt;XYZ software&lt;/em&gt;
chatroom. And so on.&lt;br&gt;
Because of my special snowflake syndrome and my deep hatred for all things
Microsoft and especially Windows I always end up making my life a bit harder.&lt;br&gt;
After having used Teams in a Windows 10 VM (after all I paid for a license
when I got my latest Thinkpad) for a few weeks, I decided it was time to
finally try to make it work on my main OS: Fedora 31.&lt;br&gt;
The catch was also that I wanted to do that &lt;em&gt;more or less&lt;/em&gt; without installing
any third party non free software.&lt;br&gt;
The OS I use is Fedora 31, which comes with &lt;code&gt;pipewire&lt;/code&gt; and &lt;code&gt;xgd-desktop-portal&lt;/code&gt;
both installed and configured out of the box.&lt;br&gt;
Since using the official closed source Electron crapware client was out of the
question, the obvious choice was to make Microsoft Teams work in a regular WEB
browser.&lt;br&gt;
The situation is the following:&lt;/p&gt;</description></item><item><title>nagg.eu TOR onion mirror</title><link>https://nagg.eu/uwoteu-tor-onion-mirror/</link><pubDate>Sun, 01 Mar 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/uwoteu-tor-onion-mirror/</guid><description>&lt;p&gt;Here at nagg.eu we are strong believers in internet anonymity and privacy, for
this reason we are proudly announcing the launch of &lt;a href="http://7yhj254ypfnz7acih5dyefwvnqsx2xu3jcceswkqfltvgz7l4uxur6qd.onion"&gt;nagg.eu onion mirror&lt;/a&gt;.&lt;br&gt;
Onion mirror version of the website is still work in progress and still contains
links to third party clearnet domains.&lt;br&gt;
Use with caution.&lt;/p&gt;</description></item><item><title>InfluxDB max user`s password length</title><link>https://nagg.eu/influxdb-max-user-password-length/</link><pubDate>Sat, 29 Feb 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/influxdb-max-user-password-length/</guid><description>&lt;p&gt;Apparently Microsoft is not alone when it comes to utterly retarded design
decisions.&lt;br&gt;
A few years ago when signing up for a Microsoft account I discovered that for
some reason they enforce a maximum password lenght of 16 characters or something
around that.&lt;br&gt;
Well, InfluxDB not only does the same thing but also silently fails to create
the user account when the password is considered too long.&lt;br&gt;
Took me at least half an hour to figure out why this piece of trash kept vomiting
&lt;code&gt;{&amp;quot;error&amp;quot;:&amp;quot;authorization failed&amp;quot;}&lt;/code&gt;.&lt;br&gt;
Double checked my docker-compose file, curl parameters, read InfluxDB useless
documentation which, of course, makes no mention of password lenght limits.&lt;/p&gt;</description></item><item><title>Weihrauch HW 77 K pellet comparision</title><link>https://nagg.eu/weihrauch-hw-77-k-pellet-comparision/</link><pubDate>Sat, 04 Jan 2020 00:00:00 +0000</pubDate><guid>https://nagg.eu/weihrauch-hw-77-k-pellet-comparision/</guid><description>&lt;p&gt;This is gonna be a very unusual post, in some way it is still about technology
even if it is not about the usual IT stuff I write of.&lt;br&gt;
I have a Weihrauch HW 77 K spring air rifle I mostly use to shoot in my backyard
or terrace.&lt;br&gt;
When it comes to air guns I always have troubles finding proper reviews and
comparisons online, so I figure it might be worth sharing my findings here.&lt;/p&gt;</description></item><item><title>New Gohugo theme</title><link>https://nagg.eu/new-gohugo-theme/</link><pubDate>Tue, 24 Dec 2019 00:00:00 +0000</pubDate><guid>https://nagg.eu/new-gohugo-theme/</guid><description>&lt;p&gt;Since I apparently got recurring readers (no, for real, I do) I suspect someone might actually have noticed how the look of the blog changed drastically a few weeks ago.&lt;br&gt;
To explain what happened a bit of backstory is required; this blog is built using a static website generator called &lt;a href="https://gohugo.io/"&gt;Gohugo&lt;/a&gt;, the way it works is basically the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;choose or build a theme from scratch.&lt;/li&gt;
&lt;li&gt;Write some articles in Markdown or some other memetic markup language.&lt;/li&gt;
&lt;li&gt;Customize the theme and look of the website by editing a &lt;code&gt;yaml&lt;/code&gt; configuration file.&lt;/li&gt;
&lt;li&gt;Feed everything to the Gohugo binary which will produce some sleek plain HTML, CSS and maybe JS files.&lt;/li&gt;
&lt;li&gt;rsync the files to a webserver.&lt;/li&gt;
&lt;li&gt;??&lt;/li&gt;
&lt;li&gt;Profit!!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Couple of months ago Gohugo developers introduced a few changes in the site builder engine that broke backward compatibility with every existing theme, unfortunately the developer of the one I was using still has to make it compatible.&lt;br&gt;
So here is how &lt;code&gt;nagg.eu&lt;/code&gt; got a nice solarized look.&lt;/p&gt;</description></item><item><title>Kubernetes cluster for manufacturing engineering: tale of an epic commissioning</title><link>https://nagg.eu/kubernetes-cluster-for-manufacturing-engineering/</link><pubDate>Wed, 23 Oct 2019 00:00:00 +0000</pubDate><guid>https://nagg.eu/kubernetes-cluster-for-manufacturing-engineering/</guid><description>&lt;p&gt;&lt;img src="https://nagg.eu/2019/10/kubernetes-docker-cluster.jpg" alt="kubernetes-docker-cluster"&gt;&lt;/p&gt;
&lt;h3 id="--introduction"&gt;- Introduction&lt;/h3&gt;
&lt;p&gt;A quite big company that produces parts for some of the most important
automotive industry companies was interested in a cloud-based system to
monitor the overall efficiency of their production machines, analyze some key
parameters and optimize the production activities scheduling.&lt;br&gt;
Goal of the project was to connect eleven industrial manufacturing machines to
the cloud, extract specific machine data and develop a web application for
the visualization and management of such data, while guaranteeing information
confidentiality and security.&lt;br&gt;
Furthermore, one fundamental requirement of such system has been the
bidirectional integration with the customer&amp;rsquo;s ERP system, in order to
synchronize the production JOBs and manage their execution on the corresponding
machines.&lt;br&gt;
To fulfill such requirements, the project team has engineered and then implemented
an hybrid edge-cloud solution in which the software has been packed into various
&lt;strong&gt;containers&lt;/strong&gt; that are orchestrated and managed, at the edge level, by a Kubernetes
cluster.&lt;br&gt;
This technology ensures an optimal load balancing between the available
resources as well as a high availability in case of hardware or software failures.&lt;br&gt;
While IT enterprises do not question the value of containerized applications
anymore, the use of such kind of technologies within a manufacturing environment
hasn&amp;rsquo;t been completely explored yet.&lt;br&gt;
In the following paragraphs we will go into details on how we engineered and
built the system despite all the difficulties we had to overcome.&lt;/p&gt;</description></item><item><title>FreeBSD, Nginx and htpasswd file generation</title><link>https://nagg.eu/freebsd-nginx-and-htpasswd-file-generation/</link><pubDate>Sun, 01 Sep 2019 00:00:00 +0000</pubDate><guid>https://nagg.eu/freebsd-nginx-and-htpasswd-file-generation/</guid><description>&lt;p&gt;On most Linux distros it is possible to generate the htpasswd file entries simply
using the &lt;code&gt;htpasswd&lt;/code&gt; command line util.&lt;br&gt;
On FreeBSD the easiest way to accomplish the same task is using OpenSSL itself:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
openssl passwd -apr1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Enter the password twice to get a nice hash, copy that in the htpasswd file
with the usual &lt;code&gt;user:password_hash&lt;/code&gt; syntax.&lt;/p&gt;</description></item><item><title>Disable head parking Western Digital drives</title><link>https://nagg.eu/disable-head-parking-western-digital-drives/</link><pubDate>Sun, 04 Aug 2019 00:00:00 +0000</pubDate><guid>https://nagg.eu/disable-head-parking-western-digital-drives/</guid><description>&lt;p&gt;Most Western Digital hard drives&amp;rsquo; firmware let the heads park themselves after
a certain amount of seconds in case the disk is not actively performing any
operation.&lt;br&gt;
This might be useful to keep power consumption under control but is actually
harmful for disks that run 24/7 (WD Red for example).&lt;br&gt;
Luckily there is a way to disable head parking, this can be done directly from
Linux using a tool called &lt;code&gt;idle3ctl&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>FreeBSD, NGINX and TLSv1.3</title><link>https://nagg.eu/freebsd-nginx-and-tlsv1.3/</link><pubDate>Sat, 29 Jun 2019 00:00:00 +0000</pubDate><guid>https://nagg.eu/freebsd-nginx-and-tlsv1.3/</guid><description>&lt;p&gt;After a six months hiatus here is a new blogpost.&lt;br&gt;
This saturday I finally found the time to upgrade the configuration of the server
that hosts this very website.&lt;br&gt;
Software stack is pretty simple: &lt;code&gt;FreeBSD&lt;/code&gt; (version 12.0-p6),&lt;code&gt;nginx&lt;/code&gt; (version 1.15.10)
and &lt;code&gt;OpenSSL&lt;/code&gt; (version 1.1.1a-freebsd).&lt;/p&gt;
&lt;p&gt;Install the required software:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ pkg install nginx-devel py36-certbot
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Get a SSL certificate from &lt;a href="https://letsencrypt.org/"&gt;letsencrypt&lt;/a&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ certbot-3.6 certonly --standalone -d domain.tld -d www.domain.tld
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Certfiles location is &lt;code&gt;/usr/local/etc/letsencrypt/live/&amp;lt;domain.tld&amp;gt;&lt;/code&gt;, you might,
or might not, want to move them to another directory.&lt;/p&gt;</description></item><item><title>qemu/KVM PCI passthrough</title><link>https://nagg.eu/qemu-kvm-pci-passthrough/</link><pubDate>Sat, 26 Jan 2019 01:00:00 +0000</pubDate><guid>https://nagg.eu/qemu-kvm-pci-passthrough/</guid><description>&lt;p&gt;PCI passthrough is the process of attaching a PCI-E device directly to a VM;
CPU support (namely VT-D for Intel and AMD-V for AMD) and motherboard support
(IOMMU) are required for PCI passthrough to work properly.&lt;br&gt;
Hardware configuration used:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
AMD Ryzen 1700x
Gigabyte X370 K7
Nvidia Geforce GTX260
32 GiB of RAM and a few HDDs
Fedora 29 as host OS
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The system only has a single graphic card because it is normally used as
headless compute server for which a GPU is not really required; the graphic
card is also very very old Nvidia Geforce GTX260 with a standard non UEFI BIOS.&lt;br&gt;
If using an UEFI enabled graphic card it is probably required to install the
OS in UEFI mode using a virtual UEFI BIOS.&lt;br&gt;
This guide assumes you already have a working Windows virtual machine and are
familiar with libvirt.&lt;br&gt;
First of all, edit GRUB to enable IOMMU and blacklist nouveau kernel module so
that the graphic card is not picked up anymore by the host:&lt;/p&gt;</description></item><item><title>Remotely unlock a full disk encrypted Fedora/CentOS server</title><link>https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-centos-server/</link><pubDate>Sat, 26 Jan 2019 00:00:00 +0000</pubDate><guid>https://nagg.eu/remotely-unclock-a-full-disk-encrypted-fedora-centos-server/</guid><description>&lt;p&gt;The idea here is to be able to power on and unlock a remote Full Disk Encrypted
(FDE from now on) server.&lt;br&gt;
I will leave the how &amp;ldquo;remotely power on&amp;rdquo; to the reader to figure out and focus
on the other part.&lt;br&gt;
The easiest way to accomplish it is by using a program called:
&lt;code&gt;dracut-crypt-ssh&lt;/code&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ yum install dropbear dracut dracut-network openssh libblkid-devel gcc
$ git clone https://github.com/dracut-crypt-ssh/dracut-crypt-ssh.git
$ cd dracut-crypt-ssh
$ ./configure
$ make
$ sudo make install
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;After compiling and installing &lt;code&gt;dracut-crypt-ssh&lt;/code&gt; configure grub to instruct
dracut to add networking to initramfs:&lt;/p&gt;</description></item><item><title>Resize QCOW2 disk image</title><link>https://nagg.eu/resize-qcow2-disk-image/</link><pubDate>Wed, 05 Dec 2018 00:00:00 +0000</pubDate><guid>https://nagg.eu/resize-qcow2-disk-image/</guid><description>&lt;p&gt;QCOW2 disk images can be easily grown using libvirt command line utils.&lt;br&gt;
Unfortunately it isn&amp;rsquo;t possible to grow QCOW2 images in-place or online.&lt;br&gt;
First of all, power off the virtual machine, grow the file and make a copy of
it:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ qemu-img resize image.qcow2 +200G
$ cp image.qcow2 image-new.qcow2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Identify the specific partion you intend to grow:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ virt-filesystems -a image.qcow2 -l
Name Type VFS Label Size Parent
/dev/sda1 filesystem ext4 - 536870912 -
/dev/sda3 filesystem xfs - 45885612000 -
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Expand the actual partition:&lt;/p&gt;</description></item><item><title>Intel CPU, Hyper-Threading and Spectre STIBP mitigation</title><link>https://nagg.eu/intel-cpu-hyper-threading-and-spectre-stibp-mitigation/</link><pubDate>Sat, 17 Nov 2018 00:00:00 +0000</pubDate><guid>https://nagg.eu/intel-cpu-hyper-threading-and-spectre-stibp-mitigation/</guid><description>&lt;p&gt;Yesterday I was reading &lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=linux-420-stibp&amp;amp;num=1"&gt;phoronix 0&lt;/a&gt;
and &lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=linux-420-bisect&amp;amp;num=1"&gt;phoronix 1&lt;/a&gt;
articles on STIBP mitigation impact on CPU performance, since I run a pretty old
laptop equiped with a Sandy Bridge CPU I figured that I should do my own tests
to see how bad things really are &lt;em&gt;or aren&amp;rsquo;t&lt;/em&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;CPU: Intel Core i3-2310M - 2 cores / 4 threads
Motherboard: Lenovo Thinkpad
RAM: 2x4 GB DDR3 @1333 MHz
HDD: Plextor M5pro

OS: Fedora 29 x86_64 with stock kernels
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;My benchmark of choice is compiling the &lt;a href="https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.2.tar.xz"&gt;Linux kernel (version 4.19.2)&lt;/a&gt;.&lt;br&gt;
What I do is download the kernel version to &lt;code&gt;/dev/shm&lt;/code&gt; ramdisk and compile it
using the &lt;code&gt;defconfig&lt;/code&gt; configuration while checking how many seconds it takes to
complete the task.&lt;/p&gt;</description></item><item><title>Xorg present flip failed</title><link>https://nagg.eu/xorg-present-flip-failed/</link><pubDate>Sat, 17 Nov 2018 00:00:00 +0000</pubDate><guid>https://nagg.eu/xorg-present-flip-failed/</guid><description>&lt;p&gt;In the last couple of months Xorg has been crashing more or less on a daily
basis.&lt;br&gt;
What happens is that while you are there browsing the internet, or certain
times even doing literally nothing, Xorg crashes and after a second of black
screen the user is sent back to the login page.&lt;br&gt;
Hardware configuration of my machine is:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
CPU: AMD Ryzen 7 1700x
Motherboard: Gigabyte X370 K7 - BIOS F23d
RAM: 2x16 GB DDR4
HDD: Samsung 850 Pro
GPU: Nvidia GTX260

Monitor 0: Dell U2412M connected via DVI-D
Monitor 1: Dell U2412M connected via HDMI-DVI cable

OS: Fedora 28 and Fedora 29 x86_64
GPU driver: nouveau, various versions
others: varius versions of Linux, Xorg, mesa, etc
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I don&amp;rsquo;t think having two monitors is the culprit nor using a very old Nvidia
graphic card is because a friend of mine runs a completely different system
(AMD Radeon RX480, single monitor connected using Display Port) and still
suffer from the very same problem.&lt;br&gt;
Upgrading from Fedora 28 to Fedora 29 nor installing updates in a timely manner
solved the issue for me; searching on the interwebz also did not yeld any
result.&lt;br&gt;
After yet another crash, today I finally decided it was time to investigate the
issue.&lt;br&gt;
First thing I noticed is that Xorg log file is literally spammed with the
following error:&lt;/p&gt;</description></item><item><title>FreeBSD network performance on KVM/Qemu</title><link>https://nagg.eu/freebsd-network-performance-on-kvm-qemu/</link><pubDate>Tue, 13 Nov 2018 00:00:00 +0000</pubDate><guid>https://nagg.eu/freebsd-network-performance-on-kvm-qemu/</guid><description>&lt;p&gt;Today I red an article that was comparing Fedora 29 and FreeBSD 11.2 network
performance in a KVM/Qemu environment.&lt;br&gt;
Since I use KVM/Qemu and also Fedora and Freebsd I powered on a couple of vm
and did my own tests.&lt;br&gt;
Results are quite interesting, I expected FreeBSD to be faster but it turns out
Fedora 29 actually is.&lt;br&gt;
Host system configuration:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
CPU: Ryzen 7 1700x @4 GHz
Motherboard: Gigabyte X370 K7 - BIOS F23d
RAM: 2x16 GB DDR4 @3133 MHz CAS 16
HDD: Some Samsung SSD

Operating systems
Host: Fedora 29 x86_64
Fedora VM0: Fedora 29 X86_64
Fedora VM1: Fedora 29 X86_64
FreeBSD VM0: FreeBSD 11.2 x86_64
FreeBSD VM1: FreeBSD 11.2 x86_64

Virtualization techonology: Qemu+KVM
Linux kernel version: 4.18.17-300.fc29.x86_64
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;What I did was setup 2 hidentical Fedora 29 virtual machines and 2 hidentical
FreeBSD 11.2 virtual machines, every one of them had &lt;code&gt;iperf3&lt;/code&gt; installed on it.&lt;/p&gt;</description></item><item><title>Nginx and XMPP over TLS</title><link>https://nagg.eu/nginx-and-xmpp-over-tls/</link><pubDate>Sun, 28 Oct 2018 00:00:00 +0000</pubDate><guid>https://nagg.eu/nginx-and-xmpp-over-tls/</guid><description>&lt;p&gt;XMPP over TLS (formerly XEP-0368) is a clever mechanism that allows users to
connect to a XMPP server from networks that restrict outgoing traffic only to
specific ports; this block is circumvent by routing XMPP traffic via port TCP
443.&lt;br&gt;
If the server hosts only a XMPP server setting up XMPP over TLS is pretty easy,
just instruct the server to listen on port 443.&lt;br&gt;
If the server also runs a webserver which is listening on port 443 things are a
bit more complicated; luckily Nginx provides a way to manage XMPP traffic and
redirect it to the XMPP server.&lt;/p&gt;</description></item><item><title>GNU TAR and memory caching</title><link>https://nagg.eu/gnu-tar-and-memory-caching/</link><pubDate>Wed, 10 Oct 2018 18:00:00 +0000</pubDate><guid>https://nagg.eu/gnu-tar-and-memory-caching/</guid><description>&lt;p&gt;Guess it is time to write my first post using Hugo.&lt;br&gt;
Yesterday I downloaded a torrent consisting of 2 years worth of 4chan posts,
the plan was to mess with it and use the data to train a chatbot.&lt;br&gt;
Dealing with big datasets is always fun because even the easiest tasks tend to
get complicated, for example extracting the data from a ~3 GB tar.gz compressed
archive was a challenge by itself.&lt;br&gt;
Running “tar -xzvf archive.tar.gz” resulted in TAR/the Linux kernel eating the
whole available memory to use it as cache, when that was down to ~200 MB of
free RAM my workstation started lagging so hard that even Xorg was freezing for
a couple of seconds every 20 or so seconds.&lt;br&gt;
To solve the issue what I did was running the following commands:&lt;/p&gt;</description></item><item><title>CentOS 7: failed to open \efi\centos\grubx64.efi</title><link>https://nagg.eu/centos-7-failed-to-open-eficentosgrubx64-efi/</link><pubDate>Wed, 26 Sep 2018 12:52:55 +0000</pubDate><guid>https://nagg.eu/centos-7-failed-to-open-eficentosgrubx64-efi/</guid><description>&lt;p&gt;For some reason one of my CentOS 7 boxes decided to nuke itself yesterday, when
I powered it on it prompted me with the following error: &amp;ldquo;failed to open
\efi\centos\grubx64.efi&amp;rdquo;.&lt;br&gt;
What I did to fix it is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Boot up a rescue USB, mount the required partitions and chroot.&lt;/li&gt;
&lt;li&gt;Add a DNS server:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ echo &amp;#34;nameserver *.*.*.*&amp;#34; &amp;gt;&amp;gt; /etc/resolv.conf
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Enable networking using ifconfig (in my case it was already enabled).&lt;/li&gt;
&lt;li&gt;Install some additional grub2 modules:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ yum install grub2-efi-modules
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Reinstall grub, read &amp;ldquo;/etc/fstab&amp;rdquo; or &amp;ldquo;lsblk&amp;rdquo; command to find it:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ /sbin/grub2-install /dev/boot/partition
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Reinstall grub:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ yum reinstall grub-efi shim
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;Rebuild grub.cfg file:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
$ grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Remote encrypted backup with iSCSI and LUKS2</title><link>https://nagg.eu/remote-encrypted-backup-with-iscsi-and-luks2/</link><pubDate>Mon, 27 Aug 2018 19:19:08 +0000</pubDate><guid>https://nagg.eu/remote-encrypted-backup-with-iscsi-and-luks2/</guid><description>&lt;p&gt;The idea here is to have a LUKS2 encrypted volume stored on a remote server
that allows authenticated clients to load and decrypt the data without letting
the server know what is being written, read and stored.&lt;br&gt;
Keep in mind that this solution is not 100% bulletproof, you still kind of have
to trust the backup server because a malicious entity might take multiple
snapshots of the encrypted iSCSI LUN and try to crack the encryption.&lt;/p&gt;</description></item><item><title>LUKS2 the right way: Argon2</title><link>https://nagg.eu/luks2-the-right-way-argon2/</link><pubDate>Tue, 14 Aug 2018 19:27:09 +0000</pubDate><guid>https://nagg.eu/luks2-the-right-way-argon2/</guid><description>&lt;p&gt;Version 2 of cryptsetup got a few new fancy options, one of them is the ability to use &lt;!-- raw HTML omitted --&gt;Argon2&lt;!-- raw HTML omitted --&gt; as key derivation function.&lt;br&gt;
Creating a LUKS2 volume with Argon2 as hash function is very easy:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo cryptsetup luksFormat -M luks2 --pbkdf argon2id -i 5000 /dev/sdb
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Please note that grub still does not support it, so it can&amp;rsquo;t be used for boot drives.&lt;br&gt;
Once the volume is created, to mount it run:&lt;/p&gt;</description></item><item><title>Generate a secure SSH key</title><link>https://nagg.eu/generate-a-secure-ssh-key/</link><pubDate>Fri, 10 Aug 2018 14:42:19 +0000</pubDate><guid>https://nagg.eu/generate-a-secure-ssh-key/</guid><description>&lt;p&gt;In Fedora, CentOS and probably many other Linux distros &lt;code&gt;ssh-keygen&lt;/code&gt;; still defaults to RSA 2048.&lt;br&gt;
People have not yet realized that the newer, and also faster, elliptic curve cryptography is available; even between my peers I still see that many of them are using old and insecure RSA based keys. Since SSH clients support multiple keys transitioning to newer keys can be painless:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;create a new elliptic curve key;&lt;/li&gt;
&lt;li&gt;do not delete the old RSA key;&lt;/li&gt;
&lt;li&gt;once you login into a server swap the old key with the new one.&lt;br&gt;
Generating a new secure SSH key is pretty simple, just open a terminal and run:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ssh-keygen -o -a 256 -t ed25519
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Generate a secure GPG key</title><link>https://nagg.eu/generate-a-secure-gpg-key/</link><pubDate>Fri, 10 Aug 2018 10:22:56 +0000</pubDate><guid>https://nagg.eu/generate-a-secure-gpg-key/</guid><description>&lt;p&gt;For some reason &lt;code&gt;gpg gen-key&lt;/code&gt; still defaults to SHA1 and RSA2048, due to the known weaknesses of SHA1 it is probably a better idea to use SHA256.&lt;br&gt;
First of all, we need to create a configuration file.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat ~/.gnupg/gpg.conf&amp;#34;
---
personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To generate a new key type (also specify to use RSA 4096):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;gpg --gen-key
### or
gpg --full-generate-key
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Other useful commands are:&lt;/p&gt;</description></item><item><title>Configure apcupsd on CentOS</title><link>https://nagg.eu/configure-apcupsd-on-centos/</link><pubDate>Mon, 25 Jun 2018 18:04:19 +0000</pubDate><guid>https://nagg.eu/configure-apcupsd-on-centos/</guid><description>&lt;p&gt;Apcupsd is a powerful daemon that can be used to manage APC UPS, add epel repositories and run:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ yum install apcupsd
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To configure apcupsd edit the following file:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/apcupsd/apcupsd.conf&amp;#34;
---
## apcupsd.conf v1.1 ##
# 
# for apcupsd release 3.14.14 (31 May 2016) - redhat
#
# &amp;#34;apcupsd&amp;#34; POSIX config file

#
# Note that the apcupsd daemon must be restarted in order for changes to
# this configuration file to become active.
#

#
# ========= General configuration parameters ============
#

# UPSNAME xxx
# Use this to give your UPS a name in log files and such. This
# is particulary useful if you have multiple UPSes. This does not
# set the EEPROM. It should be 8 characters or less.
UPSNAME apcups

# UPSCABLE &amp;lt;cable&amp;gt;
# Defines the type of cable connecting the UPS to your computer.
#
# Possible generic choices for &amp;lt;cable&amp;gt; are:
# simple, smart, ether, usb
#
# Or a specific cable model number may be used:
# 940-0119A, 940-0127A, 940-0128A, 940-0020B,
# 940-0020C, 940-0023A, 940-0024B, 940-0024C,
# 940-1524C, 940-0024G, 940-0095A, 940-0095B,
# 940-0095C, 940-0625A, M-04-02-2000
#
UPSCABLE usb

# To get apcupsd to work, in addition to defining the cable
# above, you must also define a UPSTYPE, which corresponds to
# the type of UPS you have (see the Description for more details).
# You must also specify a DEVICE, sometimes referred to as a port.
# For USB UPSes, please leave the DEVICE directive blank. For
# other UPS types, you must specify an appropriate port or address.
#
# UPSTYPE DEVICE Description
# apcsmart /dev/tty** Newer serial character device, appropriate for 
# SmartUPS models using a serial cable (not USB).
#
# usb &amp;lt;BLANK&amp;gt; Most new UPSes are USB. A blank DEVICE
# setting enables autodetection, which is
# the best choice for most installations.
#
# net hostname:port Network link to a master apcupsd through apcupsd&amp;#39;s 
# Network Information Server. This is used if the
# UPS powering your computer is connected to a 
# different computer for monitoring.
#
# snmp hostname:port:vendor:community
# SNMP network link to an SNMP-enabled UPS device.
# Hostname is the ip address or hostname of the UPS 
# on the network. Vendor can be can be &amp;#34;APC&amp;#34; or 
# &amp;#34;APC_NOTRAP&amp;#34;. &amp;#34;APC_NOTRAP&amp;#34; will disable SNMP trap 
# catching; you usually want &amp;#34;APC&amp;#34;. Port is usually 
# 161. Community is usually &amp;#34;private&amp;#34;.
#
# netsnmp hostname:port:vendor:community
# OBSOLETE
# Same as SNMP above but requires use of the 
# net-snmp library. Unless you have a specific need
# for this old driver, you should use &amp;#39;snmp&amp;#39; instead.
#
# dumb /dev/tty** Old serial character device for use with 
# simple-signaling UPSes.
#
# pcnet ipaddr:username:passphrase:port
# PowerChute Network Shutdown protocol which can be 
# used as an alternative to SNMP with the AP9617 
# family of smart slot cards. ipaddr is the IP 
# address of the UPS management card. username and 
# passphrase are the credentials for which the card 
# has been configured. port is the port number on 
# which to listen for messages from the UPS, normally 
# 3052. If this parameter is empty or missing, the 
# default of 3052 will be used.
#
# modbus /dev/tty** Serial device for use with newest SmartUPS models
# supporting the MODBUS protocol.
# modbus &amp;lt;BLANK&amp;gt; Leave the DEVICE setting blank for MODBUS over USB
# or set to the serial number of the UPS to ensure 
# that apcupsd binds to that particular unit
# (helpful if you have more than one USB UPS).
#
UPSTYPE usb
DEVICE 

# POLLTIME &amp;lt;int&amp;gt;
# Interval (in seconds) at which apcupsd polls the UPS for status. This
# setting applies both to directly-attached UPSes (UPSTYPE apcsmart, usb, 
# dumb) and networked UPSes (UPSTYPE net, snmp). Lowering this setting
# will improve apcupsd&amp;#39;s responsiveness to certain events at the cost of
# higher CPU utilization. The default of 60 is appropriate for most
# situations.
POLLTIME 60

# LOCKFILE &amp;lt;path to lockfile&amp;gt;
# Path for device lock file. This is the directory into which the lock file
# will be written. The directory must already exist; apcupsd will not create
# it. The actual name of the lock file is computed from DEVICE.
# Not used on Win32.
LOCKFILE /var/lock

# SCRIPTDIR &amp;lt;path to script directory&amp;gt;
# Directory in which apccontrol and event scripts are located.
SCRIPTDIR /etc/apcupsd

# PWRFAILDIR &amp;lt;path to powerfail directory&amp;gt;
# Directory in which to write the powerfail flag file. This file
# is created when apcupsd initiates a system shutdown and is
# checked in the OS halt scripts to determine if a killpower
# (turning off UPS output power) is required.
PWRFAILDIR /etc/apcupsd

# NOLOGINDIR &amp;lt;path to nologin directory&amp;gt;
# Directory in which to write the nologin file. The existence
# of this flag file tells the OS to disallow new logins.
NOLOGINDIR /etc


#
# ======== Configuration parameters used during power failures ==========
#

# The ONBATTERYDELAY is the time in seconds from when a power failure
# is detected until we react to it with an onbattery event.
#
# This means that, apccontrol will be called with the powerout argument
# immediately when a power failure is detected. However, the
# onbattery argument is passed to apccontrol only after the 
# ONBATTERYDELAY time. If you don&amp;#39;t want to be annoyed by short
# powerfailures, make sure that apccontrol powerout does nothing
# i.e. comment out the wall.
ONBATTERYDELAY 6

# 
# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
# the first that occurs will cause the initation of a shutdown.
#

# If during a power failure, the remaining battery percentage
# (as reported by the UPS) is below or equal to BATTERYLEVEL, 
# apcupsd will initiate a system shutdown.
BATTERYLEVEL 5

# If during a power failure, the remaining runtime in minutes 
# (as calculated internally by the UPS) is below or equal to MINUTES,
# apcupsd, will initiate a system shutdown.
MINUTES 10

# If during a power failure, the UPS has run on batteries for TIMEOUT
# many seconds or longer, apcupsd will initiate a system shutdown.
# A value of 0 disables this timer.
#
# Note, if you have a Smart UPS, you will most likely want to disable
# this timer by setting it to zero. That way, you UPS will continue
# on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
# or the remaining battery runtime drops to or below MINUTES. Of course,
# if you are testing, setting this to 60 causes a quick system shutdown
# if you pull the power plug. 
# If you have an older dumb UPS, you will want to set this to less than
# the time you know you can run on batteries.
TIMEOUT 60

# Time in seconds between annoying users to signoff prior to
# system shutdown. 0 disables.
#ANNOY 300
ANNOY 0

# Initial delay after power failure before warning users to get
# off the system.
#ANNOYDELAY 60
ANNOYDELAY 1

# The condition which determines when users are prevented from
# logging in during a power failure.
# NOLOGON &amp;lt;string&amp;gt; [ disable | timeout | percent | minutes | always ]
NOLOGON disable

# If KILLDELAY is non-zero, apcupsd will continue running after a
# shutdown has been requested, and after the specified time in
# seconds attempt to kill the power. This is for use on systems
# where apcupsd cannot regain control after a shutdown.
# KILLDELAY &amp;lt;seconds&amp;gt; 0 disables
KILLDELAY 0

#
# ==== Configuration statements for Network Information Server ====
#

# NETSERVER [ on | off ] on enables, off disables the network
# information server. If netstatus is on, a network information
# server process will be started for serving the STATUS and
# EVENT data over the network (used by CGI programs).
NETSERVER on

# NISIP &amp;lt;dotted notation ip address&amp;gt;
# IP address on which NIS server will listen for incoming connections.
# This is useful if your server is multi-homed (has more than one
# network interface and IP address). Default value is 0.0.0.0 which
# means any incoming request will be serviced. Alternatively, you can
# configure this setting to any specific IP address of your server and 
# NIS will listen for connections only on that interface. Use the
# loopback address (127.0.0.1) to accept connections only from the
# local machine.
NISIP 127.0.0.1

# NISPORT &amp;lt;port&amp;gt; default is 3551 as registered with the IANA
# port to use for sending STATUS and EVENTS data over the network.
# It is not used unless NETSERVER is on. If you change this port,
# you will need to change the corresponding value in the cgi directory
# and rebuild the cgi programs.
NISPORT 3551

# If you want the last few EVENTS to be available over the network
# by the network information server, you must define an EVENTSFILE.
EVENTSFILE /var/log/apcupsd.events

# EVENTSFILEMAX &amp;lt;kilobytes&amp;gt;
# By default, the size of the EVENTSFILE will be not be allowed to exceed
# 10 kilobytes. When the file grows beyond this limit, older EVENTS will
# be removed from the beginning of the file (first in first out). The
# parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
# to zero to allow the EVENTSFILE to grow without limit.
EVENTSFILEMAX 10

#
# ========== Configuration statements used if sharing =============
# a UPS with more than one machine

#
# Remaining items are for ShareUPS (APC expansion card) ONLY
#

# UPSCLASS [ standalone | shareslave | sharemaster ]
# Normally standalone unless you share an UPS using an APC ShareUPS
# card.
UPSCLASS standalone

# UPSMODE [ disable | share ]
# Normally disable unless you share an UPS using an APC ShareUPS card.
UPSMODE disable

#
# ===== Configuration statements to control apcupsd system logging ========
#

# Time interval in seconds between writing the STATUS file; 0 disables
STATTIME 0

# Location of STATUS file (written to only if STATTIME is non-zero)
STATFILE /var/log/apcupsd.status

# LOGSTATS [ on | off ] on enables, off disables
# Note! This generates a lot of output, so if 
# you turn this on, be sure that the
# file defined in syslog.conf for LOG_NOTICE is a named pipe.
# You probably do not want this on.
LOGSTATS off

# Time interval in seconds between writing the DATA records to
# the log file. 0 disables.
DATATIME 0

# FACILITY defines the logging facility (class) for logging to syslog. 
# If not specified, it defaults to &amp;#34;daemon&amp;#34;. This is useful 
# if you want to separate the data logged by apcupsd from other
# programs.
#FACILITY DAEMON

#
# ========== Configuration statements used in updating the UPS EPROM =========
#

#
# These statements are used only by apctest when choosing &amp;#34;Set EEPROM with conf
# file values&amp;#34; from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
#

# UPS name, max 8 characters 
#UPSNAME UPS_IDEN

# Battery date - 8 characters
#BATTDATE mm/dd/yy

# Sensitivity to line voltage quality (H cause faster transfer to batteries) 
# SENSITIVITY H M L (default = H)
#SENSITIVITY H

# UPS delay after power return (seconds)
# WAKEUP 000 060 180 300 (default = 0)
#WAKEUP 60

# UPS Grace period after request to power off (seconds)
# SLEEP 020 180 300 600 (default = 20)
#SLEEP 180

# Low line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter 
# of FIRMWARE or APCMODEL. Some representative values are:
# D 106 103 100 097
# M 177 172 168 182
# A 092 090 088 086
# I 208 204 200 196 (default = 0 =&amp;gt; not valid)
#LOTRANSFER 208

# High line voltage causing transfer to batteries
# The permitted values depend on your model as defined by last letter 
# of FIRMWARE or APCMODEL. Some representative values are:
# D 127 130 133 136
# M 229 234 239 224
# A 108 110 112 114
# I 253 257 261 265 (default = 0 =&amp;gt; not valid)
#HITRANSFER 253

# Battery charge needed to restore power
# RETURNCHARGE 00 15 50 90 (default = 15)
#RETURNCHARGE 15

# Alarm delay 
# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = never
# BEEPSTATE 0 T L N (default = 0)
#BEEPSTATE T

# Low battery warning delay in minutes
# LOWBATT 02 05 07 10 (default = 02)
#LOWBATT 2

# UPS Output voltage when running on batteries
# The permitted values depend on your model as defined by last letter 
# of FIRMWARE or APCMODEL. Some representative values are:
# D 115
# M 208
# A 100
# I 230 240 220 225 (default = 0 =&amp;gt; not valid)
#OUTPUTVOLTS 230

# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
# SELFTEST 336 168 ON OFF (default = 336)
#SELFTEST 336
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The configuration I use is pretty simple, basically shutdown the server if the power is down for more than one minute.&lt;br&gt;
ANNOY flag is also disabled (set to 0) because I do not need it on headless servers.&lt;/p&gt;</description></item><item><title>APC UPS and HP server gen8 not restarting automatically when power goes back online after shutdown procedure is already starded but not completed</title><link>https://nagg.eu/apc-ups-and-hp-server-gen8-not-restarting-automatically-when-power-goes-back-online-after-shutdown-procedure-is-already-starded-but-not-completed/</link><pubDate>Mon, 25 Jun 2018 17:35:54 +0000</pubDate><guid>https://nagg.eu/apc-ups-and-hp-server-gen8-not-restarting-automatically-when-power-goes-back-online-after-shutdown-procedure-is-already-starded-but-not-completed/</guid><description>&lt;p&gt;I have got my hands on an APC UPS and some HP gen8 server, installed apcupsd on CentOS 7, connected the USB cable and everything was working fine except for this very annoying issue I had: * power goes down (pull the UPS power cord).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;after some minutes the UPS battery threshold is triggered and the server shutdown procedure is launched by apcupsd.&lt;/li&gt;
&lt;li&gt;power goes back up (plug in the power cord) while the server is already shutting down but the shutdown sequence is not yet completed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;RESULT&lt;/strong&gt;: the server will not power itself up even if the correct setting is selected in BIOS (&lt;code&gt;last power state&lt;/code&gt; or &lt;code&gt;always on&lt;/code&gt;).&lt;br&gt;
If the power stays offline for enough time for the server to completely shutdown and for the UPS to also shutdown once the power goes back online the server starts up automatically like it is supposed to do.&lt;br&gt;
The only workaround I could think of to solve the issue is running a cron job on the router, which is running OpenWRT, to trigger wake-on-LAN for the server.&lt;br&gt;
I don&amp;rsquo;t really like this solution, it feels hackish but still I could not find a better way to make the damn server power on automatically all by himself.&lt;br&gt;
As for OpenWRT and wake-on-LAN, first of all install &lt;code&gt;etherwake&lt;/code&gt; from LuCI or opkg:&lt;/p&gt;</description></item><item><title>OpenVPN: tun tap invalid argument (code=22)</title><link>https://nagg.eu/openvpn-tun-tap-invalid-argument-code22/</link><pubDate>Fri, 11 May 2018 12:29:10 +0000</pubDate><guid>https://nagg.eu/openvpn-tun-tap-invalid-argument-code22/</guid><description>&lt;p&gt;After upgrading my OpenVPN server to CentOS 7.5 I had trouble connecting to it.&lt;br&gt;
Specifically, I had two different issues:&lt;br&gt;
** the laptop, which is running Fedora 28, was able to connect just fine but
DNS resolution was broken.&lt;br&gt;
** OpenVPN for Android was also connecting just fine but reporting a weird
error: &lt;code&gt;OpenVPN: tun tap invalid argument (code=22)&lt;/code&gt;.&lt;br&gt;
The first one was caused by me because after the CentOS upgrade procedure was
completed I also run &lt;code&gt;yum autoremove&lt;/code&gt; which deleted dnsmasq; the solution was
fairly simple, reinstall and reconfigure &lt;a href="https://nagg.eu/openvpn-server-and-centos/"&gt;dnsmasq&lt;/a&gt;.&lt;br&gt;
For the second issue the solution was to enable comp-lzo and voilà, everything
started working again.&lt;/p&gt;</description></item><item><title>Nginx, PHP-FPM, SELinux and sendmail</title><link>https://nagg.eu/nginx-php-fpm-selinux-and-sendmail/</link><pubDate>Fri, 23 Mar 2018 13:54:15 +0000</pubDate><guid>https://nagg.eu/nginx-php-fpm-selinux-and-sendmail/</guid><description>&lt;p&gt;Since I am a real master at forgiving things I am writing this one down.&lt;br&gt;
PHP mail function relies on sendmail but SELinux by default block webservers from sending emails, the usual error that pop-out is:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /var/log/maillog&amp;#34;&amp;gt;
---
sendmail[16328]: NOQUEUE: SYSERR(nginx): /etc/mail/sendmail.cf: line 0: cannot open: Permission denied
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Allow webservers to send email is as easy as editing the appropriate SELinux boolean:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;setsebool -P httpd_can_sendmail 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Use &lt;code&gt;sestatus&lt;/code&gt; to check SELinux booleans:&lt;/p&gt;</description></item><item><title>Compile LineageOS 15.1 for Oneplus 3 on Fedora</title><link>https://nagg.eu/compile-lineageos-15-1-for-oneplus-3-on-fedora/</link><pubDate>Thu, 08 Mar 2018 18:40:39 +0000</pubDate><guid>https://nagg.eu/compile-lineageos-15-1-for-oneplus-3-on-fedora/</guid><description>&lt;p&gt;LineageOS in Android Oreo flavor is finally here, I guess it is time to update the &lt;!-- raw HTML omitted --&gt;guide I wrote a while back&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
Most of the stuff is exactly the same, for the sake of simplicity this guide will be pretty much a copy and paste of the old one with just some bits changed here and there.&lt;br&gt;
Required packages on Fedora are (rpmfusion repo must be previously installed):&lt;/p&gt;</description></item><item><title>Firejail and symlink pointing outside of home directory</title><link>https://nagg.eu/firejail-and-symlink-poiting-outside-of-home-directory/</link><pubDate>Tue, 19 Dec 2017 18:03:27 +0000</pubDate><guid>https://nagg.eu/firejail-and-symlink-poiting-outside-of-home-directory/</guid><description>&lt;p&gt;I normally move &lt;code&gt;/home/user/Downloads&lt;/code&gt; off &lt;code&gt;/home/user&lt;/code&gt; to a secondary mechanical drive and then symlink it back to &lt;code&gt;/home/user&lt;/code&gt;.&lt;br&gt;
Firejail for security reasons does not allow whitelisting directories residing outside of the home directory, the simplest solution I found is mount Download directory using &lt;code&gt;mount --bind&lt;/code&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo mount --bind /mnt/data/Downloads/ /home/user/Downloads
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To make the change permanent edit fstab:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/fstab
---
/mnt/data/Downloads /home/user/Downloads none bind
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Free Suunto Ambit3 from the botnet</title><link>https://nagg.eu/free-suunto-ambit3-from-the-botnet/</link><pubDate>Wed, 06 Dec 2017 18:08:55 +0000</pubDate><guid>https://nagg.eu/free-suunto-ambit3-from-the-botnet/</guid><description>&lt;p&gt;Suunto makes some solid sport-watches, problem is that the management software is comprised of a closed source synchronization program (compatible with Windows and OSX only) and some cancerous cloud web interface accessible directly from their website.&lt;br&gt;
Even putting aside my personal aversion for closed source software, it is clear that this approach is retarded because an internet connection is required to be able to download any kind of data from the watch.&lt;br&gt;
What if I don&amp;rsquo;t have any signal? What if I don&amp;rsquo;t want to upload my data to Suunto&amp;rsquo;s servers?&lt;br&gt;
Luckily some good lads reverse engineered the communication protocol used by the watch to &lt;code&gt;speak&lt;/code&gt; with the PC synchronization client, and even more, they also wrote an open source Linux compatible tool that can be used to download data from the watch.&lt;br&gt;
This tool is called: &lt;!-- raw HTML omitted --&gt;Openambit&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
The version included in Fedora 27 repositories is not up to date and does not support the Ambit3 Run I own, luckily the github version does.&lt;/p&gt;</description></item><item><title>AMD Ryzen, DDR4 Dual Rank and BankGroupSwap</title><link>https://nagg.eu/amd-ryzen-ddr4-dual-rank-and-bankgroupswap/</link><pubDate>Fri, 10 Nov 2017 17:10:47 +0000</pubDate><guid>https://nagg.eu/amd-ryzen-ddr4-dual-rank-and-bankgroupswap/</guid><description>&lt;p&gt;If I had to guess I would say that more than 90% of AMD Ryzen based builds use Single Rank memory sticks.&lt;br&gt;
Finding any information regarding how Dual Rank DDR4 perform, how they react to overclock or even worse,
what memory settings are the best is pretty much mission impossible.&lt;br&gt;
Since I use Dual Rank DDR4, because, face it, it is 2017 and 16 GB of RAM does not cut it anymore, I had
to dig in unexplored territories to find out what the best settings are.&lt;br&gt;
What follows are my personal findings on the impact of BankGroupSwap setting on system performance.&lt;/p&gt;</description></item><item><title>LEDE/OPENWRT first run configuration guide</title><link>https://nagg.eu/lede-first-run-configuration-guide/</link><pubDate>Sat, 04 Nov 2017 13:33:49 +0000</pubDate><guid>https://nagg.eu/lede-first-run-configuration-guide/</guid><description>&lt;p&gt;LEDE, formerly OpenWRT, is a free open source Linux based operating system aimed at networking hardware.&lt;br&gt;
Every time the system is upgraded to a newer version using the so called &lt;code&gt;Sysupgrade BIN&lt;/code&gt; image every package the user manually installed gets lost; this makes the upgrade process very tedious especially if one does not properly write down all the customization he has made.&lt;br&gt;
I don&amp;rsquo;t use many custom packages but QoS, USB support and vnstat are a must have.&lt;/p&gt;</description></item><item><title>Zabbix and XMPP alerts</title><link>https://nagg.eu/zabbix-and-xmpp-alerts/</link><pubDate>Mon, 23 Oct 2017 17:44:14 +0000</pubDate><guid>https://nagg.eu/zabbix-and-xmpp-alerts/</guid><description>&lt;p&gt;Zabbix should theoretically be able out of the box to send alerts via XMPP.&lt;br&gt;
For some reason this functionality does not work as intended, luckily it is
possible to specify a custom script to send alerts; combining the
aforementioned script with the Perl library sendxmpp is the easiest way to
enable Zabbix from sending notifications via XMPP.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ yum install sendxmpp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Create a bash script, this will be invoked by Zabbix to send notifications:&lt;/p&gt;</description></item><item><title>Zabbix server on CentOS 7 and SELinux</title><link>https://nagg.eu/zabbix-server-on-centos-7-and-selinux/</link><pubDate>Mon, 23 Oct 2017 11:28:46 +0000</pubDate><guid>https://nagg.eu/zabbix-server-on-centos-7-and-selinux/</guid><description>&lt;p&gt;Zabbix is an open source resource and network monitoring system, more info: &lt;a href="https://www.zabbix.com/"&gt;zabbix.com&lt;/a&gt;.&lt;br&gt;
The official wiki is missing some important bits regarding the installation of the tool on CentOS 7 systems.&lt;br&gt;
First of all, let&amp;rsquo;s add Zabbix repository and then proceed to with the installation of Zabbix and some required dependecies:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
$ yum install mariadb mariadb-server httpd zabbix-server-mysql zabbix-web-mysql setroubleshoot
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="configure-mariadb"&gt;Configure MariaDB&lt;/h1&gt;
&lt;p&gt;Login to MariaDB shell, change root&amp;rsquo;s password, create a new database for Zabbix and add a new user:&lt;/p&gt;</description></item><item><title>Self hosting Firefox Sync on CentOS 7</title><link>https://nagg.eu/self-hosting-firefox-sync-on-centos-7/</link><pubDate>Wed, 18 Oct 2017 17:22:49 +0000</pubDate><guid>https://nagg.eu/self-hosting-firefox-sync-on-centos-7/</guid><description>&lt;p&gt;Configuring this piece of poorly documented bloated shit Mozilla came up with was a huge pain in the ass, so excuse the colored language but I am fucking pissed.&lt;br&gt;
The idea was to finally implement a system to synchronize Firefox&amp;rsquo;s bookmarks across multiple devices without giving Mozilla all my personal data.&lt;br&gt;
After some minutes spent researching the subject on the interweb I found out the synchronization system is a huge clusterfuck comprised of multiple components:&lt;/p&gt;</description></item><item><title>CentOS and yum - Error: rpmdb open failed</title><link>https://nagg.eu/centos-and-yum-error-rpmdb-open-failed/</link><pubDate>Tue, 29 Aug 2017 12:23:37 +0000</pubDate><guid>https://nagg.eu/centos-and-yum-error-rpmdb-open-failed/</guid><description>&lt;p&gt;Today I had Ansible reporting an error on one of my CentOS machines while performing the usual upgrade procedure.&lt;br&gt;
I SSH&amp;rsquo;d into the host to check what was wrong and run &lt;code&gt;yum clean all &amp;amp;&amp;amp; yum update&lt;/code&gt; manually just to be greeted with the following error:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;rpmdb: PANIC: fatal region error detected; run recovery
error: db3 error(-30974) from dbenv-&amp;gt;open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The solution to the issue luckily was fairly simple and quick:&lt;/p&gt;</description></item><item><title>NFS on Fedora</title><link>https://nagg.eu/nfs-on-fedora/</link><pubDate>Thu, 20 Jul 2017 20:33:48 +0000</pubDate><guid>https://nagg.eu/nfs-on-fedora/</guid><description>&lt;p&gt;NFS allows to share files and folders over network and is much much faster than
samba while using way less resources.&lt;br&gt;
To setup a NFS server on Fedora 26 install:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ dnf install nfs-utils
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Shared directories are listed in the following configuration file:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-vi" data-lang="vi"&gt;---
# Syntax
# &amp;lt;path&amp;gt; &amp;lt;ipaddr&amp;gt;(&amp;lt;option&amp;gt;)
/home/user/Public 192.168.0.0/255.255.255.0(ro,sync)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;More information can be found here: &lt;a href="https://fedoraproject.org/wiki/Administration_Guide_Draft/NFS"&gt;Fedora NFS administration guide&lt;/a&gt;.&lt;br&gt;
In the above example, the the directory &amp;lsquo;/home/user/Public&amp;rsquo; can be accessed by
every client in the same LAN with read-only permissions.&lt;br&gt;
In case SELinux is active and enforcing rules some further configuration might
be required:&lt;/p&gt;</description></item><item><title>AMD Ryzen on Linux</title><link>https://nagg.eu/amd-ryzen-on-linux/</link><pubDate>Sat, 17 Jun 2017 10:52:37 +0000</pubDate><guid>https://nagg.eu/amd-ryzen-on-linux/</guid><description>&lt;p&gt;Finally we have some new hardware worth writing of and also spending money on.&lt;br&gt;
I have been using an AMD Ryzen 7 1700X based build for some time now and so far I am really liking it, the CPU is marvelous considering the pricetag and felt like a worthwhile upgrade from the Xeon E3-1241v3 I was using before; it is basically twice the cores clocked at pretty much the same speed. Awesome.&lt;br&gt;
There are a couple of points worth spending some words on tho.&lt;/p&gt;</description></item><item><title>Handbrake, compile from source on Fedora 25</title><link>https://nagg.eu/handbrake-compile-from-source-on-fedora-25/</link><pubDate>Tue, 13 Jun 2017 14:03:27 +0000</pubDate><guid>https://nagg.eu/handbrake-compile-from-source-on-fedora-25/</guid><description>&lt;p&gt;Handbrake cannot be installed from default repos nor rpmfusion, to get it on Fedora 25 there are two other options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;use negativo17 third party repository;&lt;/li&gt;
&lt;li&gt;compile from source.&lt;br&gt;
The first option is, but that is my opinion, subpar because I don&amp;rsquo;t trust third party repositories; option two is what is left.&lt;br&gt;
Download the source code from git and install some dependencies:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ git clone https://github.com/HandBrake/HandBrake.git
$ sudo dnf install dbus-glib-devel gstreamer1-devel gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkitgtk3-devel libgudev-devel dbus-glib-devel webkitgtk3-devel gstream-devel libnotify-devel gstreamer1-devel gstreamer1-plugins-base-devel lame-devel opus-devel fribidi-devel libass-devel libtheora-devel x264-devel nasm
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Like I do with every other program I like to keep as much up to date as possible, I have a small script to take care of compilation, installation and upgrade processes for me.&lt;/p&gt;</description></item><item><title>Gajim and OMEMO on Gentoo Linux</title><link>https://nagg.eu/gajim-and-omemo-on-gentoo-linux/</link><pubDate>Sat, 11 Mar 2017 13:43:53 +0000</pubDate><guid>https://nagg.eu/gajim-and-omemo-on-gentoo-linux/</guid><description>&lt;p&gt;OMEMO is the new-ish state of the art end-to-end encryption XMPP protocol extension, Gajim support it via a plugin but making it work on Gentoo is not straightforward at all.&lt;br&gt;
Gajim&amp;rsquo;s OMEMO plugin requires &lt;code&gt;python-axolotl&lt;/code&gt; package to work, since that is not present in Gentoo&amp;rsquo;s repositories it must be installed from source.&lt;br&gt;
Before doing so a couple of dependencies must be installed first:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ emerge -a dev-python/protobuf-python
$ chmod o+w /usr/lib64/python3.4/site-packages/protobuf-3.2.0-py3.4.egg/EGG-INFO/namespace_packages.txt
$ emerge -a dev-python/pillow dev-python/qrcode
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;chmod&lt;/code&gt; command fix some permission issue that arise when installing packages depending on &lt;code&gt;protobuf-python&lt;/code&gt; if Python 3.4 support is enabled.&lt;br&gt;
Get and compile python-axolotl:&lt;/p&gt;</description></item><item><title>Monitor hard disk health status with smartd on Linux</title><link>https://nagg.eu/monitor-hard-disk-health-status-with-smartd-on-linux/</link><pubDate>Thu, 02 Feb 2017 10:20:34 +0000</pubDate><guid>https://nagg.eu/monitor-hard-disk-health-status-with-smartd-on-linux/</guid><description>&lt;h2 id="this-does-not-really-works-read-this"&gt;This does not really works, read this: &lt;!-- raw HTML omitted --&gt;&lt;a href="https://nagg.eu/monitor-hard-disk-smart-status-in-python/"&gt;https://nagg.eu/monitor-hard-disk-smart-status-in-python/&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;/h2&gt;
&lt;p&gt;First of all install smartmontools, it has the same name on pretty much every distro:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ emerge -a1 smartmontools
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Proceed to edit its configuration file, at the bottom of the file there is a quick explaination of all the available parameters:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat/etc/smartd.conf
---
DEVICESCAN -H -R 1 -R 5 -R 7 -R 10 -R 11 -R 196 -R 197 -R 199 -R 200 -m user@domain.tld -n standby,10,q
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Parameter &lt;code&gt;-H&lt;/code&gt; tells smartd to check the result of &lt;code&gt;overall-health self-assesment test&lt;/code&gt; which is pretty much useless, &lt;code&gt;-R&lt;/code&gt; is used to specify a single SMART attribute, if its value changes a mail is sent to &lt;a href="mailto:user@domain.tld"&gt;user@domain.tld&lt;/a&gt;.&lt;br&gt;
To send emails a MTA must be installed, in centos that is sendmail, in gentoo it is not strictly necessary to have a full fledget MTA installed, nullmailer will suffice.&lt;br&gt;
If it is not already installed:&lt;/p&gt;</description></item><item><title>Compile LineageOS for Oneplus 3 on Fedora 25</title><link>https://nagg.eu/compile-lineageos-for-oneplus-3-on-fedora-25/</link><pubDate>Sun, 08 Jan 2017 21:11:07 +0000</pubDate><guid>https://nagg.eu/compile-lineageos-for-oneplus-3-on-fedora-25/</guid><description>&lt;p&gt;Android community is one big cancerous clusterfuck, it is no wonder that finding a decent guide on how to compile Android from source written in a somewhat comprehensible english is pretty much mission impossible.&lt;br&gt;
Cyanogenmod Inc. shutting down their wiki and services overnight surely didn&amp;rsquo;t help either.&lt;br&gt;
Required packages on Fedora 25 are (&lt;code&gt;rpmfusion&lt;/code&gt; repo must be previously installed):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo dnf install screen java-1.8.0-openjdk-devel git schedtool ncurses-devel ncurses-libs ncurses-compat-libs ImageMagick-devel libstdc++-devel bison gnupg lzma
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For some reason the compilation process stores some temporary files in &lt;code&gt;/tmp&lt;/code&gt; which, in Fedora 25, is mounted on a tmpfs ramdisk.&lt;br&gt;
In case the ramdisk runs out of space for some retarded reason the build process instead of halting will go on like nothing happens and produce borked binaries as output.&lt;br&gt;
To keep &lt;code&gt;/tmp&lt;/code&gt; mounted on HDD run:&lt;/p&gt;</description></item><item><title>Manually backup/restore Android application's data</title><link>https://nagg.eu/manually-backuprestore-android-applications-data/</link><pubDate>Sun, 08 Jan 2017 18:00:00 +0000</pubDate><guid>https://nagg.eu/manually-backuprestore-android-applications-data/</guid><description>&lt;p&gt;Android stores application&amp;rsquo;s data in /data/data directory, it can be accessed via adb only on a rooted phone.&lt;br&gt;
To make a backup copy the correspondent directory:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ adb root
$ adb pull /data/data/eu.siacs.conversations
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Application&amp;rsquo;s data can also be extracted from a full system backup made with TWRP:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ tar -xvf data.ext4.win000
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Restoring the backup is the tricky part since Android uses SELinux and every app has it&amp;rsquo;s own unix user.&lt;br&gt;
Before copying back on the phone the already backupped files reinstall the app from f-droid or whatever, then proceed as follow:&lt;/p&gt;</description></item><item><title>BTRFS RAID10 on Gentoo</title><link>https://nagg.eu/btrfs-raid10-on-gentoo/</link><pubDate>Sun, 08 Jan 2017 16:59:10 +0000</pubDate><guid>https://nagg.eu/btrfs-raid10-on-gentoo/</guid><description>&lt;p&gt;Btrfs is fairly stable and with the latest kernels it is becoming even a better alternative to the most commonly used EXT4 and XFS filesystems.&lt;br&gt;
While not being always better or faster it brings to the table a huge amount of improvements that makes it by far the best filesystems for storage.&lt;br&gt;
XFS itself is moving in the very same direction and will probably have in the near future some of the features Btrfs already has (e.g. copy on write).&lt;br&gt;
No MDADM or partitioning is needed, to create a RAID10 with 4 HDD just type (where /dev/sd[X] is the disk whole disk, not a partition):&lt;/p&gt;</description></item><item><title>Ejabberd HTTP File Upload (XEP-0363)</title><link>https://nagg.eu/ejabberd-http-file-upload-xep-0363/</link><pubDate>Mon, 14 Nov 2016 18:36:53 +0000</pubDate><guid>https://nagg.eu/ejabberd-http-file-upload-xep-0363/</guid><description>&lt;p&gt;XMPP module HTTP File Upload (formerly XEP-0363) provides a way to share files
between XMPP clients, it works transparently and even in multi user chats.&lt;br&gt;
The sender uploads a file on an HTTP(S) server that will then generate an URI,
this is sent to each one of the recipients that can then download it.&lt;br&gt;
The interesting bits about this XEP are various:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;File sharing now works even in multi-user chats (MUC), in any case the file
is only uploaded a single time even if the recipients are more than one.&lt;/li&gt;
&lt;li&gt;Peer-to-peer file transfer, be it in-band (XEP-0234: Jingle File Transfer)
or out-of-band (XEP-0065: SOCKS5 Bytestreams), is slow, unreliable, does not
work in MUC and does not work if the recipient is offline.&lt;br&gt;
HTTP File Upload supports both client-server encryption (HTTPS) and end-to-end
encryption when used in conjunction with OMEMO encryption (as per today this is
supported by Conversations on Android and Gajim desktop client).&lt;br&gt;
3.1. When using OMEMO encryption the files are stored encrypted on the server,
this makes it impossibile for ejabberd to create a thumbnail if the file sent
is a picture.&lt;br&gt;
To enable HTTP File Upload module with HTTPS enabled in ejabberd edit
&lt;code&gt;ejabberd.yml&lt;/code&gt; configuration file: &amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;listen:
 -
 port: 5443
 ip: &amp;#34;0.0.0.0&amp;#34;
 module: ejabberd_http
 request_handlers:
 &amp;#34;upload&amp;#34;: mod_http_upload
 tls: true
 protocol_options: &amp;#39;TLS_OPTIONS&amp;#39;
 dhfile: &amp;#39;DH_FILE&amp;#39;
 ciphers: &amp;#39;TLS_CIPHERS&amp;#39;

modules:
 mod_http_upload:
 docroot: &amp;#34;/home/ejabberd/upload&amp;#34; # this must be a valid path, user ownership and SELinux flags must be set accordingly
 put_url: &amp;#34;https://@HOST@:5443/upload&amp;#34;
 access: local
 max_size: 25000000 #25 MByte
 thumbnail: false
 file_mode: &amp;#34;0644&amp;#34;
 dir_mode: &amp;#34;0744&amp;#34;
 mod_http_upload_quota:
 max_days: 2

shaper:
 soft_upload_quota:
 - 250: all # MiB
 hard_upload_quota:
 - 10000: all # MiB

define_macro:
 &amp;#39;TLS_CIPHERS&amp;#39;: &amp;#34;ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256&amp;#34;
 &amp;#39;TLS_OPTIONS&amp;#39;:
 - &amp;#34;no_sslv2, no_sslv3, no_tlsv1&amp;#34;
 - &amp;#34;ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256&amp;#34;
 - &amp;#34;no_compression&amp;#34;
 &amp;#39;DH_FILE&amp;#39;: &amp;#34;/usr/local/etc/ejabberd/dhparams.pem&amp;#34; # generated with: openssl dhparam -out dhparams.pem 4096
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Add an &lt;code&gt;iptables&lt;/code&gt; rule to allow traffic coming from port &lt;code&gt;TCP 5443&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Copy Linux sparse files over network</title><link>https://nagg.eu/copy-linux-sparse-files-over-network/</link><pubDate>Wed, 09 Nov 2016 18:19:35 +0000</pubDate><guid>https://nagg.eu/copy-linux-sparse-files-over-network/</guid><description>&lt;p&gt;Sparse files are nice to use to store virtual machine&amp;rsquo;s virtual disks but can be a real pain in the ass to backup efficiently, especially over the network.&lt;br&gt;
Luckily &lt;code&gt;rsync&lt;/code&gt; provides a way to intelligently copy sparse files both locally and over the network.&lt;br&gt;
The trick is use &lt;code&gt;--sparse&lt;/code&gt; and &lt;code&gt;--inplace&lt;/code&gt; options.&lt;br&gt;
Let&amp;rsquo;s say we have a sparse 60 GB qemu virtual disk with only around 7 GB used:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ ls -lh fedora24.qcow2 
-rw------- 1 root root 61G Nov 8 19:11 fedora24.qcow2
$ du -h fedora24.qcow2 
7.2G	fedora24.qcow2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The first thing to note is that ls does not recognize sparse files while du does.&lt;br&gt;
The first time a file is copied use the &lt;code&gt;--sparse&lt;/code&gt; option:&lt;/p&gt;</description></item><item><title>CM13 reboot when opening gallery</title><link>https://nagg.eu/cm13-reboot-when-opening-gallery/</link><pubDate>Tue, 02 Aug 2016 16:00:27 +0000</pubDate><guid>https://nagg.eu/cm13-reboot-when-opening-gallery/</guid><description>&lt;p&gt;All Cyanogenmod 13 nightly builds past July 28 seem to be affected by a bug that makes the phone reboot just a few seconds after opening the Gallery application.&lt;br&gt;
The issue seems to be related to the newly added support to sdcardfs which obviously isn&amp;rsquo;t playing well at the moment.&lt;br&gt;
A workaround to prevent the phone from crashing and rebooting is to edit the &lt;code&gt;build.prop&lt;/code&gt; file located in &lt;code&gt;/system&lt;/code&gt;; this can be done either via adb using the command &lt;code&gt;adb shell&lt;/code&gt; or more practically directly on the phone using the built in file manager and text editor (provided that in file manager&amp;rsquo;s settings &lt;code&gt;access mode&lt;/code&gt; option is set to &lt;code&gt;Root access mode&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>RawTherapee: compiling from source on Fedora 23</title><link>https://nagg.eu/rawtherapee-compiling-from-source-on-fedora-23/</link><pubDate>Mon, 13 Jun 2016 21:50:17 +0000</pubDate><guid>https://nagg.eu/rawtherapee-compiling-from-source-on-fedora-23/</guid><description>&lt;p&gt;&lt;code&gt;RawTherapee&lt;/code&gt; from my experience is by far the best program to manipulate RAF files, it&amp;rsquo;s demosaic algorithm for &lt;code&gt;Fujifilm X-Trans&lt;/code&gt; sensors is astonishingly good.&lt;br&gt;
Too bad that, like for Darktable, the version included in Fedora&amp;rsquo;s repos is outdated to say the least.&lt;br&gt;
To install from source first install some dependecies:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo dnf install bzip2-devel cmake exiv2-devel expat-devel fftw-devel gcc-c++ glib2-devel glibmm24-devel gtk3-devel gtkmm30-devel lcms2-devel libcanberra-devel libiptcdata-devel libjpeg-turbo-devel libpng-devel libsigc++20-devel libtiff-devel zlib-devel gtkmm24-devel lensfun-devel
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Git clone and install&lt;/p&gt;</description></item><item><title>Darktable: compiling from source on Fedora 23</title><link>https://nagg.eu/darktable-compiling-from-source-on-fedora-23/</link><pubDate>Sat, 14 May 2016 19:47:08 +0000</pubDate><guid>https://nagg.eu/darktable-compiling-from-source-on-fedora-23/</guid><description>&lt;p&gt;Darktable documentation on this matter is somewhat fragmented, so I figure a small how-to on how to install it from source on Fedora 23 could be useful.&lt;br&gt;
The version included in the official repositories is really old (version 1.6.9 as per today) and is missing some important presets for many widely used cameras.&lt;br&gt;
The latest version source code archive can be downloaded from here: &lt;!-- raw HTML omitted --&gt;&lt;a href="https://github.com/darktable-org/darktable/releases"&gt;https://github.com/darktable-org/darktable/releases&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
Before compiling and installing the software the following dependencies must be installed:&lt;/p&gt;</description></item><item><title>Automating Ejabberd upgrade procedure with Ansible</title><link>https://nagg.eu/automating-ejabberd-upgrade-procedure-with-ansible/</link><pubDate>Mon, 08 Feb 2016 23:11:28 +0000</pubDate><guid>https://nagg.eu/automating-ejabberd-upgrade-procedure-with-ansible/</guid><description>&lt;p&gt;CentOS repos (both official and EPEL) does not provide an up to date version of Ejabberd, installing from source is the only way if one want or need a version from this century.&lt;br&gt;
Problem is that doing things manually is a never ever a good idea, luckily Ansible and a bit of Python love come to rescue.&lt;br&gt;
Supposing Ejabberd is already installed and configured (I wrote a post on the subject a couple of years ago: &lt;!-- raw HTML omitted --&gt;&lt;a href="https://nagg.eu/ejabberd-xmpp-server-configuration-guide//"&gt;https://nagg.eu/ejabberd-xmpp-server-configuration-guide//&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;) the following Ansible script will take care of all the steps needed to upgrade to a newer version of Ejabberd&lt;/p&gt;</description></item><item><title>TWRP with FS encryption and CM13 support for OPO</title><link>https://nagg.eu/twrp-with-fs-encryption-and-cm13-support-for-opo/</link><pubDate>Sat, 23 Jan 2016 18:46:49 +0000</pubDate><guid>https://nagg.eu/twrp-with-fs-encryption-and-cm13-support-for-opo/</guid><description>&lt;p&gt;Android ROM scene is cluster fuck of inhumane proportion; the complete lack of documentation, decent how-to, decent guides and the retarded &lt;code&gt;works for me&lt;/code&gt; attitude the whole community has really amazes me.&lt;br&gt;
TWRP project is a good example of a really useful tool used by [millions] of people all over the world, one would assume that it has to be maintained in a professional way but this is as far from the reality as something can get.&lt;br&gt;
The official site lacks any kind of documentation, the only information one can find there are either completely useless or partial and incomplete (e.g. the &lt;code&gt;how to build from source guide&lt;/code&gt; linked on TWRP faq page is a link to a XDA forum post saying absolutely nothing on how to build this shit).&lt;br&gt;
Not only that, but the site download page (one would hope that at least that part was taken care of…) is not up to date.&lt;br&gt;
For bacon (oneplus one), which is a really popular phone among modders, the latest version present in the download page of the official TWRP site is the buggy and completely useless twrp-2.8.7.0-bacon.&lt;br&gt;
To get the latest version (twrp-2.8.7.1-bacon) which supports file-system encryption on CM13 and correctly flash the baseband ROM one has to dig through a whole pile of shit on XDA and finally find a post where pajeet post a link where to download it: &lt;!-- raw HTML omitted --&gt;&lt;a href="http://build.twrp.me/twrp/twrp-2.8.7.1-bacon.img"&gt;http://build.twrp.me/twrp/twrp-2.8.7.1-bacon.img&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
The irony is that the link is from the TWRP official site even though it can&amp;rsquo;t be found anywhere on the bacon download page on the very same site.&lt;br&gt;
In case someone decide to delete the file I am rehosting it here: &lt;!-- raw HTML omitted --&gt;&lt;a href="https://nagg.eu/misc/twrp-2.8.7.1-bacon.img"&gt;https://nagg.eu/misc/twrp-2.8.7.1-bacon.img&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>mdadm RAID on Linux</title><link>https://nagg.eu/mdadm-raid-on-linux/</link><pubDate>Thu, 21 Jan 2016 21:06:19 +0000</pubDate><guid>https://nagg.eu/mdadm-raid-on-linux/</guid><description>&lt;p&gt;Every time I have to setup a software RAID in Linux using mdadm I forget something, this time I am writing it down once and for all (or at least I hope so).&lt;br&gt;
For the sake of simplicity I will use the creation of a RAID1 as example but this very same procedure can be applied for any other kind of RAID.&lt;/p&gt;
&lt;h2 id="raid-array-creation"&gt;RAID array creation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Partition the drives&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This step must be repeated for each drive of the array (/dev/sdb and /dev/sdc in my case).&lt;/p&gt;</description></item><item><title>Defragment XFS file system</title><link>https://nagg.eu/defragment-xfs-file-system/</link><pubDate>Wed, 20 Jan 2016 18:18:18 +0000</pubDate><guid>https://nagg.eu/defragment-xfs-file-system/</guid><description>&lt;p&gt;XFS just like EXT4 (&lt;!-- raw HTML omitted --&gt;I wrote a post about it last year&lt;!-- raw HTML omitted --&gt;) supports online defragmentation, to manage those volumes on CentOS and Fedora &lt;code&gt;xfsprogs&lt;/code&gt; package is needed.&lt;br&gt;
Fragmentation level of XFS volumes can be checked with the command:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@CentOS ~]$ xfs_db -c frag -r /dev/sdb1
actual 4491, ideal 4006, fragmentation factor 10.80%
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To perform online defragmentation of XFS volumes run the following command:&lt;/p&gt;</description></item><item><title>QEMU+KVM, reclaim disk space</title><link>https://nagg.eu/qemukvm-reclaim-disk-space/</link><pubDate>Tue, 17 Nov 2015 11:06:29 +0000</pubDate><guid>https://nagg.eu/qemukvm-reclaim-disk-space/</guid><description>&lt;p&gt;After some time qcow2 images tend -especially after taking snapshots- to grow bigger and bigger, even bigger than the maximum size specified at creation time.&lt;br&gt;
QEMU provides a tool called virt-sparsify (install &lt;code&gt;libguestfs-tools&lt;/code&gt; package in CentOS 7) that can effectively make a virtual machine disk thin provisioned (space is not preallocated, only the actual space needed is used).&lt;br&gt;
virt-sparsify has a nice number of options, the most interesting one is &lt;code&gt;--in-place&lt;/code&gt;, it tells QEMU to shrink the volume in place without requiring any addition space.&lt;/p&gt;</description></item><item><title>CentOS, DNSCrypt and pdnsd</title><link>https://nagg.eu/centos-dnscrypt-and-pdnsd/</link><pubDate>Sun, 01 Nov 2015 22:40:27 +0000</pubDate><guid>https://nagg.eu/centos-dnscrypt-and-pdnsd/</guid><description>&lt;p&gt;DNSCrypt installation process is pretty simple since it is present in the repository, pdnsd on the other hand is missing, luckily compiling from source is not that hard.&lt;br&gt;
For the sake of completeness I will also cover the procedure to install DNSCrypt from source, alternatively &lt;code&gt;yum install dnscrypt-proxy&lt;/code&gt;.&lt;br&gt;
Install the required dependencies and get the source code:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@CentOS ~]# yum install gcc libsodium-devel libtool-ltdl-dev git wget
[root@CentOS ~]# git clone https://github.com/jedisct1/dnscrypt-proxy.git
[root@CentOS ~]# wget http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par.tar.gz
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="pdnsd"&gt;pdnsd&lt;/h2&gt;
&lt;p&gt;Compile and install:&lt;/p&gt;</description></item><item><title>Setting up Vim on Fedora</title><link>https://nagg.eu/setting-up-vim-on-fedora/</link><pubDate>Sat, 17 Oct 2015 14:34:09 +0000</pubDate><guid>https://nagg.eu/setting-up-vim-on-fedora/</guid><description>&lt;p&gt;Since every time I am about to install Vim I forgot how to set it up, set it as default system wide text editor and so on I figure I&amp;rsquo;ll write it down once and for all.&lt;br&gt;
First of all let&amp;rsquo;s install Vim, specifically the so called &lt;code&gt;enhanced&lt;/code&gt; version which is capable of loading plugins and colorschemes:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@Fedora ~]# sudo dnf install vim
### powerline plugin
[user@Fedora ~]# sudo dnf install vim-plugin-powerline
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I personally really like &lt;!-- raw HTML omitted --&gt;molokay colorscheme from tomasr&lt;!-- raw HTML omitted --&gt;; putting it in the default colorscheme directory does the trick if we want to use it for every user.&lt;/p&gt;</description></item><item><title>ejabberd and fail2ban</title><link>https://nagg.eu/ejabberd-and-fail2ban/</link><pubDate>Wed, 16 Sep 2015 18:54:42 +0000</pubDate><guid>https://nagg.eu/ejabberd-and-fail2ban/</guid><description>&lt;p&gt;Fail2ban is a useful tool capable of mitigating brute force attacks performed
against a multitude of services (ejabberd in our case).&lt;br&gt;
Configuration is split between a multitude of files: &lt;code&gt;jail.conf&lt;/code&gt; defines which
filters are active while the filters scripts are placed in &lt;code&gt;./filter.d&lt;/code&gt; directory.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@CentOS ~]# vi /etc/fail2ban/jail.conf
---
bantime = 1200
findtime = 1200
maxretry = 10

backend = auto

[ejabberd-auth]
enabled = true
port = 5222,5280,7777
action = iptables-multiport[name=ejabberd, port=&amp;#34;5222,5269,5280,777&amp;#34;, protocol=tcp]
logpath = /var/log/ejabberd/ejabberd.log
---
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;[root@CentOS ~]# vi /etc/fail2ban/filter.d/ejabberd-auth.conf
---
[Definition]

failregex = ^=INFO REPORT====  ===\nI\(&amp;lt;0\.\d+\.0&amp;gt;:ejabberd_c2s:\d+\) : \([^)]+\) Failed authentication for .+ from IP &amp;lt;HOST&amp;gt; \({{(?:\d+,){3}\d+},\d+}\)$
                ^(?:\.\d+)? \[info\] &amp;lt;0\.\d+\.\d&amp;gt;@ejabberd_c2s:wait_for_feature_request:\d+ \([^\)]+\) Failed authentication for \S+ from IP &amp;lt;HOST&amp;gt;$
                ^.* Failed authentication for \S+ from &amp;lt;HOST&amp;gt;$
                ^.* from &amp;lt;&amp;lt;&amp;#34;&amp;lt;HOST&amp;gt;&amp;#34;&amp;gt;&amp;gt; failed with error: &amp;lt;&amp;lt;&amp;#34;inexistent-account&amp;#34;&amp;gt;&amp;gt;$
                ^.* from &amp;lt;&amp;lt;&amp;#34;&amp;lt;HOST&amp;gt;&amp;#34;&amp;gt;&amp;gt; failed with error: &amp;lt;&amp;lt;&amp;#34;bad-password&amp;#34;&amp;gt;&amp;gt;$
                ^.* from &amp;lt;&amp;lt;&amp;#34;&amp;lt;HOST&amp;gt;&amp;#34;&amp;gt;&amp;gt; failed with error: &amp;lt;&amp;lt;&amp;#34;badformed-jid&amp;#34;&amp;gt;&amp;gt;$

ignoreregex =

[Init]

journalmatch =
---
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The first two regular expressions are for user authentication while the others
are for administration panel login.&lt;br&gt;
Other useful commands are:&lt;/p&gt;</description></item><item><title>ejabberd SOCKS5 proxy – file transfer</title><link>https://nagg.eu/ejabberd-socks5-proxy-file-transfer/</link><pubDate>Thu, 03 Sep 2015 14:08:00 +0000</pubDate><guid>https://nagg.eu/ejabberd-socks5-proxy-file-transfer/</guid><description>&lt;p&gt;Ejabberd XMPP server includes a SOCKS5 proxy, setting it up correctly is what
makes the difference between fast or very slow file transfer operations.&lt;br&gt;
As per XEP-0065 file transfer is either peer-to-peer or mediated by a proxy
server.&lt;br&gt;
In Conversation peer-to-peer transfer is done by converting the file in base64,
split it in 4 kb chunks sent one at the time always awaiting first for the ACK
of the precedent one; this makes the whole process painfully slow and bandwidth
consuming.&lt;br&gt;
The other file transfer method supported by Conversation is defined by XEP-0234
(or Jingle file transfer) which relies on a SOCKS5 proxy and also allow to
negotiate parameters like encryption.&lt;br&gt;
Ejabberd configuration:&lt;/p&gt;</description></item><item><title>DNScrypt-proxy 1.6.2, new configuration</title><link>https://nagg.eu/dnscrypt-proxy-1-6-2-new-configuration/</link><pubDate>Tue, 18 Aug 2015 17:24:15 +0000</pubDate><guid>https://nagg.eu/dnscrypt-proxy-1-6-2-new-configuration/</guid><description>&lt;p&gt;The latest version of DNScrypt-proxy does not use anymore a single configuration file (&lt;code&gt;/etc/conf.d/dnscrypt-proxy&lt;/code&gt;) but instead completely relies on systemd.&lt;br&gt;
Configuration is now split in two different files.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@arch ~]# cat /etc/systemd/system/multi-user.target.wants/dnscrypt-proxy.service
---
[Unit]
Description=DNSCrypt client proxy
Requires=dnscrypt-proxy.socket

[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/bin/dnscrypt-proxy \
 --resolver-address=185.97.7.7:27015 \
 --provider-name=2.dnscrypt-cert.fvz-rec-de-fra-01.dnsrec.meo.ws \
 --provider-key=9FCC:EB74:6856:238D:AC57:428B:DE4F:D9C6:E736:5370:E9F9:5415:3BD3:6EBE:A8C2:FAFE \
 --user=nobody
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&amp;hellip;and&amp;hellip;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@arch ~]# cat /etc/systemd/system/dnscrypt-proxy.socket
---
[Unit]
Description=dnscrypt-proxy listening socket
After=network.target

[Socket]
ListenStream=127.0.0.2:53
ListenDatagram=127.0.0.2:53

[Install]
WantedBy=sockets.target
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Firefox freeze/is not responding</title><link>https://nagg.eu/firefox-freezeis-not-responding/</link><pubDate>Mon, 15 Jun 2015 14:45:43 +0000</pubDate><guid>https://nagg.eu/firefox-freezeis-not-responding/</guid><description>&lt;p&gt;After some years of using Firefox (currently version 38.0.5) with Session Restore enabled (the browser saves all the tabs from the previous session and reload them at the next start-up) it started to act weird and freeze for around 10 seconds 3 or 4 times a day.&lt;br&gt;
This very annoying behavior is caused by the presence of multiple useless Session Restore files.&lt;br&gt;
To delete those files open a new tab and type &lt;code&gt;about:support&lt;/code&gt; in the address bar, then in the &lt;code&gt;Application Basics&lt;/code&gt; area click on the &lt;code&gt;Open Directory&lt;/code&gt; button placed next to &lt;code&gt;Profile Directory&lt;/code&gt;.&lt;br&gt;
Delete every file named &lt;code&gt;sessionstore_something_.js&lt;/code&gt; and everything inside &lt;code&gt;sessionstore-backups&lt;/code&gt; directory.&lt;br&gt;
Close and reopen Firefox, this should solve the problem.&lt;/p&gt;</description></item><item><title>Nginx, PHP-FPM caching done right</title><link>https://nagg.eu/nginx-php-fpm-caching-done-right/</link><pubDate>Wed, 22 Apr 2015 23:38:54 +0000</pubDate><guid>https://nagg.eu/nginx-php-fpm-caching-done-right/</guid><description>&lt;p&gt;The whole web is full of pseudo guides on how to properly - that is the key
word here - configure Nginx to perform caching alongside with PHP-FPM, but
every single one of them fails to mention some minor steps resulting in a
borked half functioning implementation.&lt;br&gt;
For example, not a single one mention the necessity to edit &lt;code&gt;/etc/php.ini&lt;/code&gt; and
set &lt;code&gt;session.use_cookies&lt;/code&gt; to &lt;code&gt;0&lt;/code&gt;.&lt;br&gt;
Too bad that without doing so caching with WordPress in combination with
certain plugins or themes (for example MainWP or Enfold theme) is completely
not working; the following headers get added to every HTTP response:&lt;/p&gt;</description></item><item><title>Pacman email updates notification</title><link>https://nagg.eu/pacman-email-updates-notification/</link><pubDate>Mon, 13 Apr 2015 18:54:24 +0000</pubDate><guid>https://nagg.eu/pacman-email-updates-notification/</guid><description>&lt;p&gt;Pacman as long as I know does not provide any method for sending an email notification when there are updates available.&lt;br&gt;
SSH into the Arch box just to find out if there are updates available is really annoying so I wrote a simple bash script to do the dirty work on my behalf.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@arch ~]# cat /etc/cron.daily/check4updates.sh 
#!/bin/bash

HOST=hostname
DOMAIN=domain
SUBJECT=&amp;#34;System update: $HOST@$DOMAIN&amp;#34;
EMAIL_ADDR=&amp;#34;name@domain&amp;#34;

### Query pacman for available updates
updates_raw=$(pacman -Syu &amp;lt;&amp;lt;&amp;lt; n)

if echo $updates_raw | grep &amp;#34;there is nothing to do&amp;#34;
then
	echo Everything is up to date
else
	updates=${updates_raw#*Packages ([1-9])}

	### extract packages update list
	up_raw=${updates%Total Download*}
	up=$(echo $up_raw | tr &amp;#39; &amp;#39; &amp;#39;\n&amp;#39;)
	#echo -e &amp;#34;$up&amp;#34; &amp;gt; report.txt

	### extract update size
	us=${updates#*Total Download*}
	#echo -e &amp;#34;\nTotal Download $us&amp;#34; &amp;gt;&amp;gt; report.txt

	### compose email
	email_text=&amp;#34;New updates available for host $HOST\n\n$up\n\nTotal Download$us&amp;#34;
	echo -e &amp;#34;$email_text&amp;#34; | mail -s &amp;#34;$SUBJECT&amp;#34; &amp;#34;$EMAIL_ADDR&amp;#34;
fi
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To schedule the cron job to run everyday at 1 am edit the following files:&lt;/p&gt;</description></item><item><title>Defragment EXT4 file system</title><link>https://nagg.eu/defragment-ext4-file-system/</link><pubDate>Fri, 10 Apr 2015 16:55:03 +0000</pubDate><guid>https://nagg.eu/defragment-ext4-file-system/</guid><description>&lt;p&gt;EXT4 is usually pretty good at keeping files fragmentation at minimum, but, sometimes, especially if dealing with really huge files, some fragmentation may actually occur.&lt;br&gt;
Luckily EXT4 supports online defragmentation, command fsck displays, among other things, fragmentation percentage:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@fedora ~]$ fsck.ext4 -fvn /dev/sda1
e2fsck 1.42.12 (29-Aug-2014)
Warning! /dev/sda1 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

 429 inodes used (1.31%, out of 32768)
 **5 non-contiguous files (1.2%)**
 1 non-contiguous directory (0.2%)
 # of inodes with ind/dind/tind blocks: 0/0/0
 Extent depth histogram: 420
 45161 blocks used (34.46%, out of 131072)
 0 bad blocks
 1 large file

 402 regular files
 17 directories
 0 character device files
 0 block device files
 0 fifos
 0 links
 1 symbolic link (1 fast symbolic link)
 0 sockets
------------
 420 files
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The command e4defrag, which is contained in e2fsprogs, can be used to perform online defragmentation of EXT4 volumes.&lt;/p&gt;</description></item><item><title>Yum email updates notification</title><link>https://nagg.eu/yum-email-updates-notification/</link><pubDate>Sun, 15 Mar 2015 18:50:16 +0000</pubDate><guid>https://nagg.eu/yum-email-updates-notification/</guid><description>&lt;p&gt;Yum provides a very useful package called &lt;code&gt;yum-cron&lt;/code&gt;, its most publicized feature is the ability to enable yum to run nightly cron scheduled packages upgrades.&lt;br&gt;
I honestly don&amp;rsquo;t really think it is a good idea at all to let the system manage updates by himself but yum-cron can be used for another bunch of tasks, the most interesting one being: send an email if there are updates available.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install yum-cron
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Configuration is actually pretty simple.&lt;/p&gt;</description></item><item><title>Email server: Dovecot and Postfix</title><link>https://nagg.eu/email-server-dovecot-and-postfix/</link><pubDate>Fri, 20 Feb 2015 14:23:20 +0000</pubDate><guid>https://nagg.eu/email-server-dovecot-and-postfix/</guid><description>&lt;h2 id="postfix-configuration"&gt;Postfix configuration&lt;/h2&gt;
&lt;p&gt;Install the required software:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ yum install postfix postgrey dovecot fail2ban spamassassin 
spamass-milter-postfix opendkim
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Create TLS certificate, key and CA authority (replace &lt;code&gt;mail.domain.tld&lt;/code&gt; with a valid domain name):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ mkdir /etc/postfix/ssl
$ cd /etc/postfix/ssl
$ openssl genrsa -aes256 -out mail.domain.tld.key 4096
$ chmod 600 mail.domain.tld.key
$ openssl req -sha256 -new -key mail.domain.tld.key -out mail.domain.tld.csr
$ openssl x509 -sha256 -req -days 1825 -in mail.domain.tld.csr -signkey mail.domain.tld.key -out mail.domain.tld.crt
$ openssl rsa -in mail.domain.tld.key -out mail.domain.tld.key.nopass
$ mv mail.domain.tld.key.nopass mail.domain.tld.key
$ openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 -sha256
$ chmod 600 mail.domain.tld.key
$ chmod 600 cakey.pem
$ openssl dhparam -out dhparams.pem 4096
$ chmod 600 dhparams.pem
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Edit &lt;code&gt;main.cf&lt;/code&gt; file accordingly (the other lines should be ok by default).&lt;br&gt;
No SQL database is used, for user authentication postfix relies on Linux users,
email data are stored in &lt;code&gt;~/Maildir&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>KVM and PCI (VGA) passthrough</title><link>https://nagg.eu/kvm-and-pci-vga-passthrough/</link><pubDate>Mon, 19 Jan 2015 18:16:20 +0000</pubDate><guid>https://nagg.eu/kvm-and-pci-vga-passthrough/</guid><description>&lt;p&gt;First off, I failed so there will not be any kind of walk-through or guide.&lt;br&gt;
Hardware/software setup is sub-optimal and is for sure part of the problem for at least three reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;as primary display adapter I use an Nvidia GTX 750ti;&lt;/li&gt;
&lt;li&gt;I use Nvidia proprietary driver because nouveau support for newest graphic cards isn&amp;rsquo;t good (this is an understatement to say the least);&lt;/li&gt;
&lt;li&gt;it isn&amp;rsquo;t completely clear if Intel Z97 chipset supports VT-D or not and if it does on what level it does.&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
The whole configuration is:&lt;br&gt;
– Xeon E3-1241v3&lt;br&gt;
– Gigabyte Z97X-UD5H (BIOS F8)&lt;br&gt;
– Crucial DDR3 2×8 GB PC3-12800&lt;br&gt;
– Nvidia GTX 750ti :: host graphic card&lt;br&gt;
– ATI HD7950 :: VM graphic card&lt;br&gt;
&lt;!-- raw HTML omitted --&gt;Another issue is the complete lack of documentation on vfio_pci and VGA passthrough in general, even Fedora KVM related documentation is not up to date and make no mention of vfio kernel module; the best place to get information on the subject is a thread on the Arch Linux forum but even this time the whole process is not documented in a decent way.&lt;br&gt;
Anyway, I had this beefy HD7950 lying around and I thought: why not give VGA passthrough a try? After configuring the thing with information I found around the net I got prompted with the following error:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vfio: error, group 1 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;PCI slot isolation on this Gigabyte sucks, both the ATI (first slot) and Nvidia (second slot) – I tried every slot combination – are bound to the same IOMMU group and even patching and recompiling a custom kernel with ACS overrider and VGA arbiter lock patches didn&amp;rsquo;t really solve the issue.&lt;br&gt;
Just before giving up I took out the Nvidia and plugged in an old Matrox PCI graphic card, this way with the IOMMU group #1 used only for the ATI HD7950 I was able to start the VM so VGA passthrough works at least to some extent on this Gigabyte motherboard.&lt;br&gt;
Some questions like &lt;code&gt;an integrated graphic card will be bound to the same IOMMU group as PCI-E graphic cards?&lt;/code&gt; or &lt;code&gt;using two ATI would make any difference?&lt;/code&gt; remain unanswered.&lt;br&gt;
&lt;!-- raw HTML omitted --&gt;For reference I also gave Virtualbox a try since they advertise PCI passthrough too, when starting the VM the whole host system freeze…so no luck with it either.&lt;/p&gt;</description></item><item><title>Fedora 21 and MTP</title><link>https://nagg.eu/fedora-21-and-mtp/</link><pubDate>Wed, 10 Dec 2014 10:35:51 +0000</pubDate><guid>https://nagg.eu/fedora-21-and-mtp/</guid><description>&lt;p&gt;In order to be able to mount a MTP device (in my case it is a Oneplus One) in thunar file manager the following packages are needed: simple-mtpfs libmtp fuse fuse-libs gvfs-mtp. After installing the previous listed packages restart the system.&lt;br&gt;
Once installed the device can me be mounted with &lt;code&gt;simple-mtpfs _directory_&lt;/code&gt;, unmounted with &lt;code&gt;fusermount -u _directory_&lt;/code&gt; or mounted with thunar/gigolo/etc.&lt;/p&gt;</description></item><item><title>Android, Firefox and video corruption</title><link>https://nagg.eu/android-firefox-and-video-corruption/</link><pubDate>Tue, 09 Dec 2014 10:51:50 +0000</pubDate><guid>https://nagg.eu/android-firefox-and-video-corruption/</guid><description>&lt;p&gt;When playing html5 videos with my 1+1 (Cyanogenmod 11 – snapshot M11 – Android 4.4.4 with ART runtime) using Firefox 33.1 (version 34 does not fix the bug either) audio works fine while video is completely corrupted with grey artifacts all over the place.&lt;br&gt;
The problem appears to be quite common and is not only circumscribed to 1+1.&lt;br&gt;
The best workaround so far is type &lt;code&gt;about:config&lt;/code&gt; in the address bar, search for &lt;code&gt;media.stagefright.omxcodec.flags&lt;/code&gt; and set its value to &lt;code&gt;8&lt;/code&gt; to disable video hardware acceleration (0 lets android pick the best option and 16 forces hardware acceleration always on).&lt;br&gt;
Firefox 36, which is currently in nightly stage, should come with a patch that will actually solve the issue but I am not comfortable with running a browser in alpha/beta stage so for now I will live without video hardware acceleration.&lt;/p&gt;</description></item><item><title>OnePlus One</title><link>https://nagg.eu/oneplus-one/</link><pubDate>Tue, 14 Oct 2014 19:26:44 +0000</pubDate><guid>https://nagg.eu/oneplus-one/</guid><description>&lt;p&gt;Two weeks ago while wasting time on the interwebs I found by accident a couple of OnePlus One invites.&lt;br&gt;
To be honest I wasn&amp;rsquo;t planning on buying a new phone since my previous Nexus 4 is still serving me well but seeing OPO price (299 € for the 64 GB one) and specs I said: well, fuck it.&lt;br&gt;
So far I like it very much, the bigger screen makes general usage more enjoyable and battery life is significantly better than Nexus 4, it lasts 2 days without many problems.&lt;br&gt;
I can&amp;rsquo;t really comment on Cyanogenmod OPO edition or whatever the stock ROM is called since I used it for just the bunch of minutes necessarily to enable USB debug, unlock the bootloader and install recovery and stock Cyanogenmod 11 snapshot M11.&lt;br&gt;
One thing I for sure don&amp;rsquo;t like is the unlock screen, stock Cyanogenmod one is way way better but that&amp;rsquo;s pretty much it, can&amp;rsquo;t say more.&lt;/p&gt;</description></item><item><title>Get rid of SHA-1 – nginx, TLSv1.2, PFS and SHA-2</title><link>https://nagg.eu/get-rid-of-sha-1-nginx-tlsv1-2-pfs-and-sha-2/</link><pubDate>Tue, 09 Sep 2014 18:02:32 +0000</pubDate><guid>https://nagg.eu/get-rid-of-sha-1-nginx-tlsv1-2-pfs-and-sha-2/</guid><description>&lt;p&gt;Everyone who knows me a little bit knows how much I dislike Google but this time we really should thank them for taking a real step toward a more secure web.&lt;br&gt;
They are finally moving away from SHA-1 to the much more secure SHA-2, more info can be found here: &lt;!-- raw HTML omitted --&gt;&lt;a href="http://googleonlinesecurity.blogspot.it/2014/09/gradually-sunsetting-sha-1.html"&gt;http://googleonlinesecurity.blogspot.it/2014/09/gradually-sunsetting-sha-1.html&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;h3 id="-setup"&gt;.:. Setup&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;CentOS 6.5 x86_64
nginx/1.6.1
OpenSSL 1.0.1e-fips 11 Feb 2013
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Nginx developers provide an up to date repository (&lt;!-- raw HTML omitted --&gt;&lt;a href="http://wiki.nginx.org/Install"&gt;http://wiki.nginx.org/Install&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;)for CentOS:&lt;/p&gt;</description></item><item><title>pdnsd automatic startup Arch Linux</title><link>https://nagg.eu/pdnsd-automatic-startup-arch-linux/</link><pubDate>Sat, 30 Aug 2014 11:01:53 +0000</pubDate><guid>https://nagg.eu/pdnsd-automatic-startup-arch-linux/</guid><description>&lt;p&gt;I have this Arch Linux based ODROID-U3 I use as DLNA server, local web server…etc…and also as local DNS caching server.&lt;br&gt;
For some strange reason &lt;!-- raw HTML omitted --&gt;pdnsd&lt;!-- raw HTML omitted --&gt; doesn&amp;rsquo;t seem to start correctly on Arch Linux.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@server ~]# systemctl status pdnsd -l
● pdnsd.service - proxy name server
 Loaded: loaded (/usr/lib/systemd/system/pdnsd.service; enabled)
 Active: failed (Result: exit-code) since Sat 2000-01-01 20:02:07 CET; 14 years 7 months ago
 Process: 182 ExecStart=/usr/bin/pdnsd (code=exited, status=3)
 Main PID: 182 (code=exited, status=3)

Jan 01 20:02:06 server systemd[1]: Starting proxy name server...
Jan 01 20:02:06 server systemd[1]: Started proxy name server.
Jan 01 20:02:06 server pdnsd[182]: Error in config file (line 11): Failed to get IP address of eth0: Cannot assign requested address
Jan 01 20:02:07 server systemd[1]: pdnsd.service: main process exited, code=exited, status=3/NOTIMPLEMENTED
Jan 01 20:02:07 server systemd[1]: Unit pdnsd.service entered failed state.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Adding &lt;code&gt;After=network-online.target&lt;/code&gt; and &lt;code&gt;Wants=network-online.target&lt;/code&gt; in the Unit section of the startup script doesn&amp;rsquo;t seem to make any difference.&lt;br&gt;
So far the only workaround which really works is adding the line &lt;code&gt;After=multi-user.target&lt;/code&gt; in the service script.&lt;/p&gt;</description></item><item><title>Rockbox IPOD Classic mounted as read only</title><link>https://nagg.eu/rockbox-ipod-classic-mounted-as-read-only/</link><pubDate>Fri, 29 Aug 2014 11:14:13 +0000</pubDate><guid>https://nagg.eu/rockbox-ipod-classic-mounted-as-read-only/</guid><description>&lt;p&gt;So, I have this big ass fancy IPOD Classic, the stock OS is, like most of the apple stuff, dogshit; I installed &lt;!-- raw HTML omitted --&gt;Rockbox&lt;!-- raw HTML omitted --&gt; and gave him new life.&lt;br&gt;
Yesterday I had some strange errors during theme installation (RockboxUtility on Fedora X86_64), &lt;code&gt;files extraction failed&lt;/code&gt; or something like this.&lt;br&gt;
At first I thought of a corrupted Rockbox installation, after a bit of thinkering I found out the thing was just mounted as read only; tried to mount it manually with the &lt;code&gt;rw&lt;/code&gt; flag but still a no go.&lt;br&gt;
Umount the volume and run &lt;code&gt;fsck.vfat /dev/sd*2&lt;/code&gt; saved the day, now the IPOD is mountable as &lt;code&gt;rw&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>ejabberd XMPP server configuration guide</title><link>https://nagg.eu/ejabberd-xmpp-server-configuration-guide/</link><pubDate>Mon, 11 Aug 2014 16:08:21 +0000</pubDate><guid>https://nagg.eu/ejabberd-xmpp-server-configuration-guide/</guid><description>&lt;p&gt;I will be keeping this post up to date to keep track on how to configure and
mantain an ejabberd server working efficiently and secure. I strongly advise
any reader to read carefully what is written here and not just copy-and-paste
the configuration file.&lt;br&gt;
My blog also contains a bunch of other posts regarding ejabberd that are worth
giving a look at, use the search form.&lt;/p&gt;
&lt;h3 id="server"&gt;Server&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
CentOS 7.5.1804 x86_64
Erlang/OTP 21.1.1-1 x86_64
ejabberd 18.09
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="client"&gt;Client&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;
LineageOS 15.1 (Android Nougat)
Conversations 2.3.5+fcr
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="-installation-and-initial-configuration"&gt;.:. Installation and initial configuration&lt;/h3&gt;
&lt;p&gt;Download and install erlang (release numbers here may not be up to date):&lt;/p&gt;</description></item><item><title>ODROID-U3 network unreachable</title><link>https://nagg.eu/odroid-u3-network-unreachable/</link><pubDate>Wed, 16 Jul 2014 17:30:09 +0000</pubDate><guid>https://nagg.eu/odroid-u3-network-unreachable/</guid><description>&lt;p&gt;This issue seems to affect not only ODROID-U3 but many other devices and seems to be present on multiple OS too (Arch Linux ARM in my case).&lt;br&gt;
What happen is that after some hours/days of intense network traffic (e.g. a torrent client installed on the board) the system logs are flooded with errors and a page allocation error occurs which results in a network disconnection.&lt;br&gt;
In my case the tool journalctl report a moltitude of &lt;code&gt;smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped&lt;/code&gt; errors.&lt;br&gt;
The workarounds that &lt;em&gt;should&lt;/em&gt; (time will tell…) solve the issue consist in creating a file named for example &lt;code&gt;smsc.conf&lt;/code&gt; in &lt;code&gt;/etc/modprobe.d&lt;/code&gt; and put in it the following string: &lt;code&gt;smsc95xx turbo_mode=N&lt;/code&gt;&lt;br&gt;
Disabling turbo mode will prevent the network adapter from sending multiple frames at the same time, single file copy performace in my case is invariated (9.4 MB/s ~) with and without turbo mode and the errors from syslogs are completely gone.&lt;/p&gt;</description></item><item><title>Protect Transmission WEB GUI with nginx and HTTPS</title><link>https://nagg.eu/protect-transmission-web-gui-with-nginx-and-https/</link><pubDate>Thu, 19 Jun 2014 17:45:16 +0000</pubDate><guid>https://nagg.eu/protect-transmission-web-gui-with-nginx-and-https/</guid><description>&lt;p&gt;I have this small Odroid-U3 board hooked to a 2 TB USB HDD that every once in a while is also used to download torrents.&lt;br&gt;
Since quite often I manage it with a device connected to the LAN via wi-fi I am definitely a bit more confortable if the web interface of transmission is encrypted.&lt;br&gt;
Like many other times nginx come in our help.&lt;br&gt;
– Arch Linux ARM is the OS used –&lt;br&gt;
First of all, edit the following two lines of transmission config file:&lt;/p&gt;</description></item><item><title>Interesting read on Samba 4</title><link>https://nagg.eu/interesting-read-on-samba-4/</link><pubDate>Wed, 11 Jun 2014 16:07:25 +0000</pubDate><guid>https://nagg.eu/interesting-read-on-samba-4/</guid><description>&lt;p&gt;In the last month or so despite not having much spare time I spent a few hours reading an interesting book: &lt;!-- raw HTML omitted --&gt;Implementing Samba 4&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
It actually is more than a simple book, it is a well written step-by-step guide on how to install (on Debian 7, not that it makes much difference, the installation is really similar on CentOS for example), configure, manage and even migrate an existing Active Directory domain controller from Windows Server to GNU/Linux.&lt;br&gt;
It consists of 9 chapters each one covering the most important features of Samba 4; everything explained in the book is also integrated with code snippets, scripts and command line examples.&lt;br&gt;
I am sure this book will come real handy in case I will have to setup a GNU/Linux based AD domain controller.&lt;/p&gt;</description></item><item><title>Elantech touchpad and Mint 16</title><link>https://nagg.eu/elantech-touchpad-and-mint-16/</link><pubDate>Wed, 09 Apr 2014 15:58:43 +0000</pubDate><guid>https://nagg.eu/elantech-touchpad-and-mint-16/</guid><description>&lt;p&gt;Today I installed Linux Mint on an Asus X551CA laptop.&lt;br&gt;
Everything was fine except Mint being shit and the damn Elantech touchpad being even worse than Mint.&lt;br&gt;
I will never understand why the fuckers at Canonical and whoever is in charge of Mint development are always 6 months late with important updates like new kernels with added hardware support.&lt;br&gt;
The damn Elantech touchpad is supported since kernel 3.12.&lt;em&gt;, too bad Mint is stuck with 3.11.&lt;/em&gt;, so to make it working I had to manually install a newer kernel (version 3.13.9).&lt;br&gt;
Download the following packages…&lt;/p&gt;</description></item><item><title>Systemd mount volume at boot</title><link>https://nagg.eu/systemd-mount-volume-at-boot/</link><pubDate>Tue, 08 Apr 2014 17:11:54 +0000</pubDate><guid>https://nagg.eu/systemd-mount-volume-at-boot/</guid><description>&lt;p&gt;Since fstab (even with &lt;code&gt;&amp;lt;em&amp;gt;nofail&amp;lt;/em&amp;gt;&lt;/code&gt; option enabled) doesn&amp;rsquo;t seem to behave too good when trying to mount at boot something that isn&amp;rsquo;t actually plugged in (like an USB HDD) I realized it was a good idea to write a small script to run at startup which will be able to handle the situation a bit better.&lt;br&gt;
Arch Linux uses Systemd and even though a rc.local file can be created I decided to take the opportunity to understand a little bit of how it works and write a mount script for it.&lt;br&gt;
Following what&amp;rsquo;s written &lt;!-- raw HTML omitted --&gt;here&lt;!-- raw HTML omitted --&gt; it seems pretty easy, just write a text file and put it in &lt;code&gt;&amp;lt;em&amp;gt;/etc/systemd/system&amp;lt;/em&amp;gt;&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Avahi on Arch linux ARM</title><link>https://nagg.eu/avahi-error-on-arch-linux-arm/</link><pubDate>Thu, 03 Apr 2014 22:50:52 +0000</pubDate><guid>https://nagg.eu/avahi-error-on-arch-linux-arm/</guid><description>&lt;p&gt;From wikipedia: &lt;!-- raw HTML omitted --&gt;Avahi is a FLOSS Zero-configuration networking (zeroconf) implementation, including a system for multicast DNS/DNS-SD service discovery.&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
Long story short: Avahi is used to resolve hostnames of LAN devices.&lt;br&gt;
I happen to have an ARM box on which runs a pretty minimal Arch Linux installation.&lt;br&gt;
Installing Avahi is pretty easy:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@k* ~]# pacman -S avahi nss-mdns
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The latest version of Avahi (0.6.31-11) makes use of SO_REUSEPORT which is a new feature introduced in Linux kernel 3.9, the latest official Arch Linux kernel for my platform is 3.8.13.19-2-ARCH so when I try to start the service systemd reports the following error:&lt;/p&gt;</description></item><item><title>Nginx and password protected pages</title><link>https://nagg.eu/nginx-and-password-protected-pages/</link><pubDate>Wed, 05 Mar 2014 11:26:24 +0000</pubDate><guid>https://nagg.eu/nginx-and-password-protected-pages/</guid><description>&lt;p&gt;To password protect a directory &lt;code&gt;xyz&lt;/code&gt; and every file and subdirectory in it open the configuration file (nginx.conf or one of the virtual host configuration files) and add the following two lines:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;location /xyz/ {
 auth_basic &amp;#34;Restricted Area&amp;#34;;
 auth_basic_user_file conf.d/htpasswd;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;htpasswd file must be encrypted, it can be created using a tool named htpasswd.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@xenserver ~]# cd /etc/nginx/conf.d/
[root@xenserver ~]# htpasswd -b htpasswd user password
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>XenServer 6.2 and fake RAID1</title><link>https://nagg.eu/xenserver-and-fake-raid1/</link><pubDate>Thu, 27 Feb 2014 13:59:52 +0000</pubDate><guid>https://nagg.eu/xenserver-and-fake-raid1/</guid><description>&lt;p&gt;XenServer, like many other bare-metal hypervisors, only supports a small bunch of RAID controllers.&lt;br&gt;
The difference between it and for example VMware ESXi is that XenServer is pretty much a CentOS minimal install with some proprietary administration tools and a pretty decent remote manager (only for Windows as long as I know…) while ESXi is a completely proprietary closed source blob.&lt;br&gt;
XenServer being based on CentOS makes it possible to do many weird unsupported things, like installing it on a software fake RAID on ICH8R.&lt;br&gt;
To install it on a software RAID1 all we have to do is perform the usual installation (&lt;strong&gt;without configuring any local storage&lt;/strong&gt;) on a single HDD (/dev/sda), copy everything on a second drive (/dev/sdb) and use &lt;code&gt;mdadm&lt;/code&gt; to build a couple of RAID volumes.&lt;br&gt;
– I&amp;rsquo;m pretty much only reposting things I read somewhere, I don&amp;rsquo;t take any credit for this &lt;code&gt;guide&lt;/code&gt; –&lt;/p&gt;</description></item><item><title>FLAC+CUE to multiple tracks</title><link>https://nagg.eu/flac-plus-cue-to-multiple-tracks/</link><pubDate>Wed, 26 Feb 2014 14:08:25 +0000</pubDate><guid>https://nagg.eu/flac-plus-cue-to-multiple-tracks/</guid><description>&lt;p&gt;Let&amp;rsquo;s say we have a big single FLAC file we want to split into multiple files, we are on Fedora and we don&amp;rsquo;t want to use anything but the command line.&lt;br&gt;
First of all:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@fedora ~]$ yum install lame ffmpeg shntool cuetools
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To split the single FLAC file run:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[user@fedora ~]$ shnsplit -o flac -f file_name.cue -t &amp;#34;%n - %p - %t&amp;#34; file_name.flac
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This will produce n single files, &lt;code&gt;-t&lt;/code&gt; parameter is used to specify file name format (in this case: track_number – performer – track_name).&lt;br&gt;
To copy metadata from CUE to the single files run:&lt;/p&gt;</description></item><item><title>ZOWIE EC1 eVo CL on Linux</title><link>https://nagg.eu/zowie-ec1-evo-cl-on-linux/</link><pubDate>Tue, 28 Jan 2014 18:23:02 +0000</pubDate><guid>https://nagg.eu/zowie-ec1-evo-cl-on-linux/</guid><description>&lt;p&gt;One year ago or so I wrote about my experience using the Logitech G500 on Linux, I like the mouse a lot, especially the scroll wheel, but there were also a couple of issues I couldn&amp;rsquo;t live with:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;no driver for Linux, tuning DPI settings is a real PITA;&lt;/li&gt;
&lt;li&gt;the &lt;em&gt;fucker&lt;/em&gt; doesn&amp;rsquo;t track on close to every surface, be it a gadget mousepad you got for free at a meeting, a wooden table, a plastic-something table or a 20 € mousepad.&lt;br&gt;
I don&amp;rsquo;t want this post to be a rant against Logitech even if I think I&amp;rsquo;ve all the right to be at least a bit angry since I bought a quite high priced mouse which basically doesn&amp;rsquo;t work.&lt;br&gt;
Anyway, before using the G500 for 1 year or so I did like 6 years with a Razer Deathadder and I LOVED it (for the reference, it still works like the first day but is in really bad shape aesthetically speaking).&lt;br&gt;
This Zowie is pretty much a Razer Deathadder with the plus of being plug-and-play, no drivers, a button for switching between 450, 1150 and 2300 DPI and tracks on every mousepad I have.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>XScreenSaver and backlight</title><link>https://nagg.eu/xscreensaver-and-backlight/</link><pubDate>Tue, 21 Jan 2014 14:57:35 +0000</pubDate><guid>https://nagg.eu/xscreensaver-and-backlight/</guid><description>&lt;p&gt;Long story short: in Fedora 20 (and as far as I remember also 19 and 18) XScreenSaver doesn&amp;rsquo;t power off the monitor backlight when locking the screen.&lt;br&gt;
Being the lazy ass I am it took like me 2 or 3 years to find the motivation to solve the issue.&lt;br&gt;
It was actually pretty simple, no need to edit some obscure config file or else, in XFCE just click on: Application menu -&amp;gt; Settings -&amp;gt; Screensaver.&lt;br&gt;
A window will appear, select &lt;code&gt;Blank Screen Only&lt;/code&gt; in the Mode dropdown menu, then switch to the advanced tab, un-check &lt;code&gt;power Management Enabled&lt;/code&gt; and check &lt;code&gt; Quick Power-off in Blank Only Mode&lt;/code&gt;.&lt;br&gt;
This is it, now every time the screen locks the monitor backlight will also power off.&lt;/p&gt;</description></item><item><title>ejabberd and lost messages, possible “solutions”</title><link>https://nagg.eu/ejabberd-and-lost-messages-possible-solutions/</link><pubDate>Fri, 17 Jan 2014 14:30:12 +0000</pubDate><guid>https://nagg.eu/ejabberd-and-lost-messages-possible-solutions/</guid><description>&lt;p&gt;Being the tinfoil hat I am I obviously don&amp;rsquo;t like nor use whatsapp, some time ago I set up my own XMPP server and made a bunch of close friends switch to it.&lt;br&gt;
There are multiple clients for every platform, my personal preference goes to Xabber on Android and Pidgin on GNU/Linux; both support OTR encryption and all around are pretty decent clients.&lt;br&gt;
The only real issue we had so far is the very annoying problem of lost messages; if the internet connection is stable and decent the problem will very likely never come up, too bad that mobile phone internet connection is everything but stable.&lt;br&gt;
Every time there is a switch between EDGE, 3G, HSDPA and 4G the mobile phone is out of reach for some seconds (some time much more than just &lt;!-- raw HTML omitted --&gt;some&lt;!-- raw HTML omitted --&gt;).&lt;br&gt;
The switch between let&amp;rsquo;s say 3G and HSDPA is not predictable, so the client has physically no time to notificate the server that he is about to close the connection and on the other hand the server also has some trouble knowing if someone suddenly disconnect.&lt;br&gt;
Here comes &lt;!-- raw HTML omitted --&gt; XEP-199 a.k.a. XMPP ping&lt;!-- raw HTML omitted --&gt;, it is used to probe the clients connection state every X seconds, in my ejabbed (the XMPP server I use) configuration it is set to 60 seconds, so every 60 seconds the server ping every client, if after 32 additional seconds a client has not replied it will be considered as disconnected and any further message sent from everyone to it will be cached by the server and resent the next time the client will be back online.&lt;br&gt;
Enable XEP-199 in ejabberd is pretty easy…&lt;/p&gt;</description></item><item><title>CentOS 6.5 is out</title><link>https://nagg.eu/centos-6-5-is-out/</link><pubDate>Mon, 02 Dec 2013 17:56:42 +0000</pubDate><guid>https://nagg.eu/centos-6-5-is-out/</guid><description>&lt;p&gt;Ok, -everyone- knows it, this new version introduces a number of interesting updates, one above all: openssl version 1.0.1.&lt;br&gt;
Openssl is the library used by many programs to perform encryption tasks, for example it&amp;rsquo;s used by openssh, webservers, etc etc.&lt;br&gt;
The version included in CentOS 6.4 was really outdated, it doesn&amp;rsquo;t support TLS v1.2 for example, so I had to install it separately (which is a PITA to say the least).&lt;br&gt;
With the new version included in CentOS 6.5 TLS v1.2 works out of the box, keep up the good work CentOS team.&lt;/p&gt;</description></item><item><title>This is not a comeback</title><link>https://nagg.eu/this-is-not-a-comeback/</link><pubDate>Mon, 02 Dec 2013 17:34:32 +0000</pubDate><guid>https://nagg.eu/this-is-not-a-comeback/</guid><description>&lt;p&gt;It&amp;rsquo;s been quite a while since the last time I fired up the single stage (actually, it should be 290 days), let alone having a LN2 session.&lt;br&gt;
Past saturday I went to my grandfather&amp;rsquo;s place and got him a new PC since his precedent one is, to say the least, outdated.&lt;br&gt;
Anyway, since the old one has some interesting parts I decided to give it a try, hooked it to the single stage and baaaaaaam.&lt;/p&gt;</description></item><item><title>ipset, a clever and effective way to block indesired hosts</title><link>https://nagg.eu/ipset-a-clever-and-effective-way-to-block-indesired-hosts/</link><pubDate>Sun, 13 Oct 2013 16:06:38 +0000</pubDate><guid>https://nagg.eu/ipset-a-clever-and-effective-way-to-block-indesired-hosts/</guid><description>&lt;p&gt;This post is meant to be the sequel of the one I wrote one month ago about &lt;!-- raw HTML omitted --&gt;CentOS as router, transparent proxy, and much more&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
A big chunk of the precedent article is on how configure squid and squidGuard to act as a transparent proxy with URLs filtering capabilities.&lt;br&gt;
But there&amp;rsquo;s a problem with that: nowadays many sites (f4c3b00k.c0m just to name the most annoying one) are HTTPS.&lt;br&gt;
With HTTP one can really easily intercept a packet and read the payload (which contains the URL) but with HTTPS this is not possible anymore since the payload is encrypted.&lt;br&gt;
The only way to be able to read the payload of an HTTPS packet is doing a man-in-the-middle attack with a fake certificate, but that&amp;rsquo;s not advisable and you really don&amp;rsquo;t wanna do it.&lt;br&gt;
If, like in my case, we are not interested in what the users are doing but we just want them to not be able to access some sites/services/whatever ipset (combined with iptables) are the right tools for the job.&lt;br&gt;
iptables is a pretty powerful tool, the only real issue is that it doesn&amp;rsquo;t scale pretty well if the number of the rules is very big, and this is not a good thing since we probably want to blacklist thousands of IPs.&lt;br&gt;
And here comes ipset: with it it&amp;rsquo;s possible to manage huge blacklists without iptables slowing down.&lt;/p&gt;</description></item><item><title>miniDLNA on Fedora 19</title><link>https://nagg.eu/minidlna-on-fedora-19/</link><pubDate>Mon, 07 Oct 2013 17:33:39 +0000</pubDate><guid>https://nagg.eu/minidlna-on-fedora-19/</guid><description>&lt;p&gt;I got a new TV for the living room (a Panasonic Viera TX-L39E6E) which is DLNA capable.&lt;br&gt;
To be honest I&amp;rsquo;m also planning to build some kind of media center, maybe a really low power one, based on some kind of raspeberry-pi lookalike device.&lt;br&gt;
Anyway, for now I&amp;rsquo;m using my workstation (Fedora 19 x86_64) to stream video contents using miniDLNA.&lt;br&gt;
First of all, let&amp;rsquo;s install it with the usual:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo yum install minidlna
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, edit the following file:&lt;/p&gt;</description></item><item><title>CentOS as router, transparent proxy, and much more</title><link>https://nagg.eu/centos-as-router-transparent-proxy-and-much-more/</link><pubDate>Mon, 16 Sep 2013 18:59:19 +0000</pubDate><guid>https://nagg.eu/centos-as-router-transparent-proxy-and-much-more/</guid><description>&lt;p&gt;As usual, long story short: I&amp;rsquo;ve to setup a firewall to log traffic, block some stuff and do some other things.&lt;br&gt;
– epel repo is required –&lt;br&gt;
The system is made of a single CentOS machine with 2 physical network adapters:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;eth0, connected to WAN, static IP address 192.168.0.3&lt;/li&gt;
&lt;li&gt;eth1, connected to LAN, static IP address 10.0.0.1/24&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="-network-adapters-configuration"&gt;.:. Network adapters configuration&lt;/h2&gt;
&lt;p&gt;WAN network adapter:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@CentOS ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=&amp;#34;eth0&amp;#34;
BOOTPROTO=&amp;#34;none&amp;#34;
HWADDR=&amp;#34;**:**:**:**:**:**&amp;#34;
IPADDR=192.168.0.3
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS=192.168.0.1
IPV6INIT=&amp;#34;yes&amp;#34;
IPV6_AUTOCONF=&amp;#34;yes&amp;#34;
NM_CONTROLLED=&amp;#34;yes&amp;#34;
ONBOOT=&amp;#34;yes&amp;#34;
TYPE=&amp;#34;Ethernet&amp;#34;
UUID=&amp;#34;***&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;LAN network adapter:&lt;/p&gt;</description></item><item><title>CyanogenMod 10.1.2 high network traffic</title><link>https://nagg.eu/cyanogenmod-10-1-2-high-network-traffic/</link><pubDate>Mon, 02 Sep 2013 22:12:32 +0000</pubDate><guid>https://nagg.eu/cyanogenmod-10-1-2-high-network-traffic/</guid><description>&lt;p&gt;Ok, I know I fucked up, I know everyone who knows me just a little bit would never expect this, but I got my first mobile phone or, like they call them nowadays: a smartphone.&lt;br&gt;
I don&amp;rsquo;t like the &lt;code&gt;smartphone&lt;/code&gt; buzzword since I think the only smart ones here are the guys who are able to sell this stuff for hundreds of bucks to billions of people, so I&amp;rsquo;ll stick with the old and almost forgotten &lt;code&gt;mobile phone&lt;/code&gt; name.&lt;br&gt;
Anyway, I got this brand new Nexus 4, played with it a couple of days and then, following the official guide on CyanogenMod site, I installed the latest stable release of it (based on Android 4.2.2).&lt;br&gt;
– Why the Nexus 4? Because Nexus devices are the only Android phones worth to be bought. –&lt;br&gt;
CyanogenMod works great and with some programs (don&amp;rsquo;t fucking call them apps, seriously, don&amp;rsquo;t do it) installed (k-9 Mail, OpenVPN, BusyBox and JuiceSSH) I&amp;rsquo;m almost able to perform all the tasks I usually do with my workstation or Thinkpad.&lt;br&gt;
The only real issue is the process, or whatever it is, called &lt;code&gt;Google Services&lt;/code&gt; using an enormous amount of network resources without any apparent good reason.&lt;br&gt;
Luckily I&amp;rsquo;ve a friend called DuckDuckGo which in a bunch of seconds was able to tell me how to solve the issue.&lt;br&gt;
The problem seems to be connected to the Google Play Store which is completely retarded and keeps downloading some kind of system updates which obviously is not able to install since I&amp;rsquo;m not using the stock Android operating system provided by Google.&lt;br&gt;
The solution is pretty simple:&lt;/p&gt;</description></item><item><title>CentOS 6.4, QEMU+KVM</title><link>https://nagg.eu/centos-6-4-qemukvm/</link><pubDate>Mon, 19 Aug 2013 22:54:50 +0000</pubDate><guid>https://nagg.eu/centos-6-4-qemukvm/</guid><description>&lt;p&gt;It&amp;rsquo;s summer, it&amp;rsquo;s hot as hell, I am back home from mountains and I&amp;rsquo;ve &lt;em&gt;plenty&lt;/em&gt; of free time.&lt;br&gt;
Between a barbecue and the next one I spend my time playing with and learning new stuff: this week new stuff is called QEMU-KVM.&lt;br&gt;
Yesterday I also tried XenServer but to be honest I wasn&amp;rsquo;t impressed, it just look like to be an old version of CentOS minimal install with some custom repos and a fancy GUI.&lt;br&gt;
I played with it for just a bunch of hours, but the thing that just performing an installation on a software RAID-1 turned out to be a PITA to say the least is a clear sign that it&amp;rsquo;s not the best tool for &lt;em&gt;my&lt;/em&gt; needs.&lt;br&gt;
I swapped a couple of HDDs and in 2 minutes I went back to the already installed CentOS 6.4 with QEMU+KVM.&lt;br&gt;
The client machine, for what it matters, is my Fedora 19 x86_64 workstation, virsh and virt-manager the tools I use for remote administration tasks.&lt;br&gt;
Installing QEMU-KVM is just a matter of typing &lt;code&gt;yum install libvirtd qemu-kvm bla bla bla&lt;/code&gt;, &lt;code&gt;chkconfig libvirtd on&lt;/code&gt; and doing a system reboot (better safe than sorry).&lt;br&gt;
The tricky part &lt;em&gt;at least for me&lt;/em&gt; was setting up a damn bridged network interface, luckily I found &lt;!-- raw HTML omitted --&gt;this&lt;!-- raw HTML omitted --&gt; great writeup.&lt;br&gt;
I am going to report here what I did to setup a couple of bridged network interfaces on my setup.&lt;/p&gt;</description></item><item><title>nginx and TLS v1.2</title><link>https://nagg.eu/nginx-and-tls-v1-2/</link><pubDate>Sat, 10 Aug 2013 14:03:39 +0000</pubDate><guid>https://nagg.eu/nginx-and-tls-v1-2/</guid><description>&lt;p&gt;Given that SSL and TLS, especially v1.0, suffer from serious security issues (e.g. &lt;!-- raw HTML omitted --&gt;&lt;a href="https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS"&gt;https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;) I thought it would be a good idea to use the latest and more secure version of it: v1.2.&lt;br&gt;
On CentOS 6.4 the openssl version included is quite old and doesn&amp;rsquo;t support TLS v1.1 and 1.2.&lt;br&gt;
So, first of all we have to install the latest version 1.0.1e, it can be done compiling from sources or by adding a third party repository; I chose the latter.&lt;/p&gt;</description></item><item><title>WordPress admin, SSL, Apache + nginx</title><link>https://nagg.eu/wordpress-admin-ssl-apache-nginx/</link><pubDate>Tue, 30 Jul 2013 15:49:37 +0000</pubDate><guid>https://nagg.eu/wordpress-admin-ssl-apache-nginx/</guid><description>&lt;p&gt;Let&amp;rsquo;s say we have a WordPress blog and we would like to encrypt our login pages and the whole back-end of the site.&lt;br&gt;
There are many ways to do it, but since I already have a nginx instance configured as reverse proxy running in front of Apache I&amp;rsquo;ll use it to &lt;code&gt;protect&lt;/code&gt; my admin pages and logins.&lt;br&gt;
In this page I&amp;rsquo;ll not cover Apache&amp;rsquo;s configuration, which, by the way, is trivial to say the least, so please refer to this other post: &lt;!-- raw HTML omitted --&gt;Apache + nginx as reverse proxy&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
Using the configuration posted in the above&amp;rsquo;s link as starting point, to add SSL encryption to admin pages we should add a couple more bunch of lines of code.&lt;br&gt;
First of all, we must create our own Certificate Authority and issue a SSL certificate.&lt;br&gt;
Another option is buying a certificate, but I don&amp;rsquo;t trust CA (certificate forgery anyone?) and I don&amp;rsquo;t mind having a properly signed certificate for a page I am the only one accessing to.&lt;br&gt;
Follows a brief explanation on how to create a CA and issue a certificate.&lt;/p&gt;</description></item><item><title>Linux Kernel 3.10 and VMware Workstation 9</title><link>https://nagg.eu/linux-kernel-3-10-and-vmware-workstation-9/</link><pubDate>Sat, 27 Jul 2013 14:11:04 +0000</pubDate><guid>https://nagg.eu/linux-kernel-3-10-and-vmware-workstation-9/</guid><description>&lt;p&gt;A new Linux kernel version is released and guess what: VMware Workstation fucked up once again.&lt;br&gt;
The fix posted on the Arch Linux wiki is applicable also to Fedora 19, I&amp;rsquo;ll post it here for future reference.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ cd /tmp
$ curl -O http://pkgbuild.com/git/aur-mirror.git/plain/vmware-patch/vmblock-9.0.2-5.0.2-3.10.patch
$ curl -O http://pkgbuild.com/git/aur-mirror.git/plain/vmware-patch/vmnet-9.0.2-5.0.2-3.10.patch
$ cd /usr/lib/vmware/modules/source
# tar -xvf vmblock.tar
# tar -xvf vmnet.tar
# patch -p0 -i /tmp/vmblock-9.0.2-5.0.2-3.10.patch
# patch -p0 -i /tmp/vmnet-9.0.2-5.0.2-3.10.patch
# tar -cf vmblock.tar vmblock-only
# tar -cf vmnet.tar vmnet-only
# rm -r vmblock-only
# rm -r vmnet-only
# vmware-modconfig --console --install-all
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For more information: &lt;!-- raw HTML omitted --&gt;&lt;a href="https://wiki.archlinux.org/index.php/VMware#3.10_kernels"&gt;https://wiki.archlinux.org/index.php/VMware#3.10_kernels&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>DeaDBeeF compiled from source</title><link>https://nagg.eu/deadbeef-compiled-from-source/</link><pubDate>Thu, 04 Jul 2013 00:23:20 +0000</pubDate><guid>https://nagg.eu/deadbeef-compiled-from-source/</guid><description>&lt;p&gt;Yesterday was the big day, Fedora &lt;code&gt;Schrödinger's Cat&lt;/code&gt; 19 stable release was released.&lt;br&gt;
Since I had a free afternoon I decided to install it on my Thinkpad, and luckily everything was fine, even Anaconada installer issues with UMTS modules are gone, VMware Workstation 9.0.2 was working fine and so on.&lt;br&gt;
The only issue I had was with DeaDBeeF audio player, I am using it from quite a long time and I like it a lot; too bad it&amp;rsquo;s not included in the default Fedora&amp;rsquo;s repos nor in the epel ones so every time I have to install it manually.&lt;br&gt;
On the official site there&amp;rsquo;s no sign of an rpm built for Fedora 19 (ok, I understand it, it&amp;rsquo;s been released less than 48 hours ago) and I don&amp;rsquo;t seem to be able to install the one for Fedora 18, so I decided to compile it from source, and that was a PITA to say the least.&lt;br&gt;
The README file included in the source code tar.gz archive is not of much help since, even with all the listed dependencies installed, after a good 2 o 3 minutes of compilation I got only an half working program which shows up properly but doesn&amp;rsquo;t play any kind of audio file.&lt;br&gt;
Official documentation pages are also well hidden, but at least they are somewhat useful to compile the program so I guess it&amp;rsquo;s a good idea publicise them here.&lt;br&gt;
Needed dependencies (rpmfusion free and non-free required) are:&lt;/p&gt;</description></item><item><title>Apache + nginx as reverse proxy</title><link>https://nagg.eu/apache-nginx-as-reverse-proxy/</link><pubDate>Fri, 21 Jun 2013 16:11:13 +0000</pubDate><guid>https://nagg.eu/apache-nginx-as-reverse-proxy/</guid><description>&lt;p&gt;One of the things I was planning to do but never did is installing nginx as &lt;!-- raw HTML omitted --&gt;reverse proxy&lt;!-- raw HTML omitted --&gt; in front of Apache.&lt;br&gt;
nginx is present in the epel repos for CentOS, so the installation process is just a matter of:&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install nginx mysql mysql-server phpmyadmin httpd
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget -q -O - http://www.atomicorp.com/installers/atomic | sh
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install mod_rpaf
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;mkdir /etc/nginx/v.hosts
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/nginx/nginx.con
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;http {
 include v.hosts/*.conf;
 include /etc/nginx/mime.types;
 default_type application/octet-stream;
 
 log_format main &amp;#39;$remote_addr - $remote_user [$time_local] &amp;#34;$request&amp;#34; &amp;#39;
 &amp;#39;$status $body_bytes_sent &amp;#34;$http_referer&amp;#34; &amp;#39;
 &amp;#39;&amp;#34;$http_user_agent&amp;#34; &amp;#34;$http_x_forwarded_for&amp;#34;&amp;#39;;
 
 access_log /var/log/nginx/access.log main; 
 
 charset utf-8;
 keepalive_timeout 65;
 server_tokens off;
 sendfile on;
 tcp_nopush on;
 tcp_nodelay off;
 
# Default Server Block to catch undefined host names
# server {
# listen 80;
# server_name _; 
# root /usr/share/nginx/html;
# index index.html index.htm; }
}
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/sbin/nginx -t
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt; server {
 listen 80;
	 server_name nagg.eu;
 
 access_log off;
 error_log off;
 
 location / {
 proxy_pass http://127.0.0.1:8080;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header Host $host;
 proxy_redirect off;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_connect_timeout 90;
 proxy_send_timeout 90;
 proxy_read_timeout 90;
 client_max_body_size 10m;
 client_body_buffer_size 128k;
 proxy_buffer_size 4k;
 proxy_buffers 4 32k;
 proxy_busy_buffers_size 64k;
 }
 }
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;sudo /usr/sbin/nginx -t
service nginx restart
&lt;/code&gt;&lt;/pre&gt;&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;</description></item><item><title>Wireshark as unprivileged user</title><link>https://nagg.eu/wireshark-as-unprivileged-user/</link><pubDate>Fri, 07 Jun 2013 01:22:27 +0000</pubDate><guid>https://nagg.eu/wireshark-as-unprivileged-user/</guid><description>&lt;p&gt;Documentation on the Wireshark wiki seems to not be really up to date, or at least it&amp;rsquo;s not completely applicable to Fedora 18, so here is what I did to make it work.&lt;br&gt;
After installing Wireshark (and its GUI) with the usual:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install wireshark-gnome
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It should automatically create a group called &lt;code&gt;wireshark&lt;/code&gt; and we are supposed to add our user (mafio in my case) to this group:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;usermod -a -G wireshark mafio
newgrp wireshark ### used to force the new settings without having to logout/login
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then issue this last command:&lt;/p&gt;</description></item><item><title>OpenVPN server and CentOS</title><link>https://nagg.eu/openvpn-server-and-centos/</link><pubDate>Sun, 19 May 2013 17:52:52 +0000</pubDate><guid>https://nagg.eu/openvpn-server-and-centos/</guid><description>&lt;p&gt;OpenVPN is the de facto standard VPN free open source software; it is widely
used, tested, well documented and also included in the CentOS repos (EPEL).&lt;/p&gt;
&lt;h2 id="-server-side-configuration"&gt;.:. Server side configuration&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yum install openvpn easy-rsa dnsmasq
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When yum is done installing the required packages, copy the sample config file.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Uncomment/edit the following lines in /etc/openvpn/server.conf:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh4096.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push &amp;#34;redirect-gateway def1&amp;#34;
push &amp;#34;dhcp-option DNS 10.8.0.1&amp;#34;
keepalive 10 120
tls-auth ta.key 0 # This file is secret
key-direction 0
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-CBC-SHA256
auth SHA512
cipher AES-256-GCM
#comp-lzo # Disable LZO compression
persist-key
persist-tun
status openvpn-status.log
;log openvpn.log # disable log, optional
;log-append openvpn.log # disable log, optional
user nobody
group nobody
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now, create two folders easy-rsa/keys in /etc/openvpn and copy some files into
them:&lt;/p&gt;</description></item><item><title>Logitech G500 and Linux</title><link>https://nagg.eu/logitech-g500-and-linux/</link><pubDate>Wed, 01 May 2013 15:10:47 +0000</pubDate><guid>https://nagg.eu/logitech-g500-and-linux/</guid><description>&lt;p&gt;Despite not being a gamer at all I see having a decent mouse as an important thing, I spend 10 to 15 hours a day in front of my PC and probably for at least half of the time I&amp;rsquo;m using the mouse, so I don&amp;rsquo;t get why I should not have the best input peripherals on the market.&lt;br&gt;
My current mouse is a Logitech G500 (NP 910-001262), of course it being the best mouse on the market is an highly debatable thing since, along side with the keyboard, mouse choice is highly subjective.&lt;br&gt;
G500 is something you love or you hate, starting from the unusual scroll wheel, going to the sensor position to the strange side buttons there are a lot of uncommon things.&lt;br&gt;
This small write-up is not meant to be a review nor a guide, I would like it to be just a bunch of tips from someone who is using a G500 on a Linux box.&lt;br&gt;
First of all: this mouse has no angle snapping, or better, out of the box angle snapping is enabled (Logitech, why? seriously, none like angle snapping) but it can be disabled from drivers.&lt;br&gt;
Obviously drivers are available only for Windows (Logitech…) and I don&amp;rsquo;t seem to be able to change mouse settings from a virtual machine (VMware Workstation 9), anyway I didn&amp;rsquo;t put much time on this so it could be doable.&lt;br&gt;
So what I suggest is plug G500 in a physical Windows machine, install drivers and tune the settings, once you are done, save settings on G500 internal memory and plug it in your Linux machine.&lt;br&gt;
Once in Linux, which in my case is Fedora 18 and XFCE as DE, there are still acceleration issues which can be solved quite easily using &lt;code&gt;xinput&lt;/code&gt;.&lt;br&gt;
– Someone report that G500 sensor is &lt;code&gt;flawed&lt;/code&gt; and it has some kind of &lt;code&gt;built-in&lt;/code&gt; acceleration, honestly I don&amp;rsquo;t see it but could be that I&amp;rsquo;m just used to it –&lt;/p&gt;</description></item><item><title>XRDP and CentOS 6</title><link>https://nagg.eu/xrdp-and-centos-6/</link><pubDate>Fri, 26 Apr 2013 14:30:32 +0000</pubDate><guid>https://nagg.eu/xrdp-and-centos-6/</guid><description>&lt;p&gt;Yesterday&amp;rsquo;s night I installed a test machine to play with KVM and some other stuff, obviously the OS of choice is the trusty CentOS.&lt;br&gt;
I did a pretty minimal net-install but decided to install gnome desktop environment anyway because why not, not that it will be of much use, but still.&lt;br&gt;
Anyway, since the machine is an headless server it&amp;rsquo;s mandatory to be able to control it remotely, like the past 2 or 3 times, I installed XRDP expecting everything will be fine and working without any problem.&lt;br&gt;
And here is when I was wrong.&lt;br&gt;
It&amp;rsquo;s been quite a long time since the last time I installed XRDP somewhere, but I clearly remember it working flawless without any kind of manual configuration.&lt;br&gt;
I did the usual &lt;code&gt;yum install xrdp&lt;/code&gt;, confirm the installation, bla bla bla, &lt;code&gt;service xrdp start&lt;/code&gt; and both &lt;code&gt;sesman&lt;/code&gt; and &lt;code&gt;xrdp&lt;/code&gt; started with no problem.&lt;br&gt;
Then, when I went back to my workstation (Fedora 18 x64) and tried to connect to the server using Remmina Remote Desktop Client at first it seems to be working but once I typed user ID, password and press OK I got prompted the following error:&lt;/p&gt;</description></item><item><title>Linux Kernel 3.8.* – VMware failed to build vmci</title><link>https://nagg.eu/linux-kernel-3-8-vmware-failed-to-build-vmci/</link><pubDate>Sun, 03 Mar 2013 15:59:47 +0000</pubDate><guid>https://nagg.eu/linux-kernel-3-8-vmware-failed-to-build-vmci/</guid><description>&lt;p&gt;Every time a new Kernel goes out there seems to be a new issue with VMware Workstation 9.&lt;br&gt;
Today I updated a couple of Fedora 18 boxes, applied the usual workaround (I wrote a post about it one month ago or so) which consists in ONE OF the following steps:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ln -s /usr/src/kernels/_kernel_version_/include/generated/uapi/linux/version.h /usr/src/kernels/_kernel_version_/include/linux/version.h
### OR
cp /usr/src/kernels/_kernel_version_/include/generated/uapi/linux/version.h /lib/modules/_kernel_version_/build/include/linux/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Rebooted and then issued the usual command (vmware-modconfig –console –install-all) to rebuild the needed VMware modules just to find out that it isn&amp;rsquo;t possible to rebuild the VMCI module.&lt;br&gt;
On the VMware official forum I found a thread (&lt;!-- raw HTML omitted --&gt;&lt;a href="http://communities.vmware.com/message/2182440#2182440"&gt;http://communities.vmware.com/message/2182440#2182440&lt;/a&gt;&lt;!-- raw HTML omitted --&gt;) in which a user provides a patch.&lt;br&gt;
Apply the patch is fairly simple:&lt;/p&gt;</description></item><item><title>Fedora 18: TRIM and luks</title><link>https://nagg.eu/fedora-18-trim-and-luks/</link><pubDate>Fri, 01 Mar 2013 23:44:42 +0000</pubDate><guid>https://nagg.eu/fedora-18-trim-and-luks/</guid><description>&lt;p&gt;At a first glance enabling TRIM on a luks encrypted volume looks quite easy, and, as a matter of a fact it is.&lt;br&gt;
The shitstorm starts when trying to enable TRIM on the root volume, but, let&amp;rsquo;s go one step at a time.&lt;/p&gt;
&lt;p&gt;First of all, enabling trim on a regular not encrypted volume is pretty easy; just open the file &lt;code&gt;&amp;lt;em&amp;gt;/etc/fstab&amp;lt;/em&amp;gt;&lt;/code&gt; and add the flag &lt;code&gt;&amp;lt;em&amp;gt;discard&amp;lt;/em&amp;gt;&lt;/code&gt;.&lt;br&gt;
You may also want to add the flag &lt;code&gt;&amp;lt;em&amp;gt;noatime&amp;lt;/em&amp;gt;&lt;/code&gt; to prevent the OS from writing additional informations regarding last access date and such, it&amp;rsquo;s not strictly necessary but it will save the SSD&amp;rsquo;s cells some &lt;em&gt;useless&lt;/em&gt; write operations.&lt;br&gt;
The fstab file should look like this (here only one row is reported):&lt;/p&gt;</description></item><item><title>File search in Thunar</title><link>https://nagg.eu/file-search-in-thunar/</link><pubDate>Wed, 20 Feb 2013 23:44:40 +0000</pubDate><guid>https://nagg.eu/file-search-in-thunar/</guid><description>&lt;p&gt;Thunar 1.6.2 (the default XFCE file manager) doesn&amp;rsquo;t seems to provide any kind of built in search function by default.&lt;br&gt;
A good way to address this issue is use catfish (which is installed by default in Fedora 18), just open Thunar, go to &lt;code&gt;Edit&lt;/code&gt; and then &lt;code&gt;Custom Actions&lt;/code&gt; and add the following line: &lt;!-- raw HTML omitted --&gt;catfish –fileman=thunar –hidden –path=%f&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>Samba 4, simple directory sharing</title><link>https://nagg.eu/samba-4_simple_directory_sharing/</link><pubDate>Sat, 19 Jan 2013 17:23:11 +0000</pubDate><guid>https://nagg.eu/samba-4_simple_directory_sharing/</guid><description>&lt;p&gt;With Samba being the clusterfuck it is, every time a new version is released
you have to expect something to be messed up.&lt;br&gt;
This time they added a bunch of new features like MS Active Directory support,
too bad that now the simple directory sharing is broken/not working like it did
before.&lt;br&gt;
Something like 1 year ago I wrote a small guide about how to setup a Samba
share on Centos 6 and I used the same smb.conf file on more than 10 machines
without any problem since yesterday, when I tried it on my fresh installed
Fedora 18 (which uses Samba 4.0.0). First of all, in the &amp;ldquo;Standalone Server
Options&amp;rdquo; is reported that &amp;ldquo;security&amp;rdquo; options &amp;ldquo;share and server&amp;rdquo; are deprecated;
too bad I just used &amp;ldquo;share&amp;rdquo; to save me the hassle of setting up a new user and
stuff even if I would like the directory to be fully accessible by everyone
without any restriction.&lt;br&gt;
I tried it anyway with &amp;ldquo;security = share&amp;rdquo; but there was no way to make the
folder accessible, when trying to access the Samba share I always got a popup
in which I had to login.&lt;br&gt;
So, at the end of the story, like it or not, I had to setup a new user, create
a samba user and edit the &amp;ldquo;smb.conf&amp;rdquo; file.&lt;/p&gt;</description></item><item><title>Fedora 18 and VMware Workstation 9</title><link>https://nagg.eu/fedora-18-and-vmware-workstation-9/</link><pubDate>Thu, 17 Jan 2013 22:51:37 +0000</pubDate><guid>https://nagg.eu/fedora-18-and-vmware-workstation-9/</guid><description>&lt;p&gt;During the installation process of VMware Workstation 9 some modules need to be compiled but unfortunately Workstation 9.0.1 doesn&amp;rsquo;t seems to be able to find by itself the correct kernel headers directory.&lt;br&gt;
If kernel headers aren&amp;rsquo;t already installed, open the terminal and type as root: &lt;!-- raw HTML omitted --&gt;yum install kernel-*&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
Wait for the process to be completed and then: &lt;!-- raw HTML omitted --&gt;sudo cp /usr/src/kernels/&lt;em&gt;kernel_version&lt;/em&gt;.fc18.x86_64/include/generated/uapi/linux/version.h /lib/modules/&lt;em&gt;kernel_version&lt;/em&gt;.fc18.x86_64/build/include/linux/&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
This should do the trick.&lt;/p&gt;</description></item><item><title>Thunar file manager slow to start</title><link>https://nagg.eu/thunar_file_manager_slow_to_start/</link><pubDate>Sun, 06 Jan 2013 13:23:51 +0000</pubDate><guid>https://nagg.eu/thunar_file_manager_slow_to_start/</guid><description>&lt;p&gt;The first time I open Thunar (the default XFCE file manager) in fedora 17 it takes up to 30 seconds to show up.&lt;br&gt;
This is most likely due to Thunar trying – without being able – to mount a remote network folder, to solve the issue just open &lt;code&gt;&amp;lt;em&amp;gt;/usr/share/gvfs/mounts/network.mount&amp;lt;/em&amp;gt;&lt;/code&gt; and set &lt;code&gt;&amp;lt;em&amp;gt;AutoMount=false&amp;lt;/em&amp;gt;&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Thinkpad E320 and Fedora 17</title><link>https://nagg.eu/thinkpad-e320-and-fedora-17/</link><pubDate>Tue, 18 Dec 2012 21:05:21 +0000</pubDate><guid>https://nagg.eu/thinkpad-e320-and-fedora-17/</guid><description>&lt;p&gt;First of all, forget everything about the myth: &lt;code&gt;Loonix, it just werks&lt;/code&gt;. Close to nothing &lt;code&gt;werks&lt;/code&gt; out of the box, tho with a good amount of patience and a bit of tinkering there are good chances to make the whole thing working in a decent manner.&lt;br&gt;
First of all, the box I&amp;rsquo;ve here is a Thinkpad Edge 320 – 12983RG and I&amp;rsquo;ve installed Fedora 17 x64 with XFCE as DE.&lt;br&gt;
It comes with the integrated Intel HD3000, no discrete graphic card and UMTS module (I didn&amp;rsquo;t tested if it&amp;rsquo;s working or not).&lt;/p&gt;</description></item><item><title>Beyerdynamic DT-770 PRO</title><link>https://nagg.eu/beyerdynamic-dt-770-pro/</link><pubDate>Wed, 07 Nov 2012 23:16:44 +0000</pubDate><guid>https://nagg.eu/beyerdynamic-dt-770-pro/</guid><description>&lt;p&gt;I still can&amp;rsquo;t believe I finally made it, I quite lost the count of the times I told myself &lt;code&gt;I have to buy a damn pair of headphones&lt;/code&gt; but I never actually did it.&lt;br&gt;
Finally, after my usual one year or so of digging through specialized forums and stuff, 2 weeks ago, I bought my first pair of decent headphones.&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>First place 3rd stage Hwbot “October rush”</title><link>https://nagg.eu/first-place-3rd-stage-hwbot-october-rush/</link><pubDate>Fri, 19 Oct 2012 13:47:10 +0000</pubDate><guid>https://nagg.eu/first-place-3rd-stage-hwbot-october-rush/</guid><description>&lt;p&gt;This month Hwbot.org&amp;rsquo;s competition is called &lt;code&gt;October rush&lt;/code&gt;, it consists in 7 or 8 stages each one lasting only three days.&lt;br&gt;
Because of my last year or so in which I was close to completely inactive I don&amp;rsquo;t have anymore much hardware, one of the few things I still have is my socket 939 setup and a bunch of single core A64 CPUs.&lt;br&gt;
The third stage of the competition was 3DMark 01 with the limitation of using a socket 939 CPU, which is exactly what I have.&lt;/p&gt;</description></item><item><title>FX-55 Clalwhammer and LN2</title><link>https://nagg.eu/fx-55-clalwhammer-and-ln2/</link><pubDate>Mon, 10 Sep 2012 10:03:47 +0000</pubDate><guid>https://nagg.eu/fx-55-clalwhammer-and-ln2/</guid><description>&lt;p&gt;Two weeks ago I gave my golden FX-55 Clalwhammer a run at LN2 but looks like I&amp;rsquo;ve not yet blogged about it; let&amp;rsquo;s do it then.&lt;br&gt;
Since the first try using the single stage the CPU proved to be a good one but being a 130 nm voltage whore didn&amp;rsquo;t made the pretesting easy.&lt;br&gt;
With the help of LN2 everything became easier and luckily the CPU loves volt and cold (the below result was made with a CPU temperature of around -100° C).&lt;/p&gt;</description></item><item><title>VMware vSphere ESXi license</title><link>https://nagg.eu/vmware-vsphere-esxi-license/</link><pubDate>Mon, 03 Sep 2012 22:28:59 +0000</pubDate><guid>https://nagg.eu/vmware-vsphere-esxi-license/</guid><description>&lt;p&gt;I&amp;rsquo;m not so used to ESXi, it&amp;rsquo;s been a while since the last time I installed it and when today I had to do it I forgot where I have to put the damn license.&lt;br&gt;
VMware did a very good job hiding the menu and the official site is good at everything but giving useful informations, so after a while I found by myself where the license page was.&lt;br&gt;
Guess I should post the procedure here for future reference.&lt;/p&gt;</description></item><item><title>A question of reliability – 2.0</title><link>https://nagg.eu/a-question-of-reliability-2-0/</link><pubDate>Sun, 02 Sep 2012 21:33:16 +0000</pubDate><guid>https://nagg.eu/a-question-of-reliability-2-0/</guid><description>&lt;p&gt;Lately I had an interesting debate with a friend of mine, he works for a small company which works in the IT field.&lt;br&gt;
For obvious reason I will not write the name of the company nor who my friend is, anyway, what they do is the classical technical service and maintenance, servers machine deployment, system administration and so on.&lt;br&gt;
These days everyone needs some kind of IT Infrastructure, everyone needs an ERP system, etc etc; obviously they have quite a lot of work with small/medium business companies.&lt;br&gt;
Close to every machine they sell (except the classic desktop PCs) have a RAID; obviously I second that having a RAID is a must-have in every machine used for &lt;code&gt;enterprise tasks&lt;/code&gt; but I also argue that there is RAID and RAID.&lt;br&gt;
Many of the HDDs they use are going into NAS or low level server machine, to keep the price low and don&amp;rsquo;t have to add an external RAID controller the HDDs need to be SATA.&lt;br&gt;
Nothing wrong with using SATA drives, but similarly as what can be said for RAIDs we can say that there is disk and disk.&lt;br&gt;
For instance, if looking at the Western Digital HDDs lineup, it&amp;rsquo;s clear that they have two completely different series: the desktop one and the enterprise one.&lt;br&gt;
These drives have different firmwares, different warranty policies and different error handling capabilities; so, another time, if the drive is going to be part of a RAID it&amp;rsquo;s very advisable to pick one of the enterprise series (Red, RAID edition or Velociraptor) because they are meant to be capable of working non-stop 24/7, they have 5 years warranty, they have a better error handling and on top they support TLER.&lt;br&gt;
So, how people who are supposed to know what they are doing sell NAS with Caviar Blue HDDs instead of Caviar Red/RE? Why they don&amp;rsquo;t know what TLER is? Why they keep using RAID-5 when everyone know it&amp;rsquo;s crap?&lt;br&gt;
My friend said they have more than 250 machines build with consumer desktop drives configured in RAID and so far they are having no problem; what they are failing to realize is that sooner or later the crap they are selling will explode under their chairs.&lt;br&gt;
The whole internet is full of people complaining about consumer disks with not TREL support being dropped from RAIDs, same can be said for RAID-5 in which a second disk fails during the array rebuilding.&lt;br&gt;
They remind me of the retards which use 4 HDDs in RAID-1 thinking that this way their data are safe, probably they don&amp;rsquo;t know that RAID is not a backup and that a broken controller or a much simpler file system corruption could possibly make their 4 disks mirror completely useless.&lt;br&gt;
Well, guess sooner or later they will learn it the hard way…&lt;/p&gt;</description></item><item><title>Execution time :: C &amp; Win</title><link>https://nagg.eu/execution-time-c-win/</link><pubDate>Sun, 05 Aug 2012 11:14:18 +0000</pubDate><guid>https://nagg.eu/execution-time-c-win/</guid><description>&lt;p&gt;Once in a while I happen to have to know how much time a certain function needs to be executed.&lt;br&gt;
While many programming languages have built in functions (time in Python, System.nanoTime() in Java and so on) to get this information, C doesn&amp;rsquo;t appear to have one.&lt;br&gt;
There is timec.h but it appears to be quite inaccurate, so if extremely high accuracy is needed we have to rely on something else; the downside is that these much more reliable libraries are not platform independent.&lt;br&gt;
For Windows platform Microsoft suggests to use &lt;!-- raw HTML omitted --&gt;QueryPerformanceFrequency&lt;!-- raw HTML omitted --&gt; method and so I did.&lt;br&gt;
Digging through Google I found a post in which a guy posted some C++ code he used to query system time, I&amp;rsquo;ve adapted it and used it in my program.&lt;br&gt;
For future reference I&amp;rsquo;m going to post it here.&lt;/p&gt;</description></item><item><title>Nerd gonna nerd</title><link>https://nagg.eu/nerd-gonna-nerd/</link><pubDate>Sat, 04 Aug 2012 20:27:39 +0000</pubDate><guid>https://nagg.eu/nerd-gonna-nerd/</guid><description>&lt;p&gt;Today officially started my summer holiday, 5 days ago I had my last exam at university and now finally I&amp;rsquo;ve the time to do all the things I can&amp;rsquo;t find the time to do the rest of the year.&lt;br&gt;
The majority of the people on earth awaits the summer holiday to completely stop doing what they do the entire year, pack things up and go away from home for as much as they can.&lt;br&gt;
On the contrary, I like what I do the entire year and I don&amp;rsquo;t feel the need of doing something else; I just want to have the time to &lt;code&gt;play&lt;/code&gt; with computer in a different way of what I have to do for university.&lt;br&gt;
While everyone is thinking about sea, mountain, sports, etc etc I think what kind of program I may develop, what system I would like to build and so on.&lt;br&gt;
This year my summer holiday is two weeks in Livigno; as usual I could not resist to get with me my laptop (actually there are two, mine and my father one&amp;rsquo;s) and a bunch of other hi-tech stuff.&lt;br&gt;
So, this is what my setup will look like for the next two weeks:&lt;/p&gt;</description></item><item><title>Major upgrade</title><link>https://nagg.eu/major-upgrade/</link><pubDate>Fri, 20 Jul 2012 16:42:23 +0000</pubDate><guid>https://nagg.eu/major-upgrade/</guid><description>&lt;p&gt;OK, not exactly an upgrade, but still an improvement over my precedent configuration.&lt;br&gt;
You have to know that I used for a long time – years – a dual monitor configuration, something like 6 months ago one of the two monitors went nut and I had to replace it.&lt;br&gt;
Obviously it was already discontinued by some time so I had to replace both my monitors, I decided to buy a single Dell U2412M (&lt;!-- raw HTML omitted --&gt;here is the post I wrote&lt;!-- raw HTML omitted --&gt;).&lt;br&gt;
Nothing to complain about the monitor itself, also, I&amp;rsquo;ve no problem to say that so far it is one of the best purchases I ever did; the &lt;code&gt;problem&lt;/code&gt; is that one monitor can be as big as you want but two smaller monitor are always better than one.&lt;br&gt;
Explain why two smaller monitors are always better than a bigger one isn&amp;rsquo;t simple at all, but trust me, everyone who have used at least one time a multiple monitor configuration will be of the same thinking.&lt;br&gt;
So today, after had used for 6 months or so a single monitor I bought another one; Below you can see a photo.&lt;/p&gt;</description></item><item><title>My daily dose of anti-apple</title><link>https://nagg.eu/my-daily-dose-of-anti-apple/</link><pubDate>Mon, 25 Jun 2012 21:01:44 +0000</pubDate><guid>https://nagg.eu/my-daily-dose-of-anti-apple/</guid><description>&lt;p&gt;Today I had the bad luck to have to deal with a damn Macbook Pro on which I need to install a retarded software (IBM Rational Software Architect).&lt;br&gt;
Despite RSA becoming one of the worst piece of crapware I&amp;rsquo;ve ever seen this time it wasn&amp;rsquo;t the problem.&lt;br&gt;
The Macbook was one of the latest model, a 13″ one equipped with a Core i5 Sandy Bridge CPU and an awesome &lt;code&gt;a certain amount of GB&lt;/code&gt; 5400 RPM hard disk drive…everything sold at the fair price of 1200 or so €.&lt;br&gt;
As long as you use it just for what close to every Apple user use it – going on Facebook, synchronizing music tracks on an IPod and iCloud – everything is fine (tho, you can do these things with every PC/MAC/whatever-you-want not older than 6 or 7 years).&lt;br&gt;
Anyway, if you happen to be one of those bunch of unlucky people on earth who pretend to use it for something different you will quickly face with the complete inability of this, I repeat, 1200 € worth machine, to provide, at least decent performances.&lt;br&gt;
Starting from the point that many programs (like RSA) don&amp;rsquo;t exist for OSX you have to virtualize a Windows or Linux OS, and here comes the problem.&lt;br&gt;
The 5400 RPM HDD is so crappy that when you fire up the virtual machine everything slow down to a level similar to a 10 years old PC with a P4 Willamette and a 20 GB PATA HDD.&lt;br&gt;
I really don&amp;rsquo;t get why people keep buying those completely overpriced piece of garbage apple is selling; this Macbook Pro hardware wise is very similar to my Thinkpad but it costs much more (something like +80/90% over the price of the Thinkpad), is way slower, have an higher weight and miss some important features (like external battery, UMTS module, matte display, trackpad, etc etc).&lt;br&gt;
Keep up the good work apple…&lt;/p&gt;</description></item><item><title>My new love: Python</title><link>https://nagg.eu/my-new-love-python/</link><pubDate>Fri, 25 May 2012 17:32:30 +0000</pubDate><guid>https://nagg.eu/my-new-love-python/</guid><description>&lt;p&gt;Past Friday&amp;rsquo;s afternoon, around 3 pm, I was at university, specifically I was in one of the libraries and I was reading a book titled &lt;code&gt;Concurrency&lt;/code&gt;; it&amp;rsquo;s about engineering concurrent systems using the modelling software LTSA and then write the actual program in Java.&lt;br&gt;
While reading I was also talking with two friends of mine about a problem another friend found on a book; to make a long story short, the problem was about balancing a predefined non-balanced random function.&lt;br&gt;
One of these two friends showed us how he solved the problem, the algorithm he wrote was written in Python.&lt;br&gt;
When some hours later I was back home I did thought it was finally the time to install a Python interpreter and start playing with it. So I did it.&lt;br&gt;
I got myself the latest release of Python interpreter and the Pydev plugin for Eclipse IDE, installation and configuration on Windows is incredibly straight forward, just a matter of pressing install and next 2 or 3 times.&lt;br&gt;
I don&amp;rsquo;t have any Python book then as first programming guide I used the well known (at least here in Italy) html.it site, if you are not Italian just google Python and you will find a huge amount of interesting PDFs and guides of any kind.&lt;br&gt;
After had digged trough the html.it Python guide in a bunch of hours (guess not more than 2 or 3) I felt myself just like the guy in this comics:&lt;/p&gt;</description></item><item><title>AMD and LN2</title><link>https://nagg.eu/amd-and-ln2/</link><pubDate>Sat, 28 Apr 2012 15:57:58 +0000</pubDate><guid>https://nagg.eu/amd-and-ln2/</guid><description>&lt;p&gt;Yesterday&amp;rsquo;s afternoon and today I had a LN2 trip with two AMD setup.&lt;br&gt;
I was aiming to break the 7 GHz wall with the trusty Phenom II 955 B.E. and improve my precedent results on socket 939 with the Opteron 148.&lt;br&gt;
I failed in reaching 7 GHz with the 955, tho I managed to improve just a little bit my Super-pi 1M score…still not satisfied with it but it is better than nothing.&lt;br&gt;
Also got the time to play with UCbench in which I got quite easily the first place on the bot in the 955 B.E. category.&lt;/p&gt;</description></item><item><title>Opteron 148 and 32M, lot of…time</title><link>https://nagg.eu/opteron-148-and-32m-lot-of-time/</link><pubDate>Fri, 27 Apr 2012 10:41:10 +0000</pubDate><guid>https://nagg.eu/opteron-148-and-32m-lot-of-time/</guid><description>&lt;p&gt;What is the best way to kill time when you have close to nothing to do ?&lt;br&gt;
Easy, run Super-pi 32M using an CPU which takes more than 20 minutes to complete each run…so I did it and killed with easy 8+ hours trying to pull, tho without success, a sub 21 min 32M run with my trusty Opteron 148.&lt;br&gt;
Anyway, the result is still kinda worth to be posted here.&lt;/p&gt;</description></item><item><title>Crucial M4, new FW released</title><link>https://nagg.eu/crucial-m4-new-fw-released/</link><pubDate>Thu, 12 Apr 2012 12:49:02 +0000</pubDate><guid>https://nagg.eu/crucial-m4-new-fw-released/</guid><description>&lt;p&gt;Yesterday Crucial released a new firmware for its M4 SSD series, the new version (codename 000F) is supposed to address some issues which used to appear when using the SSD connected to certain SATA/SAS controllers and generally improve stability and reliability.&lt;br&gt;
Changes between version 0309 and 000F include the following changes:&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;</description></item><item><title>Opteron 148 and LN2</title><link>https://nagg.eu/opteron-148-and-ln2/</link><pubDate>Sun, 08 Apr 2012 10:15:45 +0000</pubDate><guid>https://nagg.eu/opteron-148-and-ln2/</guid><description>&lt;p&gt;Ten days ago I had an LN2 session together with this Opteron 148; finally today I&amp;rsquo;ve the time to write a post here and talk about that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;!-- raw HTML omitted --&gt;.:. SETUP:&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; Opteron 148 cabrio @1.5*123% volt – CABYE 0536GPMW&lt;br&gt;
&lt;strong&gt;cooling:&lt;/strong&gt; Guglio&amp;rsquo;s CPU pot 2.0 (CPU) and 1.0 (RAM)&lt;br&gt;
&lt;strong&gt;MB:&lt;/strong&gt; DFI nForce 4 Ultra-D – bios 623-2&lt;br&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; Corsair PC3500C2 2×256 MB :: Winbond BH-5 – yellow slots&lt;br&gt;
&lt;strong&gt;VGA:&lt;/strong&gt; nvidia 6200 LE 256 MB PCI-E&lt;br&gt;
&lt;strong&gt;HDD:&lt;/strong&gt; Kingston SSDnow 60 GB sata2&lt;br&gt;
&lt;strong&gt;PSU:&lt;/strong&gt; PCP&amp;amp;C 1200&lt;br&gt;
&lt;strong&gt;OS:&lt;/strong&gt; 2k3 server TW&lt;/p&gt;</description></item><item><title>Opteron 148 meet Super-PI 32M</title><link>https://nagg.eu/opteron-148-meet-super-pi-32m/</link><pubDate>Sat, 24 Mar 2012 16:10:48 +0000</pubDate><guid>https://nagg.eu/opteron-148-meet-super-pi-32m/</guid><description>&lt;p&gt;This is the moment we are all waiting for (ok, maybe not really everyone 😀 ).&lt;br&gt;
Anyway, after approximately 10 hours of tweaking I came up with a quite interesting result.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;!-- raw HTML omitted --&gt;.:. SETUP:&lt;!-- raw HTML omitted --&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; Opteron 148 cabrio @ 325×10.5 1.5*123 volt – CABYE 0536GPMW&lt;br&gt;
&lt;strong&gt;cooling:&lt;/strong&gt; Single Stage phase change&lt;br&gt;
&lt;strong&gt;MB:&lt;/strong&gt; DFI nForce 4 Ultra-D – bios 623-2&lt;br&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; Corsair PC3500C2 2×256 MB @ 260 MHz 1.5-2-2-3 1t 3.7 volt:: Winbond BH-5 – yellow slots&lt;br&gt;
&lt;strong&gt;VGA:&lt;/strong&gt; nvidia 6200 LE 256 MB PCI-E&lt;br&gt;
&lt;strong&gt;HDD:&lt;/strong&gt; Kingston SSDnow 60 GB sata2&lt;br&gt;
&lt;strong&gt;PSU:&lt;/strong&gt; PCP&amp;amp;C 1200&lt;br&gt;
&lt;strong&gt;OS:&lt;/strong&gt; 2k3 server TW&lt;/p&gt;</description></item><item><title>AMD Socket 939 revival</title><link>https://nagg.eu/amd-socket-939-revival/</link><pubDate>Sat, 17 Mar 2012 11:20:15 +0000</pubDate><guid>https://nagg.eu/amd-socket-939-revival/</guid><description>&lt;p&gt;Two weeks ago or so I bought a DFI nForce 4 Ultra-D, when it was here I had some fun playing with an old Athlon 64 3000+ core Winchester and some crappy DDR modules.&lt;br&gt;
I had also a bunch of Winbond BH-5 kits, too bad they are all dead or semi-dead, so I had to stick with a kit of Micron value PC2700 cas 2.5.&lt;br&gt;
Luckily a friend of mine was so glad to send me a kit of Corsair PC3500 cas 2 BH-5, so in the next few days I will have a decent kit of RAM to play with super-pi.&lt;br&gt;
Other than this, 1 week ago I bought an Opteron 148 for 8.49 € plus 1.50 € of shipping cost, yesterday it arrived.&lt;br&gt;
At a first try it was good for 3200+ MHz aircooled, so definetly deserves a try at lower temperature.&lt;/p&gt;</description></item><item><title>Dell U2412M – 24″ 16:10 IPS panel</title><link>https://nagg.eu/dell-u2412m-24-1610-ips-panel/</link><pubDate>Wed, 15 Feb 2012 21:36:31 +0000</pubDate><guid>https://nagg.eu/dell-u2412m-24-1610-ips-panel/</guid><description>&lt;p&gt;As you can see, it&amp;rsquo;s quite a long time since my last overclocking related post here.&lt;br&gt;
Even the one I&amp;rsquo;m writing now is not about overclocking, nothing of the latest hardware is interesting at all, so I don&amp;rsquo;t really bother go out and buy something.&lt;br&gt;
When nothing interesting is on the market the things I do is: upgrade the daily use rig.&lt;br&gt;
I&amp;rsquo;m not one of those interested in uber dupah performance, I&amp;rsquo;m alot more focused on reliability, so I never use the latest stuff for my DU rig…better to have 20 % less of performance but well tested and widely used components.&lt;br&gt;
Because of what I wrote before, 1 week ago I bought a new monitor, a Dell U2412M.&lt;/p&gt;</description></item><item><title>Samba server on CentOS 6.2</title><link>https://nagg.eu/samba-server-on-centos-6-2/</link><pubDate>Thu, 02 Feb 2012 20:20:21 +0000</pubDate><guid>https://nagg.eu/samba-server-on-centos-6-2/</guid><description>&lt;p&gt;Think I never mentioned it but I have a small home server, it was built with a c2d E6600, an Intel G965 mobo and some HDDs.&lt;br&gt;
Since 2 weeks ago I was using Ubuntu then I decided it was time to try something better and more challenging than Ubuntu, my choice was CentOS.&lt;br&gt;
Why use CentOS ? Because it&amp;rsquo;s one of the best &lt;code&gt;enterprise class distro&lt;/code&gt; with 7 years support and have a good ammount of interesting features like services GUI manager and iptables GUI.&lt;br&gt;
I don&amp;rsquo;t consider myself a &lt;code&gt;Unix pro&lt;/code&gt; nor a noob but I&amp;rsquo;ve to say that the first touch with this distro wasn&amp;rsquo;t the best.&lt;br&gt;
In fact I had lots of trouble trying to install CentOS from USB drive, after had lost 1 hour or so I took a DVD drive, burned the ISO on a DVD and installed from it.&lt;br&gt;
When finally I was able to get into the OS the first thing I did was installing XRDP to remote control the machine from one of my other PCs.&lt;br&gt;
I also installed Transmission torrent client, added some iptables rules and did some other things.&lt;br&gt;
Everything was quite easy except the installation and configuration of Samba server, to be honest I didn&amp;rsquo;t remember well what I did to make it works on Ubuntu but here on CentOS it gave me some troubles.&lt;br&gt;
Google this time wasn&amp;rsquo;t that helpful, there aren&amp;rsquo;t much info or guides about Samba on CentOS, so I think I should write here how I made it works.&lt;br&gt;
First of all, we have to install Samba, open the terminal, get admin privileges and type: &amp;lt;pre name=&amp;ldquo;code&amp;rdquo; class&amp;quot;ruby&amp;quot;&amp;gt; yum install samba&lt;/p&gt;</description></item><item><title>Intel Rapid Storage and SSD</title><link>https://nagg.eu/intel-rapid-storage-and-ssd/</link><pubDate>Wed, 01 Feb 2012 18:04:42 +0000</pubDate><guid>https://nagg.eu/intel-rapid-storage-and-ssd/</guid><description>&lt;p&gt;Today I happen to read somewhere about Intel Rapid Storage and SSD performance.&lt;br&gt;
Well, I thought I had already installed it on my notebook but it seems I was wrong, so I did a quick google reserarch and downloaded the software from the &lt;!-- raw HTML omitted --&gt;Intel site&lt;!-- raw HTML omitted --&gt;.&lt;br&gt;
Someone says this software boosts SSD performance, so I did the usual ATTO benchmark to have a previous / after comparison.&lt;/p&gt;</description></item><item><title>Crucial M4 – FW 0309</title><link>https://nagg.eu/crucial-m4-fw-0309/</link><pubDate>Sat, 14 Jan 2012 09:42:42 +0000</pubDate><guid>https://nagg.eu/crucial-m4-fw-0309/</guid><description>&lt;p&gt;Yesterday Crucial released a new firmware for the whole M4 SSD lineup, the update over 0009 version was needed because of the so called &lt;code&gt;5200 hours bug&lt;/code&gt;.&lt;br&gt;
Basicly, every M4 after a power on time of 5200 hours or so will start to hung every hour, this is because something is messed up with the SMART data.&lt;br&gt;
This new firmware resolve this bug.&lt;br&gt;
Yesterday&amp;rsquo;s evening I&amp;rsquo;ve upgraded at this new version of the firmware the M4-128GB I&amp;rsquo;ve in my Thinkpad.&lt;br&gt;
Crucial doesn&amp;rsquo;t provide an update tool different from an ISO image to be burned on a CD but I&amp;rsquo;ve no DVD drive in my laptop.&lt;br&gt;
So I dusted of &lt;!-- raw HTML omitted --&gt;UNetbootin&lt;!-- raw HTML omitted --&gt; and created a bootable USB drive with the update tool inside.&lt;br&gt;
Then normally booted up from USB and followed the &lt;code&gt;how to flash guide&lt;/code&gt; Crucial provide on its site.&lt;br&gt;
There was no need to set SATA controller in IDE mode, I&amp;rsquo;ve performed the update while in AHCI mode without any kind of issue.&lt;/p&gt;</description></item><item><title>8 GHZ the hard way</title><link>https://nagg.eu/8-ghz-the-hard-way/</link><pubDate>Thu, 12 Jan 2012 13:35:18 +0000</pubDate><guid>https://nagg.eu/8-ghz-the-hard-way/</guid><description>&lt;p&gt;After the epic fail experience with Faildozer I dediced to use the latest litres of LN2 to freeze the P4 631 I had laying on the desk for some time.&lt;br&gt;
Honestly I didn&amp;rsquo;t expected to get such high clock.&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;strong&gt;SETUP:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; Pentium 4 631 – VCORE 1.95 volt – VTT 1.5 – VPLL 1.6&lt;br&gt;
&lt;strong&gt;cooling:&lt;/strong&gt; Guglio&amp;rsquo;s CPU pot rev 2.0&lt;br&gt;
&lt;strong&gt;MB:&lt;/strong&gt; Rampage Extreme&lt;br&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; Crucial PC3-12800 D9-GTS – 1.9 volt – white slot&lt;br&gt;
&lt;strong&gt;VGA:&lt;/strong&gt; nvidia 6200 LE 256 MB PCI-E&lt;br&gt;
&lt;strong&gt;HDD:&lt;/strong&gt; seagate 7200.10 160 GB sata&lt;br&gt;
&lt;strong&gt;PSU:&lt;/strong&gt; PCP&amp;amp;C 1200&lt;br&gt;
&lt;strong&gt;OS:&lt;/strong&gt; 2k3 server&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>CVF, FX-4100, Hypers and LN2</title><link>https://nagg.eu/cvf-fx-4100-hypers-and-ln2/</link><pubDate>Tue, 10 Jan 2012 22:02:57 +0000</pubDate><guid>https://nagg.eu/cvf-fx-4100-hypers-and-ln2/</guid><description>&lt;p&gt;Last friday and saturday I had a 2 day LN2 trip with the CVF and my FX-4100 crap CPU.&lt;br&gt;
Results were not good due to the crappy CPU but at least I had fun pushing the setup at its limit.&lt;br&gt;
I only had time to test max frequency and do some super-pi 32M, then the CPU died.&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;strong&gt;SETUP:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;CPU:&lt;/strong&gt; FX-4100 – vcore 2.05 volt, vmch 1.65 volt&lt;br&gt;
&lt;strong&gt;cooling:&lt;/strong&gt; Guglio&amp;rsquo;s CPU pot rev 2.0&lt;br&gt;
&lt;strong&gt;MB:&lt;/strong&gt; Crosshair V Formula – bios 1003&lt;br&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; G.Skill RipjawX 2133C8 – Elpida MNH-E-Hyper – 1.9 volt – red slots&lt;br&gt;
&lt;strong&gt;VGA:&lt;/strong&gt; nvidia 6200 LE 256 MB PCI-E&lt;br&gt;
&lt;strong&gt;HDD:&lt;/strong&gt; seagate 7200.10 160 GB sata&lt;br&gt;
&lt;strong&gt;PSU:&lt;/strong&gt; PCP&amp;amp;C 1200&lt;br&gt;
&lt;strong&gt;OS:&lt;/strong&gt; Win XP sp3 &amp;amp; 2k3 server TW&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>CVF, FX-4100, Hypers and lots of fun</title><link>https://nagg.eu/cvf-fx-4100-hypers-and-lots-of-fun/</link><pubDate>Mon, 02 Jan 2012 18:32:41 +0000</pubDate><guid>https://nagg.eu/cvf-fx-4100-hypers-and-lots-of-fun/</guid><description>&lt;p&gt;I couldn&amp;rsquo;t resist, I&amp;rsquo;ve picked up a CVF to replace the crappy MSI 990FX.&lt;br&gt;
Today I had the time to do some tests along with a set of G.Skill 2133c8 and an FX-4100.&lt;/p&gt;
&lt;p&gt;_&lt;strong&gt;CPU:&lt;/strong&gt; FX-4100 (later I will write down the batch) – vcore 1.5 volt, vmch 1.65 volt&lt;br&gt;
&lt;strong&gt;cooling:&lt;/strong&gt; single stage on CPU, everything else air cooled&lt;br&gt;
&lt;strong&gt;MB:&lt;/strong&gt; Crosshair V Formula – bios 1003&lt;br&gt;
&lt;strong&gt;RAM:&lt;/strong&gt; G.Skill RipjawX 2133C8 – Elpida MNH-E-Hyper – 1.9 volt – red slots&lt;br&gt;
&lt;strong&gt;VGA:&lt;/strong&gt; nvidia 6200 LE 256 MB PCI-E&lt;br&gt;
&lt;strong&gt;HDD:&lt;/strong&gt; seagate 7200.10 160 GB&lt;br&gt;
&lt;strong&gt;PSU:&lt;/strong&gt; PCP&amp;amp;C 1200 _&lt;/p&gt;</description></item><item><title>2012, here we are…</title><link>https://nagg.eu/2012-here-we-are/</link><pubDate>Sun, 01 Jan 2012 22:12:32 +0000</pubDate><guid>https://nagg.eu/2012-here-we-are/</guid><description>&lt;p&gt;With some hours of delay I&amp;rsquo;m here writing a post about past year, new year, what I did and what I will do.&lt;br&gt;
University in the past year went quite well, I also had the most importart thing: the healt; so really, I&amp;rsquo;ve nothing to complain about.&lt;br&gt;
My usual Christmas trip ended just a bunch of hours ago, now I&amp;rsquo;m back at home with some new toys to play with.&lt;br&gt;
I just love to go away the week across Christmas and Sylvester&amp;rsquo;s day, this way I don&amp;rsquo;t have the problem to go buy presents, I&amp;rsquo;ve not the problem to decide what to do the last night of the year.&lt;br&gt;
I just know these days I will be away from home and it makes me feel so relaxed.&lt;br&gt;
Doing presents is something I really don&amp;rsquo;t understand, I&amp;rsquo;m used to go out and buy whatever I need, probably I&amp;rsquo;m lucky, but I already have what I want.&lt;br&gt;
Starting from that point, whatever present someone will give me will be something I don&amp;rsquo;t need, just think how much stuff you have in your house that you never use and you have just because someone give it to you; if someone is importart for me he will still be it even if he didn&amp;rsquo;t gave me a present on my birthday or Christmas.&lt;br&gt;
Coming to the present I gave to myself, it is an ASUS Crosshair V Formula; after 3 dead MSI I decided it was time to buy something well know for being good.&lt;/p&gt;</description></item><item><title>no questions, X58 Classified rocks</title><link>https://nagg.eu/no-questions-x58-classified-rocks/</link><pubDate>Sun, 18 Dec 2011 00:01:02 +0000</pubDate><guid>https://nagg.eu/no-questions-x58-classified-rocks/</guid><description>&lt;p&gt;After quite long time away from overclock due to the fact that the current generation hardware looks quite crappy and every other things I have except the trusty 1366 setup is dead or half dead I decided to forget performance and every other thing, go back 6 months and play with the i7-950 togheter with THE MOTHERBOARD, also known as EVGA X58 SLI Classified E760, and my favourite Elpida Hyper kit when &lt;code&gt;low&lt;/code&gt; frequency and tight timings are required, the Super Talent Chrome 2000 cas8.&lt;/p&gt;</description></item><item><title>AMD Faildozer…errr…Bulldozer</title><link>https://nagg.eu/amd-faildozer-errr-bulldozer/</link><pubDate>Thu, 08 Dec 2011 11:42:56 +0000</pubDate><guid>https://nagg.eu/amd-faildozer-errr-bulldozer/</guid><description>&lt;p&gt;Even if the new AMD Bulldozer CPUs are crap I had an FX-4100 on the desk for 1 month or so, finally 2 days ago I had my 3rd MSI 990FXA-GD80 (the precedent two died cause MSI is a dumbass company that is not able to pull out a working bios).&lt;br&gt;
This third board came with an old 11.2 bios that doesn&amp;rsquo;t support Bulldozer CPUs, so I had to plug in a Deneb chip and flash another bios to be finally able to play with my new CPU.&lt;br&gt;
The first bios I tried was the last one, 11.6, and well, it&amp;rsquo;s crap.&lt;br&gt;
When having OC fail the bios corrupt itself so when you press del during post to enter the bios it works for 2 or 3 seconds and then freeze.&lt;br&gt;
At least it&amp;rsquo;s still possible to reflash it, so till the next OC fail the mobo will work normally.&lt;br&gt;
11.5 was even worse, it killed one of my precedent mobo, so better to don&amp;rsquo;t retry it.&lt;br&gt;
11.4 seems the best so far, but still have corruption issues, in fact 1 hour ago, after 3 or 4 hours of usage, it killed my third board.&lt;br&gt;
11.7 is on the MSI site, but I can&amp;rsquo;t try it cause the mobo is gone.&lt;br&gt;
11.0, 11.1 and 11.2 don&amp;rsquo;t support Bulldozer CPUs.&lt;br&gt;
So, if you plan to use a Bulldozer chip better to buy something else cause MSI is not able to make a properly working bios.&lt;br&gt;
If you use a Deneb/Thuban stick with the 11.2 that so far is the best and as long as I know have not curruption issues.&lt;br&gt;
I don&amp;rsquo;t wanna see this mobo anymore, will see if the retailer will be so willing to give me something else instead of this piece of crap.&lt;br&gt;
They don&amp;rsquo;t have C5F, so probably I will go for Gigabyte 990FXA-UD5 hoping it&amp;rsquo;s at least a bit better than this MSI.&lt;/p&gt;</description></item><item><title>Lenovo Thinkpad E320 + Crucial M4-128</title><link>https://nagg.eu/lenovo-thinkpad-e320-crucial-m4-128/</link><pubDate>Wed, 30 Nov 2011 23:36:09 +0000</pubDate><guid>https://nagg.eu/lenovo-thinkpad-e320-crucial-m4-128/</guid><description>&lt;p&gt;Finally the SSD I bought 2 weeks ago has arrived, it&amp;rsquo;s a Crucial M4 128 GB already equipped with the 0009 firmware.&lt;br&gt;
The biggest problem I had to face when installing it was the thickness of the SSD, the notebook just supports 0.7 cm hard disk but the SSD is 0.9 cm thick.&lt;br&gt;
After some thinking I came up at an end: there is no way to put it inside the notebook with its damn metallic case.&lt;br&gt;
So, I took the circuit out of its metallic case and just put it inside the notebook.&lt;br&gt;
To hold it in the right position I had to use a thin foil of neoprene.&lt;/p&gt;</description></item><item><title>A new – REAL – mobile device</title><link>https://nagg.eu/a-new-real-mobile-device/</link><pubDate>Mon, 31 Oct 2011 10:20:14 +0000</pubDate><guid>https://nagg.eu/a-new-real-mobile-device/</guid><description>&lt;p&gt;After one year or so without a notebook I decide the time to buy a new one is arrived.&lt;br&gt;
I&amp;rsquo;ve to say that I didn&amp;rsquo;t remember how difficult is to find a decent laptop, 99.999999 % of them are crap.&lt;br&gt;
Quite everyone have a damn glossy monitor, a completly useless DVD drive (good only to make the weight grow) and no E-Sata port.&lt;br&gt;
Other than that you can add that 85 % of them are also made with very poor materials, superthin plastic case and a very annoying flexible keyboard.&lt;br&gt;
After some days of googling I came up on the Lenovo site, the site itself could be better but their notebooks are exactly what I&amp;rsquo;m looking for.&lt;br&gt;
The name is different, Lenovo instead of IBM, but building quality is still exactly the same.&lt;br&gt;
So I bought a Lenovo Thinkpad E320, a nice 650 € 13″ machine equiped with Sandy Bridge i3-2310M, 7200 rpm HDD, 4 GB of DDR3, E-Sata, 3 USB 2.0, UMTS module, matt display and 6 cell battery.&lt;br&gt;
This is it:&lt;/p&gt;</description></item><item><title>A new DUD Bitch in da house</title><link>https://nagg.eu/a-new-dud-bitch-in-da-house/</link><pubDate>Thu, 20 Oct 2011 20:39:15 +0000</pubDate><guid>https://nagg.eu/a-new-dud-bitch-in-da-house/</guid><description>&lt;p&gt;&lt;!-- raw HTML omitted --&gt;– updated on 22.10.2010 –&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;I think the title is self-explicative…I got a new 2600K and just like the precedent ones it’s a piece of crap.&lt;br&gt;
The only ‘interesting’ thing is that this is a quite rare CPU, in fact it comes from Costa Rica plants.&lt;br&gt;
It max out at the poor frequency of 5460 MHz, just a bunch of MHz higher than my precedent CPU.&lt;/p&gt;</description></item><item><title>I am out, that’s my choice</title><link>https://nagg.eu/i-am-out-thats-my-choice/</link><pubDate>Sun, 02 Oct 2011 10:04:31 +0000</pubDate><guid>https://nagg.eu/i-am-out-thats-my-choice/</guid><description>&lt;p&gt;I am not so good in this kind of things, so I will be as short as possible.&lt;br&gt;
After a careful consideration I decided to leave my role on HwProject.net and also leave the HwBot team, the only reason of my choice – and I would like to remark that this is ONLY MY choice – is because I need more freedom to say, write and do what I want without constantly having a big stone over my head that is only waiting to fall down and kill me.&lt;br&gt;
While not having anymore any role on that site I will keep posting as simple user and I will continue to bench with my fellows overclocker.&lt;br&gt;
As last thing I would like to remark that from today everything I will say, write and do will be just my thoughts, so if you have something to tell me write an e-mail or a PVT on xs, HwBot or HwProject.&lt;br&gt;
Avoid to call frank or everyone else to ask for my telephone number because none will give it to you.&lt;/p&gt;</description></item><item><title>Gigabyte sucks, that’s why</title><link>https://nagg.eu/gigabyte-sucks-thats-why/</link><pubDate>Mon, 26 Sep 2011 13:25:34 +0000</pubDate><guid>https://nagg.eu/gigabyte-sucks-thats-why/</guid><description>&lt;p&gt;Nothing new to test, no exams at university, no news about bulldozer…so today I would like to talk about Gigabyte.&lt;br&gt;
In the last years I had lots of these overpriced piece of crap.&lt;br&gt;
The only one that was worth to be bought was the P35-DS4, after than this I had only a bunch of piece of crap.&lt;br&gt;
EP45-Extreme – had 3 of these – the first one arrived borked and never worked like it should do (especially considering it was 250 €), the second one after 4 months started to act weird, refuse to post with 4 DIMMs installed, then worked only with a set of Cellshock and finally died.&lt;br&gt;
Had to RMA it, after the usual month, I had the replacement, put it in a case and after 4 months did exactly the same as the precedent one.&lt;br&gt;
After sending it to Gigabyte I had to wait 2 months and half to get back the same board with a paper where they say that this piece of crap worked well.&lt;br&gt;
I asked what kind of RAM they used but nothing, they didn&amp;rsquo;t reply my e-mail.&lt;br&gt;
After had sent some more e-mails I was contacted by the local Gigabyte PR, he told me to go at a local shop and ask them to try my board and write somewhere that they certificate that the board doesn&amp;rsquo;t work…ya, sure, they will do this for me, especially for free…&lt;br&gt;
I already wasted my money for the first RMA, I told them that I didn&amp;rsquo;t wanna waste no more but they kept bullshitting me.&lt;br&gt;
They also told me that if I want they can pick up the board and send it to someone that could repair it, but this isn&amp;rsquo;t for free and I will have to pay the expense.&lt;br&gt;
To sum it up: I sent them the board, after 2 month I had it back but it doesn&amp;rsquo;t worked properly, so I sent it to them for the second time and this time they said the fucking board was working correctly.&lt;br&gt;
After this someone contacted me and told me probably they could repair the board but I had to pay for it…&lt;br&gt;
That day I told myself that this would have been my last Gigabyte.&lt;br&gt;
For the next 2 years I didn&amp;rsquo;t touched none of them, but when Sandy-Whore hitted the shelf I was forced to buy a Giga because they were the only one good for 3dmark 01.&lt;br&gt;
I bought 2 Gigabyte, P67A-UD4 and later an UD5, and this was a BIG mistake.&lt;br&gt;
The first UD4 arrived borked, VCORE different from AUTO and the mobo didn&amp;rsquo;t post…WTF, another DOA piece of crap.&lt;br&gt;
RMA it and after 2 months I had a new one, this time at least I can change voltages…but…Elpida Hyper RAMs didn&amp;rsquo;t work well and can&amp;rsquo;t boot at high BCLK…and today, 26-09-2011 the situation is still the same because in Gigabyte they are lazy and doesn&amp;rsquo;t support their overpriced piece of crap.&lt;br&gt;
Then I bought the UD5, same shit as UD4 but higher price…well played Giga…&lt;br&gt;
I sold both these piece of crap and bought an EVGA, that is working ALOT better.&lt;br&gt;
But there&amp;rsquo;s more, a bunch of months ago I recieved a Gigabyte g1.assassin, a 450 € uber high end mobo designed specifically for gamers – I have to argue even on that because a real gamer doesn&amp;rsquo;t looks at graphic details –&lt;br&gt;
By the way, this beast arrived, I paired it with my i7-950 and one of my triple channel Elpida Hyper kit but after a bunch of minutes I found out that all my high end DDR3 kits refuse to work properly over 1700 MHz.&lt;br&gt;
I also noticed that there was only a single LAN port managed by KillerNIC and that was a very bad choice because this thing is well known for its slow data transfer rate and its high CPU usage even if compared with the cheapo Realtek every other mainboard have.&lt;br&gt;
I did my tests and wrote the review but when was the time to publish it the guys of Gigabyte HQ in Taiwan said that we wrote bullshits, that their KillerNIC wasn&amp;rsquo;t a piece of crap like everyone know and that they managed to run the memory at the astonishing frequency of 1900 MHz – that is well below the rated speed of my kits specifically built for Intel 1366 platform –&lt;br&gt;
So, beware because I&amp;rsquo;ve the feeling they do this way with alot of reviewers, if you write what they like to read it&amp;rsquo;s ok, if you didn&amp;rsquo;t then you are not allowed to publish the review.&lt;br&gt;
Moral of the story: keep yourself as far as possible from Gigabyte crap.&lt;/p&gt;</description></item><item><title>Today is a good day</title><link>https://nagg.eu/today-is-a-good-day/</link><pubDate>Tue, 13 Sep 2011 17:49:38 +0000</pubDate><guid>https://nagg.eu/today-is-a-good-day/</guid><description>&lt;p&gt;Yeah, today is a good day, I woke up at 10 am, messed around for 2 hours and then had lunch.&lt;br&gt;
After lunch at 1 pm I had my 30 minutes of sports at TV and then went back to my PC and…and…that&amp;rsquo;s what I saw:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://valid.canardpc.com/cache/screenshot/1980971.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;HwBot.org link&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;First thing I though was: WTF is that? another dumb fake result…&lt;br&gt;
But when I saw who is the guy that posted I IMMEDIATELY changed my mind, this wasn&amp;rsquo;t a fake, the guy is Macci, an overclocking legend who is working for AMD from many years.&lt;br&gt;
That&amp;rsquo;s a BIG news for us, 8.4 GHz with a B2 step ES CPU is something way way better than what I expected.&lt;br&gt;
8.4 GHz at liquid elium will likely be something around 8 GHz at LN2 and around 7.6/7.7 GHz for the single thread benchmarks.&lt;br&gt;
Now, with all the fucktard limitations SandyBitch crap have and SandyBitch-E crap will have I&amp;rsquo;m starting to think that finally AMD can have a CPU to compete in the extreme overclocking world.&lt;br&gt;
If the IPC of these new BD is 15/20% better than thuban/deneb stuff these CPUs will spank Intel really hard especially looking at how low priced this stuff is and how high priced the Intel crap is.&lt;br&gt;
I will buy some of these CPU at the day one, that&amp;rsquo;s for sure&lt;/p&gt;</description></item><item><title>New nerdy stuff…woot</title><link>https://nagg.eu/new-nerdy-stuff-woot/</link><pubDate>Sun, 14 Aug 2011 18:22:23 +0000</pubDate><guid>https://nagg.eu/new-nerdy-stuff-woot/</guid><description>&lt;p&gt;Beside my latest AMD addiction I&amp;rsquo;m still thinking about getting my Sandy Bridge stuff working properly.&lt;br&gt;
Three weeks ago I bought an EVGA P67 SLI, I had a BIG hope on this mobo and after some testing I finally can say that I found a decent mobo for Sandy.&lt;br&gt;
This one boots straight at high BCLK, is quite solid and at least as fast as the Gigacraps I had before, now I&amp;rsquo;ve only to find a decent CPU.&lt;br&gt;
Elpida Hypers are still making trouble with 32M, but nothing is perfect, so…take what you have and be happy with it.&lt;br&gt;
Last week I bought a kit of G.Skill RipjawX pc17000 cas 8 assuming to get an Elpida BBSE kit and finally get that damn 32M running, but even this time I failed.&lt;br&gt;
They came with a nice 8 layer green PCB, blue heatsink and a fancy RAM cooler but looking at the fourth picture below it&amp;rsquo;s clear they aren&amp;rsquo;t BBSE…the chips have blunt corners and this means only one thing: Elpida Hypers.&lt;br&gt;
Like I expected they are a no go for super-pi 32M, but they shine for 3ds, so I&amp;rsquo;m quite satisfied.&lt;/p&gt;</description></item><item><title>AMD 955 @ 6960 MHz :: round 2</title><link>https://nagg.eu/amd-955-6960-mhz-round-2/</link><pubDate>Sat, 06 Aug 2011 10:30:18 +0000</pubDate><guid>https://nagg.eu/amd-955-6960-mhz-round-2/</guid><description>&lt;p&gt;I&amp;rsquo;m not having great luck with sandy&amp;rsquo;s CPU, so, when I saw this stuff on sale in a local online shop I tought: why not ?&lt;br&gt;
Last weekend I had a long LN2 session but due to moisture and other issues I cannot managed to push this setup to its limit.&lt;br&gt;
So, today I went to the LN2 dealer and refilled the dewar, go back home, had lunch and then start clocking.&lt;/p&gt;</description></item><item><title>AMD 955 is on fire :: round 1</title><link>https://nagg.eu/amd-955-is-on-fire-round-1/</link><pubDate>Mon, 01 Aug 2011 08:05:29 +0000</pubDate><guid>https://nagg.eu/amd-955-is-on-fire-round-1/</guid><description>&lt;p&gt;After the small prologue of 3 weeks ago, here is the first round with my new uber cheapo and uber flucking crazy AMD stuff.&lt;br&gt;
Past weekend I and my HwProject.net fellows had 48 hours no stop benching.&lt;br&gt;
While they were focused on their HD5870 lightning + Sandy rig I was testing my new AMD stuff (much more fun than Sandy TBH).&lt;br&gt;
Despite the huge amount of time wasted cause of the ice and moisture I managed to get some good results too, and if the HD with 2k3 server wouldn&amp;rsquo;t had decided to die there would have been something more…&lt;/p&gt;</description></item><item><title>HwBot’s Geil Contest &amp; AMD 955 B.E. first touch</title><link>https://nagg.eu/hwbots-geil-contest-amd-955-b-e-first-touch/</link><pubDate>Fri, 15 Jul 2011 08:14:18 +0000</pubDate><guid>https://nagg.eu/hwbots-geil-contest-amd-955-b-e-first-touch/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;Exams at university are gone, HwBot this month host the interesting Geil contest, so here I&amp;rsquo;m with the trusty 920 and EVGA E760.&lt;br&gt;
To be honest the idea was to play with my new MSI 990FXA-GD80 and Phenom II 955 B.E. – bought them, not press samples for review or so – but the lack of decent BIOS for the mobo made me change the plan and give priority to the contest.&lt;br&gt;
The 2 Sandy Bitch stages don&amp;rsquo;t attract me so much, but the Intel 1366 one is another story, I&amp;rsquo;m a big fan of this stuff, so I joined the game.&lt;/p&gt;</description></item><item><title>Da Bitch really pissed me off</title><link>https://nagg.eu/da-bitch-really-pissed-me-off/</link><pubDate>Sat, 25 Jun 2011 16:55:22 +0000</pubDate><guid>https://nagg.eu/da-bitch-really-pissed-me-off/</guid><description>&lt;p&gt;Today I&amp;rsquo;m NOT gonna write the usual report of an overclocking session or write about the latest nerdy thing that I play with.&lt;br&gt;
That&amp;rsquo;s kinda different, the purpose of this write-up is basicly answer to a simple question: why Intel 1155 stuff sucks that badly?&lt;br&gt;
Many people probably aren&amp;rsquo;t of the same thinking but I&amp;rsquo;m quite confortable to say that this latest Intel platform is a HUGE EPIC FAIL.&lt;br&gt;
The last medium range Intel platform that was really worth to play with was P35, socket LGA 775; back in those good days I had some really great board that i still have and still running smoothly.&lt;br&gt;
Those boards had a good price / performance ratio and were really reliable for both daily use and benchmarking – on top of my favourite list there are: GA-P35-DS4 and DFI UT P35-T2R.&lt;br&gt;
After than those p35 boards we have had nothing but CRAP in the mid range or UBER high end stuff with crazy HIGH PRICES and SOMETIME good performance and reliability.&lt;br&gt;
&lt;code&gt;Sometime&lt;/code&gt; because unluckily paying a shitload of cash doesn&amp;rsquo;t assure you to get something good, something that work like stated in the PR slide for press guys, something that works like reviewers say, etc etc.&lt;/p&gt;</description></item><item><title>Bitch, GTX280, HD4890 and lots of – 3d – fun</title><link>https://nagg.eu/bitch-gtx280-hd4890-and-lots-of-3d-fun/</link><pubDate>Tue, 24 May 2011 14:22:40 +0000</pubDate><guid>https://nagg.eu/bitch-gtx280-hd4890-and-lots-of-3d-fun/</guid><description>&lt;p&gt;&lt;img src="https://nagg.eu/images/-articlesIntroPics-/Bitch_GTX280_HD4890_and_lots_of_-_3d_-_fun.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Last weekend me, 7ornado and TheKing met in Castagnito (near Asti, Italy), we had some stuff to test and lots of LN2.&lt;br&gt;
My objectives were to improve my AM3 score with GTX 280 and do a good 3Dmark 01 with a new HD4890.&lt;br&gt;
As always we had a lot of fun and I also managed to pull out some good results.&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;strong&gt;Config:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;_i7-2600K # L044B675&lt;br&gt;
Gigabyte P67A-UD4-B3 – bios F3&lt;br&gt;
KHX 2k cas8 MGH-E-Hyper&lt;br&gt;
PCP&amp;amp;C 1200 Watt&lt;br&gt;
GTX 280 :: VGPU and CAPs mod || crazy reference HD4890 blue PCB :: no mods needed&lt;br&gt;
Maxtor DMAX 200 GB sata&lt;br&gt;
XP sp3 _&lt;/p&gt;</description></item><item><title>Having fun with Sandy, 3Dmark 01 &amp; AM3 inside</title><link>https://nagg.eu/having-fun-with-sandy-3dmark-01-am3-inside/</link><pubDate>Sun, 08 May 2011 16:53:22 +0000</pubDate><guid>https://nagg.eu/having-fun-with-sandy-3dmark-01-am3-inside/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;Past friday I finally get some LN2 and did a 3 hours bench session in the afternoon.&lt;br&gt;
This time I was focused on 3Dmark 01 and Aquamark 3 with the trusty – and also crappy – GTX 280.&lt;br&gt;
Have to say that this time even with a not that good CPU and the crappiest GTX 280 I have ever seen on earth was alot of fun, 3Dmark 01 really rocks, and especially bench it alone is really a big satisfaction.&lt;/p&gt;</description></item><item><title>Another Biatch in da house, lets see…</title><link>https://nagg.eu/another-biatch-in-da-house-lets-see/</link><pubDate>Fri, 22 Apr 2011 17:15:46 +0000</pubDate><guid>https://nagg.eu/another-biatch-in-da-house-lets-see/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;I would like to write another kind of title, something like &lt;code&gt;Benches and lots of fun&lt;/code&gt;, but when da biatch is involved you better forget the word &lt;code&gt;fun&lt;/code&gt;.&lt;br&gt;
So, no fun, or at least not as much fun as when benching with 1366 stuff, but still worth to write a small article here.&lt;br&gt;
Same stuff as the previous writeup except for the CPU, yesterday I went to a local PC shop and bought a 2600K for a good price.&lt;br&gt;
Not a killer chip but also not that bad, I would say that I&amp;rsquo;m quite happy cause this one behaves well at -50° C and works bench stable at 5400 MHz.&lt;br&gt;
With this frequency I&amp;rsquo;m quite sure that a good ammount of n44bs are going to be pwned in the next weeks, the main objective is to do a good 3dmark 01 (with good I mean 123k +) using a single GTX280 and LN2 cooling.&lt;/p&gt;</description></item><item><title>After 2 months of waiting Sandy Bridge is here</title><link>https://nagg.eu/after-2-months-of-waiting-sandy-bridge-is-here/</link><pubDate>Fri, 08 Apr 2011 17:50:54 +0000</pubDate><guid>https://nagg.eu/after-2-months-of-waiting-sandy-bridge-is-here/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;Like the title says after 2 months lost with dead board and RMA related stuff finally I&amp;rsquo;ve the pleasure to play with da biatch…&lt;br&gt;
Honestly, the only things that really impress me are the performances, this crap is scary fast in both of my favourite benchmarks: 3dMark 01 and Super-pi 32M.&lt;br&gt;
The bad thing is that quite everything except performance isn&amp;rsquo;t exactly like I would, just to name some problems:&lt;/p&gt;</description></item><item><title>i7-920 @ LN2 32M fun – someone called for pwnage?</title><link>https://nagg.eu/i7-920-ln2-32m-fun-someone-called-for-pwnage/</link><pubDate>Thu, 17 Mar 2011 18:06:48 +0000</pubDate><guid>https://nagg.eu/i7-920-ln2-32m-fun-someone-called-for-pwnage/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;Today I and my friend Guglio had a 4 hours LN2 bench session with my good old i7-920.&lt;br&gt;
After alot of pretesting with the Single Stage we managed to get a great 3rd place in the 920&amp;rsquo;s ranking on the bot.&lt;br&gt;
We are really proud of it because not many days ago some guys said that I&amp;rsquo;m a fucking lamer, probably they didn&amp;rsquo;t look at HWbot or at the 32M low clock challenge on XS…&lt;/p&gt;</description></item><item><title>i7-920 – SingleStage 32M testing</title><link>https://nagg.eu/i7-920-singlestage-32m-testing/</link><pubDate>Tue, 25 Jan 2011 18:17:43 +0000</pubDate><guid>https://nagg.eu/i7-920-singlestage-32m-testing/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;While all the guys around there are working on the new Sandy Bitch stuff I&amp;rsquo;m still stucking with my old bloomfield setup.&lt;br&gt;
When something new come out I&amp;rsquo;m always a bit reluctant at the idea of buying without knowing everything about it, Sandy Bitch is freakin&amp;rsquo; fast clock to clock but also have alot of downsides – just for example: no BCLKclocking, Elpida Hyper act weird with most CPU/mobo, 3dmark 01 gives strange results with everything except Gigabyte board and much more…&lt;br&gt;
– Back on topic – There&amp;rsquo;s not alot to say here, I did just a really quick run that end up with an interesting result.&lt;/p&gt;</description></item><item><title>Kingston HyperX are on fire</title><link>https://nagg.eu/kingston-hyperx-are-on-fire/</link><pubDate>Wed, 05 Jan 2011 18:18:41 +0000</pubDate><guid>https://nagg.eu/kingston-hyperx-are-on-fire/</guid><description>&lt;p&gt;Not fancy stuff here, also not gay stuff or lo-vo crap…no way, I&amp;rsquo;m not going to do this, never.&lt;br&gt;
My way of life when talking about overclock is: &lt;code&gt;get the crap out of everything you have in your hand&lt;/code&gt; and &lt;code&gt;if it scale feed it with MOOOOAR volt&lt;/code&gt;.&lt;br&gt;
Even this time I&amp;rsquo;ve tried to do my best – and I think that something interesting came out.&lt;br&gt;
Like the title says here we are talking about the component that I love more: the RAM.&lt;br&gt;
Since DDR2 time I was in love with RAM, the time goes on but the memory addiction still persist.&lt;br&gt;
I still have a KIT of Crucial PC8500 batch 18F – if you know about DDR2 you know what I&amp;rsquo;m talking about – and 2 KITs of Cellshock PC8000 D9-GKX – damn crazy RAM, love &amp;rsquo;em – and PC6400 D9-GMH.&lt;br&gt;
Ok, that&amp;rsquo;s enough, let&amp;rsquo;s make the pics talk…&lt;/p&gt;</description></item><item><title>i7-950 + E760 + STT 2k = 32M fun</title><link>https://nagg.eu/i7-950-e760-stt-2k-32m-fun/</link><pubDate>Fri, 12 Nov 2010 18:27:28 +0000</pubDate><guid>https://nagg.eu/i7-950-e760-stt-2k-32m-fun/</guid><description>&lt;p&gt;After 3 weeks of prestesting now it&amp;rsquo;s time to put my new E760 under LN2.&lt;br&gt;
The config is still pretty the same I&amp;rsquo;ve used in the past 3 month except for the RAM, this time I used a good 3×2 GB kit of SuperTalent.&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt; &lt;!-- raw HTML omitted --&gt; &lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>AOC + Coolbits + Mafio = 06 and vantage fun with HD4870 !!</title><link>https://nagg.eu/aoc-coolbits-mafio-06-and-vantage-fun-with-hd4870/</link><pubDate>Mon, 06 Sep 2010 18:36:07 +0000</pubDate><guid>https://nagg.eu/aoc-coolbits-mafio-06-and-vantage-fun-with-hd4870/</guid><description>&lt;p&gt;Yesterday I, Coolbits, The King and |ron met in Monza, we had 30 litres of LN2 and some stuff to test.&lt;/p&gt;
&lt;p&gt;&lt;!-- raw HTML omitted --&gt;Config:&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;The main objectives were to do a super-pi 32M, 06 and vantage with our HD4870.&lt;br&gt;
The limit for 32M with 1.83 volt was around 5.7 GHZ, unfortunately we can&amp;rsquo;t feed the uncore with more than 1.45 volt because of stability issue with higher voltage…then low uncore frequency.&lt;br&gt;
No matter what CPU PLL voltage we use, CBB and CB were both around -125°, not a great CPU. &lt;!-- raw HTML omitted --&gt;&lt;/p&gt;</description></item><item><title>Meeting @ Castagnito (Asti, Italy) – 4/5 August 2010</title><link>https://nagg.eu/meeting-castagnito-asti-italy-45-august-2010/</link><pubDate>Wed, 11 Aug 2010 18:37:16 +0000</pubDate><guid>https://nagg.eu/meeting-castagnito-asti-italy-45-august-2010/</guid><description>&lt;p&gt;Wednesday and thursday of the past week I and my 2 friends 7ornado (Simone) and The King (Marco) meet at Castagnito (Italy, near Asti, a place famous for wine and truffles).&lt;br&gt;
We had 100 litres of LN2 and a lot of hardware.&lt;/p&gt;
&lt;p&gt;7ornado and the king used:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;i7-975&lt;/li&gt;
&lt;li&gt;my A-Data 2133X MNH-E-Hyper&lt;/li&gt;
&lt;li&gt;HD4870 Sapphire 1 GB&lt;/li&gt;
&lt;li&gt;the good old Enermax Galaxy 1 KWatt&lt;/li&gt;
&lt;li&gt;ryba CPU and GPU pot&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I used:&lt;/p&gt;</description></item><item><title>Back in real business – round 1</title><link>https://nagg.eu/back-in-real-business-round-1/</link><pubDate>Tue, 06 Jul 2010 18:52:58 +0000</pubDate><guid>https://nagg.eu/back-in-real-business-round-1/</guid><description>&lt;p&gt;Nothing special here, no WR or something like that but today finally I had 10 litres of LN2 to try my i7 950.&lt;br&gt;
I&amp;rsquo;m happy because it&amp;rsquo;s been a long time since I had a good bench session at LN2, in the last six months I lost my time with p4 (8.1 GHZ then the RE died….), phenom 1090T with a crappy MSI 890FX and another bunch of rubbish…&lt;br&gt;
Now seems that the luck is coming back, this 950 works pretty well.****&lt;/p&gt;</description></item><item><title>i7 950 + DFI UT X58 + HD4890…pwnage incoming</title><link>https://nagg.eu/i7-950-dfi-ut-x58-hd4890-pwnage-incoming/</link><pubDate>Sun, 23 May 2010 20:54:51 +0000</pubDate><guid>https://nagg.eu/i7-950-dfi-ut-x58-hd4890-pwnage-incoming/</guid><description>&lt;p&gt;Few weeks ago I got an i7 950 from ebay.&lt;br&gt;
The first impression was good, it has a really strong IMCH and it&amp;rsquo;s damn hot…then probably it has low cold bug.&lt;br&gt;
Before put it under LN2, as I always do, I&amp;rsquo;m testing it with my single stage phase change (for more info look at Cooling section).&lt;br&gt;
The maximum core frequency that I can reach isn&amp;rsquo;t that good, but I think that with more cold it will give me tons of others MHZ.&lt;/p&gt;</description></item><item><title>Back in business…P4 631 alien, 8+ GHz</title><link>https://nagg.eu/back-in-business-p4-631-alien-8-ghz/</link><pubDate>Fri, 23 Apr 2010 20:59:28 +0000</pubDate><guid>https://nagg.eu/back-in-business-p4-631-alien-8-ghz/</guid><description>&lt;p&gt;It was 10 April 2010, AOC (me, the king, 7ornado and |ron) is back in business.&lt;br&gt;
After long time we decide to test another time Alien, a Pentium 631 that 2 years ago got the frequency absolute world record.&lt;br&gt;
This time we used a Rampage Extreme, the mobo looked pretty solid but not as good as the good old ASUS Commando.&lt;br&gt;
BTW we got 8025 MHZ, the precedent WR made with this CPU was 8180 MHZ.&lt;br&gt;
In the next months probably we will retry it maybe with a Commando and maybe we will get back in Italy the frequency WR.&lt;/p&gt;</description></item></channel></rss>