SPOILER WARNING: I wanted to share my views on the subject matter in The
Witness. By necessity, this article does discuss the ending of the game in
general terms. However, I do my best to avoid talking about specifics.
When I started writing this review, it began with “I liked The Witness,
BUT…” I was frustrated. I couldn’t fathom what the ending meant. What I was
supposed to glean from this experience? How do the voice-overs fit together? Why
was I shown this?
But then I had an epiphany: I felt this same frustration before. Many times.
Every time I solved a puzzle in the game. And so I began to see the prevalent
puzzle mechanic as a metaphor for the game itself. “Solving” the story isn’t the
point.
I recommend The Witness. If you’re considering playing it, do it. But bear in
mind that it’s not a traditional story, and you may be disappointed if you treat
it that way.
if you understand the categorical terminology, this is actually a really good way to learn about monad behavior imo
for those of you who don’t get the underlying joke here, monads are usually the first really difficult concept people run into when they start learning about functional programming.
since “a monad is just a monoid in the category of endofunctors, what’s the problem?” is not illuminating to most, the burrito analogy has seen widespread use trying to illustrate monadic behavior, but often ends up being a gross oversimplification.
the state of introductory materials for people getting into FP (especially if their entry is via Haskell) is rather abysmal, so the author is poking fun at that here in what is an (imo hilarious) recasting of the burrito analogy back into category theoretic language to make things difficult again.
I’ve posted a project I’ve been hacking on to my Bitbucket account: cardcpx. This has nothing to do with my day job, it’s just something I did to help out on a film shoot (which also had nothing to do with my day job).
From the README:
cardcpx is a specialized UI for copying files from a camera card to 1+ replicas. The replica copies happen concurrently, so if you are copying N bytes to R replicas, the time is O(N) instead of O(N * R).
The interface also has includes simple scene/take ingestion, which is stored in a CSV transaction log. Selects will be copied first, so you can do a proofing check on a fast disk while your import finishes.
cardcpx supports a flat directory structure as well as the RED camera directory structure. It assumes that your clip names do not overlap. Attempting to copy the same file name will not overwrite data.
It’s still a bit rough around the edges, but I’m happy with how Go allowed me to compose a fairly complex a tool out of easy-to-understand pieces. This was my first excursion into writing a frontend with AngularJS, but I’m also similarly pleased about the design.
Everything’s open source. Feel free to dig in and use. I’d love to know if other people find this program useful.
Not all people like or are good at math. I can relate to that: I am not good at
nor particularly care for history. You don’t have to be good at every subject
or enjoy every subject. But I respect history, because I know that there are
important conclusions that people can make by studying historical patterns.
Likewise, math (and algebra) deserves respect.
Algebra is not about “solving for x”; algebra is about dealing with an unknown.
There are many things you won’t know on a given day: how long it takes to get to
work, what time you’ll go to bed, the number of times you smile. We deal with
these every day. You leave a little earlier for work because yesterday’s
traffic was bad, you sleep in a little later, you find friends who make you
smile more. This is what Algebra is really about, but it takes a more formal
notation so it can apply to anything.
So why does this mantra of pride in not using Algebra resonate with so many
people? Because the way that math is presented at most schools is absolutely
horrid. It’s shoved down your throat without context. “SOLVE FOR X.” I’ve
seen what this method of teaching does to people. You want to prove that
teacher wrong: you don’t need this dumb stuff that you’re being forced to learn.
But would you still feel this way if you knew what it could do?
For four years, I mentored a high school robotics team. Many of the students
who joined the team didn’t particularly like math, but liked the idea of
building robots. They never thought they were smart enough to grasp those
concepts. They couldn’t “solve for x”. The problem was that they didn’t know
what they were solving. As soon as “x” became “the distance between where the
robot arm is and where you want it to be”, it finally clicked. It’s a
breathtaking experience to see a student go from “I’m not good enough” to “I
learned this thing in school today, let me try it out on the robot”. Now math
is a way for these kids to have control over their world. It’s not just
something they understand, but a tool they can use to help them pursue their
dreams.
Maybe you didn’t use algebra today. Fine. But the people who created the
device you used to post this mantra sure did.
I can’t believe it. Does this amazing creature know fluid properties?? This comes directely from Asgard, I am sure. Odin is still searching for him.
Birds are amazingly smart creatures — crows in particular. There’s a fascinating TED talk by Joshua Klein given back in 2008 where he shows many examples of crows using tools without prior learning. That’s right: crows don’t just repeat things they’ve seen, they have an ability to reason and understand their environment. Klein presents some anecdotes of other learned behaviors, but the most fascinating thing is that crows adapt to us. They use cars and traffic patterns to crack nuts and get food.