Repairing HFS+, Recovering Data

So my downstairs neighbour’s macbook died the other day. I wasn’t surprised it died, it was a 2010 MBP. Considering it lasted 12 years before suffering a terminal logic board failure, I’ll write up as “pretty good going”. Mind you, I did replace the CPU fan a couple of years ago, and swapped the original HDD for a samsung SSD about 4 years ago. Funnily enough, neither of those parts were what failed this time....

July 11, 2022

Building a Cheap-ass VPN for AWS

For me, one of the most appealing features of AWS is the ability to connect securely to an entire Virtual Private Cloud (VPC) of resources over a Virtual Private Network (VPN). Unlike the VPN technology that’s so commonly and popularly marketed on youtube adverts 🙄, a VPN to a VPC is a secure private link between your router and a virtual router within AWS. AWS offer a Site-to-Site VPN as a managed service, but configuration can be a bit of a minefield to the uninitiated....

February 6, 2022

IPv6 Only EC2 - Is it now a reality?

Short answer: No. Actual answer: Nearly, but not quite. My initial curiosity around this was the following passing thought: “If EC2 supports IPv6 Only instances, and AWS Systems Manager Agent supports IPv6, then can I have access via Session Manager and an Egress-Only Internet Gateway – and remove the requirement for a costly NAT gateway for private subnets?” Let’s break that down into some smaller tasks. Create an IPv6-only Subnet with a ::/0 route pointing at an Egress-only Internet Gateway (EIGW) Create an instance in that subnet....

January 31, 2022

Terraforming RabbitMQ on AWS for Celery

I’ve been making things with Django since around 2009. Usually I just deploy a thing onto a DigitalOcean droplet, and move on. For an interesting challenge this time around, I thought I’d make a thing that’s as AWS native as I possibly can, whilst keeping within the Free Tier. I wrote last week about the difficulties surrounding the fact that the AWS Free Tier doesn’t include Route53. This particular Django project has a ‘requirement’ that some of the processing of requests is actually queued, because it can be a bit on the time consuming side, potentially, so it’d make sense if that happens via a task queue....

January 31, 2022

AWS Cloudfront and Cloudflare DNS

One of the things that I find most surprising about AWS’s Free Tier, is that it doesn’t include Route 53. I mean, you get a very ample amout of DynamoDB storage (25GB), a million Lambda requests a month - always free.. And 12 months of free EC2 micro instance, and RDS – enough to build out a small project or home lab without incurring fees (Be careful, though, and always set up billing alerts....

January 23, 2022

Migrating this Blog

I’ve been maintaining this blog for a very long time. I actually know exactly how long (since 2008), because I’ve been through every single article in the last few days, and re-formatted everything in Markdown. Originally, this blog started off as a Wordpress site, then became something in Perl, then became something I wrote around Django 0.9. The Something based on Django lasted unti fairly recently, when I basically became bored of maintaining it, and didn’t particularly want to try and migrate it to a later version of Django....

December 29, 2021

Monitoring the Systems that Monitor the Weather

A few days ago, I wrote about how I built a system for monitoring the weather using Arduino, and InfluxDB and Grafana. InfluxDB is a wickedly cool Time Series Database, which makes it super easy to store time-based measurements, such as weather measurements, but also more traditional metrics, like server CPU and disk utilisation. In the past, I’ve used Munin, an RRDtool based monitoring utility, but it feels kind of clunky these days, and RRDtool can be a bit of a bugger to extract data back out, and there’s a certain degree of lossy compression in the graphs too, which can make particularly spiky events look a lot smoother than perhaps they might be....

June 24, 2017

Monitoring the Weather

The weather has always fascinated me, ever since I was a little kid. Watching clouds grow through sunny summer days, the eventual abrupt rainfall and cacophony of an evening thunderstorm. Sudden run-for-your-life rainfall, and gusty winds that send everything scattered across the yard (https://www.youtube.com/watch?v=FRIaKMdO-Vw). Over the years, I have built many little widgets and gadgets for measuring and observing the weather, from homemade anemometers made of 2 litre soda bottles, to seaweed hygrometers and a balloon barometer....

June 11, 2017

Simple 2-Factor Auth for Linux or Unix with Duo

I’ve been playing with 2-factor authentication a lot lately, either commercially / within the enterprise with RSA SecurID, or at home, with a variety of services, such as Google Authenticator, Symantec VIP and most recently, Duo Security. RSA SecurID is a bit of a pain to set up, but it does seem to work well in the enterprise. It’s too expensive to consider for home use, but for a VPN, it’s pretty good....

June 11, 2017

COTS Series: Endpoint Antivirus/Antimalware

A few months ago - quite a few months ago now actually, I started a project looking at the potential replacements for traditional AntiVirus (AV). Note: I use the terms virus and malware pretty much interchangeably in this article, antivirus and antimalware too. I’m wrapping a bunch of different types of malware and virus up with trojans and worms and ransomware and everything else that you get into a single thing....

May 17, 2017