Jesse Squires

jessesquires.com · Personal blog · on HN since 2014

Jesse Squires is an Apple platform developer who writes about Swift, SwiftUI, Apple policy, and the open web.

What HN saysHN links it for Swift performance comparisons and Apple commentary; commenters cite his post on Apple's dealings with authoritarian governments and his search engine delisting.
39HN people shared it
11linked it in comments
46stories submitted
1.7Kstory points
2 years agolast shared
2014people per year2026

Most-shared posts

  1. 1
  2. 2
    My website disappeared from Bing and DuckDuckGo
    4 people · 7 points · first shared 2022 · 1 comments on HN
  3. 3
    Apples to Apples, Part II
    3 people · 90 points · first shared 2014 · 13 comments on HN
  4. 4
    Is SwiftUI Ready?
    3 people · 6 points · first shared 2021 · 1 comments on HN
  5. 5
    Apple's Cooperation with Authoritarian Governments
    2 people · 468 points · first shared 2021 · 277 comments on HN
  6. 6
    Swift open source – let the revolution begin
    2 people · 163 points · first shared 2015 · 55 comments on HN
  7. 7
    On third-party Apple Watch apps
    2 people · 4 points · first shared 2022 · discussion on HN
  8. 8
    Swift Sort vs. C Sort – Apples to Apples, Part III
    2 people · 3 points · first shared 2014 · 1 comments on HN
  9. 9
  10. 10
  11. 11
    Why is Apple acting like an asshole?
    1 people · 569 points · first shared 2020 · 493 comments on HN
  12. 12
    My worst tech interview experience
    1 people · 162 points · first shared 2021 · 261 comments on HN
  13. 13
  14. 14
    My Apple Watch thinks I'm dead
    1 people · 8 points · first shared 2021 · 4 comments on HN
  15. 15

What HN people wrote when they linked it

miles · 2024-02-12
Here is the apparent origin post of this undocumented preference: Hidden preference to alter the menubar spacing https://www.reddit.com/r/MacOS/comments/16lpfg5/hidden_preference_to_a… The author describes tracing Bartender's activity to hunt down the method. And this blog post mentions higher values than 6 (recommending 12 for NSStatusItemSpacing and 8 for NSStatusItemSelectionPadding): How to fix Mac menu bar icons hidden by the MacBook notch https://www.jessesquires.com/blog/2023/12/16/macbook-notch-and-menu-ba…
mattparcher · 2022-08-12
The elephant in the room: DDG's search results are primarily sourced from Bing. Unfortunately, as long as DDG depends on third-party crawlers, the suggestions to improve search results (& "the algorithm") seem far-fetched & naive. (DDG does have its own crawler, DuckDuckBot, but apparently it's only used for very specific functionality.) https://help.duckduckgo.com/duckduckgo-help-pages/results/sources/ > For DuckDuckGo, it may be tricky to resolve the issue permanently as long as it relies on Bing. https://torrentfreak.com/duckduckgo-restores-pirate-sites-and-points-t… > According to various online forums, the best way to ensure your site gets indexed by DuckDuckGo is to submit it to Bing and Yandex. https://www.jessesquires.com/blog/2022/03/25/my-website-disappeared-fr…
Tloewald · 2014-12-10
Here's a different comparison for what it's worth http://www.jessesquires.com/apples-to-apples-part-two/
heavyset_go · 2021-07-18
And yet Apple is cooperating with authoritarian governments[1]. For example, in Myanmar[2]: > Most recently, there was a dispute with ProtonVPN (the company that also makes ProtonMail) over an update for its app in the App Store. Proton Technologies claimed that Apple was intentionally blocking the update amid the ongoing crackdown in Myanmar. And in China[2]: > "China appears to have received help on Saturday from an unlikely source in its fight against tools that help users evade its Great Firewall of internet censorship: Apple." > "The Republic of China flag emoji has disappeared from Apple iPhone’s keyboard for Hong Kong and Macau users. The change happened for users who updated their phones to the latest operating system." > September 2019 — Apple adopts a “SIM canary”. If you insert a Chinese carrier SIM, apps like TikTok & Apple News no longer function. > May 2021 — Censorship, Surveillance and Profits: A Hard Bargain for Apple in China And in Russia[2]: > October 2020 — Apple forced Telegram to close channels run by Belarus protestors And in Pakistan[2]: > February 2021 — Apple Removes Apps for Pakistani Government There are about a dozen more examples than those in this article here[2]. Here's its conclusion: > So what does any of this have to do with app developers? Why should we care? When it comes to the iOS App Store, Apple controls where we are allowed to distribute our apps. More importantly, Apple has the unilateral power remove our apps from any…
wil421 · 2023-08-02
Setting up a Smart Folder in MacOS may work but it’s been a long time since I’ve used them. I use rsync to backup photos to my NAS. It looks like you can use rsync on an iCloud directory.[1] I just ordered a new MacBook Pro and plan to use them method for my NAS and to iCloud. [1] https://www.jessesquires.com/blog/2019/09/27/icloud-backup-using-rsync…
humanizersequel · 2022-11-21
Then you're just trusting Github, and they don't have a perfect track record on neutrality: https://www.jessesquires.com/blog/2022/04/19/github-suspending-russian…
shuckles · 2020-06-26
You can probably get a sysdiagnose from your iOS device with: https://www.jessesquires.com/blog/2018/02/08/how-to-sysdiagnose-ios/
zelos · 2015-01-30
The last benchmarks[1] I saw for Swift showed it's generally pretty slow without optimisations on, but various differences in the language from Objective C mean the compiler can optimise it much more, so generally it's faster than Objective C (and actually comparable to pure C at times[2]). [1] http://www.jessesquires.com/apples-to-apples-part-two [2] http://www.jessesquires.com/apples-to-apples-part-three/
BikeGremlin · 2022-08-06
To help clarify the current situation: One of those websites reported having problems for a month or so, then having it sorted out all by itself. The author's article on that: https://www.jessesquires.com/blog/2022/07/25/my-website-disappeared-fr… My sites are technically present, but shown only when I search for the exact domain (bikegremlin.com) or the site name (BikeGremlin). But none of my articles are shown in SERP when I search queries that otherwise get my articles to top-3 on Google. I've tried submitting URLs for indexing, to see if that will help, now that at least some problems seem to have been fixed. We'll know in a few days... weeks... months if that's helped. :) So far, articles in my native are back, at least to a degree. But none of my articles in English, even those that used to rank highly (both on Google and Bing/DuckDuckGo etc). I've used this situation to check which search engines rely on Bing for their results (primitive, unscientific method, but I think it's accurate): https://io.bikegremlin.com/28530/microsoft-bing-serp-gone-overnight/#4
masklinn · 2016-09-14
Your cases 2 and 3 are pattern matches. It's perfectly fine to use regular equality with optionals (case 2) or enums (case 3), but in that case you're not matching a pattern you're comparing two specific values, and you need the types to be equatable[0] (enums aren't by default, though optionals are if they contain an equatable value). * you can write "foobar == .someEnum" if you've defined "==" for your enum type (in Rust that's a deriving(Eq) away, sadly Swift doesn't seem to have deriving): // requires conforming to Equatable, and implementing // requires func ==(a: Foo, b: Foo) -> Bool somewhere // if the enum has associated data[1] let v = Foo.Bar; if v == .Bar { print("ok") } you can also do that with optionals by default: let w = Optional.some(3) if w == .some(4) { print("ok") } * `let a = b && thing` doesn't make sense because `let a = b` is not a boolean value it's a pattern match. That's why you have a separate guard (the where) and have to write `let a = b where thing`, this is what happens in pretty much every language with pattern-matching (though syntax may vary) * `let d == f` makes no sense whatsoever, though as previously noted `f == .some(d)` works * you can compose `if case` and `if let` in, since both are pattern matches, `if case .Bar = v, let b = w` works fine If you're getting lost with that, use the regular `if` for boolean stuff, and a full `switch` for all patterns. There, I fixed it. That…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close