article

2018

Guide on how to make your website printable with CSS

CSS snippets to consider when you want to provide a printable version of your blog

Continue »

The internet that took over the Internet

If you look deep enough, beneath mountains of attention hoarding, illusion photography, trending trends, you'll find the old Internet, the one with content, knowledge, individuality, but you need to look hard. Can it be saved?

Continue »

We are living in instant messenger hell

I had to install WhatsApp, because some friends are refusing to communicate in any other way, which made me realise how tired and disillusioned I am when I have to face yet another instant messenger network - at least, with some work, Pidgin can still connect to more or less everything and anything.

Continue »

How to install microG an odexed stock android ROM

The method of replacing Google Services Framework with microG suite on the stock, Android Marshmallow ROM of a Nomu S10

Continue »

LinkedIn is ignoring user settings

Logged out users are prevented from reaching LinkedIn profiles set to complete public visibility

Continue »

Living with a rugged, cheap Chinese Android phone, the Nomu S10

The story of falling in love with a £120 Android phone, learning about the Triada malware, re-diving into Android ROM flashing, and keeping the phone despite the problems - because it's brilliant.

Continue »

2017

Content, bloat, privacy, archives

I spent a lot of time trying centralising my online activities, including adding bookmarks and imports from social networks. Lately my site looked bloated and unmaintainable. I started questioning what data is my data, what data should or could I own - it was time to rethink some ideas.

Continue »

Headless Spotify Debian linux server fine tunes

Fine tunes and extras for Vivek Panyam's guide "How to build a headless Spotify Streaming box"

Continue »

Self-hosted home SMS gateway

How to set up Gammu on an old ThinkPad with a 3G modem and listen for MQTT messages to send them as text messages in case your internet is down but you still need to alert.

Continue »

Environmental sensor logging with Rasbperry Pi, Adafruit BME280 and SI1145, collectd, and mosquitto

How to collect, monitor, read, and store pressure, temperature, humidity, visible, IR, and UV light data with a Raspberry Pi, an Adafruit BME280, Adafruit SI1145, collectd stats collector, and mosquitto MQTT.

Continue »

Bookmarks, favs, likes - backfilling years of gaps

What do you do when you have years of hoarded internet on your computer and you want to put them into one place, to make it searchable? You put them on your website, while retroactively like, favorite, and bookmark them at their source.

Continue »

A dirty fix for non-stop drifting Trackpoint

How to stop Trackpoint from constantly, slowly moving on it's own under linux

Continue »

Logging Android sensor data with Automate

I've been searching for a long while for a sensor data logger app; it turns out Automate can do this just fine with a lot of extra, so here's my solution for a Galaxy S4.

Continue »

ZFS NFS shares with avahi zeroconf

How to announce ZFS NFS shares on your home network for clients to automatically discover them.

Continue »

Fix the hard drive killer APM

How to spin down hard drive and get rid of the clicking noise in Debian 9 (Strecth) and Ubuntu 16.04 on a Thinkpad X250

Continue »

Save files from Samsung Galaxy S4 with a dead screen with Debian or Ubuntu

How to download your files and safely destroy personal data from a Samsung android phone with a dead screen using heimdall, TWRP, and adb.

Continue »

Changing laptops: ThinkPad X200 vs X250, a story of a long postponed upgrade

Even though I only owned an X200 for 3 years, the laptop from 2009 was becoming aged, no matter how many things I replaced on it, so sadly, it was time to look for an alternative.

Continue »

Replacing Baïkal with Radicale

I was becoming unhappy with Baïkal, my contact and calendar sync server: a growing number of clients was unable to use it, so I started to look for alternatives. This time I wanted something plain text based.

Continue »

How to get rid of 'FastCGI sent in stderr: Primary script unknown' in nginx logs

Add try_files $uri $script_name =404; to your PHP handling block. Click more for details

Continue »

2016

Going static

The "why"s for writing one's own static generator, which I want to replace my WordPress with.

Continue »

Hacking tint2 panel: weather, CPU temperature and volume executors

Adding weather, volume and CPU status a hacker friendly panel: tint2.

Continue »

How to export Flickr to a GPX file to Geotag photos

Using Flickr to add GPS metadata to my photos.

Continue »

How to send simple UTF-8 email in Python 3.x

Apparently, sending email in Python is painful. This is what I did to ease it.

Continue »

Delete stolen contacts in social networks

How to delete stolen contact lists - address books - from LinkedIn, Facebook, and Twitter.

Continue »

Automatically reading GPS information from featured image and adding as post meta in WordPress

Wordpress has a semi-official way of geotagging, so I decided to fill this automatically from the featured image.

Continue »

My home backup and minimal security system

I've recently experienced what is it like to have an "uninvited guest" in your home while you're away hiking - hint: it doesn't feel good. Since then I decided to finally put together the things I've been postponing for months for various reasons - mostly for being lazy.

Continue »

motionEyeOS mobile phone presence detection for auto on/off based on network IP or MAC address

I wanted my motionEyeOS system to turn on and off automatically if our mobile phones are present on the home network.

Continue »

Extending Press This in WordPress to support indieweb reply, like and repost

I've been able to reply/like/repost with my site for a long while, but is wasn't elegant, fast or slick at all; it was time to fix it.

Continue »

Suppress Slack IRC 'voice' noise in Hexchat

I've been pushed to use Slack besides our current jabber, but it's too noisy.

Continue »

2015

The horror of chat logs

Can I has normalized, plain text chat logs, please? Starting from 2005, from 7 different clients.

Continue »

Why I still use email

How and why I keep using email.

Continue »

Reducing Javascript on petermolnar.eu

Requiring JS to open a menu or to resize images to the viewport is not cool.

Continue »

Icon fonts should have meaningful unicode mappings to provide fallback

All the icons fonts could potentially have a relatively meaningful, fallback Unicode character that would be shown in cases when the font does not load for various reasons.

Continue »

Auto setting post format in my WordPress setup

WordPress with it's custom taxonomy engine has the Post Format option, but it would be much better to do this automatically, wouldn't it? If me as a human can tell the which post is what I just need to translate the logic to PHP.

Continue »

Getting DKIM, DMARC and SPF to work with Postfix, OpenDKIM and OpenDMARC

There are plenty of tutorials out there how to get DKIM, SPF, and DMARC working, but it still took me a couple of hours to get everything right, because each and every one of them lacks something to actually work.

Continue »

Spotify: how good is high quality streaming?

Is there an actual difference between high and normal quality streaming on Spotify? How does Spotify high quality streaming compare to CD quality?

Continue »

Formatted vs unformatted size of filesystems on linux: ext3, ext4, xfs, zfs and reiserfs

A small comparison of formatted space differences between ext3, ext4, xfs, zfs, btrfs, ntfs and reiserfs.

Continue »

Why your AC wifi can't reach full speed on 3.13 kernel (Ubuntu 14.04, Mint 17, elementaryOS)

Less-known depths of wireless: regulations by countries and non-existent updates for linux.

Continue »

Disable right click blocking in Firefox or Pale Moon

Blocked right clicks are annoying.

Continue »

How to build an EXIF database to understand your photography

Some bits of code to get stats from the EXIF data from your photos.

Continue »

Add avatar for not comment type comments in WordPress

By default only comment type comments get avatars.

Continue »

How to make WordPress secure with nginx and fail2ban

WPScan with Metasploit can easily hack a WordPress site - unless you automatically block their access to the PHP level.

Continue »

How to use VoIP (SIP) on Android without any app

Android has a built-in SIP client in the Phone app which is much easier the use than any additional apps - even though it's voice only.

Continue »

How block access to original JPG files on WordPress with nginx

Block access to non-resized JPG files. Use it with caution.

Continue »

2014

Hidden and less hidden RSS feeds on some major social networks

Examples for RSS feed options of some social sites.

Continue »

Reject mails in postfix based on sender domain

Some bash lines to generate sender checks for postfix.

Continue »

Disable Jetpack subscriptions CSS (3.2+)

Quickfix for annoying additional CSS from Jetpack.

Continue »

How to disable SSLv3 in Firefox to avoid POODLE attack

Disable SSLv3 in Firefox.

Continue »

Lightweight, secure, database-free, spamfiltering mail server with Postfix, Dovecot, openDKIM and dspam on Debian 7

Configurations for a light memory use, spamfiltering, secure mailserver on linux.

Continue »

Monitor specific website with Monit

How to: monitor the health of a remote web address with Monit.

Continue »

What is an old(ish) Android phone / tablet good for?

Old(ish) Android device? Upgrade it, use it as webcam, SMS gw, backup server… there's no need to throw it away.

Continue »

WordPress + InnoDB screams for FOREIGN keys

No more orphaned data in WordPress if you add FOREIGN keys to your InnoDB database.

Continue »

Trimming the fat: THA Big Bad Cleanup of my WordPress

THA Big Bad Cleanup of my WordPress: from importing tweets & statuses to posting in Markdown.

Continue »

WordPress - insert image as Markdown Extra

WordPress + Markdown are not there yet, hacks needed.

Continue »

Alternative for Google Apps on Android - living without Google on Android

Android without any Google App? What to use instead of Hangouts, Map, Gmail? Is that even possible? And why would anyone want to live without Google?

Continue »

Speeding up WordPress from the backend

Backend ( PHP, MySQL, nginx ) tricks & tips to speed up a WordPress setup.

Continue »

Optimize your site experience and your image gallery for any device

What is the best approach to show images on smartphones & tablets? To swipe or not to swipe? How about fluid videos?

Continue »

moving a site to standalone from a WordPress Network

Converting a blog from a WordPress Network to standalone is painful.

Continue »

WP-FFPC: speed test

WP-FFPC - speeding up your WordPress site at leas 9 times.

Continue »

WordPress Jetpack: deactivate any module

How to disable any module of JetPack for WordPress.

Continue »

Character count for WordPress content and excerpt fields

How to add a simple character counter to excerpt & content fields in WordPress.

Continue »

logging nginx to rsyslog

log nginx to rsyslog without blocking

Continue »

Setting up LXC containers with Debian 7 Wheezy from scratch

LXC - container based virtualisation from scratch on Debian Wheezy - a slightly messy guide to start with

Continue »

2013

Monitor disk health with HDSentinel and collectd

A little shell script to connect HDSentinel to collectd.

Continue »

fail2ban for NAT hosts

Centralised fail2ban for NAT firewall

Continue »

Ramdisk in Debian Wheezy - a.k.a tmpfs

Use tmpfs instead of /dev/ramX in Debian Wheezy for ram based space.

Continue »

Monit web status to JSON with PHP

Show monit status in JSON for other software to understand.

Continue »

Adaptive, responsive, pure CSS3, bandwith-saving image gallery for WordPress

Image gallery for any device, for modern browsers, with nearly pure CSS3.

Continue »

elementaryOS: customize date & time in wingpanel

Quick hack for elementaryOS time display: use custom format.

Continue »

Lightweight resource monitoring with collectd and jarmon

The neverending story if using less and less resource for a process continues: replacing Munin with collectd for system resource memories.

Continue »

How to compile Percona Server with XtraDB 5.5 for ARM ( armhf )

To make Percona run on armhf architecture there are only small changes need to be applied.

Continue »

Add RAM to Ubuntu 12.04+ for free: zRAM

More RAM for free? By installing a software?! Enter zRAM.

Continue »

Upstart script for Dropbear SSH server

A very sleak upstart job script for dropbear.

Continue »

2012

Reposition elementaryOS dock (Plank)

How to move elementaryOS Luna Plank to different position.

Continue »

Solution for: Gtk-WARNING **: Error loading theme icon

How to fix Gtk fatal error of PNG images.

Continue »

My nginx version update script

Ever wanted a quick update on your SPDY patched nginx? This is what I use.

Continue »

trick to "change" CD for wine

Need to install something with more than one install CD-s to wine? Here's how.

Continue »

Conquer your EXT partition

How to get "free" space on EXT filesystem without deleting anything?

Continue »

How to move dalvik-cache to /system partition in Android

Move the dalvik-cache from data partition to system on rooted, S-OFF android devices.

Continue »

String interchange between C# to and ANSI C DLL

How to send and receive a string between C# and C.

Continue »

How to make Ubuntu 12.04 LTS (Precise Pangolin) usable

Tweaks after install in order to achieve the usability of Linux Mint 10. But the new mascot is pretty cute.

Continue »

HTC Desire (Bravo): ROMs, updates, pain and suffering

Replacing the ROM of a HTC Desire; notes for myself if I'd ever want to do this again.

Continue »

Testing WordPress: the importance of PHP opcode cache

Testing the limits of an nginx and PHP-FPM based WordPress Network with and without PHP APC opcode cache running on a really small KVM VPS.

Continue »

How to disable "Waiting up to 60 more seconds for network configuration"

After upgrading from Ubuntu 11.04 to 11.10 boot hangs for more than one minute, waiting for network. Here's how to solve it the correct way.

Continue »

conky with ical

Make conky display ical calendars from the web with the help of calcurse.

Continue »

reduced functionality switch - case in nginx: map module

There's no switch-case in nginx, though map is available for similar but reduced functionality cases.

Continue »

Hardening iptables with limit rates

How to offload the hard work of blocking brute force to iptables.

Continue »

nginx config for a WordPress Network

Easy and clean nginx config for a secure WordPress Network.

Continue »

Use OwnCloud CardDAV contacts in RoundCube ( and import .vcf to OwnCloud)

How to use OwnCloud CardDAV service as address book in RoundCube and how to import vcf into OwnCloud.

Continue »

Read registry entry string with C code

Reading a non-fixed-length string from registry with the help of C? Here's how.

Continue »

Turn your mailbox into an archieving RSS reader

Most RSS readers lack something: maybe offline version, online version, or just managed by someone 3rd party. A simple solution: back to the basics with rss2email, turniing the news into email.

Continue »

nginx with ownCloud 3

nginx is one of the best webservers out there, owncloud make cloud computing secure using your very own service, but putting them together really gave me a headache.

Continue »

CSS3 double borders - the two-coloured version

One element, two borders in different colours - (nearly) pure CSS3.

Continue »

Loading a function from a DLL from C

Calling functions from a DLL in a C code? Don't. But it's possible.

Continue »

Cross-browser CSS opacity and rotation with ClearType IE font render bug fixed

Really cross-browser CSS opacity or rotation with anti-aliasing even on IE? You can do it.

Continue »

Mail server for a VPS: Postfix, Dovecot, Spamassassin, policyd-weight

Full featured mail server with memory footprint small enough even for a VPS, with dovecot, postfix, spamassassin, clamav, policyd-weight with all the configs you need.

Continue »

2011

owncloud: finally a working webDAV server in PHP

At last: turn your own server into your private cloud, interfacing any webDAV or web-browser capable client - and you only need a webserver with PHP!

Continue »

Vertically and horizontally fluid CSS layout with height 100%

Totally fluid layout both vertically & horizontally with pure CSS, with IE6 (!) compatibility.

Continue »

Automatically version controlled directory with bazaar on linux

Dropbox-like file versioning functionality with bazaar VCS and inotifywait.

Continue »

Photoshop CS5 under linux

How to get Photoshop CS5 working on wine.

Continue »

CheapVPS.co.uk KVM VPS V1 review

Review a small, UK based KVM VPS. Without expectations but with surprisingly good results.

Continue »

God save position:relative

How to fix Internet Explorer 8 rotation opacity bug

Continue »

weighted average calculator code in C

A short code to achieve a very fast weighted filter calculator with integers, using few resources.

Continue »

Dell Latitude E6400 vs. Lenovo Thinkpad T400

Szubjektív felhasználói élmény és vélemény két premium business gépről. Ultrakonzervatív Lenovo Thinkpad T400 vs ultramodern Dell Latitude E6400, avagy: Miért nincs megbízható, erős, linuxbarát és szép üzleti notebook a piacon?

Tovább »

Minimal Conky with HDD data, nVidia core temperature and Dell fan speed

Minimal, text-based conky scripts to show a really sophisticated system monitor.

Continue »

Dell Latitude E6400 and Linux Mint 11 fine tuning

Tweaking and modifying some "minor" things in Linux Mint 11 for better performance and usability on Dell Latitude E6400.

Continue »

integer division without divide functionality

Division with integers in C, for testing 32 bit max as dividend.

Continue »

Ubuntu 10.10 Maverick Meerkat 2.6.38 kernel vs Broadcom STA linux driver

Feel free to install pre-released version of ubuntu kernel into the current!

Continue »

Better driver for BCM4322 802.11a/b/g/n in Ubuntu 10.10

In Ubuntu 10.10, Broadcom driver is old, therefore it's full of bugs, and totally unusable for current cards, like BCM4322. Upgrade it.

Continue »

2010

Ubuntu 10.04 ProFTPd with mod_sftp

SFTP enabled FTP: secure, chrooted FTP server.

Continue »

apache2-mpm-itk on Ubuntu 10.04 with Virtualmin running PHP 5.3 and PHP 5.2 side-by-side

Run PHP 5.2 and 5.3 on the same apache, on a production hosting server, with security? Possible, but ugly.

Continue »

Simple batch resize & watermark with imagemagick

Fast & simple batch image handling with imagemagick, from the command line.

Continue »

Hack Netgear WG602 access point to run dd-wrt

The basic system of Netgear WG602 is dumb, so get DD-WRT on top of it.

Continue »

VMWare ESXi and promiscuous mode

VMWare ESXi 4.1 vs promiscuous mode

Continue »

SSL status check problems with apache behind Pound reverse proxy

Rely on your own HTTP headers, because the built-in ones sometimes get lost.

Continue »

Installing PHP 5.3 on Ubuntu 9.10 Karmic Koala

How to get PHP 5.3 on Karmic Koala from dotdeb.

Continue »

A usable theme for Ubuntu Desktop: Shiki

I never liked Ubuntu's Humanity theme, New Wave theme in 9.10 crashes some applications, like F-Spot, and both are brown. Now Lucid is about to make purple (sic!) it's default colour, so that's not for me as well. The solution: shiki.

Continue »

Changing postfix's incoming smtp port

Which line to change to have Postfix listen on specific ports are well?

Continue »

Changing to policyd-weight from postfix's built-in reject_rbl_client

Install a weighted RBL daemon for Postfix.

Continue »

Quick installing eBox 1.2 with managesieve and custom spam filtering under Ubuntu 8.04

Although eBox has it's own distribution, I wanted to get it work on Ubuntu 8.04 - but the version in the repo is only 1.0, and I really needed 1.2.

Continue »

Installing apache2-mpm-itk on a Virtualmin based Ubuntu 8.04

A brief writing on installing apache-mpm-itk on Ubuntu 8.04 server.

Continue »