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.