In the world of Linux most folks use what are called “Desktop Environments” (DE’s). These give you the whole integrated “look and feel”. You know when you sit at a Mac, the environment just feels like a Mac. In the Microsoft domain you have Windows 10, but there’s also a feel of Windows 7, or Windows XP, etc. In Linux some of the popular Desktop Environments are “Gnome”, “KDE, “XFCE” among others. It’s one of Linux’s strengths and weaknesses: the choices available. There is no single Linux “look and feel”.
For the past few years Timothy and I have not been using full featured DE’s but just “rolling our own” using a some sort of Window Manager and a lot of our own customizations. Lately we’ve been trending towards very minimalistic ones. Some of the ones I’ve used lately have been i3, dwm, bspwm, and now the uber-minimal sowm.
“sowm” is incredibly tiny code-wise and the benefit is that a new-to-this guy like myself can wrap his head around it. It had the basics that I was looking for: multiple workspaces, basic mouse and keyboard navigation, and the ability to define shortcuts.
The only thing I still wanted was something akin to what Windows and Macs can do where you drag a window to an edge or corner and it “snaps” to that half or quarter of the screen. The only difference was that I wanted mine to be a keyboard shortcut. Open a window, move it to the upper left quarter. Open another, move it to the right half of the screen.
The other night I watched a recent Disney+ movie with Daniel. While it played, I opened up the code for “sowm” and patched in about twenty lines of code to do that keyboard based snapping of windows. The amazing thing to me is that this setup does most of what I need to get laptop work done, and the patched ‘sowm’ is only <23 Kilobytes of code. That is very tiny! Apple ][e tiny. Commodore 64 era tiny. Needless to say, when I log into my laptop, it’s ready for action instantly. No loading… no progress bar.
Another thing that I worked on are the templates for this site. On the front page the links weren’t wrapped around the title, but instead were these weird tricks of recent web programming that are advanced, but not very backwards compatible. A little too bleeding edge.
Annoyed that older browsers couldn’t properly infer the structure of the home page, I re-wrote the templates so that even very old school browsers could navigate the site. While I was in there, I also added Next and Previous type links to the bottom of my posts to quickly go from post to post. Should they be at the top perhaps??
Honda Keyless Remote
Another project I’ve had on the back burner for over a month has been to program a Honda wireless remote to replace the one that died on me recently. I’ve had the blank keyfob remote for almost two months but yesterday finally got around to adding it to my keychain and configuring the Honda to recognize it as a new wireless remote for doorlocks, remote opening of the tailgate and sliding doors, etc.
NVIDIA Jetson Nano
Sounds like a futuristic cartoon character, doesn’t it? There are a few editions of the Jetson Nano – a tiny single board computer whose specialties are in the areas of machine learning and machine vision. Today it arrived along with some micro SD cards, power cable, and wireless adaptor. Down the road I imagine we might buy a case and we’ll definitely need a small camera to stream in video and a power adaptor that can feed off of a car’s 12v battery port because our plan – without going into details – is to apply machine vision learning in a handy way for driving.
While most laptops have webcams built in, I’m thinking of ordering an external one to go on top of my monitor. I’ve started preparing for CCD/religious education and because of the need for remote learning will want to be able to stream video. Many times laptop webcams can end up being “chin cams”. I’d like something at or slightly above eye level if possible. We’ll see. Tim does this approach and it works well for him.