Sidebar

New Stuff!

Secret Society Passwords

(Inspired by the challenge to enter Papa Midnite's Club!)

This code was originally thought to be a simple password, but later became considered a test of wisdom and understanding as much as a test of membership.

It has the property that a spy who overhears the code works cannot repeat the challenge himself, and according to legend, tests your ability to see how a situation will play out in the future, making it beloved be occult and psychic societies, and your ability to clearly describe an event, making it popular in politics.

Our secret password we agree on beforehand is a selection of one each from these pairs of opposites, plus one number between one and five.

Hot/cold
dead/alive
calm/angry
rising/falling
wet/dry

This password together is called the secret place, and the number is always described as a “day”, for herein we describe the conditions in a location. For example, a secret might be “The secret place is hot, dry, dead, angry and falling on the third day”.

Our challenge which a guard speaks to an guest is one each from two lists of words, described as a quantity.

Challenge Nouns

The first list is thought to represent the main character in the start of the story, and from it combined with the secret place, our guest must determine the main character of the next part of the story.

Frog:

If dead, the response word will involve flies
If alive, the response will involve water

Stone:

If hot, the response word will involve a lizard
If cold, the response word will involve snow

Man:

If calm, the response word will involve a ring
If angry, the response word will involve a sword

Tree:

If wet, the response will involve a fruit
If dry, the response will involve fire

Ghost:

If rising, the response involve a song
If falling, the response involve a scream

Challenge Places:

Our second word determines the place where the story is set. It is the place for which the Secret Place describes the conditions, but described only in generic terms.

Island:

If wet, the response description will be dancing
If dry, the response description will be crawling

Mountain:

If calm, the response will be watching
If angry, the response will be grieving

City:

If rising, the response will be strong
If falling, the response will be weak

Desert:

if hot, the result will be one
If cold, many

Ocean:

If alive, the sailors are working
If dead, resting.

Challenge Numbers

Finally, we come to the number, which is very simple. The response is the continuation of a story that will always take place one day after the number in the challenge, UNLESS the challenge is the same as the day of the secret place. In that case, the story takes place “On the last day”.

Examples

Secret Place: “Hot, wet, dead, calm, and rising on the fourth day”

Guard: “One frog on an island”

Guest: “Flies are dancing on the second day”

We obtain this because frog+dead=flies, island+wet=dancing, and the number one becomes the second day.
In modern times, both the Secret Place and challenge are given publicly, as the intent is to test the guest’s wisdom more than to test knowledge of a code, and even a stranger may be welcomed if he speaks well.

Changing the Story

In some cases, the answer won't really make sense, as rings and snow do not scream, etc. In these cases the guest has full freedom to speak any sentence he wishes, so long as it involves all three elements. In some cases the words may not even be literally used, but only alluded to, or described with synonyms.

Local tradition will often dictate certain things, however, and you may raise suspicion if you do not understand this.

For example, in some circles, responses to “two people” are special. If the response involves a ring, the response may be spoken as “A wedding”, and if a sword, “a duel”. If the story takes place in the city, responses to “One man” may be met with something like “The weak man steals the ring on the last day”.

There are also various traditions in seaside towns regarding the ocean. A response to “one man in the ocean” in a dead and angry place may be met with “The captain sleeps with a sword on the fourth day”.

Large numbers of men in the ocean may be referred to as “a mutiny”, but this is never used except in angry places, with the exception of the Thieve's Guild of one city, who have great regard for secrecy, and only use the mutiny in calm times, as a nod to the idea of “Striking when they least expect it”.

These and many other traditions contribute to the use of this code even in the modern age.

In some cases, the secret place may even be given in public together with the challenge, and all who understand the system(Or the local variant) even strangers, are welcome.

2021/05/11 20:49 · admin

Programming is NOT like woodworking

Software is unique in that it is easy. Complicated math algorithms, web scale, or client demands, or any number of other things make it hard, but coding itself is not difficult.

Woodworking, like drawing, painting, driving a car, sports, musical instruments, and everything else a person might see value in, are not easy, unless you're like, using CAD and CNC tools.

There's no process to follow. At some point it comes down to you alone, and your skill with your own hands, and there's no methodology that can save you, no copy and paste from GitHub, nothing like that. There's no easy hello world. That's why people get so up in arms about the minimum wage. I have no doubt in my mind that every fry cook has a harder job than me.

Software is absolutely hands off. If you're doing things right you might never touch anything that matters directly. You'll write the code, trying as many times as needed, and never run it till it's tested.

Software is full of cheats and hacks and shortcuts, and most of the time, the more you “cheat”, by reusing libraries, patterns, etc, the better the product. The more you put the load on the plan and architecture rather than your own skill, the better. The less beautiful, less amazing, and less clever the code, the more it's going to work reliably. And the more you encapsulate and hide things so people only have to see the world through a toilet paper tube, one part at a time, the better.

Building things with wood has cheats and hacks too, in the design stage. And they're great. You can make stuff easy to build and repairable if you're willing to use some tricks and hide screw holes and skip the “real joinery”. You can use rustic elements(which I love), that are very aesthetically forgiving even if you don't cut the board straight.

But that's design. The actual hands on part is as far away from coding as it gets. That's the real challenge of life, the actual doing of things, yourself.

And that's what makes coding different from everything else people do. It has almost no element of “actually doing it” that affects the product, with the exception of math heavy stuff that takes some real talent because math can't be broken down into steps as tiny as basic coding can.

Equating programming to anything else does both a disservice. Why is there a stereotype of coding at work, coding at home, coding in your dreams, and then dying at the computer? Basically eerything else worth doing is hard, unless you were born with exceptional talent.

Many programmers enjoy other pursuits, or want to, and they deserve the truth. There will be no stack overflow to copy from when it's just your hand and the pencil. You practice for a hundred or ten thousand hours as the case may be, and be sure to actually practice, not just do whatever your hobby's equivalent of noodling is.

The fundamentals that in programming seem like useless excercises to build sorting algorithms that already exist, really ARE fundamental everywhere else.

In programming you think you know it all because you can use pip3 install. And it works. The client are happy. Maybe you're more reliable that the smart guys and traditionalists who insist you start with all the CS.

Tech constantly changes, so maybe you do better just by keeping up with new stuff than they do by mastering the science.

But I don't know any woodworkers who use an algorithm to know how fast to cut something.

Trying to compare the two makes software worse, and analog pursuits just plain impossible.

2021/02/26 12:39 · admin

🥚🥚🥚 If they have eggs, get a dozen 🥚🥚🥚


A programmer's wife sends him to get groceries. “Get a gallon of milk” she says. “And if they have eggs, get a dozen”. The programmer returns with 1 dozen gallons of milks.


Some people have complained that this is not funny, or not sufficiently programmer-y because the
syntax doesn't make sense.

But since this joke is pretty much made for overanalyzing, let's take a look at how this could actually happen.

This will make life so much easier!

Being a coder stereotype, he's not an idiot. He can listen with his ears. But in this case, perhaps he didn't.

Perhaps he invented an Alexa-like to-do list app or similar, that allows you to use voice commands
to send texts, but also rephrases the message for clarity. Useless? Maybe, but coders do this kind of toy app all the time.

Sittin' down to code

Presumably the language is some kind of NLP intent processor, not truly a programming language.

The syntax seems to involve locking onto the first object mentioned and treating that as the object to be acted upon.

Presumably someone was trying to write a parser to handle stuff like “Get milk, unless we already have some” or “Get milk, but if they have soy milk get that instead”.

And of course, being a programmer who likes tinkering more than actual software, he probably started with a few examples like that, built an oversimplified model of how commands work, and figured out a contrived way to fit most everyday things into that format.

And then of course, being a big fan of simplicity, he decided that it shouldn't be too hard to just teach his family the limitations of the system, so there was no reason to add a proper parse engine or anything more complicated.

And being the smarty pants he is, using an algorithm to parse this stuff instead of just using his ears seemed like a great idea. With a little sunk cost fallacy the system expanded to be almost a part of his identity that would emotionally hurt him to discard.

And so everyone around him has to deal with this hacked together version of Google assistant, that sends people the distilled summary of what you tell it to text them, which can never be truly useful, because that would be bloat, and can't go away, because that would be giving up.

Her side of the story

But why does his wife put up with it? And why does she feel the need to speculate about the possibility that eggs might not be in stock?

Well, because she is also a programmer. Any great piece of software handles all the errors and edge cases it may be exposed to. She's in the habit of thinking general purpose. There's almost certainly eggs at the store, but it's only a few extra words. Next week they leave for a country that is experiencing an egg shortage.

Might as well do everything the same, consistent, bulletproof way, because it takes less effort than designing the perfect custom solution for every task. You're gonna need to learn the enterprise grade version anyway, don't mess with the rest.

Thoughts at the weekly standup

Or, perhaps, she isn't so much a programmer as a software developer. She makes software. He on the other hand, is a programmer through and through. He clearly loves solving problems and learning new things more than actually making practical apps.

Perhaps it's a good thing that they are married, because pure abstract research sometimes leads to great things, but often just spirals off to nonsense without a few reminders.

Seems pretty plausible to me, even if it requires an uncomfortable amount of gendered stereotypes. But there's not much I can do there, since the stereotypes are in the original joke.

2021/02/13 12:20 · admin

My Little Poopsie (Short Horror Story)


Content Warning!!!
Self harm, harm done to children, abandonment, bullying, becoming psychopathic


You probably haven't heard of My Little Poopsie. It's a doll, like cabbage patch kids or something, only sold in the dustiest corners of clearance bins.

There's only one doll and a few accessories. No other characters, no pets, nothing, although the back of the box shows her visiting a graveyard, but none of the graves have visible names.

Some versions come with a truly sickening DVD, in which she abuses her so called “friends”, none of whom have names, and seem to only exist to get mud thrown at them, have their toys stolen, and apparently keep coming back for more.

The last half hour of this abhorrent disk is just her playing alone, with a dump truck, while the music to her heinous theme song plays.

You're probably thinking, what's the big fucken deal, it's just a shitty doll, right?

Well, no. These things are pure, unfiltered evil.

There's a soccer club in my town, which I volunteer at. I never really wanted, or particularly liked kids, but there's literally nothing else to do after school in Arkansas, except this, or the usual garbage I'm sure you're imagining, so I might as well make myself useful.

I hated all but two of the kids there, but I wouldn't wish this on anyone.

One of the more annoying brats was having a birthday party, which I came to out of politeness, although I personally wasn't inclined to celebrate his birth.

His mom had made gift bags for everyone who attended, pink for girls, blue for boys, full of the usual cheap crap.

Everything went fine at the party. The trouble started later that night. The pink bags all had one of those accursed Poopsies in them, and when they opened them, something changed.

The first incident happened around 9PM, just after bedtime. Little Kelly had got it into her head that she was going to teach Poopsie how to do science. She drew a little pair of goggles on her, and and snuck off to the basement to mix some chemicals.

According to her dad, who is still in the hospital, she came running up the stairs saying “Oopsie Poopsie” in a cheerful voice, and mom and dad went down to see what she had done.

I don't know what she mixed, but when they went down to put out the fire, she didn't make it out. They found him unconscious in the front yard, door open, and the cat long since gone to fuck knows where.

They found her in her room, still playing with her hot wheels, at almost midnight, seeming to be in a trance.

The school counselor calls it PTSD, I call it being a little psychopath who belongs in prison, but then again, what do I know.

That very same night, another girl and her brother got in a fight over the wretched thing, and he fell down the stairs and broke several bones.

They found him unconscious too, and they found her at the top of the stairs, telling Poopsie all about how sorry she was that her mean brother grabbed her like that.

The school counselor called it trauma again, I call it a reason to keep my gun loaded. Shame too, she used to be one of the ones I liked.

The next incident happened the next day. The police came around to break the horrid news, and for some reason, which I kind of hope I never find out, Sue was convinced that the cop was there to take Poopsie away.

She ran out into the street to get away, just as the trash truck came by. The cop runs out to pull her back, and winds up with two broken legs.

But you see, it doesn't stop there. The kid keeps on running down the street till she realizes what happened. Her mom starts throwing up from all the stress, retching in between screaming, and suddenly the kid just stops, turns around, and starts talking to Poopsie.

And suddenly something happens to her mom. She stops screaming, and just sits there, looking totally emotionless, saying “My daughter is gone”, over and over.

And eventually the kid calmly walks up to the garbage man, while he's trying to call 911 on his ancient phone, and she asks, “Can Poopsie drive the truck?”.

His phone wasn't working, but the other cops were already checking in after he didn't answer his radio, and they quickly got an ambulance on the way, and took Sue with them back to the station.

They later found her mom lying in the road, apparently hoping to end it all, and took her to the hospital. She eats and drinks when they tell her too, and never fights about her pills, but they don't seem to be working.

She hasn't said one word to anyone since, or maybe any expression except sometimes staring into her doctors eyes with a look of horror.

I wonder what our useless counselor would say about that.

Sue is apparently staying with relatives, and get this: As soon as she got there, she asked for a toy truck, and they fucking bought her on the same day.

I went to see her yesterday. She still has that damned doll, still plays with her little yellow dump truck all by herself, and now she refuses to wear anything that doesn't match Poopsie.

Grandma even knitted Poopsie a tiny little sweater to match the one she knitted Sue, but she just threw a fit and stomped on them both.

I Guess Haowan Zisi Ltd. and their evil little toy are all the family you'll ever need.

2021/02/07 20:10 · admin

What's Wrong with Modular Electronics

As I was sitting there, miserably soldering together a fairly complex point-to-point and protoboard prototype,
wondering how many weeks of life expectancy the stress of all this precision work was removing from my existence, I thought “Why can't I just use some Grove modules for this”.

But the answer, of course, is that they suck. Majorly and incredibly. Let's look at the ways!

They're education-oriented

Apparently, education-focused tech is designed to teach the fine art of screwing around with discrete parts that you'll never use in real life, and which can't be used to build most of the
stuff that got you interested in the first place.

Everything is done the cheapest, simplest, and most low-tech way with these modules. You
can expect high power consumption, LEDs you can't turn off in software, and lots of old school analog relays.

They use Grove connectors

I don't know what they were thinking with this one. Nobody else uses that connector. Why
they went with them over the very similar and commonly cloned JST-PH-4 is just baffling.

They don't address power management

Generally, the basic design is a main board of some time, which
might or might not have onboard power or a battery connector, with
all peripherals powered by the main board. Generally the main board can only
be powered by USB, or some messy hand wiring to a craptastical module.

How do we fix it?

Not much really has to change. I believe that the existing, extremely common 4 pin standard is good enough, with only one small change, and one supplementary 3 pin standard, combined with
a generally increased quality of the modules.

Modular Power Busses

Power should be much more modular. A new 3 pin connector could be defined, containing
ground, a direct battery connection, and a direct 5-24V Vin connection.

Often a peripheral will need access to some voltage other than the main system voltage,
which is getting to be 3.3v more often than not. Often you will want to power something in
an unusual way, such as from 12v. And quite often you'll want to add a larger battery.

Of course, modularizing power causes problems in the original educational context, as it would
then be easy to build a robot with big motors and overload the little JST type connectors, which may be why this is not done.

It also creates incompatible voltage level possibilities, but this imperfect compatibility
is already starting to become an issue, and most of these issues can be resolved with a simple polyfuse and a little bit of caution (Maybe even a little less than is needed for a handmade prototype!).

Improving the V+ pin on the data bus

Tje power bus on the ubiquitous 4-pin connector itself could be more modularized. All
devices supplying power to that bus should be required to use a diode or similar, to protect against backfeeding.

If the voltage were to be dropped down to 2.4v ish, the whole system
can then be directly connected to an ultracapacitor or LTO battery as a UPS.

This of course presents a bit of an issue, as lots of things run on 3.3 that won't go
down to 2.4.

So it may be best to keep everything at 3.3v. But we can still benefit from requiring mainboards to protect against reverse current. Connecting two mainboards together, or powering a mainboard through the bus connector from two redundant supplies, are very useful use cases.

Another thing that this allows is 3.1vish UPSes. You might not be able to directly connect a battery to the bus, but you can have UPS modules that hold the data bus voltage at 3.1v, and charge
their internal battery when the voltage exceeds this.

The 3 pin power bus

My personal preference would just be to specify a separate power bus connector with 0-24v input, and 0-24v VBat, with the battery pin used to take power from the battery, which would be kept charged by whatever module it's directly connected to.

The VBat would also be overridden by any connected power inputs, no reason to drain the battery when not needed. Most apllications could just take power from VBat and ignore Vin.

Dropping the main data bus voltage becomes less of an issue when the separate 3-pin power connector is available. If you really need a bit of 5V, you regulate down from the unregulated 12vish bus.

Besides, as the 3 pin busses would be specified as unregulated, you can always just run them at low voltage.

As VBat isn't a “real” direct battery connection, it can be powered by a 5.5v boost regulator if you don't actually need 12v.

Now all of your 5v LDOs on that bus become almost 100% efficient!

A 5 pin power bus?

But, it seems that 3 pins is “taken” in the STEMMA system. Perhaps we would be better served by 5 pins. Here we could almost get ATX-like. We have our ground, our 0-24v “VBat”, our 0-24v Vin, plus a regulated 12v and 5v.

Now of course, if you don't any one of these, you just don't use them. But you do parallel the wires in any connectors, if you have more than one. In this way, we have a standard way to
provide 5v and 12v to the whole system.

Another possible variant is lowering the VBat limit. This would make power input tricky, as input modules need to “override” VBat, and doing that from 24Vin requires a regulator.

But, the whole system in general becomes cheaper and easier when we know that VBat can't reach 24V.

Perhaps we could make it 16v. Cheap and easy to design for, but still able to handle the most common use cases.

Misc Madness

Many circuits have things that aren't really GPIO(Already standardized with sometimes crappy 0.1“ headers), don't fit the usual modular idea, and aren't really power inputs either.

These include motors, speakers, batteries, solar panels, and the like.

Many of these have their own standard connectors (Don't let me catch you using non-neutrik speakers!), but the connector is panel mount, and we have to get from the board to the real connector somehow.

One possibility to standardize this would be to define the 6-pin connector as a kind of “Haha lol ur on ur own” connection. With JST-PH and 3 pins in parallel, we can theoretically handle 6A, enough for essentially all consumer audio, robot motors, and anything else.

This is slightly undesirable however, when anything other than power electronics becomes involved.
,and there's a chance to misconnect.

A better option might be to move to Phoenix connectors where possible. Those big chunky things
already let everyone know they had better be super careful.

Still, some kind of compact connector for odd cases that could use high power, does seem to be unavoidable, and there isn't always an existing standard.

More modern modules!

The selection of grove modules usually leaves out the obvious: protected motor/LED/solenoid drivers, opto inputs, DMX drivers, and the like.

Instead of gimmicky sensors with poor calibration, and

Modules with onboard regulators also really need to watch their power consumption in standby.

Closing

That's about it. I really think modular electronics could be good enough for real use in the field, and easy enough for consumers to make their own gadgets, and to enable people to start repairing their own stuff again. We just need a few changes.

2021/02/05 19:54 · admin
start.txt · Last modified: 2021/01/05 17:31 by admin