Taking the Pain Out of PHP Development With Docker Compose
I won’t do PHP for love or money. Since it’s known that I’m a Software
Person, friends and relatives will occasionally ask for help with some random
issues and I’m always happy to take a swing at it. To take some of the pain out
of it, I have a docker-compose setup that makes it easy to run PHP
without polluting my laptop with a lot of dependencies.
Building Emacs 27.1 on macOS Big Sur
It’s been a while since I posted a Emacs build walk-through, one version of macOS has come and gone and a new major version of Emacs has arrived, let’s get to it.
Building Emacs has only gotten easier since macOS Catalina, so, let’s make this quick.
Not Stupid SSH Tricks: Automatic ssh-add
If you password protect your SSH keys (and you should) and you don’t store those passwords in your macOS keychain or Linux equivalent (slightly paranoid, but not a bad idea), you have to add keys to ssh-agent with ssh-add before using them. Otherwise, you’ll be prompted for the key’s password on each use. This always bites me when doing deploys, I get prompted multiple times as the deploy process makes multiple SSH connections.
Fortunately, there’s a simple fix.
Updated Emacs Open With Line Numbers
Not long ago I shared a Bash function that takes filenames in the form of filename.rb:NNN, where NNN is a line number, opens the file in Emacs, and jumps to that line. This format is commonly used in error messages and the output of test frameworks.
However, there’s another format I run into all the time, the format Github uses in URLs when linking to a specific line number:
1
|
|
Here, the line number is in the form ‘#LNN’, which makes total sense as a URL fragment identifier. I get a lot of these URL in chat when discussing problems and I decided to add support for them to my function.
Building Emacs 26 on macOS Mojave
Another, macOS (Mojave), another major Emacs release, let’s get building.
Ironically, I started this post in vi
. Why? I’d updated brew and a
change in the ImageMagik version broke Emacs.
The complexity of this exercise waxes and wanes as the dependencies of Emacs change and as the versions of tools Apple ships get old or get updated. This time around, there is one new requirement.
Opening Files With Line Numbers in Emacs
Long ago I shared my EmacsClient setup. The short of it was that I always have Emacs running and set $EDITOR in such a way that things like git commit
open a new frame in my existing session. I also had a simple Bash alias that let me open any file in a frame as well:
1
|
|
Where $EMACSCLIENT
is the path to emacsclient
on whatever system I’m on, -c
is to create a new frame for the file, and -n
to tell emacsclient
to exit immediately instead of waiting for me to finish editing.
This has served me well for years. However, there’s one bit of laziness I’ve been wanting to implement. Handling filenames (or file paths) that include line numbers, i.e. filename.rb:123.
Building Emacs 25 on macOS High Sierra
macOS High Sierra is out and it’s time once again to build Emacs. Nothing has really changed since my 2017 Sierra update, but let’s put it all together…
Building Ruby 1.9.3 With RVM on macOS High Sierra
If you try to build Ruby 1.9.3 using rvm install ruby-1.9.3-p551
, it
will barf with compiler errors. The workaround, found
here, is to use:
1
|
|
You will get a warning:
Ruby ‘ruby-1.9.3-p551’ was built using clang - but it’s not (fully) supported, expect errors.
However, I have run into any errors.
Yes, 1.9.3 is not supported and, in a perfect world, I would be able to upgrade projects using it.
No, I don’t care if you hate RVM.
Building Emacs 25 on macOS Sierra 2017 Update
A quick update to
Building Emacs on macOS Sierra. I
recently had to rebuild Emacs due to brew
updating the version of
libjpeg
. My
walk-through almost
works, however the Emacs build now depends on a newer version of
makeinfo
(part of the
texinfo suite) than the one
that ships with Sierra.
How I Start Rails Projects V2
An update to my somewhat popular How I Start Rails Projects post. As before, I start with:
1 2 3 4 5 6 |
|
The only change is bumping Ruby to 2.4.1.
But this leads to a rant: