HNHacker News
TopNewBestAskShowJobs

mayoff

2,016 karma · joined June 2, 2010

Random bits of iOS programming
submissionscomments
mayoff··on Owed a billion dollars in Nvidia stock
Eric didn’t post the full stock option agreement, only its cover sheet. Given the language of the 1996 termination letter, it’s a good guess that the full agreement specified expiration 90 days after termination.
mayoff··on I like 'em thick: an apology to my English teachers
Robin Hobb (a very successful fantasy author) rates books on Goodreads. To her, anything over one star is a good rating. Even two stars means she liked it.

https://www.goodreads.com/author/show/25307.Robin_Hobb

mayoff··on Turns are Better than Radians (2022)
I like to store angles as turns in my own code, because (as noted) it makes quarter-turns computable without rounding. OTOH if you need, say, twelfths of a turn, you might want to just store angles as degrees since that’s already common.

Michael Spivak, in Calculus (3rd ed p. 301) considers the unit choice to be a property of the function and initially defines sin° and sinʳ (before settling on sin meaning sinʳ) and considers “sin x°” and “sin x radians” to be misleading, saying that ‘a number x is simply a number—it does not carry a banner indicating that it is “in degrees” or “in radians”’. I don’t really understand this argument, since in science and engineering we constantly carry units around with our quantities.

mayoff··on SupererDuperer
I started using SuperDuper user in 2005 and was happy with it for a decade. Then one day in 2015 or 2016 it stopped working, and upon investigating, I discovered it used AppleScript under the covers. Even though I'd written AppleScript occasionally, it is such an obtuse programming system that I wasn't willing to spend any time trying to debug SuperDuper's script. And while I suspect David Nanian provides excellent support, I figured giving Carbon Copy Cloner a try would be faster and easier, and I've been using CCC ever since.
mayoff··on Software development with AI is starting to feel like cooking steak
That can be just a ziplock bag and the same water bath you're going to use for the sous vide anyway.

https://www.youtube.com/watch?v=XrZPLF0ezw8nn

mayoff··on How old is Ann?
> (Mary, at 16, was twice her age)

The problem states “She _is_ twice as old as Ann was”, not “She _was_ twice as old as Ann was”.

mayoff··on More Bounce to the Ounce
This idea is a significant part of Anathem by Neal Stephenson.
mayoff··on Microsoft fire idTech team at Id software
Here’s what Tim Schafer said about selling Double Fine to Microsoft at the time:

> "I think it's perfect for us, because we can just focus on doing our inspired weird games, and not worry about how we're going to get our next deal. We aren't chasing down our next funding and thinking about how many more months of funding we have all the time."

https://gameinformer.com/2019/06/23/tim-schafer-on-microsoft...

mayoff··on CarPlay Is Additive
I’m with Casey on this: I will not buy a car without CarPlay. Of course, I haven’t bought a car since 2013. That one is a Tesla Model S and I think its UI is pretty decent for maps and playing audio, but I have rented enough cars since then to know that I would much prefer CarPlay support. If I had to replace my car today, I’d probably buy a Volvo EX90, which is the electric version of the XC90 Casey talks about.
mayoff··on In memory of the man who put red and green squiggles under words
At my office we refer to these (in IntelliJ) as ketchup, mustard, and relish (depending on the color).
mayoff··on Stateless Actors
This article is about actors in the Swift programming language, and I’d answer the question (“is a stateless actor pointless?”) differently: there is no such thing as a stateless actor in Swift.

Every actor in Swift conforms to the Actor protocol, which has one requirement: an instance property named `unownedExecutor`. Swift uses this property implicitly when, for example, the program calls a method on the actor from outside the actor.

https://developer.apple.com/documentation/swift/actor/unowne...

(One could also argue that, because every actor type is a reference type, every actor also has its identity as part of its state.)

mayoff··on Integer Overflow Checking Cost
In Swift (Apple’s C++ successor), the normal operators (`+`, `-`, `*`) trap on overflow for integer types. If you want twos complement wrapping, you can use `&+`, `&-`, and `&*`.

Given that Apple has been making its own CPU cores for years now, I suspect overflowing checking on Apple CPUs is virtually free (aside from code size).

mayoff··on "Parse, don't validate" through the years with C++
The second sentence of your summary is fine, but I don’t like the first sentence:

> Use your language’s type system to parse unstructured inputs.

We don’t use the type system to parse. We use the type system to provide evidence (also called a proof or a witness) that parsing was successful, and we rely on the language’s access control facilities (public/private) and the soundness of its type system to prevent fabrication of false evidence.

mayoff··on You can beat the binary search
In the Intel CPU + cold cache case, the quad search matters. In the other three cases, only the SIMD matters.
mayoff··on You can beat the binary search
Quaternary search effectively performs both of the next loop iteration’s possible comparisons simultaneously with the current iteration’s comparison. This is a little more complex than simple loop unrolling.

Regardless, both kinds of search are O(log N) with different constants. The constants don’t matter so much in algorithms class but in the real world they can matter a lot.

mayoff··on MacBook Neo and how the iPad should be
While plenty about the iPad situation sucks, my biggest gripe is the discontinuation of the Smart Keyboard Folio. This was the one that only had a keyboard, no trackpad, but could fold all the way back, which the Magic Keyboard (with trackpad) cannot. The Smart Keyboard Folio was just the perfect form factor: there when you need it, discretely out of the way when you didn’t. And when you were using it, the iPad was perfectly balanced to sit on your lap even in cramped circumstances, which the Magic Keyboard is most definitely not.

Sure, get rid of the Magic Keyboard with its unnecessary trackpad. But bring back the Smart Keyboard Folio. It was a delight.

mayoff··on Gone (Almost) Phishin'
It's kind of crazy that the IRS (among other United States government agencies) uses ID.me for account management. The .me domain belongs to Montenegro.
mayoff··on Windows native app development is a mess
How to add a button in SwiftUI:

    Button(“Click Me”) { buttonWasClicked() }
mayoff··on Zero ZGC4: A Better Graphing Calculator for School and Beyond
When my daughter finally needed one of those godawful monopoly-priced calculators for school, we went to the nearest pawn shop and found a TI 84 Plus, opened, for $40, and a TI 84 Plus CE in its unopened (but roughed up) original packaging for $65.
mayoff··on New iPad Air, powered by M4
Somehow Woot still has a supply of the Smart Keyboard Folio for certain 11" iPads Pro/Air.

My wife is still using an older gen 11" iPad Pro and her keyboard folio stopped working (they fall apart after a few years ), so I took a gamble and ordered one. It arrived in the original, sealed packaging. As far as I can tell, it had never been opened, and it is perfect condition and works great. My wife is very happy. I bought a second one for when this one falls apart.

https://www.amazon.com/Apple-Smart-Keyboard-11-inch-iPad-Pro...

mayoff··on This time is different
Most of the “delivery” (getting it from the factory to its final installed location) was done by machine: forklifts, cranes, ships, trucks, and (I'm guessing) a motorized lift on the back of the delivery truck.
mayoff··on What if writing tests was a joyful experience? (2023)
If you’re a Swift programmer, the swift-snapshot-testing package is a great implementation of these ideas.

https://github.com/pointfreeco/swift-snapshot-testing

mayoff··on Data centers in space makes no sense
For an electrification company.
mayoff··on Teaching my neighbor to keep the volume down
I'm pretty sure you meant something other than "buildings under about 6 feet".
mayoff··on The unbearable frustration of figuring out APIs
Thank you for this. I’ve been using it for years.
mayoff··on Canada's Carney called out for 'utilizing' British spelling
Maybe just don't utilize "utilize" or "utilise" at all. There are very few cases where utilizing "utilize" or "utilise" is better than using "use".
mayoff··on Why doesn't Apple make a standalone Touch ID?
I was shocked they didn’t do this when they added the “notch” to MacBooks.
mayoff··on Disney Lost Roger Rabbit
I don’t know if Cory Doctorow has read the “fantastic 1981 novel”, but I have (decades ago) and as I recall the plot of the book and the plot of the movie are very different from each other. The author of the book didn’t write the screenplay and I doubt he had much (if anything) to do the character designs in the movie. So even if he has the rights to his novel back, it’s not at all clear to me that he could just make (or sell a license to make) a straight, recognizable sequel to Disney’s movie without getting back into bed with Disney, and clearly Disney isn’t interested or they’d have done something by now.
mayoff··on Being poor vs. being broke
Some people suffer and think "I had to go through this and I hope no one else does."

Some people suffer and think "I had to go through this so everyone else should too."

mayoff··on Problems with C++ exceptions
The problem is that it's easy to do it wrong and the C compiler doesn't help you. RAII prevents you from leaking the resource, but the complaint in the post is that it can be cumbersome to use RAII in C++ if acquisition can fail and you want to handle that failure.
Page 1 of 12Next →