[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)