Electric motor intuition
Mar 2, 2023
As someone who’s been working with electric motors for a long time, I’ve seen a lot of newcomers get confused about things like kV, internal resistance, motor size, magnet strength, and how all the various aspects of the motor design actually impact the motor’s performance in different situations.
A note, this page is only going into brushless DC permanent magnet (BLDC-PM) motors, and even then particularly as they pertain to the 10W - 1000W, weight and efficiency sensitive applications, such as multirotor and fixed wing drones.
...
➦
Grow-Ur-Own© 10x software teams
Feb 22, 2023
Twice in my career I’ve had a boss mention “I’ve never seen such a productive team before.” Sometimes it’s harder to see from the inside, but looking back I think I’d agree. It isn’t something I can force to happen, and it isn’t from anything like pulling crazy overtime or just ‘working harder’. It’s more like an emergent behavior of the correct team members, the working environment and the problem that needs solving.
...
➦
Software engineering analogies
Feb 22, 2023
Software is hard because it is extremely highly dimensional. There is all of the state in your program, all of the dependencies and their intracacies, all the footguns in the language you are using, and then finally the complexity of the real-world problem your are trying to solve. Communicating this, and the implications it has on the development of software to non-engineers can be a frustrating experience. Here are a few analogies I’ve found work in the real world to explain why things are so hard.
...
➦
C++, Memory Corruption and Crashes! Oh my!
Apr 5, 2022
A story travelling through the wild lands of embedded C++, following mystery crashes, memory leaks, uninitialized pointers and compiler bugs
Once upon a time, I graduated from university with not a trace of C++ knowledge under my belt, and promptly got a job writing C++. The codebase was running piggy-backed on a Sierra Wireless SL6087 modem, which gave us roughly 0.5 second time slices where we could run our code before we needed to hand back control to the modem and wait for it to call our code’s entry point again.
...
➦
Do you really understand what your software does?
Apr 3, 2022
A motivation for declarative state machines - centralize your state transition logic!
I’d like to think I’ve been incredibly lucky the first place I worked. For a small startup they had a lot of stuff done ‘right’. Unit tests, CI, fast release cycles. KANBAN with retros and planning as necessary. A focus on quality and testing ideas in the market. But from an algorithmic perspective, I think the biggest thing I learned there was to make explicit state machines.
...
➦
Brain dumps, with a side of salad
May 21, 2020
I’ll slowly be writing these out. These are pure brain dumps of how I see the world - internalize them at your own peril.
Maximum impact minimum effort
How to design products for organic growth - product design that works for both beginner and expert users and is easy to maintain and extend
Don’t tell me what to do - effective software design by being as useful as possible without imposing new requirements
...
➦
Product design for organic growth
May 21, 2020
Remember this quote from Alan Kay - “Simple things should be simple, and complex things should be possible”. If your product is complicated for people who need simple things, the learning curve will be too steep and people won’t begin to use it. If you don’t allow the flexibility for expert users, they will move elsewhere when they run into the limits of what you offer, and expert users are what drive organic adoption because people listen to them.
...
➦
Understanding DrussGT
May 21, 2020
Note: this was originally posted on the RoboWiki
Understanding DrussGT (3.1.4) This is an attempt to explain the internal mechanics of DrussGT. As far as possible, no references to actual code will be made. Instead, I will attempt to explain everything in terms of concepts and ideas, so that this turns into a learning exercise instead of one of copy-pasting code. The following expects some understanding of Visit Count Stats , KNN , Guess Factors, Wave Surfing and Robocode Game Physics, so if you aren’t up to scratch with those, this might be a bit confusing.
...
➦