Requirement for SVG Designer

This is a solicitation I am making to SVG artists. If you can fulfill it, please respond to bruce at perens dot com.

I am making a web remote control panel for two-way radios. Here is the meter I have already designed: I am now making knobs, buttons, and switches. When incorporated into my program, these will move appropriately for the device pictured. I’m not an artist, and could use some help. I worked at Pixar long ago, but was a systems programmer, rather than graphics, so I have some competence, but am not really a graphics expert.

What I would like, to start with, would be a knob. These are a good example: but I would like all of the rights to the SVG produced, and I have some specific requirements because the end result will be animated.

I’d like the SVG to be drawn with Inkscape, as that is easily available for people to modify the SVG. My program uses a canvas with the center at 0,0. I don’t think Inkscape can do that, but I would translate the drawn SVG to that origin for my program. The size of the canvas should be 1000,1000.

The knob should have a layer which is stationary and is a disc with a brushed metal effect and a beveled edge, a specular or distant light effect, and a layer which I will rotate by changing the transformation with my program. The rotating layer will be the pointer on the disc. It can contain other parts that rotate.

I will draw the scale around the knob with the same program that draws the scale on my meter demo, it can draw all sorts of scales.

I would like to be able to change the colors of the knob by modifying the SVG. I don’t know if you can do this, but if the brushed metal effect could be a transparent overlay over a solid color, that would work. If this works out, I am also looking for different styles of knob, and switches, etc.

Can you do that, and what would it cost?

Things A Parent Never Expects

My son admitted to his mother and I that he is a regular user of

Mustache wax!

OK, he went through Fire Science classes in high school, graduated high school with his EMT certificate, just in time for COVID, did 6000 ambulance calls, just got his Paramedic certificates, and he’s 22, 6’4″ and on track to work for a fire department. Where handlebar mustaches are somewhat popular.

We’re very proud of him. I just never expected to have a kid who uses mustache wax. 🙂

Utility Forgets It’s Mitigation Obligations

In the 1960’s, the East Bay Municipal Utility District, the provider of our water, and sewers for some districts, built the Woods Reservoir near where I live. Humorously, the acronym for our water company is EB MUD.

The Woods Reservoir included a half basketball court as mitigation – to contribute to neighborhood recreation in balance of the detriment to the neighborhood of a 3 Million Gallon steel-sided, wood-roofed reservoir sited on our otherwise residential neighborhood.

Over the years, EBMUD forgot its mitigation obligation and built its own infrastructure into the basketball court space. Finally, they sent a rather nasty sounding memo to the property owners in the neighborhood demanding that we remove the basketball stand that we illegally left on their property, or they would eject it on to our street (which is private property, not city-maintained). And stating that their reservoir was a “secure facility” and that we may not be there to play basketball.

A neighbor dug up to mitigation documents which will now be presented to the water district.

If you live near any sort of mitigation, it’s important to save documents and make sure they are transmitted to new homeowners when properties are sold.

Signed off Twitter

I’ve signed off of Twitter. They seem determined to sell themselves to Elon Musk, whom I will listen to about rockets and cars, but he’s quite the asshole regarding politics and many other topics.

It’s surprising how many people don’t know my email, which is almost the same as my name: bruce at perens dot com. Please feel free to write.

My phone is also pretty close to my name: +1 510-4-PERENS. Mind the US-Pacific time zone, please. It will tell you if you don’t.

There is also a cell phone for texts, which you can ask for via email.

Your ARDC Grant, The IRS, and The Public Support Test

By now, Amateur Radio organizations and others know about ARDC and their grant program. I’m going to discuss an IRS rule that will be a problem you must navigate if you are a 501(c)3 in the US and receive a large grant from ARDC.

ARDC states here that US-based entities that wish to receive grants must be a “501(c)(3) Public Charity, government agency, school, or university.” For the purpose of this article I will assume that you are in the US and aren’t a government entity or a school. Thus, according to that page, you must be a 501(c)3 or have one as a financial sponsor to receive an ARDC grant.

I have previously been told by ARDC that they will give grants to entities that are not a 501(c)3, but that the accounting requirements are much worse and require your annual financial statements and detailed data about how the money was spent. That’s not an official statement, and I don’t speak for them, so if you need this you should contact them directly.

To continue to be a 501(c)3, a charity must pass the Public Support Test. This test requires that 1/3 of your charity’s income must come from donors who each contribute less than 1/50 of your charity’s income.

So, let’s say that your charity receives a $100,000 grant from ARDC in a tax year, and no other large grants. To pass the Public Support Test, you must also raise $50,000 from donors who each donate $3000 or less. You could achieve this with 17 donations, but it is more likely that you would have hundreds or thousands of donors who each donated a small amount.

The way I have planned to do this for (which is still in the 501(c)3 process and hasn’t asked ARDC for anything yet) is to ask ARDC to double-match donations. In other words, for each $1 of small private donations, ARDC would give $2. Double-matching is a pretty strong motivator for people to donate: every $1 they put in becomes $3. So, I’d probably be able to collect donations sufficient to pass the Public Support Test and get the full amount of the grant from ARDC.

We first learned about this because Open Research Institute got a big grant from ARDC. I suspect it’s so large that they don’t have a hope of collecting small donations sufficient to pass the Public Support Test – and the tax year in which they had to do this may already have passed. This not their fault – the public support test requirement came as a surprise to them, and me too – but the IRS might convert them to a private foundation instead of a 501(c)3, and they might lose the ability for donors like you and me to write their donations off of their taxes.

ARDC is a non-profit and doesn’t need this write-off. It’s smaller donors like you and me who do.

When your organization fails the Public Support Test, it’s called “tipping” in tax jargon, because it causes your 501(c)3 to “tip” over to being a private foundation. This is not the end of the world for an organization, but it’s sub-optimal for collecting donations from individuals and businesses.

One problem here is that ARDC doesn’t want to give their prospective grantees tax guidance, because, no doubt, their lawyers have told them not to – for their own legal protection. So they don’t explain the situation I just have. I am not a tax attorney, or a tax accountant, and you should consult those folks.

What You Get From “Paid Job Search” Companies

During my job search, I looked at Browning and Associates, a paid job search company, and declined to make use of them. IMO there is more than enough online from people who did pay to convince you to take another path. Today I got an email from them presenting a potential employee. I just wanted to present it here, so that people would know what they get. IMO, I can spam people myself, and don’t need to pay for the service. ALL CAPS content was anonymized by me. John Seraichyk and his wife are principals in the company, so he hasn’t been anonymized.

I would consider the client like any other applicant, although I would be a bit concerned that she didn’t feel she could make rain for herself and picked a company that I, in the same position, rejected. Perhaps she’s busy with kids at home during COVID-19, so maybe not her fault.

I am sure that besides letters like this and perhaps some phone calls, Mr. Seriachyk and his wife offer resume polishing and various tips on working with HR professionals and how to present yourself during an interview. This is also stuff you can find online for free, but perhaps as a public speaker I discount the value to some, especially the more shy.

John Seraichyk [email protected] via 10:22 AM (0 minutes ago)
to me

Dear Bruce,

My colleagues may have recently contacted you to introduce an Executive of Information Technology I am working with, XXX. XXX is exploring the possibility of seeking a new executive role and thought you might be interested in sharing your industry experience and expertise. At the same time, she wants to get to know you and share ideas and contacts you may find beneficial.

I’ve come to know XXX as a purveyor of cost savings and a spectacular leader, demonstrating this over the years with her successful management of a project with BIG MEDIA COMPANY where she created a clear vision, model, and execution roadmap for a shared BIG MEDIA COMPANY / OTHER BIG MEDIA COMPANY intellectual property management platform, and integrated all IP and metadata-dependent systems, creating the basis of digital supply chain for ADVERB media company. Furthermore, she designed and led the build of BIG MEDIA COMPANY’s key internal billing system, delivering the program in 6 months with no project budget to save an estimated $10M in outside consulting fees and recoup $500K in lost revenue in the first year; her system is still used today.

Please let me know if you would like a formal introduction. I understand that you are very busy, and I sincerely appreciate your time. Below is her Linkedin as a preview. 


John H Seraichyk
Browning Associates 

AMSAT adds “Don’t Rock the Boat” rule

AMSAT was once the Amateur Satellite organization of the United States. Through years of bad leadership they have essentially abdicated that position, but a proposed by-laws change will put the last nail in that coffin. And their board has made it deliberately difficult for you to file an objection to that change.

The rule changes allows the AMSAT board to deny membership to any member whose character, reputation, or conduct might (their word) make them an undesirable member. The rule change was sent to members in postal mail, and is not available online on the AMSAT web site.

Why is AMSAT enacting this rule now?

Two years ago, three candidates dared to run against the incumbent board, and two won. Many non-profit organization officers don’t ever learn that a contentious election is a fundamental part of democracy, and the incumbent board freaked out. They have never allowed those two people to actually function as board members. The new rule would allow the AMSAT board to expel those elected directors from their board seats, along with other people who have run against the incumbents, those who have campaigned for them, and those most likely to vote for them. The new rule would also allow them to prevent Open Research Institute, a digital Amateur satellite organization, from renewing as a member organization.

Because the AMSAT board doesn’t really want its members to interfere with the enactment of this new rule, they have dictated that objections must be submitted on paper and mailed with a stamp. I encourage you to discuss this online, but none of your discussions will be counted by the AMSAT board.

AMSAT, with the enactment of this rule, could no longer claim to represent United States Radio Amateurs in matters regarding Amateur Satellites, because it would no longer represent all of them, only those members that the board likes.

AMSAT claims to have copied this rule from ARRL. However, they completely ignored Article 11 of ARRL’s articles of association, which limits termination or reduction of privileges of a member to existing prerequisites (like dues) and permits them to expel a member for good cause and after notice and an opportunity to be heard. In contrast, the AMSAT rule would not require notice before denial of renewal, would allow dismissal arbitrarily at the decision of the board rather than for a small set of prerequisites, and would not allow the member a chance to be heard. I don’t know of ARRL actually ever expelling any member in its century-long history, or of anyone leaving ARRL involuntarily for anything but failure to pay dues.

Bruce Perens K6BP

On Non-Judicical Punishment of Individuals

Non-Judicial Punishment is a key part of democracy and free-market capitalism, and highly problematical, at the same time.

In judicial punishment, a judge or jury decide upon guilt or innocence, and the scope of the punishment, working within a tremendous body of rules and processes meant (always with less than complete success) to justly and fairly mete out punishment.

Today’s topic is the less formal method known as “shunning”, and sometimes labeled with the pejorative “cancel culture”. Political officers and candidates have no right to use those two words, since public decisions based on the stated opinions and conduct of individuals and organizations are inherent in the democratic process of government they signed up for, and the constitution they swore to protect and defend.

It’s the way elections work: the electorate is supposed to decide whether to vote for a candidate, or not, based on that candidate’s stated opinions and past behavior. So, we reward the winner and “punish” the loser. We’ve all witnessed how voters are cheated by untruthful sources, but ultimately democracy rests upon a properly informed voter making choices based upon that information.

We decide where we will shop, invest, and sometimes work, based on the behavior of companies and the statements of their leaders and spokespeople. Being able to decide what business you deal with is a key part of having a free market.

However, there is also the non-judicial punishment of individuals: the penalty of shunning that is meted out by large populations of mostly-pseudonymous people on the internet. These people are expressing their 1st amendment right to free speech, often to punish someone who is well worthy of such punishment but will not be reached by any judicial means.

Consider the lack of features of the judicial process that exist in such non-judicial punishment. Obviously, the accused doesn’t get the chance to have evidence heard fairly in a court and evaluated by a jury of their peers. The last time I was empanelled on such a jury, I heard 21 days of testimony from witnesses and experts, and was well able to make a decision, which (as required, or “innocence” is automatic) was unanimous among the jurors.

Nobody works one hundredth so hard upon a non-judicial punishment, perhaps with the single exception of the vanishing breed of investigative journalists. There is no formal “jury”, no standard for guilt or innocence, no sentencing guideline and limit, no accountability among those who mete out punishment.

Most troubling is the lack of any form or end to the sentence other than indefinite shunning. When their sentence is indefinite, the shunned are never given a chance to prove that they have reformed their behavior, and to thus reach the end of their shunned status. An indefinite sentence does not admit to the possibility of reform or even the desirability of reform. Thus, what should be a learning opportunity becomes little more than revenge.

In the news is the shunning of a 68-year-old autistic computer programmer named Richard Stallman, known as founder of the Free Software movement, which you may be more familiar with in its perhaps-less-ideological form, “Open Source”.

Mr. Stallman is personally known to me. I could testify that he is extremely obnoxious. Due to his handicap, he has little perception of what the feelings and reactions of others might be to his thoughts and actions, even when they are based on a talmudic personal focus on freedom and ethics. Thus, his opinions and conduct can be repulsive to others due to errors stemming from his lack of empathy – again, his handicap. Mr. Stallman likes women, but his interaction with them has been awkward and embarrassing in my personal presence, without ever reaching the level of forcing or violence. I can’t speak with authority regarding any of the claims against him that I haven’t witnessed. But the major accusation seems to be that his presence created an uncomfortable environment for women, which fits behavior I have witnessed. This may have acted to exclude greater participation by women in the Free Software Foundation and its projects, and similar is said for environs of MIT where I have no personal experience.

Some time ago, Mr. Stallman became the object of shunning. More recently, the board of the Free Software Foundation, his employer, decided to re-admit him to a seat on that organization’s board after having expelled him – with his own cooperation – for some time. In doing this, I believe that the FSF board felt that punishment should have an end, especially in the case of the first punishment, and should include an opportunity for the punished to demonstrate that he has reformed his behavior.

FSF has been Mr. Stallman’s employer for about four decades. Thus, they are bound by the Americans with Disability Act and other applicable law to make accommodations for a handicapped employee. Mr. Stallman’s behavior clearly has a basis in his handicap. Without at least days of study, I can’t even start to understand the implications of ADA in this situation. Because FSF’s original removal of Mr. Stallman from its board appears to have been a reaction to public perception, I would assume that there are some.

This leaves me somewhat surprised by the behavior of a number of companies and organizations that have emitted rather monochrome opinions. I would have everyone consider the issues I’ve discussed, and elaborate upon them, before they decide to cast stones.

Bruce Perens

A simple IoT protocol

I was surprised that none of the available IoT protocols were able to complete a data exchange, securely, using exactly one UDP packet in each direction. I want a data-efficient protocol for use on LTE-M, which is often provisioned for relatively small amounts of data per billed interval. So, I set out to design one. Here is the first pass, for your comments, please reply to [email protected] .

Simple IoT protocol.

The goal of the Simple IoT protocol is to provide a secure message transport that requires exactly one UDP packet in each direction to complete. During that exchange, data may optionally be sent in each direction. Packets without data (only acknowledgements) need not be acknowledged, if necessary the sender will repeat a data packet until it receives an acknowledgement.

This protocol takes advantage of the 1280 octet minimum packet size guaranteed on IPV6. Use of this protocol on IPV4 is possible, but not recommended, because it depends on all links honoring the same minimum packet size.

Each host is required to have a “secret” which has been shared, out-of-band of this protocol, with all hosts with which it communicates. This secret should be unique per host, and may be unique per peer. The secret is a sequence of octets between 20 and 2048 octets long – the implementation may limit this length.

IPV6 packet: 40 octets.
UDP packet: 8 octets.
Remaining: 1232 octets.

The data-length datum is provided by UDP.
All data are big-endian.

Use some sort of symmetrical encryption. Which one? Provide the option to not encrypt when used on an Amateur Radio link.

Octet Use
0-15 This may only be on the Amateur Radio version, because we can’t encrypt there. The low 16 octets of a cryptographic checksum of the concatenation of the secret and octets 16-end. This is used as both a checksum and a zero-knowledge proof of the identity of the sender. Octets 16-17 of this checksum are saved, and used to match against the acknowledgement from the peer. Which secure checksum algorithm? It needs to be computable in reasonable time on embedded processors.
16 Protocol version (0 for this version)
17 Data version. 0 means “no data”, 255 defined data types.
18-19 Random data (to help defeat attempts to derive the secret). On a dumb device, a sequence is sufficient.
20-32 TAI time in nanoseconds (and I need to shorten this to 64 bits).
33-36 Sequence number. 0 is invalid, the sequence may wrap around to 1 or
start back at 1 when the device or program is restarted.
37 Number of acknowledgement sequence numbers following this datum.
38-n A list of 6-octet acknowledgement sequences. The first 4 octets are the sequence number sent by the peer. The succeeding 2 octets are octets 16 and 17 of the checksum calculated using the shared secret of the peer. These were calculated by the peer, but not sent (on the symetrical encryption non-Amateur-Radio version, I might just use a 16-bit simple checksum here).
Unacknowledged packets may be resent, or dropped and a new packet with new sequence number and timestamp may be sent. Receiving acknowledgement of a packet guarantees that the acknowledgement data in that packet was processed and need not be repeated. Packets without data (only acknowledgements) are not acknowledged, if necessary the sender will repeat a data packet until it receives an acknowledgement. Acknowledgements in data packets may be repeated arbitrarily many times for the previous 1024 packets retrieved (how many times they are actually sent is up to the implementation, but in general only a few repeats should be necessary). The implementation determines the allowable packet delay before resend, and the allowable time difference before sent packets with a timestamp too far in the past are rejected.
n-end Data (a higher-level protocol)

Defined Data types:

0 No data.
1 JSON serialized using Smile []

Draft FAA Comment on the Launch Observer

FAA has asked for public comment on the environmental impact of expansion of operations at the SpaceX Boca Chica launch site. This is a draft comment, about 1/3 done, on the Launch Observer as a stakeholder, a beneficial influence, and an environmental, security, and safety concern. So far, I have mostly got through the part introducing the Launch Observer. This is posted for your criticism, email to bruce at perens dot com please.