HNHacker News
TopNewBestAskShowJobs

cscheid

1,902 karma · joined October 13, 2010

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

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

submissionscomments
cscheid··on Quarto
Thanks for the feedback.

The scoping rules are by design and match .ipynb workflows in the case of multiple documents, so we're unlikely to change it.

The render latency of quarto is definitely higher than we'd love, but we have a plan and have been steadily improving it. Quarto 1.4 is generally about 20% faster than 1.3, and we have performance regression infrastructure to not let us slip on it.

cscheid··on Quarto
Frankly, that's easier said than done.

The complication is from the implied dependencies. If you've designed from zero to be able to track the requirements everywhere in the code base, then that's (in principle, though still not trivial) possible. But if you're looking to ship fast with a small team on the large feature set that we do have, then it's actually a better call to work on a system that has a fixed set of dependencies known in advance, and quickly iterate to solve other customer problems.

tl;dr: tradeoffs. We chose one that still serves us well, but it does come with consequences.

cscheid··on Quarto
Excellent question.

My understanding is that Pluto has its own execution engine outside of Jupyter, and so would require the creation of a new "engine" in our codebase. We are a pretty lean team that has other priorities for 2024, but we would very much love to see Pluto running in Quarto.

There is an open PR right now (https://github.com/quarto-dev/quarto-cli/pull/8645) to add a Julia-native engine to Quarto, from the developers of Makie which we hope to merge soon. I don't think that will provide instant Pluto support, but it will certainly make it easier for other Julia-native folks to build on.

cscheid··on Quarto
(Disclosure: I'm a Quarto dev)

Folks have already noted that you can run content through any Jupyter kernel. That lets you run Python and Julia code in a familiar runtime environment, and without having to install the R runtime and dependencies.

I also think that our IDE tooling is pretty good. If you're running in VS code, we'll (for example) highlight problems in your YAML frontmatter, resolve document crossreferences in the editor, etc.

We do this in an editor-agnostic way, so the Quarto IDE tooling can be adopted by third-party. We (Posit the company) develop the RStudio integration and VS Code extension, but there exist modes developed by the community such as quarto-nvim.

A good way to think about Quarto is "a next-generation RMarkdown with many lessons we learned and an emphasis on multiple language support".

cscheid··on Quarto
(Disclosure: I'm a Quarto dev)

This is an area we want to improve in the future. Most of the JS libraries can be disabled in the project configuration. We find that our typical user prefers to have access to the features those libraries provide, but I agree with you that we should be doing better. This is a place where some guided documentation would help. We're working on it.

With that said, we dogfood Quarto pretty seriously, and consume the content from mobile devices. I admit that we use devices that are likely in the 90% percentile of speed, but website performance is something we do take into account.

cscheid··on Quarto
(disclosure: I'm a Quarto dev) You can also render _to_ Jupyter notebooks from .qmd files, in case that would be useful for your workflow. We've put a lot of effort into making Jupyter interop a good experience in Quarto, for folks in either the Knitr or Jupyter ecosystem.
cscheid··on Quarto
(disclosure: I work on Quarto) I 100% agree with you. It's partly why tools from the Quarto lineage (knitr, rmarkdown) work hard to make popular latex features like crossreferences work in HTML and other forward-facing formats. At the same time, if you haven't tried Typst, my opinion is that doing so is an afternoon well spent. It's an impressive system even early in its development stage. I'm hoping it finally displaces LaTeX --- and I'm a former academic having written about a hundred papers in LaTeX!
cscheid··on Quarto
Quarto dev here, happy to answer specific questions you might have!
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.

← PreviousPage 3 of 13Next →