millstone

Joined 14 years ago

Karma
6,895
Submissions
1,988
Member since
Nov 23
View on Hacker News

Recent submissions

Comment · 5 years ago
Comment · 5 years ago
What does "get it all" mean? All of what?
Comment · 5 years ago
What did you buy instead?
Comment · 5 years ago
Please tell us more.
Comment · 5 years ago
Pitch to a VP with "we will do a tiny trial of 1% of customers, if it doesn't work it's GONE, no harm done."

Gets the greenlight, everyone who worked on it is invested and motivated to make the results look good, and it builds from there.

Comment · 5 years ago
Can you say more? What happens if you try?
Comment · 5 years ago
Amazon ads are contrary to the company's mission statement of being the "most customer centric company." They could improve the customer experience at one stroke by eliminating pay-for-placement.
Comment · 5 years ago
What a sad vision. Per the article, the most important thing about software is that it is safe. The role of an OS is to protect against abuse. The web is inherently safe; therefore we should use web apps instead of native apps. This is profound technological pessimism.

A different vision: computers empower people. An OS provides APIs and UI conventions, and apps can use them to build upon each other, so that users can bring their knowledge from one app to another. Users invest in learning advanced techniques because it's worth it, because all our software participates (think keyboard shortcuts or Unix pipes).

The web has none of this. Websites are not cultivating a new UI vocabulary. Most websites don't support even basic interactions beyond click and tap. They may even actively parasitize the old: Google Docs supports cmd-Z but not Edit->Undo; we are being taught to distrust our UI, the OS itself is being eroded.

> users who cannot perceive or experience the web delivering great experiences

Then build those great experiences and Apple will change its tune. Seriously.

> The web was a lifeboat away from native apps for Windows XP users. That lifeboat won't come for iPhone owners because Apple won't allow it.

iPhone owners are happy and Apple knows it. On the iPhone, web apps are not a lifeboat; instead the web is displacing high-quality native apps with alien-feeling lowest-common-denominator stuff. No thanks.

Comment · 5 years ago
It does not. -XOverloadedStrings unlocks `fromString :: String -> a.` That is not a polymorphic string interface; it's just syntax sugar for making something else from a string literal.
Comment · 5 years ago
Right. But OOP makes it central, and builds around it, while FP de-emphasizes it in preference to ADTs.

Strings are a good illustration. Instead of an abstract polymorphic String type, Haskell provided a concrete String type as an ADT. This proved too inflexible, which is why we have Text, lazy Text, ShortText, etc. Compare to NSString which also has multiple representations but hides them behind a single polymorphic interface.

Comment · 5 years ago
I agree with that. If you create accessors as a matter of course, then you are mostly adding dead weight. But accessors can add a useful layer of abstraction at the interface layer, as you say.
Comment · 5 years ago
OOP (as Alan Kay conceived it) was explicitly inspired by biology. Objects are cells and communicate through exchanging messages. State is local and hidden, and data itself disappears, which means that the program as written may be ignorant of how operations are performed.
Comment · 5 years ago
"Safety" and "performance" are not always the most important considerations. For example, Apple uses OOP so that its frameworks can evolve without breaking client apps. NSDictionary is a dynamic object because it permits the implementation to be changed or replaced, and this comes at a cost of performance.
Comment · 5 years ago
getters, setters, and factories allow the implementation to evolve without breaking client code.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton