I just upgraded the version of Crostini on my Chromebook to Debian Bullseye, which means my version of Emacs now claims to be up to date enough to be compatible with Org2Blog, so I’m trying it out here.
I’ve been trying to figure out what I’m going to do as far as blogging for a long time. My subscription to WordPress.com just renewed which caused me to again begin thinking about options.
So I’ve been looking around and considering ways to be able to have a console / cli oriented blogging workflow.
I considered using wp-cli and something to transform markdown into html. But looking around the Internet I saw Org2Blog and so today I’ve been messing around with it and seeing how well it works.
So far I’m pretty impressed.
I would like to get it to work with MFA which requires me to figure out how to make it and WordPress.com happy with an application specific password. But for the moment I’m pretty happy and org-mode provides the equivalent or a superset of the capabilities of markdown – and I’ve been using org-mode for task management and journaling already so I’m familiar with it. Now I just need to get used to how it ends up translated to HTML.
One of my best friends asked what was a good intro to Flutter.
I’m sure there are a lot of good intros, but I’m not familiar enough with the ecosystem to know where everything is yet, so I’m going to do a dump of the things I’ve looked at the past few days to get started.
I’ve been checking out Flutter – the cross-platform UI toolkit from Google. I’ve been noticing it mentioned over the past year, and since desktop support just stabilized, it looks like it might give me something I’ve wanted for a long time. For most of the time that I’ve been programming, I’ve been interested in options that allow cross-platform development.
Flutter is written in the Dart language also developed by Google.
So for the past few days I’ve been diving pretty deep into Flutter and Dart tutorials.
I’m trying to learn the Dart language. So far it mostly seems like an easier / slightly less verbose Java.
I know that Dart is a pretty niche language, but maybe it’s just my doom / destiny that I will only be drawn to niche languages. It does seem like Dart is pretty close to my sweet spot for what I want in a language at the moment.
One thing I like is that Dart can be compiled to a single file executable.
I don’t have much more to say right now, but I’m enjoying the thought of working with these more.
Last night I re-read this Steve Yegge article about learning to type as a programmer. I can touch type, but I don’t usually manage to break 60 WPM. The article made me curious if regular practice could increase my speed any more.
A long time ago I mentioned a hack that would let you use Vim as a sort of typing test.
The original article that post referred to has long vanished into the internet (maybe retrievable by the wayback machine?) and it looks like through some of the migrations of my blog (or changes in versions of Vim through the years) the syntax of that post is no longer producing the behavior that was useful as a typing test.
So I went today looking for something else that could be used as a typing tutor. Since I spend a reasonable amount of time near Emacs these days, I figured that would be a good (and likely) environment to find something. And I did – I found something that I really like. It has essentially the same simplicity of the Vim hack (when it was working) but it offers a little more automation and more variety.
The speed-type package is available on Melpa and it installs in Emacs with basically no configuration via list-packages. It includes samples from Project Gutenberg books, so it also exposes you to new vocabulary – so double win. It can also use sample text you provide if desired.
So far it looks great. I spent a little time (is it wasted, or is it training?) playing with it this morning. I think I’m going to try practicing with it a little each day and see if I can make any progress.
Wow, it’s been a few years since my last real attempt at a blog. I’ve just been journaling locally since then.
I’m finally ready to do some blog based writing again. I’m going to have to figure out how I’m going to approach importing or transcribing all of the writing I’ve been doing for the last few years into this blog.
I’ve got to go back through all my Org mode files for the past few years and I also need to collect all my random paper based attempts at writing or journaling and figure out where to go from there.
Windows Color command
On Windows (at least Windows 10) you can use the color command at a cmd prompt to change the foreground and background color of the console.
The default color scheme of the cmd console is color 07, but if I want to flip to a black on white I can do:
Here is the help (found by color /?):
Sets the default console foreground and background colors.
attr Specifies color attribute of console output
Color attributes are specified by TWO hex digits — the first corresponds to the background; the second the foreground. Each digit can be any of the following values:
0 = Black 8 = Gray 1 = Blue 9 = Light Blue 2 = Green A = Light Green 3 = Aqua B = Light Aqua 4 = Red C = Light Red 5 = Purple D = Light Purple 6 = Yellow E = Light Yellow 7 = White F = Bright White
If no argument is given, this command restores the color to what it was when CMD.EXE started. This value either comes from the current console window, the /T command line switch or from the DefaultColor registry value.
The COLOR command sets ERRORLEVEL to 1 if an attempt is made to execute the COLOR command with a foreground and background color that are the same.
Example: "COLOR fc" produces light red on bright white
I’ve been writing locally recently as I’ve been transferring old notebooks over to a digital format.
I would have thought that I would want to post stuff that I find in the notebooks on the blog, but what I’ve found is that a lot of the stuff that I write seems trite and uninteresting when I read it later.
This is something I’ve noticed before, the obvious implication is that a blog that is updated with current unfiltered thoughts is unlikely to be interesting. It may be that a blog would be better served purely as a repository for essays, than as a public journal of my life and thoughts.
Is it worth having both?
- A section for essays
- A section for daily thoughts
Is there value in daily thoughts that is worth having those published in addition to the essays that I put time and effort into?
Notebook Writing for Blog
One thing that is hard about just directly transferring notebook writing to the blog is that a lot of times I’m just jotting down my current thoughts about a topic in my notebook, and it’s only after I’ve gone on and returned to the topic a few times that my thoughts actually coalesce into a coherent whole. Just directly transferring the notes verbatim forces someone else to go through that whole process rather than getting the finished product.
Looking at the pieces one at a time is often annoying.
Getting the whole, is usually more satisfying.
My Life this Week
So far this week I’ve mainly focused on 3 things:
- Lazarus – an open source clone of Delphi written on top of Free Pascal
- Boxing – I took my first boxing lesson this week
- Jump Rope – Related to Boxing, I’ve started trying to learn to jump (or skip) rope
So far with Lazarus I’ve done some quick GUI toys, one of which fired off requests to a web server written in Go to process the data and then displayed the result of that process. I’m a bit excited about that as it offers a possible way to connect a GUI written in Lazarus to code written in another language as long as that other language can expose itself over http.
I had my first Boxing lesson on Tuesday, and I’m totally engaging with it now. I think I would really like getting into Boxing. It seems simple enough to learn that I should be able to get the basics down quickly. After that I think I’ll be able to continue working at it on my own. It emphasizes getting in shape in a way that I think I wouldn’t have gotten from other martial arts I’ve been considering.
That has actually been surprisingly exciting, I am liking the exercise activities related to boxing that I’ve been doing. I’m enjoying learning how to jump rope. It’s been encouraging to realize that my previous attempts at jumping rope were frustrating not just because I’m uncoordinated, but because it actually takes a while to get to where you can successfully jump rope.
So, I’m working on this "30 days to Jump Rope" video that is on YouTube, and I’m currently on the 3rd day. I will have to see whether I need to continue to try this "day" for a while, or whether I can handle moving on.
You can evolve an application by adding another layer to maintain compatibility with the old architecture.
How do you handle the accumulation of those layers as further evolutions and migrations happen?
Is there a way to simplify things or is each layer doomed to be locked and ossified?
Windows 10 Popup from Script
I had been trying to figure out how to create a popup that would be visible from a Tcl script after it had started several other processes to tell you that they had completed.
The problem was that Tk never got the focus back once the the other gui applications started. The best I could achieve was to get the tray icon to flash, which when clicked would raise the dialog.
Today I found a solution, and perhaps a principle that could apply even to other solutions.
Windows has a command line utility called msg that allows one to send a message to a user that appears as a popup.
Here is an article that describes it.
It seems to appear over other application windows, but I’m not sure if that’s innate to the utility or because it’s a new process.
That last point is what I think might be more generally applicable. I think any new application on Windows 10 seems to steel focus when it appears onscreen.
So if I wanted to do a popup that would be seen purely in Tcl, I think I could have executed another Tcl process that would then produce the Tk Dialog. That way, when it came onscreen it would take the focus so that people could see it.
Windows Popups via PowerShell
Here is another article from the same source that describes how to do the same thing using PowerShell.