HNHacker News
TopNewBestAskShowJobs

amgreg

344 karma · joined October 17, 2013

submissionscomments
amgreg··on Storm clouds gather over America's financial supremacy
Does someone know how cross-border payments work, and why it would be complicated for countries to link up their sovereign systems? The article gives the example of Brazil and India, suggests there might be a “liquidity” bottleneck, but omits the details.
amgreg··on How to get your company AI pilled
Is this real?
amgreg··on XML is a cheap DSL
Please please do this
amgreg··on Apple and Amazon will miss AI like Intel missed mobile
The author makes no effort to explain why AI :isn’t: a commodity as Apple and Amazon says. I was looking forward to that. I think the article is weak for not defending its premise. Everything else is fluff.
amgreg··on ClojureScript 1.12.42
Yeah nowadays I think non-ClojureScript people use it mostly for legacy reasons or the aggressive minification. Back in the day, aside from the pre-ES5 conveniences I mentioned surrounding inheritance and module bundling, it was also a way for developers to do some basic type enforcement (via JSDoc annotations that the Compiler would check). TypeScript essentially rendered that obsolete.

See: https://effectivetypescript.com/2023/09/27/closure-compiler/

amgreg··on ClojureScript 1.12.42
Yes and yes; in the past, prior to ECMAScript providing first-class inheritance, module ex/imports etc, the Library supplied methods to achieve these in development, and the Compiler would identify these cases and perform the appropriate prototype chaining, bundling, etc. See, eg, goog.provide

For the most part, I would guess people still use the Closure Compiler because of its aggressive minification or for legacy reasons. I think both are probably true for ClojureScript, as well as the fact that the Compiler is Java-based so it has a Java API that (I am guessing here) made it easier to bootstrap on top of the JVM Clojure tooling / prior art.

amgreg··on ClojureScript 1.12.42
I think you are conflating the Closure Library with the Closure Compiler. They are related but not identical. The Compiler, I think, is what makes it difficult to use externs; its “advanced optimizations” can and often does break libraries that weren’t written with the Compiler’s quirks in mind. But advanced optimizations is an option; if you don’t need aggressive minification, function body inlining, etc. you can opt out.

Shadow CLJS has made working with external libraries quite easy and IIRC it lets you set the compilation options for your libraries declaratively.

amgreg··on Microsoft Fails to Support MS SQL Server for Django
Why would one choose MS SQL nowadays? I am curious, why did the author choose it?
amgreg··on Ask HN: Where are the good Markdown to PDF tools (that meet these requirements)?
If you’re on a Mac or iOS you could try creating a Shortcut where you input Markdown, convert to rich text, then output as a PDF. I use Shortcuts regularly. It’s pretty easy to set up. I haven’t tried it on something as larger as 500 pages, though. YMMV
amgreg··on Ask HN: Confused about how DeepSeek hurts Nvidia
> NVIDIA is the only viable seller of shovels for this gold rush for everyone but Google and Anthropic.

Why do you except Google and Anthropic?

amgreg··on Why Twitter is such a big deal (2009)
I think the OP is posting this in the context of the other front-page discussion of the Bluesky protocol. I think in this context it is interesting.

https://news.ycombinator.com/item?id=42752703

amgreg··on Could you pass this 8th grade test from 1912?
“Decline I” is an instruction for the student to provide the first person pronoun in all cases: I (nominative), me (accusative/dative/ablative), my (genitive), mine (genitive substantive). (I have borrowed the case names from Latin, with which I am more familiar. I think the English cases are nominative, objective, possessive.)

I believe the misspellings in the spelling section are intentional so that the student will identify them—I am guessing that’s the point.

amgreg··on Supreme Court overturns 40-year-old "Chevron deference" doctrine
This case is about whose interpretation gets to fill in the gaps.

The statute (APA) requires courts to form an independent judgment about the gaps.

The Chevron doctrine required courts in certain cases to set this judgment aside in favor of an agency’s judgment—-basically on the basis that the agencies are closer to the problems and know better.

This setting aside may be the better outcome, however it is not explicitly specified in the statute (APA).

Ultimately, if Congress wants this to be the case, they /can/ amend the statute (APA), effectively enshrining the Chevron doctrine.

At the end of the day, the court’s decision here rests on statutory interpretation (not constitutional doctrine) so Congress could change the outcome by amending the statute (APA) to explicitly codify Chevron. This would be achieved with its ordinary legislative power (Article 1 Section 7 of the Constitution).

The court’s decision does effectively put the ball back in Congress’ court.

amgreg··on Jepsen: Datomic Pro 1.0.7075
It struck me that Jepsen has identified clear situations leading to invariant violations but Datomic’s approach seems to have been purely to clarify their documentation. Does this essentially mean the Datomic team accepts that the violations will happen, but don’t care?

From the article:

> From Datomic’s point of view, the grant workload’s invariant violation is a matter of user error. Transaction functions do not execute atomically in sequence. Checking that a precondition holds in a transaction function is unsafe when some other operation in the transaction could invalidate that precondition!

amgreg··on Clojure: Managing throughput with virtual threads
Thank you for this, but thank you especially for virtual threads! They are awesome!

Is point 2 a virtual-thread only risk, or would we incur it with regular threads too?

amgreg··on Clojure: Managing throughput with virtual threads
> things get complicated with virtual threads, they shouldn't be pooled, as they aren't a scarce resource

Why not pool virtual threads, though? I get that they’re not scarce, but if you’re looking to limit throughput anyway wouldn’t that be easier to achieve using a thread pool than semaphores?

amgreg··on My favourite data structure: The trie
Clojure’s immutable data structures are implemented as hash-array mapped tries, inspired by Phil Bagwell’s paper [1]. Other languages followed suit.

[1] https://os.unil.cloud.switch.ch/tind-customer-epfl/30e62590-...

amgreg··on The hunt for life in Alpha Centauri
Spoiler alert. In /The Three-Body Problem/, by Cixin Liu, a planet in the Alpha Centauri system is inhabited by an advanced alien civilization that evolved to survive the hardships related to the unpredictable effects of the three stars on the planet. Though able to survive, it comes at a great cost to their civilization (requiring them to “dehydrate” and hibernate for, sometimes, hundreds if not thousands of years) and eventually they hatch a plan to move to another habitable planet. Fortuitously they receive a message from Earth, from an astrophysicist who detests humanity and invites aliens to invade.

I found the rest of the book (and the two volumes that follow it in the series) to be very entertaining!

amgreg··on Payments giant Stripe raises $6.5B at a $50B valuation
A good way to de-risk yourself, so I’d probably take it. But in a private tender offer like this (as opposed to an IPO) the employees will likely pay ordinary income tax, regardless of how long they’ve held the shares, as it is difficult to argue the transaction is not compensatory.
amgreg··on Colleges Have Been a Small-Town Lifeline. What Happens as They Shrink?
This is true. I think college towns are a boon, too, for remote workers who are looking for a lower cost of living than in large urban centers, without detriment to some of the nice amenities of city life.

Personally I love college towns and wish there were an effort for them to continue to thrive despite the (probable?) demise of small colleges.

amgreg··on The road to Dart 3: A fully sound, null safe language
I wouldn’t dismiss Flutter out of hand. It’s more popular even than React Native!

https://stackoverflow.blog/2022/02/21/why-flutter-is-the-mos...

amgreg··on Show HN: Programming Google Flutter with Clojure
In folks' opinion, what are the best resources to learn Flutter beyond the official docs? The official docs are pretty solid but I am looking for something else — maybe a book?
amgreg··on Introducing Svelte, and Comparing Svelte with React and Vue (2021)
We use Knockout JS extensively in an old codebase and its two way data bindings and computed values depending on those bindings are a mine field. The uni direcional data flow of React in my opinion has been a breakthrough. How have folks found using two way bindings in Svelte (and other frameworks?)
amgreg··on Proofs, Computability, Undecidability, Complexity, and the Lambda Calculus [pdf]
"Avoid unrelated controversies and generic tangents."

https://news.ycombinator.com/newsguidelines.html

amgreg··on Proofs, Computability, Undecidability, Complexity, and the Lambda Calculus [pdf]
"Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith. "

https://news.ycombinator.com/newsguidelines.html

(1) does not assume good faith. (2) is not the strongest possible interpretation of what Hewitt said. Listing them here is flamebait and reflects poorly on the community. Shame.

Edit: Added guidelines link.

amgreg··on Proofs, Computability, Undecidability, Complexity, and the Lambda Calculus [pdf]
I am disappointed at several comments on this thread. Professor Hewitt, I personally think you've enriched the community by putting these claims here. They've led me to read more about several things, which I will list here for anyone else who might be looking for related topics: The difference between indeterminism and nondeterminism, bounded and unbounded nondeterminism, the actor model of computation, local arbitration versus global consensus, and state machines versus configuration-based computation.

You've responded to the ad hominem attacks with class. I hope you do not take them as a reflection of the HN community at large; please keep coming back and posting (provocatively) as you have done, because it induces learning.

amgreg··on Run More Stuff in Docker
I use the Remote Development extension for Visual Studio Code, which, among other things, allows you to attach an editor window to a running container.

https://code.visualstudio.com/docs/remote/containers

amgreg··on The Future of Clojure
Brex?
amgreg··on We cancelled standups and let the team build
https://uploads-ssl.webflow.com/5ed57622ee14fb96d022d544/5f6...

Is this list representative of the entire scope of the sprint? Unclear from the article. If so, while the sprint was arguably successful in that the engineers felt good about it, it didn't really succeed in improving the customer experience directly.

amgreg··on How the oil industry made us doubt climate change
How does one find dupes? I searched by URL before posting but nothing came up.
Page 1 of 2Next →