Posted by: holdenlee | February 2, 2016

Goodbye WordPress, Hello Hakyll!

I’m moving this site to All posts on this blog will remain here, but the site will no longer be updated.

Also check out my new writing project at Philosophocle.

I describe some of my reasons for the move in my first post. I’ve enjoyed blogging with WordPress, but it’s come time for me to graduate and manage my own blog, built using Hakyll. I’ve prioritized functionality over design, and am still in the midst of setting it up, so the road ahead may be a bit bumpy, but I’m excited.

Thanks for reading my blog, and I hope you will join me in this new chapter!

Posted by: holdenlee | January 1, 2016

December Links and Activities

New: I created a shared workflowy for sharing notes that I take. (I put in some notes on linguistics and neural nets.)

(h) means personal highlights.

Posted by: holdenlee | December 30, 2015

A friendship lost at sea (poem)


You’ll be captain, you said, and I’ll be first mate.
I’ll ask you questions, you give me answers, and I’ll be the devil’s advocate.

Read More…

Posted by: holdenlee | December 29, 2015

The Saskiad, Brian Hall

(goodreads, detailed notes)

Saskia thinks of Thomas, walking inland with his oar on his shoulder. He walked until no one knew him or his people, until he was so much a stranger in a strange land that the man at the gate mistook his oar for a winnowing fan. What would Saskia’s “oar” be?

The Saskiad is a rite-of-passage story written in stream-of-consciousness. It’s about imagination, the desire to explore the unknown, the beautiful illusion of pinning fantasy over reality, contradictions of character, and the meaning of home and family.

It’s part of a small genre of books which have a powerful effect on me: The Slow Regard of Silent Things, The Grasshopper King, The Perks of Being a Wallflower, The Curious Incident of the Dog in the Night-time. These books appeal to me because they’re all about people who don’t fit in but/because they have a rich life inside their head. It’s compelling to see how deep the arrow of a thought can go.

(Warning: Spoilers and sexual references.)

Read More…

Posted by: holdenlee | December 12, 2015

Computer Science for the Masses, Robert Sedgewick

Robert Sedgewick, professor of computer science at Princeton, gave a talk on Thursday on “Computer Science for the Masses,” outlining his vision for education in the future. He used as example his experience in turning the introductory CS course and algorithms course at Princeton into a MOOC and a “blended” course at Princeton. You can browse his courses on Coursera.

Notes I took during the talk are available here.

I’ll summarize some of the key points from his talk, reorganized for clarity. First, I’ll give some background, introduce the benefits of online education, and frame the question of how to blend it with traditional education. Next, I’ll give Sedgewick’s model of what an online course should look like: how to actually go about making one? Finally, I’ll outline his vision for the future of education. To distinguish my points from his, I’ll put my own thoughts in brackets.

Read More…

Posted by: holdenlee | December 7, 2015

November links and activities




Posted by: holdenlee | November 1, 2015

October Links and Activities

Links (*found especially interesting, [h] personal highlights)

Other media/activities

Posted by: holdenlee | October 17, 2015

Wymar, the city of wind

Wymar was the city of wind. It was nestled between hills. Each house had a weathervane, with some icon that glinted in the sun: a silver lark, a spinning solar system, a blue-and-white teacup that crawled with Sina-style dragons, a whale, a bionic dancer in heels. They swiveled and creaked. Laundry fluttered on lines that were weighed down with round, golden ornaments in the shape of fruit. Shirts and underpants were clipped on with steel teeth.

Keep reading (on googledocs)…

This is a chapter of the novel I was trying to write last November. The novel fell apart, but this is one part I really liked (and is seasonally appropriate!), so I thought I’d share it. This is pretty much the raw version, with minimal edits. (There’s background in the linked post, but it isn’t too helpful. All you really need to know is that Linus and Zeo are the main characters, their bots are Linx and Argon, and they’re touring the world.)

Posted by: holdenlee | October 9, 2015

The LLL lattice basis reduction algorithm

I gave a talk on Tuesday at the “Gems of Theoretical Computer Science” seminar on the LLL algorithm.


The LLL (Lenstra–Lenstra–Lovász) algorithm is a lattice reduction algorithm that can approximate the shortest vector in a lattice, and has numerous applications (which I’ll cover as time permits), including polynomial-time algorithms to

  • factor polynomials over the rationals
  • given an approximate root of a low-degree rational polynomial, recover the polynomial
  • find integer relations such as \pi = 176 \tan^{-1}(\frac{1}{57}) + 28 \tan^{-1}(\frac{1}{239}) - 48 \tan^{-1}(\frac{1}{682}) + 96 \tan^{-1}(\frac{1}{12943}).
  • solve integer programming in fixed dimension
  • break certain cryptosystems.

Notes from the talk are here (TYPO on pg. 3: the example at the bottom should be [[1, .3, 4.2], [0, 1, -.3], [0,0,1]] -> [[1, .3, .2], [0, 1, -.3], [0, 0, 1]]. I didn’t get to cover all topics). Quick summary:

  • The goal is to find the shortest vector in a lattice. The LLL algorithm draws inspiration from 2 simple algorithms, the Euclidean algorithm (1-D case; it has a “reduce” and “swap” step), and the Gram-Schmidt orthonormalization process (to generalize to higher dimensions). A reduced basis comes “naturally” from making an algorithm that does a “reduce” and “swap” steps. The LLL algorithm only gives an exponential approximation, but this is good enough for many purposes.
  • The algorithm terminates because smaller vectors filter to the front; create a invariant out of that.
  • A closely related problem is the Closest Vector Problem. Solve it by moving the point to a fundamental parallelopiped of the reduced lattice.
  • The LLL algorithm can be used to find integer relations between numbers given sufficiently good approximations. Applying this to powers of an algebraic number, we can recover the minimal polynomial. Applying this to roots of a polynomial we can factor the polynomial.
  • The algorithm for Closest Vector can solve Integer Programming in fixed degree, by recursion on the dimension. Bounds on the size of the basis elements in a reduced basis bounds the number of hyperplanes cutting the convex set.
  • LLL can break RSA with small exponent by finding roots of polynomials mod N of small degree.

Some more resources are the following:

Posted by: holdenlee | October 4, 2015

Links and Activities, 9/2015

*Found particularly interesting.

Links and readings


Older Posts »