Explaining code with RAG
jano.dev/swift/llm/20...
Hit a macOS WTF crash today: pressing Enter on a numeric text field causes a NaN origin in Touch Bar layout, crashing the app. Workaround: set Touch Bar to Fn keys.
How to dramatically improve compilation time and coalesce updates with Observations (v26).
Breaking news, a duck is 0.64 similar to a goose and 0.18 similar to a piano. github.com/janodev/Mini...
People tend to optimize their own productivity automating reviews and flooding PRs with code that looks decent. For multithreading itβs a bug wakamole. Maybe engineering authorship will move to iterating on specs, who knows.
Swift Testing summary, updated for 6.2 jano.dev/wwdc24/apple...
Couple of curl scripts to let Claude ask o3/gemini when he becomes stuck.
gist.github.com/janodev/4549...
Presentation hack:
1. Write research on Google Docs
2. Use Plus AI trial (a GDocs extension) to convert Doc to Google Slides
3. Ask a LLM for a list of Google Image links to vector image styles
4. Choose an image as reference
5. Ask GPT 4o for diagrams in that style
will I ever remember them?
Example code: gist.github.com/janodev/92df...
Package traits SE-0450:
1. Define a trait as an arbitrary token. e.g. "Firebase"
2. Add Firebase as optional dependency when that trait is enabled
3. Conditionally compile
#if Firebase
import Firebase
...
#endif
4. A client of your package can enable "Firebase" to add related code and libraries.
Xcode, why you donβt
git ls-remote --tags
then
git clone --depth=1 --branch=tag-name
?
Xcode builtin rsync misbehaving leads to ITMS-90048: Your archive contains [._Symbols]
developer.apple.com/forums/threa...
Solution: custom export and remove manually
# check
unzip -l YourApp.ipa| grep -i "._Symbols"
# delete
zip -d YourApp.ipa ._Symbols/
Then upload with Transporter.
halp
Claude Code can increase test coverage working unattended. I use this Makefile gist.github.com/janodev/0380... for a SPM package. Claude is able to see the report and run isolated tests. It uses xcbeautify -q to minimize token usage. Unattended = Iβm watching but often I donβt need to interact.
On that note, a very useful prompt is βwhat would have helped you to know to solve this problem faster?β You can add the resulting information to the code, a blog post, or project documentation to supplement LLM shortcomings and for your own learning too.
Tell Claude Code to use 'swift build | xcbeautify' to avoid sharing walls of text. LLMs perform best with well-defined tasks. Solve concurrency problems in a blog post then add it to the context. LLMs are a time saver, but they can't one-shot yet, you need to iteratively review their output.
I get this a lot with PreferenceKey and see no way around it. It is sensitive to overlapping updates. I rather not use it.
did you know? the pop culture phrase βendure and surviveβ refers to fools telling you that NSLock is technical debt
Iβve been involved in project estimation lately. Itβs massively shorter using Claude Code, even at current price. Itβs beyond me why Apple doesnβt use Deepseek to clone CC and give it away as an onsite free alternative to boost hardware sales and development on their platform.
Not vibe coding, just babysit and manual refactor. SwiftSyntax to slice source code in meaningful parts (done) and send it to openai ada (best for code embeddings). Then MCP for file manipulation. Just sharing the recipe, not selling anything, the moat is non-existent.
There are ~35 Cursor-like projects. I made another for Xcode. The bar is very low. Used Xcode.sdef to observe open workspace and files. Let the user pin files to send them as context. Use CG to attach to the window. JSON Structured Outputs to exchange information.
How to solve some Swift 6 migration errors.
jano.dev/apple/macos/...
A new addition to the Apple Testing framework allows running code before and after the tests.
jano.dev/apple/swift/...
is this the holy grail of a source editor for mac? will you sell commercial licenses?
hard to do one on a changing landscape, but some stay mostly specialists for convenience, money, or the market. Companies want immediate results on areas difficult to upskill, landmine frameworks, languages with messy 220-pages updates etc Amazon hires both kinds, and both get to build useful stuff.
kidding, I wonder if itβs worth it to go commit by commit on a first push working alone
super off the books indie performative lore, slick
A Minimal Core Data Stack jano.dev/apple/coreda...