about 1 month ago
- Building code for Android with Meson has long been possible, but a bit hacky and not particularly well documented. Recently some new features have landed in Meson main, which make the experience quite a bit nicer. To demonstrate, I have updated the Platypus sample project to...
3 months ago
- Overview When ordering food via an app, you get integrated order status tracking, but if you order in person, you don’t. Usually you give them a name and they’ll call you or you take a number and they’ll bring the food out to you. However, Hey Tea has a nice way of connecting...
4 months ago
- tl;dr: If you are looking for a virtual qwerty keyboard for your Android, use Unexpected Keyboard. It’s really good as long as you don’t rely on autocorrect to type. Before we get to the review, we need a brief story to set up why I’m obsessed with the control key. A long time...
- After iOS 26 beta 3 was released, I grumped about the “Liquid Glass” design being dialled back. Well, it didn’t take long for that to be mostly reverted. I’m a bit conflicted about this, though. I’m happy that the shiny, refractive design is back. This looks much better to me...
5 months ago
- Why something as simple as showing a settings dialog from a macOS menu bar app took me 5 hours to figure out, and requires 50 lines of code for what should be a one-liner....
- How I built support for Anthropic Claude subscriptions in Vibe Meter 2.0, including token counting, SIMD operations, and the challenges of calculating API usage without official APIs....
6 months ago
- Discover how iOS 18's hidden automatic observation tracking brings SwiftUI-like reactive programming to UIKit and AppKit, making your UI code cleaner and more maintainable....
7 months ago
- Many years ago (2010 or so) I released an app called Flickr Addict for Palm WebOS phones, which automatically downloaded beautiful images from the Flickr photography website and changed the phone background image on a regular basis. I wanted to see if I could rebuild that app in...
9 months ago
- Setting up background tasks in SwiftUI is a little different from UIKit. Note: this post assumes you’re using BGAppRefreshTask, if your jobs are longer than 30 seconds, you’ll want to use BGProcessingTask instead. 1. Add BGTaskSchedulerPermittedIdentifiers and Entitlements...
10 months ago
- For a long time in Kidz Fun Art, the tablet app I built, you could draw with a rainbow brush, which is the favourite feature of many people. I noticed my eldest daughter trying to use it in such a way so to only use a subset of the colors and it was really awkward, … Continue...
12 months ago
- It's Cyber Monday: and I'm offering one-day, one-off discounts on my ebooks, as well as on The Pragmatic Engineer Newsletter. Here they are: The Pragmatic Engineer Newsletter: 20% off, for the first year, for annual subscriptions. Claim it here. See more details, and read...
about 1 year ago
- During a vacation in the rain forests of Queensland in 2001, we saw some strangler figs. These are vines that germinate in a nook of a tree. As it grows, it draws nutrients from the host tree until it reaches the ground to grow roots and the canopy to get sunlight. It can then...
- Native apps are all about control. Don’t like thing X? You can dive in and, with enough elbow grease and persistence, finally get what you want. Write your own C library. Do some assembly code. Even make your own hardware if you have to. But on the web you give up that control....
- A few weeks ago, I wrote a [guide on how to deploy React Native iOS app to TestFlight from Azure DevOps pipeline](/blog/how-to-deploy-react-native-ios-to-testflight-from-azure-devops-pipeline). Once you and testers in your team have made sure that the app is working by...
over 1 year ago
- When you develop an iOS app, Android app, or a cross-platform app using React Native in a company, there is one thing you need to implement as soon as possible to save you tons of troubles in the future: **the CI/CD (Continuous Integration/Continuous Deployment) pipeline to...
- Just a quick note on a personal workflow thing. I’ve written before about the many different ways I host my personal websites on Netlify. I’ve got a few websites that aren’t the traditional model of: commit to git, push, build triggers on Netlify, website goes live. Sometimes I...
- I wanted to have a GUI app for my personal project that required access to the file system. Ideally, I should create a desktop app using a native platform (e.g., Swift for macOS) or Electron for cross-platform support. However, developing a native app for macOS, Windows, and...
almost 2 years ago
- Update: OWA is out with an open letter appealing to Apple to do better. If you care about the future of the web, I encourage you to sign it, particularly if you live in the EU or build products for the common market. After weeks of confusion and chaos, Apple's plan to kneecap...
- For the past ten days or so, I have been trying to gain some basic competency with SwiftUI. I have found it hard. Very hard. But I finally feel there is a sliver of light in my comprehension. Just enough to give me the confidence to write this here, thinking there may be more...
- The new iPhones ditched the physical mute button with a software enabled action button, that allows some customization. the highest degree of customization is Shortcuts. Apple's default transcription is terrible. I got a new iPhone recently and so this is my chance....
Rows per page