Tuesday, April 28, 2026

My Own Little 3D World

Over the years I have had the privilege to try my hand at several 3D CAD programs -- in particular, I worked with BRL CAD because I wanted to experiment with Finite Element Analysis, and when I took a course in Finite Element Analysis, the curriculum was based on Ansys. I have also gone through a LinkedIn course on Solidworks (albeit without access to the program itself), tinkered with Blender (but not too deeply, because Blender doesn't work nicely with Finite Element Analysis), and poked at OpenSCAD and tore my hair out when I tried FreeCAD -- but then it was just as it was transitioning from version 0.21 to version 1.0.0.

And, while it's not exactly a CAD program, several years ago I experimented with using quaternions to handle rotations in Python, with the unfulfilled ambition of creating a 3D version of Nibbles called Nibbles 3D.

I'm pretty sure there are other platforms I have encountered and played with, but I cannot think of what they are at this time.

So, while my experience with 3D CAD software has been spotty, I have nonetheless had enough time to find myself frustrated by several platforms. But despite my frustrations, I quickly discovered that, even when frustrating, CAD programs provide a valuable service: when I was first trying to learn BRL CAD, I struggled to convert PDF blueprints into BRL CAD shapes -- so decided I should pull out my trusty compass, protractor, and ruler, and try my hand at drawing the part the "old fashioned" way -- but I quickly found myself trying to pinch and twist the paper drawings trying to get different perspectives!

Why is it that 3D CAD programs rub me the wrong way? Simply put, I have yet to use a 3D CAD program that works the way I think. I tend to think in terms of points making lines and planes and even volumes, I want to describe curves and surfaces with equations, I would like to explore differential geometry and viewpoints that follow curves and other weird things. And I want to move in a way I find natural! But as far as I can see, CAD programs aren't all that configurable when it comes to movement. (Perhaps I haven't just explored enough -- FreeCAD in particular had several options for 3D space navigation ... and it's not implausible that they have a way to create your own conventions.)

I am not alone about my concerns with 3D CAD! One Franklin Veaux on Quora disputes the notion that 3D printing is popular; one of his gripes concerns the state of 3D CAD:
3D modeling programs are currently in about the state word processing was in back in the days of WordStar. There are basically two tiers of 3D modeling programs: primitive, limited programs with terrible user interfaces, and powerful, full-featured programs with UIs that are beyond terrible. I come from a time when it was considered “normal” to buy a commercial program and then copy-paste the BIOS hooks for your particular CP/M machine into the program and assemble it yourself, and modern 3D apps have the worst user experience I have ever encountered. When your program makes patching a CP/M app look user friendly, you’ve made some poor life choices.
In a Formlabs Short, Adam Savage (of "Tested" and "Mythbusters" fame) expressed his own concerns that 3D CAD makes it difficult to create aesthetically pleasing drawings and other things.

So, what the heck would I do differently? I would draw on my experience with Vim and Emacs and Tmux -- make the system highly configurable and extendible. I would draw from my experience playing Descent and make movement casual and completely controllable. I would further draw on game design, adding in real-time collision detection and a physics engine, and even attempt to run Finite Element Analysis in real time. I would like to blur the lines between the base computer language (Common Lisp), computer algebra systems, and computer graphics. When I want to do something, I would like to do it in a nice, intuitive, mathematical way -- a good portion of my frustrations with CAD comes from having to jump through hoops to do what I want to do, and in too many cases, what I want to do is altogether impossible -- but I should be able to define a line anywhere, darn it! and put notes and stuff wherever I want!

I admit to approaching the subject with a tad bit of naivety -- I'm sure that *some* of this has been implemented in *some* CAD systems -- but not really. If I design a part, I want to just "drop it in place" (in some cases, literally), and let the geometry, the physics engines, and whatever artificial constraints I wish to throw in or deactivate at the last minute, all as a natural part of the design process. I cannot do that with any system currently available.

And, having said all that, I'm not even sure I'm "the one" who will make 3D CAD intuitive -- I am, after all, using freaking Common Lisp and Vim and Emacs as my inspiration! I have reasons for doing that, to be sure, but those reasons deserve more explanation.

Perhaps all this is just an excuse -- a way to justify starting from scratch with "first principles", and see what can grow from there -- after all, we live in a world where pretty much everything seems to have been already discovered, debugged, and packaged nicely in little black boxes that let us be ignorant of what's inside -- and, to be fair, to some degree that ignorance is justified, even necessary, if merely because the world is a complex and overwhelming place, and it's impossible to implement All the Things anyway.

Then again, if no one ever starts out from first principles, to learn what we already know, how in the world can we push against the frontiers of knowledge, to extend them beyond what we currently know and understand?

Monday, April 27, 2026

Work as a Junior Engineer

I mentioned in my last blog post that I have started a position as a "Junior Engineer". I did not seek this position out. My wife found it in online Classifieds and sent it to me, about two or three weeks after I cynically applied to about a dozen places to satisfy the terms of applying for unemployment deferment for student loans. (I don't like doing that, because I don't particularly want to work full time, and I don't even know if I can even work full time at this point, but every time I apply, I ask myself "if the job is offered, would I take it and give it my best shot?" and so long as I answer "yes", I figure it's just cynicism and not dishonesty.) I applied as a lark because the position seemed interesting, and I figured that because I lacked a mechanical engineering degree, I wouldn't be offered anything anyway.

In the course of about two weeks, I went through a quick interview process that ended with me being hired!

What the heck am I doing there? As I said before, I applied on a lark not expecting to get this position, so I don't know. My employer, however, thought that between my mathematical background, my tinkering with 3D graphics and CAD, and my software engineering experience, it should be enough for me to take on some of his clients' projects so that he could focus more of his own time on preparing a drone for DARPA. So far at least, he's been right! Right now, I'm working on a project to try to push the limits of physics to figure out if we could recreate a free energy device that the client was convinced he created a couple of decades ago.

What have I learned so far? I really, really, really like 3D printing! I have also learned how to program ESP32 microcontrollers -- which has also reinforced my irritation with C and C++. I have proven to myself I can use CAD programs just fine, although probably in ways that make mechanical engineers cringe -- and although I appreciate OnShape, it reinforces to myself that maybe I can do better. I have learned (from listening to discussions about a coworker's project) that ABS plastic isn't food safe -- which explains why I felt so sick that one time I ate a bowl of Legos. And I have learned I can really, really really enjoy my work ... but still be completely miserable! I have also learned how much time I've been spending on both chores and getting my children to do their chores (mostly by how much chores have just pretty much stopped when I started working full time) -- and thus, if I want to do more of my own things, I need to find ways to get my children to do more chores, and to encourage them to do things on their own accord.

How long can this last? I don't know. My employer will be moving soon, and as much as I'd like to follow him, I don't think I could justify it when I'm only making $20/hour and it would be disruptive for the rest of my family. What's worse, however, is that full-time work completely drains my energy. Unless I can figure out how to work full-time (or whether I need to cut back on hours) and still sleep when I need to, work on my own things, I cannot help but worry that I am going to run myself into the ground.

Free energy, seriously? Isn't that a waste of time? It probably is, but I figure that between the tiny possibility that the client might be right about this, and all the microcontroller and 3D CAD work I've been learning, and the cynical fact that someone is willing to pay for this, even if the task ultimately proves unfruitful, I cannot help but appreciate the opportunity!

Sunday, April 26, 2026

Trying Again, But Maybe Smaller!

I still aintn't dead, but I've been at various states of "invisibly active" and "invisibly inactive" for the past several months. I have done a lot of research into dual quaternions until it petered out, and I have started new work as a "junior engineer" -- I enjoy the work, but it leaves me with absolutely no energy when I am done, making me wonder "how can I both enjoy my work and be miserable at the same time?". This only reinforces my notion that I cannot work full time, even though I kindof want to.

Having said that, I have started taking lisdexamphetamine, and I am amazed at how well I could focus on my work compared to all the other times I've worked. At one point, I tried guanfacine as well, but it made me tired and my mind as slow as molasses (which, in turn, made me completely unproductive the two months I was trying it).

I tried guanfacine because I was blaming my inability to sleep on racing thoughts and distractability I'd get when lisdexamfetamine wore off (as if my mind were trying to "catch up" on all the lost "turbo mode" thinking that had been dampened during the day) -- but it seems that no matter what I try, no matter how tired I am, I can only go to bed at around 2am Mountain Time. At this point, I think I need to figure out how to sleep in, or maybe how I could have a "sunrise" at 3am to reset my circadian rhythms to a time that fits in the schedules of everyone around me.

Naturally, I've thought about burnout a lot during these last few months, and from what I have learned, I get to experience four different types of burnout, often mixed together at the same time! As an autistic, I get to be burned out when I have to socialize a lot, and am never sure if I'm saying or doing the right things. As an ADHD dopaminer, I naturally over-extend myself until I am overwhelmed. As an employee (heck, as a stay-at-home Dad) I get the imbalance of the tasks I'm expected to do vs the "pay" I "get" (I put these in quotes because draining my energy on making doctor's appointments or working overtime leave me little energy to spend time with family or pursue my own projects and ideas, things that no amount of money can make up for!). Finally -- and this has only become obvious to me as I've slowly watched my ability to think deteriorate over the last few weeks of staying up late, waking up early, coming home to nap, and still being too tired -- I have realized that I'm burning out on being unable to sleep the way I am wired to sleep!

So, where does that leave me? My current position is temporary unless I could figure out how to move with my employer when he moves to be closer to family (and thus to flight testing grounds!); for my part, I want to follow him, but I cannot continue working the way I am currently trying to do. I need to figure out how to sleep in more often, and how to be more productive in the evening, and how to carve out time for myself. Perhaps part-time semi-remote is in my future -- perhaps I need to seek "funding" for research, likely via small donations, and forge ahead with the things I have always wanted to do.

One thing in particular that has been on my mind: When I try to write a blog post a day, I tell myself "I'll only spend an hour" and end up spending all day writing up something. I think I need to step back and figure out how to do small blog posts, and maybe take only one day per week or month or somewhere in between to work on something bigger. I cannot help but think that if I am going to ask for donations, I need to do "something" for those who donate!