Blog
How-tos, fixes and the occasional opinion on networking, Linux, PHP and running internet infrastructure. Mostly written so I can find the answer again next time. 215 posts since 2005; RSS feed. Longer pieces are under Articles.
2026
- Default Ubuntu / PHP Versions
The following versions of PHP ship as standard with the referenced LTS versions of Ubuntu. See Ondrej Sury's defacto standard PPA to install other versions. --- --- Ubuntu Version…
2025
- Reducing the Number of Physical Volumes (PVs) in LVM
The legacy "MBR" partitioning scheme limits the number of drives to four and, on some older virtual machines, I fell into a trap of expanding LVMs by adding more physical volumes.…
- Defualt Ubuntu / Kamailio Packages
The following versions of Kamailio ship as standard with the referenced LTS versions of Ubuntu. --- --- --- --- Ubuntu Version Kamailio Version Release Notes Upgrade Notes 20.04…
2024
- Adding Versioning to an Existing MkDocs Site
IXP Manager uses MkDocs with Material to power its professional documentation site at <https://docs.ixpmanager.org/ , which is hosted via GitHub pages. This all sounds convoluted,…
- Migrating from MariaDB to MySQL
A common way to affect such a migration is to use mysqldump to extract the data from MariaDB and then to insert it into MySQL. Assuming a reasonably simply situation, there will…
- LVM: error: disk 'lvmid/(uuid)' not found.
The dreaded Linux server that does not start up after a reboot. There are many online articles on how to fix this but there is also a simple solution that has worked for me. Boot…
2022
- Upgrading Legacy Versions of Ubuntu
The standard Ubuntu versions go EOL quite quickly and it's easy to miss the upgrade window such that running do-release-upgrade yields: In this example, Ubuntu is looking to…
- Laravel 8 + Jetstream 2 + Livewire + Mix + NPM + Datatables
A post for Google's crawler as this took me far too long to get working and the many many many Google hits on the topic all proved mostly unhelpful. On a simple Laravel +…
2021
- IXP Manager v6
Over at INEX, we released v6.0.0 of IXP Manager last month. At this point, the platform is supporting 175 exchange points around the world. One of the biggest changes in v6…
2020
- Upgrading Legacy Versions of IXP Manager
Legacy installations of IXP Manager can be very difficult to upgrade as you can find yourself in a dependency nightmare whereby the old version of IXP Manager will not run on…
- Logging Changes in Laravel Eloquent
So you need to log changes to some / all database records, who made them, when and what was added / changed deleted? An easy an effective way to do this with Laravel Eloquent…
- Using IXP Manager's Grapher API
We call IXP Manager's statistics and graphing architecture Grapher . It's a backend agnostic way to collect and present data. Out of the box, we support MRTG for standard…
- Using Laraval Eloquent Models for API Results
There's a very interesting package called calebporzio/sushi for Laravel that allows one to use arrays as Eloquent drivers / sources of data. @calebporzio posted his own example of…
- Useful Git Links
A live document updated over time to collect various Git related links that I find useful. Official Documents - Official Git reference manual - Official Pro Git book My Own…
- When Vue.js Is Too Much
While Vue.js' popularity continues to sky rocket, there are some alternatives when you want to keep the declarative style but Vue.js is far too much for smaller requirements. One…
- Something in the Water
I've just finished Something in the Water - How Skibbereen Rowing Club Conquered the World by Kieran McCarthy. It's excellent. You'd see this book on the shelf and be a little put…
2019
- Kamailio v5.3 and MySQL 8
As installed on Ubuntu 19.10, Kamailio v5.3 will not work out of the box with MySQL 8 due to changes in the way in which users are created and privileges granted between MySQL 5.x…
- A Whirlwind Tour of Ireland's Internet History
I had the pleasure of giving a talk at HEAnet's National Conference 2019 last Friday on Ireland's internet history as seen from INEX's perspective. HEAnet is a founding member of…
- Single-Page Applications - New Laravel Frameworks
Single-page applications (SPAs) are web-based applications that rewrite the current browser DOM rather than doing full page reloads. They look and feel responsive and crisp but…
- WireGuard - Linux Based VPN Server for iOS
Okay, I lied. WireGuard won't just run on Linux for the server side but that is what it was originally designed for. Linux is the first class citizen as the WireGuard…
- Upgrading to PHP 7.3 on Ubuntu Bionic 18.04 LTS
Ubuntu 18.04 ships with PHP 7.2 by default but there are various reasons why you may wish to upgrade to newer versions. For example, active support for it ends later this year -…
- Migrating Legacy Web Applications to Laravel
I gave a talk on migrating legacy web applications to Laravel at last year's Laravel Live UK conference in London. Those that rated it gave it high marks which is always brilliant…
- Switching Between PHP Versions on MacOS
When switching between different PHP projects (or different branches of one PHP project), you often need to switch PHP versions. Particularly as older libraries will not run on…
- Three Rock in the Fog
A quick New Year's walk up to Three Rock and the Fairy Castle in the fog this morning. - - - - You can normally see Dublin here! - The Fairy Castle.
2018
2017
2016
2015
2014
- Nagios Plugin to Check Extreme Networks Devices
- OS X Built-in tftp Server
- 5 Days in Dubai
- IXP Manager - Planning for v4
- ViMbAdmin and Vacation / Out of Office Auto-responders
- Email Templates - Useful Links
- Cordova, Facebook, Android and no Eclipse
- Net Neutrality
- Development Contracts
- EU Data Retention Directive Declared Invalid
- Peering Week Articles on trefor.net
- Well, there goes my day...
- Virtual Mail with Ubuntu, Postfix, Dovecot and ViMbAdmin
- Doctrine2 Provider for Laravel 4 Authentication
- Doctrine2 Service Provider for Laravel 4
2013
- Querying Cisco MST Port Roles via SNMP with OSS_SNMP
- Using an Apple Keyboard on Virtualised Ubuntu
- An Autumnal Deer Park
- Useful RIPE Database Links
- Making a Console Cable for Soekris Boxes
- Reflections on the Result of the Seanad Abolition Referendum
- Pastebin Alternatives
- Olivia O'Leary Makes the Case for Saving the Seanad
- On the Referendum to Establish a Court of Appeal
- Save Seanad Éireann
- Popular Science Shuts Down Online Comments
- Bird / Quagga with MD5 Support for IPv4/6 on FreeBSD & Linux
- Enabling External Commands in Nagios / Ubuntu
- Translating SNMP OIDs Using MIB Files
- Nagios / Icinga Alerts via Pushover
- Recovering MySQL Master-Master Replication
- DNS Blacklists, DNS Monitoring and Related Links
- Random Links on Writing (Technical) Books
- Dovecot - checkpassword - bash
- NOCtools and OSS_SNMP Get Support for Multiple Spanning Tree (MST) Protocol
- Irish Radio Stations on Linux (2013)
- Git Tips From the Pros
- Synchronising Microsoft Exchange to Another IMAP Server
- MySQL 5.6 - Memcached / NoSQL Support and More
- Woot! We hit 50Gbps at INEX!
- Monitoring LDAP - Example with Munin
- Adventures with LDAP (OpenLDAP) - SSL, Multi-Master Replication and Monitoring
- Multi-Master LDAP Replication
- Securing LDAP with TLS / SSL
- Creating an LDAP Addressbook / Directory
- For OpenVPN Fans - Optimising for GE Networks
- Git Web Applications (aka GitHub Alternatives)
2012
- Apple OS X as an NFS Server (with Linux Clients)
- Monitoring SSL Certificate Expiry Dates with Nagios
- Residential Property Price Register
- Nagios Plugin for Checking Backups via rsnapshot
- Analysing MySQL Slow Query Logs
- So it's finally happened...
- Thunderbird 15 Released with Chat - But Shite Error Handling
- Anonymous Objects in PHP
- Try Git In Your Browser
- Two Git Branching Models
- Specifying Specific SSH Keys for Git Remotes
- Migrating SVN with Branches and Tags to Git
- Centralised Logging
- Monitoring Asterisk via SNMP (with OSS_SNMP)
- NOCtools – A Mixed Bag of Tools and Utilities for NOC Engineers
- A PHP SNMP Library for People Who HATE SNMP, MIBs and OIDs!
- What the Hell is INEX? An IXP?
- Follow Up - IPv6 Statistics at INEX
- World IPv6 Day with Irish Statistics
- Top 15 UI Libraries on GitHub (with 1500+ watchers)
- Interesting Network Infrastructure Developments
- Ubuntu 12.04 (Precise Pangolin) and PHP 5.4 (again)
- Joseph Mallozzi :: Remembering Joel Goldsmith
- Ubuntu 12.04 (Precise Pangolin) and PHP 5.4
- Engineers Ireland - IPv6 Presentation
- Essential Windows Software for a Fresh Install
- New Replication Features in MySQL 5.6
- ViMbAdmin 2.1 Released - POP3/IMAP Access Restrictions
- "Learnings from open-sourcing Bootstrap"
- Looking at New Features in PHP 5.4
- TallyStick, ViMbAdmin and a CSS/JS Minify Tool
- "Go Faster" Websites - Introducing Minify
- ViMbAdmin :: New Release 2.0.6
- ViMbAdmin :: Major New Release :: V2
- Look What We Just Made: TallyStick
- We've Just Launched TallyStick
- Today's Links - 2012-01-18
- Asterisk with SS7 via Wanpipe, Dahdi and libss7 – with ISUP SAM support
- 2011-01-02 – Today's Links
2011
- 2011-12-20 - Today's Links
- 2011-12-19 - Today's Links
- 2011-11-04 - Today's Links
- We've Released Some of our Nagios Plugins
- Some New Nagios Plugins
- ViMbAdmin - Migrating to github
- So I've Made the Switch from SVN to Git...
- Three Rock Masts
- Duke Nukem Never Comes Early
- Data Centre Technical Services
- Engineers Ireland IPv6 Presentation
- Curtains for SGU and the Stargate franchise
- Benchmarking the Mikrotik Routerboards RB750 and RB750G
- Benchmarking the Mikrotik Routerboard RB1100
- ViMbAdmin - We Have a Logo!
- World IPv6 Day - Do Something - Anything!
- We're IPv6 Ready! Are you?
- We're IPv6 Ready! Are you?
- Introducing ViMbAdmin – Virtual Mailbox Administration
- Using Doctrine ORM with Zend Application
- Using Doctrine ORM with Zend Application
- Doctrine ORM - Find Many to Many Objects Without a Relationship
- Emily Enjoys the Arrival of Spring!
- Introducing ViMbAdmin - Virtual Mailbox Administration
- Querying for DNS Glue Records (using dig)
- Useful RANCID Debugging Tips
- IANA IPv4 Free Pool Exhausted
- GIMP: Change Background from Black / White to Transparent
2010
- INEX Breaks 10Gbps Barrier - Again
- Changing a User's UID on Apple XServe / Snow Leopard
- Fix for Silly Annoying FreeBSD PHP Ports Errors
- INEX Breaks 10Gbps Barrier
- IPv6 - Are You Ready?
- Irish Radio Stations on Linux
- Good Experience with the CSO and Revenue
- Database Design for Doctrine
- Combatting SPAM in ISP Mail Servers
- Testing SPAM and Virus Filters
- We're Now Available Over IPv6!
- Emily in Bellermine Park
- PostgreSQL 9.0 Released with Mission Critical Features
- Asterisk SIP Brute Force Attacks on the Rise
- SIP Brute Force Attacks on the Increase
- Go That Way, Really Fast
- Link: MySQL Best Practices
- Continuous Integration for PHP
- HTTP Streaming with Encryption under Linux
- Open Solutions is Hiring
- Encoding Video for the HTC Desire
- Encoding Full HD as FLV (for Gallery3)
- Emily @ Glenroe Open Farm
2009
2008
2007
- Recovering an LVM Physical Volume
- Amazon Web Service's ec2-bundle-image on Ubuntu
- Nagios Plugin to Check the Status of PRI Lines in Asterisk
- Easy PHP Search in Firefox
- lft :: Layer Four Trace
- Want to Publish Your Own Book?
- Nagios Plugin for the Promise VTrak 200i
- Nagios Alerts via SMS with Kapow
- O2 XDA Exec as a Modem
- Putting /etc Under Subversion (SVN)
- OpenVPN "Just Works"
- IPMI Sensor Data on Dell 1850s and 2850s via SNMP and Cacti
- GCC Optimisations per CPU
- IPv6 Blasts Into Orbit
- Sangoma Inconsistancies with Latest Zaptel-1.4
- Interesting UKNOF Talks
- SNMP Polling Cisco AS5300's for E1 Channel Usage (with Cacti)
- Make room PLEASE!
- An Apology to Wesley... ish...
- My inner geek awakened...