Blog archive by Mattias Geniar
This is a list of all my blogposts. They range from highly technical to entry level, from Linux to PHP and server management.
2016-07
- Google's QUIC protocol: moving the web from TCP to UDP
- Enable QUIC protocol in Google Chrome
- Varnish Agent: an HTML frontend to manage & monitor your varnish installation
- Why do we automate?
- A new website layout, focussed on speed and simplicity
- vsftpd on linux: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
- Highly Critical Remote Code Execution patch for Drupal (PSA-2016-001)
- How To Get Pokémon Go on iPhone Outside US
- The Bash For Loop, The First Step in Automation on Linux
2016-06
2016-05
- Limit the runtime of a cronjob or script
- The async Puppet pattern
- Redis: OOM command not allowed when used memory > ‘maxmemory’
- The day Google Chrome disables HTTP/2 for nearly everyone: May 31st, 2016
- Podcast: Devops, SSL & HTTP2 op HTTP Café
- Apple prepares iOS to move to IPv6-only networks
- Security week: 2x High Severity OpenSSL vulnerability & critical ImageMagick flaw
2016-04
- Yum Update: DB_RUNRECOVERY Fatal error, run database recovery
- Nginx 1.10 brings HTTP/2 support to the stable releases
- Staying up-to-date on open source announcements & security issues via Twitter
- Bash on Windows: a hidden bitcoin goldmine?
- What happens when you run “rm -fr /” on a Linux machine?
- Video: HTTP/2 for PHP Developers at FOSDEM 2016
- ssh fatal: Access denied for user by PAM account configuration [preauth]
2016-03
- Running Bash on Ubuntu on Windows: Demo
- Ruby gem search: show all remote versions
- nginx-1.9.13: no longer retry non-idempotent upstream requests by default
- certdiff
- Postfix: cannot update mailbox /var/mail for user, File too large
- Optimize the size of .PNG images automatically on your webserver with optipng
- PHP Warning: Zend OPcache can’t be temporary enabled
- Mac OSX: mtr: unable to get raw sockets
- Example: set an advanced parameter value in VMware via vSphere PowerCLI
- Pre-compress content for Apache to avoid compressing on every request
- Set Access-Control-Allow-Origin (CORS) headers in Apache vhost or htaccess
- The “.well-known” directory on webservers (aka: RFC 5785)
- Remote Code Execution in all git versions (client + server) < 2.7.4: CVE-2016-2324, CVE-2016‑2315
- Drupal’s itok parameters explained and a Varnish workaround for different backends
- Nginx Proxy: upstream sent too big header while reading response header from upstream
- A technical guide to SEO
- OpenSSL vulnerabilities: DROWN attack and CacheBleed
2016-02
2016-01
- A clean mailing list browser, focussing on readability
- Coming soon: SysCast
- Delete files older than X days in Linux
- Sort ‘ps’ by memory usage in Linux
- Get the file or directory owner in Bash for use in scripts on Linux
- Apache 2.4 AH01762 & AH01760: failed to initialize shm (Shared Memory Segment)
- Introducing cron.weekly, a new weekly newsletter for Linux sysadmins
- Review: Google Chromecast 2
- The best tech question to ask in a job interview
- Grep: show lines before and after the match in Linux
- apachectl on Linux: get the entire Apache vhost configuration in one output
- PHP-FPM: failed to ptrace(PEEKDATA) pid 123: Input/output error (5)
2015-12
- Podcast: Delving into HTTP/2
- Use awk to filter log files on values ‘greater than’ or ‘less than’ a threshold in Linux
- PHP pear.php.net is using a unsupported protocol – This should never happen.
- PHP Composer installation fails: file could not be downloaded: allow_url_fopen must be enabled
- Drush PEAR channel: Error getting channel info from pear.drush.org
- Linux Date Format: change the date output for scripts or commands
- Very simple ‘git push’ workflow to deploy code on your own server
- Identify a physical NIC from the Linux CLI with ‘ethtool’
- PHP Session Locking: How To Prevent Sessions Blocking in PHP requests
- MySQL: Convert a table from MyISAM to InnoDB or vica versa
- How to set iTerm2 as the default ssh:// handler on Mac OSX
2015-11
- What is a 'unikernel'?
- Querying JSON data at the command line with ‘jq’
- PHP’s Memcached sessions: Failed to write session data (memcached) for Magento
- Create a password-protected ZIP file on Mac OSX
- Chrome drops NPN support for HTTP/2, ALPN only
- Simulate low-bandwidth conditions with Chrome’s network throttling
- Auto resize screen size for Windows 10 guest VMs in Virtualbox
- Nginx: Cannot assign requested address for upstream
- Linux increase ip_local_port_range TCP port range
2015-10
- Enable Keepalive connections in Nginx Upstream proxy configurations
- The Lie We Live: The Gigabyte That Isn’t
- Varnish VCL Syntax Highlighting in Sublime Text
- How To Generate a /etc/passwd password hash via the Command Line on Linux
- Firefox Nightly starts marking login-forms in HTTP as insecure
- A Distributed Web
- 25% of all websites are about to get a REST API
- The Ping That Makes a Sound
2015-09
2015-08
- Pretty git log in one line
- MySQL Back-up: Take a mysqldump with each database in its own SQL File
- Install Go 1.5 On CentOS 6 and 7
- Foreman 1.9: ERROR: column hosts.last_freshcheck does not exist
- Apache 2.4: Unknown Authz provider: ip
- iPhone’s “Field Test” debug screen: Dial *3001#12345#* for the real signal strength
- Nginx SSL Certificate Errors: PEM_read_bio_X509_AUX, PEM_read_bio_X509, SSL_CTX_use_PrivateKey_file
- The Hidden “Refresh” Menu in Chrome when Developer Tools Are Opened