North Woods by Daniel Mason NATIONAL BESTSELLER • A NEW YORK TIMES BOOK REVIEW TOP TEN BOOK OF THE YEAR A WASHINGTON POST TOP TEN BOOK OF THE YEAR • FINALIST FOR THE NATIONAL BOOK CRITICS CIRCLE AWARD AND THE MARK TWAIN AMERICAN VOICE IN LITERATURE AWARD A sweeping novel about a single house in the woods of New England, told ... I enjoyed this book a lot. The episodes are interesting, the writing is superb and it reminds me of David Mitchell’s Cloud Atlas. It has a little sad, nostalgic undertone coming from the long window of time spanning the episodes in the book. People come into the scope of the house and then disappear again. The permanence of the location is in sharp contrast to the transient existence of the house inhabitants. Some episodes end so abruptly they leave you yearning for more (probably and cleverly intentional).
Deacon King Kong by James McBride A NEW YORK TIMES BESTSELLER and OPRAH'S BOOK CLUB PICK From author of NYT bestseller, THE HEAVEN & EARTH GROCERY STORE A NATIONAL BOOK AWARD winner & WINNER OF THE 2024 LIBRARY OF CONGRESS PRIZE FOR AMERICAN FICTION TOP TEN books of the year, NEW YORK TIMES & WASHINGTON POST 'Brilliantly imagined, ... The Heaven & Earth Grocery Store by James McBride THE RUNAWAY NEW YORK TIMES BESTSELLER A NEW YORK TIMES NOTABLE BOOK • A NEW YORK TIMES READERS PICK: 100 BEST BOOKS OF THE 21ST CENTURY WINNER OF THE 2024 LIBRARY OF CONGRESS PRIZE FOR AMERICAN FICTION FROM ONE OF TIME MAGAZINE'S 100 MOST INFLUENTIAL PEOPLE OF 2024 NAMED A BEST BOOK OF THE YEAR BY ... James McBride completely hooked me with Deacon King Kong and he did it again with The Heaven and Earth Grocery Store. His characters are so compelling, they stay with you long after you finish his books. Their stories feel like old family stories. His dialog is superb, and often very funny. And he rips out your heart with some devastatingly beautiful scenes in both books (Dodo and Monkey Pants in The Heaven and Earth Grocery Store, Sportcoat and Hettie in Deacon King Kong). Easily one of my favorite writers.
In this Haskell cicada we will read the recently published Functional Pearl Knuth-Morris-Pratt illustrated. We will use the same strategy we used in understanding the cycle finding function, namely slowly deconstructing the functions and playing with them in the ghci repl (we use the Haskell setup described here).
The first function we dissect is scanl used in the paper in what looks like a convoluted way to get all possible suffixes of a string.
Finding a correspondence between mathematical objects and algebraic expressions.
open full screen ↗ Your browser can't display this PDF inline. Open it directly.
Since the last Haskell cicada: Electromagnet Pulse was so much fun, let’s do another one from the same chapter from “Algorithm Design” by Jon Kleinberg and Éva Tardos.
Algorithm Design by Jon Kleinberg, Éva Tardos "Algorithm Design takes a fresh approach to the algorithms course, introducing algorithmic ideas through the real-world problems that motivate them. In a clear, direct style, Jon Kleinberg and Eva Tardos teach students to analyze and define problems for themselves, and from this to recognize which ... The exercise is Exercise 12 on page 323:
This Haskell cicada came about because sometimes, when I’m bored, I pick a random exercise from a random book and try to solve it. In this case the book was “Algorithm Design” by Jon Kleinberg and Éva Tardos.
Algorithm Design by Jon Kleinberg, Éva Tardos "Algorithm Design takes a fresh approach to the algorithms course, introducing algorithmic ideas through the real-world problems that motivate them. In a clear, direct style, Jon Kleinberg and Eva Tardos teach students to analyze and define problems for themselves, and from this to recognize which ... The exercise I randomly picked from the book is Exercise 8 on page 319:
Intro # As I mentioned in the Intro of the Haskell setup post, tooling changes often and becomes outdated quickly. So why write this post at all? Honestly, it is mostly for me, like much of this blog I don’t think I have (m)any readers 🙂. . My math notes are infrequent enough (my last one was six months ago) that I run the risk of forgetting the details of this Rube Goldberg machine of a workflow and then I won’t be able to maintain or fix it.
I said in Haskell setup that posts like these don’t age well. And sure enough, here I am with a revision. After dipping my toes in the Haskell testing waters I wanted a project scaffolding that is different from what cabal init generates:
I wanted a proper testing setup that allows me to also test module internals. I also wanted to solve having saved snippets of bindings loaded into the repl so I don’t have to repeatedly type the same expressions. After a bunch of trials and errors I settled on the project structure as seen in magicsquare. It breaks out internals into a separate module so it can be tested. It defines an Examples module that imports the other two modules and defines snippets useful in the repl. I invoke the repl like so:
Intro # Posts like this one don’t age well. Tooling changes all the time. And the other thing is: I do Haskell just for fun, ie silly little exercises with only pure functions. So take this setup with a grain of salt. And if you stumbled on this from the future, there’s probably better options for you.
With these disclaimers out of the way, let’s see the setup.
Imagine a 6 by 6 grid of squares, that can either be black or white. It has to fulfill the following properties: 1. Each row and column needs to have 3 white and 3 black squares. 2. All black squares have to be orthogonally connected. Prove that such a grid cannot exist. part 1: naive brute force exhaustive search part 2: smarter exhaustive search part 3: inductive graphs part 4: connected magic squares part 5: experiments Note: in our digital representation black squares are ones and white squares are zeros.
Imagine a 6 by 6 grid of squares, that can either be black or white. It has to fulfill the following properties: 1. Each row and column needs to have 3 white and 3 black squares. 2. All black squares have to be orthogonally connected. Prove that such a grid cannot exist. part 1: naive brute force exhaustive search part 2: smarter exhaustive search part 3: inductive graphs part 4: connected magic squares part 5: experiments Note: in our digital representation black squares are ones and white squares are zeros.
Imagine a 6 by 6 grid of squares, that can either be black or white. It has to fulfill the following properties: 1. Each row and column needs to have 3 white and 3 black squares. 2. All black squares have to be orthogonally connected. Prove that such a grid cannot exist. part 1: naive brute force exhaustive search part 2: smarter exhaustive search part 3: inductive graphs part 4: connected magic squares part 5: experiments Note: in our digital representation black squares are ones and white squares are zeros.
Imagine a 6 by 6 grid of squares, that can either be black or white. It has to fulfill the following properties: 1. Each row and column needs to have 3 white and 3 black squares. 2. All black squares have to be orthogonally connected. Prove that such a grid cannot exist. part 1: naive brute force exhaustive search part 2: smarter exhaustive search part 3: inductive graphs part 4: connected magic squares part 5: experiments Note: in our digital representation black squares are ones and white squares are zeros.
part 1: naive brute force exhaustive search part 2: smarter exhaustive search part 3: inductive graphs part 4: connected magic squares part 5: experiments I found this problem on one of my Mastodon feeds:
Imagine a 6 by 6 grid of squares, that can either be black or white. It has to fulfill the following properties: 1. Each row and column needs to have 3 white and 3 black squares. 2. All black squares have to be orthogonally connected. Prove that such a grid cannot exist. Note: in our digital representation black squares are ones and white squares are zeros.
I recently needed a distraction for a ten-hour flight. I cannot sleep on flights and I’m also too uncomfortable to do any real work or read. So it has to be binging a show. I chose Deadloch, a murder mystery show with eight one hour episodes, making it the ideal length for a ten hour flight assuming it is compelling enough to stick around.
Transcription by Kate Atkinson A dramatic story of WWII espionage, betrayal, and loyalty, by the #1 bestselling author of Life After Life In 1940, eighteen-year old Juliet Armstrong is reluctantly recruited into the world of espionage. Sent to an obscure department of MI5 tasked with monitoring the comings and goings of British ... Kate Atkinson’s novel Transcription is the answer to the question of what happens if you take the wicked humor of Martin Amis, John Le Carre prose elegance and the emotional honesty of Iris Murdoch and blend them all together.
Introduction # People are familiar by now with the Mastodon account verification system: if you want to prove that you own both a particular Mastodon account and a particular website By owning I mean you hold the login credentials. , you add a link with the rel="me" attribute to your website pointing back to your Mastodon profile and in the Mastodon profile you add a link to your website page that contains that rel="me" anchor. The Mastodon instance will fetch that page, find the rel="me" anchor and reward you with a green checkmark next to your website link in your Mastodon profile. This is very simple and straightforward but it does imply a certain level of trust in the Mastodon instance doing the verification.
Introduction # One of the cool things about Mastodon, Notion and RSS is great API availability and nice Go libraries covering these APIs:
Jomei Notion Mattn Mastodon MMCDole RSS Feeds Pretty early after migrating to Mastodon, I started thinking about a little project that would use these APIs: a tool that automatically toots links to new blog posts appearing in an RSS feed. Obviously as with most things something like this already exists: mastofeed. But I wanted to put my own spin on it and play with the APIs. One afternoon of hacking later and I had mastosync.
When the Nova 11 announcement appeared in one of my feeds, it was clear I wouldn’t be able to resist. I love, love, love truly polished native Mac apps and Nova completely nails it in that category. I played with previous versions of Nova before but I never had a real use case for it. I’m not a web developer and adapting it to the programming environments I use is somewhat challenging so I always slide back to specialized IDEs for those (Goland for Go, CLion for C++, Visual Studio Code for Haskell and TeXShop for LaTeX). But now I have this blog and this is all Markdown, CSS, Html, Javascript, in other words a great use case for Nova.
Counting number of ways to color some objects under the action of a group.
open full screen ↗ Your browser can't display this PDF inline. Open it directly.