HNHacker News
TopNewBestAskShowJobs

zeveb

8,423 karma · joined August 11, 2015

submissionscomments
zeveb··on Towards a better keyboard – A Modern Space Cadet
I love QMK, but I do worry about the physical security of a keyboard running a flashable firmware. It would be so easy to snarf passwords off of one, even less detectably than by installing a keylogger.
zeveb··on Opinions Worth Sharing
The thing is, one also needs to learn how to effectively share opinions. 'Rewriting software systems is stupid,' while (arguably) true is almost certainly unlikely to be effective. 'Iteratively evolving and improving our software system in these ways can yield both a higher and a sooner ROI than stopping to rewrite the entire system' might work better.

One also needs to learn to read the room. Sometimes one simply can't persuade others: then the question is whether to go along with them, or to resign.

zeveb··on My first year without social media
Doesn't HN count as social media?

Other than HN, I maintain a very light social media presence. Like smoking, in moderation it is fine but in excess it can be fatal.

zeveb··on Winning the Internet
Looks useful, but if ever a site needed to be viewed in elinks or eww …
zeveb··on Self-Contained Development Environments (2018) [pdf]
JavaScript delenda est. It is to the 2010s as Java was to the 2000s and C was to the 1990s: unjustly popular, and a step backwards from better, deployable technologies. Its deep design flaws are obscured by its superficial design flaws.

Choosing JavaScript is a very different mistake than choosing C (it is at least memory safe, which counts for something). But it is deeply disheartening to imagine how many man-centuries (or man-millennia?) of work have gone into the ramshackle apparatus which is the JavaScript ecosystem while better ecosystems wither and starve for lack of involvement.

JavaScript delenda est.

zeveb··on Self-Contained Development Environments (2018) [pdf]
FWIW, Apple's Power Macintosh 8500, released 25 years ago tomorrow, started at 120MHz & 16MB RAM, but went up to 200MHz & 512MB RAM.

As I recall, it was pretty snappy! I think it would still have been sufficiently snappy had its OS been written in Smalltalk or Lisp …

zeveb··on Self-Contained Development Environments (2018) [pdf]
What I was getting at can be reduced to a single word — a single letter, even: C. The fact that any software is written in C (or C++) is IMHO sufficient proof that the developers care more about performance than they do about anything else.

I think that still holds even if they demonstrably do not care about performance all that much! You are quite right: current software is heavier and slower than it used to be and than it needs to be; it is also less safe and is more difficult to develop than it needs to be.

The popularity of things like Java or JavaScript is another disfunction: although they are very different from one another, they are similar in that they have poor syntax, frighteningly bad ergonomics and poor semantics. They require too much boilerplate (in very different ways) and are insufficiently expressive and powerful. They are not even as much safer as they should be, given their memory safety!

Our industry is appallingly immature.

zeveb··on Self-Contained Development Environments (2018) [pdf]
We spent a lot of time these last 40–50 years chasing performance above all else, prioritising it before safety, expressiveness & development time.

I think that modern computers are so amazingly fast that a little cleverness can go a long way, permitting us to run more safely and write more quickly with more powerful languages. Honestly, I wish we had been doing that for decades at this point — computers were actually plenty fast even in the 90s!

zeveb··on Crush: A command line shell that is also a powerful modern programming language
You are right, but none of those criticisms apply to Tcl, which is both beautiful and integrates really well with the Unix environment. I won't say that it is perfect, but it is really, really good. A better choice than Perl where Perl is used, a better choice than Lua almost everywhere Lua is used, often a better choice than Python.

Tcl is horribly, terribly under-appreciated. It is one of the great might-have-beens of modern computing, almost as much as is Lisp.

zeveb··on Coups, lies, dirty tricks: Stewart Copeland on his CIA agent father (2000)
> The CIA was more or less trying to clean up a British mess when they installed the Shah.

The CIA didn't install the Shah; he already was the ruler of the country. Nor did the CIA overthrow his insubordinate minister Mossadegh; the Shah's government did that.

zeveb··on File System Interfaces for Go – Draft Design
I quite like the concept of contexts, I just wish they were implicit rather than explicit. The idea of a function taking place in a dynamic context makes perfect sense (because, after all, it does); the only thing which doesn't really make sense is having to pass it along by hand. Imagine how terrible it would be if we had to explicitly pass the return stack everywhere[0]!

It needs to 'infect' (as you put it) everything because it needs to pervade everything, so a library can pass it through to anything it calls. This is a good argument for making it implicit.

> And it includes an untyped key-value store implemented as a linked-list of pairs (!!!!), because why not?

That is just a cons chain, famous for example as the foundation of the Lisp programming language, and there is nothing wrong with it. Note that it is unfair to say that it is untyped: the values themselves are strongly typed, and the cells too are typed — interface{} (or T in Lisp terms) is still a type!

A cons chain has advantages for inheritance of values in a DAG of calls. It is not necessarily the most efficient, but simplicity is a virtue.

0: Continuation-passing style is both really powerful and well-nigh unreadable, for a reason.

zeveb··on A Plea for Lean Software (1995) [pdf]
> (Saint) Nicholas of Bari

Of Myra, actually — his relics were stolen from his tomb in Myra by sailors from Bari, where they remain today, but he probably never even visited there.

zeveb··on One-third of New York’s small businesses may be gone forever
The idea was to allow prices to quickly return to their current level after going down, in what would normally be a violation of rent-control policies. That would easily be spun as allowing landlords to raise rent more quickly than they normally could.
zeveb··on One-third of New York’s small businesses may be gone forever
I think that was most typical when the party declaring the debt jubilee was the lender itself (e.g. the government), or when the lenders were despised by society (e.g. Jews in mediæval Europe).

A debt jubilee would not fly so well now when all of our pensions, retirements and endowments are tied up as … someone else's debt.

zeveb··on One-third of New York’s small businesses may be gone forever
> Sure, but are they doing $1k+ worth of maintenance work a month per unit?

There ain't no such thing as a free lunch. In a market with units for sale and for rent, prices tend to reach an equilibrium. The only difference is that rent includes a premium for the relative ease with which one can move.

Another way of looking at it is that traditionally it was considered reasonable for annual rent to be 1/20th of the purchase price of a property. Likewise, 5% annual maintenance was considered reasonable. Unsurprisingly … 1/20th == 5%.

> Many landlords probably spend more time sending out bills than they do on maintaining the property.

That was certainly not my experience when renting. My most recent apartment had multiple full-time employees maintaining it and had an annual improvements budget. I won't claim that it had all the amenities I would have liked, but the landlord was definitely not just letting the cash roll in.

zeveb··on One-third of New York’s small businesses may be gone forever
> Has there been any consideration by state/city governments to temporarily lift these restrictions until the pandemic is over so long as prices don't exceed the prepandemic price once we return to normalcy?

Can't you imagine the headlines? 'Sweetheart deal for politicially-connected landlords allows rent-control evasion for the next year!'

zeveb··on The Pandemic-Era Appeal of Labyrinths
As martyrdoms go, being downvoted is pretty tolerable. Beats being shot or tortured. Heck, even missing out on job opportunities is not really that big a deal.

(N.b. for those unfamiliar with the term: 'martyr' comes the Greek word μάρτυρ, meaning 'witness.' The modern secondary meaning 'suicide murderer' is … something else entirely.)

zeveb··on Nano 5.0
> Not wrapping should be the default for every editor. AFAICT, it is not the default for any editor.

It appears to be the default with emacs — at least, hard-wrap off appears to be the default. Soft-wrap is on, but … I can't imagine that you dislike soft-wrap, do you?

zeveb··on Usability of Footnotes
Footnotes are great! There's something wonderful about the affordance of a digressive paragraph at the foot of the page. I do not need to break the flow of reading, just flick my eyes down, read and return to the body text. What are terrible are endnotes, which force one to page or click back and forth. That action breaks flow.

I wonder if the issue is with how footnotes are displayed electronically? Perhaps a Sufficiently Smart E-Reader could display a footnote as long as its footnote marker, sentence, line or paragraph (would need research to see which is best, I think) is on-screen.

zeveb··on The Toxoplasma of Rage (2014)
The Floyd case happened after months of people being locked in their homes, unable to lead active and healthy social lives. While not as bad as solitary confinement, 2020 has been a psychologically grueling year. Floyd's death was the spark that set off a powder keg.

Remember, too, that the immediate aftermath was truly widespread horror. Everyone agreed that it was terrible. My recollection is that is the protests against police in general grew harsher, other folks started to accentuate the fact that Floyd was not a perfect man. And then everyone lost control of their collective sanity.

zeveb··on How Did the Casio F91W Become a Terrorist Icon?
> It's important to point out here that what you're reading about is people being tortured to confess on the purpose of a watch.

It's important to point out that you have absolutely no evidence of anyone being tortured to confess to the purpose of a watch. The interrogators could have just asked.

zeveb··on Google to keep employees home until summer 2021
> Modern society is highly efficient, but also highly susceptible to disruption.

That's something my wife & I have been discussing recently. She pointed out that traditional family structures have more slack built into them, which comes in handy in times of trouble. The problem is that in the modern Taylorist world we treat slack as waste. But it really isn't, any more than insurance is waste.

zeveb··on The terms of the AGPL are pretty easy to comply with
> There's an entire class of tooling to make sure that GPL-tainted software isn't distributed

Amazing the lengths people go to in order to avoid sharing and treating others well! Imagine if they did the opposite: imagine if they just freely shared their source code.

zeveb··on Source Code Obfuscation Patterns
This is really awesome, the sort of thing I love to see on HN! Thanks for writing & posting it.
zeveb··on Headphones are collecting too much personal data (2019)
> You mean like Beats or Apple AirPods? They don’t collect user data at all.

They may not, but Beats and Apple — the former is a subsidiary of the latter — lock one into a proprietary ecosystem in which your data is not your data (just try sharing iCloud photos with Android users), you have no right to run, view, modify or share the software you depend on, your message security rests 100% on the corporate goodwill of Apple and any government which can force Apple to do its will (your iMessages are end-to-end encrypted … to whatever keys Apple says belong to your correspondents; Apple can add new keys at will). And of course Apple are also doing their best to replace the standard headphone jack with crufty, battery-draining, CPU-requiring Bluetooth.

Headphones capable of running Bluetooth are headphones capable of collecting data about you, because they need some sort of processor to speak the Bluetooth protocol. Headphones which are composed of wire and drivers aren't capable of anything other than playing or receiving audio.

zeveb··on The Rise and Rise of JSON (2017)
It's a real shame that both XML and JSON eclipsed the real data format for the ages: S-expressions. I hope it's only temporary, though: there really is no good reason the prefer JSON other than everyone else using it, and if one gets into a novel enough domain then there isn't an everyone else doing anything to worry about yet.

S-expressions have the advantage of not containing the redundant object type (there's no need for an object, map or dictionary when one has alists or plists), and the even greater advantage of elegantly representing code.

Also they are easier to write parsers for.

zeveb··on Bidi Brackets for Dummies
Or like bidis, the wonderful flavoured cigarettes banned by Mr. Obama's execrable FDA in 2014, to rhyme with 'needy.'

Man, I miss them.

zeveb··on Any claim without a URI should be treated as suspicious
In the general case of an old newspaper which may not be scanned and online, a URI (i.e., an indentifier) is called for; in the case of an old newspaper which has been scanned, a URL is called for.

The distinction is that an identifier identifies a resource; a locator states where it is located.

'My grand-father's diary, 4 July 1930' is a resource identifier (but not a URI); urn:isbn:0-486-27557-4 is a URI, but not a URL; https://news.ycombinator.com/ is a URL.

zeveb··on The Incredibly Stupid One
> And that the US were the invading force.

No, the North Vietnamese were the invading force. They invaded South Vietnam, and after the Paris Peace Accords they invaded it again and conquered it.

zeveb··on The Incredibly Stupid One
Well, they were defending the freedoms of South Vietnam, which was a sovereign republic which was being invaded by another country. They were resisting international Communism, which had a goal of establishing Communist governments in every country, to include the United States. So by defending South Vietnam from its invader they were defending the United States.
← PreviousPage 5 of 34Next →