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. ...