Tools to Use

I’m not really sure how to start this blog. Over time, there are certain tools that just become more and more useful or essential, and I think it’s helpful to share. I may eventually try to organize this more, but I’ll start by just jotting down things I’m using.

Covid Information

It seems that there’s more and more disinformation about Covid-19 these days, and it comes from both sides. Rumors and anecdotes abound, but getting at any real numbers is hard. My wife works in healthcare, and was telling me about stories she hears at work, about out-of-state hospitals calling with bed requests, because there are so many covid cases.

Here’s a tool to look at the actual bed utilization numbers in the US: https://protect-public.hhs.gov/pages/hospital-utilization

If you don’t believe the government about anything, it won’t help, but if you’re willing to get some data from health and human services, check out the link.

Programmer’s Editor

Atom.io programming text editor. I find myself more and more pleased with what I can do with it. Really, the one glaring hole in its tool set so far is that it has no way to jump to the nth character in a file. Since this is how javascript reports errors, that’s inconvenient. However, that aside, Atom does syntax highlighting, programming suggestions, etc., and it’s very expandable. It can use a lot of tools from Sublime Text, which I also love, but which is way too expensive for what I do.

Python Development Environment

If you’re doing Python development, I use Anaconda. Not only does it greatly simplify the creating of python virtual environments, it also comes with a bunch of other tools. One of them, Spyder, is a great IDE [1]Integrated Development Environment for python that has a console, code completion, etc. Switch between python versions and dependencies for various projects easily, and it reports your current environment at your shell prompt.

Shell Environment

Speaking of shells, I’ve begun using fish, the Friendly Interactive SHell. Not only do the developers have a great sense of humor [2]Finally, a command line shell for the 90s, but the shell itself has features that are easy to get used to. Any reasonable shell has command history, where you can use the cursor-control keys to recall previous commands. Fish takes this to the next level by recalling recent commands as you type. In this way, it is easy to quickly repeat something you did in the recent past without having to remember all of the details. Fish also searches man pages for possible command switches, searches the local directory for possible arguments, and just makes things a lot easier. Since there are still some things that are more intuitive for me in bash, it’s easy to drop a bash command by prefixing it with bash.

Programmer’s Font

Both Atom and fish are made better by the use of the Fira Code font. This font uses ligatures to make code more readable, and it’s just a good-looking font in the first place.
As an example, check out this hot-linked image table: Table of Fira Code Ligatures

Markdown Knowledge Base

All of these semi-graphical textual elements remind me of another tool I’m loving: Obsidian. This is a sort of flat-file database using markdown to style and link information. It provides link previews if you hover over a link, live markdown rendering, is available on just about every platform, and can be synced [3]A word of caution: since the underlying engine is not about sync, you should be cautious about the tool you use. Obsidian has a subscription sync service. I haven’t configured sync yet, but … Continue reading

Folder Synchronization Tool

I mentioned Syncthing. This is an amazing tool. Syncronize folders on you computer or mobile device. Syncronize in one direction or both. Syncronize with as many devices as you wish. Key factors: Private, Encrypted, Authenticated. It works on a local network, or over the Internet. On mobile devices, you can disable syncing while using metered data. Conflicts are handled reasonably well, keeping multiple copies to avoid data loss. It’s amazingly fast at copying. The Syncthing server works simply on every platform, and it runs an internal webserver, so you can configure it without any other tools. That said, there are many useful tools to give you feedback in your desktop environment.

For Linux, I use Syncthing Tray, currently at version 1.1.9. It’s Qt-based, runs on macOS and Windows as well, and gives good access to see the status of Syncthing. On macOS, I’ve been using syncthing-macos. It lives in the menu bar and does what I need. Particularly, it makes it easy to update the syncthing server in a GUI. For Windows, I typically install Synctrayzor. Now that Syncthing Tray works well under Windows, I may change that.

I use Syncthing to synchronize my photos on my phone with my home computer. In this way, my photos stay mine — they aren’t stored on someone else’s cloud. This might be a good time to mention that I use Syncthing-Fork on Android. The other Syncthing for Android is limited by security changes in the more recent versions of Android (9 and up?). It is available in the Google Play Store, or you can install the APK directly from the Github releases. It’s also available from F-Droid.

Remote Terminal Server

As you can see, I work on a number of different computer platforms. While most of my work is on Linux, and while I look for open source/free solutions to most software needs, I also support people who use Windows and macOS, so I keep a couple of those machines running, too. I find it’s most useful and efficient to use my large screens and nice keyboard for everything, so I use remote connection and control software to access the Windows and Mac laptops.

The software I use for this is NoMachine. It’s fast. It’s cross-platform. It can pipe sound as well as the screen. For my use, it’s free. It uses discovery on a local network, which makes a lot of things easier. It works on everything from macOS, Windows, and Linux, to Raspberry Pi and Android.

Well, that’s a start. The accordion plugin I used for this list is Accordion Blocks by Phil Buchanan. It’s just straightforward Gutenberg blocks, and I find it much nicer to use than Accordion FAQ. The latter is filled with graphic elements that make it distracting and more difficult to use, and it also requires you to create and edit your accordion away from the post text you’ll use it in. Accordion Blocks, on the other hand, works like any other element, and while it has fewer options, wins out in my usability eval.

References

References
1 Integrated Development Environment
2 Finally, a command line shell for the 90s
3 A word of caution: since the underlying engine is not about sync, you should be cautious about the tool you use. Obsidian has a subscription sync service. I haven’t configured sync yet, but intend to use Syncthing. Sync conflicts are a thing, and I will let you know if I run into a lot of them.