-
How to resize iPhone Mirroring window?
Enlarge the iPhone Mirroring window by enabling this defaults hidden setting in the Screen Continuity functionality in macOS Sequoia.
-
Git of the day #14: git reset --keep HEAD^
Created a branch off the wrong place, but started working on changes? Keep changes while resetting a feature branch to a different place using the keep option.
-
Git of the day #13: git reset --soft HEAD^
Undo a git commit, without undoing the git add that staged the changes for the commit in the first place, keeping the working copy unchanged.
-
Git of the day #12: git checkout ref file
Restore a file to its state as it was in a previous or different commit.
-
Git of the day #11: git log --follow
Track file and folder moves when providing a path to git-log.
-
Git of the day #10: git add :/path/to/file
Specify a path relative to the root of the repository regardless of the current directory.
-
Git of the day #9: git log --first-parent
Show only ancestor commits that are the first parent of each commit in the tree.
-
Git of the day #8: git mv
Help Git update tracked changes on renamed and moved files, such as when changing the case of a filename.
-
Git of the day #7: git add --intent-to-add
Make Git aware of a new untracked file without staging its contents and adding it to the index.
-
Git of the day #6: git reset --hard ORIG_HEAD
Use ORIG_HEAD ref to reset HEAD back to the state before a rebase took place.
-
Git of the day #5: git rebase --interactive
Git history tells a story. Tell the best story you can using rebase.
-
Git of the day #4: git log --oneline --graph
A shorter log format with a fancy graph to show commit hierarchy clearly.
-
Git of the day #3: git add --patch
Begin an interactive session of adding hunks to the staging area,
-
Git of the day #2: git add --interactive
Start an interactive session with Git in the terminal.
-
Git of the day #1: git commit --amend --no-edit
Don't keep creating new commits to fix things in previous commits on your feature branch. The last commit can be edited with your staged changes.
-
Set up a custom Gmail email domain for free
You can send and receive emails with a custom domain name without having to pay for Google Workspace. Gmail can handle migrating an existing address as well as catching all email sent to a domain name, giving you the option to choose what email address to send from.
-
SwiftUI SKStoreReviewController requestReview
It's possible to request a review from the user using SKStoreReviewController with SwiftUI. It's necessary to call requestReview(in:) and pass a UIWindowScene. SKStoreReviewController hasn't been updated for SwiftUI, so the API still interacts with UIKit, which is where UIWindowScene comes from.
-
macOS 12 Monterey hidden features
An overview of the lesser advertised features of macOS Monterey.
-
Use iMac M1 accent colours on any Mac
The new colourful iMac M1s have corresponding accent colours set across the system. These colours are unique to these Macs, but there's a workaround so you can set these colours on your own Mac.
-
SwiftUI if and if let view modifiers using ViewBuilder functions
Conditional view modifiers are possible with an extension to View, taking a conditional and a ViewBuilder closure to execute if the conditional is true. This allows for conditionally calling iOS 15-only APIs in SwiftUI.
-
SwiftUI portrait double column split view
To imitate a SplitViewController with SwiftUI and tile the master next to the detail in portrait, you can introspect the split view controller that SwiftUI creates underneath the SwiftUI declarations and make the necessary adjustments.
-
SwiftUI equal scaling text size to fit
SwiftUI tutorial for scaling all the words to be the same size. This makes the longest word fit and all the other words are the same font size of that longest word. SwiftUI has the ability to scale text to fit some bounds automatically, which we can use with the bounds being the width of…
-
Set up WordPress caching on Cloudflare Free
Tutorial for setting up caching of a WordPress site on the free plan of Cloudflare with caching and support for logins, using Cache-Control headers to specify exactly how to cache different resources on your site.
-
macOS 11 Big Sur hidden features
In the 2020 instalment of the macOS hidden features series, Big Sur brings a fair few subtle tweaks to the way macOS works. In this post, we look at how a few different apps and components have changed in ways you might not have noticed.
-
Open App shortcut without Shortcuts app
There's a better way to create shortcuts to apps that doesn't require the Shortcuts app to pop up between. You can use a web clip instead! These app icons go straight to the app without delay, making it much quicker to open your apps from your customised icons.
-
Fix stuttering AirPods in Windows Boot Camp
Bluetooth in Windows on MacBooks can cause stuttering for peripherals such as AirPods or mice. This might be able to be resolved by installing a particular driver version or checking other Low Energy devices connected to your Mac.
-
Fix watchOS 7's Auto Unlock from Apple Watch to Mac
Since updating to watchOS 7 it's possible Auto Unlock stops working. You can fix this by resetting the Handoff connection between your Apple Watch and your Mac.
-
Add custom entitlement to iOS app
Apply any custom entitlements, including private internal Apple entitlements, to an app bundle IPA, and sideload the IPA on to your iPhone or iPad. This can be used to allow any app access outside the app sandbox container, or to access iPhone functionality otherwise restricted like CarPlay.
-
Swift subclass an Objective-C class with protected init
A workaround to super.init() from your Swift subclass for Objective-C superclasses with an init marked unavailable, such as the CoreBluetooth framework's CBPeripheral.
-
Boot Camp Windows 10 2004 eGPU MacBook Pro 15-inch
A tutorial for setting up an eGPU on the latest Windows 10 fixing error 12 in Device Manager for Boot Camp MacBook Pro. Also avoid Error 31 and issues with the built-in discrete graphics card in the MacBook taking resources from the external GPU in the enclosure.
-
Install all package man pages in Alpine Linux
Manual pages for packages in Alpine Linux are in separate packages. You can install all the man pages for the currently installed commands using this one-liner.
-
Automatic AirPods noise cancellation on play/pause
AirPods Pro can automatically enable noise cancellation when music is played and switch to transparency mode when music is paused. You can hook the media controller to change noise cancellation mode on your AirPods automatically.
-
macOS Security Error Codes (Updated: Tahoe)
macOS security frameworks use error codes in response to various states. These error codes will be shown by Keychain Access or the security tool in Terminal.
-
AMPDevicesAgent explained
AMPDevicesAgent helps with synchronisation of iOS devices, but can also be the cause of many errors and high CPU usage. What is AMPDevicesAgent and why do you need it?
-
macOS Catalina hidden features
I've collected some functionality from macOS Catalina that I've not seen discussed elsewhere into this post, which will hopefully show you some new & hidden features you hadn't noticed yet.
-
Bypass āSafari no longer supports the unsafe extensionā in macOS
Install any extension blocked by Safari in macOS Mojave using Safari's developer tools from its safariextz file to bypass the error message āSafari no longer supports the unsafe extensionā.
-
Content Caching server in macOS
Content Caching is a new feature available in High Sierra, making the existing Caching service from Server.app available to all consumers to use in their home environment.
-
macOS High Sierra hidden features
Another year, another disappointing macOS release. Here's the most comprehensive list of hidden features and underdocumented changes in macOS High Sierra.
-
Hey Siri in Sierra on macOS
Enable Hey Siri in macOS Sierra to activate Siri just like iOS, without additional software. Works from anywhere at any time.
-
Show private log messages in Console.app
Unified Logging introduced in macOS Sierra hides private information in the Console app, and macOS Catalina requires extra steps to show those messages.
-
A better top nav bar for Stack Overflow
The new top nav for Stack Overflow isn't quite right. Here's some CSS to improve it whilst keeping the new ideas.
-
Installing Hugs 98 on macOS
Here's the latest instructions for how to install Hugs 98 on macOS. All the other documentation I could find was regarding installing the full Haskell platform and GHC, so if all you want is Hugs 98 for a university module, here's how to get it. You'll need to open Terminal to run these commands (and …
-
macOS Sierra hidden features
You can now drag any menu bar item, including third party menu bar items and the Spotlight item. Hold command and drag any menu bar item along the bar to reposition it. It seems the only menu bar item that can't be repositioned is the Notification Center item, but all the others can. Third party …
-
Add DoubleClick for Publishers Ads to Google Tag Manager
Asynchronously load your DFP Small Business or Premium ad units and tags to pages on your site using GTM with custom tags and triggers.
-
Ask Different Winter Bash 2015 Leaderboard
Winter Bash 2015 ran for 20 days, from 14th December 2015 until midnight on 3rd January 2016. Over that time, 3,725 hats were earned by 1,582 users. This focuses on the top 10 users at the time of the event closing is included in the graph, however more data was tracked than is present in the graph, and the …
-
Vector Magic Dyld Symbol not found crash in macOS
Fix Vector Magic Desktop Edition crash when smoothing image in macOS Sierra, due to an updated system dylib incompatible with Vector Magic. It's possible to provide an older version of libBLAS.dylib without modifying macOS for Vector Magic to use, fixing the issue.
-
Package is incompatible with this version of macOS
This package is is incompatible with this version of OS X and may fail to install. Installing this package may damage your system, and the installation may fail.
-
Submit app to App Store Connect with beta macOS
Fix apps and app updates submitted to the App Store must be built with Xcode 6.4 or later, and iOS 8 SDK when submitting app using El Capitan beta.
-
OS X El Capitan hidden features
Alongside the small improvements made in OS X 10.11 El Capitan, Apple made a number of smaller improvements across the system which may go unnoticed by the majority of users. Here's all the little things OS X El Capitan: a list of the things I've spotted that are new or have changed in El CapitanĀ since …
-
Previous Shutdown Causes Explained
Updated for macOS 11 Big Sur, decode your Mac's previous shutdown cause code number for macOS, explaining what the number means and how to fix the issue.
-
iTunes Connect & Podcast Analytics Not Enough Data
2In App Store Connect and iTunes Podcast Analytics, sometimes a specific app shows Not Enough Data. This is not a bug, but rather a feature by Apple to protect user privacy.
-
Safari 8.0.7 update for OS X
Safari 8.0.7 has been released through the Mac App Store as part of the Pre-release OS X Yosemite 10.10.4 Update Seed 14E17e/14E26a. This update is available to download if you are subscribed to pre-release seeds of OS X, either by being a developer or through the public beta release system that Apple introduced. This update, …
-
Photos attempted to repair the library
How to fix Photos has attempted to repair the library Photos Library.photoslibrary, but is unable to open. The library could not be openedāhere's the fix.
-
Decode data plist in property list files
Property lists, or plists, can contain data key-value pairs, which are binary property list files encoded in Base64. As they are, theyāre impossible to parse and extract any meaningful data from. However, decoding them is very easy and you end up with a very nice looking pretty-printed property list file. Hereās how to decode data …
-
Mac Finder Sidebar Favourites Location
Finder in OS X allows you to place favourite locations (volumes and folders) in the sidebar of every Finder window and other Finder dialog or sheet (such as the Finder sidebar shown in a Save or Open sheet). This isnāt a folder in Finder, but rather the Finder sidebar preferences simply stores a pointer to …
-
Custom Characters in macOS Accent Popup
You can add custom characters to these popups to include your own characters (and even strings) by customising PressAndHold.app.
-
Reset macOS Mail app settings
Reset Mac Mail preferences by emptying the com.apple.mail plist domain using defaults delete. This one line command can be pasted into Terminal, or you can perform the steps manually.
-
OS X Yosemite hidden features
Thereās a vast array of new features in OS X Yosemite, but alongside all the highlights, thereās a number of subtler changes to the way OS X works, including under-documented features and changes. Hereās my list of favourite OS X Yosemite hidden features that have gone unannounced and unappreciated by the masses. The old high …
-
Person markup for adding structured data
Adding structured data to your personal website will allow Google and other search engines to show rich snippets for your site. This is especially important on your homepage to promote your content. You can use a variety of markup to your page to add person structured data providing a lot of extra bot-readable information to …
-
Keyboard Maestro intricacies
Keyboard Maestro Macros.plist stores all macros in KM, which can be found alongside other KM settings in your homeās library folder.
-
Fix Safari 8 crash on launch in Yosemite
It seems OS X Yosemite developer preview 4 (DP4) has broken Safari 8ās ability to access favourites, or Smart Search Field, or something, and whenever the browser attempts to access these features, it crashes. As by default, Safari 8 has the Smart Search Field which shows your favourites when you click the address bar, or …
-
Fix orange flashing light on BT Smart Hub broadband
Fix BT Smart Hub and BT Home Hub orange flashing light indicating no broadband connection through the admin panel of the hub.
-
Fix cellular data app settings not saving on iOS
There's a bug with /var/wireless/Library/Databases/CellularUsage.db and here's how to fix it.
-
Keynote Magic Move two different objects
Magic Move in Keynote for macOS and iOS is a transition effect between two slides that allows you to animate an objectās movement between the same element on two different slides. This effect is powerful as it can be used to create a number of advanced transitions using different elements. However, out of the box, …















































