Sept 5, 2022
I have recently built a small robot as a test platform for an advanced robotics project. Huh? Let’s put the advanced robotics project aside and talk about what I actually have. I have a working robot that can detect hard collisions and the code is 120 lines of CircuitPython (not counting the libraries used to be clear). I can write a lot more code, but there’s no point to make it overly complicated until certain goals are met. Those goals: detect soft collisions, detect false-positive accelerations that are not collisions, and store information. While these may seem pretty easy to overcome, the thesis of this blog post is that they are not.
Let’s start at the very start. When I was young I wanted a robot. I didn’t know why very well, but I knew that I did. I bought Handbook of Advanced Robotics from a used bookstore, a bunch of motors, balsa, wheels, and other RC stuff from my local hobby shop, and started building. After building quite a few uncontrolled cars, I realized that a lot of the robot lies in control. It did not occur to me until I reached university how much. I tried to build an ornithopter and after propulsion failed on that project, I went off to university and gave up on robots. As time went on I worked on electronics and realized that while I was better than average at soldering, I was particularly bad at finishing projects. Each project had an obstacle. Not only did I lack experience as a young person, I lacked the necessary support to complete projects of even modest difficulty.Read more »
June 9, 2020
This blog post will be a bit weird but I'm trying to find my voice besides the IRC world and the inner world that I've been navigating for more than 20 years. I don't think it's going to be easy, so think of this more as a reference than a blog post. In other words, don't read this blog post unless you're on a path like mine where your stuff has become a deep rabbit hole. Today's rabbit hole, as well as monday and sunday's rabbit hole has been EXT2.
Backstory: I'm writing a kernel and I need a filesystem. A simple one would make my life easier but would then make everyone else's life harder. Do I want to do that when I'm writing a game that is intended to teach people how to write hundreds, even thousands of kernels? Do we want everyone in this tree of learning to be harmed because I wanted to play my game sooner? Maybe. Maybe.Read more »
Nov 23, 2019
This is an unorganized but researched look into the purpose and sense of whitespace -- in programming, prose, poetry, and potatoes.
The most critical uses of whitespace I can think of in my past are: Python syntax, $\LaTeX\ $, PDF, HTML, novels, and E. E. Cumming's r-p-o-p-h-e-s-s-a-g-r. I shall dissect them and we can discuss in the comments about what their purpose is.Read more »
How do automobiles work? What are the core principles of automobiles? Why haven't I owned one until recently? Why do I own one? The answer to these questions and probably more may appear in this blog post.
Let's start with a bicycle, my preferred mechanism of transportation. Despite slander that occurs against it, bicycling is one of the most efficient forms of transportation that exists. I'll get to why below. Why would anyone need anything else? Well, bicycles are terrible modes of transportation for long distances. I live far enough away from work to make cycling a bad commute. I can do it, but not 5 days a week, not even 3 days a week. Bicycles are light and provide significant advantage over walking, running, swimming, kayaking, driving, and bussing, but in a very short range. Anyone who says they bicycle to and from work everyday lives a short distance from work or can cycle for a significant amount of time. How far is the furthest I've heard someone commute by bicycle? 17 or so miles up hill both ways is about the furthest and the cyclist was in terrific shape. The furthest I've cycled daily is 5 miles each way. It was so difficult that I could only ride 4 times per week, leaving me at home 1 day per week.
Efficient? If you are limited to only cycling 50 miles per week, your carbon footprint is almost non-existent. Remember that your footprint is eating and then breathing, something that all drivers must also do. If you eat more than a driver (which is silly to consider), it won't be much. Then where does all that energy (kinetic: ½mv² and potential: mgh) come from? Well, it's pretty clear that it's the pedaling you do. But everyone should exercise. Cyclists just do it on their way to work instead of at a gym or running in a circle. Have you ever exercised before? So let's compare a car and driver to a cyclist.
Random carbon footprint calculator says a car emits 1.03 metric tons of CO2 driving 2500 miles.
Another random carbon footprint says that the average American emits 20 metric tons of CO2 in a year.
But these are not good comparisons because the average American drives to work. The average person in the Netherlands rides a bicycle to work and emits 10 metrics tons of CO2 in a year. So the amount of carbon emission between a cyclist and a driver can vary by 10 metric tons per year. A car driving just 5 miles each way only emits 1.03 metric tons, so we're talking about an order of magnitude difference in carbon footprint. Alas, this doesn't solve the problem of whether bicycles are more efficient than cars, but it does provide us with some scale.