HNHacker News
TopNewBestAskShowJobs

wwalexander

1,206 karma · joined February 10, 2016

submissionscomments
wwalexander··on Ask HN: Can we please limit the AI news flood?
I've largely moved over to lobste.rs for actual technical news. They even have a "vibecoding" tag to let you filter out anything related to coding with LLMs.
wwalexander··on Shopify is moving from React Native back to Swift and Kotlin
Using cross-platform web technology is absolutely a nuanced engineering decision that is the right one for many businesses. What is categorically bad is bundling a standalone browser runtime for every single service, wasting user’s storage and memory when you could just have a website in a browser.

Is there any major browser now that doesn’t support saving websites as apps? Electron is simply a suboptimal and incorrect way of producing web apps.

wwalexander··on SQLite as a Document Database (2020)
> it added a killer feature: generated columns

It would be super cool if somehow SwiftData could translate computed properties of @Model objects into these generated columns via the #Expression macro!

wwalexander··on What Is a Harness?
E = mc^2 + AI
wwalexander··on Waymo in Dallas
What does rent control have to do with corporate rollout strategy?
wwalexander··on Waymo in Dallas
Self driving cars and AI aren’t science. Not sure what being pro or anti nuclear or AI has to do with corporate rollout strategy.
wwalexander··on Waymo in Dallas
What “anti-science slopulism” are you referring to? And what does corporate rollout strategy have to do with science?
wwalexander··on 9front "This Was Supposed to Be Fun" Released
https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs

> Unofficial development for the system also continues on the 9front fork, where active contributors provide monthly builds and new functionality. So far, the 9front fork has provided the system Wi-Fi drivers, audio drivers, USB support and built-in game emulator, along with other features.

wwalexander··on Go 1.27 Interactive Tour
Swift generics tend to idiomatically use longer names, like Element or View or Content.
wwalexander··on Codex Security
Are you generating these responses with an LLM?
wwalexander··on So Reddit has decided that plain HTML is unsafe
Another fun New Reddit quirk: on iOS, the un-dismissable “better in the app” popover makes scroll stop working, meaning you can’t scroll up to get the iOS-native “Open in App” toolbar that actually opens the app, so your only option is to click their hand-rolled button that just opens the App Store listing, or reload the page and tap the native “Open in App” button before the popover reappears.
wwalexander··on Apple has decided to compete for creativity app users
I much prefer the interface of Pixelmator and Pages to Photoshop and InDesign, and paying once (for the non-AI-augmented version of Pixelmator, which Apple indicate will continue to receive some manner of updates going forward) is a nice plus.

It’s unfortunate there’s not a real Illustrator equivalent; Pixelmator has okay enough vector editing and export support for my needs, but notably will render the canvas rasterized at whatever the nominal resolution is even when zoomed in editing an SVG. Vector exports work as expected, just the editing is rasterized. Still, a small price to pay for not paying monthly for Adobe’s mountain of crufty malware.

wwalexander··on Bluesky Trademarks ATProto
What scene?
wwalexander··on Bluesky Trademarks ATProto
The author of this comment is an engineer at Bluesky.
wwalexander··on I'm a USB-C Maximalist
If only Philips would support USB-C for their OneBlade electric razors, instead of a USB-A to proprietary figure 8 barrel plug cable.
wwalexander··on I'm a USB-C Maximalist
The pricier ones have a case with just a USB-C port.
wwalexander··on Telegram's t.me domain has been suspended
ccTLD hacks are both semantically incorrect and geopolitically unstable.

The .io TLD will likely be phased out in the future due to geopolitics, and all the companies who decided it was more important to signal how hacker jargon aware their startup was will have to go through the very difficult process of changing domains.

In order to log into IRS.gov to get a code to pay my USA taxes, I had to verify my USA ID via a private company called ID.me, whose domain name AND company name are now forever tied to the whims of the government of Montenegro.

wwalexander··on Telegram's t.me domain has been suspended
Cloudflare
wwalexander··on Show HN: HackerNows – Native iOS HN Client
Not really fixable, unfortunately. The API requires an network call for each comment:

> The v0 API is essentially a dump of our in-memory data structures. We know, what works great locally in memory isn't so hot over the network.

When I played around with making a client, I found the best approach was to only load the first level of comments, and asynchronously fetch children inside DisclosureGroups on appear.

Then I realized the only reason I was making an HN app was so it didn’t blind me at night, and then I realized Lobsters has all the same stories as this place but lets me filter out vibe coding articles, and I just gave up.

wwalexander··on Parse, Don't Validate – In a Language That Doesn't Want You To
> It's the same thing. In the latter case, something has validated that your NonEmpty has a first and a last element.

No, it has parsed it into a structure that structurally has at least one element, not just the promise that there ought to be one. From the original “Parse, don’t validate” article:

    data NonEmpty a = a :| [a]
> your type still permits {name: "\0\0\0\0\0\0", host: "!"}

I actually originally wrote it with an array of EmailNameCharacters, etc but didn’t want to overcomplicate the example.

wwalexander··on Parse, Don't Validate – In a Language That Doesn't Want You To
This is just validation that is using the type system to indicate the validation has already occurred. I think the real point of “parse, don’t validate” is to make the type system give you structural guarantees that couldn’t exist otherwise (e.g. always having a first/last element in the NonEmpty example from the original article). If you’re just branding the types as “parsed” (in reality, simply validated) you still have to know that the invariants you care about hold when using the “parsed” type (e.g. splitting the email type using “@“ will always yield 2 elements), instead of the structure of the type holding that info inherently (e.g. struct Email { name: String, host: String }).
wwalexander··on U.S. government will decide who gets to use GPT-5.6
> Japanese electronic tariffs in the 80s

Also motorcycles. https://en.wikipedia.org/wiki/1983_motorcycle_tariff

wwalexander··on "Fix" MacBook Neo Cursor Lag: Record 1 Pixel of the Screen Every 10 Seconds
guard has two advantages: the compiler ensures that you exit the current scope if the condition does not hold (via return, break, continue, etc), and bindings established in the guard clause (e.g. let foo = optionalBar) remaining in scope after the guard block, rather than inside it like an if block.
wwalexander··on Made a free macOS menu bar app that fixes typing in the wrong keyboard layout
You can configure macOS to switch between languages by pressing the globe key, but it’s a far cry from letting you type in any of your languages without it autocorrecting/red-underlining.
wwalexander··on Made a free macOS menu bar app that fixes typing in the wrong keyboard layout
iOS supports using one keyboard for two languages (for me, a USA keyboard with English and Italian). Unfortunately this doesn't exist on macOS yet.
wwalexander··on Ubiquiti: Enterprise NAS, Built on ZFS
Will this support expansion in the case of all bays being filled?

EDIT: Nevermind, the product page has an option to add up to 32 additional drives via expansion units. Nice!

wwalexander··on Sweet Jeebus, macOS 27 Golden Gate Removes the Dumb Icons from Menu Items
> In addition, every software company seems to go their own way and have their own “style”

Hence Apple using the same set of SF Symbols across all their platforms. And I don't think icons are intended to be used to initially identify the purpose of a button, but instead to provide a quick visual anchor once you are already familiar. Sure, there are some buttons that everyone will use more (like Save or Open), but I don't think there's anything wrong with allowing every button to have this sort of quick visual lookup. Predicting user behavior is hard.

wwalexander··on Sweet Jeebus, macOS 27 Golden Gate Removes the Dumb Icons from Menu Items
What about toolbars? Those almost universally have both text and icons for each item. Why should menus be any different?
wwalexander··on Sweet Jeebus, macOS 27 Golden Gate Removes the Dumb Icons from Menu Items
I strongly dislike Ive's influence overall, but skeuomorphism made it incredibly difficult and cost-prohibitive for a single indie developer to make an app that felt like a polished first-party experience for iOS. I'm glad it's gone. You're still welcome to do it if you want and you have the whimsy and artistic talent (or design team) for it.
wwalexander··on Sweet Jeebus, macOS 27 Golden Gate Removes the Dumb Icons from Menu Items
Yes, I have been listening to Gruber complain about them for a year now. His critique is that "Apple's HIG used to say not to," not anything about what actually makes them bad.

Curiously, I haven't heard him talk about Apple Intelligence in Shortcuts, or any of the cool new features in Tahoe. Design is how it looks, I guess.

Page 1 of 8Next →