Categories
Tutorials

WSL2 Network Issues and Win 10 Fast Start-Up

I recently encountered a network issue where my WSL2 (Windows Subsystem for Linux) distro was unable to retrieve DNS and connect to the internet without me changing /etc/resolv.conf. Likewise, Windows was unable to connect to the WSL2 ports via localhost. To quickly workaround these issues, I set my nameserver to be 1.1.1.1 in /etc/resolv.conf and […]

Categories
Tutorials

Automatic Backups for WSL2

Windows Subsystem for Linux (WSL) is pure awesome, and WSL2 is even more awesome. (If you’ve never heard of it before, it’s Linux running inside Windows 10 – not as a virtual machine or emulator, but as a fully supported environment that shares the machine.) I’ve been testing WSL2 for a few months now as […]

Categories
Security Development

CSRF Is Dead, Long Live SameSite=Lax! (or is it?)

In the original version my talk “Think Like a Hacker and Secure WordPress, live on stage“, I demonstrated a Cross-Site Request Forgery (CSRF) attack. While this attack worked perfectly during WordCamp Brisbane 2019, in-progress changes to Google Chrome (version 80) are bringing about the end of CSRF. (Well, sort of…) In light of this change, […]

Categories
Tutorials

How to Shrink a WSL2 Virtual Disk

I’m a huge fan of Windows Subsystem for Linux (WSL), especially WSL2 which uses a virtualisation layer to bring increased performance and compatibility to WSL. However, one of the few downsides of WSL2 is that it uses a virtual disk (VHDX) to store the filesystem. This means you can end up in a situation where […]

Categories
Security

Usernames Are Not Secrets

A common misconception that I have observed a lot online is the belief that usernames should be secret, unique and hard to guess. While there are some limited cases where having a secret username is a good idea, most of the time it has no real benefit. Usernames are not secrets and should not be […]

Categories
Development Security Tutorials

Sign Git Commits With A Keybase GPG Key

A relatively unknown and underused feature of Git is the ability to cryptographically sign commits. It is an optional feature that provides a way for the author of a commit to prove ownership. It uses the author’s GPG key to leave a signature in the commit that can be checked later. If you’re a Keybase […]

Categories
Pebble

End of Life for Zevive Pebble Apps

Unless you follow my work closely, you probably weren’t aware that I used to develop apps for the Pebble Smartwatch. The signature feature of my apps was a utilization of the awesome Pebble Timeline feature, which provided a new level of interaction and behavior that suited my apps perfectly. However, since Pebble was acquired by […]

Categories
Random thoughts

Hello World (again)!

Welcome to my new website. It’s been a long while since I rebuilt my last one (two jobs ago, infact!), so I figured I should launch a new site and get back into the blogging thing. It may surprise some of you, but my site is now running on WordPress again. Yup, WordPress. There are […]

Categories
Technical

Opening the GNOME Shell Overview with a Logitech MX Master

My beloved Logitech MX Revolution died recently, so I upgraded to the new MX Master, and I wasn’t disappointed -it’s just as awesome as the Revolution. 🙂 With the new mouse, I decided to try and use the extra buttons onthe Revolution. All of them work out of the box, with the exception of the […]

Categories
DigitalOcean Tutorials

Byobu for Terminal Management on Ubuntu

Note: I originally wrote and published this article as a DigitalOcean Community Tutorial. Introduction Byobu is an easy-to-use wrapper around the tmux (or screen) terminal multiplexer. This means that it makes it easy for you to open multiple windows and run multiple commands within a single terminal connection.