2025-09-02 20:10:49
I am using both GitHub and Codeberg for my Git repositories. It is possible to setup multiple push URLs for a given repository. This allows you to interact with both remotes with a single command. Here’s how.
# Set up origin at GitHub
git remote add origin [email protected]:zanshin/repo.git
# Add Codeberg as a second push URL to origin
git remote set-url --add --push origin ssh://[email protected]/zanshin/repo.git
git remote set-url --add --push origin [email protected]:zanshin/repo.git
Once the push URLs are set, running git remote -v
will show one remote as the
fetch
remote and both as push
remotes.
origin [email protected]:zanshin/repo.git (fetch)
origin [email protected]:zanshin/repo.git (push)
origin [email protected]/zanshin/repo.git (push)
With this configuration, git pull
will only pull from the fetch
remote, in
the example above, GitHub. git push
will push to both remotes.
Using Jujutsu, jj
, you can push to all URLs using
jj git push --all-remotes
Using git
for repository interactions there may be drift between the remotes,
since pulls are only from the fetch
remote. Periodic pulls from the other
remote will be necessary to stay in sync.
Using Jujutsu, jj
, for repository interactions allows you to use
jj git fetch --all-remotes
which will fetch from multiple remotes simultaneously.
The key point is that git pull
only uses the fetch URL, while git push
uses
all push URLs.
2025-05-10 20:57:38
I’m 64 years old, so 64 albums. In no particular order.
Genesis - The Lamb Lies Down on Broadway
The Beatles - Let It Be
Rush - Moving Pictures
Boston - Boston
Marillion - Script for a Jester’s Tear
John Denver - Live
Phil Collins - In the Air Tonight
Peter Gabriel - Security
Tony Banks - Curious
Mike Rutherford - Mike and the Mechanics
Pablo Casals - Bach Cello Suites
Yo-Yo Ma - Bach Cello Suites
Truls Mørk - Bach Cello Suites
Janos Starker - Bach Cello Suites
Mistislav Rostropovich - Bach Cello Suites
Zöe Keating - Into the Trees
Styx - Suite Madam Blue
Yes - Yesshows
Led Zeppelin - How the West was Won
Peter Gabriel - i/o
Evanescence - The Open Door
Mike Oldfield - Tubular Bells
Kate Bush - Hounds of Love
Sol Gabetta - Prayer
Johnny Cash - American IV: The Man Comes Around
Film & the BBs - Tricycle
The Beatles - Let It Be (Naked)
Alannah Myles - Alannah Myles
Steve Winwood - Back in the High Life
Supertramp - Crime of the Century
Paul Simon - Graceland
The Nylons - Happy Together
Martin Page - In the House of Light and Stone
Michael Penn - March
Yes - Fragile
ZZ Top - Antenna
Boston - Boston
Melissa Etheridge - Brave and Crazy
Dire Straits- Brothers in Arms
Pink Floyd - Delicate Sound of Thunder
Anthony Phillips - The Geese and the Ghost
Fleetwood Mac - Greatest Hits
Rodrigo y Gabriela - Rodrigo y Gabriela
U2 - Songs of Innocence
Jethro Tull - Thick as a Brick
Queen - Classic Queen
Eagles - The Very Best Of
Heart - The Essential Heart
Styx - The Grand Illusion
The Police - Synchronicity
Atomic Blonde - Atomic Blond Soundtrack
The Beatles - Love
Oblivion - Oblivion Soundtrack
Daft Punk - Iron Legacy Soundtrack
Tracy Chapman - Tracy Chapman
Nigel Stanford - Automatica
Massive Attack - Mezzanine
Afro Celt Sound System - Further in Time
Lorenna McKennitt - Nights from the Alhambra (Live)
Nancy Griffith - One Fair Summer Evening (Live)
Leonard Bernstein, Wiener Philharmoniker - Beethoven Ninth Symphony
REO Speedwagon - The Hits
Mike Oldfield - The Songs of a Distance Earth
K. D. Lang - Absolute Torch and Twang
2025-04-28 22:57:25
There are many areas of my life where I am privileged. One is disposable income. I can afford to buy the things I want, usually without much thought to the price. I would love to support smaller, independent book sellers, but there are times when the price and convenience of Amazon is very hard to resist.
Case in point. I learned about a new book, “Notes for Cellists: A Guide to the Repertoire” by Miranda Wilson" today. The original link the book was to the Juilliard Store. I also looked for it on Bookshop.org, and on Amazon.
Juilliard Store - $ 34.95 for the book. Least expensive shipping: $ 22.95. Total cost $ 57.14. Yes 71% of the purchase price to ship a paperback book.
Bookshop.org - $ 40.19 for the book. Shipping is $ 3.99, and tax is $ 3.68, for a total of $ 47.86. 4-10 days for delivery.
Amazon.com - $ 28.38. Shipping - free(-ish). Arrives in two days. Amazon’s search results had another book that looked interesting, “Digital Grace Notes: One Cellist’s Journey” by Greg Fiocca, for $12.99. I’m getting both books from Amazon for $ 45.16.
I am buying more and more books via Bookshop.org these days, but being able to get two spur-of-the-moment books for less than one costs elsewhere was impossible to resist today.
(Amazon shipping is $138 per year. Or, $138 shipping for the first purchase of the year, then the rest are free.)
2024-12-30 22:45:25
Out of the box, MacOS Sequoia uses an older version of bash
, to use an
up-to-date version install bash
via Homebrew and then set your shell to the
Homebrew version.
bash
brew install `bash`
bash
executablels "$(brew --prefix)/bin/bash"
On Apple Silicone this will return something like
/opt/homebrew/bin/bash
cat /etc/shells
Which will show a list like
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
bash
to shells listecho "$(brew --prefix)/bin/bash" | sudo tee -a /etc/shells;
Verify that the append worked
cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/opt/homebrew/bin/bash
bash
chsh -s "$(brew --prefix)/bin/bash"
Enter your password when prompted.
In order for the new shell to be used, you will have to quit and restart your
terminal. Afterward you can verify your new bash
version.
echo $BASH_VERSION
2024-12-17 09:35:36
A few days ago I wrote about my adventures with Apple IDs. I was able to resolve the situation by resetting the original work Apple ID I had created.
After resetting the password, I signed into the account.apple.com page. There I setup new security questions, and I set up the shipping address and added a phone number. I couldn’t reuse my cell phone number but I was able to use a freshly created Google Voice number.
Then I signed into the Apple ID in the Settings app in MacOS. Finally I opened up the App Store, and when I was asked to review my account information, it was pre-filled, and the form worked as expected. Previous the form had not be pre-filled, leading me to think I had inadvertently done something out of order.
With a working Apple ID based on my work email address, I am one step closer to separating my work and personal computing personas. I am not done, however.
I have two work provided computers: a M2 14" MacBook Pro, and the new M4 Mac Mini. The MacBook Pro still has the previous generation JAMF remote management software in place, which has less strict policies. I can use Passwords on that machine. I expect JAMF to be replaced at some point (likely with little or no warning), so I want to migrate it to the new Apple ID. Lots of things are tied to ones Apple ID, so I need to make sure I have back ups, and know which settings and apps will need to be redone following an Apple ID switch.
The other place where my work and personal worlds collide is GitHub. I’ve been using my personal account for work. I added my work email address, and I use that when doing any Git related work for my employer, but it is still my personal account.
Where this gets messy is two-factor authorization. What started all this was the inability to use the MacOS Passwords app under the Intune remote management policies in place. Passwords is where the 2FA token for my GitHub account is generated. (Yeah. Using the same software to store both the password and 2FA token for an account defeats the purposed. That’s a problem for another day.)
If I don’t create a work GitHub account, that has its own 2FA token, then I’ll have to use my iPhone or personal laptop anytime I need to provide GitHub with a 2FA token. Cumbersome, but doable.
If I do create a new work GitHub account, there is some work to be done to get me added to the organization, and setup on all the teams and repositories I have access to. Not much work, but some.
My configuration for Git (and most other tools I use), is stored in a “dotfiles” repository. Recently I read Configuring SSH Keys for Multiple GitHub Accounts, which shows how to setup your Git configuration to seamlessly switch between GitHub accounts. By employing that, I could keep a unified Git configuration in my dotfiles repository, and use separate accounts for my personal and work Git activities.
All of this may seem like a lot of work for very little gain. It may even seem unnecessary, but as security concerns at work are generating more and more controls and checks, I want to have as much separation between my stuff and their stuff.
2024-12-13 07:29:01
Two days ago I received a new work computer, an M4 Mac Mini with 32GB memory and 1 TB storage. Yay me. Getting it setup and configured as been surprisingly difficult.
My employer is using remote management software on all computers. This is the only sane way to ensure that devices are kept up-to-date, and that unwanted or unsafe software and configurations aren’t employed.
Getting the policies fine tuned is the tricky part.
During the initial boot of the Mac Mini, I created a user account for myself.
Since it was the only account on the machine, by default, is was an Admin
account. During the initial startup following that there was a notification
about Intune running. Intune
is the remote management software being used. Unbeknownst to me, one of the
policies it applied converted my account from Admin
to Standard
. More on this later.
Another policy blocks using iCloud, in particular the syncing of the Passwords app. Without iCloud, Passwords won’t work. The answer from our help desk was to use the officially supported LastPass.
In order to not have to copy and paste passwords all day, I’d need to either (a) install the LastPass extension in Safari (my browser of choice), or (2) use a different browser, like Firefox.
After downloading Firefox I tried to install it and was blocked. When I put my
password in I wasn’t allowed to add the program. After trying a couple times,
and even re-downloading the app in case it was corrupt, I stated poking around.
Eventually I looked at my user account and saw that it was set to Standard
.
With a call from my boss, and a trouble ticket I was given an id and password I
could use to elevate my account to Admin
. Once I did that I could install
Firefox.
The mistake I made many, many years ago, was not creating a separate AppleID for work. Instead, I, like I suspect many people, simply used my personal AppleID for work. This has not been an issue.
The issue now is not wanting to have the LastPass extension in Safari on my personal machines. Thanks to my AppleID that’s exactly what will happen if I add the extension on my work computer.
So I created a new AppleID. At first I tried to resurrect an old, unused
AppleID created with my work email address years ago, that I never did anything
with. Unfortunately it doesn’t have two-factor authorization setup and I
wasn’t able to authenticate it. So a new AppleID. I work for (perhaps) the only
University that has two .edu
domains. Normally I use the shorter one, but by
using the other one, I could create a new AppleID that still used my work
email.
After creating the AppleID I was able to sign in to my account inside the Settings app. However, when I tried to apply app updates via the AppStore, I needed to sign in again, and provide an optional payment method, a shipping address, and a phone number.
Every time I filled in the form and hit submit it would highlight the address fields, and the phone number field and tell me to fill them in. Which they were already.
This led to the first of several Apple Support Chats. We tried signing into music.apple.com and into icloud.com. The iCloud sign in worked, but music.apple.com just displays a blank dialog with a spinner that never completes.
I was told to clear the cache and cookies, and erase the browser history. Which killed that chat session. I was told to try from a different WiFi access point. I said, “Really? How many access points do you think I have at home? And, by the way, I’m connected via Ethernet.”
After being passed around to different advisers, I was told to try updating my shipping address and phone number through icloud.com. That dialog gave an error message that said it couldn’t verify that phone number as it was already in use. Which is true. It’s my only phone number and is associated with my personal AppleID.
While the adviser was talking to someone else about this, I pulled up Google Voice and created a new phone number. Entering that phone number did not solve the issue. The phone number is updated in icloud.com, but trying to update apps via the AppStore still pulls up the account review dialog, which still insists I haven’t filled in the address and phone number fields.
Maybe it’s a timing issue. That not enough time as elapsed from changing the phone number in iCloud to accessing the AppStore. The fact that iCloud had a shipping address previously, and the AppStore didn’t pick up on it, makes me think it’s not a timing issue. But who knows?
The Apple support adviser wants me to make a screen capture of my trying to update apps, and send that to them. They are also going to contact me to capture some diagnostics. Apparently the diagnostic level of support could take up to 5 business day. Effectively a week from today. Which is nuts. And unacceptable.
The whole thing is now in a pending state. I can setup and install software that dos not come via the AppStore. But there are several apps I need from that source.
In the past my Apple “out of box” experiences have been far superior to this. Some of the issue is on Apple (why doesn’t their form work?) and some of it is on me (does separation of my personal AppleID and work AppleID really matter?). I know (hope) it will all be resolved, and soon.
If I could send a message to me in 1993, I’d say, “Create a separation between your computing and your employer’s. Don’t reuse accounts or share resources.” Sounds like common sense, but not having to create separate accounts for the same resources is that path of less resistance.
The epilogue to all this is my work laptop. Until now it has used my personal AppleID. Once I get the Mini sorted out, and the new work AppleID is working, I’ll sign out of the personal account and into the work one on that machine. Fingers crossed that this doesn’t result in another day and a half of frustration.