GlanceCam is an app developed by my friend, Cesare Forelli, and it's once that I've admired for a long time. In short, it's an app that lets you view IP cameras from your Mac. But in reality it's so much more, especially with the recent major update.
It's a relatively minimal design, however it's still packed full of functionality. It support multi-windows, always on top, 4K streams, you can use it to sent HTTP GET commands to your devices, keyboard shortcuts, a URL scheme, AppleScript support, and so much more.
This app is probably the main reason why I'm thinking of investing in some cameras for my house.
22nd November 2020
Today the hill some seem to be willing to die on is that the Mac will never get a touch screen.
“It sucks on Windows, Apple wouldn’t do that. They’ve said no for 10 years, why do you expect them to change?”
Optionally, bounce back to the top of this post if you’re not sure where I’m going here. 😋
This year Apple added a mouse cursor to the iPad, something a few years ago would have been brushed off as “a Mac thing that didn’t belong on a touch-based OS.” Yet here we are. If you can find a single person who thinks the iPad is worse off for adding a cursor, I’d be very impressed. Apple didn’t just glom the Mac cursor onto the iPad and call it a day, they updated iPadOS in ways that made it work wonderfully.
This is a great piece by Matt, and I think he's managed to convince me about touch screens eventually coming to Macs.
I think I was biased by the touch implementation in Windows, which I don't think is particularly impressive, and also the difference between macOS and iOS where Apple do support touch.
But Apple adding a touch screen wouldn't be just that. There would be a story behind it. And I for one, am intrigued to see what that story will be.
19th November 2020
Dan Moren, writing at Six Colors:
My new MacBook Air is proving to be all that I’d hoped, and it’s not just because of the fancy new M1 processors. Since I’m coming from a 2014 MacBook, I’m reaping the benefits of all the other advancements Apple has made to its laptop line in the intervening years, and prime among those is the incorporation of Touch ID: I’ve already enabled it for 1Password (what a lifesaver) and, thanks to a tip from Twitter follower Josef, I can bring it to one of my other favorite places: the command line.
Such a great tip. I wonder why it's not more easily available?
18th November 2020
Joe Rossignol, writing for MacRumors:
A teardown of the new Mac mini has surfaced on the forum eGPU.io (via Reddit), providing us with a real-world look at Apple's new M1 chip, which is soldered onto a much smaller logic board than the one found in the 2018 model of the computer.
There sure looks like there's a lot of empty space in there, which bodes well for the future. You can take it as more room for future even more powerful models, or that this power could be put into an even smaller chassis. Either way it's positive.
6th January 2020
Shihab Mehboob (@JPEGuin) shared a useful tip on Twitter, where you can expand the amount of rows and columns in Launchpad.
Turns out you can do this by altering the following values via Terminal:
defaults write com.apple.dock springboard-rows -int 8
defaults write com.apple.dock springboard-columns -int 8
For these changes to have effect, you’ll need to restart the Dock. You can do this via Activity Monitor or by typing
Here’s what mine looks like on my 16″ MBP:
So much better than the massive icons that come by default.
13th November 2019
Apple today, took me by surprise and announced a new MacBook Pro. A 16-inch one to be exact.
I’m very excited about this machine, for various different reasons which I will discuss below. But it has come at a very good point at least from my perspective, as I’ve been recently feeling the need to upgrade my current Mac because of the annoyances I have with it.
My Current Machine
To provide some context, my current machine is the MacBook Pro 13-inch Late 2016 model (not Early-2015 that I somehow thought I had earlier). It has a 6th generation 3.1 GHz Dual-Core i5 CPU, a whopping 256 GB SSD, and 8 GB of memory.
I purchased this while I was at university, so my budget was limited. And that is clearly represented in the specs of the machine. I clearly did not think about the lack of upgradability when I purchased it.
It was a good machine when I first bought it, but over the years it feels like it’s causing friction whenever I want to get something done. Which is a big reason why I think I’m going to buy this new model.
What I Do on My Mac
Along with the usual web browsing, Twitter scrolling, and other common tasks, there are only a few main tasks that I use my Mac for:
- Developing applications
All of these are perfectly capable tasks for my machine, but I would say that each of them certainly comes with its own level of friction.
For example, I find developing iOS apps to be cumbersome on a 13-inch screen. This used to be fine for me, but I’ve since been using external displays at work, and I find the 13-inch to be just a bit too compact. The time it takes to compile my projects, and run simulators to be annoying. Not necessarily what I would call slow, but it’s certainly not enjoyable. And with the limited time I have to develop my own personal projects, I want my machine to be as accessible as possible.
The writing I do is essentially all for this blog. I use whatever text editor that tickles my fancy at a moment in time, and I write in plain Markdown. It’s nothing that demands much resources from the machine at all. But it does require a reliable keyboard, and while the current keyboard served me well at the beginning (I personally don’t mind the “clacky” noise it produces), I’ve been slowly finding problems with it. My command keys are a bit flaky, I still haven’t adjusted to the escape key being in the Touch Bar, I occasionally get double characters when typing, and it generally just doesn’t feel as comfortable as other keyboards have been for me.
To me, a keyboard is something that you shouldn’t really notice, but when using this machine to type anything (I don’t need Grammarly), I’m constantly aware of it. Even if it’s not making any errors, I know it can and it means I can’t always focus properly on my writing.
By gaming, I’d like to refine this to playing World of Warcraft. It’s the only game I play on my Mac, and I certainly do play it quite a lot. You may be surprised by the fact that I actually game on a Mac, but while this machine isn’t necessarily built for it (It only has integrated graphics and 8 GB of memory), it gets the job done. But I’ve always wanted a better machine for this reason alone. World of Warcraft can look amazing on a Mac, I’ve just never purchased one good enough.
What Can the 16-Inch MacBook Pro Offer Me?
Perhaps the most obvious improvement that this machine has over my current machine is the size of the screen. I really want a bigger screen, and now it’s an inch bigger than I thought I’d go. I used to be hesitant about this for many reasons, but because of my iPad Pro that I use quite a lot, I’m not taking this on as many trips as I used to. So essentially the only portability I need is the ability to move it around my house.
The keyboard is the most major difference that I think is a real problem solver. I have issues with my keyboard, and I would like to hope that with the new key spacing, increased key travel, and the early opinions of reviews, that this will fix my problems. It also features a hardware escape key, which I think is the perfect comprise between having the Touch Bar or not. I like the Touch Bar, but tapping a screen with no tactile feedback for the escape key has always been weird to me.
One improvement that I think shocked everyone with this new model is the new speaker and microphone systems. I don’t really use the microphone at all, but I watch a lot of videos and listen to a lot of music on my Mac, so these are all welcome changes.
Obviously, with this being a brand new model, using new hardware, it’s going to bring with it enhancements all over the board. I’m sure compile times will be faster in Xcode, gaming will be smoother and with much superior graphics, and everyday tasks will surely feel much more seamless.
What I’m Looking At
The spec I’m looking at getting is the base 2.6GHz 6-Core i7 model, but with an upgraded 32 GB of memory, 1 TB SSD, and the AMD Radeon Pro 5300M with 4GB of memory. I think that GPU would be suitable for my needs, but seeing as the next step is just £90, I’ll have to do some research and see if it’s worth the jump.
What I’m doing differently now, is that I’m actually thinking about the future of this Mac. For example, I limited myself to 8 GB of memory last time, and while I think 16 GB is probably fine for me now. I think the extra jump to 32 is going to prove worthwhile in the long run. The same applies to the SSD. There’s no way I’m going to get anywhere near 500 GB, let alone 1 TB. But it removes a needless restriction, to a machine that simply can’t be upgraded at a later date.
Hopefully, this new 16-inch MacBook Pro can become a laptop that I actually like using again. And after writing this post, I’m even more sure that I’m going to get one.
7th January 2019
It’s been just under a year since I published my article on how to connect an Xcode project to a GitHub repository. Since then, Xcode has kept being updated with new Source Control features, and the guide started to break. So I’ve decided to start fresh and show how you can quickly and easily use GitHub to track your Xcode project.
The Xcode used for this guide was version 10.1.
We will first go through initialising a Git repository, finding the Source Control features in Xcode, and then either link it to an existing GitHub remote, or create one directly inside Xcode.
Initialising a Git Repository
You will need to make sure your project is inside a Git repository. The easiest way is to check the “Create Git repository on my Mac” checkbox when first creating the project, but you can also use the
git init command1 to create one inside the root folder.
Once your project is being tracked by Git, you will see your project in the Source Control pane on the left of Xcode. It’s the second icon from the left, and you can quickly access it using CMD + 2.
This shows any local branches, tags, and also any remote repositories you have set up, along with remote branches. So you’ll be able to use this pane, along with the Source Control option in the menu bar to manage your repository once it is set up.
Setting Up a Remote
From this stage you have two options, you can link this repository to an already existing remote you have set up, or you can use Xcode’s new tools to create a new one. Either option can be found by right-clicking on the Remotes folder.
I’ll go through both methods.
Using an Existing Remote
For this example, I created a blank repository on GitHub. Once a blank repository is created, they show you a few ways to initialise the repository. However the only thing you’ll need is the URL address inside the Quick setup section. For me, it’s
So if you go back to Xcode, right click on Remotes, and select Add Existing Remote, a new window will appear from the top prompting for the location. You just need to paste in the URL you got from GitHub, and select Add.
Once you’ve done that, you should see the new remote appear in the Source Control pane, and you’ll be able to commit, push, pull, etc. from the menu bar in Xcode, along with the usual places.
Create New Remote
If you haven’t got a remote repository set up yet, this is the easiest way to do so, and you don’t even have to leave Xcode.
Like before, go back to the Source Control pane, right-click on Remotes, and select Create “Project Name” Remote. You’ll then be presented with a window where you can customise the new repository you will be creating.
First of all, you’ll need to connect your GitHub account if you haven’t already. To do this just click on the Account drop down menu, tap Add, and then enter your GitHub credentials.
You can then enter a repository name, which will also dictate the URL, an optional description, the visibility of the project, and name you will call the remote in Xcode. The default options are usually fine, although you may want to make the repository private. The last field, remote name, can be left as the default “origin. This is just a label you can give to the remote repository, and if you used multiple, it would be helpful to distinguish each of them. Origin is just the conventional name that most developers use.
Xcode will then create the repost on GitHub, and push your code. You should then see the new remote appear in the Source Control pane, and you’ll be able to commit, push, pull, etc. from the menu bar in Xcode.
You’ll also find your code on the remote repository on GitHub.
I hope you found this guide helpful. If not, then please let me know either in the comments below, or on Twitter where I’m @chrishannah.