[HN Gopher] Shitbowl: The algorithmically powered in-home physic...
___________________________________________________________________
Shitbowl: The algorithmically powered in-home physical caching
platform
Author : fallingfrog
Score : 415 points
Date : 2021-02-13 14:20 UTC (8 hours ago)
(HTM) web link (www.shitbowl.com)
(TXT) w3m dump (www.shitbowl.com)
| annoyingnoob wrote:
| I thought this was a last-in-first-out stack?
| adrianmonk wrote:
| It's actually a self-organizing list with the move-to-front
| method:
|
| https://en.wikipedia.org/wiki/Self-organizing_list
| annoyingnoob wrote:
| I suppose the shitbowl supports some amount of concurrency
| and some times O(1) access to more than just the last item.
| DavidPeiffer wrote:
| Thanks for linking! Now I know the name for my strategy in my
| spice cabinet. Most recently used spices go on the right,
| slowly moving to the left with lack of use.
| dmje wrote:
| We've gone large in our house with ShitCupboard (tm), a much
| bigger deployment of roughly the same framework
| allenrb wrote:
| Mine keeps throwing Overflow. How can I open a bug?
| willis936 wrote:
| It's a feature, not a bug. This problem is outside the scope of
| this project and the issue should be filed upstream.
| thomasmg wrote:
| No, you should not open up the bugs. They show up because they
| do an organic search, e.g. for apple products. Simply close
| that source, then the bugs will disappear.
| almost_usual wrote:
| Need a segmented cache to keep out items only accessed once.
|
| Really this bowl needs 2Q instead of LRU.
| rkagerer wrote:
| KOHLER sh*tbowls are harder to implement but you can flush the
| cache.
| madamelic wrote:
| I think you should add machine learning to v2.
|
| LRU is a decent algorithm but it would be much effective if
| Shitbowl could learn my routines and re-organize as needed.
| poxwole wrote:
| You could probably get it funded
| davidschw4rz wrote:
| Very good idea, great potential for being the next unicorn! Be
| sure to hire a growth hacker. /s
| Nextgrid wrote:
| As I mentioned in another comment, this product absolutely
| needs some lights or a buzzer to drive "engagement" in case the
| user doesn't "engage" with the bowl for more than a few hours.
| RcouF1uZ4gsC wrote:
| Since I can't get support from the company, I am posting to HN so
| that someone from Shitbowl sees my post and responds.
|
| I recently got a Shitbowl and threw some coins in, planning to
| use them soon. However, the coins ended up at the bottom of the
| Shitbowl instead of the top. This is definitely a big since it
| violates LRU. Shitbowl has not responded so far to my complaint.
| prtk25 wrote:
| What a time to be alive!
| solanav wrote:
| In-home physical cache... Such an smart observation! Love it!
| [deleted]
| rtkwe wrote:
| Bug report: Item retrieval is not functionally pure and may have
| side effects on the sorting of items in the bowl.
| exabrial wrote:
| High constant factor
| Shared404 wrote:
| Bug closed: User error. All items above the desired item must
| be retrieved and replaced as one bundle.
|
| ----------------------------------------------
|
| Was this helpful? Please rate my service! [ooooo]
| oarsinsync wrote:
| Tragically, with uMatrix installed and default configuration, no
| images load, because external third party JS is needed just to
| load an image.
|
| A parody that plays itself a little too well, sadly.
| rhn_mk1 wrote:
| Works for me, third party image host only.
| elliottkember wrote:
| Tip Top ice cream is a dead giveaway that this is a New Zealand
| product. Also very good ice cream.
| pokstad wrote:
| I tried explaining this to my wife with my laundry pile and she
| wouldn't buy it.
| jedberg wrote:
| The problem with the laundry pile LRU is the extreme bitrot of
| the first items in.
| aldanor wrote:
| Laundry pile needs random access!
| alpaca128 wrote:
| I don't care about that as long as it efficiently handles the
| worst-case of the sock tuple matching problem.
| egypturnash wrote:
| I just implemented a proper cache for unmatched socks this
| morning! I just got a dresser and dedicated one drawer to
| socks embedded in a plastic hexagon matrix, with an area on
| one side for unmatched socks awaiting the re-appearance of
| their mate on some future laundry day.
|
| It is a slow process but it is very low energy.
| dajohnson89 wrote:
| I used this to convince my gf to replace her hideous fake tree
| decoration with a nice bowl for holding stuff instead. This
| might be the most useful HN post for me ever.
| imhoguy wrote:
| Nah, not Internet connected and no mobile app to control it.
| pca006132 wrote:
| We should attach some IoT sensors and stream user behavior back
| to our server, either forward the data to the vendor of your
| item and let them provide some support[1], or do some machine
| learning for credit assessment[2]. And this could be called
| _the world 's first smart in-home physical caching device_.
|
| [1]: https://news.ycombinator.com/item?id=26114194
|
| [2]: https://news.ycombinator.com/item?id=26119312
| dna_polymerase wrote:
| I see you took out the car keys. Drive to your closest Shell
| now for a 2% fuel discount.
| Nextgrid wrote:
| Don't forget adding some blinking lights or beeps to drive
| "engagement" in case the user doesn't engage with the bowl
| for more than a couple hours.
| Shared404 wrote:
| Could we possibly use blockchain to track the state of each
| item?
| alex_young wrote:
| Any advice on implementing HyperLogLog on this? I'd really like
| to avoid map reduce if possible.
| 1970-01-01 wrote:
| I'm going to scale this with Rust and MongoDB. Do you have any
| advice before we spend millions on a prototype?
| rriepe wrote:
| I really wish people wouldn't post stuff like this to HN.
|
| The last bowl bubble was devastating. In 2013 there were
| literally bowls selling for millions of dollars[1]. My kids
| didn't eat cereal that year.
|
| Please consider the consequences of your startups. It's "just a
| landing page" one day but the next, you're _ruining lives_.
|
| [1] https://www.cnn.com/2013/03/20/business/sothebys-china-
| bowl/...
| hobofan wrote:
| I sincerely hope that the reason you are being downvoted is
| that people didn't read beyond the first sentence.
| rriepe wrote:
| The downvotes make it funnier!
| edoceo wrote:
| The heavy burden of the internet comedian.
| _Microft wrote:
| Rust is what distinguishes this competitor's product. I am not
| sure how Shitbowl ensures ownership of stored items.
|
| https://i.pinimg.com/originals/bb/8d/c6/bb8dc61f7bc93b996c71...
| tailspin2019 wrote:
| To enable Sharding: throw your shitbowl against the wall.
|
| NB: Cached items will be need to be reindexed once sharding has
| been enabled.
| detaro wrote:
| If you have a glass one you can even shard the bowl!
| tailspin2019 wrote:
| Um. Yeah. Thanks for explaining my joke :-)
| detaro wrote:
| whops ;) I read it as "spread the contents around widely"
| == sharding at first
| tailspin2019 wrote:
| Equally valid.
| chronolitus wrote:
| The bowl flew right over this commenter's head
| xwdv wrote:
| I cache my shoes by leaving the ones I wear frequently by the
| door ready to be put on. The ones I access less will go in the
| closet and the ones used very infrequently will go to the storage
| unit for glacial level storage.
| leoc wrote:
| Chamber pots. You've invented chamber pots.
| khalilravanna wrote:
| I'll wait for the mainstream IOT Shitbowl with Alexa support and
| an iOS app that destroys my battery life by pinging a server to
| give me notifications for new shit being added to the bowl.
| MetalGuru wrote:
| More like a shit stack
| chronolitus wrote:
| The idea is pretty good, but misses the mark. Bitcoin has shown
| that decentralization is a bad idea. What people actually want is
| Sharebowl: a single bowl, the size of oregon, that you can trust
| to keep your valuables safe.
|
| We plan an ICO by 2022, IPO by 2023, and IBS[1] by next week.
|
| [1] https://www.mayoclinic.org/diseases-conditions/irritable-
| bow...
| tailspin2019 wrote:
| Bravo
| tetha wrote:
| > no backdoor access for federal agencies
|
| Tragically, I have to strongly doubt this is secure against the
| almighty warrant-backdoor for physical security. And once they
| have their hands on the bowl, the content is freely accessible.
| xxpor wrote:
| This implementation is O(n) on retrieval, rather than O(1) as in
| the ideal case. Hopefully v2 will optimize that in the near
| future.
| gnfargbl wrote:
| It is true that it is theoretically O(n) in the worst case, but
| in my own production deployments I have tended to find a huge
| skew towards selecting the most recently inserted couple of
| items. Here the obvious ocular caching optimization leads to
| O(1) time retrieval.
| harlanji wrote:
| That's right. This system has a high hit rate baked in, based
| on matching the data structure to the real world usage with a
| predictable set of content classes. Very elegant.
| [deleted]
| nicolashahn wrote:
| I think the next version, Shitplate, should have this
| improvement. Space complexity is worse, though.
| ThePadawan wrote:
| I am a competitor of Shitbowl, and my product ("Shitdrawer")
| solves this issue!
| schmorptron wrote:
| However, while it's true that your product is O(1) even in
| the worst case, when you look closer it's actually O(1) +
| O(1) even in the best case, as you have to open the
| Shitdrawer to even get the the most recently used item. Do
| you have any solution to this?
| sdenton4 wrote:
| Shitfloor?
| james_pm wrote:
| My kids already invented that. If you want theirs, come
| ask. Includes unlimited eye rolls and muttering.
| drran wrote:
| O(1)+O(1) is just O(11). Not a big problem.
| ThePadawan wrote:
| I would recommend not looking closer!
| james_pm wrote:
| Shitdrawer is the Amazon Glacier of Shitbowl. Easy to throw
| stuff in, generally it stays there very long term.
| zikzak wrote:
| I used to love this product but after a few weeks it started
| to only make the first 15% of the items available. You then
| have to use elevated permissions to remove the cached items
| directly behind these which sometimes results in damage to
| the items or the operator. Please fix this or I'm going to
| lower my rating.
| sgtnoodle wrote:
| Shitdrawer also has a more compelling security model,
| although to be honest shitbowl is more convenient and most
| people think firewalls are good enough whether or not they
| have tons of easily opened ports.
| chapium wrote:
| O(1) implementation is trivial and implemented by most
| teenagers bedroom floors.
| sgtnoodle wrote:
| It depends on how good the hash algorithm is. My 2 year old's
| method tends to have a lot of collisions near the book shelf
| and the play kitchen, and I'm starting to think it's
| nondeterministic...
| isoprophlex wrote:
| But does it have a browser built in? Can I use it to tweet while
| I search for my keys?
| sitkack wrote:
| I signed up for their beta, and have been using Shitbowl(r) for
| about 6 months and the results have been amazing. I can't
| recommend it enough.
| the_arun wrote:
| This looks like a stack to me instead of LRU Cache :). Am I
| missing something?
| FPGAhacker wrote:
| Yes, you can retrieve items that aren't on the top.
| [deleted]
| theginger wrote:
| Critical dos vulnerable. It cannot recover from being repeatedly
| hit with a hammer
| glitchc wrote:
| Can only be operated in a high trust environment ---SMH---
| krylon wrote:
| I think I was having a cultural impedance mismatch, I was
| expecting something toilet-related. Now I am both relieved and
| disappointed, so there goes my weekend. ;-P
| _Microft wrote:
| I heard some people prefer the decentralized approach but that it
| might lead to consensus problems with their significant other.
| tgtweak wrote:
| Proof of relationship
| sitzkrieg wrote:
| tip top cant keep getting away with it
| sanj wrote:
| And people laugh when I refer to the drawer next to the stove as
| an L1 cache!
| hrishi wrote:
| As always, a Bloom filter can improve search times.
| JustARandomGuy wrote:
| Well done. It took me a moment to understand the joke but then I
| laughed hard. You should consider putting an actual store in
| there, I'm sure some sales would convert.
| secondcoming wrote:
| If I put a Docker container in it will it scale seamlessly?
| nicbou wrote:
| You can use a bigger shitbowl instance, but at this point you
| might just want to deploy a few of them on a shitshelf cluster.
| However if you're hitting size limits with only two users, you
| should tackle the root cause instead of throwing more hardware
| at it.
| TeMPOraL wrote:
| The way it's designed, you want to ship a container of
| shitbowls, not a shitbowl of shipping containers.
| snissn wrote:
| oh i thought this was going to be a lot grosser and ahhaha i'm
| not even sure why i clicked
| ericzawo wrote:
| Why are we censoring the name? Is the implication children read
| HN?
| dijksterhuis wrote:
| Some folks could be at work so might have been a good idea to
| avoid swearwords on the front/submit page.
| gpanders wrote:
| But then it's right there in the URL, so I don't think this
| actually solves anything
| dijksterhuis wrote:
| Whoever submitted it might just be trying to do a decent
| and responsible thing (the URLs aren't filtered by HN). I'd
| rather that than the whole front page filled with expletive
| laden titles every day.
|
| Not the submitter through so this is all speculation and
| conjecture and not particularly relevant to the joke
| anyway.
| jrochkind1 wrote:
| Why is the HN article title obscured with "*"? Does HN have a
| forbidden words policy?
| egypturnash wrote:
| It's especially hilarious because the same word is right there
| in the URL.
| zczc wrote:
| "Kitsch is the absolute denial of shit, in both the literal and
| the figurative senses of the word" -- Milan Kundera, _The
| Unbearable Lightness of Being_
| yepthatsreality wrote:
| Christians. You're on their time.
| imglorp wrote:
| "See, in our century, we've learned not to fear words."
| TeMPOraL wrote:
| That was the 20th century. In 21st, words are weapons.
| imglorp wrote:
| Is there another reference to this? My quote was Uhura on
| ST-TOS "Savage Curtain", around 2200 AD(?).
| TeMPOraL wrote:
| Ouch. I missed the reference!
| dragonwriter wrote:
| Linguistic prudishness outside of specifically around
| violations of the Second Commandment isn't particularly tied
| to Christianity.
|
| As "shit" is not, even in the broadest Christian
| interpretation, a name of the Christian God, that doesn't
| seem to be the basis of any filtering of that word.
| stonogo wrote:
| Are we now pretending anyone pursues the concept of
| 'profanity' or defines it as broadly as Puritanical
| christians? Seems a weird fight to pick, but ok.
| dragonwriter wrote:
| > Are we now pretending anyone pursues the concept of
| 'profanity' or defines it as broadly as Puritanical
| christians?
|
| Literally Puritanical Christians don't exist anymore,
| it's a defunct sect. Metaphorical puritanism in any sense
| relevant here isn't restricted to Christians.
|
| And, yes, plenty of groups are at least as opposed to
| profanity, and define it at least broadly, as any
| Christian groups (certainly, I've noted Islamic groups
| that that applies to.) Sure, in, say, the US if you run
| into this its mostly likely to be from Christians, but
| that's true of most things because the US is a majority-
| Christian country.
| fallingfrog wrote:
| That was me.. I guess I was uncertain about whether it would
| get flagged if I put a curse word in the title. No deeper
| agenda there.
| jrochkind1 wrote:
| looks like it has been corrected!
| [deleted]
| bookmarkable wrote:
| This kind of sarcastic social critique well designed site reminds
| of better times for the Internet... before the dark times...
| before Facebook.
| andrewprock wrote:
| On the flip side this is a real process that essentially works.
| The book "Algorithms to Love By" decides a chapter to solutions
| to meat space retrieval problems.
| nemosaltat wrote:
| I'm pretty sure you mean "Algorithms to _Live_ By"- but I
| love the typo, since one anecdotes involves using
| CS/mathematical principles (secretary problem) to find an
| optimal romantic partner. Enjoyable read for sure!
| chrisweekly wrote:
| ATLB is such an awesome book.
| andrewprock wrote:
| Lol! That's what I get for using my phone :D
| naiveai wrote:
| Oh no! The Internet is more easily accessible providing more
| knowledge and access to millions worldwide! It's not limited to
| our extremely exclusive clique of 1337 hackers who also all
| happen to be white, college-educated American men!
| hkt wrote:
| FWIW, I was one of the clique of 1337 hackers without being
| American or college educated!
|
| In seriousness, the radicalism of the early internet was
| great for autodidacts, and I loved it. It shaped me as a
| person and I still don't have or need a university degree.
|
| The thing that was nice in the past was that it seemed so
| easy to find other people finding their own path. It was a
| bit less commercial and a bit more communal. It was a great
| thing, but communities have a finite capacity for on boarding
| people. It is easy to squash that, and it was definitely
| squashed pretty hard as the internet popularised.
| mrzool wrote:
| You could have, you know, all that good stuff also without
| Facebook.
| roughly wrote:
| arguably more easily, since a primary outcome of facebook
| seems to be to make white college educated american men
| angry at everyone else
| RGamma wrote:
| Well with its relentless commercialisation it also brought in
| loads of trash tier entertainment, splintered attention,
| intense bubblification and collective amnesia for a
| significant part of its userbase.
|
| All the potential for good that made users so enthusiastic
| (as we now know: over-enthusiastic) about it until the early
| 00s (maybe 10s) still exist, it's just big tech and other
| businesses have hijacked the community-driven governance and
| narrative for private gains.
|
| All the cool ((internet) cultural, but not necessarily
| technical) stuff that existed and exists... you'd never find
| out about it today if you weren't there and already know what
| to look for (and even then search result quality has gone
| down the drain due to massive spam. Not that you can
| reasonably filter search results to not include businesses or
| other SEO spam for instance...). Of course things that don't
| make money/grab attention eventually are "rationalised away"
| or forgotten about in this ungodly screaming contest.
|
| Not all is bad; it's just the drop in average quality of
| substance and intransparency of its gatekeepers that worries
| me. I always keep my hope that a diverse array of communities
| continue to exist in which cool things happen on a regular
| basis. Mainstream social media is not this place though.
| alex_young wrote:
| https://en.m.wikipedia.org/wiki/Eternal_September
| forgotmypw17 wrote:
| you may like my site then :)
| bravoetch wrote:
| Those ice-cream containers are used in every NZ garage. As
| someone that used to work at Tip-top, I approve of this
| container-based approach.
| mrtweetyhack wrote:
| Just Shit
| aarondf wrote:
| Why is this a product? I could implement this myself in a weekend
| with a few open source libraries.
| zikzak wrote:
| We built this years ago in Clay.
| qwantim1 wrote:
| I use junk drawers, which scale to available drawers, after
| which you buy more storage or a larger house.
| nicbou wrote:
| https://xkcd.com/1737/
| arcticbull wrote:
| Personally, I farm to work out to the cloud.
|
| I simply purchase whatever I need, have it delivered to an
| Amazon locker nearby, and then when I'm done with it I throw
| it out and order a new one.
|
| The most frequently used ones are always at the locker and
| the least frequently used one is automatically returned for a
| refund. The cache miss is approximately two days.
|
| It's expensive, but you can't beat the fact that it scales to
| a practically unlimited degree.
|
| I call it "bowl-less" caching.
| forty wrote:
| "bowl-less" would never work in France. It translates in
| French to "pas de bol" which also means "bad luck".
| ARandomerDude wrote:
| Still better than bowel-less, a possible misspelling
| given the context.
| ggghhhfff wrote:
| I've heard about the bowl-less design pattern a few weeks
| ago, excited to hear that it pans out in real world
| scenarios!
| ftio wrote:
| Ah yes, the old _horizontal scaling_ technique.
| rexreed wrote:
| This is clearly a parody. The tip-off is the bit about WeWork
| and Uber. If you don't understand the joke, then the joke's on
| you.
| [deleted]
| fisherjeff wrote:
| > If you don't understand the joke, then the joke's on you.
|
| Completely agree
| ggghhhfff wrote:
| Parent is joking with the meme of "but I could build this
| produc myself with open source libraries!"
| raunakdag wrote:
| Parent is joking with the meme of " If you don't understand
| the joke, then the joke's on you."
|
| ;)
| Black101 wrote:
| I'm not sure who is kidding... you or the parent comment.
| rexreed wrote:
| That's part of the circular nature of the parody. Maybe I'm
| an investor and this will be the next "Yo" app.
| SavageBeast wrote:
| Looks like a nice prototype. In the real world Id like to see
| some basic provisions for type safety though.
|
| If the last thing used was a half drank rocks glass of tequila
| the integrity of the entire cache will be threatened.
|
| * they all sound like "stupid problems" till your boss is calling
| at 3AM because the system is down.
| qwantim1 wrote:
| If your boss is in your house using your shitbowl.
| twic wrote:
| If your boss is in your house _at 3 AM putting a half drank
| rocks glass of tequila in_ your shitbowl.
| slim wrote:
| your boss sleeps with you
| SavageBeast wrote:
| You're obviously a Straight Shooter, With Upper Management
| Written All Over You!
| ftio wrote:
| /* The PM says this 100% will never happen. */
| tdy721 wrote:
| I've been calling them squirrel spots.
| doodlebugging wrote:
| My personal solution is so much more simple than this shitbowl
| solution and is trivial to implement. I have been using it for
| years and can personally vouch for it's effectiveness and
| scalability.
|
| Skip the bowl entirely.
|
| When you finish with something just set it down. It really DOES
| NOT MATTER WHERE! Honestly.
|
| Set it on a flat surface, under a chair or a pillow, in a
| depression in your yard. Set it on your neighbor's side of the
| fence. It is totally irrelevant where you leave it.
|
| Since it is universally true that you always find something in
| the last place that you look this method that I have employed
| works perfectly EVERY SINGLE TIME and for objects of any physical
| description.
|
| It is impossible to lose something if you are willing to spend
| sufficient time and effort remembering where you put it and
| revisiting that location.
| dreamcompiler wrote:
| I'm working on a quantum version of this. Items placed in the
| bowl may randomly disappear then reappear in a different quantum
| bowl somewhere else in the universe.
|
| We have already seeded the market with test prototypes shaped
| like laundry baskets that are limited to small pieces of cloth
| footwear. But we hope to scale up to Level 5 Flinging of Massive
| Objects (FOMO) before the end of the year.
| joezydeco wrote:
| All Shitbowls possess this feature, it's involved by a simple
| formula of
|
| _(age in bowl x proximity to bottom x urgency of real-time
| need)_
|
| Some items such as padlock keys, unused postage stamps, and
| nearly expired gift cards will override and invoke a quantum
| certainty of 1.0 when they are trying to be located.
| dvtrn wrote:
| I hate to break this to you, but they've beaten you to the
| quantum bowl: I think it was patented some years ago as the
| "latrine". It has the same properties you describe, similar
| properties to the OP's "shitbowl" concept, and can quickly
| deploy artifacts in one button push*.
|
| (Unless your artifact volume exceeds the recommended capacity
| in the readme, also helps to make sure the pipeline has
| sufficient capacity for large deploys to efficiently release to
| the municipal cloud)
| moron4hire wrote:
| I don't see what's wrong with continuing to use shitfloor. It's
| worked well for me for years. I know some people complain about
| breaking their things or sharp pain in their feet (aka Plantar
| Harming Poop) when they step on them, but I've learned to be
| careful about that. And I don't have any friends anyway, so I
| never have to worry about someone coming over who hasn't learned
| to live with shitfloor.
| exabrial wrote:
| Doesn't support Node or JSON. This is stupid.
| dmje wrote:
| That requires ShitStack
| 867-5309 wrote:
| if you're going to name it that, surely you'd have to flush the
| cache after every input
| tarr11 wrote:
| The LRU cache is flawed as it never discards items and will
| eventually overflow.
| [deleted]
| wffurr wrote:
| The bowl cache is garbage collected with a stop the world
| collection step wherein the bowl is upended and the contents
| returned, the bottom cleaned, and a few select items pre-seeded
| in the fresh cache.
| phs wrote:
| Overflow actually spills off the top. It's MRU!
| sgtnoodle wrote:
| Yeah, but it spills off onto the table top, which is
| effectively register space.
| troymc wrote:
| If you put the s**bowl on top of an old cash register, it
| overflows into an actual register.
| s314159265358 wrote:
| This is a joke right?
___________________________________________________________________
(page generated 2021-02-13 23:00 UTC)