<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: sandoze</title><link>https://news.ycombinator.com/user?id=sandoze</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 24 Oct 2026 09:14:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sandoze" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sandoze in "App Store Rejection of the Week: Dark Hours"]]></title><description><![CDATA[
<p>It's been selective for sure. I have a macOS app that has been approved within a day. There are two apps I submit for a client both have cleared review twice in the past two weeks within 24 hours.<p>On the other hand I have a personal iOS app that normally doesn't take long to approve that's been waiting two weeks.</p>
]]></description><pubDate>Fri, 07 Aug 2026 21:34:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49216503</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=49216503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49216503</guid></item><item><title><![CDATA[New comment by sandoze in "Born Against, or why hobby programming communities are against LLM usage"]]></title><description><![CDATA[
<p>I can respect a developer who is still smitten with their craft to feel a bit anxious when the topic of LLM generated code comes up. I have a child who never grows tired of building their next game but first has to build the engine from scratch (needless to say they've built a lot of engines, not so many games). This use to frustrate me but then I realized the joy is in making a concept of a game for them. When I suggest Claude might get the job done faster I get a death glare followed by an eye roll. I get it, I've been in the industry long enough where coding is more of a means to an end and not the same novelty it once was.<p>More dangerous are communities who shun AI and treat every disclosure like a Scarlett letter. Generally the loudest opinions come from consumers (fan bois) and not creators. I think this will eventually drive new innovators away from these communities. These vocal naysayers have likely never experienced being a project manager, lead developer, and QA for an agent writing code. Instead they think a prompt magically creates software, but without wearing all these hats at once, you get something far worse than 'slop'. Call me crazy, but I think these multi-hat 'developers' using an agent and are dipping their toe into LLM development are going to raise the bar and leave us vim users in the dust.</p>
]]></description><pubDate>Wed, 05 Aug 2026 20:30:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49188579</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=49188579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49188579</guid></item><item><title><![CDATA[New comment by sandoze in "SwiftUI After 7 Years"]]></title><description><![CDATA[
<p>I don't want to downplay your lived developer experience, I'm not fully following all your arguments but let me just say @Environment is a great tool. We've all used singletons, even more so in UIKit seeing how unintuitive key value observation was.<p>It's used a few different ways in the app I'm looking at now. One is to hold a source of truth for my API data models. This way I have a cache of say User that, when it changes for whatever reason - maybe invalidating the cache (read logout) or changing a profile image - is handed around to all my Views that need User info with @Environment(\.user)<p>Same thing with my analytics. Something like a MixPanel is only going to be created once. It's a singleton. You pass it around in an @Environment.<p>NavigationStack was a problem pre-iOS 17 and even a bit of a jam in 17 -> 18 and was glad to drop that version. But passing around an enum of values makes deep linking intuitive, yes there's a bunch of boiler plate - setting up an enum I guess - but deep linking was never easy. If you're not doing deep linking then a NavigationPath is really simple to use but I assume that's not what you were talking about.<p>I used MVVM for about 6 months and ripped it out. There's no reason to use that pattern in SwiftUI. It was popularized by certain iOS evangelists and caught on with the newbies (myself included). Your reaction to MVVM and useless ceremony is exactly the response you should have to a code smell that doesn't belong and it was mine too.</p>
]]></description><pubDate>Mon, 03 Aug 2026 15:25:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49157052</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=49157052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49157052</guid></item><item><title><![CDATA[New comment by sandoze in "SwiftUI After 7 Years"]]></title><description><![CDATA[
<p>Just a couple points because your opinions aren’t wrong, they’re just your lived experience.<p>2. There’s no magic here. There is poor documentation. The biggest trick — small views, think about what values are going to trigger a refresh. Avoid cascading view refreshes.<p>6. You might have missed a couple big iOS releases (iOS 7 was one to remember) where many of our apps fell over in UIKit. Swift was another ‘DOA’ for YEARS with the same issues you’re making here, each new version broke the old, but here we are in a day and age where it’s the standard.</p>
]]></description><pubDate>Sun, 02 Aug 2026 20:52:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49148192</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=49148192</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49148192</guid></item><item><title><![CDATA[New comment by sandoze in "SwiftUI After 7 Years"]]></title><description><![CDATA[
<p>This seems to be a popular ‘controversial’ topic. I’ve been using SwiftUI for production applications and games since 2021. I drop down UIKit, Metal, or core animation when needed. But that’s no different than when I was making games in UIKit and would drop down to core animation or glyph renderers written in C etc.<p>Data Flow: The author claims there’s no way to know when things update. Not only does experience help here but there are profile tools that tell you when and where things are updated. This isn’t black magic. Keep Views small, be careful how you hand around data. @environment is super cool but can have a cascade effect. This was greatly improved iOS 17+ and I wouldn’t support anything older than iOS 17.<p>GeometryReader: Occasionally I’ll use this. It’s kind of a necessary evil when dealing with certain view complexity. It can also be a sign that you’re doing something wrong.<p>API Stability and performance: Apple users upgrade. There’s no reason that you should be supporting iOS 17 at this point — even iOS 18 is roughly 2%% of our user base across several apps. I’ve been using SwiftUI without major performance issues but I also don’t early optimize. I profile and fix as needed. One of the early studios I worked for wrote all our games in UIKit as prototypes, when performance tanked we’d switch to the appropriate tools (eg. OpenGL) where it was necessary — like in the core game.<p>I could go on but in the end just use the right tool for the job, if you’re not proficient in SwiftUI or it isn’t going to work for your cross platform project, you have a lot of other alternatives. For me though, it’s been amazing to work with. I stepped away from iOS programming for 3 - 4 years because I was burnt out using storyboards, dealing with massive view controllers, and all the boiler plate it’d take to get a view up and going in UIKit. SwiftUI roped me back in.<p>* Quick addition edit: Cross platform for iOS, iPad, macOS has never been good. I’ve found recent updates have made things better to the point of tolerable and it’s nothing like when we had to post-fix an ~ipad to our Nibs — There has never been a ‘glory days’ of cross platform Apple UI libraries.</p>
]]></description><pubDate>Sun, 02 Aug 2026 20:31:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49148028</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=49148028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49148028</guid></item><item><title><![CDATA[New comment by sandoze in "After AI takes everything"]]></title><description><![CDATA[
<p>Where you see quality crisis I see job security! Honest question, when it comes to enshittification of software quality.. have you ever had to use a Meta framework? How many times have they rewritten their mobile apps to use some architect's bespoke code pipe dream? The quality crisis has always been here, now there's just more of it.</p>
]]></description><pubDate>Tue, 16 Jun 2026 18:25:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48559734</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48559734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48559734</guid></item><item><title><![CDATA[New comment by sandoze in "After AI Takes Everything"]]></title><description><![CDATA[
<p>>> It will happily recreate the same function in several different places for no reason<p>So do many developers. I've lost count how many times a code review had to be rejected or cleaned up because of copy and pasted code and I'm going to admit, sometimes it's just quicker to duplicate a little code and leave a comment for 'next time'.. we've all done it.<p>.. like this one time I had a PR and the developer created on loooong linear method, couldn't figure out how to share between targets and copied and pasted the same bad code somewhere else. Somehow it got through and when asked why this was on production the answer was 'it worked'.<p>>> no time for elegance<p>This happens, your experience in is generally your quality out. But that doesn't necessarily mean there's going to be elegance. I've worked at major product driven companies where elegance took a back seat to getting release out the door.</p>
]]></description><pubDate>Tue, 16 Jun 2026 18:19:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48559630</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48559630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48559630</guid></item><item><title><![CDATA[New comment by sandoze in "Native all the way, until you need text"]]></title><description><![CDATA[
<p>Having worked on an interactive novel in 2012 (NSString and attributes), low level glyphs (API deprecated) on a rogue-like, two chat apps (with markdown support for formatting) in SwiftUI, and an idle game using a mix of iOS tricks but all wrapped in SwiftUI.. I’m going to agree with how I summarized this response: skill issue.</p>
]]></description><pubDate>Sun, 17 May 2026 14:51:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48169442</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48169442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48169442</guid></item><item><title><![CDATA[New comment by sandoze in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>So the author used the latest and greatest development tech to create a unique little demo in their custom language. I'm unsure your point. You know what I don't use to program with anymore? Punch cards and Borland C++. The industry has evolved for better or worse.</p>
]]></description><pubDate>Wed, 13 May 2026 19:58:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48126659</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48126659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48126659</guid></item><item><title><![CDATA[New comment by sandoze in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>Amazing and great work!</p>
]]></description><pubDate>Wed, 13 May 2026 17:52:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48125151</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48125151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48125151</guid></item><item><title><![CDATA[New comment by sandoze in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>Yes. I don’t think we’re having the same argument though.</p>
]]></description><pubDate>Wed, 13 May 2026 17:40:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48125013</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48125013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48125013</guid></item><item><title><![CDATA[New comment by sandoze in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>The genre of course. But this is almost a 1-1 copy of the Brogue style. Right down to the colors, animation, and ASCII</p>
]]></description><pubDate>Wed, 13 May 2026 16:33:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48124157</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48124157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48124157</guid></item><item><title><![CDATA[New comment by sandoze in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>I’ll be sure to keep that in mind with my next plumber platformer</p>
]]></description><pubDate>Wed, 13 May 2026 16:32:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48124137</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48124137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48124137</guid></item><item><title><![CDATA[New comment by sandoze in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>No credit for the art direction and inspiration? Brogue?<p>Or did I miss the attribution?<p>* Edit: I’m not looking for the downvotes or to stir things up. I’m simply calling out that this is a small niche community we notice these things, we’re very free with our code, and copy is a compliment, but so is attribution.<p>The author wasn’t so much inspired the by Brogue style, but copied it directly down to the animations and ASCII.</p>
]]></description><pubDate>Wed, 13 May 2026 16:20:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48123975</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=48123975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48123975</guid></item><item><title><![CDATA[New comment by sandoze in "Tell HN: An app is silently installing itself on my iPhone every day"]]></title><description><![CDATA[
<p>There’s no indication to the developer or app when a deletion happens. We rely on the OS to clean it up.</p>
]]></description><pubDate>Sun, 26 Apr 2026 15:16:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47911007</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=47911007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47911007</guid></item><item><title><![CDATA[New comment by sandoze in "Show HN: Audio Toolkit for Agents"]]></title><description><![CDATA[
<p>Looks awesome but ran against the same thing. Feels like a good Claude skill/test. Run my readme w/a clean install.</p>
]]></description><pubDate>Mon, 02 Mar 2026 00:19:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47212310</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=47212310</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47212310</guid></item><item><title><![CDATA[New comment by sandoze in "Xcode 26.3 – Developers can leverage coding agents directly in Xcode"]]></title><description><![CDATA[
<p>Keep in mind, you’re claiming to be an experienced mobile (iOS) dev. Your fallback when things don’t work (let’s say, auth) are your years of doing iOS. Fastlane is handy (I don’t use it anymore re: Xcode Cloud) but in the past it still fell victim to Apple Store changes and updates.<p>Worse is going to be the job listing, no native iOS developer is going to touch it. It’s possible a rn + ts developer might find it an interesting challenge and maybe even have some iOS experience. I guess it all comes down to what the job qualifications are in said listing. But is your startup going to know this when/if they need to do a backfill?<p>But here’s the caveat to what I said. If the rest of the team you’re working in is also using the same language and maybe has some familiarity in react native it’s probably not so bad and someone can step into your shoes if necessary. Also, if your implementation is fully transparent and this is what the startup paid for, then I’m going to say more power to you, you built them what they needed and you did it your way.</p>
]]></description><pubDate>Wed, 04 Feb 2026 18:19:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46889484</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=46889484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46889484</guid></item><item><title><![CDATA[New comment by sandoze in "Xcode 26.3 – Developers can leverage coding agents directly in Xcode"]]></title><description><![CDATA[
<p>That startup is going to LOVE you when they need to backfill your position and every potential iOS developer hire runs in the other direction.<p>* This is coming from someone doing iOS since the store opened in 2008. I've pretty much seen ALL the bad decisions at some point. There are projects I will not take no matter what the pay is.</p>
]]></description><pubDate>Wed, 04 Feb 2026 16:31:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46887904</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=46887904</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46887904</guid></item><item><title><![CDATA[New comment by sandoze in "Comprehension debt: A ticking time bomb of LLM-generated code"]]></title><description><![CDATA[
<p>I can’t speak to OS development but industrial coding there’s a lot of experimenting and throw away. You generally don’t write a lot of code for the platform you’re building on (PLCs, automation components). It’s well tested and if it doesn’t hit industry standards (eg. timing, braking) you iterate or start over. At least that was my experience.<p>When it comes to general software development for customers in the everyday world (phones, computers, web). I often write once for proof, iterate as product requirements becomes clearer/refined, rewrite if necessary (code smell, initial pattern was inefficient for the final outcome).<p>On a large project, often I’ll touch something I wrote a year ago and realize I’ve evolved the pattern or learned something new in the language/system and I’ll do a little refactor while I’m in there. Even if it’s just code organization for readability.</p>
]]></description><pubDate>Tue, 30 Sep 2025 15:49:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=45427050</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=45427050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45427050</guid></item><item><title><![CDATA[New comment by sandoze in "Suno Studio, a Generative AI DAW"]]></title><description><![CDATA[
<p>My thought to who you replied to exactly. Am I going to invest several days to read an AI slop novel? No. But I will take several minutes to read a blog post and likely have read many that were AI generated or assisted.</p>
]]></description><pubDate>Fri, 26 Sep 2025 19:33:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45390182</link><dc:creator>sandoze</dc:creator><comments>https://news.ycombinator.com/item?id=45390182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45390182</guid></item></channel></rss>