Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Shitbowl: The algorithmically powered in-home physical caching platform (shitbowl.com)
722 points by fallingfrog on Feb 13, 2021 | hide | past | favorite | 237 comments


This reminded - I noticed a while ago that being a computer science guy makes me think differently about physical storage and retrieval.

For example - my wife likes "shorts" to be in one drawer and "t-shirts" in another. I like for one drawer to be "workout clothes" and have the mix of gym shorts and t-shirts. To me this feels "obviously" right because the use-case requires both items so why pay for two costly "open drawer" IOs?

Similarly, she is very organized with her paper files, I just throw mine into a box. In the rare event I need something (eg when doing taxes) I don't mind scanning through the whole mess. Seems like a better strategy than making each "write" costly (neatly organizing) since writes are frequent and reads are rare.

Anyone else like that?


Your first example could have a different explanation, assuming she is the one that more often does the laundry. Ordering clothes by type is cognitively easy: a shirt is a shirt, shorts are shorts. When you have a stack of freshly washed clothes, sorting them according to type is so trivial it is a thoughtless process.

However, sorting according to use case is more involved. For each piece of clothing in the clothes pile, the clothes organizer must think of how this particular piece of cloth is used. Is this just an old t-shirt? Or is this particular old t-shirt out of favor with my husband and so he uses it for his workout? Or should it go in the pyjama t-shirts pile?

So writes seem to be much more costly (cognitively) when organizing clothes according to usage rather than type (if these clothes are not your own in which case determining their usage does seem trivial), and your wife may be optimizing for it (again, see initial assumption)


I think that if you want your own classification you have to put away your own laundry ...


Why are you bringing this toxicity into it? OP didn’t say anything about who does the laundry. They could be each doing their own or he could be doing it for both of them - it’s entirely besides the point of how they prefer the clothes sorted.


The original comment was assuming his partner more often did the laundry, which could explain the difference...


Personal optimization schemes fall apart when we have to interoperate with others, just like in system architectures.

Think about the cognitive load of your spouse when you decide how a system should work.


I do both and I order the clothes most times.

Clothes I can use in multiple situations (like a pair of jeans or normal t-shirts) are grouped together but I also use "use-case-drawers" (like sports or outside work clothes).

My girlfriend (no tech background) uses a more seperated system (work t-shirts are not sorted to work pants) but still seperated by use-case (normal pants /= work pants).

I guess it's up to everyones own preferences then..


Reasonable analysis. In the case of my wife, it's a matter of what she believes is right (shirts go together because they are shirts) not of expediency of any of the operations :)


ok but the real question for everyone here is do y’all put your leggings in your sock drawer or with your bras/underwear


I thought of doing the "writes" as per the use case as having to denormalize the "record" first which is extra work from insert point of view (but optimized for "fetch" - the entire dataset of shirt+pant is right there) - that is not how they come out of the washing machine. They come out normalized as "shirt" "pant" which is optimum for inserts. So if she doing the laundry, her method is the least effort for her.


When folding the washing, I don't make sure the t-shirts / pants / etc are the "right way out", reducing the already heavy burden on the folding server, and pushing that work onto the less heavily burdened clients.


I know someone who is similar with the paper files, but lazily sorts them when she needs to retrieve something, so the full scan only happens at most once.


This is pretty efficient. She lazily sorts them on first access. They are stored in a thunk and then lazily evaluates them. After that repeated access is efficient.


Even better is to scan and pitch what you can during the scan, then file what's left. Scanning for computer search is awesome.


What do you use? I have an awesome document scanner but Acrobat Pro takes like ten seconds a side to OCR with a ridiculously single-threaded process that ends up taking minutes to finish even short documents on a monster workstation.


Not the person your question was to, but: I use Paperless myself, but Mayan EDMS is another option. OCR kinda sucks as a rule, but it's better than the big ol' firesafe I used to have.


> Similarly, she is very organized with her paper files, I just throw mine into a box. In the rare event I need something (eg when doing taxes) I don't mind scanning through the whole mess. Seems like a better strategy than making each "write" costly (neatly organizing) since writes are frequent and reads are rare.

This is why I have given up trying to organise my downloaded papers and books by subject. It's faster to search through them when I have a term in mind.


This reminds me of the days before "Downloads" folders were provided by OSes for use by browsers, and one would need to select a destination for every file at download time. I think macOS got it right with the "stack" widget (truncated listing of the Downloads folder sorted by date).


My wife keeps on reorganising my toolboxes and it’s driving me nuts. She ends up organising the contents by colour, or by size, so now I find my woodworking chisels in a box with filter spanners and solder (the soldering irons are in the box with glue and mallets). It’s driving me crazy, but she won’t stop, and gets mad at me when I can’t find stuff because “it’s organised”.

Different people have different minds. I group by function and efficiency of use - she by colour or shape, as she doesn’t know what half the tools are. My organisation looks chaotic but I know exactly where everything is, and I know that the tools I’ll need for a given task will all be in the same box.

Now, I have to haul everything out, rummage, have an argument, get called an idiot. So much better.

A crap bowl would be illegal here. Everything must go back in its place, no matter how inconvenient that place is.


The key at least for me is to recognize that my wife's desire to clean and organize is a huge net positive for my life, with things like you just described being relatively small side effects.

Here's how I manage it. One important thing is to label anything that's messy and needs to remain that way "a work in progress.". It indicates to the wife that (a) you care about neatness and (b) there's an end in sight.

The other thing is to claim areas. Sounds like tools are your domain - have you discussed that maybe you should just be in charge of that one small part of your life? :)


Oh my, do I get this. My wife has worked for years as a professional organizer, so she definitely has an idea for How Things Should Be Done.

That way is not mine however. I've been known to have something much like Shitbowl as a system, except I called it my "sedimentary filing system." It has layers, like a parfait, and very much an LRU cache.

She likes things to be away, which to me, is not always having them usable. Sometimes, things that are stashed out of sight are less than accessible when I decide I want them.

Different strokes I guess. After nigh on thirty years, I'm somewhat tidier, while she has become more tolerant of a bit of disorder.


"it’s driving me nuts"

At least you can find the nut drivers. ;)


Sounds like the 5S auditors have invaded your workspace!


Kinda?

Workout clothes make sense, these are things that get sweaty and I don't want to sort through all my t-shirts and underwear to find a wicking ones. And fancy clothes (wedding/funeral) go together so I can just open the closet bag and have my suit, shirt, tie, and dress socks all there - one "go bag" for each suit color (black, blue, grey) with shoes below.

However, everything else is interchangeable throughout the year.

For paper, there is some basic sorting I'll do. Pets, cars, home, and tax related items. I just put the new piece at the end of the folder which is hardly any 'write cost' and makes for a much easier read later if the need arises. Besides taxes where I just need all of the papers, most of the time the thing I need to reference is near the end


I have a sports drawer: t-shirts, shorts, ankle braces.

Other t-shirts hung in wardrobe and a separate drawer for other shorts.

Paper files: chucked into a tray haphazardly after being attended to. Sorted into filling cabinet once tray is full (which it is now and arguably has been for a month or two).


I'm reminded of cars, which are designed for assembly. They are easy to put together and they're put together in layers.

Same with your clothes, designed for laundry. (defined by laundry?) easier to have bins for socks, and underwear and pants and shirts. they wash in one batch. Easier to load the socks drawer all at once.

But not as easy to find everything when you're getting dressed.

That said, I have two kinds of toolsets.

generic - all the tools in one chest - drawer for pliers, anothers for screwdrivers, ratchets, sockets, etc

project-specific - near my computer I have phillips 2,1,0,00,000 and a keypuller and a paperclip.

row order vs column order I guess. array of structures, structure of arrays.


I spend my whole work day figuring out those problems but not once got the idea to apply them to organising my personal life. Questioning a lot of decisions now...


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...


No, a single centralized bowl carries massive risk. What happens when it goes down? Do you even trust the SLA? What about privacy?

What we need is Peerbowl: a network of millions of bowls interconnected via an interdimensional wormhole.

We're in the last stages of ironing out all the kinks. Race conditions have resulted in a few lost fingers but also some extra tentacles which users report are surprisingly handy! Stay tuned for our IPO*.

* Interplanetary Public Offering


You mean an EnderChest? ;-)


Haha love the simplicity of "bitcoin has shown decentralisation is a bad idea". No whiff of a justification, just a straightforward statement of fact. A masterclass in empty marketing. This company knows their shit.


Where does dogebowl fit into this, other than to start a pronunciation war?


In Venice, of course.


dogebowl is a known pump and dump by the meme bowlers


Bravo


I'm a bit late to the bitcoin game (and gearing up to accept bitcoin payments in an upcoming project) so excuse me if my question is trivial, but how does bitcoin show that decentralization is a bad idea?

Aside from energy consumption and stability, bitcoin seems like a resounding success to outsiders like me.


Wooosh!

That’s the sound of a joke flying overhead.

Decentralization is a feature. As with most features, it has technical and behavioral costs. In the case of Bitcoin, this cost is an enormous computational and environmental burden. However, I’m pretty sure that this commenter was joking.


Why is this a product? I could implement this myself in a weekend with a few open source libraries.


Hi guys it's me the Fusion 360 Persondudeguy here with a 45 minute video on how to 3D print yourself one of these at home! Start out by opening Fusion 360, and then create a sketch! Then press C to draw a circle. Then press C to draw another circle. Now you may be wondering how to 3D print this because you're subscribed to a channel about 3D printing and somehow need a helping hand with literally the most basic operation ever in 3D CAD. But that's okay, because thanks to today's sponsor, NerdVPN, your fishy ISP won't be able to somehow silently break TLS and find out what you're watching on YouTube and extort you for money! That is something that could actually happen, at least in a world that I've made up to sell you something you don't need! For just $9.99 a month you can connect to an OpenVPN instance someone set up on a $3/month VPS that one time. There's no logging because we looked for some and didn't find anyway, but then again, this whole "systemd" thing is new to us and we don't have logs of anything anywhere. Actually we can't even log into that box anymore. That's how you know it's secure! OK, $9.99 go buy it now! I use it myself if saying that will make you buy it. Now back to our content. We left off where you created two circles that will form the wall of your shitbowl! Now you just need to press E to extrude that out! How do you remember all these keys? Well it's actually pretty simple. C is for circle, because C is kind of shaped like a circle. E is for extrude because E is the letter after D, and this is the first 3D operation you'll be doing. It's little tips and tricks like this that real pros use to become productive in complex software products like this. Now that your shitbowl is 3D, just print it out. I recommend using whatever chinese knockoff Prusa i3 clone is for sale on Amazon because I personally get a cut when you buy it, and if it burns your house down it's not technically my fault. OK guys has it been 45 minutes yet? It has? Great. See you next week where I'll shove my entire $6000 microphone down my throat so you can hear what the inside of my mouth sounds like while I demonstrate basic features of CAD software! Like, subscribe, click the bell, click the bell again, then click it one more time so that your phone will make an incredibly loud noise when I next send out a YouTube poll!

Am I a millionaire yet?


Please cease and desist from infringing on our intellectual property (we sell spoons which your product rips off).

We expect you to contact us within 5 business days to settle the outstanding licensing fees you owe us as a result of your infringement.


Anyone else here from the Knockoff Prusa channel?


Unregistered HyperCam 2


I use junk drawers, which scale to available drawers, after which you buy more storage or a larger house.


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.


Man, it really seems like bowl-less is everywhere these days. This kind of thing is why I rage quit programming and went to live in a Vipassana retreat.

I heard this is extremely expensive for anything non-trivial. People are always like, scale, scale, scale. But 99% of people are not Walmart. KISS, YAGNI, premature optimisation something something.


I’ve heard about the bowl-less design pattern a few weeks ago, excited to hear that it pans out in real world scenarios!


"bowl-less" would never work in France. It translates in French to "pas de bol" which also means "bad luck".


Still better than bowel-less, a possible misspelling given the context.


Ah I see you’ve read our no-return policy


Ah yes, the old horizontal scaling technique.



Little known fact, the PDP11 had a machine instruction that implemented shitbowls in the cpu. It’s interesting that these days you need ruby, a vm, two layers of package managers and oauth just for a shotbowl. Also, someone should rewrite this in rust.


First time caller, long time listener. With a question! First, upboats. But what I really wanted to know was: does it work under water?


We built this years ago in Clay.


Clay is unsafe. You should rebuild it again using food grade Resin.


Surely Rust is far better than Clay, Resin, and/or constricting snake platforms


Go enterprise, use a coffee cup


This is clearly a parody. If you don't understand the joke, then the joke's on you.


Parent is joking with the meme of “but I could build this produc myself with open source libraries!”


Parent is joking with the meme of “ If you don't understand the joke, then the joke's on you.”

;)


> If you don't understand the joke, then the joke's on you.

Completely agree


I'm not sure who is kidding... you or the parent comment.


That's part of the circular nature of the parody. Maybe I'm an investor and this will be the next "Yo" app.


//just popping down the shop, need anything? while (yourout){getsomemilk;} //LOLZ


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...


To enable Sharding: throw your shitbowl against the wall.

NB: Cached items will be need to be reindexed once sharding has been enabled.


ShitBox has had sharts since like version 2.4


> sharts


If you have a glass one you can even shard the bowl!


The bowl flew right over this commenter's head


Um. Yeah. Thanks for explaining my joke :-)


whops ;) I read it as "spread the contents around widely" == sharding at first


Equally valid.


This kind of sarcastic social critique well designed site reminds of better times for the Internet... before the dark times... before Facebook.



Wow, from that era, but never encountered this (did not Usenet much though).

Still, maybe this kind of staggered onboarding into forums isn't that bad of an idea. Its not like a site couldn't enforce it. Sign up to join. Get email indicating when participation begins.


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.


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!


Lol! That's what I get for using my phone :D


ATLB is such an awesome book.


you may like my site then :)


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!


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.


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.


Neither was I. I was a teenager in Denmark with internet access in the 90's. My family was poor, and I bought a modem with money I earned from my paper route. By most metrics, I was decidedly unprivileged.


You could have, you know, all that good stuff also without Facebook.


arguably more easily, since a primary outcome of facebook seems to be to make white college educated american men angry at everyone else


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.


If your boss is in your house using your shitbowl.


  /* The PM says this 100% will never happen. */


If your boss is in your house at 3 AM putting a half drank rocks glass of tequila in your shitbowl.


your boss sleeps with you


You're obviously a Straight Shooter, With Upper Management Written All Over You!


Yeah I worry about all the enterprise shit you don't think until you need it -- If one bowl goes down, will it fail over to another in a different region? In the case of a network partition, does my wife get my car?


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/...


I sincerely hope that the reason you are being downvoted is that people didn't read beyond the first sentence.


The downvotes make it funnier!


The heavy burden of the internet comedian.


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.


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)


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.


The LRU cache is flawed as it never discards items and will eventually overflow.


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.


Overflow actually spills off the top. It's MRU!


Yeah, but it spills off onto the table top, which is effectively register space.


If you put the s**bowl on top of an old cash register, it overflows into an actual register.


This is solved by purging the cache once a week.


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.


Sounds like NoSQL. I've heard it speeds up development.


I read an much improved version of this, I forget where:

Put things back in the first place you looked, or the first place you would look for it.


Do you blog?


No. I post a bit on reddit and HN from time to time.


Bug report: Item retrieval is not functionally pure and may have side effects on the sorting of items in the bowl.


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]


High constant factor


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.


I am a competitor of Shitbowl, and my product ("Shitdrawer") solves this issue!


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.


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?


O(1)+O(1) is just O(11). Not a big problem.


I would recommend not looking closer!


Shitfloor?


My kids already invented that. If you want theirs, come ask. Includes unlimited eye rolls and muttering.


Shitdrawer is the Amazon Glacier of Shitbowl. Easy to throw stuff in, generally it stays there very long term.


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.


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.


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.


O(1) implementation is trivial and implemented by most teenagers bedroom floors.


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...


I think the next version, Shitplate, should have this improvement. Space complexity is worse, though.


I prefer MyShitNow, a situationally-optimized just-in-time solution that combines privacy, speed, and unlimited upside potential. With MyShitNow, the world is yours. You're freed from inconvenient journeys back to base or anxieties about the security of inferior solutions like ShitBowl; the time between identification and fulfilment of your needs asymptotically approaches zero, allowing you to Keep Moving Forward (tm) without restriction. Don't pursue your goals - take immediate ownership of them and free yourself for an unlimited array of exciting new challenges. Our advanced Bioinformatic Classifier (R) seamlessly adjusts to accommodate your needs from moment to moment - and uniquely, does not require recalibration or adjustment for new tasks. We can confidently offer universal interoperability without foresight or prior configuration - even for things that have not been invented yet. That's right, as soon as you have identified something you need, no matter how unexpected or novel, simply deploy MyShitNow and you'll find it's already tailored to your circumstances. Incredible! You will never need another product. In fact, it's so great that you will never need any of your existing possessions ever again. MyShitNow will literally be the last buying decision you ever need to make.

How does it work? I'm glad you asked. It's simple! First, identify your need. It could be anything - a new phone, a electric vehicle, the keys to that penthouse you've always desired, a wad of unmarked high-denomination bills. Next, look around your environment until you have spotted something that matches your need. Then simply grab it and establish ownership of it by mentally tagging it as MyShitNow. It's yours! Use it for as long as you need. When you're done, simply discard it and forget about it - it's still yours, and if you want it later and it's not around, anything else may be freely substituted. From nutritious snack foods to entire solar systems, with MyShitNow the only barriers to ownership are imagination and desire. It's everything you've ever wanted, everything you will ever need in the future. Why wait? Just liquidize your existing obsolete assets and transfer them to us. You will immediately receive an unlimited, permanent, and irrevocable license to use MyShitNow to satisfy any and all future needs, conceivable or not. You can't say fairer than that. Unburden yourself of all that crap you currently own and seize the life you were meant to have. Today. Now. Limited time offer - if you don't take it, someone else will. What are you waiting for?


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.


I don't particularly want to be 'that guy', and perhaps/probably it's part of the joke ('whoosh') - but 'the LRU items go to the bottom'.. it's MRU? The top item that you take (assuming you're not digging about) is the most recently used, we don't classify queues by what's at the back/bottom?


No. LRU is referring to eviction policy (which still isn't accurate since this bowl doesn't have a hole at the bottom).

(I guess I'm 'that guy' now :)


Yes, right, sorry, of course. Cache.

I think I got confused because a cache is a fixed length queue where 'take one' means evict, but 'take one' in OP means cache hit (if we're calling it a cache). I'd still prefer to call it an MRU queue (not a cache at all) I suppose.

(With some weird overflow property where it starts evicting MRU after a certain point too...)


What's missing is the fact that this is just an L3 cache. There's another L2 shitbowl which picks up all the shit that's even more frequently used.


I have to say I’ve been using Shitbowl since it’s inception and I’ve never used such a powerful system before.

Up until now I relied on attempting to organize my own shit which lets be honest, was super shitty. Then comes Shitbowl. My wife and in-laws didn’t understand the technology at first but once I really got them to try it they were immediately onboard.

Thanks Shitbowl for making our lives better!


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.


Why is the HN article title obscured with "*"? Does HN have a forbidden words policy?


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.


looks like it has been corrected!


"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


It’s especially hilarious because the same word is right there in the URL.


Christians. You’re on their time.


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.


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.


> 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.


"See, in our century, we've learned not to fear words."


That was the 20th century. In 21st, words are weapons.


Is there another reference to this? My quote was Uhura on ST-TOS "Savage Curtain", around 2200 AD(?).


Ouch. I missed the reference!


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.


I tried explaining this to my wife with my laundry pile and she wouldn’t buy it.


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.


The problem with the laundry pile LRU is the extreme bitrot of the first items in.


Laundry pile needs random access!


I don't care about that as long as it efficiently handles the worst-case of the sock tuple matching problem.


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.


I can't recommend this. I have already three drawers full of unmatched socks even though nominally they are only in four colours. The socke maker failed to exceed my quality expectations and delivers visibly discernible specimens of the same model in different batches. I'm currently evaluating makers with TQM or Seven Sigma as the ISO quality management is a total failure here.


Switching to higher quality socks that have whimsical patterns and are sold in pairs will definitely make for a better experience; matching socks is much easier when it’s a matter of “oh hey the other peacock sock finally showed up” than “these white socks I buy in bulk are actually made by different manufacturers for every batch and exhibit subtle distinctions that must be carefully examined”.


I heard some people prefer the decentralized approach but that it might lead to consensus problems with their significant other.


Proof of relationship


Why are we censoring the name? Is the implication children read HN?


Some folks could be at work so might have been a good idea to avoid swearwords on the front/submit page.


But then it’s right there in the URL, so I don’t think this actually solves anything


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.


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.


Doesn't support Node or JSON. This is stupid.


I can't help feeling that what this bowl is really missing is machine learning.

By profiling an individual using their online behaviour, and using only a small cluster, we could produce a prediction of what objects should be sorted to the top of the bowl. Simple IOT connectivity could then tell if the right objects are near the top and send push notifications to your phone. These would warn you that what you thought you wanted next was not what your social network would have wanted.

Altogether a much simpler solution


That requires ShitStack


Shitbowl v2.0: Adds a well that extends to the center of the earth

Shitbowl v3.0: Adds a multi-tiered dumbwaiter, that makes retrieval and storage to center of the earth a snap;

Shitbowl v4.0: Adds a reciprocal well that extends to the antipode of the earth, and allows users, so-situated, to borrow from their counterpart, least-used items of the counterpart, Uber-style.

Shitbowl v5.0: Implements a heat-hardened round-house router to universally exchange least-used items, near the earth's core


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.


And people laugh when I refer to the drawer next to the stove as an L1 cache!


You're lucky they laugh.


True story - I just used this principle to re-org my closet, a perfect pandemic thing to do. All the most recently used, still-clean-enough garments are placed at the end easiest to reach, the level one cache. Rarely used items are at the other end, the long-term storage, while in between is the L2 cache. On laundry day the L1 cache gets flushed...


My Shitbowl biases towards larger objects. Anyone else getting this bug?


Nah, not Internet connected and no mobile app to control it.


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


Could we possibly use blockchain to track the state of each item?


I see you took out the car keys. Drive to your closest Shell now for a 2% fuel discount.


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.


> 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.


KOHLER sh*tbowls are harder to implement but you can flush the cache.


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.


Works for me, third party image host only.


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.


I signed up for their beta, and have been using Shitbowl® for about 6 months and the results have been amazing. I can't recommend it enough.


Mine keeps throwing Overflow. How can I open a bug?


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.


It’s a feature, not a bug. This problem is outside the scope of this project and the issue should be filed upstream.


I thought this was a last-in-first-out stack?


It's actually a self-organizing list with the move-to-front method:

https://en.wikipedia.org/wiki/Self-organizing_list


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.


I suppose the shitbowl supports some amount of concurrency and some times O(1) access to more than just the last item.


I'm going to scale this with Rust and MongoDB. Do you have any advice before we spend millions on a prototype?


What prevents Google from creating its own version of this product one day and destroying yours in the process?


Long ago, I wrote a version of this for OS/2, in Assembler... called Forth/2.

There is an interesting parallel idea where you get a large set of nesting tupperware containers, and enclose items in between the ( <-- bottom and lid ---> ) I heard about it from uncle John McCarthy.


Very good idea, great potential for being the next unicorn! Be sure to hire a growth hacker. /s


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.


Tip Top ice cream is a dead giveaway that this is a New Zealand product. Also very good ice cream.


But does it have a browser built in? Can I use it to tweet while I search for my keys?


Pull request pending forever. Ugh. The project is great, but the culture is terrible.


Need a segmented cache to keep out items only accessed once.

Really this bowl needs 2Q instead of LRU.


Critical dos vulnerable. It cannot recover from being repeatedly hit with a hammer


Can only be operated in a high trust environment —-SMH—-


I tried installing the node modules but am getting an error "Cannot find module yargs'". Running webpack version 5.22.0 and webpack-cli 4.5.0. Any idea how I can get this project running?


This is a known bug in projects generated with `create-shitbowl-app`. You may need to clear the cache and upgrade to the latest version of the S6L framework


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


If I put a Docker container in it will it scale seamlessly?


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.


The way it's designed, you want to ship a container of shitbowls, not a shitbowl of shipping containers.


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.


This actually reminded me of

http://www.mysmalt.com/

But I don't think the latter is satire...


Ok, I am having a really hard time figuring out if that's serious or not. I watched the video and it was ridiculous, but it all seems to be done with a straight face. But maybe a school project or something? It's from 2017 so I assume they are now defunct, however it originated.


We live in an age where it's impossible to tell satire from reality. I clicked through to both "About" and "Blog," but am none the wiser for it. (Didn't dare to click "Pre-order" in case it were for real.)


This was more or less (same reasoning, but not explicitly presented as a caching algorithm) how I justified the state of my room as a teenager.


As always, a Bloom filter can improve search times.


No wifi, less space than a junk drawer, lame.


We’ve gone large in our house with ShitCupboard (tm), a much bigger deployment of roughly the same framework


I’ve been calling them squirrel spots.


I built a multi-tenant version of this for my office and am now retiring on them fat royalty checks. AMA


if you're going to name it that, surely you'd have to flush the cache after every input


Any advice on implementing HyperLogLog on this? I’d really like to avoid map reduce if possible.


oh i thought this was going to be a lot grosser and ahhaha i'm not even sure why i clicked


This looks like a stack to me instead of LRU Cache :). Am I missing something?


Yes, you can retrieve items that aren’t on the top.


What a time to be alive!


The humor is strong with this one.

This is a welcome laugh during tedious times.


In-home physical cache... Such an smart observation! Love it!


I need a proper white paper before even considering the idea


More like a shit stack


LRU? Looks more like a stack or heap to me.


You could probably get it funded


tip top cant keep getting away with it


Chamber pots. You've invented chamber pots.


This is a joke right?


If the only tool you have is a hammer, then everything looks like a nail. I'm sure the OP isn't really proposing to market the shit bowl as a receptacle for putting things in with the added feature of MRU at the top. However if this takes off I'm going to market the utterly shit drawer that instantly sucks the most recently used power supply or charging cable to the bottom.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: