Paul Hudson

Paul Hudson

@twostraws.bsky.social

I write Swift and write about Swift, but most people prefer my dogs.

6.7K followers77 following542 posts

Pinned

Today I'm launching my new app, Hacktivate. It teaches real-world computer science skills through 240 "capture the flag" challenges, and works on iPhone, iPad, and Mac with one purchase. I've poured a ton of love into it, and I'd love to hear what you think ๐Ÿ™Œ apps.apple.com/gb/app/hackt...

apps.apple.comโ€ŽHacktivate: Capture the Flagโ€ŽCrack codes. Break firewalls. Conquer the map. Hacktivate is the ultimate cybersecurity challenge: a world map of 240 missions where every puzzle is built on real cybersecurity techniques hackers us...

Dictionaries with non-String, non-Int keys couldn't encode cleanly into keyed containers. The new CodingKeyRepresentable protocol bridges that gap, letting custom key types participate in Codable properly. www.hackingwithswift.com/swift/5.6/co...

hackingwithswift.comAllow coding of non String/Int keyed Dictionary into a KeyedContainer โ€“ available from Swift 5.6Allow coding of non String/Int keyed Dictionary into a KeyedContainer example code from Swift 5.6

For HWS+ subscribers: Swift Argument Parser makes it easy to build useful macOS command-line tools, and a JSON tidier is a great first project. This one can prettify, compress, sort keys, and write output to a file, all in surprisingly little code. www.hackingwithswift.com/plus/command...

hackingwithswift.comJSON Tidy โ€“ Hacking with Swift+JSON is one of the most common file formats we deal with, so we can write a little macOS utility to make it nicer to work with โ€“ compressing the data, formatting the data, and even sorting the key nam...

Bonus: Signing up for Kickstart Exchange also gives you Kickstart Signal (and vice versa!) โ€“ Signal lets you collect user requests right inside your app. Both are completely free, both are privacy-focused, and both use the same open-source SDK โœ… signal.kickstart.tools

signal.kickstart.toolsKickstart Signal: feature requests and voting for indie appsAdd feature requests, voting, and comments to your app with one SwiftUI view. Free, with every submission reviewed by you.

I'm pleased to announce a new service for indie developers: Kickstart Signal, a feature request service you can embed in your app to track user requests, votes, comments, and more. Completely free, works on every Apple platform, and available today โœจ signal.kickstart.tools

View full thread

If you're already using Kickstart Exchange โ€“ my free advertising network for indie developers โ€“ then you can start using Kickstart Signal immediately. Same login, same API key, same dashboard โœจ And if you aren't, what are you waiting for? ๐Ÿš€ exchange.kickstart.tools

exchange.kickstart.toolsKickstart Exchange: free advertising for indie app developersYour app shows ads for other indie apps, and every two shown earn one view of yours. Free, with no user tracking.

Iโ€™ve spent 12 years helping developers build great apps through Hacking with Swift, for free. Building high-quality tools like Kickstart Exchange and now Kickstart Signal is the next step in that mission: helping you succeed. More users, better feedback, stronger apps โ€“ all free.

I'm pleased to announce a new service for indie developers: Kickstart Signal, a feature request service you can embed in your app to track user requests, votes, comments, and more. Completely free, works on every Apple platform, and available today โœจ signal.kickstart.tools

It takes just one line of code to add Kickstart Signal to your app, and users can immediately start submitting requests, or voting and commenting on others. It's built around user privacy, and packed with features you'll love:

- Users submit requests; they aren't public until you approve them. - They can add comments/vote on requests. - Use your dashboard to mark features as in progress or completed, or post a developer reply. - On-device translation lets every user take part. - Free for everyone!

"But Paul, couldn't you have updated your skill without first using an iPhone Duo?" Sure I could, but that's not how I work โ€“ I want to see exactly what agents get wrong with real code on a real device, not guess and risk causing problems with your projects.

Sunday Build with HWS+: Why not try a deceptively simple SwiftUI game: tap the one green circle in a grid of red ones before time runs out, with multiple difficulty variations to keep things interesting. #SundayBuild www.hackingwithswift.com/plus/live-st...

hackingwithswift.comFlashlight โ€“ Hacking with Swift+In this stream we're going to build a trivial game with SwiftUI, but then look at ways we can make it more interesting through difficulty variations โ€“ there's so much room to experiment!