I didn’t work on the blog at all this weekend. I don’t know if that’s going to be typical, or if it was just an artifact of this weekend being Easter. It’s easy between dealing with the kids, and interacting with my wife, to never have time to focus on coding for a long period.
Two solutions I can see to this might be:
- Get up early in the morning and work on personal programming in the morning. This might or might not work – the kids tend to also wake up early and might want to play.
- Try to have bite size tasks to work on, and have things setup where I can immediately get to my code to work on it. That doesn’t really allow for research or discovery time, where I don’t really know what I’m doing yet, and still need to figure it out.
Mercurial Add files
I mostly interact with Mercurial on Windows through TortoiseHG. But I’ve been trying to script using the command line lately.
I needed to script adding new files to the repository without having to confirm each one.
It turns out to do that you use the -A option, so the mercurial command looks like:
hg commit -Am "<message>"
I guess because of Git, I was expecting the add option to be -a, so Mercurial’s use of a capital in the option took me by surprise.
However, now that I’ve really looked at the details, the -A for Mercurial and the -a for Git are somewhat different scenarios.
For Git the -a does not include adding files that Git does not already know about, whereas for Mercurial it does. So that probably justifies the capital letter for Mercurial, whereas for Git, adding an untracked file is a separate command first:
Launching Chrome from Tcl on Windows
I’ve been working on getting a preview (really a post-view) of blog post changes in my blog post script.
So, I’ve been trying to figure out how to launch Chrome pointing at web page from a script.
It turns out that on Windows 10 the easiest way to start chrome from the command line is using "start":
start chrome <url>
However, it’s not quite that simple from a Tcl script because Tcl doesn’t know where to find "start". So you have to launch an instance of cmd.exe and give that the start command.
Thus it becomes (from Tcl):
exec cmd.exe /c start chrome <url>
I’m ignoring my guideline of no internet before noon today. My productivity will probably suffer.
However, I’ve learned some interesting things. Or at least it feels that way. Maybe that’s the problem with the internet – it feels important while you are doing it, but after the fact you look back and say – "What did I really gain from that?".
That is especially prevalent on Twitter, which is the extreme end of the spectrum for me. It is the epitome of urgent but ultimately meaningless.
At least the stuff I was looking at this morning was research inspired by coding. And I found some packages that might be interesting if I look at them further.
I also found some interesting people to read more about. Sadly, I also found out that one of the people I’ve enjoyed following over the years has decided to stop writing publicly again.
Single click blog post
Right now I’ve got:
- a Windows shortcut
- that starts a Windows .bat file
- that executes a Tcl script that does everything else.
That’s a lot of indirections.
However, I can now click on a file, and get the entire process rolling.
One consequence of my guideline of no internet use before noon is that I am more likely to read material that I have previously saved offline. Some of that stuff I would probably never have the patience to read if it was competing against the instant gratification game of the internet.
For example, I am current reading Category Theory for Programmers, which I haven’t in the past been willing to put the effort into. But now, I have the focus to be able to work through it when my morning workload is light, instead of going toward instant distractions.
This morning I was reminded of Apache Rivet, which is a project that embeds a Tcl interpreter into Apache much like mod_php embeds PHP.
I don’t know if I have an immediate use for it, but it seems like it has had some recent updates, or at least someone verified that it is working on current version of Apache on Windows.
Since I’ve decided to focus on Apache as my production HTTP server instead of Nginx with fastcgi, this seems like it might be useful.
For me, Apache makes more sense as the application delivery platform than Nginx. I’m more familiar with configuring Apache and Apache seems more flexible without having to pull in FastCGI.
I am still planning to use Nginx for SSL termination. I might also use it for caching if I don’t stick Varnish in between Nginx and Apache.
Looking at Tcl this morning, there seemed to be more signs of stable life than previous times I’ve looked at it recently.
I want to write more about spiritual life, but I haven’t really read the Bible in a few days or prayed. For me particularly, if I haven’t been doing activities that promote thinking about God or the kingdom of heaven, I don’t dwell on them.
Jesus said "Abide in me, and you will bear much fruit."
I see clearly that if I am not doing things that cause me to think about God, my life suffers.
It is not just that my "spiritual life" suffers if I’m not dwelling in my thoughts on God. It’s also that I am less happy, and I am less inspired in my normal life. I am also less likely to act in ways that are helpful to myself or others.
Go and PHP
I’m pretty sure I want to transition my bookmark app from PHP to Go at some point.
Doing so would decouple the bookmark app from Apache and allow it to run in whatever other environment I might want it to in the future.
I’ve been thinking about how to decide between PHP and Go for different application. For example, why PHP for the blog but Go for the bookmark app? I think the decision really boils down to …
Do I know how to build the app?
- If yes, build it in Go
- If no, build it in PHP
I think it might make sense to prototype things in PHP and then rewrite them in Go. PHP is much more flexible than Go as far as adding to the project on the fly. Once the application is nailed down and stabilized, then the higher performance of Go becomes attractive.
Both PHP and Go are easier for me to deal with as far as building web apps than Python, Ruby, or C#.
A Little Blah
I’m feeling a little blah this afternoon. Maybe it’s because I haven’t really eaten lunch. Whatever …
Blog Next Steps
I’ve been thinking about the next things I need to do for this blog.
I still need to figure out what I want to do about permalinks for posts, or separate entries for posts or essays. I also need to figure out how I want to deal with images. I suppose I could host images somewhere else, which might be easier than figuring out how to upload images to my server. But that seems like an easy way to lose control of my images or pictures, or let them disappear if I’m not paying attention. I also still want to come up with two archive listings, one by date and one by topic. And I need to point connorberry.com to this new blog instead of the error page it currently goes to. Also, it desperately needs some more styling.
So far, the blog still needs:
- A topic index
- A date index[
- A solution for essays
- Some way to deal with images
- Better styling
- A domain name that points directly to it
Strange day in which I live can't find Spirit, heart or edge. Maybe I could find a way if I could live another day Where wolves dwell or willows weep and trees and mortals intermix And find myself a single tree where mountains meet the sea