• 0 Posts
  • 44 Comments
Joined 3 years ago
cake
Cake day: July 31st, 2023

help-circle







  • I’d be surprised if it’s not easy to transpile a Markdown document into the format

    By hand—if you have experience writing roff typesetting—it is.

    Having a program do it for you… you’re going to get something, but it won’t be correct and you will need to fix most of it.

    A few problems come to mind:

    1. It’s a macro-based typesetting language. As a consequence, there’s a one-to-many association between representations in Markdown with some equivalent in roff. A Markdown paragraph is just a paragraph, but in roff it could be an un-indented paragraph, a paragraph with first-line indentation, a paragraph with line-wrap indentation, or a paragraph with a left margin.

    2. Rendering a man page, you have multiple different implementations of man and multiple different implementations of *roff (roff, troff, groff, nroff). The set of macros and features that are available differ depending on which implementation, resulting in one-size-fits-all solutions targeting the lowest common denominator.

    3. Ironically, the one-to-many association goes both ways. With Markdown, you have code fences, quotes, italic text, bold text, and tables. With lowest-common-denominator manpage roff, you have paragraphs and emphasis that will either be shown as bold or inverted. If you’re lucky, you might also be able to use underlines. If Markdown tables are no wider than 80 characters, you could preprocess those into plain characters, at least.

    4. Despite being more structured with its typesetting, the contents of a manpage are mostly still unstructured. The individual sections within the page and its use of indentation and emphasis are entirely convention, and not represented in the source code by anything more than just typesetting macro primitives.

    It could work out if you generate both the Markdown and man page from something with more explicit structure. If the plan is to go from a loose Markdown document into a manpage, you’re going to end up having to write your Markdown document almost exactly like a manpage.



  • How’s the weather up there, on your high horse?

    Rust wasn’t meant to be the be-all, end-all solution to safety and soundness; it’s meant to be better than the alternatives, confining potential memory safety issues to explicitly-annotated unsafe blocks.

    But, hey. That’s okay. With that kind of gloating attitude, I’m sure your code is 100% safe and vulnerability free, too. Just remind me to never step foot anywhere near an industrial system or operating system using it.




  • The phoronix comment section is a garden of rationality and level-headed thinking in comparison.

    Any time Rust is brought up in Phoronix, half of the comments are bad-faith idiots making strawmen and whataboutism arguments amounting to “skill issue, C is 300% safe and nobody needs better” and thinly-veiled contrarian antagonism against Rust because it’s popular.

    A comment section worse than that? Impressive.