The big data migration

After 1,000 papercuts, I’m about to do something I never thought I’d do. I’m dropping my iPhone, and buying an Android phone. I’ve toyed with the idea for a while, and I’ll go through some of the reasons, and also document the changes I’ll be making to my tech. I’ll need to find alternatives to iCloud services like Photos and FaceTime; and shared calendars, location, and passwords. But here’s the tough part. I’m not just dropping Apple for Google. If anything I’m even less likely to trust my private data to Google than I am Apple. This is about taking back control of my own data, and giving me the freedom to use whichever phones, computers or other devices I decide to use.

So long walled garden. It’s been a chore.

My Apple credentials

I’ve used Macs since around 2002, when our college design department had a fleet of brightly coloured iMacs. I learned to write HTML, use Photoshop, make Flash animations, and produce high quality printed material in that lab. Having grown up with the cheapest hand-me-down PC hardware, the Macs were immediately appealing to me. They had whimsical animations for no good reason, everything on screen looked fantastic, and the computer got out of the way and let me do my work. Within a few months, I’d bought myself a second hand iMac on ebay, and started upgrading it. The iMac started life with (i think) 128MB of RAM, and a 6GB Hard Drive and ran Mac OS 9. When I finished with it, it had 1GB of RAM, an 80GB Hard drive, Wi-Fi, and was running Mac OS X 10.4 Tiger.

A few years later, I saved up £1,200 and bought a brand new Core2Duo white flat screen iMac. I’d continue to use that iMac for around ten years, through various upgrades to the RAM and internal disk.

Around 2016, I finally needed something newer. The operating system was getting too old, and I couldn’t update some of my apps. This was a particularly poor time to be an Apple fan, with the “MacBook Escape” generation of Macs with few ports, low RAM, low capacity SSDs, and ridiculous prices to upgrade them. The worst part was although the SSDs were removable, they were proprietary, and third party options were slow to arrive, or never did.

Enter the Hackintosh

I’d already experimented with Hackintosh computers before, when I needed a couple of workstations with accessible SATA ports to hot-plug hard drives. My lack of appealing Apple options led me down this route again. This was a great time for hackintosh computers, as Macs had never been so close to generic PC hardware. I built a nice looking small black tower, with 1TB SSD, 16GB RAM, Quad core i5 processor, and NVIDIA GPU for under £1,000. It fairly closely mimicked the specs of a 2015 iMac, and lasted up to MacOS 10.15.7 Catalina. I’m still using that computer now. To replace it with a current iMac would cost at least £2,199 to have the same RAM and Storage. Yes it would be Apple Silicon, but how are the current storage and RAM options still so bad?!

I could probably comfortably run this PC on Linux for another ten years, so we’ll see if that’s something I switch to in the future. A more pressing issue is my iPhone.

iPhones

My first iPhone was a hand-me-down 3GS. Then I got a 4S when somebody in my family upgraded their yearly phone contract. A few years later I bought my first new iPhone, an iPhone 6S. I went through some hassle with that when it was part of the BatteryGate scandal, where it would randomly shut down at around 30% battery, and then Apple issued a software update to throttle the CPUs. I took the phone to an Apple store because of the random reboots, and got given a replacement phone on the spot.

That phone lasted until 2018, when I bought an iPhone XR. it was £724 for the 128GB one, and I traded in the 6S for a small discount. It has been a great phone. It had two-day battery life, was super fast, and is still running the latest version of iOS in 2024. But it is showing some age now. It feels sluggish, the battery although still getting through the day is running closer to empty by the time evening comes round.

An iPhone 15 would cost a little over what I paid for the XR, so that would be the option. £799 for 128GB.

My options

To get all my kit back up to date, I have options.

Stay with Apple

New iPhone 15: £799
New iMac: £2,199 (with ethernet, 4 ports, 16GB RAM, 1TB SSD (yes, the same spec as my 8-year old hack)
Total: £2,998

Or

Move my data out of iCloud to a Synology NAS.
Keep my PC but move to Linux.
Get an Android phone. — Ha! As if I’d ever use one of those junk things.

But then I saw the Nothing phone. And more recently, the CMF phone 1 by Nothing. It started a few wheels turning, so here’s the cost for that:

Synology DS124: £140
8TB NAS disk: £170
8TB backup disk: £140
CMF Phone 1, by Nothing: £179
Total: £629

The hard part will be moving all my cloud stuff away from Apple. Once that is done, I could still use an iPhone, a Samsung Galaxy (yuck), a Windows PC (double yuck), a Mac, A Raspberry Pi, whatever. But I would no longer be tied to throwing away perfectly good hardware, just to get security updates.

The Synology arrives today, and that will be the start. I’ll get that set up and migrate my photos and media over to it. Then I can turn off iCloud photos, and drop my iCloud subs to the minimum.

After that, I’ll see if I can live with the CMF phone. There is something intangible, that I just can’t stand with other Android phones compared to iPhones. Nothing OS looks different, and I hope their attention to design will give me that feeling I’ve come to expect from my gear. (foreshadowing…)

I’ll post the process of setting up the Synology next, and see how happy I am with that as a partial iCloud replacement.

Ford Transit Custom 2018 Fuse Diagram For Dashcam

Disclaimer. This is what worked for me, but copy anything like this at your own risk!

The van is a 2018 Plate Ford Transit Custom 290 Limited, L2H1.

It took a little bit of probing with the multimeter to find suitable places to install a fuse tap on this van. Our dashcam (Auto-Vox V5 Pro*) required a permanent and switched 12v connection, so these are the ones we used. Also note that I’ve rotated the diagram round to show it as it appears in the van. For the ground connection there was a suitable nut near the ODB port to the right of the fuse box.

Other things to note are the use of tiny little “Micro 2” fuses.

I was advised to avoid tapping into fuses that power critical safety features (ABS etc), so make sure to check your own booklet that these locations are also safe for your van. This van doesn’t have any rear windows, so that’s why we chose these particular fuses.

The Dashcam

It’s worth also noting that this van has a huge lump of black plastic where a rear view mirror would usually be. Fortunately there was a mirror mount under there, but unfortunately the front camera is largely blocked by the plastic. We’re currently prototyping some solutions for this.

Ender 3 v2 Stringing Fix

Skip to the fix >>>

I’ve been using a Creality Ender 3v2 for around a year now. It’s my first 3D printer, and after learning to successfully level the bed, it’s been pretty foolproof to get decent prints.

poor vs good retraction settings
Problem vs Fixed retraction settings

I recently got asked to print some dinosaurs for a kid’s birthday cake, and that’s when my troubles began.

Stringing

After finding and modifying some models to fit my needs, I started printing and got awful strings of filament all over the place. It’s not a problem I’d had before, so I started googling and found that my PLA was probably picking up moisture. It’s been a pretty damp few weeks.

Baked PLA

I “baked” the PLA in my oven at 40º for around three hours, and tried printing again. Still no improvement, so I loaded up a fresh pack of filament. Annoyingly, the prints were still a mess, so I assumed I’d knocked or messed something up. I started printing tests and all sorts to diagnose the problem.

The Fix (Max Retraction Count)

During all my test prints, I was messing with some Cura retraction settings. At some point I’d reduced the “Maximum Retraction Count” from a default of 100 down to 5. This effectively turns off retractions after 5. God knows where I read that as a solution. Changing it back to 100 immediately sorted the problem. Incidentally, the retraction is set at 7mm, but I could probably go lower know I’ve found the issue.

Next, I’ll get a proper filament dryer and retry the old filament again.

Pi LED Blinking When Switched Off

I’m writing this up, as I couldn’t find any relevant posts when I first had this problem, and also because the solution was very unexpected, and save me from something potentially quite dangerous? Feel free to skip to the recipe here.

Background

Since setting up an Octopi server on a Raspberry Pi 3B+ last year, I noticed that the red LED would sporadically blink on, even when the power was physically switched off. I never wired the Pi directly into the 3D printer, so it’s connected to an official Pi USB PSU, and that’s connected to an extension strip with individual switches for each socket.

That setup has enough strangeness that I thought maybe the Pi was super sensitive, and picking up some sort of ghost current through the extension lead or something. Maybe the switches were not great on there. The problem was that everything worked fine, so I never really investigated it much further. But it always bothered me.

Fault

I had a simple socket tester that I’d picked up in screwfix. It tests for common faults like missing connections, switched wires etc. I plugged it in to the extension lead. Interestingly it started beeping before I’d even switched the power on to the switch. I unplugged the extension, and tried the tester in the wall socket. The sequence of pulses suggested that the Live & Neutral wires were switched over. Later I isolated the power and confirmed that the Live & Neutral were switched. A few minutes later I had them wired back the correct way, and put everything back together.

I know that AC devices will work quite happily with the Live & Neutral either way round (they alternate after all). It must have been like that for at least 8 years and hadn’t caused any other problems. All the wall sockets in the house are double pole switched, which disconnects both Live & Neutral when the switch is off. The problem I had is that the switch was being left on, and then I guess the extension cord was just switching off the Neutral, which should have been the Live. Quite how dangerous that is, I don’t know, but I’m glad I tracked it down and fixed it.

Solved. Now the socket is wired correctly, the tester is happy and the Pi no longer blinks the phantom red LED.

Update

I just couldn’t help finding out how dangerous the switched wires could be. It seems like there is a fair bit of debate, but in short, it can be very dangerous. Devices that would be otherwise disconnected from the mains, will instead be live, and just waiting for a fault to complete the circuit via your own delicate body.

Virtualbox 6.1 Mac Host & Windows 10 Guest USB Passthrough Problem

I’ve used Windows hosts on a Mac in virtual box for years, but the other day I had to set one up quickly on a spare machine to make an installer USB for a Windows 10 PC. I won’t go into the VM setup process, as that’s pretty well documented, but the USB problems I had were much harder to track down.

TL;DR

Install the Extension Pack on the host (Not guest additions in the guest, although you should do that anyway)

USB Passthrough

It’s common for a VM guest to need access to one of the host USB devices. In this case a USB stick.

I had everything setup as normal, used a filter to select the USB stick I wanted to pass into the VM, the Windows VM could see the USB appear in Device Manager but it had a dreaded “unable to start device” ??

Why?

For some bizarre reason, the default virtual USB hub is just USB 1.1. After installing the extension pack, I could select USB 2.0 or 3.0 and voila, the USB stick mounted as normal (and I could proceed to create the install USB).

I’m not sure if I already have this installed in my usual VMs and that’s why I’ve never had the problem, or if something is different about this setup, but it totally fixed my problem.

Data Recovery in Portsmouth

If you search for Data Recovery in my city of Portsmouth, you’ll be forgiven for thinking there are a whole bunch of companies based here, all competing to recover your files.

Portsmouth Data Recovery Search Results

In reality, there is an ad for a national mail-order service based in Wales, and a local IT Support / PC repair shop, all competing for the relatively niche business of data recovery.

I’m not saying there’s anything wrong with those other services, but they might not be what you’d expect. For example, none of the testimonials on datarecoveryportsmouth are recent, or even for data recovery. They seem to be reviews of an IT Support company. (a laptop battery and Smart TV are nothing to do with data recovery!)

Data Recovery Portsmouth Reviews

These type of results are not unique to data recovery services. If you ever search for any local service, chances are the one you want could be way down near the bottom of the results.

In the interest of transparency, I work at one of these companies, but that’s why I noticed these odd search results.

If you need data recovery in Portsmouth, consider DataQuest. We’re actually based in Portsmouth, and we’ve been recovering data since 1998. It’s our core service, we have great success rates, and all of our reviews are for data recovery!

Skylake 2016 Hackintosh

I’ve been waiting what feels like forever for Skylake systems to make the tonymac buyers guide. They finally seemed pretty stable, especially as more genuine Macs made the update to Skylake. I wanted a kind of middle-of-the-road setup to replace a 2006 white iMac I’ve been using from new. Being stuck on 10.7 was starting to cause me trouble, and the 3GB maximum RAM was a nightmare!

I bought most of the parts from the buyer’s guide links. The case I liked was temporarily out of stock here in the UK, so I tried the CIT Barricade instead. It’s a decent small tower, maybe even smaller than it looks online.

Overview

I’m happy to report that the system is now updated to macOS Sierra 10.12.2 & running well with sleep, audio, Wifi & ethernet all working. I’ve noticed a minor hassle that headphone sensing won’t work after a reboot, but I’ve not bothered tracking that down yet but it looks like CodecCommander should sort that out. There were a few snags along the way, which were unexpected after my last successful build. My previous hackintosh was a GA-Z77N-WIFI based system running Mavericks and needed very little modification to reach 100% functionality.

Sleep / Wake & System Definition

Sleep / wake is still causing problems when using the integrated Intel HD530 GPU, so I bought the cheapest NVIDIA GPU on the list. I’m usually happy enough with the built-in GPU, so don’t need anything fancy. Sleep / wake is much more important as this is a home system that won’t just be used by me. This was the first cause of trouble for me. After changing the system definition from default iMac14,2 to iMac17,1 for native Skylake power management & chipset support, I lost output to my screen. I used the USB installer to reboot and change the system definition back while I searched for a solution. The root cause seems to be something to do with the hacky way Apple runs Retina iMacs that disables output from the second GPU if two are installed. Fortunately there is a patch that prevents this behaviour, however-patching is needed after software updates. I’ve yet to try an alternative patch that looks like it may install into the Clover config and therefore survive updates.

CPU / Cooler

With the GPU problem solved I was able to switch to iMac 17,1 and get native Skylake CPU power management etc. This sorted sleep / wake, and also got the CPU power management running correctly, as noted by the fan getting loads quieter. A quick note about the cooler (fan) options for these new CPUs. They are pretty limited at the moment, especially in my space-limited case. Despite the awful reviews for noise, I decided to try the stock cooler that came with the CPU. It is every bit as bad as everyone says it is. I’ve not even checked the temperatures as the noise from it is already unbearable. I’m just about to replace it with a Gelid Siberian cooler instead. 

Gelid cooler is now installed & way quieter than the stock intel fan. It uses push-pin installation so there was no need to remove the motherboard. This improvement has now made the hackintosh quieter than the old iMac it has replaced.

Audio

Next problem was ALC892 audio. Both ALC892 & 100 series audio need to be checked in Multibeast for working audio. Not a big deal, but easy to overlook. Still yet to resolve headphone sensing after sleep, see note above.

USB

Although my front panel USB ports worked from the start, I didn’t think to check the ones on the back. I realised the block of 4 USB 3.0 ports didn’t work. I checked “raise max port limit” and “USBInjectAll.kext” in Multibeast. This fixed the rear USB ports, but caused a new problem. A few seconds after sleeping, the machine would wake itself back up again. Also instead of shutting down, the machine would reboot. Removing the USBInjectAll.kext fixed this problem. I guess I only needed the Raise max port option.

Ethernet

Ethernet problems next. During the initial Multibeast setup I chose the IntelMausiEthernet 2.2.0 driver as suggested in the forum. The ethernet board showed up in system profile, but I wasn’t within range of a wired connection. When I later went to use ethernet for the first time, the port would cycle between cable unplugged and replugged. Removing 2.2.0 and replacing it with IntelMausiEthernet 2.1.0 got things working normally.

WiFi / Airport

Keen for not just solid WiFi, but also Handoff, Continuity & Airdrop, I read that the best way forward is a genuine Apple Airport card +PCIe adapter. Fortunately some sellers on Amazon have combined these into a single package, complete with external antennas. This was a simple as the physical installation. The card showed up as a native Airport card without any need for configuration or anything. The Bluetooth chip needs a USB connection, and a clever cable was provided to run this from the spare front-panel USB header on the motherboard.

Done

Had I known about all of these niggles, I would have probably still built the system anyway. I’m putting this guide out, so anyone using similar kit can jump right in, without too much head scratching.

Parts List

Below are the parts I used. I’ve not linked them as I strongly suggest you instead use the tonymac buyers guide (link at the top) for current recommendations, and also to use his amazon referral links which support his site & continued work getting this stuff together.

Part Amazon UK URL
Intel i5 6400 Skylake 2.7GHz Quad Core 1151 Socket Processor https://www.amazon.co.uk/gp/product/B010T6CG7E/
[New Version] ABWB 802.11AC WI-FI With Bluetooth 4.0 PCI-Express (PCI-E) BCM943602CS https://www.amazon.co.uk/gp/product/B00MBP25UK/
Samsung 850 EVO 500 GB 2.5 inch SSD https://www.amazon.co.uk/gp/product/B00P73B1E4/
Crucial Ballistix Sport LT 16 GB Kit (8 GB x 2) DDR4 2400 MT/s (PC4-19200) DIMM 288-Pin Memory – White https://www.amazon.co.uk/gp/product/B0157ABYXO/
CiT Barricade USB3 Gaming Case with Interior Mesh Front https://www.amazon.co.uk/gp/product/B00JKW3GDM/
GIGABYTE Intel LGA1151 H170 M-D3H HDMI Micro-ATX Motherboard https://www.amazon.co.uk/gp/product/B002LFJ454/
AOC 25 inch IPS QHD 2560 x 1440 Monitor, https://www.amazon.co.uk/gp/product/B00WK39NXK/
Corsair CP-9020076-UK Builder Series 550W CS550M ATX/EPS Semi-Modular 80 Plus Gold PSU https://www.amazon.co.uk/gp/product/B00GN8VTVW/
EVGA NVIDIA GT 740 SC Graphics Card (2GB, 128 Bit, DDR3, HDMI, DVI-I DVI-D, PCI-E) https://www.amazon.co.uk/gp/product/B00KO23Z0Q/

Ikea ÄPPLARÖ 3 Seater Garden Sofa Hack

My girlfriend and I spent some time recently looking for some garden furniture. After what felt like months of searching, we eventually found what we wanted in Ikea. Note that they sell this on the website with beige or dark coloured cushions, but we found the nice mid-grey cushion below by going in-store. 

ÄPPLARÖ / HÅLLÖ 3-seat sofa
ÄPPLARÖ / HÅLLÖ 3-seat sofa

It’s a modular system that lets you configure the number of seats, add corner sections etc. We chose to just get two corner pieces and a middle piece to create a sofa. With the cushions on it looks great, but there was a thought niggling me when I started putting it together. They only actually make one corner section, which you can spin round and use for both ends. the problem with this can be seen below.

ÄPPLARÖ built the normal way
ÄPPLARÖ built the normal way

If you don’t see it right away I’m very jealous of you. But the way there are two seats with slats facing east / west and then one facing north / south just really hurts my eyes. Sure you can’t see it with the cushions on, but I’m going to be seeing this a lot with just the bare wood showing. [insert joke about the British weather]

Luckily I noticed this problem before I built the last section and realised that by removing 12 screws, I could swap the two sections underneath, and keep the whole thing looking nice & uniform.

ÄPPLARÖ built the hacked way
ÄPPLARÖ built the hacked way

I was honestly a little surprised that there was no mention of this anywhere, and maybe most people would just live with it the way it came. But if you’re like me and need things to be just right luckily there is a simple answer in this case.

Just swap over the two pieces of wood circled below. Make sure you get them facing out the correct way to allow the arm / backrest to screw in correctly.

ÄPPLARÖ parts to swap
ÄPPLARÖ parts to swap

Suppose I’d better add that you do all this stuff at your own risk etc, and this probably will void any warranty you might have. Basically it’s not my fault if you balls it up!

A New Header For My Data Recovery Website

As usual, when I was writing some new content for my work website, I thought I’d also add a bit of colour with a new header. It gives me a break from writing, and also helps quickly show the relevance of a page. Some of my favourite headers are actually quite obscure, so I’ve been replacing them with something a bit clearer.

For example, I wrote a blog post about migrating data to a Mac from a backup, and made a header with migrating geese. It’s a bit obscure, but migrating geese are something local to us here in Portsmouth, and also they add some interest to an otherwise text-heavy site.

Mac Migration
Mac Migration

So when I updated the Portsmouth Data Recovery page, I wanted to make sure it also had a header that would do it justice, without being too obscure. I went for a night skyline, with a few local landmarks, and a prominent star & crescent design.

Portsmouth Data Recovery
Portsmouth Data Recovery

I’m really happy with the way it turned out, and it’s given me the motivation to make a few more for other pages.

The other notable thing about these header images is they are SVG (Scalable Vector Graphics) files. They look great on modern high-resolution screens like the 5K iMac, iPhones, iPads, and any other decent screen. They also work at any size without looking rough or blurry, so I don’t need to serve different images to mobile & desktop browsers.

I’ll leave you with another of my favourites…

Coffee Spill
Coffee Spill

The Problem is Not Ad-Block it’s Ads

I’ve seen a fair bit of discussion again recently against ad blockers. Even some new services to help advertisers avoid the blocks.

Scale: Intrusiveness of Ads
Scale: Intrusiveness of Ads

It may surprise tech nerds that people outside our field have no idea that ads help fund the free content we consume online. The vast majority of Facebook and YouTube users never stop to consider who pays the hosting fees for those heaps of family photos and cat videos. To these users, ads are just another unpredictable barrier to their stuff. This is especially true when ads are the pop-up, pop-under or pop-between-paragraph type of affair. They disrupt your session and demand your attention. I understand the need for ads to get seen but it’s a bad experience. It doesn’t take a huge leap from there to understand why ad-blockers are so appealing. They easily remove these annoyances at source. Pages load fast, text stops jumping up and down the page, the web works like it did in the good ole’ days. That advert for a new car you were researching stops following you around the web. It’s a massive win for users.

But here’s the thing. Small indie publishers are way down on the annoying ads scale. It’s predominantly large news sites, or blog networks that have the worst of these ads. Squeezing every last penny from their page-views, they poison the web for everyone.

Compare this ad on Marco.org:

Marco Ad

With the ads on engadget:

Engadget Ads

The discreet and relevant advertising on Marco’s site doesn’t alienate users & offends nobody. The Deck has taken this approach, and nobody would ever bother to block deck ads. Why would they? They are relevant to the sites they appear on, and don’t interrupt the experience for anyone. I assume they have a lower CTR than other ad-networks, but they respect the readers and don’t dance all over the page for attention. I expect the quality of leads from these ads is far better than AdSense for example.

Here’s the problem. Ad-block doesn’t just get rid of the awful flash ads that clutter news sites but also blocks unobtrusive ads like the deck. See the example below of the Marco & engadget pages below when using adblock. The engadget page is much improved showing the articles you came for right at the top! On the other hand, Marco’s site is hardly changed at all.

Engadget No Ads

Marco No Ad

Users will happily run ad-block and get their internets back, but the small sites lose out. They never hosted up video ads for cars or holidays, but they lose their small revenue stream thanks to the ham-fisted & heavy handed big networks. You can’t put the blame on users here. They have a tough enough time navigating the evils of the web. Blocking ads just reduces their hassle a little bit.

Update 22-6-2015

On Friday after I posted this article I later saw that John Gruber had basically said the same thing as me in one succinct paragraph. Smart guy.