HNHacker News
TopNewBestAskShowJobs

cscheid

1,837 karma · joined October 13, 2010

building http://quarto.org at Posit (fka RStudio).

https://cscheid.net https://github.com/cscheid https://bsky.net/profile/cscheid.net

submissionscomments
cscheid··on Is the emergence of life an expected phase transition in the evolving universe?
Time to break out John Baez's checklist: https://archive.org/details/TheCrackpotIndex
cscheid··on Niklaus Wirth has died
> not _better enough_

Wirth was such a legend on this particular aspect. His stance on compiler optimizations is another example: only add optimization passes if they improve the compiler's self-compilation time.

Oberon also, (and also deliberately) only supported cooperative multitasking.

cscheid··on Google podcasts is shutting down
Another happy, years-long FastMail customer here.
cscheid··on Star neuroscientist may have manipulated data to support a major stroke trial
Although the above comment might sound negative and harsh, it is a perfect distillation of modern research-oriented academic environments. (I was a moderately-successful professor in these environments. I woke up one day and simply couldn't do it anymore.)
cscheid··on Is Mathematics Invented or Discovered? (2020) [video]
I 100% agree with everything you said, I just wanted to make this point even more forcefully:

> Saying nature is mathematical is just saying that nature is consistent in the laws it follows.

It's more like "wherever nature isn't mathematical, we don't think about it as being mathematical", so saying "nature is mathematical" is very strongly tautological.

It's the same kind of situation as "why is everything linear?", or "why is everything an oscillator". The answer is more like "the things that aren't can't be easily described mathematically, and so we don't. What shakes out is mostly linear or quadratic (oscillators)".

cscheid··on We're sorry we created the Torment Nexus
Macleod’s Star Fraction is still unsurpassed for me in political scifi. It’s the kind of novel that can only be written by someone born in Europe, with the lived experience of wars being reflections of reflections of reflections of old conflicts, warped and folded and turned inside out. It’s a wild read.
cscheid··on Nota is a language for writing documents, like academic papers and blog posts
(disclosure: I'm a quarto dev. But I'm also a big fan of typst)

You're right that typst is _very good_ at extensions, and likely will always be superior to quarto when it comes to that. The fundamental advantage typst has is that it's a "greenfield" project, and a very well-designed one at that, especially when compared to TeX.

> Looks like there are extensions that can be programmed, but they are more like second class citizens that you are not suppose to use normally.

We take quarto extensibility pretty seriously! "Simple" customization is available without need to program extensions, mostly through metadata configuration and classes and attributes in the document. This covers the basics like CSS, layout, document listings, etc.

For slightly more sophisticated extensions, you can create "filters" that operate directly on the document AST, either using the built-in Lua extension API or reading/writing a JSON representation (these are both built on top of Pandoc's capabilities, which quarto leverages extensively).

For reusable, packageable functionality, the extension system as it exists today is simple but certainly meant to be used "normally". It's how custom formats (the common, concrete use case is to provide different styles for particular academic journals) are defined and used.

cscheid··on Chapel 1.32
Roughly, the sets of computational problems that people used (use?) MPI for. Things like numerical solvers for sparse matrices that are so big that you need to split them across your entire cluster. These still require a lot of node-to-node communication, and on top of it, the pattern is dependent on each problem (so easy solutions like map-reduce are effectively out). See eg https://www.open-mpi.org/, and https://courses.csail.mit.edu/18.337/2005/book/Lecture_08-Do... for the prototypical use case.
cscheid··on Apocalypse Proof: 33 Thomas Street in New York City
> These days with single fibers replacing thousands of cable pairs I'm sure they're a lot more roomy than they were back then.

That's how I ended up working there. 33T used to be packed full of gear but everything shrank so much that AT&T found themselves with dozens of empty floors. They didn't renew a lease on a big NJ lab I worked on, and a number of us ended up being able to choose commuting to NYC.

cscheid··on Apocalypse Proof: 33 Thomas Street in New York City
(Not parent, but also worked there for about 2 years) The no-window thing is real and freaks people out, but each floor is very tall and the interior was open enough that it didn't feel claustrophobic. You're also in a zipcode that is in contention for "best in the world for whatever-you-might-want-to-do". If you ever got claustrophobic, a walk around tribeca usually would cure you of that real quick-like.
cscheid··on Apocalypse Proof: 33 Thomas Street in New York City
Hey, same! (From ~2012 to 2014), but yeah.
cscheid··on Mathematical proof is a social compact
> Such a meta-proof must be done on pen and paper, before any code is written at all.

Not so fast; it could be done on a _different automated system_ (say, a smaller one) than the one you're building, in which case you're now relying on that system's correctness. Or it could even not be proven at all. This is not too different from what mathematicians do when they (often) say "assuming P != NP", or "assuming GRH", or "assuming FLT", etc etc. It's simply that it's worth being careful and precise.

cscheid··on Mathematical proof is a social compact
I'm with you almost everywhere, but it's worth pondering this:

> If a program is accepted by the proof checker, then by construction it must be a valid mathematical proof.

I'd phrase it as "If a program is accepted by a _correct_ proof checker, then ...". That makes it clear that we can't escape having to consider how and why the proof checker is considered correct.

Edit: this is not entirely academic. from what I understand, the unsoundness of Hindley-Milner in the presence of polymorphic references was not immediately known (https://en.wikipedia.org/wiki/Value_restriction#A_Counter_Ex...).

cscheid··on Photogrammetry on commercial flights (2021)
Indeed you can! http://cscheid.net/static/clouds/
cscheid··on Photogrammetry on commercial flights (2021)
I didn’t use sift, but instead a very dumb old trick of slit screen photo: http://cscheid.net/static/windowseat/

This is 5h of a single video from EWR to SFO by a former colleague. Turns out even a dumb trick like this still is enough to pick out a bunch of geographical features!

cscheid··on SEC charges Impact Theory for unregistered offering of NFTs
> At what point does a thing you buy or sell become a security? Are baseball cards a security?

I don’t know about baseball cards, but the way Wizards of the Coast handles their policy around rare Magic: the Gathering cards makes me think their lawyers are definitely concerned about this kind of stuff.

cscheid··on Show HN: Just intonation keyboard – play music without knowing music
This is exceedingly cool, thank you for putting it out there.

A small suggestion: when you press the purple buttons, it would be neat to see the green numbers change by the multiplier (or have an option to do so). This would let you easily see parts of the keyboard transpose correctly vs not, and what new pitches you get access to. Even sweeter would be a quick animation to show "where the numbers went".

I would also like to be able to have the purple buttons be active only when pressing the keys, so that I could quickly modulate up a just fourth and back. Having to remember where I am in the modulation state is a bit much, and very different from typical musical instruments.

But I've been playing with this for a good while, trying to recreate basic stuff like V7 -> I etc and it's very cool, thanks again.

cscheid··on Fabricated data in research about honesty
> Active deception should come with a high cost

Yes, I wish so too. For what's worth, I'd buy "either of Dan Ariely and Francesca Gino write a NYT bestseller book in 5 years, go on a redemption tour, and nothing new happens" for $0.80 on a prediction market.

cscheid··on Fabricated data in research about honesty
I’m a former academic who did a bit of work that involved statistical analysis of data in a similar way as these studies.

Fuck. These. People.

We put so much work making sure the analysis is right. Sweat the design, sweat the data collection, the consent forms, and dropped the studies where the result wasn’t there, as well as reporting null results. I specifically remember having to have a terrible conversation with a phd student that, after doing a power analysis, setting up a pilot study, and collecting enough data, we got p=0.054 on the relevant test. “Sorry, we can’t add additional participants; we can’t try a new analysis. We did the right thing and we should report a non significant result. It sucks.”

And these fuckers just go ahead and forge data to land TED talks?

Yes, let’s also have a conversation about incentives and the system. But individually, I reserve my sympathy for better people. Salt the earth they walk on, and rake them over coils. This is beyond reprehensible. Fuck. Them.

cscheid··on A world where people pay for software
> The choice

What choice? I have to fix bugs today as they come.

cscheid··on A world where people pay for software
And yet that's what every good engineer did when Spectre came out. Same with the Pentium fdiv bugs, and same with a host of microcode bugs that come up all the time.

Not my business to decide what you think is reasonable. That's just what happens in the world, and what (in my view) good engineers sign up for.

cscheid··on A world where people pay for software
> It surely has a marginal cost. But is that cost significant, is the question. In particular, significant enough to warrant a recurring payment business model.

I think you're assuming more of my answer than what I gave. That's fair given that this is the point of the article, but it's not mine. I'm very specifically only responding to "is there a per-user marginal cost on software?", and my answer is most definitely yes.

To warrant a recurring payment business model, I think the right question to ask is "Is there a per user-year marginal cost on software?", and now the answer is in my view, much more complicated and domain-specific. Worse yet, I think that there's perverse incentives at play here in recurring payments.

cscheid··on A world where people pay for software
> Spectre is a bug in the processor, not in the software.

It's a bug in the processor that causes a bug in the software. It's not a bug in your idealized mathematical model, but try telling that to the people who paid you not to leak private keys.

I see my job as an engineer to be to create a product that satisfies the user's expectations (which in this case are eminently reasonable). It matters not one bit that I can point the finger to the chipmakers. I'm still selling something that I now learned doesn't do what I said it would. It's still on me to fix it the best I can. If I care about the product quality, that is.

cscheid··on A world where people pay for software
> how different is the impact on the manufacturer when the software is used by 1k users, 1M users, and 1B users?

_very different_, when the user's environment is different. And 1) you haven't seen shit if you think you can perfectly control the user's environment. 2) every new user is a chance for the environment to bite you.

> Do they make the product unprofitable or unsuccessful in anyway?

You do your engineer best to try and fight that. But there's absolutely a marginal cost, which is what I was responding to.

cscheid··on A world where people pay for software
> And for good enough software you should consider that maximum already for any number of users.

I don't believe such software exists. (And, to be clear, I'm writing from direct, day-job experience.)

EDIT: I take it back. SQLite, cURL. Maybe.

EDIT2: I can't reply to the SEL4 response, so here goes. I'm a huge fan of verification tools, but consider the Spectre class of bugs. Verification is always done wrt a mathematical model that you've defined after inspecting the world and writing down the properties you want to track. But the world changes, and the chance that the world changes increases with the number of users of your software. That's the nature of the beast.

cscheid··on A world where people pay for software
> Software has no marginal cost.

Maybe you've never experienced the difference between writing software for 1000 people and writing software for 1M people, or (I imagine) 1B. The marginal per-person cost of software is not on shipping. It's on "what kind of weird shit will I now have to do because 1M is a lot of chances for my software to break weirdly, and people have paid for it"

> You don't have to worry about quality control and returns.

You don't have to worry about quality control and returns if you don't care about quality control or returns.

cscheid··on On why Markdown is not a good, or even a half-decent, markup language
On LaTeX:

> Little context sensitivity

... this is close to a disqualifyingly wrong statement.

(I literally work with Markdown on a daily basis as my actual day job. Markdown really does suck.)

The only way in which (La)TeX is not context sensitive is that it's sensitive to the entire global TeX state at all times. There's no notion of grammar in TeX, _at all_. It's hard to trust the rest of the content in there after this.

cscheid··on You can deactivate anyone's WhatsApp account by simply sending an email
I don’t quite know why, but my combination of first and last name on gmail is such that I get email directed at other people with the same name as me, including financial documents. Wild stuff. I would reply with “um you probably should check before sending” but after a while I just started ignoring it.
cscheid··on Figma Is a File Editor
Take a look at https://automerge.org/ and the stack those folks are building. You're exactly right that it's a difficult balance (specifically the trick is proving commutativity for the domain-specific data of your application). But automerge (and then https://github.com/inkandswitch/peritext) show it's at least possible. Good stuff.
cscheid··on Fast
One thing that saved an estimated couple of million lives comes to mind.
← PreviousPage 3 of 13Next →