Anatomy of my perfect ls command


Unix is user-friendly — it's just choosy about who its friends are.

Mostly notes to myself. Nestled away in my Linux Bash profile, I have this one-liner alias lh='ls -trhgGN --color=always | cut -d" " -f4-' When I run lh it outputs a list of files in the directory, showing their size, with the newest files on the bottom. I use this regularly to see what I've downloaded recently and how big the files are - so I made an alias. Here's how it works. Alias Alias is a Jester in disguise useful Linux tool which lets you create a shortcut to a complicated…

Continue reading →

How to get a 10% speed boost on Virgin Internet FOR FREE


A WiFi set up screen on Android.

If you have Virgin Media's cable service, you may have been forcibly opted-in to their WiFi Hotspot Sharing service. This allows anyone with a Virgin Media account to connect to your WiFi! Virgin have been moderately sensible with their design of this - users get a separate IP address, so their activity cannot be commingled with yours. But what about your bandwidth? Here, Virgin have been clever / annoying. If you're paying for the 350Mbps service (as I am) your cable modem is actually…

Continue reading →

Three small tips for shrinking SVG images


Rows of icons - each one has the size printed next to it.

I work on the SuperTinyIcons project. Our aim is to make pixel perfect SVG icons in under 1KB. Because SVG can be quite verbose, every single redundant byte we can eliminate is a byte we can use in drawing. Here are three quick tips for shaving a few bytes off an SVG. Decimal Magic SVG co-ordinates can have decimal precision, like: 123.456. But what about co-ordinates which are less than one? 0.123 can be rewritten as .123 - we can drop the 0! These two sed commands will turn 0. to . and…

Continue reading →

Cisco AnyConnect for Linux - save profile


Binary code displayed on a screen.

I couldn't find a simple guide to this - so these are notes to myself. Create a file called myVPN.xml: <?xml version="1.0" encoding="UTF-8"?> <AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/AnyConnectProfile.xsd"> <ServerList> <HostEntry> <HostName>My Work VPN</HostName> …

Continue reading →

How can I get consistent sizes with physically different monitors on Linux?


Multi monitor settings showing the relative placement of the screens.

I can't think of a concise way of wording this. I have three monitors. Each has the same resolution - 1920x1080px. But each one has a different physical size - 61 cm monitor, 39 cm laptop, and 48 cm monitor. Here's my problem. When I move a window from one screen to another, the window changes size. It contains the same number of pixels, but it has different physical dimensions. Here's one window, stretched across all three screens: As you can see, the blue bar is a different thickness …

Continue reading →

Game Review: Factorio


A screen saying I've won.

I am rubbish at video games. I don't have the twitch-reaction speed for shooters, I can never remember what all the buttons do, and I frequently get lost in open-world games. Basically, I'm the opposite of my wife, who will rattle through Dragon-Ages, Mass Effects, Spiders-Men and the like. Factorio is sort-of-like Sim City. Or Populous. You have an open, discoverable world, full of natural resources. Your job is to plunder those resources and build a space ship to get you off-world. Factorio …

Continue reading →

Using the Mini DisplayPort on the Clevo N151CU / Lafité IV / System76 Darter Pro / Entroware Proteus


Display port config.

Sorry for the title gore. But it's the only way to let people know that all four of these laptops are identical. These laptops come with an HDMI port and a Mini DisplayPort. Here's how to get both working simultaneously so you can have three screens. Enter the Dragon BIOS Restart your laptop. Press the F2 key when the manufacturer logo displays. You're now in the BIOS. The screens may look different from mine. Enter the Setup Utility Select Advanced In "Advanced Chipset Control" go to…

Continue reading →

Review: Yanmai USB Microphone


An upright microphone.

We're in the age of endless conference calls. So I decided to spruce up my audio hardware. Sadly, I don't have the budget for a professional podcaster's microphone. Luckily, I was sent this cheapo model to review. And, I'm pleased to say, it's pretty good! Comes with a reasonably long USB cord, and a pop-shield. The mic is suspended in a little elastic harness so it doesn't pick up vibrations. It's fully adjustable - which is nice. And a has a removable spoffle. There's no LED to show if …

Continue reading →

Wanted - audio output based on screen output for Linux


OS displaying a long list of options.

I think what I'm asking for is impossible... I have a Linux laptop with built in speakers and an external monitor with speakers. The laptop connects to the screen via HDMI. I have my Linux desktop set up for dual screens. If I drag a window from one screen to the other, I want the sound to follow the window. Is this possible? A bit more detail When I have YouTube running on my monitor, I want the sound to come from the monitor. When I have a video conference running on my laptop screen,…

Continue reading →

Configuring Pop!_OS - Keyboard lights, fonts, and more


Font selection panel.

I've got a new laptop which runs Linux! These are mostly notes to myself. Fonts First, from the console, install Gnome Tweaks sudo apt install gnome-tweaks Run Tweaks and select "Fonts". You can swap fonts, boost them, and generally have a good fiddle. Increasing the scaling factor is a good way to boost the size of all desktop elements. Bluetooth - rename By default the Bluetooth name is pop_os. sudo nano /etc/hostname Replace it with whatever you like. Keyboard Lights You will…

Continue reading →

Fix screen tearing on rotated external monitors (Ubuntu / POP!_OS)


Pop up window with several login options.

I have a vertical monitor for my new Linux laptop. Because it is rotated 90 degrees, this causes problems with some graphics drivers on Linux (and Mac!). Here's a solution I found for my Intel graphics card. Edit this file: sudo nano /etc/gdm3/custom.conf Find this line: WaylandEnable=false Change it to: #WaylandEnable=false Reboot. On Pop!_OS, there is this settings cog in the bottom right corner. (Different login screens may have it elsewhere). Choose "Pop on Wayland". Or…

Continue reading →

Gadget Review: Perixx Trackball (PERIPRO-506) on Linux / Mac


A red trackball set in black plastic.

I haven't used a trackball in earnest since about 1998 - when they were briefly all the rage at school. But we're all working from home during lockdown, and my desk isn't big enough to accommodate a full-sized keyboard and mouse. So I thought I'd try a trackball. This doesn't need an unboxing video, or any complicated set-up tips. It's an inert black box, with a red orb nestled in it. Made in Germany by Perixx, it's a heavy unit - no danger of it slipping around your desk. The ball is…

Continue reading →