Recent submissions

Comment · 3 years ago
What do you mean by the "type" of a function? It doesn't sound like you're using any kind of standard definition for the word.
Comment · 3 years ago
I'm not sure I understand the criticism. You have three functions of type (int, int) -> bool. Where the type system accepts one, it accepts the others. I fail to see the issue here? How is the type system supposed to distinguish them? It's up to you, the developer, to do it. If you have two ints x and y, and you mess up and pass y to a function where you wanted to write x, the compiler is never going to catch it for you either.
Comment · 3 years ago
It's sad to think that everyone had to work so hard to solve a problem whose solution is 27 years old. One day we'll just be able to run `ip -6 addr show scope global` and get the correct answer without wasting everyone's bandwidth and compute.
Comment · 3 years ago
And mp3 persists despite being inferior to any alternative. The reason isn't intrinsic value, it's inertia.
Comment · 3 years ago
Do you have anything to contribute beyond rehashing memes? I can have a go at it too: better not miss a bracket on line 2000 of your document, otherwise latex will complain about a runaway argument in a different file and you'll have to sift through the whole thing to find where the error is.
Comment · 3 years ago
Do any scientific publishers accept it?
Comment · 3 years ago
Not sure why you're being sarcastic. PDF is terrible for anything other than printing documents.
Comment · 3 years ago
While what you're saying is true, I get the feeling that you want to say that this is in contrast to LaTeX3, which isn't "plain old LaTeX 2e". Except... that it is. The project to have a new engine has been scrapped a long time ago. LaTeX3 is just another layer above LaTeX 2e. With all its cruft.
Comment · 3 years ago
The appeal of word isn't the WYSIWYG aspect. It's that... it. just. works. You want a table? There's only one way to make a table, and it works. You want to insert an image? It f*cking works. You want to format running headers a certain way? Believe it or not, it works! No weird incompatibilities between packages. No delving through the depth of 1990-era latex library code to figure out where the weird space comes from. Everything just works! And there's documentation online! Written for humans!

Trust me, writing code is not the issue with latex. I've written C++ code for embedded MCUs. I've taught python to undergrads. The pain does not even compare.

Comment · 3 years ago
What a weird comment.
Comment · 3 years ago
I'm a math professor. I've written articles, books, lecture notes, exams, exercise sheets, presentations... with latex. Hell, even a custom class for a journal I participate in.

I hate this language with a passion. The design choices may have made sense in the 80s when 128 kB of RAM was considered high-end, "tooling" was an unknown term, and modern parser design an academic matter. If I have to read "Runaway argument" and sift through a hundred lines of log to find an error again I will have a stroke.

LaTeX3? I have great admiration for the work they've done. But they have made at least two mistakes.

1. The fundamental mistake of insisting on backwards compatibility. Latex is choke-full of historical cruft. How many times have I read things to the effect of:

"Oh, you want an inline list? And you're using the inline-list package?! You poor fool! You should be using inllst3 with the xtabl option. Holy shit, you're using hyperref too?? (Spoiler alert: everyone uses fucking hyperref.) You cretin. Well, you should load these three other packages in this specific order. Then paste these esoteric commands:

\makeatletter\def\tbl@lst#1{\hy@tbl\vphantom{#2}#1\strut\lbl@lst##&!@\makeatother

No, I'm not going to explain what the commands do. Figure it out. Documentation? In the texbook. It's not online, you expect Knuth to work for free? Go buy it on amazon, you freeloader."

Don't get me started on how to get arXiv to accept your biblatex files.

Throw all this into the trash and start anew. There's no other good way forward.

2. The superficial on creating a theoretically beautiful and consistent syntax that is designed for computers, not for humans.

Seriously, go to the authors' website, the "LaTeX3 examples" page https://www.alanshawn.com/tech/2020/05/25/latex-3.html#examp.... Here's how you multiply a length by a float and store it somewhere.

    \cs_generate_variant:Nn  \fp_set:Nn {Nx}
    % #1: input name
    % #2: output name
    % #3: factor
    \cs_set:Npn \__multiply_length:NNn #1#2#3 {
        \fp_set:Nx \l_tmpa_fp {\dim_to_fp:n {#1}}
        \fp_set:Nx \l_tmpb_fp {\l_tmpa_fp * #3}
        \dim_set:Nx \l_tmpa_dim {\fp_to_dim:n {\l_tmpb_fp}}
        \dim_set_eq:NN #2 \l_tmpa_dim
    }
How anyone can look at this and think "that's the proper way of doing things" is beyond me.

I've started writing stuff with msword and I honestly like it better. Even UTN28 kind of makes sense. Yes, I'm expecting a fight after writing this.

Comment · 3 years ago
Why would they owe you such detailed explanations? You're asking for a full-on incident report. These take days to write and there's no reason for the public at large to need it.
Comment · 3 years ago
Easy karma.
Comment · 3 years ago
Gnu emacs is only 38 years old. And vscode is a fad...?
Comment · 3 years ago
What wouldn't work about it?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton