[HN Gopher] Error Handling in Baby Toys
       ___________________________________________________________________
        
       Error Handling in Baby Toys
        
       Author : dave-x
       Score  : 130 points
       Date   : 2024-04-01 15:29 UTC (7 hours ago)
        
 (HTM) web link (brainbaking.com)
 (TXT) w3m dump (brainbaking.com)
        
       | monocasa wrote:
       | Kind of reminds me of Gray code, who's whole shtick is being a
       | sequence which only changes one bit at a time. If you see two
       | bits change you know it's an error condition and can handle that
       | explicitly.
       | 
       | https://en.m.wikipedia.org/wiki/Gray_code
        
         | robryk wrote:
         | Or just a very quick change?
        
           | monocasa wrote:
           | With a Gray code you typically try to oversample to where
           | it's either not an option to change that quickly, or
           | represents an error in its own right if it does.
        
       | bombcar wrote:
       | Once you recognize this you see it all over the place in kids
       | toys. The current "toy record player" for example uses this - the
       | "grooves" in the disk are just to press the switches in the
       | "arm".
       | 
       | This one: https://www.walmart.com/ip/Fisher-Price-Classics-
       | Record-Play... (the old 1978 one was just an actual "record"
       | player).
        
         | petsfed wrote:
         | I have one of the old ones. The head is actually a music-box
         | style mechanical movement, with each "track" of the record
         | corresponding to a particular tone. A standard music box has
         | the notes of each tone embossed on a cylinder, or has pins
         | installed at the location of the notes. As the cylinder
         | rotates, the lands (that is, the raise part) of the embossing
         | hits or plucks the strings/wires of the musical part. With the
         | fisher-price toy, instead of a cylinder, its a disk.
         | 
         | I've been meaning to figure out how to spec out an appropriate
         | torsion spring to replace the one in mine, as all of the songs
         | sound a bit slow these days. I'd also love to write a program
         | to convert some songs from midi into a 3d-printable file to
         | make my own records for it.
         | 
         | I had no idea its from 1978, although that tracks with how old
         | my siblings would've been when they got it.
        
           | bombcar wrote:
           | It was made for quite awhile; they show up on eBay and thrift
           | stores quite often.
           | 
           | I actually have a half-dead one, but I'm probably never going
           | to actually fix it.
        
         | buildsjets wrote:
         | They offered both the music-box model and the actual record
         | player model back in the '70s. Source: I was there, and had
         | both of them. I still have the actual record player, and a VERY
         | beat up copy of "Mickey Mouse Disco"
        
           | petsfed wrote:
           | That is amazing, and also kind of a durability nightmare. I
           | wonder how they designed the needle assembly to withstand the
           | rigors of 6-year-old operators.
           | 
           | I must've been 12 or so before my parents would let me even
           | touch the record player on their stereo. Not without reason,
           | to be sure: the stereo's 8-track player had been
           | irretrievably broken before I was born when one of my
           | siblings decided that it looked hungry and fed it a peanut
           | butter sandwich.
        
             | bombcar wrote:
             | Record player needles are surprisingly durable if you don't
             | really care terribly much about fidelity.
             | 
             | And the most common issue can be solved by bending it back
             | down so it rides the groove again.
        
       | cancerhacker wrote:
       | The toy emitting "ut oh" on invalid input reminded me of a
       | phonics toy - I think it was either a schoolbus or caterpillar,
       | where phonemes could be pressed and it would sound them out
       | "g-oo-d" "d-aw-g" - but if as a bored parent you tried "sh-ih-t"
       | or similar it would emit "sh-<heeheehee>" I always wondered if it
       | was localized per-market.
        
         | bombcar wrote:
         | This was likely in response to things like the famous phone
         | incident - https://www.youtube.com/watch?v=ebv51QNm2Bk
         | 
         | If you were the guy coding one of those, and you saw that, I
         | could easily imagine putting in a special case, just for fun.
         | The _aha, I could fix that_ we often feel.
        
           | Dwedit wrote:
           | There was an infamous case of some obscure Macintosh
           | educational software that had a feature where it would read
           | back text that you typed in. It even included a swear filter
           | to prevent it from saying bad words.
           | 
           | However, there was also a race condition/out of bounds memory
           | read issue that caused it to stop reading the text you typed
           | in, and instead start reading words directly from the swear
           | list.
           | 
           | https://www.youtube.com/watch?v=sZQmL-PKr8Y
        
         | Cerium wrote:
         | As an opposite experience I bought my daughter a dump truck at
         | Costco and got a good laugh out of it - it has a bunch of
         | phrases, many are common. One very uncommon one is "Wow, that
         | was a big dump!".
        
           | compootr wrote:
           | reminds me of the better call saul toilet:
           | https://www.youtube.com/watch?v=dR1m29cNVsc
        
         | vorticalbox wrote:
         | I have one that's a dog with the letters on it and my son was
         | happily pressing away, turns out of you hit "b" then "I" It
         | says "b" "I" "itch".
        
         | Vedor wrote:
         | When I was a kid, I had a toy gun that would start with kind of
         | distorted phrases, then continued with shooting sounds. I think
         | it took me a couple of years before I understand that the voice
         | was yelling something akin to "Baldy! Get the f... over there!
         | <shooting noises>"
        
       | aaronax wrote:
       | I also recently analyzed the binary encoding of a baby toy.
       | 
       | https://aaron.axvigs.com/content/leapfrog-fridge-phonics-dec...
        
       | benkuykendall wrote:
       | I couldn't really understand this paragraph. Maybe I need a
       | worked example?
       | 
       | > Bit rotation can be implemented using a combination of bit
       | shifting and or operations, and on a hardware level, with
       | different locical XOR ports. That's of course just one way, and
       | you still need a way to identify the number without confusing it
       | with another figure. Although I don't think that last was
       | implemented: if you select your starting bits in a smart way,
       | there won't be any overlap. The identification system here uses
       | 14 bits, and all of the figures have either 6 or 7 1s, making it
       | even possible to completely ignore bit rotation and just rely on
       | the relative position of the enabled bits to do the
       | identification. I'm of course merely guessing at this point.
       | 
       | Not sure what it means to "completely ignore bit rotation" and
       | "just rely on the relative position of the enabled bits", those
       | sound like the same thing to me.
       | 
       | To throw my speculation out there, I wonder if this is just done
       | with a lookup table. If we use a byte (generous) to identify each
       | figure, then a table indexed by all 2^14 bit patterns will take
       | less than 17kb. No need to do anything more clever.
        
         | pvillano wrote:
         | I think the codes follow the pattern 1111110xxxxxxx. 1111110 is
         | the header, and xxxxxxx is the data. The program rotates the
         | bit string until the first seven bits match the header. This
         | always produces the same data because there isn't a 14-bit
         | string that can be rotated in multiple ways to have 1111110 as
         | the header but different data.
        
       | Waterluvian wrote:
       | We have this remote control spider thats fun but a pretty low
       | quality Shenzhen special. One of the silly things about it is you
       | can "crash" the code by managing to press forwards and backwards
       | at the same time. The result is that it permanently tries to go
       | forwards until you remove the batteries.
       | 
       | Toy software and error handling is fascinating and often fun to
       | find the bugs.
        
       | mysterydip wrote:
       | Related but a nod from a toy engineer to parents: my daughter had
       | a toy baby gamepad when she was little. The D-pad and four
       | buttons made different sounds when pressed. I decided to try the
       | konami code (up up down down left right left right b a) and it
       | went through a special sound sequence then said, "you win!"
        
         | buggy6257 wrote:
         | I have this exact toy for my daughter I think. I would tinker
         | with it a bit, I think just the fact that you hit a certain set
         | of the buttons was enough on its own - I'd have to find the toy
         | to test but I have heard the same voice stab but didn't do the
         | Konami code.
         | 
         | Sorry to be a spoilsport! :)
        
           | mysterydip wrote:
           | Could be that it takes any 10 buttons in a row, but there's a
           | specific sequence of sounds that it does when you enter it,
           | along with "you win!" that I don't recall happening with
           | random keypresses. It's been a while, though.
        
             | cluoma wrote:
             | I had my son's lying around and it definitely happens
             | consistently with the konami code in both the 'learning'
             | and 'playing' modes.
        
       | doabell wrote:
       | I remember encountering an arithmetic toy which had buttons for
       | 1-9, as well as +-*/. If you pressed 6/2 it'd go "three", but 7/2
       | would be "Haven't learned that yet". Though that was pretty fun.
        
       | jonathanlydall wrote:
       | I found it fascinating how my baby/toddler used to somewhat often
       | get iPhone UIs into a weird state. Like it was half rotated, or
       | had UI elements weirdly stuck in places they shouldn't be.
       | 
       | Clearly iOS has bugs where this can happen, but it requires a
       | combination of actions that would be very bizarre for anyone
       | older than a few years to be able to do consciously.
        
         | justusthane wrote:
         | Babies are great at fuzzing UIs. My 6mo daughter managed to
         | call my wife from my locked iPhone, which I didn't even know
         | was possible. The necessary sequence is:
         | 
         | 1. Attempt to unlock phone 2. Tap "Emergency" 3. Tap "Medical
         | ID" 4. Tap the emergency contact to call
         | 
         | She's also subscribed us to Amazon channels multiple times
         | playing with the Fire TV remote.
        
           | encom wrote:
           | >Babies are great at fuzzing UIs.
           | 
           | So are cats.
        
             | scotty79 wrote:
             | My cat hard-rebooted windows 95 pc just by walking on the
             | keyboard.
             | 
             | No dialogs, nothing. Just immediate black screen and clean
             | boot afterwards.
        
           | xandrius wrote:
           | Not really an example of fuzzing the UI, as that's a feature
           | someone at Apple implemented following someone else's design
           | and approval. You were just unaware until then.
        
             | justusthane wrote:
             | Well sure, but she didn't know that. So she found a feature
             | by fuzzing the UI.
        
       | ToucanLoucan wrote:
       | Now if only we could get error handling in products for adults!
       | It is astonishing to me and my friends how utterly useless so
       | much modern tech is when things go wrong. It seems the default
       | now is just an "oopsy doopsie, something went wrong! sowwy"
       | message usually accompanied with some attempt at charming art or
       | just a sad face emoji. Half the time we don't even get an error
       | code, let alone a course forward to debug it.
        
       | jedberg wrote:
       | It's fun being an engineer and a parent. You find yourself just
       | naturally exploring these things. I came to the same conclusions
       | about the toys with the binary switches, and also tried to do the
       | unused combos.
       | 
       | But my favorite were the toys that require the kids to twist or
       | push buttons in a sequence. It had no batteries so it was all
       | mechanical, and it was fun trying to reverse engineer the
       | mechanics so that it only opened the door when the right combo
       | was used, but also didn't seize up when the wrong combo was used,
       | and you didn't have to "reset" it to start over.
        
       | uxamanda wrote:
       | I've spent a bunch of time disassembling a baby toy recently to
       | do some circuit bending / adding to my synth setup. I'd be
       | curious if anyone here has done any of that and has any fun
       | results to share. I got stuck because I need a more precise
       | soldiering iron, but hope to post some results at some point.
        
       | LanceH wrote:
       | I've had the idea of making clones of the most popular baby toys,
       | but make the volume on them much, much lower. Exact same toy,
       | much less volume. There you go, billion dollar idea. Run with it.
       | 
       | I don't get why all the children's toys need to be so loud. These
       | things are held inches away by a child with presumably good
       | hearing, yet they can be heard rooms away.
        
         | xandrius wrote:
         | If someone misplaced their kid, the could simply start playing
         | with their favourite toy and the kid would invariably come out.
         | 
         | It serves as a baby-retrieval device (BRD in the lingo).
        
           | thih9 wrote:
           | It's the other way round.
           | 
           | If you hear toy noises from the other room, you know where
           | the baby is and what the baby is doing (and if the toy goes
           | silent you go investigate).
           | 
           | Then again, grown up music is not immune to loudness wars -
           | it shouldn't be surprising to see the same attention grabbing
           | mechanism in kids toys.
        
         | sphars wrote:
         | As a parent of young kids, so much this. Many of these toys
         | have a 3-way switch, Off, On-Volume Low, On-Volume High. The
         | high setting is way too loud, and the low setting should be the
         | high setting. And then there'd be a new low setting, lower than
         | the original low.
        
         | janci wrote:
         | A piece of clear sticky tape over the speaker grille usually
         | works wonders.
        
           | kevin_thibedeau wrote:
           | I do this for piezo buzzers in a ported plastic housing. Tape
           | silences them then you poke a hole with a tapered needle to
           | control the volume to the desired level.
        
         | mattlondon wrote:
         | Because when you can hear the toy going when you are several
         | rooms away, you know the kid is still there and still playing
         | with it. So you can be in the kitchen doing housework or
         | whatever and hear it over clattering dishes etc.
         | 
         | When the noise stops, you know they're up to something they
         | shouldn't :) Nothing more worrying as a parent of young kids
         | than silence!
        
         | probably_wrong wrote:
         | Adam Savage of Mythbusters fame has a video on how to quiet
         | those toys. As it turns out, putting a resistor in line with
         | the speaker is all you need.
         | 
         | https://m.youtube.com/watch?v=VvJUWKu6khc
        
       | Tade0 wrote:
       | > That said, this article proves we have way too many battery-
       | powered toys that make noise...
       | 
       | I was never bothered by that. The real trial by fire for a parent
       | are wooden toys - really loud when they hit the floor, can
       | actually hurt and don't have any batteries to pull out.
       | 
       | Anyway my daughter has the most recent generation of Furby given
       | by a friend of mine working for Hasbro, whose annual bonus is
       | apparently paid in kind.
       | 
       | The toy is pretty sophisticated with actual, though rudimentary,
       | voice recognition and the ability to detect and record speech,
       | which it repeats to you with different effects, but outside from
       | that follows a pretty strict script and I was unable to produce
       | any errors.
        
       | bitwize wrote:
       | One of the vocabulary words in the TI-99/4A's speech synthesizer
       | accessory was "UHOH". If you used CALL SAY from Speech Editor or
       | Extended BASIC, it would spell out words that weren't in its
       | vocabulary and emit an "UHOH" for any symbol it didn't understand
       | (and it understood very few, mainly + to reduce the delay between
       | words like "SIX+TEEN" and # for multiword vocabulary items like
       | "#TEXAS INSTRUMENTS#" and "#HANDHELD UNIT#" (early TI-ism for
       | joysticks)). If you made the mistake of leaving alpha lock off
       | and typing your speech string in lowercase, you got a long stream
       | of UHOHs.
        
       | ggm wrote:
       | Had two with tiny chiptunes ICs. 1990s vintage. A keyboard had a
       | "turn me off" beep sequence and then did a 2 tone "battery flat"
       | and stopped. The other was a flip phone which played "merrily we
       | drive along" if you pressed a magic key sequence we never
       | memorised, and faked out a police car siren on another, which was
       | moderately distressing.
       | 
       | The keyboard had 2 key rollover and was a bit bistable which one
       | persisted. I think the keypress reader algorithm was possibly on
       | a slow timer?
        
       ___________________________________________________________________
       (page generated 2024-04-01 23:00 UTC)