Latex thesis writing goal


#1

I’m trying to figure out how to generate a thesis writing goal. The document is being written in Latex, so something along the lines of “200 words changed over all of these files every weekday” or “20 lines changed in a GitHub repository every weekday” (I could add it to a github repository, it is already in git) or something similar.

Unfortunately, likely due to the near universal belief that lines of code mean very little in the software world, such a thing doesn’t appear to exist, either in the Beeminder integration, IFTTT, or Zapier. And unfortunately, Draft doesn’t work as markdown and latex don’t get along super well. (and editing is really much more pleasant using a local editor).

I’m not adverse to creating my own, but before I do, I wanted to check to make sure that such a thing doesn’t exist somewhere and I’m missing it.


#2

If you can finagle a document that would log all words added or removed from a set of documents, then updated that on the web, you could use URLMinder:

https://urlminder.herokuapp.com/

Since your stuff is already in Git, I was thinking diff with some weird options. Maybe someone else has done this already, or has an idea.


#3

That is an interesting idea.

Unfortunately, I don’t have an easy way to get it into a URL. I ended up just creating a script to hook into the API yesterday, which wasn’t that hard.


#4

@spott any chance you could share your script?


#5

Here is the gist:

I’m pretty sure I have sanitized it, but if I haven’t, please let me know.

I’m not using this at the moment, and I don’t even know if it still works (I don’t think the API has changed…).

It doesn’t actually diff files, it just counts the number of relevant lines (takes the total number of lines and subtracts very short or empty lines (<5 characters) and commented lines) and saves that to a file, when that changes, it assumes you have written more (or deleted a bunch). There is a dry-run option (-d on the command-line), which will tell you what it will do.

Good luck!