The Curious Engineer

All blogs / DevOps / SRE / infrastructure

Mattias Geniar

ma.ttias.be

Mattias Geniar, co-founder of Oh Dear. A decade of writing on Linux, PHP, DevOps, web performance, security and the open web, plus talks and projects.

DevOps / SRE / infrastructureLinux / UnixPHPWeb development

Posts
1,002 from 1 Jun 2008 to 30 Oct 2026
Posting
weekly (49 in the last year)
Kind
personal blog
Feed
https://ma.ttias.be/index.xml

2026 47

  1. Xcode 27 drew a white strip over my iPhone app's status bar
  2. Snapkin now uploads your photos before you tap Analyse
  3. ««
  4. The PHP CVE scramble, in one graph
  5. PHP CVE-2026-109618 and CVE-2026-109619: early mitigation steps
  6. PHP CVE-2026-109618 and CVE-2026-109619: how to apply the patches
  7. PHP's new memory_hard_limit_percent setting
  8. Snapkin has an engineering blog now
  9. From laravel-echo-server to laravel-websockets to Laravel Reverb
  10. The 7 reasons Apple rejected my app, and what I changed
  11. Data is the application
  12. Introducing Snapkin: the calorie tracker for people who've quit calorie trackers
  13. 9000 RPM is faster than your screen refreshes
  14. PWAs: Personal Web Apps
  15. Deduplicating git worktrees on EXT4 with jdupes
  16. Setting up a remote environment for agentic coding
  17. Merging multiple EPUBs into a single file for Amazon Kindle
  18. What 1.8 million real website outages look like
  19. Dealing with concurrent bridge-network creates & host-port races in Docker
  20. Laravel Octane (FrankenPHP) vs. PHP-FPM: what I measured, and why we went back
  21. Turn your Filament panel into an AI-native dashboard
  22. Letting Cloudflare serve Brotli-compressed data with nginx
  23. Linux debugging tools I use daily
  24. The backup SSH daemon I run before every do-release-upgrade
  25. AI is a confidence booster
  26. Transcribing my old podcast locally with open-source AI
  27. Configuring Varnish on systemd in 2026: drop-in overrides, not varnish.params
  28. Debugging cookie stripping in Varnish: client vs backend request in 2026
  29. Reading the Varnish log in 2026: varnishlog -q, -g grouping and the VSL query language
  30. The ghost domain problem in DNS, and what we're doing about it
  31. Varnish in 2026: it's called Vinyl Cache now, and the mental model still holds
  32. Running HTTP/3 with Caddy in 2026: it just works
  33. Lessons learned: don't mix $timeout attributes and properties on queued Laravel jobs
  34. QUIC and HTTP/3 in 2026: from Google experiment to IETF standard
  35. Caching get_certificate lookups in Caddy
  36. Serving HTTP/2 and HTTP/3 with Nginx in 2026
  37. More time to think
  38. Improvements to our status pages as we tackle a DDoS
  39. Finding Dutch audio across streaming services
  40. Imposter: a single-phone party game, free and open source
  41. How we implemented a mobile-friendly Oh Dear UI with AI
  42. Making our docs AI-friendly: a tale of two caches
  43. My interview on Oh Dear on the Seahawk Podcast
  44. Catching SQL performance issues in PHPUnit and Pest, as part of your test infrastructure
  45. Our 3-part series on SQL performance optimisations
  46. Using AI is no longer optional
  47. Web development is fun again

2025 6

  1. A fresh server for this blog
  2. The effects of the Cloudflare outage on Oh Dear
  3. SQL performance: analysing & fixing the slow queries (part 2)
  4. SQL performance: finding the queries to fix (part 1)
  5. Typehinting Laravel validation rules using PHPStan's type aliases
  6. Running our test suite in parallel on GitHub Actions

2024 3

  1. PHP's CPU usage dropped nearly 40% after upgrading to Ubuntu 22.04
  2. How to upgrade Ubuntu LTS: from 20.04 to 22.04, 24.04 and 26.04
  3. Making sure Laravel's debug mode is always disabled in production

2022 2

  1. Oh Dear 2.0 launched
  2. Making sure routes and config files are cached in a Laravel app

2021 1

  1. Making our Laravel test suite ready for parallel testing

2020 48

  1. How we added favicons to our site list
  2. cargo: no such subcommand: +nightly
  3. Could not find directory of OpenSSL installation
  4. OpenSSL pkg-config not found
  5. wabt-sys compile: error: CMAKE_PROJECT_VERSION was not declared in this scope on Ubuntu 18.04 LTS
  6. A new start for DNS Spy
  7. I like big fonts and I cannot lie
  8. Recap: measuring linux performance - how to avoid typical mistakes
  9. How to measure Linux Performance Avoiding Most Typical Mistakes: Network
  10. How to measure Linux Performance Avoiding Most Typical Mistakes: Memory
  11. How to measure Linux Performance Avoiding Most Typical Mistakes: Disk Storage
  12. Adding SWAP to Linux
  13. Git commit without the pre-commit hook
  14. How to measure Linux Performance Avoiding Most Typical Mistakes: CPU
  15. Reading .EML mail files using Mutt on Mac OSX
  16. Want to improve? Add a delay
  17. How do we find users for our SaaS?
  18. Making life easier with cron
  19. A PHP package to simplify working with percentages
  20. What else can you stuff in a certificate chain?
  21. MySQL: ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes
  22. Create a date in the future for use in Bash scripts on BSD/Mac OSX
  23. Dissecting the code responsible for the Bitcoin halving
  24. Creating a 2-of-3 multisig with raw transactions on EOSIO
  25. Bash script to send a push notification when string is found in logs
  26. Selecting all checkboxes on a page with the Developer Console
  27. Build & test your Laravel project via Bitbucket Pipelines
  28. How I write and curate the cron.weekly newsletter
  29. Deploying a highly-available K3s with K3sup
  30. Clean up Linux Server Using These Simple Tips
  31. Different ways of writing crontab syntax
  32. Set up a custom 404 page for static sites with Caddy 2
  33. Looking for guest-writers on this blog!
  34. Someone, somewhere, is trying to break into your app
  35. Creators vs Consumers
  36. Composer require specific version while ignoring package dependencies
  37. Resources to understanding Bitcoin
  38. Migrating to Caddy 2
  39. How to run HTTP/3 with Caddy 2
  40. Why your government isn't acting on the Corona/COVID-19 threat
  41. Forcing a Content-Type header with Guzzle's form_params
  42. I found a loophole to prevent those pesky cookie notices 👀
  43. Adding a sticky table of contents in Hugo to posts
  44. Convert a PuTTY private key to openssh
  45. Why I'm open sourcing the financial side of my business
  46. Accepting new sponsorships for the cron.weekly newsletter
  47. Dumping specific tables in MySQL using mysqldump
  48. Auto-restart a crashed service in systemd

2019 52

  1. What exactly is being sent to Ubuntu in the MOTD?
  2. Making a JSON prettifier in pure JavaScript
  3. Name your Laravel Horizon workers for easier debugging at the CLI
  4. The text adventure game of exiting a telnet session
  5. Set up a static IP address on Ubuntu 18.04 LTS server
  6. cron.weekly is coming back!
  7. Auto-start VirtualBox VMs (headless) after reboot on Mac OSX
  8. VirtualBox: Failed to open/create the internal network 'HostInterfaceNetworking-en0' (VERR_SUPDRV_COMPONENT_NOT_FOUND)
  9. A Caddyfile config example for Laravel
  10. Mac OS: xcrun: error: invalid active developer path, missing xcrun
  11. Remove index.php from the URL in Laravel
  12. How to prevent content-spoofing in Apache's 404 error pages
  13. Specify a specific SSH private key for git pull/git clone
  14. Analysing webservers logs locally with goaccess
  15. A step-by-step guide on migrating from WordPress to Hugo
  16. How to use ffmpeg to combine multiple videos to one
  17. Disable HTTP sessions in Laravel to speed up your API
  18. A fresh new look for this site
  19. A Linux sysadmin's guide to moving to a new website
  20. public speaker
  21. strace: operation not permitted, ptrace_scope incorrect
  22. warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
  23. Install PHP’s imagick extension on Mac with Brew
  24. Mac pecl install: configure: error: Please reinstall the pkg-config distribution
  25. Laravel’s Tinker quits immediately on PHP 7.3 & Mac
  26. Chrome’s next steps for security: mixed content checking more important than ever
  27. A github CI workflow tailored to modern PHP applications (Laravel, Symfony, …)
  28. How we used Caddy and Laravel’s subdomain routing to serve our status pages
  29. Is bitcoin dead yet?
  30. Announcing Status Pages for the Oh Dear monitoring service
  31. Time for Change: Going Independent
  32. Trigger an on demand uptime & broken links check after a deploy with the Oh Dear! API
  33. There’s more than one way to write an IP address
  34. Nginx: add_header not working on 404
  35. Some useful changes to the Oh Dear! monitoring service
  36. Enable the RPC JSON API with password authentication in Bitcoin Core
  37. How to upgrade to the latest Bitcoin Core version
  38. I forgot how to manage a server
  39. Requesting certificates with Let’s Encrypt’s official certbot client
  40. Retrieving the Genesis block in Bitcoin with bitcoin-cli
  41. Lazily load below-the-fold images and iframes
  42. Using Oh Dear to keep your Varnish cache warm
  43. The end of Extended Validation certificates
  44. Podcast: Exploring Bitcoin with Edd Mann
  45. Archiving the bitcoin-dev mailing lists
  46. Initial impressions on running a Bitcoin Core full node
  47. MySQL 8 & Laravel: The server requested authentication method unknown to the client
  48. Showing the DNS score in your dashboard & an updated layout
  49. Run a Bitcoin Core full node on CentOS 7
  50. Limit the disk space consumed by Bitcoin Core nodes on Linux
  51. Run a Bitcoin Lightning Node on CentOS 7
  52. Remote Code Execution in apt/apt-get

2018 49

  1. Our Gitlab CI pipeline for Laravel applications
  2. PHP 7.3.0 Release Announcement
  3. Benchmarking websocket server performance with Artillery
  4. Deploying laravel-websockets with Nginx reverse proxy and supervisord
  5. Increase the number of open files for jobs managed by supervisord
  6. Why your NS records matter
  7. My Laracon EU talk: Minimum Viable Linux
  8. Tracking SQL queries
  9. A big update to DNS Spy – DNS Spy Blog
  10. HTTP-over-QUIC will officially become HTTP/3
  11. Automatic monitoring of Laravel Forge managed sites with Oh Dear!
  12. How to size & scale your Laravel Queues
  13. Laravel Telescope: Data too long for column ‘content’
  14. The convincing Bitcoin scam e-mail extorting you
  15. MySQL 8 removes shorthand for creating user + permissions
  16. Find the public key belonging to a private key
  17. ssh error: unable to negotiate with IP: no matching cipher found
  18. HHVM is Ending PHP Support
  19. Elasticsearch fails to start: access denied “/etc/elasticsearch/${instance}/scripts”
  20. Indie Hackers interview with Oh Dear!
  21. MySQL: Calculate the free space in IBD files
  22. Chrome stops showing “www”-prefix in URI
  23. Remote Desktop error: CredSSP encryption oracle remediation
  24. DNS Spy now checks for the “Null MX”
  25. Chalk Talk #3: how to optimise your content for Varnish
  26. Certificate Transparency logging now mandatory
  27. Upcoming presentation at LOADays: Varnish Internals – Speeding up a site x100
  28. Chalk Talk #2: how does Varnish work?
  29. Varnishlog: show the hash() data in output
  30. Varnish: same hash, different results? Check the Vary header!
  31. It’s about what broke, not who broke it
  32. Drupal core – Highly critical – Remote Code Execution – SA-CORE-2018-002
  33. Why I usually run ‘w’ first when troubleshooting unknown machines
  34. Chalk Talk #1: An introduction to Varnish
  35. Upcoming Drupal 7 and 8 core highly critical security release: March 28th
  36. The security footgun in etcd
  37. Varnish 6.0 released
  38. Enable the slow log in Elastic Search
  39. Laravel & MySQL auto-adding “on update current_timestamp()” to timestamp fields
  40. Clear systemd journal
  41. Announcing “Oh Dear!”: a new innovative tool to monitor your websites
  42. Update a docker container to the latest version
  43. Show IDN punycode in Firefox to avoid phishing URLs
  44. Nginx adds support for HTTP/2 Server-Side Push
  45. Chrome will mark all HTTP sites as “not secure”
  46. Red Hat reverts microcode update to mitigate Spectre, refers to hardware vendors for fix
  47. Mozilla Firefox to require HTTPS in order to use latest features
  48. I’m taking a break from cron.weekly
  49. Intel’s CPU vulnerabilities: Meltdown and Spectre

2017 100

  1. "du --max-depth" alternative on Mac OSX
  2. Root login without password allowed by default on Mac OSX High Sierra
  3. Fall cleaning: shutting down some of my projects
  4. Staat der Nederlanden CA might be revoked from Mozilla Policy?
  5. KRACK Attacks: Breaking WPA2
  6. Compile PHP from source: error: utf8_mime2text() has new signature
  7. Get shell in running Docker container
  8. Antwerp WordPress User Group offering public speaking course
  9. Laravel Forge + Envoyer + Managed Hosting = Nucleus
  10. Why we’ve cancelled our free tier – DNS Spy Blog
  11. Due to CAA records, unable to issue TLS certs for names in private.cam.ac.uk
  12. DNS Research: using SPF to query internal DNS resolvers
  13. A proposal for cryptocurrency addresses in DNS
  14. Chrome & Firefox now force .dev domains to HTTPS via preloaded HSTS
  15. Linux man-pages: man-pages-4.13 is released
  16. Cloudflare now serves F-Root instance
  17. Presentation: Code Obfuscation, PHP shells & more
  18. Laravel Horizon: requires ext-posix, missing from CentOS
  19. cron.weekly issue #97: kernel 4.13, TLS, LLVM, Yarn, Vagrant, AWX, Nginx & more
  20. Coming soon: Oh Dear! – Monitoring for the encrypted web
  21. CAA record checking now mandatory for Certificate Authorities
  22. 2 interesting things happened in last cron.weekly’s newsletter
  23. Release Notes Driven Development (RNDD)
  24. Restore one-click certificate viewing in Chrome
  25. Removing root-owned files as a non-root user
  26. MariaDB: JSON datatype supported as of 10.2
  27. RHEL & CentOS 7.4 restores HTTP/2 functionality on Nginx
  28. Podcast: The Ceremony, the birth of Zcash
  29. Apache httpd 2.2.15-60: underscores in hostnames are now blocked
  30. Choose source IP with ping to force ARP refreshes
  31. mysqldump without table locks (MyISAM and InnoDB)
  32. Unix time 1.500.000.000
  33. Launching the cron.weekly forum
  34. Some more nuances to the systemd debacle
  35. Podcast: Caching using Varnish
  36. Giving perspective on systemd’s “usernames that start with digit get root privileges”-bug
  37. MariaDB MaxScale 2.1 defaulting to IPv6
  38. HTTP/2 push is tougher than I thought
  39. Samba CVE-2017-7494: Remote Code Execution in Samba 3.5.0 and upwards
  40. (Dutch) Tech45 podcast #341: Technologica & WannaCry ransomware
  41. CentOS 7.4 to ship with TLS 1.2 + ALPN
  42. WordPress starts Bug Bounty program on HackerOne
  43. Ways in which the WannaCry ransomware could have been much worse
  44. Chrome to restore one-click certificate viewing in browser
  45. Why the Next 10 Days Are Critical to the Internet’s Future
  46. NIST recommendation: remove periodic password change requirements
  47. Remote security exploit in all 2008+ Intel platforms
  48. How to enable TLS 1.3 on Nginx
  49. Are homogenic nameserver names a single point of failure?
  50. Top 5 security checks for secure, unhackable web applications
  51. cron.weekly issue #77: OpenStack, Moby, Caddy, Devuan, Linuxkit, Tmux, Jenkins & more
  52. Canada Just Ruled to Uphold Net Neutrality
  53. Interview on Laravel Spark & DNS Spy
  54. Follow-up: MIT no longer owns their /8
  55. DNS Spy has launched!
  56. MIT no longer owns 18.0.0.0/8
  57. Nginx might have 33% market share, Apache isn’t falling below 50%
  58. CAA checking becomes mandatory for SSL/TLS certificates
  59. Intent to Deprecate and Remove: Trust in existing Symantec-issued Certificates
  60. cron.weekly issue #72: FreeBSD, lkml, llvm, dnscontrol, buck, ReOpenLDAP, Postfix, Bash, Xargs & more
  61. Finding the biggest data (storage) consumers in Zabbix
  62. CVE-2017-2636: Linux local privilege escalation flaw in ‘n_hdlc’
  63. WordPress on PHP 7.1
  64. Drupal 7.x Services module unserialize() to Remote Code Execution
  65. cron.weekly issue #70: GitHub, Kompose, Usql, tmux-cssh, HAProxy, icdiff, GlusterFS & more
  66. Log all queries in a Laravel CLI command
  67. Podcast: Config Management Camp: Kubernetes, Sysdig & Mgmt
  68. DNS Spy enters public beta
  69. Mitigating PHP's long standing issue with OPCache leaking sensitive data
  70. Cloudbleed: Cloudflare Reverse Proxies have Dumped Uninitialized Memory
  71. Kernel patching with kexec: updating a CentOS 7 kernel without a full reboot
  72. Announcing the first SHA1 collision
  73. Linux kernel: CVE-2017-6074 – local privilege escalation in DCCP
  74. HTML & CSS Is Hard: A friendly web development tutorial
  75. Security is Hard: Where Do I Start?
  76. IETF Draft: Hypertext Transfer Protocol (HTTP) over multicast QUIC
  77. PHP 7.2 to get modern cryptography into its standard library
  78. Introducing Docker Secrets Management
  79. Server-side timings in the Chrome Devtools
  80. Review: Ubiquiti's Amplifi HD, mesh WiFi networking done right?
  81. cron.weekly issue #66: Git Filesystem, Security, JVM, Fission, Habitat, TLS 1.3
  82. Flame graphs for file systems
  83. Brotli compression saves 1.5 petabytes per day at Google’s Play Store
  84. Microsoft announces GVFS: Git Virtual File System
  85. Stop Disabling SELinux: A Real-World guide
  86. Standardising the “URL”
  87. Implementing “Save For Offline” with Service Workers in the Browser
  88. htop Explained Visually
  89. A change of RSS feeds
  90. Look before you paste from a website to terminal
  91. Chrome 56 Will Aggressively Throttle Background Tabs
  92. Return of the Unauthenticated, Unfirewalled protocols
  93. Create a SOCKS proxy on a Linux server with SSH to bypass content filters
  94. Starting with sponsorships for this blog
  95. Despite revoked CA’s, StartCom and WoSign continue to sell certificates
  96. WordPress to get secure, cryptographic updates
  97. Google Infrastructure Security Design Overview
  98. Show the environment variables of a running process in Linux
  99. A collection of Drupal Drush one liners and commands
  100. Staying Safe Online – A short guide for non-technical people

2016 80

  1. In 2017, I’m going to stop watching the news
  2. Mac OSX keeps prompting SSH key passphrase, does not use KeyChain
  3. In virtual environments, less (CPU’s) is more
  4. Apache HTTP authentication in .htaccess
  5. Laravel: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths
  6. Run Nginx proxy in Docker container for HTTP/2
  7. Varnish 5.x VCL configuration templates
  8. Pi-Hole: A DNS-based blacklist for ads and tracking for Raspberry Pi
  9. Varnish Explained
  10. macOS: Convert PDF to PNG files for each page
  11. From MailChimp to Sendy: how I saved 600$ a year
  12. Heads up: CentOS 5 goes end-of-life in 6 months
  13. Varnish Cache 5.0 Released
  14. Podcast: Application Security, Cryptography & PHP
  15. TCP vulnerability in Linux kernels pre 4.7: CVE-2016-5696
  16. youtube-dl: download audio-only files from YouTube on Mac
  17. Mark a varnish backend as healthy, sick or automatic via CLI
  18. Docker Cheat Sheet
  19. zsh: slow startup for new terminals
  20. Podcast: Ansible config management & deploying code with James Cammarata
  21. Awk trick: show lines longer than X characters
  22. Postfix mail queue: deliver e-mail to an alternate address
  23. Chrome 52: return old backspace behaviour
  24. Google's QUIC protocol: moving the web from TCP to UDP
  25. Enable QUIC protocol in Google Chrome
  26. Varnish Agent: an HTML frontend to manage & monitor your varnish installation
  27. Why do we automate?
  28. A new website layout, focussed on speed and simplicity
  29. vsftpd on linux: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
  30. Highly Critical Remote Code Execution patch for Drupal (PSA-2016-001)
  31. How To Get Pokémon Go on iPhone Outside US
  32. The Bash For Loop, The First Step in Automation on Linux
  33. Podcast: curl, libcurl and the future of the web
  34. I started a podcast for sysadmins and developers: SysCast
  35. Limit the runtime of a cronjob or script
  36. The async Puppet pattern
  37. Redis: OOM command not allowed when used memory > ‘maxmemory’
  38. The day Google Chrome disables HTTP/2 for nearly everyone: May 31st, 2016
  39. Podcast: Devops, SSL & HTTP2 op HTTP Café
  40. Apple prepares iOS to move to IPv6-only networks
  41. Security week: 2x High Severity OpenSSL vulnerability & critical ImageMagick flaw
  42. Nginx 1.10 brings HTTP/2 support to the stable releases
  43. Yum Update: DB_RUNRECOVERY Fatal error, run database recovery
  44. Staying up-to-date on open source announcements & security issues via Twitter
  45. Bash on Windows: a hidden bitcoin goldmine?
  46. What happens when you run “rm -fr /” on a Linux machine?
  47. Video: HTTP/2 for PHP Developers at FOSDEM 2016
  48. ssh fatal: Access denied for user by PAM account configuration [preauth]
  49. Running Bash on Ubuntu on Windows: Demo
  50. Ruby gem search: show all remote versions
  51. nginx-1.9.13: no longer retry non-idempotent upstream requests by default
  52. certdiff
  53. Optimize the size of .PNG images automatically on your webserver with optipng
  54. Postfix: cannot update mailbox /var/mail for user, File too large
  55. Mac OSX: mtr: unable to get raw sockets
  56. PHP Warning: Zend OPcache can’t be temporary enabled
  57. Example: set an advanced parameter value in VMware via vSphere PowerCLI
  58. Pre-compress content for Apache to avoid compressing on every request
  59. The “.well-known” directory on webservers (aka: RFC 5785)
  60. Set Access-Control-Allow-Origin (CORS) headers in Apache vhost or htaccess
  61. Remote Code Execution in all git versions (client + server) < 2.7.4: CVE-2016-2324, CVE-2016‑2315
  62. Drupal’s itok parameters explained and a Varnish workaround for different backends
  63. Nginx Proxy: upstream sent too big header while reading response header from upstream
  64. A technical guide to SEO
  65. OpenSSL vulnerabilities: DROWN attack and CacheBleed
  66. MongoDB performance tuning with ‘dex’
  67. Critical glibc buffer overflow vulnerability in getaddrinfo() on Linux (CVE-2015-7547 & CVE-2015-5229)
  68. Slides: HTTP/2 for PHP developers
  69. A clean mailing list browser, focussing on readability
  70. Coming soon: SysCast
  71. Delete files older than X days in Linux
  72. Apache 2.4 AH01762 & AH01760: failed to initialize shm (Shared Memory Segment)
  73. Get the file or directory owner in Bash for use in scripts on Linux
  74. Sort ‘ps’ by memory usage in Linux
  75. Introducing cron.weekly, a new weekly newsletter for Linux sysadmins
  76. Review: Google Chromecast 2
  77. The best tech question to ask in a job interview
  78. apachectl on Linux: get the entire Apache vhost configuration in one output
  79. Grep: show lines before and after the match in Linux
  80. PHP-FPM: failed to ptrace(PEEKDATA) pid 123: Input/output error (5)

2015 183

  1. Use awk to filter log files on values ‘greater than’ or ‘less than’ a threshold in Linux
  2. Podcast: Delving into HTTP/2
  3. Linux Date Format: change the date output for scripts or commands
  4. Drush PEAR channel: Error getting channel info from pear.drush.org
  5. PHP Composer installation fails: file could not be downloaded: allow_url_fopen must be enabled
  6. PHP pear.php.net is using a unsupported protocol – This should never happen.
  7. Very simple ‘git push’ workflow to deploy code on your own server
  8. Identify a physical NIC from the Linux CLI with ‘ethtool’
  9. PHP Session Locking: How To Prevent Sessions Blocking in PHP requests
  10. How to set iTerm2 as the default ssh:// handler on Mac OSX
  11. MySQL: Convert a table from MyISAM to InnoDB or vica versa
  12. What is a 'unikernel'?
  13. Querying JSON data at the command line with ‘jq’
  14. Chrome drops NPN support for HTTP/2, ALPN only
  15. Create a password-protected ZIP file on Mac OSX
  16. PHP’s Memcached sessions: Failed to write session data (memcached) for Magento
  17. Simulate low-bandwidth conditions with Chrome’s network throttling
  18. Auto resize screen size for Windows 10 guest VMs in Virtualbox
  19. Linux increase ip_local_port_range TCP port range
  20. Nginx: Cannot assign requested address for upstream
  21. Enable Keepalive connections in Nginx Upstream proxy configurations
  22. How To Generate a /etc/passwd password hash via the Command Line on Linux
  23. Varnish VCL Syntax Highlighting in Sublime Text
  24. The Lie We Live: The Gigabyte That Isn’t
  25. Firefox Nightly starts marking login-forms in HTTP as insecure
  26. A Distributed Web
  27. 25% of all websites are about to get a REST API
  28. The Ping That Makes a Sound
  29. Boot in single user mode on CentOS 7 / RHEL 7
  30. The Otto Project: Meet the Successor to Vagrant
  31. Terminal escape sequences – the new XSS for Linux sysadmins
  32. Enable HTTP/2 in Nginx
  33. New presentation: HTTP/2: The Next Version of the Internet
  34. CentOS 7 NetworkManager Keeps Overwriting /etc/resolv.conf
  35. Pretty git log in one line
  36. MySQL Back-up: Take a mysqldump with each database in its own SQL File
  37. Install Go 1.5 On CentOS 6 and 7
  38. Foreman 1.9: ERROR: column hosts.last_freshcheck does not exist
  39. Apache 2.4: Unknown Authz provider: ip
  40. The Hidden “Refresh” Menu in Chrome when Developer Tools Are Opened
  41. Nginx SSL Certificate Errors: PEM_read_bio_X509_AUX, PEM_read_bio_X509, SSL_CTX_use_PrivateKey_file
  42. iPhone’s “Field Test” debug screen: Dial *3001#12345#* for the real signal strength
  43. Apple’s DYLD_PRINT_TO_FILE vulnerability: from zero to root in 2 seconds
  44. Bind/Named Crash: REQUIRE(*name == ((void *)0)) failed, CVE-2015-5477
  45. How To Read The SSL Certificate Info From the CLI
  46. Block User-Agent in htaccess for Apache Webserver
  47. What happens to a new URL the first 10 minutes on the internet?
  48. Enable or Disable Service At Boot on CentOS 7
  49. Start or Stop a Service on CentOS 7
  50. Effectively Using and Detecting The Slowloris HTTP DoS Tool
  51. How To Create A Self-Signed SSL Certificate With OpenSSL
  52. How To Use A Jumphost in your SSH Client Configurations
  53. Monitor All HTTP Requests (like TCPdump) On a Linux Server with httpry
  54. How To Clear PHP’s Opcache
  55. supervisor job: spawnerr: can’t find command ‘something’
  56. Logrotate On RHEL/CentOS 7 Complains About Insecure Permissions on Parent Directory, World Writable
  57. Rsyslog Configuration with Dynamic Log File Destination Based On Program Name
  58. How To Take a Screenshot on Your Apple Watch
  59. Apache 2.4: ProxyPass (For PHP) Taking Precedence Over Files/FilesMatch In Htaccess
  60. Increase/Expand an XFS Filesystem in RHEL 7 / CentOS 7
  61. How To Add Secondary IP / Alias On Network Interface in RHEL / CentOS 7
  62. How To Increase Amount of Disk inodes in Linux
  63. Why We're Still Seeing PHP 5.3 In The Wild (Or: PHP Versions, A History)
  64. This American Life: The DevOps Episode
  65. Critical Cross-Site Scripting Vulnerability in WordPress < 4.2.2
  66. Chrome 44 Sending HTTPs Header By Mistake, Breaking (Some) Web Applications
  67. The Worst Possible DevOps Advice
  68. My Apple Watch Review
  69. Enable click-to-play for Flash & Java in Chrome, Firefox & Safari
  70. Apple Favours IPv6, Gives IPv4 a 25ms Penalty
  71. OpenSSL CVE-2015-1793: Man-in-the-Middle Attack
  72. Rethinking Security Advisory Severities
  73. Why Internet Explorer Won't Allow Cookies On (sub)domains With Underscores
  74. Rewriting software from scratch, a lesson learned from Mac OSX 10.10.4’s discoveryd
  75. The Broken State of Trust In Root Certificates
  76. RFC 7568: SSL 3.0 Is Now Officially Deprecated
  77. How SSH In Windows Server Completely Changes The Game
  78. Increasing Nginx Performance With Thread Pooling
  79. Kickstarter Now Available In Belgium
  80. uBlock Origin Now Blocking Access To SourceForge
  81. HHVM Performance Lockdown: Is HHVM Reaching Its Limit?
  82. iOS9 Major Feature: Fixing The Shift Key
  83. Custom Fonts On Kindle Paperwhite First Generation
  84. rtop: Remote System Monitoring Via SSH
  85. Bitrot
  86. Stunt Hacking: The Sad State of Our Security Industry
  87. The Scary Revelation: The Advertising Options On Facebook & Twitter
  88. Understanding the /bin, /sbin, /usr/bin and /usr/sbin Split
  89. It’s Cheaper To Upgrade An Illegal Windows Version Than Buy A New One
  90. Hypertext Transfer Protocol Version 2 (HTTP/2): RFC7540
  91. Linux futex_wait bug
  92. Microsoft Remotely Locking Xbox One’s
  93. Who Came First: The Source Code Or The Compiler?
  94. Scan Your WordPress For Security Vulnerabilities With WPScan
  95. Under The Hood: Facebook’s Cold Storage System
  96. The (Lack Of?) Durability in SSDs
  97. In Defence Of WordPress
  98. uBlock Origin
  99. Security In Medical Equipment
  100. French Law Forces Backdoors On ISPs
  101. What's The Value Of Owning A Browser?
  102. 248 days
  103. Using Webserver Access Logs As A Database Storage System
  104. Increase open-files-limit in MariaDB on CentOS 7 with systemd
  105. Varnish VCL: Case Insensitive Regex
  106. Drupal EngineHack Detection Website
  107. Blogging Tip: Send Yourself Blogpost Anniversary Reminders
  108. Using Zabbix To Notify If Your Site/Domain Makes It To The HackerNews Frontpage
  109. Using JavaScript To Read L3 CPU Cache
  110. Magento eCommerce PHP Remote Code Execution
  111. Nginx Open Sources TCP Load Balancing
  112. Double-clicking On The Web
  113. Open Source Puppet 4 Released
  114. HTTP/1 vs HTTP/2 Page Loading
  115. Varnish Cache 3.0 Is End Of Life
  116. Nginx Getting JavaScript Scripting Engine
  117. Nginx HTTP/2 Support Coming Late 2015
  118. Taking Netflix's Vector (Performance Monitoring Tool) For A Spin
  119. Linux Kernel 4.0
  120. When The New TLD .SUCKS
  121. Microsoft’s Nano Server & Hyper-V Containers
  122. When Mailing Lists Turn Into Online Forums
  123. Chrome Version 42 Starts Marking SHA-1 SSL Certificates As Insecure
  124. HHVM’s Threading Difference – Not The Same as PHP-FPM
  125. The Irony of Random Passwords For Each Service
  126. Mozilla Blocking CCNIC’s CA Too
  127. Hosting Superheroes
  128. Google’s War on China
  129. µPuppet & Ensible
  130. Obsessive Efficiency Disorder
  131. Belgium Leader in IPv6 Adoption
  132. When Private Browsing Isn’t Private On iOS: HTML5 And AirPlay
  133. Silly Little IP Tricks
  134. Life Without Ops
  135. OpenSSL CVE-2015-0291 and CVE-2015-0286
  136. Forthcoming OpenSSL releases
  137. Debug Varnish 4.x on systemd That Fails to Start
  138. Running Varnish 4.x on systemd
  139. Virtual Reality As The Next Step After Reponsive Webdesign?
  140. Drupal engine_ssid_ And engine_ssl_ cookies: You've Been Hacked
  141. Bundling Software Installs With Adware
  142. Up And Close With PHP 7’s New RFCs
  143. Firefox 36 Fully Supports HTTP/2 Standard
  144. Tearing Down Lenovo’s Superfish Statement
  145. HTTP/2 Specification Is Final
  146. Giving HTTPie a Chance
  147. Async MySQL Calls in HHVM 3.6
  148. Three Tiers of Package Managers
  149. Service Side Push in HTTP/2 With nghttp2
  150. Puppet: clearing all or a particular node from PuppetDB (exported resources)
  151. Check if Value is Present in Array in Puppet
  152. FCC: Net Neutrality in the United States
  153. Fosdem 2015 Notes
  154. Deep Insights: The Kernel Boot Process
  155. Docker Storage Performance Tests
  156. Live Migrations for Containers with CRIU
  157. What's New in systemd, 2015 Edition
  158. Ntimed: an NTPD replacement
  159. Running a Tor relay: lessons learned
  160. Quick tests for GHOST gethostbyname () vulnerability (CVE-2015-0235)
  161. My Fosdem 2015 Schedule
  162. GHOST: critical glibc update (CVE-2015-0235) in gethostbyname() calls
  163. Modeling Package Manager Dependencies In Config Management
  164. The PHP Paradox
  165. PHP Benelux 2015 Unconference Schedule Saturday
  166. PHP Benelux 2015: Day One
  167. Meet Microsoft’s Project Spartan, The New IE6
  168. Security Panel Lands In Firefox 37
  169. Nginx sets HTTP 200 OK on PHP-FPM parse errors
  170. A good week for this blog!
  171. PHP 6: The Missing Version Number
  172. The Frontpage of Hacker News: Stats, Graphs & Some Analysis
  173. Learning systemd
  174. PHP7 To Remove Deprecated Functionality
  175. Does SPDY (or HTTP/2) Actually Help?
  176. Enable HTTP/2 support in Chrome
  177. Audi’s Cruise Control “>=” Bug
  178. View the HTTP/SPDY/HTTP2 Protocol in Google Chrome
  179. Recent OpenSSL Security Advisories Are a Good Thing
  180. Flush all the content from Memcached via the CLI
  181. Architecting Websites For The HTTP/2 Era
  182. Making Standard Resources Overwritable In Your Own Puppet Modules
  183. PHP’s CVE vulnerabilities are irrelevant

2014 85

  1. The 2014 Blog in Numbers
  2. The (unexpected?) workload associated with migrating to HHVM
  3. The Infinite File Downloader
  4. Compiling from source faster: multi-threading in `make`
  5. Undoing Years of Optimisations With HTTP/2
  6. Testing Puppet Resources at the CLI
  7. MongoDB startup: /usr/bin/dirname: extra operand ‘2>&1.pid’
  8. The Surprising Mixed Content Handling on SSL/HTTPS Enabled Websites
  9. Replacing Software Stacks Is Never The Solution
  10. Setting HTTPS $_SERVER variables in PHP-FPM with Nginx
  11. List The Files In A Yum/RPM Package
  12. Explicitly Approving (Whitelisting) Cookies in Varnish With Libvmod-Cookie
  13. PHP’s OPcache and Symlink-based Deploys
  14. Nginx & SPDY error: net::ERR_SPDY_PROTOCOL_ERROR
  15. Azure Cloud Outage Root Cause Analysis
  16. Presentation: Managing Zabbix Hosts with Puppet’s Config Management
  17. Enable SPDY in Nginx on CentOS 6
  18. Force Redirect From HTTP to HTTPs On A Custom Port in Nginx
  19. Varnish FetchError http first read error: -1 11 (Resource temporarily unavailable)
  20. Combine Apache’s HTTP authentication with X-Forwarded-For IP whitelisting in Varnish
  21. Reload Varnish VCL without losing cache data
  22. Varnish tip: see which cookies are being stripped in your VCL
  23. Chrome To Explicitly Mark HTTP Connections As Non-Secure
  24. Generate PHP core dumps on segfaults in PHP-FPM
  25. Varnish FetchError: straight insufficient bytes
  26. The Real Cost of the “S” in HTTPS
  27. Apache’s mod_fastcgi and mod_deflate troubles
  28. PHP 5.5 Opcache Settings
  29. Asynchronous PHP
  30. A plea for backwards compatibility breaks in PHP7
  31. Automating the Unknown
  32. Puppet: could not prefetch yumrepo provider ‘inifile’: Section is already defined, cannot redefine
  33. On Timing Attacks in PHP
  34. The Next-Generation PHP Server Stack For 2015
  35. Devuan, the Debian Fork
  36. Search yum for the content of a package
  37. Rebuilding the yum RPM database
  38. Drupal 7.33 performance penalty
  39. Test Gzip Compression of Site via Curl
  40. StartDBSyncers in Zabbix
  41. Varnish FetchError: Gunzip+ESI Failed at the very end
  42. Remote Code Execution via ‘less’ on Linux Boxes
  43. Remove Orphaned Data From Zabbix’s MySQL Tables
  44. Debugging Performance Problems With Zabbix Internal Items
  45. Enable MySQL’s slow query log without a restart
  46. CPU Flame Graphs
  47. Presentation: Mobile Zabbix, Why Mobile Matters (MoZBX)
  48. Presentation: DNSSEC, The Good, The Bad & The Secure
  49. Yet Another Microsoft Windows CVE: Local Privilege Escalation MS14-068
  50. The PHP circle: from Apache to Nginx and back
  51. Follow-up: 3 years of automation with Puppet
  52. A Certificate Authority to Encrypt the Entire Web
  53. Make HTTPerf use a proxy for connections
  54. 3 Years of Puppet Config Management: lessons learned
  55. Remove a single iptables rule
  56. The Chocolatey Kickstarter: Making Windows More Like Linux
  57. REST API best practices and versioning
  58. Running Kali Linux as a Vagrant Box (virtual machine)
  59. Clear APC cache in PHP
  60. Microsofts Open Source Strategy
  61. Microsoft SSL/TLS vulnerability MS14-066
  62. Slow login/DNS via Active Directory on OSX Mavericks and Yosemite (.local domains)
  63. Benchmarking the performance of ‘Wordfence’, a WordPress plugin
  64. A collection of PHP exploit scripts
  65. Firefox Developer Edition released
  66. Behind the scenes at World of Warcraft: the datacenter tech
  67. Patch your webservers for the SSLv3 POODLE vulnerability (CVE­-2014­-3566)
  68. You Need Passion
  69. DNSSEC: NSEC3 iterations too big for weakest DNSKEY strength
  70. Compress a PDF file on Linux via the CLI
  71. Sysdig CLI examples
  72. HHVM versus PHP-FPM 5.4 vs PHP-FPM 5.5: performance comparison
  73. HTTPd: Cannot load mod_status.so into server: undefined symbol: ap_copy_scoreboard_worker
  74. PHP-FPM environment variables are limited to 1024 chars
  75. CVE-2014-0185: PHP-FPM sockets unavailable after updating PHP
  76. OpenSSL: validate that certificate matches / signs the private key
  77. Whois at the CLI: get all IP ranges from an AS number
  78. Debugging HTTP requests to PHP via the CLI
  79. Follow-up: use ondemand PHP-FPM masters using systemd
  80. Scan your network for Heartbleed vulnerabilities with Nmap
  81. Varnish 4.0.0 released together with configuration templates
  82. A better way to run PHP-FPM
  83. Patch against the heartbleed OpenSSL bug (CVE-2014-0160)
  84. Presentation: Code Obfuscation, PHP shells & more: what hackers do once they get passed your code
  85. What if you are the network admin tasked with blocking IPs in Turkey?

2013 10

  1. Puppet performance troubleshooting: using the built-in profiler in standalone puppet apply
  2. Puppet: Error 400 on SERVER ArgumentError: malformed format string – %S at …
  3. Taking a MySQL-dump with a wildcard on table names
  4. Puppet: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: stack level too deep on node something.pp
  5. Read all keys & values from a Memcached instance
  6. Setting custom puppet facts from within your Vagrantfile
  7. Nginx: nginx: [warn] load balancing method redefined
  8. CentOS / RHEL: configure: error: C++ compiler g++ does not work or no compiler found
  9. RVM: Installing Ruby 1.8.7 on Mac OSX 10.8
  10. Gearman Queue error: mysql_stmt_execute failed: Unknown prepared statement handler (1)

2012 64

  1. Stop. Caching. Static. Files. In. Varnish.
  2. Public jPackage Repository Mirror
  3. Using telnet from the VMware 5.x ESXi shell
  4. Now stop using dsbl.org blacklisting: it’s offline
  5. e2fsck: Error allocating directory block array: Memory allocation failed
  6. Facter/Puppet: Could not retrieve selinux: Invalid argument – /proc/self/attr/current
  7. Prevent cronjobs from overlapping in Linux
  8. Reinstall the Linux Kernel on CentOS or RHEL
  9. My thoughts on mobile webdesign
  10. A fix for the Java Leap Second bug
  11. CentOS 6: /usr/sbin/qpidd eating up all CPU (at 100%)
  12. Running php-cgi scripts via the CLI as a webserver would (by faking them)
  13. How to install and use the EPEL repository for CentOS 5 and CentOS 6
  14. Puppet + Razor: pxe boot failing to load with ‘Operating system not found’
  15. Install VMware Tools via the Yum Package Manager on RHEL and CentOS
  16. MySQL: SHOW FUNCTION STATUS WHERE Db = ‘name’: Cannot load from mysql.proc. The table is probably corrupted
  17. Dependency errors for git installs on CentOS with EPEL repo
  18. The insanity of URL shorteners and tracking
  19. Apache + PHP on Ubuntu: apache2filter does not support gzip
  20. How to change the reserved blocks on EXT3 or EXT4 filesystem in Linux
  21. Dependency fail on php-api when installing php-mcrypt or php-mhash from EPEL on CentOS 6
  22. Loading the 3ware/LSI 9650SE drivers into VMware ESXi
  23. Re-enabling IPv6 support on CentOS kernels after update
  24. Autoloading MIB files in client SNMP configuration on Linux
  25. Upgrade your Ubuntu Desktop 10.04 LTS to 12.04 LTS
  26. MySQL error: table is marked as crashed and should be repaired
  27. Zabbix: debugging ‘Lock wait timeout exceeded; try restarting transaction’ on the ‘ids’ table
  28. Importing the Puppet Learning VM into VirtualBox: unknown resource type in hardware item
  29. Nginx and php-fpm: upstream timed out / failed (110: Connection timed out or reset by peer) while reading
  30. Bad ORM is infinitely worse than bad SQL
  31. PHP execution via passthru(), exec(), shell_exec(), …: sh: /php: No such file or directory
  32. Rescan disk devices on a Linux VMware virtual machine without a reboot
  33. What are the ‘encrypted_search_terms’ hits on your website/wordpress blog?
  34. yum update on OpenVZ container: error: cannot open Packages database in /%{_dbpath}
  35. OpenVZ: vzctl enter gives “Unable to open pty: No such file or directory”
  36. Enable IPv6 connectivity for Nginx
  37. Remove a single mail from the postfix queue on Linux
  38. Xapian Bindings 1.2.7/8 in PHP: undefined symbol: zend_error_noreturn in Unknown on line
  39. Using ssh-copy-id on an alternative SSH destination port
  40. SSH logins or rsync’s without using a password prompt
  41. Checking the version of VMware Tools inside a Linux Virtual Machine on ESX(i)
  42. Installing VMware Tools on a Debian 6 Linux Virtual Machine
  43. Incoming bandwidth limitation on OpenVZ with CentOS 6.x running on VMware ESX(i)
  44. Nginx: password protect a directory
  45. On removing users with %postun in RPM SPEC files
  46. Removing a package without its dependencies in CentOS or RHEL
  47. Changing interface back to eth0 from eth1 in Linux (CentOS/RHEL)
  48. The hidden images within PHP
  49. Setting up a catch-all e-mail account on Linux using Postfix
  50. Enable syntax highlighting in VIM for PHP-FPM configurations
  51. Letting memcached only listen on localhost on CentOS/RHEL
  52. PHP: php_value vs php_admin_value and the use of php_flag explained
  53. A vim configuration for the PHP developer
  54. Hide PHP errors and log them to a file or syslog (php-fpm or mod_php)
  55. The bugged sysinfo() call in OpenVZ hosts running Kernel 2.6.32+
  56. Blocking Googlebot/MSNbot/Bingbot in Apache configuration from accessing your server/site
  57. Avoid ‘AllowOverride All’ in Apache to limit disk I/O access
  58. Add ‘Options FollowSymLinks’ and avoid ‘Options SymLinksIfOwnerMatch’ in Apache to save disk I/O
  59. RHEL 6/ CentOS 6: Slow SSH logins with DNS timeouts
  60. The infamous /w00tw00t.at.ISC.SANS.DFind GET requests in your access logs
  61. WordPress plugin: undo the default WordPress formatting (single/double quotes/dashes)
  62. Linux application/script debugging with 'strace'
  63. Plesk: Postfix & authenticated SMTP on an alternative port – login failed, generic failure
  64. WordPress 3.3: Stop replacing double dashes and single quotes

2011 71

  1. Ubuntu 9.10 with VMware Convertor: GrubInstaller failed – /vmware-updateGrub.sh: 38: grub: not found
  2. 2011: An overview of projects & popular blogposts
  3. Plesk & DrWeb: “read error” on e-mails being scanned
  4. Nginx Access Log: log the real user’s IP instead of the proxy
  5. Apache Access Log: don’t log static content
  6. Enabling and disabling PHP’s APC cache on a per Virtual Host level in Apache
  7. Porting standard Apache’s mod_rewrite rules to Nginx
  8. Plesk: passing the authorization headers in PHP when running with FastCGI/mod_fcgid
  9. Zabbix: monitor a TCP port with the Zabbix Agent
  10. Ground rules for when compiling applications from source
  11. Varnish running in foreground but fails to run as service/daemon
  12. Varnish: filter by Source IP using Varnishlog (in Varnish 2.x, 3.x and 4.x)
  13. Varnish: varnishhist/varnishtop: error while loading shared libraries: libvarnishapi.so.1: cannot open shared object file
  14. RHEL6 and CentOS 6: missing libmcrypt and libmhash in default repository
  15. Nginx returning blank white page on PHP parsed with FastCGI or PHP-FPM
  16. Plesk: listing all the mailbox account info (username/password)
  17. Plesk: listing all the database account info (dbname/username/password)
  18. Plesk: show all FTP accounts and passwords
  19. MySQL purge the binary logs from replication (mysql-bin.xxxx files)
  20. Fixing MySQL master-slave replication upon query error
  21. VMWare ESXi 4.1 Update 2: warning: syslog not configured
  22. Changing the time and timezone settings on CentOS or RHEL
  23. Akismet letting you down? Try a simple math question.
  24. Zabbix: zabbix_agentd: Can’t recreate Zabbix semaphores for IPC key 0x123456 Semaphore ID 123456. Operation not permitted.
  25. Zabbix: Can’t recreate shared memory for collector. [too many attempts]
  26. Post-it wars at the office: Mario & Princess Peach
  27. This is what Open Source is about: Mobile Zabbix used on Hospital Ship
  28. 4 days without an iPhone
  29. Plesk: Unable to validate password policy: (1753) There are no more endpoints available from the endpoint mapper.
  30. Pukkelpop: overzicht van de chaos
  31. Find in Bash scripting: paths must precede expression
  32. Postfix in Plesk: Out: 451 4.3.0 Error: queue file write error
  33. Latest tool: QuickDiff – visually showing the differences between text
  34. MySQL: table is read-only
  35. Windows Virtuozzo: unable to copy registry key on container start
  36. Installing the PECL/PEAR mailparse module for PHP on CentOS
  37. Finished a draft Varnish 3.0 VCL for Fork CMS
  38. Checking for MySQL optimizations via scripts
  39. Add an existing user to an existing group in Linux
  40. Useful Varnish 3.0 Commands: one-liners with varnishtop and varnishlog
  41. Posting my Varnish 3.0 configs to Github
  42. VMware ESX(i) & Windows Server 2008: Updated driver for sluggish console access
  43. Plesk Password retrieval via the command line (Linux / Windows)
  44. Fixing Listen IPs In IIS (The network location cannot be reached)
  45. The Kindle (e-Reader): your best travel companion
  46. Getting verbose debug info on nss_ldap in CentOS (LDAP)
  47. Guide: running NginX 1.0 with PHP-FPM 5.3 on CentOS 5.x
  48. Amazon EC² downtime: a collection of horror stories
  49. Using Perl regex for faster grep
  50. WikiLeaks Mirror Hosting Page now offline
  51. Linux: preserving color output on match when piping grep to more/less
  52. How is facebook tracking our (outgoing) URLs?
  53. Rebuilding your RPM package database: fixing RPM/yum problems
  54. My “Real Security in a Virtual Environment” Presentation
  55. Recovering from a DRBD split-brain scenario in heartbeat
  56. The “SHOW PROCESSLIST;” equivalent in Microsoft SQL-Server
  57. VMWare Converter: vmodl.MethodFault (CloneVolume Error)
  58. Firefox extension: the 'Shortlink Revealer' (bit.ly exposer – Proof of Concept)
  59. Getting started with Git: linkpost
  60. CentOS, Git & http-push unavailable (git not compiled with USE_CURL_MULTI)
  61. Profiling: Learning from Engadget's infrastructure on traffic spike handling (ie: iPad2 launch)
  62. CentOS, Apache & mod_fcgid: IPCCommTimeout not working as expected
  63. There’s more to the php.net site than meets the eye
  64. Building your own kernel based on CentOS, 'switchroot: mount failed. Kernel Panic.'
  65. Resizing a DRBD Resource Built On A LVM
  66. Compiling PHP on a 64bit CentOS installation
  67. Silly Yum Tricks: whatprovides, groups & repolist
  68. CentOS, Heartbeat, DRBD & NFS: umount failed, device is busy
  69. Plesk throws “A mandatory extension policy in the request is not accepted by the server for this resource.”
  70. Running phpMyAdmin with APC cache enabled, fatal PHP errors
  71. Net Neutrality: The real internet backbone

2010 47

  1. 2010 in numbers: statistics, statistics & statistics
  2. MySQL – myisamchk: error: myisam_sort_buffer_size is too small
  3. Compile: /usr/bin/ld: cannot find -lltdl, collect2: ld returned 1 exit status
  4. WikiLeaks’ mirrors: where are they hosted?
  5. MySQL: “Table ‘mysql.plugin’ doesn’t exist” after MySQL Upgrade
  6. Tracking root cause of Apache spawned processes: shell scripts / daemons
  7. Df command in Linux not updating actual diskspace, wrong data
  8. Introducing the ‘Decoder, Encoder & Obfuscator’
  9. vCenter Converter: Shrink Disk Size of EXT4 System Not Supported
  10. Plesk 10 Update: Update/Autoinstaller Port Change & Plesk Panel Port Redirection on Virtuozzo
  11. Introducing the Extended Mail Header Parser
  12. A custom init.d start-up script for HAProxy: start, stop, restart, reload, checkconfig
  13. Enabling json_encode And json_decode in PHP < 5.2.0 (JSON)
  14. Advanced Monitoring Of HAProxy With Zabbix Agent
  15. Let Plesk Create Zend Directories Whenever A Physical Hosting (domain) Is Added
  16. Maximizing PHP's Mail Throughput: To Fork Or Not To Fork?
  17. MoZBX: The Mobile Zabbix Client
  18. My BarCamp Antwerp Presentation: “High Availability in IT = AAARGH”
  19. Compile HAProxy With TPROXY Support
  20. Compile a (CentOS) Kernel And IPTables With TPROXY Support
  21. Increase A VMware Disk Size (VMDK) Formatted As Linux LVM without rebooting
  22. Exclude Local Networks Via Juniper NetScreen-Remote VPN
  23. Compiling, Running and Cursing on Chromium OS – Getting It To Work
  24. WordPress v3.1, v3.2: Don’t Replace (Double & Single) Dashes & (Double & Single) Quotes!
  25. Chromium OS: error: RPC failed; result=22, HTTP code = 502
  26. VMware: internal error – vmodl.fault.HostCommunication
  27. Facebook’s Techtalks Worth Watching
  28. MySQL Upgrade To 5.1: Database Name Prefix #mysql50#
  29. Deploying Undersea Cables: Laying The Internet’s Backbone
  30. System Administrator Appreciation Day 2010 @ Nucleus
  31. phpsh: Running An Interactive PHP Shell (Python)
  32. Implementing & Maintaining DNSSEC On Bind9 Nameservers
  33. How, What and Why – On Scalability, Availability & Manageability (Facebook)
  34. Selling A Classic Mini British Open (Special Edition)
  35. TCP Traffic Redirection on Windows
  36. How IPv6 Headers Are Formed, Compared To IPv4
  37. IPv6 And Security: What You Probably Don’t Know
  38. Stateless Autoconfiguration To Replace DHCP For Some Systems
  39. Don't Upgrade OpenSSL If You're Using Plesk (= Broken Controlpanel)
  40. Neighbor Discovery (ND) To Replace ARP In IPv6
  41. IPv6 Address Space & Reservations
  42. Address Types: Unicast, Multicast & Anycast
  43. Address Notations In IPv6
  44. Recycling older IPv6-related posts
  45. “Show Full Processlist;” Equivalent Of MySQL For PostgreSQL
  46. Top 25 Most Dangerous Programming Errors
  47. BackTrack 4 Final Release

2009 36

  1. NetBIOS exploiting
  2. MetaData: I’ll Bet You Thought That Was Private?
  3. Using rsync over cp: don’t we just love progressbars?
  4. Define Happiness: The Act Of Making Someone Else Happy
  5. System Administrator Appreciation Day @ Nucleus = Win
  6. Why We Deserve Our System Administration Appreciation Day
  7. How To Change A Server’s Main IP Address (including DNS records) In Plesk
  8. “See Pricing”, Your Marketing Tip Of The Week!
  9. “Schools Kill Creativity”, by Ken Robinson
  10. Get It While It’s Hot: FireFox 3.5
  11. Slowloris HTTP DoS: Be Afraid, Be Very Afraid
  12. “Are we in control of our own decisions?”
  13. Running IE6, IE7, IE8, FF 2, FF 3, Chrome, Opera & Safari
  14. Windows 7 Release Candidate Available For Download
  15. Webcast: Database Sharding at Netlog with MySQL and PHP
  16. Creating Benjamin Button’s Face Through CGI
  17. What The Pirate Bay’s Guilty Verdict Really Means
  18. Case Insensitive Table And Column Names In MySQL
  19. Compiling PHP With “–with-jpeg-dir” Not Working?
  20. The Importance Of The URL In SEO
  21. Starting The IP:v6::guide – IPv6 Knowledge
  22. On The Subject Of Naming Variables
  23. Connect SQL Server Management Studio Express To Alternate TCP Port
  24. ‘php_admin_value’ Bug When Overwriting PHP Settings
  25. Reverse Shell Implementation in PHP5
  26. PowerShell: Windows Scripting Made Fun Again!
  27. FTP & SELinux: 500 OOPS: cannot change directory
  28. Update A Specific Package With apt-get
  29. Input Validation: Using filter_var() Over Regular Expressions
  30. There’s No Such Thing As Unlimited
  31. PEAR:: Classes Worthy Of Attention
  32. Install New PEAR Packages From The Linux CLI
  33. Method Chaining In PHP – Fluent Interface
  34. Error Handling In PHP’s PDO
  35. Exception Handling In PHP5 – Good Cop, Bad Cop
  36. Using Plesk’s SMTP Server: DNS Blacklist Prevents Sending

2008 117

  1. Save Bandwidth – Enable GZip Compression In PHP
  2. Get Rid Of The ‘WWW’ Prefix – It’s Long Overdue
  3. Permanent Failure – Probe failed: Illegal To: address (invalid domain name)
  4. Google’s Chrome Won’t Hurt IE – Only FireFox
  5. Plesk & MailEnable – missing measp.dll component: Error ‘ASP 0177 : 800401f3’
  6. Plesk: Unable to create system user: Empty error message from utility.
  7. Named/Bind: Could not listen on UDP socket : permission denied
  8. Code Quality & Code Requirements
  9. URL file-access is disabled in the server configuration
  10. System Calls In Apache (Linux) vs IIS (Windows)
  11. Plesk Site Preview Not Working
  12. How Do I Reset My Admin Password Of Plesk (Linux CLI)
  13. Securing The Internet – Google’s Obfuscated TCP
  14. Limiting Resources: nice & ionice
  15. You No Take Brains!
  16. MySQL: #1054 – Unknown column ‘table.columnname’ in ‘on clause’ Even Though Column Name Exists
  17. How To Mount A USB Hard Disk Through Command Line (Linux)
  18. Widgets, Gadgets, … You Can Keep’m!
  19. Domains In Plesk Showing No Disk Usage Or Bandwidth
  20. How To Reset A (Administrator) Password On A Windows Server 2003
  21. Web Seminars – The Good And The Bad
  22. Corrupted dBase Bug (DBF) When Using DATE-Field Type
  23. Reading A .FLV File From Flash – Not Working Because Of Missing MIME Type
  24. Importance Of Hosting & Location In SEO
  25. Fennec Alpha – Just Like The Other Fox
  26. Australia To Become The New China – Internet Censorship
  27. Hardware Testing: Randomly Play “Fur Elise”
  28. Making The Switch To Linux – Keep In Mind … (10 Ubuntu Tips)
  29. Very Handy Linux CLI Cheat Sheet
  30. We Don’t Have To Talk In Riddles
  31. Explaining Port Forwarding & Routing To A Novice
  32. Plesk Issues After Upgrade (Horde Webmail Showing Default Plesk Page)
  33. How The Internet Works – Peering & Transit
  34. Using Google As Your Dictionary?
  35. How To Find Out Your Current Linux Distribution
  36. How To Allow Empty Passwords In Remote Desktop (RDP – WinXP/2000/2003)
  37. How To Bypass Windows 98’s Security System
  38. Restyling – For Better Or For Worse
  39. Prevent Thumbs.db Files From Being Created And Stored
  40. Comics Related To IT/Programming
  41. When A RegEx Goes Bad – For Cisco
  42. Little Coding Habits
  43. ISP: It’s Impossible For Us to Stop Illegal P2P
  44. Top Tools For Penetration Testing (Security Analysis/Hacking)
  45. “The service could not bind instance 1. The data is the error code.”
  46. Install GD Library For PHP5 On CentOS
  47. Demystifying the “duplicate content penalty” – SEO Update By Google
  48. Enable DNS Blackhole Lists & SPF Checks In Plesk’s Spamassassin
  49. How To Compile And Install PHP Extensions From Source
  50. Memory Leak In Google Analytics – Blame Canada?
  51. Projects Page (Finally) Updated
  52. Simple Apache Security Trick – ServerTokens & ServerSignature
  53. A Recipe For Disaster: XSS, Google-Analytics.com And DNS Cache Poisoning
  54. Google’s Chrome EULA Altered – Less Evilness
  55. Easiest Way To Create A MySQL Database Copy
  56. Google Chrome And Its End-User License Agreement (EULA)
  57. Making Full Use Of 'Dig' In Linux
  58. Microsoft .NET Framework 3.0 Update (kb928416) On x64 Server
  59. There Are HTTP Headers, And Then There Are HTTP Headers
  60. How To View E-Mail Headers In Outlook 2007
  61. Why Is Mail Being Blocked By A Spamfilter?
  62. Multiple Headers With Same Name Causing Errors In IIS
  63. “_gat is not defined” Google Analytics Error
  64. Enable showing errors in PHP5
  65. The Right SQL User, For The Right Job
  66. New Boyscouts Website Launched
  67. All Your Base Are Belong To Us
  68. Setting Maximum Width For Image In IE6, IE7 & Firefox
  69. How To Enable PEAR Packages In Plesk
  70. Why Programming Is Less Rewarding Than Designing
  71. Using Conditional CSS Stylesheets For Easier Maintenance
  72. 404 Week At Google’s Blog, Time To Fix Your Headers!
  73. How To Identify Hidden Processes In Windows (Rootkits)
  74. Is Your GMail Notifier Suddenly Broken?
  75. Common Security Flaws In PHP Applications
  76. Using GoogleBot’s User Agent In Your Advantage
  77. How To Identify The Bad Processes On A Hacked Linux Box
  78. Remote Code Execution Through Intel CPU Bugs
  79. DNS Poisoning Attack, How Safe Am I?
  80. Using Proper Header Redirects In PHP
  81. Converting Windows 2008 Server To A Workstation
  82. Plesk Creation Of Mailbox Failed Because Alias Once Existed
  83. Generic Syntax Highlighting For PHP
  84. NsLookup Is More Powerful Than You Think
  85. Controlling the San Fransisco Computer Network – The Powers Of A SysAdmin
  86. How We Save The Day, But Receive No Glory For It
  87. Installing SQL 2000 and SQL 2005 on the same server
  88. Domain theft at a new height
  89. Stress test your windows server
  90. The iPhone in Belgium and the debate of tying sales
  91. Keeping control of airline passengers
  92. How not to sue a BitTorrent tracker (TPB)
  93. IPv4 and IPv6 network charts
  94. Why to avoid URLS ending in .0 for Google search-results
  95. Changing network settings through the windows command line
  96. Update: seo analyzer v0.3
  97. Ajax’s death struggle?
  98. Some must-have cheat papers for designers & programmers
  99. “Net neutrality” at a glance
  100. Beta-launch: seo analyzer V0.2
  101. Learn from the best at Google Code University
  102. Overview of Windows User Accounts (including for IIS)
  103. A technical look at Myspace’s growth
  104. Female sourcecode better than male?
  105. Grandfather builds webbrowser for autistic boy
  106. Some terrible (truely terrible) captcha’s
  107. Repairing qmail mailboxes (with Plesk 8.x)
  108. Germany to invade your home (computer)
  109. It doesn’t take words to be cruel
  110. Screen? A must for SSH
  111. Manage the Qmail mail queue
  112. Creating excel files through PHP
  113. ThePlanet datacenter nog steeds offline
  114. Pimp my S710
  115. Google opens up
  116. Yarr
  117. And all the UPS’ in the world …

Undated 1

  1. independent software products