246 comments

[ 2.5 ms ] story [ 310 ms ] thread
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.
In-home physical cache... Such an smart observation! Love it!
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]

I tried explaining this to my wife with my laundry pile and she wouldn’t buy it.
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 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.
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.
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.
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.
(comment deleted)
I think the next version, Shitplate, should have this improvement. Space complexity is worse, though.
I am a competitor of Shitbowl, and my product ("Shitdrawer") solves this issue!
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?
Shitfloor?
My kids already invented that. If you want theirs, come ask. Includes unlimited eye rolls and muttering.
I would recommend not looking closer!
O(1)+O(1) is just O(11). Not a big problem.
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.
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...
But does it have a browser built in? Can I use it to tweet while I search for my keys?
Critical dos vulnerable. It cannot recover from being repeatedly hit with a hammer
Can only be operated in a high trust environment —-SMH—-
As always, a Bloom filter can improve search times.
Doesn't support Node or JSON. This is stupid.
That requires ShitStack
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

The LRU cache is flawed as it never discards items and will eventually overflow.
(comment deleted)
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.
Need a segmented cache to keep out items only accessed once.

Really this bowl needs 2Q instead of LRU.

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.

If you have a glass one you can even shard the bowl!
Um. Yeah. Thanks for explaining my joke :-)
whops ;) I read it as "spread the contents around widely" == sharding at first
The bowl flew right over this commenter's head
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.

Why is the HN article title obscured with "*"? Does HN have a forbidden words policy?
(comment deleted)
Christians. You’re on their time.
"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!
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.

"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
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.
It’s especially hilarious because the same word is right there in the URL.
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. */
your boss sleeps with you
You're obviously a Straight Shooter, With Upper Management Written All Over You!
If your boss is in your house at 3 AM putting a half drank rocks glass of tequila in your shitbowl.
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?
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.
Any advice on implementing HyperLogLog on this? I’d really like to avoid map reduce if possible.
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.
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.
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.
This kind of sarcastic social critique well designed site reminds of better times for the Internet... before the dark times... before Facebook.
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
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!
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
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.
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

I suppose the shitbowl supports some amount of concurrency and some times O(1) access to more than just the last item.
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.
oh i thought this was going to be a lot grosser and ahhaha i'm not even sure why i clicked