Against the better judgement of my own common sense, I decided to update my iMac to the macOS Catalina beta recently. One of the major internal changes in going from Mojave to Catalina is the transition to a read-only System volume. During this process, I ended up with a folder on my desktop of files that the upgrade was unable to handle. Most of these files seemed innocuous, and I just deleted them. There was one folder, however, that I couldn’t delete because the system claimed it wasn’t empty. Blowing it out via the Finder or the Terminal was a fruitless task.
In the interest of saving you time if you run into this scenario, these are the steps I took to solve my issue.
- Reboot your Mac into Recovery Mode. Authenticate your user account if required.
- From the menu bar, open the Terminal application.
- Disable System Integrity Protection and reboot:
csrutil disable; reboot
. - Once your Mac reboots (and assuming it's still not in recovery mode), open the Terminal app.
- You need to mount the new file system as read-write temporarily so we can blow the folder(s) away:
sudo mount -uw /
. This is temporary, and rebooting will revert back to the safer read-only variant. - Delete the files you want to purge via the
rm
command. You’ll probably need to use sudo
. - As a last step, you need to re-enable System Integrity Protection. To do that, reboot back into Recovery mode.
- From the Recovery Mode menu bar, open the Terminal application:
csrutil enable; reboot
Once the reboot completes, your Mac should be back to the expected state, just with a few less zombie folders. You can verify SIP is active by opening Terminal and executing the csrutil status
command.
Today is my first day back at work after a wonderful two weeks unplugged from the normal day-to-day workings of a software developer. I don’t unplug entirely, but my iMac with Xcode and all the trimmings is mostly replaced with the iPad Pro 10.5 I am presently typing on.
In my twenties I would rarely, if ever, take a day off. Holidays and weekends seemed to bleed into the previous and next days and there was always something that I wanted to be working on. There was a new release of Elements with a feature I was worried a competitor would beat me to. Other times, it was that gnawing calculator in my head telling me that every hour I don’t work and bill clients is money I am leaving on the table.
As I’ve settled into my thirties, however, I’ve learned to appreciate taking time to reset and just get away the work. I still haven’t taken a proper destination vacation or unplugged entirely to silently meditate, or whatever you do when you don’t use technology. What I do try to stick to, however, is taking two weeks off twice a year: once in the middle of summer and again at the end of the year between Christmas and New Years.
My summer conveniently lines up with the summer shutdown at my current day job where nearly every single person in the company (sorry, devops) disappears for two weeks and takes their vacation at the same time. The first time I took a two week break like this I was quickly bored and ready to get back to work. Having never taken even a week off before, two weeks seemed insane and unnecessary. As I’ve continued the habit though, I’ve realized that it’s actually the perfect amount of time to decompress, recharge, and maybe even learn new things without having to worry about making time before or after work.
It’s also great at forcing you to truly separate from your work. With a long weekend, or even just a single week away, I’d spend the majority of the time just trying to unwind and transition out of ‘work mode’, which is sometimes challenging for someone as high-strung and invested as I can be sometimes. By adding the second week away, I am allowing myself a full week of true vacation where I’m in the rhythm of whatever I’m most interested in during that time.
These last two weeks have been spent just reading books I’ve had saved up as well as catching a few different TV shows I’ve wanted to see. I may or may not have completely reorganized my kitchen too. My two week break over the summer was spent doing repairs around the house or building things in my shed such as a new monitor stand. I rarely open Xcode, though that’s not a hard rule I have. I just find I don’t want to or feel the need to. Most importantly, I unplug entirely from work and make myself as unavailable as Tom Hanks on a deserted island.
Admittedly I have a bit of privilege in being able to take this much extended time off regularly and it may not be possible for others with different life scenarios. One trade off for me is that since I am a for-hire contractor I don’t get paid for this time or any vacation days, so it does require a bit of budgeting and discipline. Despite that, if you can figure out a way to pull the two week vacation at your job, I highly recommend giving it a shot.
Now, I wonder if my app still compiles . . .
At some point in 2016 I opted out of most social media, especially Twitter. I don’t remember the exact day or what the final straw was that brought me to that point, but my response was to delete nearly a decade's worth of tweets, unfollow every account and just stop participating.
There was no major discovery from breaking away from social media. I didn’t find enlightenment, start drinking more water, or become a better person. I just stopped feeling bad about whatever micro-outrage would make its way through my network on a given day, only to be forgotten about as soon as the next day’s outrage arrived. I stopped arguing about stuff it turns out I didn’t care nearly that much about to have a firmly held opinion on. Developers are miserable people. We complain a lot. Being connected to tens of thousands of them throughout your day is probably not the best idea if you’re someone like me who isn’t great at letting stuff go easily. So I opted out.
This is the point where I confess that while I “quit” Twitter, I didn’t actually “quit Twitter.” While you may have seen the mass destruction of the @justin account as me signaling my desire to cameo in a Logan Paul video, I was actually still using the service, albeit in a much more pleasant way.
Private Twitter is the account I use to follow close friends, see sports GIFs, and get my news from College Football Twitter. More importantly, it’s a private account that only 80 of my closest friends have access too. These are the folks who I would be happy to see if I randomly ran into them at a bar or restaurant. It doesn’t include colleagues, casual acquaintances, or any random person who thinks I might be an interesting follow because I sit and stare at Xcode all day for the day job.
By limiting the follower list with such a heavy hand, I’m able to more freely share things that are boring, mundane, or only potentially of interest to me. I have no one to impress, no stats to juke, and no need to worry about being retweeted in to a viral hellscape of “Well, actually.” My friends who follow me on Twitter may not be super interested in seeing that I reorganized my kitchen cabinets or took apart and washed my keyboard, but that’s the type of mundane and boring stuff you talk about with friends.
Private Twitter is also not about reciprocating follows or worrying about the social awkwardness that can be caused by not following back. Some of my closest friends follow me on Private Twitter, but I don’t follow back because they talk about technology and whatever “iOS Community” drama there is on a daily basis. I have active iMessage threads with these friends daily, and that acts as a filter of sorts to bubble up the actual news I need to worry about.
Personally, I just do not care to see or hear about whatever is going on in the tech sector anymore, because it’s mostly noise and very little signal. If I want to dip my toes in for whatever reason, I search for a few friends’ accounts and read their timeline for the last day or two. I usually regret it because I get a headache from eye rolling, but it was my choice to make.
The only reason I am writing this is because a week doesn’t go by without me talking to someone that hasn’t quit Twitter or is on the verge of quitting because the negatives far outweigh the positives anymore. My advice to them is usually always the same:
- Create a new Twitter account and set it as private by default.
- Follow a few accounts related to things you truly like. In my case that was college football, the greatest sport of all.
- Follow a few accounts related to your city, if relevant. I follow CDOT, RTD, and the Mayor of Denver so I can know if there are traffic accidents I need to know about or something interesting is happening in Denver.
- Follow your family, unless they annoy you. Follow a few close friends.
- Throw your old account into the sea.
My Twitter solution is definitely not for everyone, but it has worked well for me for almost two years now. I still take Twitter breaks periodically, but it’s rarely because I’m annoyed at what I’m reading or seeing anymore.
In January of this year I started tweeting again from @justin. I set a few ground rules. First, I try to only post positive things rather than just using it as an outlet to complain. I try to stick to this 100% of the time, but I’m sadly not perfect. My second rule was to not follow anyone on the account. When I use my public twitter account I think about it as throwing a note over a wall and then walking away. I’ll check the replies and interact occasionally, but that is an exception, not a norm.
People have described Twitter and social media in general as an avenue for people to shout their opinions out into the open while other people are shouting theirs. I now fully embrace that with my public account. You’re welcome to follow my public shouting if you’d like. Private Twitter, though? That’s for me and my friends.

As a matter of archiving and historical significance that is potentially only useful to me, I’m opting to share the current home screen of my iPhone on this, the first day of 2018.
Embracing Defaults
As the iPhone and iOS has matured over the last decade, the amount of third-party apps I have used for system-provided services seems to have dwindled. I no longer use a third-party email client because Mail is good enough for my needs. Apple Music allowed me to ditch Spotify. The Calendar app isn’t nearly as good as Sunrise used to be, but it’s good enough that I don’t want to be bothered using a third-party solution anymore.
Probably the most controversial will be my use of the Apple Podcasts app over something else. The Podcasts app isn’t nearly as full-featured as my old stalwart PocketCasts, but I was willing to trade silence trimming for easily being able to tap on a share link and have it open where most podcasts expect: Apple Podcasts.
Reading
One constant is that I read a lot on my phone. Apple News has become a mainstay for me as a way to check in on the news of the day (both real and fake!), while also mixing in some of the entertainment and music news I am interested in as well. The New York Times is my go-to in the morning for their morning briefing and for periodic push notifications throughout the day so I know when we have been nuked.
I recently received a subscription to The New Yorker and have found their app to be incredibly well done and now my preferred way to read their content. I still check the Medium app daily as well, because there are a few pearls in their sea of masturbatory posts. I do enjoy their new audio posts feature for members, which is a nice addition for longer reads that I have been meaning to read for a while, but never actually sat down to enjoy.
One change I made in the last year is that I stopped using Pocket, which was probably my most used app of the last five years. There wasn’t necessarily anything wrong with Pocket, but I found that I would just throw articles in there and never get around to reading them. Queue Guilt is a real thing.
My new system is to either read the article at the time I find it, or open it in a background tab if I know I want to read it in the evening. Each morning, I close out those tabs, even if they are unread.
Writing
One of my goals for my 35th year is to get back into the habit of writing more, so I’ve put both Ulysses and Day One on my home screen to try and facilitate that. Day One tracks my journaling, private moments (think Instagram posts , but without sharing and growth hacks), and my monthly and annual goals. Ulysses is where I do the majority of my professional and hobby writing, such as this post you are reading right now.
And yes, I use the official Twitter app for both reading and writing tweets instead of Tweetbot. It’s fine. Don’t @ me.
Photography
One break from my “defaults” rule has been switching my photography app of choice to Halide. The ability to shoot manually or with Raw when it makes sense is a major win over the default iOS Camera app. If I need to shoot a video or panorama, the system’s camera app is easily accessible via Control Center.
Halide is the first third-party camera app that seems to have eliminated the annoying delay from launch to being able to capture an image. When I’ve tried (or worked on!) camera apps in the past, I found that the delay would cause me to lose several ‘in the moment’ shots. Either Halide is doing some secret magic, or Apple has finally fixed AVFoundation
to not have that delay when using a camera view.
For sharing photos or seeing what is happening in the lives of my friends & family, I still use Instagram. Facebook hasn’t completely ruined it, yet.
A Work-Free Zone
A trend I started around the middle of 2017 and hope to continue into 2018 is keeping all work-related apps and services off of my personal phone and tablet: no work email, Slack, or Asana. The TestFlight build of the TED app is the closest I get to work-related content.
My reasoning for this was to try and create a better separation from work and my day-to-day life. I realized that the notifications and always-on nature of modern work caused my anxiety to increase in ways that I didn’t like. Now, I just check these services when I am sitting at my desk and actually working, versus making myself seem accessible 24/7. If a true emergency does come up (the 1% of the time it is a true emergency), people can contact me via iMessage and I’ll install whatever app I need temporarily if I’m unable to get to my iMac.
Into 2018
If I have to guess about how my phone habits will change in 2018, I am guessing they won’t much. I rarely download new apps anymore as I’ve found the ten or so that suit me. The bar to get people to switch apps is incredibly high at this point.
Forced to pick though, I’d say Instagram and Twitter will be gone by 2018. I constantly struggle with Twitter being both a toxic cesspool of hate and abuse, while also making me laugh daily. I don’t trust Facebook as far as I can throw them, so I won’t be surprised if they do something that makes me delete my Instagram account. Given that I use Day One more for “posting” what I used to share on Instagram, I don’t know if I’ll miss it.
For as long as I can remember, I have been running into an annoying issue with my iMac where I’d have to authenticate twice upon restart: once with my old account password to unlock FileVault, followed by my new account password to actually get into my account. I finally took the time to figure out how to fix this the other day. I couldn’t find a succinct example on The Google, so here you go. Note that this is for an APFS volume on High Sierra (10.13). If you are using HFS+ or an older version of macOS still, the instructions may be a bit different.
In Terminal run the following command:
sudo fdesetup list -extended
This will return a list of accounts that are associated with your Mac. The output should look something along the lines of below.
ESCROW UUID TYPE USER
C20A4763-D4F8-4B3C-A889-0021B0735248 OS User justin
7DA69D0C-BA82-4575-AC68-CFE037778BA1 Unknown User
05E65DD7-AE83-4BD4-8B8B-AADA35A307E1 iCloud User
Copy the UUID for your specific user account as you will need it for the next command.
Once again in Terminal, type the following command:
diskutil apfs changePassphrase disk1s1 -user [UUID]
Replace UUID with your UUID you copied from above, obviously. You’ll be asked to enter your old passphrase, followed by the new one. After that, you should be able to sign into your Mac and unlock FileVault using the same password, once more.