macOS: Hide "default interactive shell is now zsh" in bash

6 months ago macos 0 comments

With macOS Catalina, Apple changed the Terminal's default shell from bash to zsh. If you want to stay with the bash, you now always get a banner telling you to move to zsh:

The default interactive shell is now zsh. To update your account to use zsh, please run chsh -s /bin/zsh. For more details, please visit

This was one of the first things I noticed when switching from Mojave to Catalina. Fixing this, however, is very easy:

echo "export BASH_SILENCE_DEPRECATION_WARNING=1" >> ~/.bash_profile

Setting that environment variable is enough to make it shut up about zsh.


8 months ago homepage 2 comments

This site is now powered by Ruby on Rails. Yep, completely rewrote it in Ruby. I've ported all features and posts from the old site over and everything's working flawlessly now. In fact, I've added quite a lot new features, such as comments! Yes, you can now comment on every post!

Why move to Rails?

The old code base just got pretty messy and I've worked a lot with Ruby lately so it just looked like a nice opportunity. What gave it the final kick was that I accidentally made a mistake on the site's database which deleted quite some data.

Also, I wanted to get better at Rails and Ruby too.

I've heard from people that Rails ain't a good fit for blogs, but I personally don't think so. Rails is an amazing framework which can totally be used to write a blogging engine.

  • Have similar URLs 
    • At the beginning, I wanted to keep the exact same URLs, however, I quickly dropped that idea in favor of Rails' routing best practices. All old URLs are redirected, though.
  • Fix bugs from the previous version of the site
  • Add comments
  • Use existing Markdown posts 
    • I wanted to be able to just "import" my previous posts and keep writing in that format, no changes.
  • Stay close to Rails' best practices 
    • I wanted to create a "true" Rails site, utilizing as many of its features as possible.
  • Make the site even faster 
    • The previous site wasn't slow by any means, but I wanted to make it a little faster, which I really did!
  • Use the same design
  • Add a JSON API for (almost) all pages 
    • Try appending .json to the current URL! API docs will come soon (edit: they're here)!
  • Write much cleaner code

Open Source

I think about open source'ing this site's source code, but I'm not quite sure about that. We'll see.

What happened to the previous posts?

The previous posts are all imported, however, most of them are archived. This means that they don't show up on the site or in feeds, but are still there if you know the URL. I left most macOS-related posts up as they can still be quite useful. The other posts were mostly obsolete or just of low quality.

What comes next?

I'm not quite sure. I want to continue writing on this site, that's for sure, at least.

I want to write better, longer, more detailed posts in the future. Most of my previous posts were just really short without much content.

Put a README on your GitHub profile

10 months ago github 0 comments


I discovered a really nice easter egg in GitHub today! If you create a repository that's named exactly like your GitHub username and put a in there, the rendered README will show up on your profile!


  1. Create a new repository named as your GitHub username (if your name is Example, name the repository Example); GitHub shows you a green easter egg alert right under the name input if the name is correct
  2. Check that Initialize this repository with a README is on
  3. Click Create repository

Now edit the newly created with the contents you want to show on your GitHub profile.

Time Machine backups on regular SMB drive

about 1 year ago macos 0 comments

I just set up my Mac to save Time Machine backups to a regular SMB share. Doing this is actually quite easy:

Step 1: Create a .sparsebundle

Open Disk Utility and choose File => New Image => Blank Image.

Give the image a name and size (check the Time Machine settings first to see how large your backups will be).

  • Set Format to Mac OS Extended (Journaled)
  • Set Encryption to 128-bit AES encryption
  • Set Partitions to Single partition - Apple Partition Map
  • Set Image Format to sparse bundle disk image

Now click Create.

Step 2: Copy the .sparsebundle to your server

Unmount the .sparsebundle by clicking the eject icon next to the image's name in the Finder sidebar. Now copy the .sparsebundle onto your server. You can now delete the original version from your Mac, just make sure that the copy is on your server.

Step 3: Configure Time Machine

Open up a new Terminal window and type

sudo tmutil setdestination "/Volumes/NameOfYourImage"

(replace NameOfYourImage with the name of your .sparsebundle image)

Congratulations, you're done! Now you can start a new backup in the Time Machine settings.

Clean macOS dot underscore files

over 1 year ago macos 0 comments

If your directories are full of files like ._filename, simply run

dot_clean -n 

to merge them with their corresponding native files. The option -n means that every ._ file which can't be merged will be deleted. For more information on that, run man dot_clean (web version)

Restarting the audio process in macOS

over 1 year ago macos 0 comments

Just in case your Mac refuses to play sounds, try killing CoreAudio, it will restart shortly after:

sudo kill -9 `ps ax|grep 'coreaudio[a-z]' | awk '{print $1}'`

Works perfectly fine to fix sound output on my Mac on 10.14 (Source)!

Get rid of the macOS Catalina update badge

over 1 year ago macos 0 comments

Edit Nov 2020: This seems to continue to work on 10.15 to hide the 11 update

I disabled searching for updates on my Mac, because I want to stay on 10.14, but accidentally opened the update preference pane, which then started to search for an update.

Since then, the settings icon in the dock had this red badge indicating, that there's an update available.

That's really distracting, so I tried out many commands to remove it, but none of them worked. One was working in 10.13 and lower only, another one required you to do it before the update was found, ...

But I ended up with this command, which actually worked:

defaults write AttentionPrefBundleIDs 0 && killall Dock