# Snippets

My continually updated list of thoughts, comments, and open-questions are a bit to short for a full post and/or which I haven’t had time to properly research/back up which are still worth having online. Be warned: it’s quite an eclectic list.

If you have answers to any of the questions or improvements to any of the ideas, send me your comments via email / Twitter.

Contents

# Feb 2021

## The unreasonable ineffectiveness of robots

Robotics has huge seemingly quite large untapped potential. From self-driving to autonomous drone inspectitons to food production to… it’s a huge list which goes on forever. Yet robots (physical systems employing decesion making - not counting the ubiquitous simple electric motors) are fairly sparse in the real world. 2020 was only the first year that automotive manufacturing shipments were less than 50% of the market for robots(!) This is both a huge shame in terms of waste of human labour doing jobs that we could automate away as well as the lost productivity gains that we could have in so many sectors if robots were widely deployed. Some thoughts about why they haven’t been:

• When you deploy a robot in the real world, you are not competing against the human who’s labour you are replacing. You are competing against the entire system built around that human. This means that the piece being automated is a small fraction of the total cost (think pilots in airplanes or truck drivers - in both cases infrastructure/fuel costs are a much bigger fraction than the labour involved.)
• Regulatory hesitancy - think about all the hype around automated drones for delivery, inspection, etc about 7 years ago. Then think about the fact that the first company got a permit to experiment this only a couple of weeks ago (as of Feb. 2020).
• I wonder how many roboticists have sufficient experinece in a relevant problem domain in order to know what opportunities could materially benefit from automation. The field is already very multidisciplinary and requires a lot of training to get good at - it is a lot to ask to be well versed in robotics and something else that would benefit. Not that it isn’t possible, but this will serve as a strong filter on the number of people who could feasibly start companies in this area.

• As an aside I wonder if this is why so many robotics ventures go after creating a ‘platform’ - because they really have no clue whose problem they are endeavouring to solve in the first place!
• It is also often hard to tinker around with solving your own problem in the same way as software because there is a relatively high barrier to entry to creating a robotic system in the first place, let alone using it in some useful manner that can scale and help material progress.

## Wikipedia Spaced Repetition Plugin

Something I want built that I don’t have time to right now - a plugin combining Wikipedia and spaced-repetition systems. This could be implemented as a browser plugin to crowdsource contributions of spaced repetition cards for key instructional sections on the site. This would eliminate one of the main friction points of using spaced repetition systems - having to create the cards for yourself, made even more difficult when you aren’t well-versed in the topic as you are trying to learn it in the first place! Quizlet is one attempt at this but it isn’t tied to text. I think Wikipedia (or Wikibooks) is a great place to start for a project like this due to the coverage of knowledge, and how often (I at least) go there to learn new information, before promptly forgetting it. It should be feasible to build this on top of Andy Matuschak’s orbit.

## What is the relationship between high- level and low- level thinking?

There is a definite tension between thinking in terms of big-picture ideas and low-level technical problems. I’m often not sure how to think about the tradeoffs between abstract and low-level thinking. It’s easy to say ‘start with the basics’, but there are often too many to fit in your head at once and it’s not always obvious what ‘the basics’ means (eg. if you want to learn Machine Learning, do you need to go back and learn about MOSFETs? Probably not but it may come in handy at some stage - you never know…) I also wonder if it is more valuable to think on the frontiers of abstraction or go back to the fundamentals?

## Thoughts on the structure of FIRST Robotics Competition

FRC relies on a pyramid scheme-like model under which they attempt to lean on existing teams to create new ones (by giving prizes and general prestige to teams which have “spread the word”). This is quite distasteful to some - I know I and many others on my team would rail against it. However I think it is also on net quite positive, due to to the asymmetric upside of starting a successful team.

I am far from a social justice crusader, but one aspect of FRC which is disappointing is how unequal access to it is. The model relies on teams being able to access large pools of capital, usually from well-funded schools, the distribution of people able to access it is

## Does progress depend on hype?

Anecdotally, it seems like most recent progress in the physical world has been acceleratied or made possible by excitement. Elon Musk’s companies are the most obvious examples, in particular Tesla, which would likely have died without the ability to raise huge amounts of capital very cheaply due to it’s large valuation.

I think the case for hype is 3 fold:

1. Getting the right people working on the preblem - innovative products won’t get built unless a sufficient number of people are aligned around a vision. This is less neccacary for software products because you can achieve product market fit before, but probably very important for hardware which has huge up-front capital cost.
2. Funding - similar to 1. SPACs are probably the ultimate manifestation of CapitalxHype (what could possibly go wrong?).
3. Regulators - if people are excited about a technology they will achieve greater political leverage over regulators who they percieve as standing in their way. Uber, AirBnB, and other gig economy companies were able to bootstrap new societal systems on the back of huge demand from their current and future customers.

There is a nice mirror between the tradeoff between checking and having notifications for social media, and between interrupts and polling in low-level systems programming. If you are constantly checking insert social media here, you are likely to waste a lot of time and mental space doing this. However, if you have too many notifications you will constantly get distracted. This is very analogous to the tradeoff between livelock and polling in operating systems. If you have to constantly poll a device you will waste CPU cycles doing it, so you may use an interrupt (which overrides the running process once the blocking action is finished) instead of polling. However if interrupts are too frequent, you end up with livelock. I think many people end up livelocked by notifications from social media and messaging, and people should adopt a more polling-based strategy at the margin.