Live data from Hacker News

Nota is a language for writing documents, like academic papers and blog posts

nota-lang.org

191–200 of 217 posts

Re: Nota is a language for writing documents, like academic papers and blog posts

#191
post #57

Hi, Nota creator here. A high-level comment: After developing the initial prototype you see in the webpage, I've since gone back to the drawing board. I'm working on developing a firmer foundation for issues like: - How do you interleave content and computation? See: https://arxiv.org/abs/2310.04368 - How do different syntaxes make different document tasks easy, hard, or impossible? See: https://github.com/cognitive-…

Just my two cents - Not sure the language you choose matters as much as making the API usable by a wide audience. Sure if performance is a real issue then rust makes more sense than JS but I’m not sure that’s going to be hugely meaningful in most use cases. I’ve never been a fan of Latex despite writing some mammoth documents over the years. Latex always felt like a beast for academics not for business. Yet there’s o…

> Not sure the language you choose matters as much as making the API usable by a wide audience.

Fully agree with this, and having typeset my masters thesis and later my resume using LaTeX, I think that the “authoring experience” is definitely the place to focus on improving, LaTeX just takes too damn long to get something good.

If you’re interested in the “markup to document publishing” space, you might also be interested in the open-source report publishing tool I’m now working on, Evidence.dev (https://github.com/evidence-dev/evidence).

It’s similarly based on markdown, though uses code fences to execute code, HTML style tags for charts and components, and {…} for JavaScript, i.e.

    ---
    title: Lorem Ipsum
    description: dolor sit amet, consectetur adipiscing elit
    ---

    ```sql petal_vs_sepal
    SELECT
      petal_length,
      sepal_length
    FROM iris_dataset_table
    ORDER BY 1 DESC
    ```

    

    The longest petal in the dataset is {petal_vs_sepal[0].petal_length}.

Our design philosophy here is that the rendered documents should be beautiful by default, but highly configurable so you can get pixel perfect results.

We’re also aiming for first class output options for desktop, mobile, PDF and image export.

Previous HN discussion:

https://news.ycombinator.com/item?id=28304781 - 91 comments

https://news.ycombinator.com/item?id=35645464 - 97 comments

Re: Nota is a language for writing documents, like academic papers and blog posts

#192
post #73

Earlier quoted context omitted.

I strongly disagree with the idea that the interactive elements are only there to "spark joy" - in both of the cases you mentioned, the interactive elements are pretty fundamental. Their purpose is to let you get somewhat hands-on with the concepts the text is discussing - to allow you to take apart the watch yourself, at your own pace, and understand what all the pieces are doing. I'm sure you can convey the same in…

I'm not saying they're only to spark joy, but to me at least, their contribution is mostly in that category. I didn't really find it central to the content in any of the examples. To my point it's "the last thing I want in a document", I stand by it. What I mean is I should be able to print it and really lose nothing central to the content. Yes, digital offers features which may enrich the experience/use/navigation,…

I guess what I don't quite understand in your comment is why these two categories of "web app" and "document" are so fundamental, in the sense that we can divide all web content into either document or web app. Is this a useful categorisation, or is it just applying concepts from existing forms of media to a medium where those concepts don't really fit that well?

For example, with the watch page, if we're defining document by printability, it makes a poor document - while you can print it out, what you'll end up with is a document with lots of static pictures and a bunch of (now useless) text referencing how you can move the pictures to see different things. If I wanted a fully printable document, I'd find a different one that was written with the expectation of being printed - maybe a book about watches, or an entirely static page. That will suit the print medium significantly better than this interactive page.

It makes me think a bit of a science museum, in the sense that most science museums will have a lot of text written around that explains all the concepts they want to discuss - this is how a pivot works, that's what a cow's digestive system looks like, here's a description of a space ship or whatever. And you could collect all this text and turn it into a book, and it would be an informative book that you could read and thereby learn something.

But the value of a museum is that it doesn't just have to be text. You can put a pivot into your visitors' hands; you can show food moving between different parts of a cow's digestive system in real time; you can show genuine pieces of real rockets and discuss what journeys they've been on. The medium allows you a huge amount of extra freedom, and a good museum curator will use that freedom - wisely - to produce an experience that allows visitors to get more insight than they would have if they'd just "printed out" the museum's text and read it all.

That's not to say that written text doesn't have its own advantages - you don't need to visit a book every time you want to get information from it, for example! What's key is that by tailoring the content to the medium that we're employing, we can produce a better result than by trying to apply the norms of a different medium. If we'd built our museum like a book, it would have been a bad museum.

I think a similar principle applies to the web - it comes with its own set of tools and features that differentiate it from books or print media. Some of those are fairly subtle - the ability to reference different pages and sites using hyperlinks, for example - but part of that is the interactivity. And not all sites need interactivity at all times, and the best sites use interactivity only when it adds to the experience (just like the best museums - not the ones that surround you with flashing lights and noise just to distract your attention). But the use of interactivity can elevate a simple text far beyond what a print document can do. I think the watch site is a really good example of what happens when you don't see web pages as "just" documents, and rather embrace their unique qualities.

That's why I don't think it's always helpful to make this category distinction between "document" and "web app", particularly when "document" just means "uses the norms of a different form of media", because the whole point of the web is that it a new media form, with its own features and capabilities.

Re: Nota is a language for writing documents, like academic papers and blog posts

#193
This looks very cool. I noticed it linked to Penrose which I’d never heard of and seems very cool also.

Given this is a new project I would really consider using Deno instead of Node. You’ll have a more reliable and consistent developer experience.

Re: Nota is a language for writing documents, like academic papers and blog posts

#194

Earlier quoted context omitted.

No, I completely disagree. You need to design accessibility in from the start, it's almost impossible to retrofit. Very few systems manage to add high-quality accessibility later on.

I'm one of the Typst devs and I do agree with you here. LaTeX has a lot of trouble with accessibility because it's hard to retain semantic information through layers of macros. However, I think we are in a better starting position because Typst is designed to revolve around semantic elements that the compiler can actually understand. We haven't gotten to it yet (there's lots to do), but we want to use this informatio…

I wish you the best of luck. I don’t have any time to get involved in any more open source projects, but I consider the lack of common accessible publishing formats for science one of the biggest embarrassments of academia — for a field that claims to be open, we sure seem to love churning horridly inaccessible PDFs (and yes, I’m as guilty as anyone else here).

Re: Nota is a language for writing documents, like academic papers and blog posts

#195
post #178

Earlier quoted context omitted.

Thanks for the help and I can feel the enthusiasm. I have to tell you, my hatred for TeX is profound and goes far beyond this one point. But if I start ranting, I'll never stop.

Didn't you say with quarto you had to debug a 5 layer pipeline? I wonder if it's not biasing you here a bit...(stuck fighting "arcane" latex syntax somewhere at 3 in the morning). I'm not saying you should love TeX, but it's a bit like saying you hate assembly language - if you have the wrong abstractions (writing a 3D game or a web page using assembly language) of course the experience will be beyond frustrating. I…

Well, you did ask: https://medium.com/@davidhughjones/tex-must-die-6466725e9ce6

Re: Nota is a language for writing documents, like academic papers and blog posts

#196

Earlier quoted context omitted.

Style and substance separation is easy and should be a requirement. Legal is pure text "programming" and what I mean is that the style of the text has zero bearing on the judicial process. The benefits of working at the proper level of abstraction compound. It enables tech like diffs and git, which then nicely solves a bunch of other problems as well. Using Word completely side-steps all those benefits. Sure, you get…

Of course this isn't and hasn't been true for quite some time. I'm the first to blast MS Word for being a total disaster (esp. templates, ie. style/substance separation, are bad) but it is no longer a locked-in platform. Even the docx format is only a zipped XML file. If you want, you can unpack the document file and put it into git. Thank you Open Document Foundation! On top of that, all contemporary word processors…

My point is not that. Sure, you can go from Word to OpenOffice. Great, now you manually highlight your code in that..

It’s a deeper thing. You can hack Word and related tools for coding and eventually it is acceptable I guess, but it’s starting from the wrong foundation.

This ladder will never reach the moon.

Word’s diffs are not “just different”. they are objectively inferior in many ways. I personally witness daily the travesty of government staff’s handling of information.

Word is a fancy digital typewriter and IMO it’s the wrong abstraction for this day and age and cultural issues are the only thing keeping us back. As always.

Edit: academic papers looking like they were written on a 19th century typewriter.. I don’t get this fascination with style, from scientists of all people. Lay down the info, provide the data. Kerning your fonts properly.. oh my god, I need to cool down. I am a hot headed type of guy, sorry about that.

Re: Nota is a language for writing documents, like academic papers and blog posts

#198

Earlier quoted context omitted.

Of course this isn't and hasn't been true for quite some time. I'm the first to blast MS Word for being a total disaster (esp. templates, ie. style/substance separation, are bad) but it is no longer a locked-in platform. Even the docx format is only a zipped XML file. If you want, you can unpack the document file and put it into git. Thank you Open Document Foundation! On top of that, all contemporary word processors…

My point is not that. Sure, you can go from Word to OpenOffice. Great, now you manually highlight your code in that.. It’s a deeper thing. You can hack Word and related tools for coding and eventually it is acceptable I guess, but it’s starting from the wrong foundation. This ladder will never reach the moon. Word’s diffs are not “just different”. they are objectively inferior in many ways. I personally witness daily…

Hey, thanks for the reply. From what I read, I think you think that language use is some kind of coding with words where you have a deterministic relation between input and output. You seem to treat the semantic content of a statement as if it is somehow static, objective, and oberservable. I don't think it is and I'm in good company on that matter.

That being said, that's just my reading of your comment and I could be wrong, which is kind of my argument here. If I'm right lawyers don't care about your notion, they use language for something different than mere information encoding. Therefore they need tools that support their use case. MS Word (or word processors in general) might not be the best tool for that job, but it is good enough. Integrating a well trained ChatGPT into MS Word will help lawyers much more than any structured entry form ever could.

BTW, the LaTeX quip was intended to make light of the idea of separating content and style, which goes way back. Consider TeX' age. Your reaction tells me, you think LaTeX is a styling tool, which in a sense it is, and that's what it is about, which it is not. Hordes of scientists (and type-setting professionals) argue in favor of LaTeX (or other type-setting systems) because you just write the content in plain text. LaTeX takes care of the style. TeX files are also just markup and easily git'able. It does make life easier, but it is not as important as some people make it out to be.

Re: Nota is a language for writing documents, like academic papers and blog posts

#199

Earlier quoted context omitted.

My point is not that. Sure, you can go from Word to OpenOffice. Great, now you manually highlight your code in that.. It’s a deeper thing. You can hack Word and related tools for coding and eventually it is acceptable I guess, but it’s starting from the wrong foundation. This ladder will never reach the moon. Word’s diffs are not “just different”. they are objectively inferior in many ways. I personally witness daily…

Hey, thanks for the reply. From what I read, I think you think that language use is some kind of coding with words where you have a deterministic relation between input and output. You seem to treat the semantic content of a statement as if it is somehow static, objective, and oberservable. I don't think it is and I'm in good company on that matter. That being said, that's just my reading of your comment and I could…

Thanks for indulging me. I know I am yelling at the clouds.

I also know people usually misunderstand me because I am a “programmer” and all I see is “code”. I guess that’s fair enough, but I fully understand legal being of a completely different nature from Rust.

What I also understand is that no matter how long everyone argues about it, the only thing that matters about legal is the text. The font, the styling, etc is all secondary. It might be important, but it’ll never be primary. Unless courts start judging differently based on page margins I guess.

The same goes for science. Publishing “attention is all you need” in an 8bit NES font might not be fashionable, but it does not and cannot detract from the discovery within it. LaTex produces the exact same documents (I know it is configurable but we are going for a certain style) and that’s what this is about. Not how the tools work but that we fundamentally even care about it instead of focusing on the primary issues like correctness, openness, accessibility. I’d like academic papers to be APIs actually.

Again I see the importance of styling and appearance in general. It’s just that we start with that and I think that’s problematic and actively harms our progress.

Also, to conclude, I am nitwit. This is just my take.

Edit: A man can dream, right? If a paper was plaintext I could typeset it last minute in 8bit NES fonts if I’d be so inclined. I hate ya’ll deciding how everything looks and works. I know that’s technically challenging, but to me that’s where the progress is. An academic paper like, say, a jupyter notebook would be awesome, not? Would you give up your fancy type setting? I would!

Re: Nota is a language for writing documents, like academic papers and blog posts

#200
post #75
post #70

Earlier quoted context omitted.

I don't get the problem. If 99% of your documents need the same packages and formatting, then all you need to do in LaTeX is create a template (eg via Yasnippet in Emacs) or dump it all in a LaTeX class file and then import it in your frontmatter, and Bob's your uncle. There are many frustrating things about LaTeX but I don't see how this is one of them.

Probably that's true. But first, I don't know how to create a class file, or a template (if that is a LaTeX thing). And since I've never seen anyone else do this, I guess that most academics don't either. Second, my point isn't just about the specific issue, it's that this issue reveals how TeX thinks about the world. It thinks you want to spend your time writing TeX. No, I want to spend my time writing English. Here…

> I don't know how to create a class file, or a template (if that is a LaTeX thing). And since I've never seen anyone else do this, I guess that most academics don't either.

Exactly, academics usually don't do that - they write the text with appropriate markup, and then put it in the publisher's template and the formatting according to the appropriate standards is done. You can write your own template, but usually you use someone else's, with the big benefit that you can generally move your content to a very different template of a different publisher with minimal or no changes to your actual writing.

Now how would I do that in quarto - what (and how much) would I need to write to ensure that, for example, the captions for all the images and all the references to the images are all formatted in a specific manner? Because for quarto I would need to make my own template specifying the exact formatting and layout, and a quick browse of its documentation didn't lead me to any examples on how I would control that.

In sane environments there is a split between text and formatting, however, the formatting part has to be sufficiently powerful to meet the various requirements, so there is a certain quite high minimum bar to meet there. Latex works because I can rely that I will be able to easily get my markup laid out exactly as required by arbitrary standards, for any markdown-type standards I need some assurance that this will be possible and easy, that I won't need to (for example) go over all my references and do something to them.

Post reply on HN