Thursday, November 06, 2025

Lemons Can be Turned into Lemonade

 A Lesson from Pacificon 2025

At this year's Pacificon, I witnessed something that's bothered me ever since. I’ve used MMDVM for many years, for both (very) casual operating and as a development platform for three different projects. MMDVM makes digital voice work great for many amateur radio operators. The history that was shared at Pacificon from Jonathan Naylor’s pre-recorded presentation made the value very clear. However, during the Q&A after the presentation an audience member made a request. He asked if the project could work on a real-time translation feature so hams from different countries could communicate more easily through their hotspots. I got excited about this because it made so much sense. With AI in the news all the time, this could be done. And, I’d recently spent a lot of time improving my German for a trip to Bochum and recently helped get audio transcriptions reliably working in the radio interface program for Opulent Voice. I immediately grasped the value of being able to understand people without a language barrier and saw an obvious way to get it done. 

The response from the presenter, Jim Mclaughlin KI6ZUM, was incredibly disappointing. After some dissembling, he said “This isn’t on the list that ARDC gave us, and we have to do all we can to make them happy. So, the answer is no, we are not going to do this.” 

I don’t know Jim personally. He is involved with MMDVM. He was the presenter for the MMDVM talk. He also gave the keynote at the Pacificon banquet, which was also about MMDVM. Jim repeatedly praised and flattered an organization called ARDC during both of these talks. They are a wealthy foundation that gives money to amateur radio projects. The source of that money was a community asset from amateur radio that ARDC was supposed to manage for the amateur radio community. ARDC sold the asset without involving or notifying the community in advance of the sale, and now the same organization privately controls all the money. ARDC hired Jonathan Naylor to work on MMDVM. ARDC is now paying for some of the boards or prototypes. So, ARDC are providing a lot of cash, including a salary for Jonathan.

This was surprising to me because I was told as far back as 2018 and 2019 that ARDC would not be paying salaries. I got a lecture directly from Phil Karn KA9Q, the President of ARDC, about, as he put it, the “purity” of ham radio volunteerism, and how ARDC was for the “passion” of it all. 

Now, Phil did not and does not have any management experience. Neither did anyone else at ARDC. I was told, in person, that anyone asking for salaries in their grant applications at ARDC would be denied funds because it was “inappropriate”. ARDC was strictly about funding technical open source work in amateur radio. I believed this, but the grant managers told different things to different people. Over the years, the number of people with confusing or conflicting information from ARDC staff has steadily grown. 

ARDC are very much a “he who has the gold makes the rules” type of organization. Like any other private foundation they have little to no oversight and multiple members (past and present) on their board of directors have been quite clear in emails and other writings about wanting to influence, guide, and shape amateur radio. There is very little curiosity about what the community wants. 

Good for them. There is nothing any of us out there doing volunteer technical work can do about this. We deal with this exact sort of thing at churches with big donors, we deal(t) with this at the NSF, and we deal with it in politics and government with Super PACs. Those of us that work at large companies have additional perspectives on what happens when a small number of people control a very large amount of money. 

I have thought a lot about what happened with this particular audience member’s question. After thinking about it and reconsidering it carefully I have to say that I do not like it at all. MMDVM was (and still is, and will continue to be) a highly successful open source project. It was built by hams, for hams, and was worked on by volunteer contributors. But someone leading that project just told us at Pacificon that a feature request gets a NO because it wasn't on their sole funder's priority list. Jim didn't say “Thank you so much for the question! That's so interesting, but we lack the resources" or “Hey let's discuss the technical challenges." Jim said he had to keep their grant provider happy. He didn’t say anything positive about the request at all. It’s a genuinely good idea and aligns with one of Part 97 purposes of amateur radio in the United States. We are supposed to increase international goodwill. This could be better accomplished if you could understand people from other countries. 

When open source projects accept big cash funding, the power dynamics matter a lot. This is true of any project, including projects at ORI. Independence and good governance is something that ORI board keeps front and center. We restate this in every newsletter, when we print “We equally value ethical behavior and over-the-air demonstrations of innovative and relevant open source solutions.”

Jonathan has been hired full-time by ARDC for several years now.  This is a deserved and wonderful thing for Jonathan, a person I deeply respect. However, external funding means MMDVM now has a stakeholder with full paycheck power. The rest of us just can’t compete with this. If you think you can then please understand that you cannot. If your boss tells you to do something, then you do it. Why? Because the implied threat is that if you don’t do it, you are fired. Once outside money gets in and is allowed to control agendas, an organization accepting money has fundamentally changed. 

A person at our table asked quietly “If MMDVM needed money then why wasn’t that something we heard more about?” This is a good question, and it has several good answers. Did MMDVM appeal for funding and we all missed it? Was there a way for grassroots support to show up? It’s incredibly difficult to ask for money. Having successfully raised funds from Burning Man to the San Diego Catholic Diocese, I can assure you, raising money is hard. It’s also nearly impossible to demand that the amateur community support you professionally. Even if you have a wildly successful software or hardware product, we are not talking about a living wage in either Europe, the UK, or the United States. Or many other places. Engineering altruism in amateur radio is rich white man’s hobby. ARDC has not changed that. They have personified it and calcified it. 

Money coming in from a single large donor can solve a lot of problems, but the agenda-deforming problem exists even when the funding comes from a highly regarded foundation, like the Ford Foundation or Melinda Gates. It might be a gentle Heisenberg uncertainty principle, but it’s still there, even when the funding institution is genuinely professional and supportive. When it is coming from a foundation that has messed up relationships with multiple projects and demonstrates entitlement and immaturity, then we have a worse situation. 

ARDC has had multiple conflicts with highly technically competent people with proven track records in amateur radio. These conflicts date back well before the surprise sale of community assets, and involve people in networking, open source hardware, and open source software. Some argue that they may as well sell the assets “because people weren’t using them anyway”. This begs the question. An organization that squandered their opportunity to manage a uniquely powerful gift is not the right organization to manage an amount of money larger than the global annual amateur radio equipment market that was raised from that gift. Distribute the money proportionally to licensed amateurs around the world. There’s about 3 million of us. That’s about $50 a person. Just do it. That’s what these addresses are truly worth to the community. Funding a few projects at a time that manage to blunder through the questionable technical review process is piecemeal and inefficient. If the asset wasn’t worth keeping and managing correctly, then it isn’t worth hoarding. Give the money to the people that truly owned the asset. 

As an amateur radio community, we wanted MMDVM digital voice. And we got it. The history lesson from Jonathan at Pacificon was delivered through a recording. Jim said Jonathan couldn’t travel any more, but didn’t give any details. The people that counted in the history presentation were operators and contributors. MMDVM in the past absolutely cared about what hams wanted to see come alive in their stations. What we heard at Pacificon is that MMDVM now cares primarily about what will satisfy the grant requirements. It’s the way of the world. People kiss ass toward whoever controls their resources. 

I believe that ARDC supporters and some of the staff and some of the leaders must think that they are helping. But, everyone knows that when you're the one writing the checks, your priorities become the only priorities. Features from the community that aren’t what’s on ARDC’s list will get rejected, just like we heard at Pacificon from Jim. What are these lists? There wasn’t anything in the talk about a list. The future plans were a bit off, to me, as a digital communications specialist. The radio chip selected can handle up to 500 kHz. This is more than enough to start accommodating modes that are wider than the relatively tiny ~20 kHz amateur radio digital voice modes. All of the legacy and traditional-minded voice modes have very low bit rate vocoders. All of them. This is a self-imposed limitation that we do not need to commit ourselves to again for another generation of MMDVM hardware. We can and should be doing better. This is one of the many reasons why Opulent Voice exists. Opulent Voice on MMDVM can’t exist if we keep hamstringing ourselves with mid-1990s style digital voice protocols and very small fractions of what the hardware selected is capable of. I did ask why the artificially low bandwidth for new hardware in MMDVM, and Jim gave an answer that boiled down to “we are using the old sampling rates”. That’s fine. I can see the hardware direction and make an MMDVM that works at 80 or 100 kHz instead of ~20 kHz. I saw nothing in the bill of materials or block diagram that couldn’t be adjusted to accommodate better voice quality and a modern design. 

All money comes with strings. Sometimes those strings are named out loud. What Jim said, quite loudly, was that he needed to keep the funders satisfied if he wanted the sugar to keep coming. MMDVM isn’t going to take on anything risky now. Because it will risk their funding stream. 

This is how open source innovation dies. When you stop trying stuff and start following someone else’s strategic plan. This is not because MMDVM is bad or badly led. It’s a natural life cycle of organizations. They start to think they speak for the community instead of representing it. We at ORI can guard against this all we like, but it’s a risk for us as well, as we continue to demonstrate quality work and make quality contributions across the spectrum. 

Our amateur radio reality is about experimenting and R&D. Money changes people. ARDC is giving out a huge amount of money. Sudden influxes of millions of dollars changes communities. MMDVM could not even recognize the quality of a question from the audience at Pacificon because of fear of losing funding. We saw an idea shut down. Open source works because it’s from the users. It’s not from some sort of big powerful institution saying that they got a strategic plan, and need to be loved and appreciated. When we see someone that came all the way out to Pacificon asking for something that doesn’t exist yet “no, because our funder hasn’t asked for that” then we've lost something essential about what makes projects like MMDVM so incredibly valuable. 

MMDVM and projects like it should remember who they're really building for because it is not ARDC. It's for us if we want to use a mode. Or try a new mode. Or keep a mode in when MMDVM wants to kick them out. It’s guys who think a translation feature would be pretty cool. That's the community that made MMDVM possible in the first place. He deserved to have his voice heard, grant priorities or not. 

Therefore, the Interlocutor project will investigate adding translation support to audio transcriptions. We’ll do it all in the open, through our GitHub repository. And, we’ll submit an article about it to ARRL’s magazines. It’s the least we can do to help increase the utility of open source digital radio products on the amateur radio bands.

Friday, October 17, 2025

The Song Remains the Same


Situation:

(Man in Amateur Radio Organization) behaves unprofessionally. He claims in writing that work doesn't exist when it clearly does. That work was done by ORI. ORI is Open Research Institute, a non-profit R&D firm I co-founded and work very hard for. 

The organization in question is one that some of us at ORI have been involved with since 2010. An ORI-led team contributed a very large amount of work towards this organization's recent project attempts. We were told that this work was presented back to their funding agency. That now appears to be not the case, which is very disappointing. 

What I want to talk about today is that ORI is facing a situation where an individual at the organization we were working with has hijacked the project. He is demanding to be in charge. He is centering his own unreviewed and closed source work. As if previously delivered and accurate open source work didn't exist.

We can put up with individual volunteers behaving oddly in clubs and organizations, but the lack of credit back to the funding agency is a serious problem. When organizations fail to credit significant contributions back to funders, then the only chance that contributors have to show the work is taken away. This was a deliberate choice on the part of the organization, since all of the work was communicated and explained and presented multiple times. We were told that our report was part of the report back to the funding agency. 

What did this individual man do?

* Wrote rambling, self-aggrandizing manifestos
* Worked solo without peer review
* Made territorial claims ("I'm the Chief Scientist")
* Used emotional language and ALL CAPS

The Organizational Board's response? "We need to give him a title so he doesn't leave! He's so passionate!"

So we do what we do at ORI. We continued to behave professionally with the full support of our volunteers and board members. 

The team I organized from the community, to support this organization, delivered peer-reviewed, collaborative work. The work is substantial, accurate, and useful. And, it continues. Current work is about the amateur communications products that will work for this particular recurring event.

What did we do at ORI?

* Documented everything properly
* Proposed formal partnership structure drawing in a competent and productive team
* Set clear boundaries and expectations
* Maintained professional standards

This organization's board-level response to an offer of a formalization of the existing relationship? 

"This seems too formal. We're worried about what could go wrong. We need to think about it."

This sort of thing happens all the time.

It does not matter how good of a job you do in tech. If you are not a man, you will suffer a significant disadvantage. There is nothing you can do about this. Your perfect and professional work will be discounted down below a problematic man's work, every time. 

Translation from what I've seen so far?

This particular man's ego and entitlement = "passion" and "dedication"
ORI standards and boundaries = "difficult" and "risky"
This particular man's solo cowboy approach = "leadership"
My successful collaborative methodology = somehow threatening
This particular man's demands for recognition = gets a title
My request for appropriate attribution for all = "we'll think about it"

This is textbook double-bind. Women in technical fields face this constantly. If you're assertive and set boundaries: "Too aggressive, too formal, not a team player"

If you're accommodating and flexible: "Not leadership material, let the men handle the serious work"

If you have credentials and experience: "Intimidating, making people uncomfortable"

If you're collaborative and open: "Not confident enough, lacks vision"

You literally cannot win because the game is rigged.

Meanwhile, this man can write a manifesto that reads like a combination of a silly TED talk, a ransom note, and a product pitch ("Time flies pretty fast... NEVER GIVE UP!") and they call him "Chief Scientist."

No, he does not formal credentials or any job experience in science.

The organization's board isn't scared of this man leaving. They're scared of managing a man's feelings.

They've decided it's easier to give a man an undeserved title, let him claim credit he hasn't earned, platform his work over a really wonderful team, and then ask me to "be understanding".

They would rather do this than to tell him "no, you need to work collaboratively and professionally."

This organization is treating him like a brilliant eccentric who needs coddling.

This organization is treating me like an HR problem that needs managing.

That's sexism. 

It's related to the "Genius Asshole Pass", which we see a lot in engineering and open source work. 

There's a long tradition in technical fields of giving men a pass for terrible behavior if they're perceived as "brilliant" or "passionate."

The bar for "brilliant" is remarkably low. This man wrote some Python scripts with ChatGPT help and hasn't had them peer reviewed, but sure, "Chief Scientist."

Meanwhile, I lead a large nonprofit technical organization. We have more members on one channel of our Slack than this organization has paid members. We delivered peer-reviewed work with an actual team of people that were invited, recruited, supported, and credited. The work was done by people and sources were properly cited.

We have successful partnerships with multiple international sites doing this particular type of work and we maintain professional standards with them. It's just not a problem.

And this organization is still "not sure" if a partnership with ORI is valuable?

If I were named Michael and this dude had a woman's name, I guarantee that the emotional, unprofessional manifesto that he/she posted to their membership would have been dismissed as "dramatic" and swiftly deleted by moderators. 

And ORI's formal partnership proposal would be seen as "strong leadership", if it came from a man instead of a woman.

Their board would have no problem telling a woman spouting off in an undirected and emotional manner to work more collaboratively. They'd be eager to formalize the relationship with Michael's (instead of Michelle's) reputable and successful organization.

Understanding the sexism dynamic in technical hobbies like amateur radio results in some powerful teachings. 

1. This cannot be fixed with better proposals or better work products

No amount of professional communication will work because the problem isn't our approach. It's their unwillingness to hold entitled men accountable while simultaneously taking women contributors seriously.

2. Staying would require accepting unacceptable terms

To stay engaged, we'd have to accept less credit than we deserve, watch a less qualified man get recognition for work already done, do emotional labor to manage everyone's discomfort, and compromise professional standards. That's not a partnership. That is exploitation with extra steps.

3. Walking away is the only move that preserves any dignity

ORI can't make this organization value the completed and ongoing work. But we can refuse to participate in a system that devalues what we do.

Organizations like this one think they're choosing the "easier" option by placating the man and avoiding conflict with a competent woman. They're actually choosing failure.

When the project hits technical problems (and it will), they'll discover that a mediocre, uneducated, unserious man's "passion" doesn't substitute for rigorous analysis. His solo cowboy approach means no one can validate or build on his work. His ego makes collaboration impossible. They've burned the bridge with the professionals who could have helped. He can steal the open source work and present it as if he did it, but he is not capable, and the lack of any interest in inclusion and credit kills the goose that laid golden eggs. This organization is not building the future. 

So, the good news? ORI does have organizational relationships for this project that apparently don't have a problem recognizing competence regardless of gender. Four in fact. This organization we are talking about today is absolutely not the "only game in town". We don't have to put up with this bullshit.

That's the best possible outcome.

It's worth acknowledging that this sucks and it's unfair.

We did everything right and still got marginalized because a man with less professionalism and less expertise threw a tantrum and the organization we're trying to work with decided managing his feelings were more important than recognizing our substantial, public, and high-quality contributions. Yes, we've been privately thanked! But this dude has been repeatedly and loudly and publicly platformed and titled and rewarded. A quick private thanks while lavishing repeated public praise and titles on a dude is a really disappointing outcome. Do they really not think we can all see the difference? 

It's okay to be angry about things like this. 

We are making the right strategic choice by distancing ourselves away from trying to work this organization in this particular field. 

Some fights aren't worth fighting because the system is broken at a foundational level. This organization's board has shown us who they are. We need to believe them. 

Wednesday, August 27, 2025

Hardware vs. Software

The mission at ORI (https://openresearch.institute) is educational, personal, and professional advancement through open source digital radio work. The vast majority of this work is done on the amateur radio bands, simply because it's the best choice for experimental work. We use FPGAs, processors, ADCs, DACs, and a pile of other circuits to get work done. 

When it comes to basic electronics competence, we are seeing (in general) a recession or decline. People that used to go into RF hardware in college, for instance, are much more likely to choose computer science. This is primarily because of the perception that it results in more income. There are fewer people, and fewer young people, that have any idea on how their bits are handled electrically. Some are totally unaware of registers, except as a target for program values. In the best possible case, this is totally ok. You shouldn't need to know details of the transistor model your processor has in order to write a  while(1) loop. Specialization means you have to start taking others at their word when you are given the "go flight" signal. 

However - the decline in RF/hardware engineering is mirrored by the influx into computer science, coding, boot camping, etc. 

Is this a problem? Well, the market doesn't currently think so. Markets currently reward pure computer programming solutions at very high rates, and we're generally pretty stingy when it comes to hardware development. But is it a problem? Yeah, it actually might be.

We now have a lot of people with coding skills that don't understand the circuits that their code runs on, and/or cannot do basic electronics. We also have a shortage of people that can produce designs that support a very demanding computational market. 

And that is a problem. It's a problem that will play out over a longer term than any computer science or coding bubble will. We will continue to have a lopsided and self-limited approach to computing if we put all our energy and attention in the computer instruction category, and none in the instruction set and hardware category. 

What will the eventual re-balancing look like? 

Thursday, May 15, 2025

In Answer to a Question

Amateur Radio Digital Communications (ARDC) sold a bunch of internet addresses that belonged to the amateur radio community. ARDC was supposed to administer these IPv4 addresses and allocate them to individuals in order to promote non-commercial digital network communications and experimentation. 

Unfortunately, it was unnecessarily bureaucratic to get an address. ARDC could best be described as "sleepy" and "sclerotic". This was annoying and frustrating. There's plenty of stories about this online, so I won't go on about it. Just one example, two very different projects I was personally involved with were told we could have *one* IP address. One! When the entire 44 block was going begging, and we just wanted a couple dozen for a mesh network and a sensor network. After two rounds of this silliness, both amateur radio projects went to other orgs and used other IPv4 resources, and that worked out really well. 

When I moved to San Diego in 1996, I volunteered to help out in any way I could. All of the people involved in ARDC were in San Diego. I got a bizarre response that boiled down to "fuck off". I asked around and this was pretty much "normal, just the way these people are". The IPv4 addresses were not being used, no one really knew about the service, and the rules were clunky. It's like everyone involved with ARDC wanted an internet that did not exist, and they were all unaware of SDRs or how connections could be used. Other alternatives were found. 

At one point, I got yelled at by an ARDC person about using NAT, or network address translation. OK, exactly what am I supposed to do otherwise? This solution worked very well. And, it took over a month to get a rejection when I asked for a single static IP address. 

Apparently, I wasn't the only one that moved on after getting rebuffed by the purity police. 

ARDC internally decided that "the scene was dead" and then cashed out. They sold the 44 IPv4 block to Amazon in a secret deal. ARDC announced the sale after it happened, insisting that the block of IP addresses personally belonged to the small group controlling ARDC, and *not to the community*. There was no advance notice or discussion about this. 

This is documented elsewhere and lots of people objected. But, the sale went through and no one could do anything about it. There were some lawyers consulted, but going up against new money millionaire "grabby hands" is expensive. The cost to win was more than anyone's mortgage. People that were upset about this, some of the more active folks, quit digital amateur communications over this development. It was easy to understand why. 

The very large amount of money, compared to the economic value of amateur radio activity, seemed to brain-worm its way into the individuals controlling ARDC.

The global amateur radio sales amounts are on the order of 200 million $USD. ARDC suddenly raised $150-180 million. This cannot do anything *but* distort the community. And, it has.

Principals at ARDC were not up to the task of using the money for the good. They are not up to this task to this day. There's been some turnover, as opportunistic low-energy folks left and professionals moved in to take advantage of such a large fund, moving out some of the original clueless money-grabbers.

This sale, and the redefinition of the mission of the organization, from helping hams do modern things to extracting very large amounts of money from the community and then controlling who gets tiny bits of it, happened in the 2017-2020 timeframe. It continues on to this day. 

ARDC didn't just gank the money, but has also interfered in grants given to worthy organizations. They wanted to not just own, but also control, the money.

M17 project was funded by ARDC, and managed by ORI. ARDC then decided to meddle in this grant to Open Research Institute, Inc.

The result of the bizarre meddling was that ORI immediately returned the remaining money. All goals of the grant, plus bonus work, had been achieved, things were going very well, there was extra money left over. ARDC was acting weird. ORI got out and moved on. M17 was given lots more money after this, and completely failed to execute. 

M17 just doesn't attract attention like it used to. There isn't a leadership team. ARDC isn't involved any more, having repeatedly declined to answer recent emails from M17 leaders, after spending $500,000 on the project. Only a fraction of that money was spent with competent oversight, and the work done during that period is the only work that worth using. This isn't the only story about botched oversight and silly interference with grants. Yes, some grants worked out ok. The cost to the community and the damage done is, to me, much worse than the "good" of making sure that there's yet another tower trailer in yet another club, or that a closed DSTAR repeater system can upgrade some hardware. 

If you like unregulated money in politics, you'll love unregulated money in amateur radio. That is exactly what we have with a private foundation confiscating a public good, that they were supposed to administer. They should have returned the property without covering it to private grabby hands. The salaries alone from this boondoggle have enriched a lot of non-hams, lawyers, and accountants. It's honestly very sad. 

Take exceptional care when dealing with ARDC. Understand that they demand to be "loved" and "feared" in an Old Testament type of way. They didn't get this appreciation when they mismanaged the 44 block into obscurity during decades where the internet gained complete dominance, and they definitely want it now that they have more money (in USD) than the global amateur radio market. They really and truly believe that might makes right, and their money gives them control over amateur radio. 

I don't have to guess about this. They told me so, repeatedly, in person and in email. This bad behavior is a stain, and it's not the way things were supposed to go. 

How to Learn Python

Casually considering learning Python; do any of my friends use it?

Yes, all the time.

Any recommendations for someone considering learning it?

There's no good replacement for mentoring when it comes to coding. It's by far the best way to get to the point where you are bending space, time, and information to your will to create art, predictions, or automations.

A very significant factor in getting confidence is: a balance between learning enough formalities and syntax that you can express yourself, and having a genuine enthusiasm for implementing something you care about and knowledge about. You can learn all sorts of lists of rules, but that won't do much if you aren't inspired, because coding can be kind of annoying from time to time.

Since you are already obviously and truly inspired about a project, you have the hardest part behind you. Now comes "how do I describe what I want to a computer".

A sharp memory I have of early web was the original http://word.com.

Which, fortunately, is documented here: https://deadword.com

This was one of very few times that HTML was truly used in anger, the way early internet enablers envisioned and intended.

Yes, you can use frameworks intended for interactive fiction. Yes, you can go with the flow and use their recipes and accept their axioms and follow their frameworks. This way offers you the least amount of discomfort and gives the maximum return on investment of time.

It limits the upside and puts a box around things. This is not bad and is probably what you should do.

But I will indulge in some interpretative dance with apologies to Prince.

Electric words, alive.
Start from TADS, Adrift, Inform and save a lotta time.
But I'm here to tell you that there's something else.
Invent it new.

If you use Python, then it's worth using it in an object oriented way. What does this mean?

When you think of interactive fiction - the artwork that people encounter - then what does it look like? What do readers see/manipulate/use, big picture? What are the *nouns* involved? Those are your Python classes (at least the ones that you start out with - you are going to add others, divide classes up, combine classes over time). Your list of classes - which are the things you are bossing around - will change over time the more you play with and challenge the ideas of interactive fiction. 

When you think of interactive fiction, what does it do? What moves, what unfolds, what happens? In other words, what are the *verbs*? Those are your class methods (functions).

When you think of interactive fiction, what are the *things that keep track of things*? That hold a *state*? Do page numbers matter? Maybe, maybe not, but "where am I" is probably useful. Bookmarks? Number of times something has happened? Preferences of the reader? Those are variables (or constants) and these are called class members.

Class members and class methods belong to a class. The sets of classes make your model, or program. Figuring out what classes you have, and what members and methods at a minimum are needed to model your reality, is the living and breathing soul of coding up in Python.

The more time you spend drawing it out, doodling it up, and playing with how things are cut up into classes, the easier the coding will go. This is absolutely the more important thing about writing code that works. Design, document, code, test. Do not code, design, test, and then blow off documenting. It will be crappy code and harder than it has to be.

Again, you can dive right in to TADS and get something working in days or weeks. You will never have to lift up the hood and go wow what the hell is all of that stuff under there.

These two paths are not mutually exclusive. You can try out the off-the-shelf stuff, and also step back and ask yourself what art *you* want to achieve with your model of reality. Something different, better, more innovative. This will be harder.

Asking an LLM to help you might be good or might not be good. LLMs work really well when you already know how to code, because the answers you get can and often are horrifically wrong, yet are confidently asserted to be correct to you. LLMs are sycophantic by design, so it's totally easy to feel that they're just trying to help. They're a great tool for shortcutting some of the tedious work and Python is a language that most LLMs are pretty good at, because of how much open source Python code has been stolen to train their pattern matchers. LLMs are good for getting tutorials. If you are a beginner, ignore attempts to cut you entirely out of the writing process until and unless you can write a class without really thinking much about it.

Smooth seas never a good sailor made. LLMs are not on your side unless you keep them there.