Hacker News new | ask | show | jobs
by kbr- 1434 days ago
Ahh the procrastination when writing a PhD.

Instead of actually writing it, you research a million different ways how to render it, and then you write a blog post on it :)

12 comments

I can relate all too well the procrastination involved in fiddling with the typesetting engine! When I was writing my bachelor's thesis (in Philosophy, nonetheless!), I spent an inordinate amount of time on tweaking my LaTeX template and workflow.

I ended up falling way too deep into the Rabbit hole, and started using NixOS just to write the thesis itself. It did eventually result in a fun blog post, though!

https://shen.hong.io/nixos-for-philosophy-installing-firefox...

Great blog post! "Plato didn't write his dialogues on Microsoft Word, and neither should you".
Ha, familiar. I decided I wanted the pdf of my dissertation to be reproducible and hence packaged it with Nix.
In the same way, Knuth wrote a set of books on typesetting. Procrastination at its finest.

https://en.wikipedia.org/wiki/Computers_and_Typesetting

He didn’t just write books on typesetting, he took a year off of work on Volume 2 of The Art of Computer Programming to _write a new typesetting system_. Naturally, he had to invent/implement vector fonts along the way. But even that wasn't quite enough, so he also took the time to invent literate programming, a style of programming where the source code is also a book with narrative structure to guide the user to a complete understanding of every nuance of the source code. If you compile the TeX source code one way, you get a program for typesetting documents. Compile it another way and you get a TeX document containing TeX: The Book. Same with the Metafont source code as well. All together I think it delayed Volume 2 by a decade.

And then he continued publishing books about typography, in his spare time, for the next few decades.

Tex itself took Knuth 10 years to complete, if I recall correctly.
I have been guilty of doing this in so many contexts. Obviously with Latex while in college, later with logging libraries, with config libraries, with server frameworks etc. instead of doing the actual functional task at hand, the compulsion to play with tools, libraries and frameworks was strong. Lately, I'm convinced all these tools with their own DSL syntax, complex mental models and configuration options are just unnecessary cognitive overhead especially for a one-off task you do once in a while. We should make it easy to learn concepts with rich visual representation of the graphical interface and apply them on the fly – this saves cognitive load for the initial few iterations of the task. If the user finds themselves doing the task many times then they can advance to learn a DSL specific to that tool. Even here, I wish there was a widely accepted universal declarative syntax/grammar for all kinds of DSLs – configurations, policies, typesetting etc.
I finished my PhD almost 30 years ago, and finding the motivation to actually finish was as much of a problem as it is today. And tinkering with typesetting was a familiar procrastination magnet. My friends who used LaTeX easily tacked multiple months onto their effort, and my hunch is that CPU time was not the limiting factor.

My advice is: Remember, nobody's going to read it.

My parents' theses were about 50 pages, typewritten, equations and chemical diagrams entered by hand. The got the same grade as I did. ;-)

It’s a rite of passage with latex though. Each one of us has to spend the time and set up our own latex setup the first time we write using it. Hopefully never again though.
Spent my teens and twenties in mathematics departments. This is a very polarized behavioral pattern:

1. The majority of people just don't care very much. Just get LaTeX working locally, get it to run the packages you need - amsmath, etc. - and start working on your mathematics.

2. There is a large minority who dive deep into the rabbithole on their editing environment, typography, diagramming, etc.

Amusingly, you can tell how likely someone is to fall into either camp based on the amount of care they take with and over their notes (mostly hand-written in my day).

Ever since Overleaf (and sharelatex) I would say this is no longer the case. It's not optimal but it works well enough.
I did exactly the same for my master thesis. This is why so am so not interested in doing a PhD.
Same for my undergrad thesis. I learned so much more about the art of typesetting that year than I did about Hypergeometric Integrals or String Amplitudes: the topics of the thesis. That's why I left before doing a masters.
I even took the Artificial Intelligence with Andrew Ng course at Stanford through Coursera. That's how much I was procrastinating. :)

My conclusion is that writing a thesis fucking sucks and damaged me.

I wrote mine in Word and it's SO UGLY. I wish I'd procrastinated more by fiddling with different rendering methods!
But starting with latex is almost always ~0 minute.

You can just write the text, and write the equations between dollar signs, and it renders you book quality output by default.

(You also can tweak it as much as you want it, and spend as much time as you want it on it.)

I wrote my PhD in LaTex with the simplest template I could find online (luckily someone had put one up formatted for my university's engineering department and I didn't have to mess with it almost at all).

But once I was done, I wanted to blow off some steam and started writing a silly little tabletop RPG. I decided the rulebook would be text-only for portability with box drawing borders and ASCII tables and stuff, so I spent the first week or so writing a small ASCII typesetting engine in Prolog (because logic programmer).

And then automated the ToC and section numbering .

And then I spent more time writing a vim syntax file so I could read the glorious ASCII with syntax highlighting.

Here:

https://github.com/stassa/nests-and-insects

I'm still looking for ANSI/ ASCII art contributions btw.

> then you write a blog post on it

Not so fast. You also need to try a million different SSGs for your blog, then eventually write your own.

It's a miracle that the developer of GNU roff actually managed to complete the suite before procrastinating big-time into SGML. AFAICT, he resisted even the urge to implement the roff dot command syntax on top of SGML SHORTREF.
Well, following great ones - Knuth started doing TeX before writing TAOCP
That is incorrect. The first 3 volumes of "The Art of Computer Programming" were published in 1968, 1969, and 1973. Knuth started working on TeX in 1977, because he was disappointed by the quality of the galley proofs for the 2nd edition of TAOCP.
I stand corrected
Blog post will likely have a wider audience than hundreds of pages droning about "The Clausula as Fundamental Unit"