Hacker Newsnew | past | comments | ask | show | jobs | submit | groundzeros2015's commentslogin

Is sql over ssh a thing?

A public park suffers from tragedy of the commons even though it’s managed by the city.

Markets are largely defined by legal system, not that the culture of individuals within the jurisdiction are homogenous, but the way business is done.

It’s strange that the article says the white collar worker in nyc and small business owner in suburban Texas are not the same market. To many businesses they are in the same market. McDonald’s Home Depot etc they don’t make different products for those two individuals

Author here. I think this thread is mixing two very different kinds of markets, so let me clarify the scope of the argument.

I agree with the point that markets are often defined by legal and operational systems — how contracts work, how labor is regulated, how payments and compliance function. That’s exactly why country or jurisdiction boundaries sometimes matter a lot.

Where I think we’re talking past each other is the Home Depot / McDonald’s examples.

Those are low-involvement, highly standardized, commodity-style businesses. Their products, pricing logic, and purchasing situations are intentionally broad. In that world, a white-collar worker in NYC and a small business owner in suburban Texas can absolutely be treated as “the same market” for many decisions, because the offer is designed to ignore sharp differences.

The article isn’t arguing against that. It’s explicitly about sharper products — especially startups, B2B tools, workflow software, education, compliance-heavy or behavior-changing products — where the purchasing situation narrows quickly.

In those cases, what matters isn’t whether two people can physically buy the same thing, but whether the same offer survives the same constraints and produces the same outcome. Authority to buy, risk tolerance, institutional expectations, and default alternatives diverge much faster there, even within the same legal system.

So yes, commodity retail is a valid counterexample — but it’s also a special case. The failure pattern the article is pointing at shows up when teams implicitly assume their product behaves like a Big Mac or a box of nails, when in reality it behaves more like a change in how work, learning, or decision-making happens.

That mismatch is where “same country = same market” becomes dangerous


home depot doesn't have lucatations in Mahattan - I don't even need to check that made up fact to believe it. The market in manhattan cannot support home depot as it opperates in the Texas suburb. Even if they do happen to have a store there it would have to be different.

Maybe check the fact because I've gone to Home Depot in Manhattan before myself

The 10x argument for lisp was more compelling when everyone was using C and Fortran instead of JS and python. The contrasts here do seem pretty small.

The real productivity benefit for me is that the ecosystem is so stable and well documented. You can learn it all and keep it in your head.


Guile is an embedded scripting and configuration language. Its competition is Lua. Which is unfortunate for Guile, because it's even less attractive there.

What are the pros and cons of Guile wrt Lua?

The only pro I can think of is you get a standard scheme set of batteries, which isn't even really a pro in this space. The biggest con is implementation size and complexity. IIRC the JITter alone is twice the size of LuaJIT's entire codebase, and not for being vastly better.

License problems too, if you're not making copyleft software. Guile is GPL, both Luas are MIT.


For all the praise he gets here, few seem interested in his methods: writing complete programs, based on robust computer science, with minimal dependencies and tooling.

When I first read the source for his original QuickJS implementation I was amazed to discover he created the entirety of JavaScript in a single xxx thousand line C file (more or less).

That was a sort of defining moment in my personal coding; a lot of my websites and apps are now single file source wherever possible/practical.


SQLite 3.51.1

  $ wc -l ...
  265908 sqlite-amalgamation-3510100/sqlite3.c
Is there any as large as possible single source (or normal with amalgamation version) more or less meaningful project that could be compiled directly with rustc -o executable src.rs? Just to compare build time / memory consumption.

The sqlite3.c file is generated from more finely-grained real sources, see https://www.sqlite.org/src/doc/trunk/README.md

SQLite is only deployed as a single file but the original sources are multiple files. They call it "The Amalgamation".

https://sqlite.org/src/doc/trunk/README.md


Yes, that's why I've asked about possible rust support of creating such version of normal project. The main issue, I'm unaware of comparably large rust projects without 3rdparty dependencies.

From my daily-use utilities, ripgrep and bat seem to have zero dependencies.

I believe ripgrep has only or mostly dependencies that the main author also controls. It's structured so that ripgrep depends on regex crates by the same author, for example.

Looking at Cargo.toml, ripgrep seems to have some dependencies and bat has a lot.

I honestly think the single file thing is best reserved for C, given how bad the language support for modularity is.

I've had the inverse experience dealing with a many thousand line "core.php" file way back in the day helping debug an expressionengine site (back in the php 5.2ish days) and it was awful.

Unless you have an editor which can create short links in a hierarchical tree from semantic comments to let you organize your thoughts, digging through thousands of lines of code all in the same scope can be exceptionally painful.


C has no problems splitting programs in N files, to be honest.

The reason FB (and myself, for what it is worth) often write single file large programs (Redis was split after N years of being a single file) is because with enough programming experience you know one very simple thing: complexity is not about how many files you have, but about the internal structure and conceptually separated modules boundaries.

At some point you mainly split for compilation time and to better orient yourself into the file, instead of having to seek a very large mega-file. Pointing the finger to some program that is well written because it's a single file, strlongly correlates to being not a very expert programmer.


The file granularity you chose was at the perfect level for somebody to approach the source code and understand how Redis worked. It was my favorite codebases to peruse and hack. It’s been a decade and my memory palace there is still strong.

It reminded me how important organization is to a project and certainly influenced me, especially applied in areas like Golang package design. Deeply appreciate it all, thank you.


I split to enforce encapsulation by defining interfaces in headers based on incomplete structure types. So it helps me with he conceptually separated module boundaries. Super fast compilation is another benefit.

Reminds of one time when I was pair programming and the other chair said “let’s chop this up, it’s too long” and when I queried the motivation (because I didn’t think it was too long), it was something like, “I’m very visual, seeing the file tree helps me reason about internals”. Fair enough, I thought at the time, whatever makes us more productive together.

On reflection, however, I’m unsure how that goes when working on higher-order abstractions or cross-cutting concerns that haven’t been refactored, and it’s too late to ask.


> complexity is not about how many files you have, but about the internal structure and conceptually separated modules boundaries.

You probably don't need this, but ...

https://www.lelanthran.com/chap13/content.html


C's support for modularity is actually rather strong. This PDF gives a good overview of the basic techniques available: http://www.metamodulaire.org/Computing/modular-c.pdf

It may not be immediately obvious how to approach modularity since it isn't directly accomplished by explicit language features. But, once you know what you're doing, it's possible to write very large programs with good encapsulation, that span many files, and which nevertheless compile quite rapidly (more or less instantaneously for an incremental build).

I'm not saying other languages don't have better modularity, but to say that C's is bad misses the mark.


Unironically JavaScript is quite good for single file projects (albeit a package.json usually needed)

You can do a huge website entirely in a single file with NodeJS; you can stick re-usable templates in vars and absue multi-line strings (template literals) for all your various content and markup. If you get crafty you can embed clientside code in your 'server.js' too or take it to the next level and use C++ multi-line string literals to wrap all your JS ie- client.js, server.js and package.json in a single .cpp file


> I honestly think the single file thing is best reserved for C, given how bad the language support for modularity is.

You don't program much in C, do you?


This is like Feynman's method for solving hard scientific problems: write down the question, think very hard, write down the answer.

It doesn't necessarily translate to people who are less brilliant.


Yeah, "Step 1: draw 2 circles. Step 2: draw the rest of the fucking owl"

I agree: he loves to "roll your own" a lot. Re: minimal dependencies - the codebase has a software FP implementation including printing and parsing, and some home-rolled math routines for trigonometric and other transcendental functions.

Honestly, it's a reminder that, for the time it takes, it's incredibly fun to build from scratch and understand through-and-through your own system.

Although you have to take detours from, say, writing a bytecode VM, to writing FP printing and parsing routines...


Because he choose the hardest path. Difficult problems, no shortcuts, ambitious, taking time to complete. Our environment in general is the opposite of that.

We spend a lot of time doing busy work that's part of the process but doesn't actually move the needle. We write a lot of code that manages abstractions, but doesn't do a lot. All of this busy work feels like progress, but it's avoiding the hard work of actually writing working code.

We underestimate how inefficient working in teams is compared with individuals. We don't value skill and experience and how someone who understands a problem well can be orders of magnitude more productive.


> few seem interested in his methods:

You are absolutely wrong here. Most of us wish that somebody would get him to sit for an in-depth interview and/or get him to write a book on his thinking, problem-solving approach, advice etc. i.e. "we want to pick his brain".

But he is not interested and seems to live on a different plane :-(


He's one of my programming heroes but that's based purely on the sheer volume of high quality output he has.

Can you elaborate a little about the methods you mention and how you analysed them?


Sure. You’ll notice no libraries, no CI, no issue tracker, written in C, no landing page, no dashboard.

So much of the discussion here is about professional practice around software. You can become an expert in this stuff without actually ever learning to write code. We need to remember that most of these tools are a cost that only benefits for managing collaboration between teams. The smaller the team the less stuff you need.

I also have insights from reading his C style but they may be of less interest.

I think it’s also impressive that he identifies a big and interesting problem to go after that’s usually impactful.


Thanks for this. I'd appreciate your insights about his C style as well. I'm a lapsed C programmer myself.

Zero incentive seems a little strong,

He already has a JS engine which doesn’t make these restrictions

Yeah QuickJS is great.

I bet MQJS will also be very popular. Quite impressive that bro is going to have two JS engines to brag about in addition to a lot of other very useful things!


> Quite impressive...

Yes, quite! Monsieur Bellard is a legend of computer programming. It would be hard to think of another programmer whose body of public work is more impressive than FB.

Unfortunate that he doesn't seem to write publicly about how he thinks about software. I've never seen him as a guest on any podcast either.

I have long wondered who the "Charlie Gordon" who seems to collaborate with him on everything is. Googling the name brings up a young ballet dancer from England, but I doubt that's the person in question.


> It would be hard to think of another programmer whose body of public work is more impressive than FB.

I am of the firm belief that "Monsieur Fabrice Bellard" is not one person but a group of programmers writing under this nom de plume like "Nicolas Bourbaki" was in Mathematics ;-)

I don't know of any other programmer who has similar breadth and depth in so many varied domains. Just look at his website - https://bellard.org/ and https://en.wikipedia.org/wiki/Fabrice_Bellard No self-aggrandizing stuff etc. but only tech. He is an ideal for all of us to strive for.

Watson's comment on how Sherlock Holmes made him feel can be rephrased in this context as;

"I trust that I am not more dense than my neighbours [i.e. fellow programmers], but I was [and am] always oppressed with a sense of my own stupidity in my dealings with [the works of Fabrice Bellard]."

PS: Fabrice Bellard: Portrait of a Super-Productive Programmer - https://web.archive.org/web/20210128085300/https://smartbear...

PPS: Fabrice Bellard: A Computer Science Pioneer - https://www.scribd.com/document/511765517/Fabrice-Bellard-In... (pretty good long article)


The last link has more info than I've seen elsewhere. Here's an altenative link with PDF download. https://www.ipaidia.gr/wp-content/uploads/2020/12/117-2020-f...

Thanks. Post it to HN since i don't think most folks know of this. It would be a shame to have it be buried in the comments.

There are a few others that are at least somewhat comparable. Justine Tunney comes to mind (especially the Cosmopolitan family of projects).

> It would be hard to think of another programmer whose body of public work is more impressive than FB.

Not many, but these do come to mind: Linus Torvalds, Ken Thompson, Dennis Ritchie, Donald Knuth, Rob Pike. But yeah, it’s rarefied air up there.


These are greats in their own domains. But Fabrice Bellard's greatness lies in breadth and depth in varied domains. That is what makes him unique.

See also - https://news.ycombinator.com/item?id=46372370


It would be odd, but that name does ring a bell, Charlie Gordon is the central character in the ever poignant, Flowers for Algernon.

Maybe Bellard identifies with the genius, but fears the loss of it.


He totally deserves this ACM award which still waits to be awarded.

In the QuickJS github repo there are commits from Charlie Gordon's github profile, https://github.com/chqrlie

Waymo could be piloting cars remotely with an operator per-vehicle for all we know.

??? The power outage was voluntary and surrounding towns chose not to turn off power. They could absolutely make infrastructure changes, and I’m sure the backups for power could make changes too.

What about profit in Italy?

Relative amounts don’t make it right or wrong.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: