Categories
Awesome Computers

I’m Going Through Changes

Ah, the iOS app change logs. “Bug fixes and performance improvements”. How… descriptive. I know it’s not really something that Apple users are looking for in their updates, but as someone who has done development, I appreciate seeing them. Some developers, like 1Password, WordPress and a handful of others do a great job of outlining the things that were fixed from version to version. Most, however, are like the screenshot above.

Compare this with a typical change log on a Linux system (not all distros do this — RPM-based ones have it available).

I know it takes effort. Microsoft and Flickr should know better, though. They have scores of people who are able to add this kind of information to the app store change log.

Categories
Computers

Templates

I went on a little adventure today. For a long time I had seen the “Create New” menu in Dolphin as something of limited use, mainly for creating new folders. I knew there was more to that, as I had seen screenshots showing all sorts of different entries besides the default “New folder”, “Text file” and “HTML file”. So I decided to find out how I could add my own. Turns out it’s not well documented.

First, I opened Dolphin’s help tool. This opens an offline version of KDE’s online help documentation. As you can see, the “Create New” entry just points you to the older Konqueror documentation for create new. Neither explain how to add items to the menu, even though it hints that it is possible. To the DuckMobile!

Turns out, some packagers on different distributions have been adding to this menu when various applications get installed. For instance, when you install LibreOffice, you may get entries to create new documents that LibreOffice can edit. For some reason openSuSE doesn’t, nor would I imagine ArchLinux, but that’s okay, because we can do it ourselves!

What I found was this. Each item should be an XDG Desktop file located in a special folder in either your home directory, or in the system shared template folder. You can see where those are by running:

$ kf5-config --path templates
/home/ndegruchy/.local/share/templates/:/usr/share/templates/

# This is what I get on my system

This shows you, in POSIX-y PATH format that my template folder(s) are located in the local shared folder and in the system shared folder. Nice. Now I know where to put these files. Now, to figure out how to make them:

# ~/.local/share/templates/LibreOffice\ Writer.desktop
[Desktop Entry]
Name=LibreOffice Writer...
Comment=Enter LibreOffice Writer filename:
Type=Link
# Point this to a file that exists, in this case, the file is located in a
# new directory adjacent to templates, called template-sources.
URL=../template-sources/writer.odt
Icon=libreoffice-oasis-text

That’s simple! It’s a basic desktop entry linking to a file. So I created some blank LibreOffice files, dropped them into (in my case) template-sources folder, wired up all the desktop files to the right file and viola!

You can do this for all sorts of files. I did one for Fish Shell scripts, too. I’m thinking about one for LaTeX documents and some other simple tools.

Hope this helps someone!

Attached are my templates, in case you want to just drop them in.

templates.tar.gzDownload
Categories
Computers Misc

Moving Forward

I’ve been using computers for 23 years. I’ve endured my fair share of Windows, dove head-first into macOS during the OS 9 to X transition, enjoyed my time using BeOS when it booted off of a floppy in less than 10 seconds. Currently, I’m firmly entrenched in the Linux ecosystem and very happy. Well, I was. I am, and I was. Here, let me explain.

Linux is Amazing

It really is. You can customize almost every aspect of it, and if you run out of ways you think you can customize it, you can learn how to code and make it the way you want it. You have absolute control over your own data and it’s usually pretty easy to move it between systems. This is because there is a focus on interoperability, openness and ensuring that users are put front and center.

This Awesomeness is Expensive

…by that, I mean expensive time-wise. You can setup all your own services, own all your own data and secure it all in a manner of your choosing. This is great, but it means that it’s on you to make sure this is setup right, that the services all run harmoniously, and the data is well secured against casual and somewhat determined attackers. It also assumes you have the knowledge and time to do so.

When I was younger, this wasn’t a problem. I had time, energy and the ability to handle all of these tasks with ease. Even if it meant that I was up until late getting things done, or spending time during work troubleshooting a server or service. All of this endless customization, optimization and learning was incredible. I still enjoy it to a point. The problem is…

I Don’t Have Time Anymore

I’m almost to mid-life. This is a stark realization that, statistically speaking, I have 40-ish years left in my life. While that is a lot, I also want to spend less of it dicking with stuff that should be a solved problem. Sure, I could spend a small fortune on VPS or dedicated/managed hosting solutions, but I honestly don’t want to even deal with that. Ideally I’d like to just turn it on, adjust some simple knobs and get working.

Where Are You Going With This?

I think going forward I’m going to start backing out of computing as a serious task. I love my PCs and Linux and Open Source, and I’ll continue to support them financially, ideologically — but I’m pretty much done worrying about using it. That means as I migrate toward solutions that don’t require so much headspace, I’m not going to worry if the solution is proprietary or Open Source. I’d love for it all to be F/OSS, but that’s not going to be a make or break point.

Ideally, I’d like to move to an iPad with a keyboard (maybe not even that…) and have storage on iCloud or similar. Apple’s ecosystem is private, secure and incredibly well integrated with itself. I already have an iPhone, so it’s familiar and something I already buy into. As for my other services that I connect to, I think I’ll migrate this blog to WordPress.com or a more managed system. I still like writing here. It’s cathartic.

Categories
Misc

New Laptop and Linux

Not too long ago, I picked up a Lenovo Thinkpad L440 laptop on eBay. It comes with Windows 10 Pro on it, but I could care less. I’m, obviously, going to install Linux on it because that’s my preferred platform. The question, now, is what flavor am I going to go with? Currently my desktop runs ArchLinux, which is great for keeping on the bleeding-edge. My ChromeBook-turned-LinuxBook is running GalliumOS because of the compatibility patches and packages that help make using the ChromeBook’s… unique hardware… less of a pain.

Moving forward, I think I’m going to give OpenSuSE a try. It’s been decades since I’ve used SuSE, and I imagine a massive amount of things have changed. They use KDE as the default environment, which I think will be a great Desktop Environment (DE) for the laptop, plus it’s very fast and generally lightweight. I honestly think I’m going to enjoy this a lot.

On top of this, OpenSuSE has a rolling-release distribution (similar to ArchLinux) in tandem with their more contemporary timed-release. Which means I can choose to be just as bleeding edge, but with OpenSuSE’s cool build server to get out of band packages.

The next few days are going to be exciting!

Categories
Computers Misc

Wallpaper Rotation

This is going to be a bit of a shorter article than I normally write. Basically, I’m showing off a random wallpaper switcher. I’ve tried several tools that purport to do the job. None of which were particularly flexible and seemed to be more trouble than they’re worth. Prior to this, I had actually used tools like hsetroot and feh to either set the background to a pixmap or just a solid color. Neither of these were really a decent solution sets in my mind.

So, I did what a lot of Linux users do. Scratch their own itch. In this case I take feh’s random background image function, marry that to systemd’s timer tools and let it go. Here’s the result:

The Script

#!/bin/fish

set -l WALLPAPERS $HOME/Pictures/Wallpaper
set -l BGOPTIONS  fill
set -l URGENCY    low
set -l EXPIRE     5000
set -l TITLE      "Wallpaper Change"
set -l MESSAGE    "Hey, your wallpaper changed!"
set -l ICONPATH   /usr/share/feh/images/feh.png

feh --randomize --no-fehbg --bg-$BGOPTIONS $WALLPAPERS
notify-send --icon=$ICONPATH --app-name=feh --urgency=$URGENCY --expire-time=$EXPIRE $TITLE $MESSAGE

This script requires feh, though you could swap in any sort of tool that can set the root pixmap. If you choose to change it, you’ll need to come up with your own randomization. I set the –no-fehbg option because I don’t need it generating a script in my $HOME. Once set, I have notify send tell me about it. This is more for debugging purposes so that I know when it kicks off.

The Service

[Unit]
Description=Wallpaper changer

[Service]
Type=simple
ExecStart=/home/ndegruchy/.local/bin/wallpaper

[Install]
WantedBy=timers.target

A pretty much bog-standard systemd service file. I place this into $HOME/.config/systemd/user. Make sure you update the ExecStart with the location of the script above.

The Timer

[Unit]
Description=Changes wallpaper hourly

[Timer]
OnBootSec=10min
OnUnitActiveSec=1h

[Install]
WantedBy=timers.target

Another pretty bog-standard systemd unit file, this one is a timer. Like above, go ahead and drop it in $HOME/.config/systemd/user. Use the same name as the service file, otherwise it wont work. You can change the time interval, too.

Put it All Together

Now that you’ve got all the files in place, you can enable it with:

$ systemctl --user enable wallpaper.timer
$ systemctl --user start wallpaper.timer

This will begin the countdown. If you want to see the status of the timer, you can check on it with:

$ systemctl --user list-timers wallpaper.timer
$ # OR
$ systemctl --user list-timers --all

This will give you some information about the timer in a fairly understandable table. Hope this helps someone!