HN user

laughinghan

2,942 karma

http://twitter.com/laughinghan

http://github.com/laughinghan

Posts30
Comments797
View on HN
laughinghan.medium.com 5y ago

Can we all just call it “type narrowing”?

laughinghan
2pts0
twitter.com 6y ago

Cloudflare outage causing Discord, Medium, Patreon, ProductHunt, Gitlab all down

laughinghan
7pts2
twitter.com 6y ago

[2019] Cloudflare, Medium, Discord, Gitlab, DigitalOcean, ProductHunt All Down

laughinghan
3pts2
ruudvanasseldonk.com 6y ago

Model facts, not your problem domain

laughinghan
2pts0
gist.github.com 6y ago

Diagram of every possible TypeScript type

laughinghan
2pts0
medium.com 6y ago

Semantic Highlighting: the inverse of syntax highlighting (2014)

laughinghan
3pts0
jacobinmag.com 8y ago

An interview with a Googler about the internal campaign against Project Maven

laughinghan
3pts0
medium.com 9y ago

The most puzzling Web platform bug I’ve encountered

laughinghan
11pts1
www.w3.org 10y ago

From the ashes of MathML, a new "Getting Math onto Web Pages" Community Group

laughinghan
2pts0
vis4.net 10y ago

HCL: a color model that actually matches our perceptions (2011)

laughinghan
183pts43
mathquill.com 10y ago

Show HN: MathQuill, my open source JS formula editor

laughinghan
29pts4
www.jpl.nasa.gov 12y ago

Cassini obtains first movie of Saturn's Hexagon jet stream

laughinghan
1pts0
medium.com 12y ago

There's a 2 Billion-Year-Old Natural Nuclear Reactor in West Africa

laughinghan
5pts0
blog.rongarret.info 12y ago

In defense of the Google Chef (2011)

laughinghan
132pts86
zhovner.com 12y ago

String that immediately crashes OS X and iOS apps, including WebKit

laughinghan
2pts1
en.wikipedia.org 13y ago

Pleochroism - crystals that are different colors from different directions

laughinghan
1pts0
en.wikipedia.org 13y ago

List of IETF (Internet Engineering Task Force) April Fool's Day RFCs

laughinghan
1pts0
github.com 14y ago

GitHub is down

laughinghan
7pts1
plus.google.com 14y ago

Joel Spolsky: The Internet needs to lobby offensively for limiting copyright

laughinghan
2pts0
en.wikipedia.org 14y ago

Dichroic filter: very high accuracy thin-film interference color filter

laughinghan
1pts0
news.ycombinator.com 14y ago

Ask HN: Do you use print() debugging?

laughinghan
16pts16
github.com 14y ago

Color.js: the missing JavaScript color library

laughinghan
2pts0
ucbstartupfair.com 14y ago

Small companies? Meet big talent at the UC Berkeley 2011 Startup Fair

laughinghan
12pts2
kangax.github.com 14y ago

The ultimate guide to JavaScript named function expressions

laughinghan
1pts0
mislav.uniqpath.com 14y ago

The proper way to intercept clicks

laughinghan
1pts0
lists.canonical.org 14y ago

Peer-to-peer overlay networks are a bad idea on a DSL-based internet.

laughinghan
56pts35
likeness.com 14y ago

Ness Computing releases it's personalized search engine

laughinghan
2pts0
www.quora.com 14y ago

Some of the Most Mind-Blowing Facts: The immortal jellyfish and more

laughinghan
1pts0
github.com 15y ago

Bash on Balls: an MVC web framework for Bash, powered by netcat

laughinghan
157pts36
unixpapa.com 15y ago

JavaScript Keyboard Events Compatiblity Tables: More extensive than Quirksmode

laughinghan
2pts0
You can just say it 2 months ago

You make subtle mistakes in how you perceive the world, the interlocutor makes similar mistakes

And the LLM makes subtle mistakes perceiving what you were trying to say, and I make subtle mistakes perceiving what the LLM generated.

It's interesting that you seem to think an LLM would be better than you at understanding what someone was trying to say. I have complete, 100% certainty that if a personal friend of mine was having trouble expressing themselves and was concerned about being misunderstood, I would understand what they were trying to say better than any existing LLM. (I suppose the exception would be if the friend was referencing some factual matter I'm unaware of but that the LLM has memorized, like a pop culture reference I didn't get or something.) Do you find that ChatGPT has more emotional intelligence than you?

The WIT types don’t seem random or Rust-centric to me, they’re basic types common to every major current-generation language, not just Rust but also Swift, Kotlin, even Zig. It’s true that languages with type designs from the 90s can’t take full advantage of WIT types, but WIT does seem perfectly capable of representing types from older languages, which seems like the only possible sensible design to me—older languages are supported, but that support needn’t burden interop between modern languages.

You seem to be implying that these goals were optional, but I don’t understand how #2 cross-lang interop could ever have been optional. Isn’t running non-JS languages the entire point of WebAssembly?

Given that, do you really think goal #1 non-Web APIs really added much additional delay on top of the delay necessitated by goal #2 anyway?

Are you pretending you didn’t even have an LLM help you reword it before publishing? Because that would be an obvious lie. If you were to propose a sufficiently trustworthy way to prove one way or another, I’d bet $1,000 on it.

Specifically there’s a lot of clickbaity constructions like: “setup: payoff” or “sentence fragment, similar fragment, maybe another similar fragment”.

This paragraph has both:

The symptom is familiar: a stream that occasionally "locks up" briefly before catching up, jitter in audio or video, or a latency spike that appears to come from nowhere, a "hang" in the application when it gets blocked waiting for a packet. It comes from a single packet forcing the entire pipeline to pause. The underlying network recovered quickly; TCP's ordering guarantee is what made it visible.

So does this!

WireGuard's protocol is a fundamentally different design point. It's stateless — there's no connection to establish upfront, no session to track, and no certificate authority in the picture. Two keys, a compact handshake, and you're encrypting. And unlike TLS, WireGuard's cryptographic choices are fixed: Noise_IKpsk2 for key exchange, ChaCha20-Poly1305 for authenticated encryption. There's nothing to misconfigure.

Does it bother anyone else when an article is so clearly written by an LLM? Other than being 3x longer than it needs to be the content is fine as far as I can tell, but I find the voice it’s written in extremely irritating.

I think it’s specifically the resemblance to the clickbaity writing style that Twitter threads and LinkedIn and Facebook influencer posts are written in, presumably optimized for engagement/social media virality. I’m not totally sure what I want instead, I’m pretty sure I’ve seen the same tactics used in writing I admired, but probably much more sparingly?

What is it that makes tptacek’s writing or Cloudflare’s blog etc so much more readable by comparison? Is it just variety? Maybe these tactics should be reserved for intro paragraphs (of the article but also of individual sections/chapters might be fine too) to motivate you to read on, whereas the meat of the article (or section) should have more substance and less clickbaiting hooks?

In theory they try to get people hired for their competence rather than their network. A widely-cited anecdotal example of this reportedly working well is the Rooney Rule: https://www.espn.com/nfl/playoffs06/news/story?id=2750645

This thread also has a lot of anecdotal examples of failure modes of 'diverse slate' rules, though, such as people who have already decided who to hire still interviewing women candidates just to appease the rule, thus wasting everyone's time.

There are no second chances in the court of public opinion, no punishment severe enough, no act of restitution sincere enough.

This just isn't true. Look into how Dan Harmon gave a genuine apology and accounting for his wrongdoing and was forgiven. Can you point to Sabatini doing anything that even arguably rises to that level of contrition?

If learning that Cloudflare took action against literal, self-identified Nazis—who praise Hitler, deny the Holocaust, and drove a car into a crowd and killed a woman—made you worried that Cloudflare might take action against you, you're really telling on yourself.

I strongly disagree with the analogy between CDNs and ISPs. ISPs operate on the user-side, they have no business filtering what the user sees. CDNs operate on the server-side, they have the power and responsibility to decide who they want to do business with, and to not provide services to harmful customers—I'm sure we agree ISPs shouldn't provide services to harmful customers either (spam, malware, phishing, etc).

This is so overwrought. We're not talking about Embrace, Extend, Extinguish here, where Microsoft wanted to exploit their OS monopoly to bend the Internet to its will. Cloudflare's products are popular because they solve real problems; Cloudflare is not responsible for the popularity of outsourcing SSL termination, the difficulty of implementing SSL properly is, and if Cloudflare ceased operating tomorrow there would still be vendors and customers for SSL termination aplenty.

A few notes:

• a quick search for "refuting bell's theorem" will turn up attempts in 2000, 2007, 2011, 2012, 2017, etc, so let's take this with a huge grain of salt

• Europhysics Letters is a reasonably old journal (1986) but an impact factor of ~2 is pretty low; I wouldn't consider this a major journal

• As the Reddit discussion notes: "Just because you call your model locally realistic doesn't mean it's actually locally realistic. Calling it "contextual" doesn't change that. ... That part where the "context" of photon 1 changes the polarization of photon 2? That's not local.": https://www.reddit.com/r/Physics/comments/nig8d5/bells_theor...

The recent spike in homelessness, the health insurance coverage gap, rising economic inequality, we are facing many major urgent crises. But there is a severe lack of imagination to suggest that our problems as a society or species can't or haven't been far, far worse.

A homeless woman today in any major American city (which generally require hospitals to provide emergency care even to people without health insurance) is safer giving birth than a queen a few centuries ago. A homeless person today in any major American city is safer from cholera, tuberculosis, any antibiotic-treatable disease than a king a few centuries ago.

Society and technology have made us much better off overall, it's not close. The fact that we still have major problems today does not contradict the fact that we have also solved some major problems, too, thanks to science and technology.

This seems like...word salad. What are you actually trying to say here?

Autonomy vs social control is a modern trend? That's not what totalitarianism was?

What change of governance? From who to who? (Or what to what?)

Shamelessness was previously only found in rulers and jesters? There weren't ordinary people who were assholes, and shameless about it?

This sounds naive to the point of dystopian. What about tragedy-of-the-commons collective action problems, like pollution, natural resources (overfishing, overlogging), climate change, herd immunity?

Canada and Nordic countries rank highly in every major freedom index, yet these countries are all known for relatively high tax obligations and comprehensive environmental and climate regulation. No one serious believes all externally-imposed commitments are avoidable or oppressive.

Whoops, missed the comment window on all the replies to me except for this one!

I clearly completely failed to communicate what I meant about "diagramming" a programming language, as evidenced by all the people pointing out that syntax tree diagrams work fine on natural languages, and indeed were originally created for natural languages, which is totally missing the point.

What I meant was that the semantics of programming languages are so limited and constrained that they could easily be translated into an "executable diagram", such as a control-flow graph for imperative code, or a dataflow graph for functional code. The syntax of natural languages is indeed more-or-less similarly constrained as programming languages, but the semantics of natural languages seems completely nebulous and ill-defined to me.

To use the board game analogy from earlier, you could conceivably learn to play chess entirely in terms of chess notation ("1. e4 e5 2. Nf3 Nc6 3. Bb5 a6"), without ever learning about the 8x8 chessboard or the 16 pieces. Chess notation shares no syntactic structure whatsoever with the "syntax"/diagram drawing rules of a chessboard and pieces, yet their semantics are exactly equivalent.

In the same way, the "syntax"/diagram drawing rules of control-flow graphs has no syntactic structure in common with imperative code, yet exactly equivalent semantics. Could you imagine a diagram system that has no syntactic structure in common with natural language, yet completely captures the semantics?

I cannot begin to imagine that. The semantics of natural language defy description.

That is such an interesting and...low-level way to think of it.

To me it feels a little deeper than just there being a "maze of rules". Your earlier mention of "everything's connected to everything else" resonated with me more.

In a sense, the expressive power of programming languages, and mathematical notation, feels very small. I liked the board game metaphor brought up in the top comment: programming languages and mathematical notation merely feel like arrangements of board game pieces (from an infinite box, and the rules of how they can be arranged are "context-free"). They don't have meaning except what we impose (ideally, assisted by comments).

A metaphor I brought up in another comment is that it feels "easy" to systematically translate an arbitrary program into an equivalent diagram, such that the diagram would contain 100% of the operational information in the program, and could be runnable as-is. (Would be cumbersome to input into the computer, ofc.) Whereas the idea of systematically translating an arbitrary natural sentence into a diagram just seems...nonsensical to me. I wouldn't even know where to begin.

Does that resonate with you?

Wow, that's crazy.

Others here, and presumably your friends, have talked about how they think of programming "visually", but they don't think visually about conversing in natural language.

I thought of a concrete way to describe it: it "feels obvious" to me that any programming language could be "easily" replaced by a systematic diagramming method, with programs translated systematically into equivalent diagrams. If anything, a diagram would be clearer and more readable to me than the same program in plaintext. (Of course, it would be much more cumbersome to input such a diagram into a computer than plaintext.)

Whereas the idea of systematically translating arbitrary natural language sentences into diagrams is...nonsensical to me. I mean I wouldn't even know where to begin.

I'm curious if for you, do you feel like you could easily systematically translate a natural language sentence into a diagram? Or, because you don't think as visually as people like me, translating a program into a diagram is not "obvious" to you at all? Or maybe this distinction just doesn't feel significant to you, one language being diagram-translatable and another being diagram-untranslatable doesn't cause them to feel different, they feel equally language-y to you?

Well, the README's footer has prominently displayed OpenCollective badges and avatars and a request for donations for >4 years: https://github.com/Marak/faker.js/commit/58aa94a99d6161418c4...

There is room for debate about how clear or strong the expectation of compensation was, but at least we can agree it wasn't 100% on the far extreme of "here, have this for free, I'm not expecting anything at all in return", and then going back on their word afterwards.

can donations be tax deducted ... labor laws ...

Interesting points. I think one of the ideas of the Open Source Collective as a 501(c)(6) non-profit is to provide more of that kind of legal certainty (donations aren't deductible as a charitable contribution, but may be deductible as a business expense). I wonder if it works?

Yeah, it's possible social pressure has the potential to be effective, although I think it would have to be well-organized, with someone like OpenCollective (or maybe it would be better if it was an independent organization?) that monitors and publicizes which companies are "leeches" making a lot of money off of open source, and which are "good citizens", or something.

Thank you for your thoughtful response.

"The accused" is interesting framing. I would hope that no one expects the innocent but accused to apologize for something they didn't do.

For the accused who are guilty, if we agree that denial is worse for society but currently better for the guilty, what can we do to change that, so that it is better for them to acknowledge fault and worse to remain in denial?

To clarify, the important thing about "reconciliation" is not about reconciling with war criminals, but about reconciling with supporters of war criminals, which are usually a pretty significant portion (sometimes the overwhelming majority) of the civilian population of the region or community that the war criminal is from.

Often, those supporters have been on the receiving end of pretty serious hardships themselves. That doesn't justify supporting war crimes, of course, but if you don't acknowledge those hardships, you create resentment and the seeds of future strife, rather than healing.

I think you should also examine the possibility that gp is straightforwardly wrong, and that a good apology can make things better, even (or especially) in the face of being called out on Twitter. Consider how Dan Harmon reacted to Megan Ganz calling him out on Twitter: https://www.vox.com/culture/2018/1/11/16879702/dan-harmon-ap...

Doubtless many people have made things worse with "non-apology apologies" [1]. But your brain wants to say "apologizing is right" because when done right, it is right.

To me, truth and reconciliation are self-evidently how we build a better world, and refusal to take responsibility for mistakes is self-evidently corrosive to the individual and to society.

[1] https://en.wikipedia.org/wiki/Non-apology_apology

The number of people in this thread arguing that apologies can only make things worse is shocking. Are these the same people who reject addressing war crimes with truth and reconciliation, and instead advocate "deny everything, make counteraccusations"?

A proper apology—one that (1) acknowledges the specific harm caused, (2) acknowledges responsibility and remorse for specific choices, (3) explains how they hope to make amends specifically to the aggrieved party—seems to me to be self-evidently the only possible way to heal a community.

Doubtless many people have delivered "apologies" that omitted one of those elements, or even all 3 elements ("I apologize if anyone felt offended"), and thereby made things worse for themselves. But to me it is self-evidently corrosive to a community and to a person's ego to adopt a practice of refusing to acknowledge mistakes.

For an example of the good that can come from a proper apology for a serious harm, consider Dan Harmon's apology to Megan Ganz: https://www.vox.com/culture/2018/1/11/16879702/dan-harmon-ap...