git posts

Git aliases and POSIX sh

An interesting problem I encountered when moving to use Linux more is that git aliases are often run in POSIX sh instead of the terminal in use, such as bash or zsh. A few of my aliases are complex enough to require running an external shell command, ie using !. Some of those have complex comparisons or verify with the user what they are doing. I had long used some bashisms to simplify these, and didn't have problems on my Mac, which uses bash as the sh implementation, but had problems in Ubuntu, which uses dash.

Continue reading post "Git aliases and POSIX sh"

Goodbye Dreamhost, hello Digital Ocean

My server, and with it my blog, a client site, and other web properties, was down for four days. I put in a support ticket and didn't get a response until the fourth day. I've been with Dreamhost since 2009, and using DreamCompute since 2017, but I don't think the product gets nearly the focus that their shared / managed stuff does. I use Digital Ocean at work, and it has been a much more polished and solid product for unmanaged VPS. That is where my site is now hosted.

Continue reading post "Goodbye Dreamhost, hello Digital Ocean"

Playing with GitHub Pages

This past weekend, I started playing with GitHub Pages for the first time. It took a while to figure out, but was somewhat fun. I've been interested in it for a while, but was unsure of how to do what I wanted, such as building with PHP, Sass, and Rollup. Turns out it was fairly easy with GitHub Actions to do most any sort of build steps I want. It is very interesting for free static site web-hosting.

Continue reading post "Playing with GitHub Pages"

Github repo backup script

For some time, I've been wanting to set up a backup for my Github repos. Technically they are all backed up by my local copies, which are also backed up when I back up my local computer. However, I wanted something that was sure to have everything from all the repos (all branches, tags, etc) and could be set up and run continuously on a yet-to-be-created backup server. I have create a bash script to do this for me. Continue reading post "Github repo backup script"


Git info alias

I do a lot of management of work and personal projects with git. I've been making shell and gitconfig aliases to make things that I do often quicker or to store logic of things that I won't remember easily. One recent one that I really like is a git info (or g i) alias that shows status and a number of other bits of information about the repository quickly with one command. I've been using it in place of status most of the time.

Continue reading post "Git info alias"

New server setup at Cogneato

I'm kind of excited that we moved the first site onto a new server setup at Cogneato. I had worked off and on on the setup for months before we finally went forward with it. It brings a new OS, new host, new software, and a number of other changes to our previous setup.

Continue reading post "New server setup at Cogneato"

Apparently at some unknown point in the past, Github changed something about their webhook / service connections, and Packagist added a requirement, when using Github to log in, to take control of the account's webhooks. Continue reading post "#2338"


Almost lost some work with git. I was using git reset --hard to rewrite some history, but I forgot that I had some unstaged changes. Luckily, I had stashed it previously and still had the call in my terminal buffer, so I was able to get the object ID and apply it after verifying it was the right one with git stash -p show $ID. Continue reading post "#1273"


WPThemeHelper, my helper for WordPress themes

In remaking my website using WordPress, I've been working on a base theme that I can use for other sites. I decided to take some of my experience from the Symfony world, such as organizing functionality into namespaced classes, grouped into "bundles" of functionality that can be (somewhat) independently installed as needed depending on the project. I already mentioned the PHP-BufferManager I'm using in a previous post. I've also created a more specific to WordPress project with more varied functionality, a theme helper called WPThemeHelper.

The theme helper has several classes to help make theme development cleaner and perhaps a bit easier. The readme on github has more details, but some of the more important ones are:


PHP Output Buffer Manager

With rebuilding my website with WordPress, I have made progress on the WordPress starter theme I've been working on. One thing I used for it was PHP's output buffering to control output and allow me to define "blocks" of content, then render them at a later point in their proper location. To this end, I created some helper methods to manage this for me and allow easy creating of named buffers. I got the idea for this from the slots of Symfony's PHP templating engine.

I have since broken this out of my WordPress theme helper classes into its own class and created a github repo, PHP-BufferManager to allow its use for generic purposes. This is a very simple repo and class. The most common way to use it would be to use $instance->start('name'); to start a buffer named 'name' and $instance->end(); to end it, then $instance->get('name'); at a later point to get the string value of the buffer for output or other purposes. A simple example:

Continue reading post "PHP Output Buffer Manager"

</toby>