21 Matching Annotations
  1. Jan 2023
    1. Thus his notes will be legible, interesting and complete,and more than this, the process of rewriting wll fix the various points muchbetter in his mind at a time when it is most susceptible to them, than anystudy from cold notes can do .

      Rewriting one's notes soon after they are written will be easier because they are fresher in one's mind and any issues with them can be more easily remedied. There's also the space repetition effect to be had.


      Note here that Maxfield suggests the sort of value behind the idea of spaced repetition, but writing in 1910 doesn't have the word or the effect related to it yet.

  2. Nov 2022
    1. Justice Louis D.Brandeis instructedlawyers that “there is nosuch thing as good writ-ing. There is only goodrewriting.”23
  3. Oct 2022
    1. the idea of playing Shakespeare’splays as he wrote them, and not in the “modernised” versions of Cibber andGarrick, which once seemed to be the latest thing in theatrical progress.

      Is she mistaken here? Wasn't it Garrick who rewrote/modernized Shakespeare and Cibber, his rival, who deplored him for it?

  4. Sep 2022
  5. Mar 2022
    1. Exercises

      2.1.b

      Counterexample: \(\to := {(a, c), (b, c)}\)

      2.3

      \(a \to b\) iff \(a\) encodes Turing machine \(M_a\) and \(b\) encodes a valid terminating computation (sequence of states) of \(M_a\).

      2.9

      Let \(|w|_a := \varphi_a(w)\).

      \(\varphi(w) := 3^{|w|_a} 2^{|w|_b}\)

      Proof

      1. Let \(u \to_1 v\). Then \(\varphi(v) = 3^{|v|_a} 2^{|v|_b} = 3^{|u|_a+1} 2^{|u|_b-2} = 3^{|u|_a} 2^{|u|_b} \frac{3}{4} = \varphi(u) \frac{3}{4} < \varphi(u)\).
      2. Let \(u \to_2 v\). Then \(\varphi(v) = 3^{|v|_a} 2^{|v|_b} = 3^{|u|_a-1} 2^{|u|_b+1} = 3^{|u|_a} 2^{|u|_b} \frac{2}{3} = \varphi(u) \frac{2}{3} < \varphi(u)\).

      2.17

      No.

      Let \(a > b\). Then \([b^n a | n \in [0, 1, \ldots]]\) is an infinite chain according to \(>_{Lex}\).

      Note: This exercise completes the discussion of Lemma 2.4.3.

      4.2

      Let \(s, t\) be terms. Run BFS from \(s\) using \(\leftrightarrow^E\). If \(t\) is encountered, conclude that \(s \approx_E t\). If the BFS finishes enumerating the equivalence class without encountering \(t\), conclude that \(\lnot s \approx_E t\).

      4.4

      Let \(x \in Var(r) \setminus Var(l)\). Let \(p\) be a position of \(x\) in \(r\).

      Infinite chain:

      • \(t_0 = x\)
      • \(t_{i+1} = r[t_i]_p\)

      4.18

      1. a
        • Unifier: \({x \to h(a), y \to h(a)}\)
        • Matcher: \({x \to h(a), y \to x}\)
      2. b
        • Unifier: Unsolvable
        • Matcher: \({x \to h(x), y \to x}\)
      3. c
        • Unifier: \({x \to h(y), z \to b}\)
        • Matcher: Unsolvable
      4. d
        • Unifier: Unsolvable
        • Matcher: Unsolvable

      5.2

      Counterexample TRS \(R\):

      1. \(a \to b\)
      2. \(b \to b\)
  6. Jan 2022
    1. Yes, precisely because I've been involved in maintaining codebases built without real full stack frameworks is why I say what I said.The problem we have in this industry, is that somebody reads these blog posts, and the next day at work they ditch the "legacy rails" and starts rewriting the monolith in sveltekit/nextjs/whatever because that's what he/she has been told is the modern way to do full stack.No need to say those engineers will quit 1 year later after they realize the mess they've created with their lightweight and simple modern framework.I've seen this too many times already.It is not about gatekeeping. It is about engineers being humble and assume it is very likely that their code is very unlikely to be better tested, documented, cohesive and maintained than what you're given in the real full stack frameworks.Of course you can build anything even in assembler if you want. The question is if that's the most useful thing to do with your company's money.
  7. Nov 2021
    1. I know a number of my subs and viewers are in India and I've noticed on Twitter and on Abhijit Chavda's channel that there's quite a bit of controversy about the way Indian History is taught to Indian students. That interests me a lot, but what I'm PARTICULARLY interested in is, how World History surveys throughout the world cover world history. If part of this involves continuing the narratives introduced by colonizers, like the Aryan Invasion myth, that's relevant to my question.
  8. May 2021
    1. Preserving history; we often find ourselves using the git blame tool to discover why a certain change was made.
    2. Preserving commit hashes; we use commit hashes in binary names and our issue tracker; ideally, these references remain intact.
    1. If you want the project's history to look as though all files have always been in the directory foo/bar, then you need to do a little surgery. Use git filter-branch with the "tree filter" to rewrite the commits so that anywhere foo/bar doesn't exist, it is created and all files are moved to it:
  9. Oct 2020
    1. A backronym, or bacronym, is an acronym that is assigned to a word that existed prior to the invention of the backronym.
  10. Sep 2020
  11. Jul 2020
    1. "that text has been removed from the official version on the Apache site." This itself is also not good. If you post "official" records but then quietly edit them over time, I have no choice but to assume bad faith in all the records I'm shown by you. Why should I believe anything Apache board members claim was "minuted" but which in fact it turns out they might have just edited into their records days, weeks or years later? One of the things I particularly watch for in modern news media (where no physical artefact captures whatever "mistakes" are published as once happened with newspapers) is whether when they inevitably correct a mistake they _acknowledge_ that or they instead just silently change things.
    2. If the reality is you pushed out a release that doesn't even compile, and then you spotted the typo six minutes later, that's fine, that's what the git repo should show. Don't come to me asking if there's a way to change history so that it seems as if it didn't happen that way. How does that help anybody?

      To answer your question:

      How does that help anybody?

      It keeps the history clean.

      Assuming they push up an amended commit minutes after the bad commit, this shouldn't cause too much of a problem. (Depends how many people are working on it and how often they git pull.)

      How does it help anyone to keep 2 separate commits that, semantically, could and should have been just 1? How does it help anyone to have a permanent record of someone's mistake?

      If it can be easily and quickly fixed, I say go for it!

  12. May 2020
    1. What I think we're lacking is proper tooling, or at least the knowledge of it. I don't know what most people use to write Git commits, but concepts like interactive staging, rebasing, squashing, and fixup commits are very daunting with Git on the CLI, unless you know really well what you're doing. We should do a better job at learning people how to use tools like Git Tower (to give just one example) to rewrite Git history, and to produce nice Git commits.
  13. Mar 2018
    1. pywb Documentation, Release 2.0The default JS rewriter does not rewrite any links. Instead, JS rewriter performs limited regular expression on thefollowing: *postMessagecalls * certainthisproperty accessors * specificlocation =assignmentThen, the entire script block is wrapped in a special code block to be executed client side. The result is that client-sideexecution oflocation,window,topand other top-level objects follows goes through a client-side proxy object.The client-side rewriting is handled bywombat.jsThe server-side rewriting is to aid the client-side execution of wrapped code.For more information, seepywb.rewriter.regex_rewriters.JSWombatProxyRewriterMixi

      JS rewriter