HNHacker News
TopNewBestAskShowJobs

frizlab

5,086 karma · joined May 30, 2021

submissionscomments
frizlab··on Microsoft Edge is about to lock out older ad blockers, just like Chrome did
A shame I can’t downvote this. It is both factually false, and worded in a very aggressive way.

iCloud private relay is only available for iCloud+ users. It cannot be enabled by default, and is not, even for iCloud+ users BTW.

iCloud private relay is a novel dual-party VPN-like technology where neither party involved gets to be able to track the user, says Apple. Yes, it requires trust to believe it, but I tend to think the company the size of Apple would not go around throwing statements like these if they weren’t true, at least to the best of their knowledge, especially since privacy and trust is literally one of the core of Apple businesses… They would be lynched if it were proven that this is false.

Finally your comment was posted after the person my comment was directed to answered a perfectly reasonable answer!

frizlab··on Swift-Gigatoken
Interestingly, it’s faster than its reference implementation in rust (:
frizlab··on Microsoft Edge is about to lock out older ad blockers, just like Chrome did
Why?
frizlab··on Do It 14,000 Times Slower with This One Trick
I love the conclusion too:

> Can an llm truly feel that writing is the only thing it ever really wanted to do in life, while simultaneously complaining to its spouse and its writer friends about how much it hates writing, but also wonder how it could ever do anything else?

frizlab··on SwiftUI After 7 Years
> it's limited in number, so once in a while I have to delete the sample apps I installed

10, but only for Apple accounts that are not a part of the Apple developer program (99$) AFAIK

> regularly, I have to clean the cache, then clean the hidden cache, then quit Xcode, go and erase some DerivedData, restart Xcode and hope it works

Yes and no… I have been an Apple platform developer for ages, and yes, this has been true for a long time: deleting the derived data was indeed needed way too often (but doing this only has always been enough though, no need to play w/ anything else). The whole build system of Xcode, while powerful, is extremely poorly known (because very poorly documented, obviously), and was, truthfully, unreliable. However, it is getting MUCH better nowadays (and it is also open-sourced; technically they rewrote it in the open from scratch AFAIK). It’s been a long time since I’ve had to delete the derived data tbh. (I still have to close/reopen the project way too often though ><)

Wrt. having to use Xcode, it’s not really true (Xcode only calls other binaries after all), but it is de facto true in the sense that most of the binaries Xcode uses are either internal and/or poorly documented (it’s a theme…).

> Signing is a pain during Apple development.

Honestly haven't have got issues in a while; automatic signing kind of “just works” nowadays. At least for me (and all my teammates).

> You need a development team

No, you can use a standard (free) Apple account, but there are limitations (namely the 10 apps allowed, and the long, difficult(-ish) path to enable it on your phone).

> The Xcode project files are a big mess.

To start off, I’d like to say, having worked (very little) with android studio, I find it as much as a mess as Xcode, if not more.

Once again, poor documentation (you guessed it), and wrong initial implementation (Xcode is very old!) lead to poor practices. Currently, a proper gitignore in an “Apple project” is (not the widely propagated `gitignore` file found on the web):

    xcuserdata/
That’s it. You can add `.DS_Store` if you feel like it, but this should be in a global gitignore, not in the repo.

Other than that the structure of an xcodeproj is relatively straightforward: `project.pbxproj` contains the project references and targets/build settings, then there are a bunch of auxiliary files, those of which that are in a `xchshareddata` folder (basically everything that is not in an `xcuserdata` folder) should be shared. These auxiliary files contains mostly the schemes of the projects (configuration to launch the targets), but there can also be shared breakpoints, the Xcode Cloud manifest, performance tests baselines, etc. And also more recently, SwiftPM files (basically the Package.resolved file) are there.

The central `project.pbxproj` file format is an old plist format. Whatever, it’s just a text files containing reference to other files, basically. One of the big problems we had with this was merge conflicts when two different branches added files to the project. Now Xcode supports “folder references” for code too (long time coming, but we have it now!), so this does not really happen anymore (obviously old projects have to be migrated, but the migration works well).

> You want to change something? Go to the Xcode GUI, change some obscure field somewhere…

Yes, but again also no. Proper projects should use xcconfig files and never touch the GUI, thus leaving the pbxproj file alone. It’s not mandatory, obviously, but it’s way better. Also if you modularize your app using SPM, the config of the modules now resides in the `Package.swift` files, not in the GUI at all anymore.

Other solutions exist, that skip the pbxproj altogether in the committed file, and instead have another file format describing how to generate the pbxproj with a project generator. Honestly, using the folder reference mentioned earlier and xcconfig files solves pretty much all of the issues I ever had with pbxproj, so I truly think it’s overkill. It was useful, though.

> Compiling without Xcode is impossible

Depends. For iOS apps, yes. For everything that do not target being an “Apple app,” no. `swift build -c release` and you’re done. I’m pretty sure even “Apple Apps” will end up being simple modules in the end, but we’re not there yet…

Other than that, yeah, xcodebuild sucks very much, though it is not that complex either.

> Talking about CI, you need a macOS machine. That is a pain in itself.

I would not go so far as to say that it is a pain, but yes.

> You want to share your app just with a friend?

It’s 90 days, and if I’m not mistaken google is also taking this route more and more, no? Locking up the platform, I mean.

> talk about SPM that chose to abuse GitHub for distribution

Not GitHub. Any git repository. It’s not the same at all!

> I cannot distribute just a binary, I have to dedicate a repo for that.

Wrong, at least on Apple platforms, and will be wrong for other platforms later. You can distribute xcframeworks via SPM (but the manifest does indeed have to be at the root of a repo, which is indeed annoying to say the least).

Regarding both latest points, you can also use a custom registry and not use git repositories to setup your dependencies. (Disclaimer: I intend on using that, but have not already.)

Also, if you’re using Xcode (because you can be doing other things than iOS apps with Swift), you can use a workspace to put any dependency you want in it. They are just there, ready to be imported. That way you can have e.g. a submodule with your monorepo and any dependency you want in your Xcode project.

> You want to do something with USB?

No. Never have, never will ^^ But I trust you there (:

frizlab··on SwiftUI After 7 Years
Excellent question. I have mostly used Apple tools, but have also tried (most notably) VSCode, android studio, zed, Eclipse, vim and Sublime Text. None of these convinced me, except Sublime which I still use for “non-Apple” projects (also non-android, obviously). I also like vim, but not for coding, just as a general text editor.

I particularly hate VSCode, for some reason (the reason is not that it comes from M$ if you’re wondering; I’m not really sure why tbh, probably because it’s electron and feels particularly not native).

I am aware of IntelliJ, but have never tried it. Given that android studio is based off this AFAIK, I’ll probably not really like it either, I guess? idk

frizlab··on The true power of regular expressions (2012)
Swift even has a `RegexBuilder` DSL which makes writing regular expressions pure code and type-safe. Pretty amazing tbh
frizlab··on SwiftUI After 7 Years
To each his own, but I actually like it
frizlab··on SwiftUI After 7 Years
That’s the point of Auto-Layout, to be able to be responsive…
frizlab··on SwiftUI After 7 Years
Neither.
frizlab··on SwiftUI After 7 Years
More or less the same happened with ObjC vs. Swift when it came out, I think.
frizlab··on SwiftUI After 7 Years
Well you could do android apps using SwiftUI ¯\_(ツ)_/¯
frizlab··on SwiftUI After 7 Years
I love Auto-Layout so much.
frizlab··on SwiftUI After 7 Years
Having written actual apps with AppKit, it is horrendously complicated for simple things.

Swift is incredibly better than ObjC on so many ways it’s just not comparable. I used it since day one and never looked back. (And I was deep into the ObjC ecosystem, having written very low-level frameworks, and having loved it.) Yeah, first versions of Swift were raw, but now it’s just THE language; I used for everything (obviously Apple soft frontend, but also the web, the backend, etc. Even android dev I would do with Swift though I do not have the occasion for now.)

Apple will never drop ObjC support IMHO. But most new frameworks will be Swift-only.

SwiftUI is a step backwards from AppKit in the sense that we lose control over what’s possible when using it exclusively. But 1/ it’s much simpler for doing simple things and 2/ we can drop down to AppKit when needed. All in all, it’s good that we have it.

frizlab··on Elevators
I’m surprised to not see any reference to the Happy Vertical People Transporters from The Hitch Hiker’s Guide to the Galaxy!

Them elevators are able to see into the future to be there even before we call them. Come on!

frizlab··on Google fixed more Chrome bugs in June than over the past two years, thanks to AI
Currently the only thing I personally find LLMs useful for are code reviews.
frizlab··on Google fixed more Chrome bugs in June than over the past two years, thanks to AI
In $COMPANY, for the mid-yearly review, the employees were asked whether their AI usage was 1/ efficient, 2/ adoptive (integrated in the way they work) or 3/ transformative.

Saying “never used it” or “I tried and it was useless” was literally not possible.

frizlab··on I Have Thoughts on the iPhone Air
Same. I still use the 13 mini, and will probably buy it again refurb when mine dies.
frizlab··on About the security content of macOS Tahoe 26.6
macOS 27 does polish Liquid Glass and makes it look passable on macOS IMHO. It was very bad on 26. Comically bad.
frizlab··on Hetzner is working on LLM Inference
I live in the EU and want to live in a world where my children actually CAN read the Bible in class. However that’s not really possible anymore…

(Also no, modern science is (still) not incompatible with (the Christian) religion. I want my children to have both, as do I, or at least be taught both, so they can decide for themselves what they want when they are grown enough to do so.)

Who is sacrificing what, really?

frizlab··on I Tried Building a Real App with AI. It Took a Year
Obligatory “it’s Xcode with a lowercase c” comment. I know, not very interesting but it drives me mad…
frizlab··on Publishers consider opting out of Google as search traffic declines
Absolutely. Even Apple Passwords does it now (but also a LOT of other apps, including free and open-source ones). google is definitely NOT a dependency here.
frizlab··on Publishers consider opting out of Google as search traffic declines
How in the (excuse my French) f*ck is your government allowing google to login to do your taxes?? And it is the ONLY option??? I’m flabbergasted, honestly.
frizlab··on Restructuring GitHub's bug bounty program
Most definitely, yeah.
frizlab··on Passkeys were invented by engineers with zero understanding of consumer brain
They are, however, completely unphishable, which is a big plus IMHO
frizlab··on Show HN: Wheesper – Start an anonymous discussion with a link
Thanks for the fix!
frizlab··on Show HN: Wheesper – Start an anonymous discussion with a link
What is it with website not following the system’s dark mode setting? Yes, there is a switch but the default choice should be “system,” not “dark.” (And it should not be a two-choice setting either.)
frizlab··on Show HN: Immersive Gaussian Splat tour of grace cathedral, San Francisco
Apple (“streets”) Maps uses that tech in the latest beta. (Apple Maps is generally better than google maps apart for the data, tbh)
frizlab··on Codex is wearing out our devices
Maybe Apple could have done better, but I’m not sure how. There is an option to ask for access to a given folder only (if the dev does its job right) in addition to either full access or not. At some point there has to be some kind of trust to be given.
frizlab··on Codex is wearing out our devices
Fully disagree. I actively want to know when a program tries to access my hard drive and stuff…
← PreviousPage 3 of 34Next →