I’ve been thinking a lot about the origins of psychosomatic pain. I’ve had minor brushes with it, just about enough to convince me to take it seriously. I understand that psychosomatic stuff can be insert adjective but I’m convinced there’s at least a grain of truth in it both 1) existing in more cases than people think and 2) being resolvable through emotional healing.
Asking what you would do if you didn’t have a constraint is clarifying because you often realize it isn’t a constraint. Money can limit your scale, but probably not keep you from the attempt.
An interesting story about watermelons, but one part stood out to me –
In 1924, a National Geographic Magazine writer chronicled his adventures in Sudan from 1916 to 1920, in which watermelons played a key role. He enjoyed watermelon tea the locals made—after punching the fruit open and squeezing the flesh to press the juice out—and, in brutal 110-120F heat, endured a six-week journey on which watermelons were his sole source of water. The writer, Major Edward Keith-Roach, complained about being unable to shave during that trip but couldn’t praise watermelons enough for saving his life and making the trek possible.
Marketing comes very unnaturally to me, been reading @visakanv’s marketing blog recently.
This guy is selling a book on how to get a 4 day workweek. I haven’t read the book, but I find myself referencing his blog a lot to people who don’t realize you can just negotiate a shorter workweek.
This is a cool set of comments about soil usage and climate. It’s sad seeing people blame meat production for climate change, since it can absolutely be transformed to be beneficial to the planet. Also, modern factory farming is terrible for the soil in more ways than I realized.
Interesting progress in the field of tinnitus. If there’s one thing I’ve learned it’s that knowledge in the field of medicine is poorly distributed. Hopefully this can help someone.
I had an urge to learn web development, except the sheer amount of stuff out there available to build a website with was incredibly disorientating. As I went around researching each technology/language/framework, I wrote one sentence definitions of them for myself. I’m putting it here and I will update it as I keep learning.
Frontend – Part of the website the user interacts with
Backend – Stuff on the server
HTML – Holds the content of the webpage
CSS – Makes the webpage have formatting and cool colors
Sass – Makes CSS better and allows you to have variables and logic
JavaScript – Allows your website to have dynamic stuff like animations or interactivity
EJS – Generates HTML from Javascript code, not to be confused with Express, Ext JS, ES6
JQuery – A library that allows you to do things that’d take a couple of lines of code in JS in a single line
Ajax – Not a technology but a technique that allows you to update part of a webpage without reloading the whole thing
Bootstrap – A library that allows you to make nice looking websites really fast by including HTML, CSS, and JS templates for things
Node JS – Allows you to have your server run JavaScript. Useful because now you only need to learn JS to do frontend and backend development
Express – Simplifies some tasks in Node JS
PHP – JavaScript but old and different. Used for backend
JSON – Data storage format
XML – JSON but worse
MongoDB – Fancy JSON database
SQL – A language for querying a database
TypeScript – A superset of Javascript which adds static typing
Flask – Python backend framework
Django – Flask but with more built in
Terraform – Create and manage a server on AWS / Azure using code rather than their website
Docker – Rather than use a virtual machine, let the apps share the OS without interfering with each other
Angular – A framework which allows you to create reusable components using Typescript for the front end
React – Angular but different
Redux – Instead of passing data around, put it somewhere central so it can be accessed from many places.
This is going to be a guide by a beginner, but hopefully this will be useful to those with even less experience than me. When I decided to start building furniture, most of the internet basically said, “unless you have $5000 in tools and a large workshop you may as well just get Ikea furniture.” My aim is to clarify that if you want furniture perfect in every way and have a large budget then sure buy a ton of great tools, but if you’re cool with compromises there are ways to get it done on the cheap.
This is the guide I used to get started. For measuring, I just used a combination of paper that I cut, a pencil, and my old protractor from high school geometry. It was a kludge but the results were okay. I also recommend watching this video to understand a bit better how dovetails are cut. My only other advice is that you want to flatten the wood. I had the guy at the lumber yard do it for me but YMMV.
What motivated me to start making furniture was
I have lots of time and not a lot of money now that I’m unemployed
I need furniture
I absolutely hate furniture that doesn’t feel sturdy
I needed a hobby
I decided my first piece would be a table for my entryway. Since it’s super narrow I figured I’d make it 8 inches wide, with legs attached by dovetails. I wanted something that used wood joinery as opposed to just screws because it feels better. Joinery has the potential to be stronger and besides it felt like investing in developing new skills, as opposed to slapping something together.
Unfortunately, if you listen to the internet, you need at least 5 kinds of saws, 15 chisels, 3 planes, etc. I found this difficult to believe since people have been working with wood for millennia. Here’s what my minimum gear list looks like for creating serviceable dovetails
From what I remember the wood cost around $50. All in all, this came in way cheaper than if I bought it. If you factor in the time I spent on it though, I think unless you’re unemployed you should stick to just buying furniture. At least from a value perspective buying is better, although I will definitely make myself some chairs soon because I enjoyed working with wood.
You absolutely need the dovetail saw and at absolute minimum 2 chisels. I’d probably choose ¾ and ¼ inch chisels, although having the set of 4 was fantastic. The chisels are used for chipping away at the baselines of the dovetails.
The dovetail saw is essential because it allows you to cut the dovetails out. Don’t try to use a regular saw you got at Home Depot. The dovetail saw I used was a Dozuki, which I mainly chose because of price. There is a debate between Western vs Japanese saws, which is irrelevant to me mainly because the Japanese saw was so much cheaper.
There are two kinds of saw (mainly), crosscut and rip cut. The difference is that for rip cutting you go along the grain and crosscut goes across. You can try to use the wrong kind of saw for a cut. It seems to work, it’s just very slow and very ugly. Would not recommend it at all. The dovetail saw has rip teeth. I recommend getting a crosscut saw as well. I didn’t and I think that was a mistake. I used the coping saw for crosscutting tasks and didn’t turn out great.
The coping saw is mostly so you don’t spend forever chiselling away. It’s not essential, but seeing how I have been annoying my neighbors with chiselling, I figured I should at least minimize the noise by using the coping saw as much as I can. I used the coping saw to get in between the teeth to cut out the waste. It’s used mostly for making curved cuts, since the blade is so thin you can change direction very easily.
I used the sandpaper to sharpen the chisels. I recommend the (Scary Sharp method)[https://www.instructables.com/Scary-Sharp-on-a-Budget/]. This is essential since I could really feel when the chisels started getting dull.
These is what the second dovetail I ever made looked like. Overall not bad for the budget I had.
I think in general the bottleneck was my lack of a workbench. I mostly propped up the wood on various surfaces as required and was very gentle. I don’t think I’d recommend this, but if you’re careful enough it can be okay. I used a pocket knife and the chisels to get started on saw cuts so the blade wouldn’t slip. I also was very careful to never put my hands downstream of the chisels.
What I learned
You don’t need a ton of tools when starting a new hobby
Furniture is mostly expensive due to labor cost
You can usually get around budget and space limitations
I have a gut feeling that notation is more essential/central to learning than most presume.
In this stackoverflow question the idea is that changing the notation of logarithms and exponents can make learning it much more intuitive and easy.
In this github repo, there are links to notation making a difference in how people experience activities.
Similarly to these two links, there’s the idea that learning to read and write makes a difference in how you think. The language you speak can have an influence on how you think. This is sort of like an extended Sapir-Whorf hypothesis.
Essential to this idea is taking what Feynmann said about his notes seriously.
“They aren’t a record of my thinking process. They are my thinking process. I actually did the work on the paper.” “Well,” Weiner said, “The work was done in your head, but the record of it is still here.” “No, it’s not a record, not really. It’s working. You have to work on paper and this is the paper. Okay?”, Feynman explained.
If we assume thinking actually happens on paper, this all makes a lot more sense. Externalizing thinking onto paper means that you no longer need to keep all information in your working memory. This frees up your mind to determine the next steps you need to take, without needing to remember what you just did.
Similarly, what if notation serves a similar function? Taking the idea of learning calculus as an example, the limit definition of a derivative is technically the same as writing d/dx. This simplification of notation implies an internalization of the principles of that operation. The derivative then becomes a “chunk” that becomes “brain sized”. Something along these lines is Yudkowsky’s Cached Thoughts.
Shouldn’t learning come first and notation simply be a consequence of that? Not necessarily, the idea that notation becomes brain sized is predicated on it being legible. You are constrained by the analysis that’s contained in the notation. For example, multiplying Roman numerals was possible, but due to notation was quite difficult. Roman numerals were fantastic for tallying. Arabic numerals, on the other hand, required 10 different numerals, which meant no more easy tallying. What you got in return though, was an incredibly powerful mechanical multiplication process.
That’s why, before the 14th century, everyone thought that multiplication was an incredibly difficult concept, and only for the mathematical elite. Then arabic numerals came along, with their nice place values, and we discovered that even seven-year-olds can handle multiplication just fine. There was nothing difficult about the concept of multiplication — the problem was that numbers, at the time, had a bad user interface. – Bret Victor
What happens, when you extend this idea? Could certain processes become easier with better notation? By simplifying or improving notation, you can simplify certain actions.
This is reminiscent of the concept of making smaller circles from Josh Waitzkin.
First, I practice the motion over and over in slow motion… By now the body mechanics of the punch have been condensed in my mind to a feeling. I don’t need to hear or see any effect—my body knows when it is operating correctly by an internal sense of harmony… Now I begin to slowly, incrementally, condense my movements while maintaining that feeling… Each little refinement is monitored by the feeling of the punch, which I gained from months or years of training with the large, traditional motion
He describes learning a motion and making it automatic, then refining it for maximum effect. This is the same thing as creating an internal notation for yourself for a physical action. The key is that you must build up a full understanding of what you’re doing before attempting to make it better. Using notation you don’t fully understand is useless, which is why I think transferring knowledge from one sort of problem to another is so difficult.
The implications of this are –
Memorization is not the enemy. Memorizing certain elements of an action, such as the quotient rule in calc, is the first step in being able to use that in higher level contexts.
Notation is important. How we make things legible to others has a big impact. Explaining physics is a whole different animal if you don’t use free body diagrams.
The way you develop higher levels of abstraction is by developing notation. Constructing a notation, however, is dangerous. Embedding the wrong analysis of a concept in notation can make it even tougher to think clearly. As an example, using Euler angles are intuitive when describing rotations. If you’re doing any sort of computation though, including trying to linearly interpolate between two angles, using quaternions is much more useful.
Understanding this gives you leverage over any topic you learn. The notation and what it implies is foundational to any field and it’s a sort of language you need to learn to speak in order to contribute.
Archery, Distance and ‘Kiting’. A good look into why archery is horribly misrepresented in games. If you’ve ever wondered how horse archers actually worked, this has a good answer.
The Gambler Who Cracked the Horse-Racing Code. I reread this article once a year. I’m not sure what’s so inspiring about it, but it’s nice to see brains triumph over what seems to be random.
Obviously, each of these works influenced me at most by ~0.5% on an imaginary scale. That still is a lot in my opinion for just reading a book or watching a movie. I’m going to try to optimize for works with a maximum influence per obviousness ratio. For example, Star Wars obviously affected me a lot but it affected everyone else too, so it isn’t a particularly interesting work to list here.
Books
Arthur Clarke’s short stories – Scifi in it’s purest form – Blew my mind as a kid. Singlehandedly inspired me to learn how technology works and got me excited for the future.
The Lion of Comarre – One specific Arthur Clarke short story – Made me consider what I want the future to look like. Got me excited about robotics and how that would reshape society.
Matterhorn – Vietnam war novel – There but for the grace of God go I. It was an experience reading this.
How To Be A Victorian – A historical book detailing how Victorians actually lived – Opened my eyes to how people in the past weren’t any different from us today, they just operated under different incentives and constraints.
The Short Happy Life of Francis Macomber – Short story by Hemingway about courage – I read this at a pivotal time in my teenage years when I was taking on a more risk-taking attitude.
Movies
The Secret Life of Walter Mitty – Man goes from daydreamer to global adventurer – Seriously influenced me to become more adventurous as a person.
Tampopo – A Japanese ramen western – It inspired me to take food more seriously. It has an outsized effect on me anyways, I might as well give it the respect it calls for.
The Family Man – I can’t figure out what the moral of this story is. Every few years I change my mind on which path I would’ve chosen for myself. I think when I watched this as a kid it made me consider what role working plays in life.
TV Shows
Mad Men – A show about an ad agency in the 60’s – The only show where I felt like I KNEW the characters. I haven’t ever rewatched it because my memory of watching it the first time is so mindblowing.
Games
The Total War series – Historical RTS games set in Feudal Japan/Fall of Rome etc – Inspired my love of history.
As an introduction to OpenCV and using it with modern C++, I decided to code a Harris corner detector. I’d previously only used MexOpenCV so this was new to me. I’m 100% certain that this could’ve been done more efficiently but I think that I should prioritize moving on to new material rather than perfecting this. Quality vs quantity. This was also my first introduction to makefiles and gdb, but I’ll include that elsewhere.
My main problem when coding this was that I kept mixing up types for cv::Mat. This website was so incredibly helpful for me. I can’t even begin to explain how many errors I had where it was simply because I was mixing up Mat types. I’m not certain why the compiler doesn’t throw an error when this happens, but I might switch to a different one. I also found the at function strange in OpenCV, as in image.at(i, j). Why can’t the be type deduced?
These are the general steps of the Harris Corner Detector
Take the grayscale of an image
Apply the Sobel operator to find the gradient values at each pixel
Compute the gradient covariance matrix elements
Apply gaussian blur to the covariance matrix elements
I wanted to learn this from a sort of first principles approach, so I started with coding a Sobel operator. This is a method of finding the x and y gradients at every pixel of an image. Functionally, this detects edges in an image, which is useful because corners are the intersection of edges. How it works is you take a specific kernel (matrix) and multiply element wise with a 3×3 patch of the image.
Sobel operator kernel
My implementation iterates over each pixel in the image. I hardcoded the kernel, as opposed to creating a Mat, simply because it seemed simpler. I created two temp Mats of int type to store the output. This was necessary because the output of multiplication like this would’ve overflowed uchar. At the end I cast and scale the temporary Mat data to be back to uchar for consistency. You can see the results of running on a chessboard image below.
The original image
X Gradient
Y Gradient
I then needed to calculate the gradient covariance matrix, which is this
If you remember that the Sobel operator calculates the x and y gradients at each pixel, this is just going to be iterating over each pixel in the gx and gy Mats and multiplying as required. I used the mul function, which does element wise multiplication.
This was one tricky part for me. I had gotten to the part where I had to calculate the Harris score, which is determined by the equation below.
I had a problem though. Wouldn’t the determinant of M always be 0? What needs to happen before I do the Harris score calculation is I need to apply a window function to M.
For this I chose a Gaussian blur with radius of 2. Gaussian blur is simply applying a 3×3 kernel to a 3×3 image patch again, similar to the Sobel operator. At the end you multiply by the inverse of the sum of the matrix elements, to compute an average.
Gaussian blur kernel
I tried to do something a little strange here. Rather than hardcoding the values of the Gaussian kernel, I created a loop to fill the values in for me. If I had to do this next time, I would probably hardcode the values in a Mat, then use the mul function. I don’t think I would actually precalculate the values from the Gaussian function, since it’s not too difficult to just hardcode.
Blurred XX Gradient
Blurred XY Gradient
Blurred YY Gradient
Now we can calculate Harris score. I use k constant of 0.04 since that’s what was recommended here. I then create a float Mat called window and fill it with the elements of the blurred gradient covariance matrix. Again, its type float to avoid overflow when calculating trace and determinant. I then threshold based on an empirically determined value (I chose it based on when I was getting a reasonable number of corners). It’s important to note that both very negative and very positive values are what you’re looking for. I then put the absolute value of the score into a Mat. I was considering using a std::vector<cv::Point>, but I wanted the score, as well as the coordinates.
I then ran a quick and not very good form of non maximum suppression. The idea is to find the best corner in an area, and then suppress (ignore) all the others. I iterated over the corners Mat with a 40×40 window and placed the point with the highest score into a std::vector<cv::Point>. I have a gut feeling this could’ve been done much more efficiently, without needing a Mat with all the corners but I’m certain I’ll have the opportunity to reimplement this at some point in the future. The major issue is at the intersection of the 40×40 windows. The image below shows what happens.
I then put all of my corners onto the color image for easy viewing. I seem to have issues with not detecting the corners perfectly on center, as well as the previously mentioned non max suppression problem. This OpenCV tutorial details how sub pixel accuracy can be achieved.
I took ARH 206 at Stony Brook back in Fall 2019 with Prof. David Mather and it was the most impactful class I took in college. I specifically took the class because I thought modern art was bullshit. I’m very happy to say that the class completely changed my view of modern art – specifically seeing the interplay between various artistic movements, how they affected and were influenced by popular culture. I’m writing this from the perspective of an engineer and layperson who appreciates art, so Tweet at me if you disagree with anything. Note – I lump contemporary art in with modern art. My intention with this piece is to convince people that the weird shit in art galleries is pretty cool, not to debate the finer points.
I was always confused by modern art. I didn’t understand the point of it. Older art showed mastery of technical skills, as well as beauty that everybody could appreciate. When you look at the work of the Old Masters, you can clearly see the years of effort and work it took to create such incredibly intricate work. Modern art was always a little weird and pretentious, besides it looked like a 5 year old could make it. I could display a canvas painted white with a black square in the middle myself and nobody would give a shit, so is modern art just marketing? If you take a step back, you notice what I value in art — beauty, technical skill, effort. Now this brings up the question of what exactly is art.
Between you and me, I don’t think anyone knows exactly what art is and anyone who tells you otherwise is full of shit. Let’s rip off Wikipedia –
Art is a diverse range of human activities in creating visual, auditory or performing artifacts (artworks), expressing the author’s imaginative, conceptual ideas, or technical skill, intended to be appreciated for their beauty or emotional power.
This sounds pretty legit to me since it’s a wide open definition and it definitely covers the most important bases. Under this definition I wouldn’t hesitate to label Malevich’s Black Square art. Long story short Malevich wanted to make a painting that wasn’t “of” something. He didn’t want to show the beauty of some thing, he wanted to be completely original and show the beauty of an ideal shape. Now this definitely satisfies the criterion of being imaginative, though a little weak on the technical skill part. Is a square beautiful though? For example look at Piet Mondrian’s Broadway Boogie Woogie. It’s a collection of squares and it’s got colors so it’s not that far off. Is it considered beautiful? Follow up question – do you believe pictures of the New York City grid is beautiful? My point here is that incredible technical skill is not a prerequisite for having beautiful artwork. Another angle to look at this is how nature can be beautiful. A flower is beautiful not because of the incredible technical skill of it’s DNA. It just is beautiful because you like it.
So modern art is in fact art. Cool but what caused that change from making such “beautiful” works like David to throwing a dead shark in some preservative? I’ve heard that it accelerated with the introduction of the camera. Art could no longer just recreate reality, it needed to innovate and differentiate itself. What became important was the artist’s subjective interpretation of a feeling, moment or idea.
I can’t speak to why you should give a shit about modern art. This brings up the question of why you should give a shit about art at all, but that’s for another time. For me, I always felt like I was missing something important. You’d see people reading deeply into a few squiggles on a canvas and I’d wonder what they’d been smoking. Modern art always had the trappings of legitimacy but it was tough to take it seriously. Once I’d learned a little more about modern art I realized how really it runs parallel to pop culture today, which is at least one way it makes a difference in your life.
Drake’s Hotline Bling was definitely a pop culture moment. I only learned later his music video totally cribbed the work of James Turrell. I’m a pretty big fan of Turrell’s. His most famous works are his Skyspaces, which are small buildings with open skylights. They’re illuminated on the inside with color changing LED’s which contrast with the color of the sky. I think this is a super cool idea which really gets you to focus on the color of the sun where otherwise you wouldn’t.
The art you enjoy every day is influence by modern art. Team Fortress 2 impressed me with it’s creative art style that was incredibly unique even today. Turns out it was influenced by the Precisionists.
Another artist that I discounted was Andy Warhol. In particular I thought copy-pasting the Campbell’s soup can wasn’t really that big a deal. One way of looking at his work is that he was the first to bring an appreciation to the artistic value of advertising and marketing. He bonded high art with the artwork the average person was most likely to come into contact with. This was a remarkably egalitarian view of artwork. I personally don’t think his work is “beautiful” but this relates to the Slate Star Codex post on reading things backwards . Imagine what a sea change it was when Warhol showed that advertising could be artistic.
Cut Piece was a piece by Yoko Ono which I was surprised I appreciated. I didn’t think much of performance art previously, but this was something that was really out there. Ono sat on stage silently while the audience could cut her clothing away. It forced the concept of audience interacting with artist to be explicit. It defined the relationship as potentially destructive and aggressive.
Duchamp’s Fountain was also a work that I would have sneered at but grew to appreciate. My opinion can be summarized by the following quotations from Louise Norton.
“Whether Mr Mutt with his own hands made the fountain or not has no importance. He CHOSE it. He took an ordinary article of life, placed it so that its useful significance disappeared under the new title and point of view – created a new thought for that object.”
And
“The only works of art America has given are her plumbing and her bridges.”
The point of this is that maybe you don’t dislike modern art, you might just dislike certain kinds of it. Keep an open mind and explore some different kinds of modern art.