Industrial Automation & Automatic Code Distribution
I have been experimenting with a Python firmware for industrial automation. The system is designed around a custom UDP multicast discovery protocol. Additionally, I am addressing the various issues and challenges associated with automatic code distribution.
High Speed PCB Design
EMI and noise mitigation. Transmission lines and impedance mismatches, crosstalk, return path of HF signals, board stack and power/gnd planes, geometry of tracks, etc.
Small scale manufacturing on demand
Obsessed with the D2C JLCPCB / SendCutSend / Xometry playbook: instant quotes, deep customization, no premium. None of the old circus of phone tag, sticker-shock quotes, and “come back when you hit our minimum.” This feels like a big change, and, in my opinion, it’s one of the ways we will save the American manufacturing base. See also The Zero-Inventory Hardware Company I.
Finite Difference Time-Domain Simulators
Back in the day, I was extremely interested in numerical analysis techniques for modeling computational electrodynamics. I spent an unhealthy amount of time optimizing FDTD algorithms to run efficiently on the hardware available in the early 2000s.
Formal Languages Grammar & Compilation
I dropped out of my Ph.D. program, “Pattern Recognition and Artificial intelligence”. Although I did not complete it, I developed a strong interest in Digital Signal Processing and Machine Learning. Over the years, I extensively explored Formal Languages, particularly RegEx and template compilers. As a result, a commercial product was born, Kit55, a templating system based on JINJA2/Nunjucks. It is optimized for SEO and has been used to generate this website.
Statistics
Machine Learning gets all the hype these days. Sometimes it is treated as a kind of panacea when, in reality, it is just another tool in the arsenal of data engineers. A significant portion of the so-called “data problems” can be solved with standard statistical modeling methods, such as linear regression analysis or ANOVA.
Computer Graphics
Building EM propagation visualization tools introduced me to Open GL through DJGPP initially, and later Allegro, a graphics library widely utilized by video game programmers. Since then, I have developed a strong interest in the fundamentals of Computer Graphics, building complex editors and and user interfaces for various projects over time.