Raspberry Pi 4 recently started supporting booting from SSD drives directly rather than using a slower, more fragile SD card.

Although, there’s a lot of content describing how to create a new system on SSD, it doesn’t seem like there’s a good summarizing article describing how to take your existing Ubuntu install, with all your existing server configurations and files etc, and move that existing install from SD card to SSD.

I’ll try to answer the many unclear steps in the process.


  • Raspberry Pi’s bootloader has a 2020/09/03 version that just started supporting booting from SSD.
  • Ubuntu 20.10 supports booting…


Consider you ran ls or git status or foo | rg bar and want to take one line of the output and either run something else with it or copy it to clipboard.


Fish shell is an excellent, extensible shell. It doesn’t have an easy way to re-run the last command. But it has excellent readable scripting support to create a similar effect.

We can accomplish this by using a combination of the commandline built-in command (which manipulates the current prompt’s command buffer) and the bind keybinding mechanism.

Create a function such as

function __select_from_last set -l FZF_OUT (eval $history[1]…

The Huawei Mate 20 Pro is solid enough of a phone that it made me switch from the iPhone XS after years on iOS. The last time I tried to switch to Android with a Galaxy S8, I gave up after 2 days.

With a ~60% larger sensor, the camera is amazing with better optical bokeh, way better computational bokeh than the still-ridiculous iPhone portrait mode and way better low light performance. Despite Android phones being traditionally plagued with unreliable camera launch and shutter response times, taking unplanned quick snaps is surprisingly pleasant and usable without edits.

Part 2 of my previous story on using a multi-effect guitar processor as a portable one-stop-shop for all home playing needs

This part continues on the quest to make a portable, USB battery powered, wireless guitar setup that’s easy to get into a start playing on a whim and that sounds good enough to compare with larger amp setups. All while using only commoditized inexpensive components.

However, my pedalboard expanded a bit since the last article.

The Marshall amp in the picture is just for decorative effects :)

There’s a few additions such as extra footswitches for the Boss GT-1, the Digitech Trio+, a mixer and a PolyTune 2 mini.

But mainly…

Wanted to quickly jot down my first thoughts after trying snowskating for the first time.

For context, I’ve been snowboarding casually for ~10 years and occassionally skateboard on cruiser wheels for transportation for ~2 years. The snowskate I’m using is a Lib-Tech 39" (mainly because I liked Magne-Traction on the snowboard though the serration is super super mellow on the snowskate ski).

It’s not like pushing on a skateboard

Probably one of my bigger surprises since I thought it might be a big improvement on pushing sideways on a snowboard. But it turned out not as easy as pushing on a skateboard. …

A developer’s journey from skepticism to excitement for the future of non-OEM widgets, and bespoke mobile design

Modern, consistent Material Design on a phone shipped 4 years before Material Design was unveiled


Before joining the Flutter team early in 2017, I developed mobile applications for years — some in a fast-paced startup agency, and more recently for large-scale consumer applications inside Google.

Developers from both worlds are acutely aware of the benefits of a well-adopted mobile cross-platform solution. The scalability and productivity gains from such a solution are clear to both big and small players in the mobile app industry. Yet I also admittedly placed myself frequently on the side of caution and skepticism when facing existing development solutions that didn’t use OEM SDKs’ widgets.

  • “Clients don’t want to pay all this…

If you got a A1901 / GSM-only / AT&T / T-Mobile / MQAJ2LL/A iPhone X, it turns out you can still use it to almost full capacity on a Verizon CDMA network.

The first traditional barrier is activating the phone but for the iPhone X, you can activate the phone with just the blank SIM that came with the phone and at least get to a usable phone with WiFi connectivity.

When it comes to using a Verizon SIM, everything’s pretty much plug and play. With carriers around the world deprecating CDMA frequencies, most modern connectivity are based on shared…

Disclaimer, I’m not a proper musician. Just looking for a guitar setup that’s clean, portable, versatile and sounds good for playing for fun at home.

Also check part 2 of the story where I de-noised and added a quantizing looper+drums to the portable rig.

And after a few iteration, I’ve landed on a product category that I suspect probably doesn’t get as much attention as they should: guitar multi-effect processor pedals. …

I’ve been switching up my primary personal phone about twice a year for a while now and have been on an iPhone SE for the past 6 months despite not particularly liking iOS or any of Apple’s bundled services.

I’ve used pretty much all the Nexus/Pixel phones as the primary device and mainly disliked the wonkier third party apps on Android and the general trend of bigger phones in recent iterations.

So I wanted to give the Samsung S8 a try. In person, the screen is absolutely noticeably better than anything else (besides previous iterations of the Samsung Galaxies). …

Luxafor makes a nice busy status indicator light for the office. Unfortunately it only provides software for Windows and Mac. But it’s not hard at all to get it working on Ubuntu with PyUSB.

1- You need PyUSB installed

pip install pyusb

2- PyUSB basically lets you do anything you want with the USB device including some pretty dangerous stuff so it’s naturally open to super users. It’d be really annoying to have to sudo every light control though, so we’ll open this one particular device to your user. Create a luxafor.rules file in /etc/udev/rules.d/ and put in:

SUBSYSTEM=="usb", ATTR{idVendor}=="04d8"…


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store