Whole Foods employees reveal why stores are facing a crisis of food shortages - <AUTHOR> http://www.businessinsider.com/whole-foods-employees-reveal-why-stores-are-facing-a-crisis-of-food-shortages-2018-1 <comment><USER2> I'm a Whole Foods employee, having one of those rare (for me) moments where I can reasonably be considered very well-informed on the subject of a news article, and it's a little bit disturbing just how misinformed and one-sided the article is.

The author seems to have talked with 10-20 disgruntled employees at a few stores nationwide, and a few customers on top of that. Maybe she should have reached out to Whole Foods corporate and asked for comments?

About the only thing she did get right was that Amazon isn't behind this. They haven't really messed with our supply chains much yet.

<comment><USER3> > I'm a Whole Foods employee, having one of those rare (for me) moments where > I can reasonably be considered very well-informed on the subject of a news > article, and it's a little bit disturbing just how misinformed and one-sided > the article is.

"Briefly stated, the Gell-Mann Amnesia effect works as follows. You open the newspaper to an article on some subject you know well. In Murray's case, physics. In mine, show business. You read the article and see the journalist has absolutely no understanding of either the facts or the issues. Often, the article is so wrong it actually presents the story backward-reversing cause and effect. I call these the "wet streets cause rain" stories. Paper's full of them. In any case, you read with exasperation or amusement the multiple errors in a story-and then turn the page to national or international affairs, and read with renewed interest as if the rest of the newspaper was somehow more accurate about far-off Palestine than it was about the story you just read. You turn the page, and forget what you know."

<comment><USER4> Heh, it is amusing that the quote ends with "far-off Palestine". In the mid-90s I returned from living in the middle east for 6 months as a student (Jordan, Israel and Egypt). I personally witnessed an event and upon returning I was reading about said event in a US newspaper and was shocked at how wrong it was. This was the first time I experienced this effect. However, instead of turning to other parts of the paper and trusting what they said, I lost all faith in newspapers on that day and have not read one since. If I know they lied or, more generously, misunderstood what happened about something I know personally about, how can I ever trust anything they write about things I don't know about personally? I can't, I won't, and I haven't.

<comment><USER5> My wife was a political reporter in DC, covering the Hill, the Pentagon and White House at various times. One time we were watching CNN and they mentioned a briefing at the Pentagon and she noted she was in the same one. Halfway through the coverage, she jumped up and said "that's not what they said!" I was confused.. she went back to her bag and handed me her notebook which contradicted their coverage.

It's not unique to any particular medium, news source, or person. Many, many people have an agenda and/or ignorance and portray things accordingly.. not always malicious but incomplete at best, wrong at worst.

<comment><USER6> This conversation has progressed for a while without anyone mentioning that the sentiments expressed are essentially in support of Trump's accusations of fake news. So we can have a conversation on HN in support of Trump's "fake news" and in recognition of severe bias in media that would indicate "fake news" isn't as much a slur as it is a matter of fact statement.

What am I missing?

<comment><USER7> Becuase trump attacks facts which people know are true from multiple corroborated sources.

But even that is wrong.

Firstly fake news is exactly that - actually fabricated websites designed to look like "the Sacramento beast" or what have you, filled with content that will sound legitimate to an American conservative and trick them into clicking on ads.

That's fake news and it's actually not even news, it's more like surprise literature/acting to con people.

Trump on the other hand argues for example that he has the biggest crowds, when he doesn't by every device that recorded images of the subject.

Fake news is in this case is just a term that relies on the audience to impute meaning to it.

<comment><USER8> Crowd images don't tell the whole story.

There is grass on the National Mall. During the Obama inauguration, people walked on it as you would expect. The damage cost several $million to fix. In photos of the Trump inauguration crowd, notice that the sparsely-occupied area is white. It was covered in translucent boxes to protect the grass. (the boxes were borrowed from stadiums that use them for events like concerts) The boxes can be walked on, but people would hesitate. They are not inviting like grass. This kept many people out of the photos.

Another issue is that the central area of the photo was blocked off into different security sectors. Due to violence, entry was often blocked. Many people showed up for the inauguration but were unable to get to where they could see it, which would be the empty areas of the photos.

In the usual pair of photos, the Trump photo is cropped relative to the Obama photo. The physical area seems to differ by roughly a factor of two.

There is also the question of time when the photos were taken.

<comment><USER9> [https://www.reuters.com/article/us-usa-trump-media/white- hou...](https://www.reuters.com/article/us-usa-trump-media/white-house- accuses-media-of-playing-down-inauguration-crowds-idUSKBN15600I)

The physical area is virtually the same. They merely appear to be taken from slightly different vantage points. Both show the area where you might reasonably expect people to observe from. They are taken at the same time of day differing by a matter of 5-20 minutes.

You aren't even nitpicking your statement about the area differing by a factor of 2 is a clear lie designed to sow doubt. Please don't bring your alternative facts here.

<comment><USER8> "In the usual pair of photos"

Those are not the usual pair of photos.

<comment><USER9> Its a pair of photos taken at the height of each event. Its also the ones I saw in the news at the time. If you are familiar with some that look like its fudged to show trump in a bad light its probably from stuff conservatives shared on facebook where they picked 2 dissimilar pics, made up a story surrounding them about how the news is out to disrespect trump, and yelled about fake news.

<comment><USER6> To be fair it is out to disrespect Trump, because he disrespects them. They chose to make a big deal out of the election crowd because they knew it would tweak him.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I live less than a five minute walk from a Whole Foods (Chicago - North Ave), so I shop there quite a bit even though I'm not a huge fan of the store. While I haven't seen empty shelves like the photos from the article, I have become frustrated by how often they are out of the items that I'm looking for. Four or five straight trips they didn't have rosemary, and it took a third trip and asking someone who was stocking vegetables to get parsnips (requests from previous trips resulted in "Sorry, we're out"). The last time that I shopped there, they were out of maybe 5 of the 6 things that I was looking for. My wife and I agreed that this was one of the more useful Business Insider articles that we've read. It's not a great article, but it answered a mystery that had been bugging us over the past few months.

I seem to remember that the Whole Foods employees who would check us out used to always ask, "Did you find everything that you were looking for?" I haven't heard that in a while. Maybe that's related to the changes in stocking?

<comment><USER11> From the article:

Order-to-shelf "has transformed the inventory levels that we have in the back room, essentially clearing them out so that we're mainly focusing on what we call our never-outs, the key items that we need to have in stock all the time in our stores,"

If your item isn't on the "never out" list I suppose they don't really care about gaps in availability. The problem with that isn't just customer satisfaction, people will be forced to go somewhere else when they're in need, and that will hurt loyalty and keep people looking at alternatives.

<comment><USER12> Here in Australia if a supermarket was regularly out of things that they normally stock I would shop elsewhere. Are people in the US more accustomed to going to multiple shops to get groceries?

<comment><USER13> Not at all. A grocery store being out of any normally stocked product is really unusual. If it happened with any regularity for stuff I wanted to buy, I'd stop going to that store.

The concept of "never out" products doesn't make any sense to me. That should describe everything!

<comment><USER14> It sounds like they're trying to optimise their just-in-time delivery. I think Lidl/Aldi do this, they have a very small "back area" so almost all goods are on the shelves. This presumably optimises so floor usage and reduces storage costs/wastage and such.

<comment><USER15> Aldi's business model is "few things that you need, cheap".

Whole Foods business models is "Look at the stuff we have that you never knew about so you have no idea of what the price on it should be or what to use it for. Buy it!" The entire thing was based on a blow job with a smile level customer service. Do you know that employees of Whole Foods carried sharpies so if a customer looked lost trying to figure out if the customer wanted to try this or that item, the sharpie came out to wipe off the UPC code of the item and that item went into customer's bag for free because Whole Foods determined that losing $3-10 on the item is perfectly fine as they made $300 on a basket that this person was likely to buy on average a month? Or how about a knife that everyone in produce carried? So if a customer was not quite sure about that apple, the knife came out the apple was cut right in front of him or her, a piece was given to them and the rest became sample?

That's why Whole Foods had insane revenue. It was the level of service one only got at specialty stores delivered to the masses.

Drop that and Wegmans would destroy it.

Source: Wife used to work at Whole Foods.

</comment></comment></comment></comment></comment></comment><comment><USER16> Whether or not there is an actual stock crisis at WF, this reminds me of Nassim Taleb's general observation that systems that are hyper efficient (no redundancy) are more fragile when faced with unforeseen circumstances.

This is familiar to anyone in tech who has built a computer system with replication to achieve high availability and minimize data load risk, but it's rarely discussed in the context of human resources and processes. If anything, that field seems dominated by a desire for maximal efficiency at all costs.

Here's a blog post which provides examples:

[https://www.artofmanliness.com/2014/08/04/two-is-one-and- one...](https://www.artofmanliness.com/2014/08/04/two-is-one-and-one-is-none- how-redundancies-increase-your-antifragility/)

<comment><USER16> s/data load/data loss/

</comment></comment><comment><USER17> Empty shelves are a way bigger problem in retail grocery than spoilage. If you lose a box of cauliflower, OK, it costs money, but if you lose an entire customer, even just for a few months, that's a loss of revenue in the thousands of dollars. And you _will_ lose that customer. "The audience ams a fickles mistress, Toki." And nobody goes to the "super" market to feel like Soviet Russia or the apocalypse.

Ahh but wait, now multiply that dollar figure by 50 customers who tried to buy cauliflower that day. Add 50 more for every subsequent day during which you're still out of cauliflower. Assume they each used to spend $1,000 a month with you, but now they all stay mad at you for 5 months each. After four days you're literally out a million dollars. Though you won't realize that loss until the end of the five months.

If you're out of tunafish too, you don't just lose lovers of cauliflower and tuna, you lose everybody who loves cauliflower, everybody who loves tuna, and everybody who loves both. Unfortunately for you as the grocery store that can't keep the shelves stocked, it's an OR, not an AND, and there is definitely a type of network effect at work.

The costs you incur by having inventory around, and having some of it go bad, are like insurance payments, to avoid the costs you would incur by the much worse problem of losing customers.

<comment><USER18> you lose a case of cauliflower to spoilage, you lose $5. lose a case-worth of sold cauliflower, you lose out on $100 of revenue. this systems sounds penny- wise and pound-short.

<comment><USER17> That too!

</comment></comment></comment><comment><USER19> We've had this problem at the Whole Foods near me in Raleigh. It's likely we'll switch grocery stores soon if they don't fix it. For the past 3-4 months, most of the time we do our weekly shopping trip, the shelves are basically bare in the produce section and often there are other popular ingredients we no longer can rely on finding there. It's pretty annoying and has been a frequent topic of conversation between my wife and me.

<comment><USER20> Can't say the Harris Teeter in Raleigh is ever out of anything.

</comment></comment><comment><USER21> Spoilage due to overstocking isn't just problematic because they have too much stuff sitting in the backroom that will never get sold. It also means they spent too much money buying and shipping that food, with shipping sometimes being the more expensive part (in addition to it being hard on the environment if you think of the fuel used to ship it and emissions it produces).

I'm not their ideal customer, mostly because I prefer cheap, processed, easy to store and make food (think mac-and-cheese). But if I was the type to shop at whole foods due to concerns about ethics and environmental friendliness, I'd be OK with this from that perspective. So long as there are some sort of options available, changing up dinner plans for the week isn't really a huge inconvenience. Maybe they can pitch it that way until they get it better optimized.

<comment><USER22> As a customer I don't really care about that kind of thing -- if a store consistently doesn't have stuff I need I'm just going to go somewhere else.

This issue strikes me as short sighted thinking by bean counters. It might save money in the short term, but you're going to lose customers and employees this way.

</comment></comment><comment><USER23> Wow, I wonder how new this system is - I've been to Whole foods in the last 3 days and it looked nothing like that picture. I wonder if these images are extreme cases that happened after 1 strange situation, and the article makes it look like a nationwide epidemic.

<comment><USER2> There are a few things that happen every New Year that combine to contribute to shortages:

\- Distributors have changed delivery schedules to work around New Year's Eve and Day.

\- There's a large increase in demand for produce and some other ingredients (resolutions)

\- Employees at the store and regional level take a few more vacations than usual, since we aren't able to during much of the holiday season. People also tend to plan the hell out of ordering for Thanksgiving and Christmas, but relax too much by New Year's since they figure crunch time is over. This is made worse by the relatively short tenures of most store buyers, since they either move up or quit relatively quickly.

So I would say there probably was a nationwide spike in out-of-stocks spread out over a few days. But it isn't really because of OTS.

<comment><USER24> > So I would say there probably was a nationwide spike in out-of-stocks spread > out over a few days. But it isn't really because of OTS.

Is it though? If OTS drastically decreases the backstock, wouldn't it also decrease the ability of a store to respond to these kinds of changes?

<comment><USER2> You wouldn't want backstock for produce of more than a day or two, because that's going to reduce freshness. You can't just constantly keep tons of backstock of everything year-round just in case there's a storm one week.

Also, OTS allows backstock of top selling items or in emergencies. If you can predict a big storm like what probably caused most of the problems in the article, you are allowed to stock up on product.

That's why I have a problem with the article, it's just so factually incorrect.

</comment></comment></comment></comment><comment><USER25> Increase investment into labor costs. Hire people who actually know a thing or two about cooking (that would mean hiring people with culinary training, not just people who perform well in the interview process.) You can convert pretty much all that's going to waste into sellable products on the store shelves. You might have to sacrifice consistency over time in that, your stock or broths made in house will differ per what's available.. but that could be sold as "authentic in house made". Same goes with soups, stews, pies etc.

I worked for a Safeway for a bit and would see how many bananas they'd trash of which you could easily make a few things on mass in house.. banana cream pie, banana ice cream... if regulations were to be cut back some you could even make banana rum in store. I don't think that'll happen anytime soon.

It's also a shame there isn't a system set up where you freeze the wasted product in bulk and ship it out to a facility that could process it into animal feed.

<comment><USER14> In our local Tesco, in a relatively poor UK city, the saving on "last day" food is about 10-20%, it used to be much higher. Presumably they're more wary of self-cannabilising. Except bread products after 8pm, it's almost never worth buying the reduced items now. I imagine they have much more waste. Mind you most ready food retailers, like Greggs (high-street bakery) don't do reductions preferring to dump unsold food rather than let people get them cheaply.

Refuse bin areas getting covers and locks is some sort of r/latestagecapitalism indicator.

<comment><USER26> In Germany it's common that food that doesn't look like it's still worth the full price gets discounted. My department works on the discount label printing and I've visited a store to test it out.

In the mornings an employee looks through the fruits and vegetables, trashes spoiled stuff, but also picks away some and discounts them for 30-50% or so, depending on how good it still is.

It is usually gone in 20 minutes, some seemingly poor people got cheap food thanks to this.

</comment></comment></comment><comment><USER27> It's interesting if the intent really is to have employees unload directly to shelves. The creates a very small buffer with limited ability to handle supply problems or spiky customer demand. Also your store begins to look kinda crappy if your shelves are maybe even 50% stocked so your realistic queue is maybe 1/2 shelf space. Maybe they think their logistics and prediction tech are good enough to not need the buffer.

Anecdotally I shopped at a whole foods last week and it indeed had stocking issues. I had to stand on a shelf to reach far enough back to grab the last bottle of a salad dressing I was after. Sure your backrooms are empty but it's kinda a shitty customer experience.

</comment><comment><USER28> I have been waiting for this conversation.

I do the grocery shopping in our house 90% in-store shopper (I like to pick out my produce and discover new stuff) 10% online delivery - San Francisco, Franklin Location. Here are the the things that they have gotten really wrong for me...

1\. Quality Eggs. This is expensive. It requires sourcing locally and refrigeration at every step. I use to have options to buy from 3+ fantastic pasture raised egg options (almost farmers market quality). This has deteriorated to 1 option. I happily pay $9 a dozen.

2\. Don't put the tofu with the dairy. They moved a lot of vegan/vegetarian favorites next to the milk and butter. Customers were complaining while I was in the store. They did not fix it. This might save on energy in the long run but is a tone def move.

3\. Staying Local. I will stop shopping at WF if they don't carry local produce. This is expensive and managing each supply chain goes against lowering pricing.

I don't think Amazon wants to keep the demographic. I think they will be a Ralphs or Safeway in 5 years. The next conversation will be quality and keeping the historical whole foods demographic, in these early days I am not sure that is their vision.

</comment><comment><USER29> A business perfectly optimized w.r.t. waste will have zero inventory and zero sales.

<comment><USER30> Yep, if I go to WF and they are out of potatoes, yogurt, and other staples I'm not apt to return the next time.

Another article referred to WF as the "Soviet Safeway".

</comment></comment><comment><USER31> How much food was allowed to rot too keep the shelves stocked? I'm fine with a few empty shelves if it means less wasted food.

<comment><USER32> Absolutely. If the algorithm were perfect, shelves would be empty moments before the restock arrives. But I wonder how the endless bounty effect of fully stocked shelve affects customers' shopping habits. For example, I might not buy the pineapple if it were the last one on the shelf, because surely there must be something wrong with it. Then again, three rotting pineapples that no one would buy is better than three cases of rotting pineapples in the back room.

</comment></comment><comment><USER33> One of the interesting pieces of info from the article is that the ordering process is getting de-federated from regions and centralized in Austin. Regardless of the whether this new TPS-esque system works out in terms of stocked shelves, it will be interesting to see how this affects WF's ability to source local meat and produce.

</comment><comment><USER34> I suspect this will smooth out as they collect more data about what's going empty, etc. If as the article states there was millions in inventory sitting in the stock rooms, each store probably wasn't doing very good inventory management and demand planning, so didn't have good data to begin with to inform a new system.

<comment><USER35> Surely though there were human people in each store who could have helped them with this, you know the ones that have been ordering the stocks and fulling the shelves for years?

<comment><USER36> One might think that such a new process could have been rolled in gradually - i.e. start with 20% backroom overhead, and begin reducing a percent a week until there is indication of overreaction. Why jump into the deep end of the just-in-time logistics pool right away?

<comment><USER37> Because "transformation" like this only meets its ROI nut if you adopt the religion in full.

This is all about eliminating a few hundred man-hours a week. Instead of having 2-3 guys unloading trucks and staging inventory, the whole staff is engaged, and is wasting a lot of time unless the trucks are loaded perfectly.

It's insane. Instead of the fish or cheese guy selling me high margin product, he's hunting for cartons. When I worked at a computer store in college, they did something similar, and same store weekday sales of premium products (which drove profitabilty) dropped 25%. But they saved 160 man hours of labor, or about $1,600, which was _much_ less than the lost sales.

</comment></comment></comment></comment><comment><USER38> This kind of system is notoriously difficult to switch to. In theory a centralized system with a good algorithm should easily do better than the local employee who only has local information, however before you switch the system on, you only have the data which has been collected before and this is probably incomplete and inaccurate data, so the algorithm will miss some peaks and suffer out of stock issues, which will generate more garbage data as you cannot measure demand of an out of stock item.

<comment><USER39> This was my thoughts exactly. More often than not, these systems are still implemented but a manual "exception" process is later tacked onto it.

It sounds like they haven't hit the normal Stage 2 phase: Implement a manual override process with the goal of allowing employees to temporarily bump levels for holidays and special sales and the like. The key here is temporary. The computer resets the levels to whatever it thinks they should be after a normally (short) period of time.

Stage 3 is to act surprised (as a corporate culture) when it is discovered that salaried managers are spending a 10 hour day every week/month adjusting all the levels. Effectively, store-level employees have returned to the original process but in a very inefficient and undesirable way.

Stage 4 varies. Sometimes you loop back to Stage 1: Zealous enforcement and the removal of any way for store-level employees to provide input into the ordering system.

Sometimes, you scrap the whole thing and go back to manual ordering. This usually keeps the algorithmic system but instead as a sort of assistant/recommendation engine. Usually it picks the top X overstocked/spoiled items in the store and gently nudges management to reduce inventory levels. This usually turns into a consistent win because management feels empowered and eventually comes to trust the recommendations, often rubber stamping most things and only correcting egregious errors: "I.E. Christmas in 2 weeks, only order 10 hams."

Unfortunately, the source of this info is directly working with a retailer trying to integrate one of these systems. After we hit Stage 3, I really did try to build a consensus around repurposing it into a weekly recommendation engine of 10-20 items to adjust in the store.

Instead we just removed the override capabilities and went right back into trouble. Apparently, there was a view I had overstepped my boundaries trying to tell the business how to treat the stores. So I left before I could get placed at the bottom of the Annual Stack and Rack. :-/

<comment><USER14> Surely they have enough data at a long lived supermarket to predict stock demand using weather factors and seasonality automatically.

I'd expect them to be factoring in customer onboarding rates, including anticipated accelerations, accounting for ongoing ad campaigns and such too.

<comment><USER40> Whole Foods whittled down the list of items that are "never" out-of-stock. Now that tier of redundancy is reserved for a select group of core items explicitly called "never-outs." In doing so, HQ implicitly reclassified the remainder of the inventory as "sometimes-outs."

Having a lot of "sometimes-out" items predictably will lead to "sometimes-all- out-at-the-same-time" categories and "some-stores-are-always-out" items. The outages are clumping, in terms of categories, timing, and location. Which is a bad and apparently unanticipated mode of failure for the procurement system.

</comment></comment></comment></comment><comment><USER41> One of the biggest factors in me leaving a business: wasting my time. If I repeatedly go to a store and the items I'm looking for aren't there, I stop going. Life's too short to put up with a poorly run business.

<comment><USER42> huh. On the other hand,there's costco, which quite often doesn't have the same things they had the last time you were there, not because they are out, but because they switched to a different product for that section.

</comment></comment><comment><USER43> I found a Whole Foods out of corn on the cob. Corn stores just fine, so that's quite unusual. But Safeway was out, too. Strange, because the US has a corn glut.

The thin-inventory thing is getting excessive. The local CVS has been out of distilled water twice, and only had one pack of small paper cups. All those things have a very long shelf life; there's no need to maintain tight stock control.

<comment><USER44> I don't know where you're located, but isn't fresh corn on the cob pretty seasonal? mid-late summer to early fall? I know commodity corn stores well, but I didn't realize that human consumable sweet corn stored for long period of time.

<comment><USER25> I've seen my grocery store sell corn from Argentina and other places. So maybe the original commenter is thinking of out of season stuff shipped from other countries?

</comment></comment></comment><comment><USER45> A bad inventory system could kill Wholefoods. It killed the launch of Target Canada.

<comment><USER46> Partly, but not entirely. Most of Canada lives within a hundred miles of the border, and many have shopped at Target in the US. People familiar with Target wanted to see (a) particular store-branded products, and (b) equivalent prices (accounting for the exchange rate). They got neither.

</comment></comment><comment><USER47> OTS sounds like a good thing overall if it is less wasteful and lower cost. With Amazon's logistics, they should be able to use the data from these food shortages to better inform the OTS system of what to order and when to order it. Maybe it's bad in the short-term, but the insights are still valuable for better logistics.

<comment><USER48> Train your customers to shop elsewhere, and it becomes bad in the long term too.

</comment></comment><comment><USER49> As a frequent customer at (New York area) Whole Foods I can echo the experiences shared in this article. Many items I have been buying regularly for years are now regularly out of stock. Not just produce - items of all types. Its gotten so bad and persisted for so long that I've shifted my shopping habits to other stores.

</comment><comment><USER50> I wonder to what degree is shrinkage a compounding factor.

I used to work at an outdoor retailer where we only did inventory once a year, and by the end of the year the computer inventory would differ from actual inventory by an order of magnitude, simply due to the fact that things get lost, damaged, stolen, etc... and don't get marked as such in the computer.

If you have enough backstock, this isn't a huge problem (I think most estimates put retail shrinkage at less than 5%). But if you are using a just- in-time stocking approach, those effects could quickly compound until you have nothing left on the shelf and no more inventory on the way.

</comment><comment><USER24> If you take the slack out of a system you make it more "efficient" but also more fragile in the face of the unexpected.

</comment><comment><USER51> A recent EconTalk podcast covered a related topic: food waste. It turns out that getting it just right is near impossibly hard. You can choose between famine or waste (hopefully the least of either) but aren't going to get it just right.

[http://www.econtalk.org/archives/2017/12/rachel_laudan_o_1.h...](http://www.econtalk.org/archives/2017/12/rachel_laudan_o_1.html)

</comment><comment><USER52> What does article describes us basically the systemic failure of communist economy. Centrally planned OTS might be considered superior amongst software hackers and esp their illuded managers, but it doesn't scale to the chaotic fluctuations down in the store, where the previous local decentralized ordering system worked fine. Only there you can anticipate the true number of stock to shelf. We saw that for centuries in the communist states.

Google or Amazon will not be able to run groceries with lifestock and fresh veggies, only electronics, gifts and books. It's a systemic matter, and highly technocratic manager hierarchies make it only worse.

</comment><comment><USER53> Our local food chain here in Rochester NY is Wegmans, and they've had a bunch of produce shortages recently due to bad weather in California. They've also dropped their line of soy milk because the supplier couldn't keep up.

This may not be entirely a Whole Foods issue.

<comment><USER54> I love Wegmans :)

</comment></comment><comment><USER55> I worked on a grocery store inventory system a while back, and it was very hard to get it rolled out. Produce can go bad, and get thrown out, so it is very hard to accurately predict how much you will need. Further, your predictions depend upon how quickly it goes bad, which may not be easy to predict. Further, your predictions and orders depend upon people entering accurate data into the system. It is clear the employees are resisting putting accurate data into the system. Further, when you design the system you need to determine a probability of running out. The naive answers seems to be about 0%, but from an analytics standpoint a higher number may seem preferable.

</comment><comment><USER56> There's been a lot of bad storms recently in a lot of the country (including Houston, pictured there), which will screw with inventory. Throw the holidays in there too, and I don't see enough data here to draw any real conclusions.

</comment><comment><USER57> Goodness, the only time I've personally seen shelves looking bare like these was when the employees of some supermarket chains banded together for a multiweek strike. The local Trader Joes wound up being flooded with all the customers who wouldn't cross the picket line. It lead me and my roommate to actually discover Trader Joes, which was a great find. However the shelves in Trader Joes were ravaged by a mob of hungry customers taking everything in sight just about. The strike went on so long we kept shopping Trader Joes and then were transformed into loyal customers sampling all their exotic and quirky goods.

</comment><comment><USER58> Sounds like a JIT system with its settings set to "extra miserly."

</comment><comment><USER59> Interesting in that one of the reasons that industry professionals gave for Amazon buying Whole Foods was that WF had so much more supply chain experience than just about anyone in the grocery business.

</comment><comment><USER60> Hmm, pretty shocking photos. I live right across the street from a whole foods, it's basically my pantry, and I've never noticed any items being low on stock like shown in the photos.

</comment><comment><USER61> This sounds like one of those just-in-time delivery systems that were all the rage in manufacturing back in the 90s, but applied to retailing. They always were brittle; there's little or no slack in the system, so if something unusual happens, the process breaks.

If the system is new, and it seems to be, it probably needs some fine-tuning. Any workable system needs a little bit of slack in it to account for the variable and the unexpected. The question is how much. And it's not free.

</comment><comment><USER62> I usually go to Whole Foods in Mountain View and I don't see shelves like that. In fact, I used to complain that some of their things like meat and dairy are not as fresh as I'd like. It has been better roughly since the time of the Amazon acquisition, which surprised me. Maybe it is because of this stock keeping system.

I had never noticed those freshness problems at the Cupertino Whole Foods store, which is one of the nicer ones I have been to.

<comment><USER63> My local whole foods in SF (Noe Valley) is very frequently sold out of produce I want. Broccoli, spinach, and onions in particular it seems.

Super frustrating.

</comment></comment><comment><USER64> This brings back memories... [http://predicthistunpredictpast.blogspot.com/2013/08/how- pho...](http://predicthistunpredictpast.blogspot.com/2013/08/how-photographs- of-markets-revealed_18.html)

Maybe there's a solution :) [https://en.wikipedia.org/wiki/Rationing](https://en.wikipedia.org/wiki/Rationing)

</comment><comment><USER65> >Whole Foods gets stores to comply with OTS by instructing managers to regularly walk through store aisles and storage rooms with checklists

looks like somebody is ripe for digital transformation with IOT, predictive analytics and machine learning on top of it.

</comment><comment><USER66> One super strange data point: this Monday, a Whole Foods in Vancouver, Canada (Whole Foods Canada is independent, isn't it?) was out of brownies around 5pm or so. Completely. I was astounded. Related? I have no idea. But it was weird.

</comment><comment><USER67> Sounds like possibly growing pains as Amazon fixes WF logistics. I bet they come out the other side way more profitable and Amazon has a huge win from this.

</comment><comment><USER68> Photo rings true for East Dallas Whole Foods. I've stopped going, even though it's a mile away. Central Market forever!

</comment><comment><USER69> From the article, it seems like issues with their "order-to-shelf" system:

"Order-to-shelf, or OTS, is a tightly controlled system designed to streamline and track product purchases, displays, storage, and sales. Under OTS, employees largely bypass stock rooms and carry products directly from delivery trucks to store shelves. It is meant to help Whole Foods cut costs, better manage inventory, reduce waste, and clear out storage."

...

"A reduced back stock means that any unexpected increase in shopper demand or a product-shipment delay can result in out-of-stock items across every department, multiple employees said."

<comment><USER70> Target's attempt to expand into Canada failed for a similar reason -- they couldn't get product onto shelves.

[http://www.canadianbusiness.com/the-last-days-of-target- cana...](http://www.canadianbusiness.com/the-last-days-of-target-canada/)

</comment></comment><comment><USER71> business insider is a click farm, this is not a crisis of food shortages, that's just click bait.

<comment><USER72> Sure, BI is a bit of a click farm, but this does sound like a crisis to me. Not for society in general, but definitely for Whole Foods. Even their loyal customers will get disgusted and leave if the shelves are empty.

<comment> 52-6F-62 Funny bit is, Bezos is an investor in Business Insider.

[https://www.theguardian.com/technology/2013/apr/05/business-...](https://www.theguardian.com/technology/2013/apr/05/business- insider-blodget-bezos)

<comment><USER73> If anything, this shows that journalistic integrity is still working properly, at least on these shorter timescales. Unless, of course, that's just what Bezos wants you to believe...

<comment><USER74> "integrity" is not a word that matches "Business Insider", even if they are willing to poke at their investor's investments.

</comment></comment></comment></comment></comment><comment><USER75> I hate to be that guy to complain about the website, but someone BI is making my entire scroll bar vanish and causing me to be unable to scroll the article at all, using arrow keys, mouse wheel, or page up/page down.

That must be some truly impressive JS.

<comment><USER76> I mostly fare well with uMatrix and a ruleset that starts with

      * * * block
      * * css allow #(or "* 1st-party css allow" for the more paranoid)
      * 1st-party image allow

This will unfuck BI as well (and breaks many sites, use exceptions if necessary).

</comment></comment><comment><USER77> I'd love it if we could ban BI from HN due to their extremely low quality content.

<comment><USER78> We'd have to ban most of the other news sources for the same reason.

Personally, I assume such articles are bullshit until proven otherwise, but accept them as _social objects_. What's orders of magnitude more informing is the on-topic and off-topic HN comments under such articles.

</comment></comment><comment><USER79> Crisis...

You keep using that word. I do not think it means what you think it means.

<comment><USER80> This sure looks like a crisis for a grocery store.

It didn't say it was a crisis for the population.

<comment><USER79> I'm gonna upvote that because you're right, but I still feel there is a better word than "crisis."

Words still have meaning.

Except "literally."

</comment></comment></comment><comment><USER81> Maybe example of AI narrow intelligence gone wrong?, well, assuming its AI, I can't see implementation and Amazon is obviously behind this. Seems like the model is borked.

<comment><USER82> The article states that this was going on before the Amazon purchase.

        Many customers are blaming Amazon, which bought
        Whole Foods in August for $13.7 billion. Analysts
        have speculated that the shortages could be due
        to a spike in shopper traffic in the wake of the
        acquisition.

        But Whole Foods employees say the problems began
        before the acquisition. They blame the shortages
        on a buying system called order-to-shelf that Whole
        Foods implemented across its stores early last year.

<comment><USER81> I stand corrected. Thank you.</comment></comment></comment>


Speculative execution, variant 4: speculative store bypass - <AUTHOR> https://bugs.chromium.org/p/project-zero/issues/detail?id=1528 <comment><USER2> If you are using Linux-based virtualization (KVM), besides requiring updated kernel and Intel microcode (which is not yet available), you would also need updates for relevant layers: QEMU and libvirt. Patches are posted[1][2].

Virtual Machines now need to be exposed a new Intel CPU feature flag: 'ssbd' (Speculative Store Bypass Disable).

On microcode, from Red Hat's blog post[3]:

 _In many (but not all) cases, full mitigation will also require updated microcode from the system microprocessor vendor. Red Hat intends to ship updated microcode as a convenience to our customers as it is made available to us. In the interim, customers are strongly advised to contact their OEM, ODM, or system manufacturer to receive this via a system BIOS update._

[1] [https://www.redhat.com/archives/libvir- list/2018-May/msg0156...](https://www.redhat.com/archives/libvir- list/2018-May/msg01560.html)

[2] [https://lists.gnu.org/archive/html/qemu- devel/2018-05/msg047...](https://lists.gnu.org/archive/html/qemu- devel/2018-05/msg04795.html)

[3] [https://www.redhat.com/en/blog/speculative-store-bypass- expl...](https://www.redhat.com/en/blog/speculative-store-bypass-explained- what-it-how-it-works)

</comment><comment><USER3> AMD guidance:

[https://developer.amd.com/wp- content/resources/124441_AMD64_...](https://developer.amd.com/wp- content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf)

(setting an CPU-specific MSR and it's done for current CPUs, no microcode updates required.)

[https://www.amd.com/en/corporate/security- updates](https://www.amd.com/en/corporate/security-updates) has : "We have not identified any AMD x86 products susceptible to the Variant 3a vulnerability in our analysis to-date."

<comment><USER4> I like that it's specex variant 4 and spectre variant 3. Keeps everybody sharp.

<comment><USER5> Special register read is called "variant 3a" because it allows you to break the privilege level separation like Meltdown and, back in November, Meltdown was called "variant 3". Variant 1 was conditional-branch Spectre (speculative out of bounds accesses) while variant 2 was indirect-branch Spectre (the one that could be used to read host memory from a virtual machine).

</comment></comment></comment><comment><USER6> These are the links I found most explanatory

[https://bugs.chromium.org/p/project- zero/issues/detail?id=15...](https://bugs.chromium.org/p/project- zero/issues/detail?id=1528)

[https://software.intel.com/sites/default/files/managed/b9/f9...](https://software.intel.com/sites/default/files/managed/b9/f9/336983-Intel- Analysis-of-Speculative-Execution-Side-Channels-White-Paper.pdf)

[https://software.intel.com/sites/default/files/managed/c5/63...](https://software.intel.com/sites/default/files/managed/c5/63/336996-Speculative- Execution-Side-Channel-Mitigations.pdf)

[https://blogs.technet.microsoft.com/srd/2018/05/21/analysis-...](https://blogs.technet.microsoft.com/srd/2018/05/21/analysis- and-mitigation-of-speculative-store-bypass-cve-2018-3639/)

[https://developer.amd.com/wp- content/resources/124441_AMD64_...](https://developer.amd.com/wp- content/resources/124441_AMD64_SpeculativeStoreBypassDisable_Whitepaper_final.pdf)

[https://www.intel.com/content/www/us/en/security- center/advi...](https://www.intel.com/content/www/us/en/security- center/advisory/intel-sa-00115.html) uCode update is only for variant 3a (MSR read) and for the global disable bit in the MSR. The standard mitigation is still LFENCE.

[https://docs.microsoft.com/en-us/cpp/security/developer- guid...](https://docs.microsoft.com/en-us/cpp/security/developer-guidance- speculative-execution) vulnerable code examples

</comment><comment><USER7> Explained: [https://www.redhat.com/en/blog/speculative-store-bypass- expl...](https://www.redhat.com/en/blog/speculative-store-bypass-explained- what-it-how-it-works)

<comment><USER8> This is actually less clear (at least for me) than the project zero post.

<comment><USER9> Can you share the link? I found the redhat article clearer than the current chromium FP post :)

\---

edit: I wasn't able to find anything new since Jan 3rd about the speculative bypass from Project Zero.

Some additional articles about the newly revealed Variant 4:

[https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/Variant4](https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/Variant4)

[https://xenbits.xen.org/xsa/advisory-263.html](https://xenbits.xen.org/xsa/advisory-263.html)

[https://www.cnet.com/news/intel-microsoft-reveal-new- variant...](https://www.cnet.com/news/intel-microsoft-reveal-new-variant-on- spectre-meltdown-chip-security-flaws/)

[https://newsroom.intel.com/editorials/addressing-new- researc...](https://newsroom.intel.com/editorials/addressing-new-research-for- side-channel-analysis/)

<comment><USER8> >Can you share the link? I found the redhat article clearer than the current chromium FP post :)

I was talking about [https://bugs.chromium.org/p/project- zero/issues/detail?id=15...](https://bugs.chromium.org/p/project- zero/issues/detail?id=1528)

</comment></comment></comment></comment><comment><USER10> A commenter over at arstechnica ([https://arstechnica.com/gadgets/2018/05/new- speculative-exec...](https://arstechnica.com/gadgets/2018/05/new-speculative- execution-vulnerability-strikes-amd-arm-and-intel/?comments=1&post=35370251)) found an old article explaining the optimization which led to this vulnerability: "Faster Load Times - Intel Core versus AMD's K8 architecture" [https://www.anandtech.com/show/1998/5](https://www.anandtech.com/show/1998/5)

</comment><comment><USER11> Additional vendor info:

[https://developer.arm.com/support/arm-security- updates/specu...](https://developer.arm.com/support/arm-security- updates/speculative-processor-vulnerability)

[https://blogs.technet.microsoft.com/srd/2018/05/21/analysis-...](https://blogs.technet.microsoft.com/srd/2018/05/21/analysis- and-mitigation-of-speculative-store-bypass-cve-2018-3639/)

[https://www.intel.com/content/www/us/en/security- center/advi...](https://www.intel.com/content/www/us/en/security- center/advisory/intel-sa-00115.html)

</comment><comment><USER12> Possibly completely unrelated question (this stuff is firmly over my head): toward the end of the first PoC there's

          /* if we don't break the loop after some time when it doesn't
      work, in NO_INTERRUPTS mode with SMP disabled, the machine will lock
      up */

The bit at the top of the that says

      </comment><comment>== Demo code (no privilege boundaries crossed) </comment><comment>==

is suggestive and unambiguous, but the program executions show (with "$"s) that this is being executed as non-root.

So... is this deadlock fundamentally related to the speculative execution glitch(es)?

<comment><USER13> You wouldn't be able to disable interrupts as non-root. The iopl syscall allows the PoC to use CLI to disable interrupts. See the "sudo" in the NO_INTERRUPTS runs:

      $ gcc -o test test.c -Wall -DHIT_THRESHOLD=50 -DNO_INTERRUPTS
      $ sudo ./test

I would guess the deadlock is due to a hardware watchdog timer rebooting the system, or some other hardware function that needs to be tended to periodically before it hangs.

<comment><USER14> It doesn't look like a deadlock; turning off interrupts prevents the preemptive scheduler from running. Without a timer interrupt, the only way the scheduler would run is if it's invoked to put the process to sleep during a blocking syscall or explicitly with sched_yield(2), pthread_yield(3), _etc_.

If interrupts are off, the the PoC program might wait forever for "hits > 32" if never testfun() never detects a "hit". Giving up after 1M bust loops ("cycles < 1000000") should prevent this from happening... _but_... I wonder...

        gcc -o test test.c -Wall -DHIT_THRESHOLD=50 -DNO_INTERRUPTS

Without -O0, some optimizations are still enabled. Could a modern "clever" optimizing compiler assume that the speculative "hit" never happens and therefor conclude that "cycles" is only used _after_ the loop when it is "guaranteed" to have the value 1000000 and "optimize" the loop into something like

        /*long cycles = 0;*/ //DEAD
        while (hits < 32 /*&& cycles < 1000000*/) { //DEAD
            // ... rest of loop body, maybe?
            /* cycles++; */ //DEAD
            pipeline_flush();
        /*}*/ //DEAD

and the sprintf() into something like:

        sprintf(out_, "%c: %s in 100000 cycles (hitrate: %f%%)\n",
            secret_read_area[idx], results,  100*hits/(double)(100000));

I'm probably worrying about nothing. Or at lest I _should_ be worrying about nothing, but with the current trend of "clever" optimizers exploiting everything they think is provable, I'm no longer certain. _bleh_

<comment><USER15> The pipeline_flush() asm block has a "memory" clobber which will certainly prevent this kind of optimisation.

</comment></comment></comment></comment><comment><USER16> The MS advisory: [https://portal.msrc.microsoft.com/en-US/security- guidance/ad...](https://portal.msrc.microsoft.com/en-US/security- guidance/advisory/ADV180012)</comment>


Chip Hall of Fame: Atmel ATmega8 - <AUTHOR> https://spectrum.ieee.org/tech-history/silicon-revolution/chip-hall-of-fame-atmel-atmega8 <comment><USER2> I have fond memories working on Atmel chips, started with 89C52 and graduated to ATmega8 later on. It was such a fun experience building "medical devices" with these chips. First successful project was a commoditized Vibration Perception Threshold meter, ones made by bigger companies used piezoelectric crystals costing upwards of 10s of thousands of rupees - I built one using relays and 89C52 to create a square wave of varying frequency to change vibration frequency. My then girlfriend (now wife :))'s project was EKG wave generator, essentially a device that simulated signals out of a human body that one can use to test EKG devices.

Just the mere act of programming one was amazing, you'd have to use SDCC[2] (small device c compiler) to convert your C code to assembly that 89C92 understood, in process I built my own chip burner and use some combination of PonyProg[3] to burn it. We went through _many_ chips due to mis-configured serial port connectors but it was so worth it.

[1] [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2992204/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2992204/)

[2] [http://sdcc.sourceforge.net/](http://sdcc.sourceforge.net/)

[3] [http://www.lancos.com/prog.html](http://www.lancos.com/prog.html)

p.s. I air-quoted medical devices to make it abundantly clear that whatever we made was never ever ever used to diagnose any patients.

<comment><USER3> I remember programming the Atmel ATmega8-16PU at university in C with AVR Studio (that was before Raspberry PI). We had a team project where we had to build a Morse code receiver and decoder from scratch (circuit board and everything); our device had to intercept Morse code from radio waves on a certain frequency and output the message on a standard computer in human- readable ASCII text via a serial port. My team was one of the best and our device was able to intercept and decode the message. It's amazing what 3 people with complimentary skill sets can do from scratch. It's a really good chip too I have to say.

</comment></comment><comment><USER4> I used to do -and still do- a lot of work with AVRs for hobby projects. I find them an awesome piece of technology, allowing you to start working on something with only a breadboard and a couple of wires, in contrast with ARM based ucs where the basic setup is not simple at all.

However, in the last years, following the Atmel acquisition by Microchip, the price rise on suppliers like Mouser started to make them look unattractive. But I still prefer the 8 bits ;-)

<comment><USER5> I agree, but I would say that for personal projects, I find the difference in price quite irrelevant. What's typically important is how the part fits the application.

For example, recently I found that the fumes extractor in the kitchen of the flat I rented failed. The PIC on board got tazed with 10V from a broken PSU. I fixed the PSU (replaced cap and regulator, added TVS diode for protection), but the programming on the PIC was lost.

So I found that there is one AVR with matching pinout that I could use in place of the PIC. Thanks to AVRs being so easy to program I could program and test it in an hour or so, and even added some extra features.

I do other projects where I need more power (Cortex M3/M4), but AVR is hard to beat where it comes to how quickly you can get simple things going.

<comment><USER6> Out of curiosity: what features did that fumes extractor have?! Mine has just a plain old switch to control the fan in 2 speed modes, and another switch to control the light...

<comment><USER5> 3 speed modes, light, and some diode indicators.

Previously there would be one switch to control light, 3 switches to control speed modes and extra switch that I don't exactly know what it did -- probably it controlled some kind of timer.

The 3 switches that controlled modes were 0/1 (change speed to 1 if anything else than 1, turn off if it is currently 1), and 2 and 3 which would turn on 2 and 3 speed mode.

I have added a 500ms long press to 0/1 switch which means that whatever is happening it turns off both light and fan at the same time. You don't have to turn off light and fan separately and you don't have to press 0/1 twice to reduce the speed to 1 and then to turn it off.

As it was sometimes difficult to figure out which speed it was on without looking at the indicators (on the side and not on the front of the extractor) you never knew you had to press it once or twice which was quite irritating.

<comment><USER7> now, add a motion sensor so the light comes on when you stand near it and a smoke sensor so that it turns on automatically when you start cooking and stops automatically when all the smoke is clear.

<comment><USER5> The object was to place a new chip into an already existing PCB and then program it to work with the existing parts, switches, and so on.

</comment></comment></comment></comment></comment></comment><comment><USER8> AVRs are great for small embedded applications (I think only 8-bit architecture with good compiler support), but I don't get why Arduino is so popular. Poor "IDE" with some horrible C++ preprocessor, heavy libraries abstracting important hardware details, and no onboard debugger.

<comment><USER9> In short, the Arduino was popular because how bad everything else was. Travel back ten years, and look for an embedded development kit. This is what you'll find.

Average cost is gonna be about $100 for the board. Oh, did I mention you'll need another $80 for the programmer? It only runs on Windows XP, by the way. Closed source custom USB driver that no one understands. Wine chokes out, so no running it on Mac or Linux. PS: The programmer was the "student edition". You'll only be able to program their low end series of chips, and hardware debugging is disabled.

I forgot to mention. You're limited to the free assembler / IDE, that only allows you to use 4k of space. If you want to use any more, you need to purchase a license for $250. And by "integrated", I mean no using your own makefiles or editors.

There's no "stack overflow" style community, either. Your support is limited to poorly written app notes behind a crumby web portal.

And then the Arduino came out. $20 gives you the board, and programmer. No licenses. No drivers. Open documentation. Works with a fork of GCC. Want to use VIM and Makefiles? An Eclipse based IDE? Work on a Mac? Comes with a vibrant community, a repository of examples, and inexpensive addon hardware.

TL;DR - Want your product to die? Force me to use your crumby closed source / "evaluation period" tools from the 90's, lock everything away behind NDA's and web portals, and provide no support community for your product.

Looking at you, FPGA manufacturers. Does your revenue come from selling chips, or selling crap development environments?

<comment><USER10> I have the same experience with FPGA development boards. I wanted to learn VHDL but gave up after 2 days with the "getting started" tutorial.

<comment><USER5> The assumption here is that if you go for FPGA design you should already have at least some knowledge of embedded applications.

FPGA development process is aimed squarely at corporations and rightly so.

There is very few hobbyist projects that really require FPGA. Most of cases where I saw FPGA in use was not because it was needed but because the person didn't know how to achieve the result using other, more appropriate means.

<comment><USER9> > FPGA development process is aimed squarely at corporations and rightly so.

Sure, I wouldn't burn too much money advertising FPGAs to makers and hackers. But I wouldn't design my platform to exclude them.

The accessibility and hackability of the Arduino and the Raspberry Pi helped create the IOT field (for better or for worse). The only reason the Raspberry Pi exists is because there was an insider at broadcom that was able to convince them to sell a smaller quantity of chips.

> We were able to get our foot in the door to discuss buying chips in much > smaller numbers than they usually sell (you're right about millions of > chips) because Eben works there and was able to get access to the right > people, who were right on side once we had explained the goals of the > charity. [1]

Alienating and raising the barrier for smaller players hinders business development. What cool projects would exist now if FPGA vendors weren't so stuffy?

[1] - [https://www.raspberrypi.org/blog/qa-with-our-hardware- team/](https://www.raspberrypi.org/blog/qa-with-our-hardware-team/)

<comment><USER5> I think FPGAs are not like general purpose MCUs.

I think the comparision is like between CPU and GPU. GPUs are fantastic at solving some of the problems but you don't see people rushing to use GPUs in every computing application.

Chances are, if you can implement it on MCU you will want to implement it on MCU because:

1) you need an MCU anyway either separate or FPGA based one

2) FPGA programming is sucha a hassle and not because of the tools but because it is genuinely hard

3) learning FPGA development well is a major effort as it requires different type of thinking. It is much more of a change that going from one programming language to another as entire concept of what is a program changes.

4) if you need more power, it is typically easier to step to more powerful MCU than to FPGA.

As I understand, we need some number of very specialized people that can invest the time to learn hardware design on FPGA and the rest is better off spending that time thinking of fun MCU-based projects:)

<comment><USER11> A GPU is much closer to a CPU and a MCU, than any of these is to a FPGA.

VHDL is a different thing entirely from any programming language. It's not ranked as a programming language by the way. It might be easier to learn if you don't know any programming but know how to make integrated circuit boards.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> It was the original AT90S8515 that really grabbed my interest and launched me into embedded programming (when I was about 15 years old). Prior to that I was using the Basic Stamp, with it's incredibly limited and slow instruction set (yet a ridiculously high price). Then I switched to seemingly impressive BasicX with a far more powerful instruction set, though still Basic. That's when I realized the BasicX was really just an AT90S8515 with an interpreter so I learned C and programmed it directly at just a few dollars per chip -- it changed everything for me! Not only did I have the most powerful MCU I had ever used, but it was also cheap enough to leave in projects.

</comment><comment><AUTHOR> It's interesting that not only the later platform - the Arduino, which started out with AVR and aimed at simplifying programming the devices - but the AVR chip itself started out with the goal of simplifying the process of using it (programming, tools, ...).

</comment><comment><USER13> Great microcontroller, shitty article.

<comment><USER14> Wikipedia page for AVR[1] is much better!

And Atmel released in 2008 a video with the two co-creators of the chip describing its history[2].

[1] [https://en.wikipedia.org/wiki/Atmel_AVR](https://en.wikipedia.org/wiki/Atmel_AVR)

[2] [https://www.youtube.com/watch?v=HrydNwAxbcY](https://www.youtube.com/watch?v=HrydNwAxbcY)</comment></comment>


Unlearning toxic behaviors in a code review culture - <AUTHOR> https://www.freecodecamp.org/news/unlearning-toxic-behaviors-in-a-code-review-culture-b7c295452a3c/ <comment><USER2> "Toxic" is apparently a synonym of vague or unhelpful

<comment><USER3> It has examples like someone leaving a code review comment that says:

"Did you even test this code before you checked it in?"

Which while it itself labels it unhelpful, also seems to be pretty toxic.

</comment></comment><comment><USER4> Sound recommendations, but what if I claimed that code reviews are overwhelmingly a waste of time? At best, they catch a handful of problems that should've been caught earlier, but they are far more likely to create more issues, especially interpersonal ones which are far harder to fix than bugs in code. All code reviews are ultimately criticism and while it's really hard to deliver criticism well in person, it's pretty much impossible to do so in text, even with the best of intentions.

A fundamental problem is that code review brings _more_ human factors into the process. You pretty much never want that. Your whole job as a programmer boils down to removing as many human factors as possible. If that idea bothers you, perhaps you're in the wrong profession.

Instead, foster a culture of code ownership and responsibility. Assume that an owner can work without reviews, and that a reviewer is not realistically going to be able to improve upon that meaningfully while staying cost positive.

This goes against ideas like guarding against "the bus factor". You may consider guarding against the bus factor by occasionally assigning actual programming tasks (not just "code reading") to developers ordinarily working on other things, but those should be focused events, not part of the everyday process of actually getting stuff done. In any case, "bus factor events" are rare and humans are prone to buy overpriced insurance against rare events.

<comment><USER5> >what if I claimed that code reviews are overwhelmingly a waste of time?

Are you saying, categorically, that they're always a waste of time?

I work in a regulated field (medical devices), and it is my experience that, with a culture of safety and quality minded individuals, that code reviews are always a net positive.

</comment></comment><comment><USER6> I like terse comments (extra space) more than the fluffy (Looks like you have extra space at the end of line...).</comment>


Silicon Valley Hates Children - <AUTHOR> http://translinear.blogspot.com/2012/11/silicon-valley-hates-children.html

<comment><USER2> Is anyone else rather annoyed by the tone of the post?

<comment><USER3> what annoyed you? it seemed perfectly fine to me. in fact, it resonated with something else i was reading earlier today, about the linux ecosystem and its tendency to value projects for the quality of their code rather than for their usability - in both cases, it's useful to have an outsider's perspective of cultural blind spots you may have developed.</comment></comment>


I hacked my best friend - <AUTHOR> http://exogan.com/i-hacked-my-best-friend/ <comment><USER2> > He briefly removed his subdomain and rethought his security systems. It was > a really fun week.

Sorry, it is not fun for your friend unless he had an absolute trust in you, and knew you'd help him remove every backdoor/keylogger/etc.

He may have spent a lot of time securing his machine, time he'd rather have invested in different things.

Seriously, don't do that. Just tell him about the obvious weakness - send a proof of concept if needed.

But a friend is more precious that some cracker creds.

<comment><AUTHOR> I did help him remove the keylogger and explained him what I did. We've known each other since kindergarden. Plus, it was a mutual challenge, a capture the flag situation.

<comment><USER3> Nowhere in the article do you ever talk about any kind of agreed-upon challenge where anybody gave you permission to try this kind of exploitation.

</comment></comment></comment><comment><USER3> "I needed to stand out, and what better way than hacking into his network?"

The fact that this crosses peoples minds really concerns me. Have we so degraded our respect for things that belong to other people that we're willing to do this as part of a publicity stunt?

</comment><comment><USER4> To those calling him out for hacking his friend without permission, keep in mind he was a teenager (15) at the time. His friend was of similar age. Teenagers do stupid things, I was of similar age at one point and also did very stupid things.

It's part of growing up.

Saying that, the author needs to give better context.

<comment><USER3> Yes, but he didn't write it as a cautionary tale or even attempt to portray it as a stupid thing done out of youth. The delivery very strongly portrays it as a good thing that was a good idea, and a rational step towards advancing yourself in the world.

<comment><USER4> A mechanic reading a tale of someone pouring metal filings in with the engine oil, I doubt they're going to think it's a good idea to go out and ruin their engine.

Is an author always required to include a disclaimer? Stupid is as stupid does.

<comment><USER3> The mechanic's disclaimer is going to be inherent in the text: "I once poured metal filings into an engine, and then everything went to hell". This isn't like that at all, it's a tale of how hacking somebody's systems without consent was a fun and rewarding idea.

</comment></comment></comment></comment><comment><USER5> Cached: [http://webcache.googleusercontent.com/search?q=cache:2zAAkXU...](http://webcache.googleusercontent.com/search?q=cache:2zAAkXUtZnMJ:exogan.com/i-hacked- my-best-friend/+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER6> >Thanks to Google, I didn't even need to crack that hash, I just searched the hash string and found the password already cracked.

Im gonna guess unsalted md5?

</comment><comment><USER7> Wow, that's seriously messed up if (which I didn't grok in the article) the person did not know that you were trying to help them with their security. The verbiage seems incredibly antagonistic (started to get nasty, etc)...implying a poor friendship at best.

Agreed with the first comment - no fun at all for your friend indeed. The links are good at the end, I've read about a few of those tools even being relatively non-technical. I think more people should have a basic understanding of how to maintain security, but, this doesn't strike me as the best way to teach folks.</comment>


Facebook Has Begun to Rank News Organizations by Trust, Zuckerberg Says - <AUTHOR> https://www.buzzfeed.com/bensmith/facebook-has-begun-to-rank-news-organizations-by-trust <comment><USER2> Just to clarify, are they developing a universal trust ranking for all users or developing a per-user ranking of what sources that user trusts most? The first option is awesome because it'll hide propaganda outlets that are universally mistrusted but masquerade as legitimate news sources, while the second will entrench polarization deeper.

<comment><USER3> And how will that "universal trust ranking" be determined?

See the problem?

<comment><USER4> There is no problem at all here. I totally trust Mark "dumb fucks" Zuckerberg at Facebook to watch the watchmen. /s

</comment></comment></comment><comment><USER5> "gathered data on how consumers perceive news brands "

Oh great, its a model based on consumer opinion. And we know loads of people trust Fox news.

<comment><USER3> What Fox News says is as trustworthy as any other mainstream news source.

What stories they cover (or ignore) and what details they include (or omit) are where the bias comes from. Every other news source is the same way.

<comment><USER6> (deleted)

<comment><USER7> That isn't really what they said, unless you equate 'all mainstream news' and 'all news'.

<comment><USER8> > unless you equate 'all mainstream news' and 'all mainstream news'.

I suspect there is an error here, as most people would equate those things since they are letter-for-letter identical phrases.

<comment><USER7> Yep. Fixed, thanks for pointing it out.

(Not that any of this is relevant, I guess, since the post I responded to was deleted?)

</comment></comment></comment></comment></comment></comment><comment><USER9> I wouldn't label any major news outlets as trustworthy. They all have sensationalist, often outright lying headlines. They all clip parts of conversations and stories to make something sound much worse or better than it actually is. It's not honest in any regards.

How will Facebook, a brand built on dishonesty choose honest sources correctly?

<comment><USER10> Further, why should a person who build a brand based on dishonesty be trusted to implement a trustworthy way to rank news sources?

</comment></comment><comment><USER11> Disclaimer: haven't been on Facebook for years, mainly because I was pissed at all those stupid games and surveys at the time.

The problem with simply providing a trust appreciation is that you continue to encourage low-value social behaviour. If you want to solve the problem, I think you should try to promote critical thinking.

Why not simply de-advantage the news and concentrate on social aspects? Simply put more emphasis on Original Content created by your "friends", not re-shares (no social added value, as the cost for creation was low) or simple link sharing (same thing, if you don't integrate a small comment or analysis, it has no social added value).

<comment><USER12> > If you want to solve the problem, I think you should try to promote critical > thinking.

I don't think Facebook wants to encourage too much critical thinking, as it's business is to sell an audience to advertisers. If the audience thinks too critically, it's harder to manipulate into doing what's in the interests of FB its advertisers.

> Why not simply de-advantage the news and concentrate on social aspects? > Simply put more emphasis on Original Content created by your "friends", not > re-shares (no social added value, as the cost for creation was low) or > simple link sharing (same thing, if you don't integrate a small comment or > analysis, it has no social added value).

They've already done that.

</comment></comment><comment><USER13> This is exactly what countless people on Hacker News ("why can't Facebook have some sense of the trustworthiness of a news source") have been demanding for years.

I'm sure we will now hear complaints that Facebook shouldn't be choosing which sources are trustworthy.

<comment><USER14> My complaint is that Facebook itself is untrustworthy.

<comment><USER15> Bingo!

</comment></comment></comment><comment><USER16> So where will Facebook place itself on this list?

<comment><USER17> Facebook doesn't create any news stories themselves.

<comment><USER15> As the financial crisis of 2008 taught us it's kind of important that the ratings agency (ranking agent) is trustworthy as well.

</comment></comment></comment><comment><USER18> Pro-tip: If you unfollow all major and minor news sources on facebook you will encounter no fake news, no real news, and no political commentary that links to a media article.

Totally improved my newsfeed UX though it took a few days to get em all.

</comment><comment><USER15> And buzzfeed is at the bottom of the rankings?

</comment><comment><USER19> perhaps rather than suppressing everything, a "trustworthiness of this news source cannot be verified" tag could be applied to the posts that seem legitimate but have no ranking.

</comment><comment><USER20> Shouldn't they rank themselves the lowest then? ;)

</comment><comment><USER21> Quis custodiet ipsos custodes?

</comment><comment><USER22> If only there was a way to remove 'trusted 3rd parties' and allow people to decide for themselves, in a wholesome way that aids the macro-ecosystem.

 _cough_ bitcoin _cough_

<comment><USER23> Blockchains are shared global ledgers. If you want an individualized solution, blockchains are the opposite of that.

<comment><USER22> Social media websites aren't private.

I think in numerous court cases (at least in the US) even email is considered public.

So, with that said, a DLT (dist. ledger tech; i.e. bitcoin) is a great solution for the problems facing a publicly facing company.

<comment><USER23> There's a weird loophole where law enforcement can get your emails in certain cases without a warrant. It's not the same as being public. [https://www.cnet.com/news/doj-we-dont-need-warrants-for-e- ma...](https://www.cnet.com/news/doj-we-dont-need-warrants-for-e-mail- facebook-chats/)

Anyway I can't understand what the use case would even be here. You need FB to publish their rankings publicly which doesn't need to be decentralized, or you want each person to have their own rankings which don't need to be distributed?

<comment><USER22> I don't think publishing their rankings will help.

The use case that I think is: A competitive marketplace to compete for the best use of encrypted data. Where each data point and evaluation has a 'cost' to the system and each algorithm competes and entirely based on pseudonyms. Since how we perceive 'trust' is etherial/intangible/ever-changing.

I don't think the solution is an easy one to create but I do think the building blocks to them are (no pun intended).

<comment><USER23> Best use of encrypted data? What does that have to do with ranking news organizations?

<comment><USER22> One must think differently if you wanted to use a DLT/Bitcoin solution.

It's not simply just a ledger.

I'm talking about every data point that facebook has, to be hashed and competitively manipulated in a global market place.

Trust is very relative but using a bitcoin-like solution would allow for the market to compete for the better solution, each and every day. Facebook's authoritarian solution won't last forever, nor should it; allowing competition through FB's data could be a way that FB stays in the limelight.</comment></comment></comment></comment></comment></comment></comment>


Too Good to Go: An App for Fighting Food Waste - <AUTHOR> https://toogoodtogo.com <comment><USER2> Excellent idea! I've found a similar US-based app called OLIO.</comment>


Recipes for automatic text summarization using Google BERT and Microsoft UniLM - <AUTHOR> https://github.com/microsoft/nlp-recipes/releases/tag/2.2.0 <comment><USER2> As someone whose extremely interested in this domain. I am excited to see these models productized.

Are the pretrained extractive models able to create extractive summaries at the word level? Or are they (like most other extractive models) only selecting and ranking sentences?

<comment><AUTHOR> It is at the token level. The length of the results can be changed.

<comment><USER2> It looks like according to the notebook recepies that it's actually working at the sentence level (despite your claim). The way you train these is to mark a sentence as "1" or "0" based on if it's selected.

Oh well, the world waits longer for a word-level (willing to skip around in sentences) and grammatically correct extractive summarizer. You got my hopes up though.

[https://github.com/microsoft/nlp- recipes/blob/master/example...](https://github.com/microsoft/nlp- recipes/blob/master/examples/text_summarization/extractive_summarization_cnndm_transformer.ipynb)

My (failed) attempt to build what I was actually looking for:

[https://github.com/Hellisotherpeople/CX_DB8](https://github.com/Hellisotherpeople/CX_DB8)</comment></comment></comment>


Ask HN: Why did GitHub go down? - <AUTHOR> Did GitHub ever reveal the cause of its substantial and unusual service outage last week?  Was there ever a post-mortem published? <comment><USER2> > _A brief power disruption at our primary data center caused a cascading > failure that impacted several services critical to GitHub.com 's operation. > While we worked to recover service, GitHub.com was unavailable for two hours > and six minutes. Service was fully restored at 02:29am UTC. Last night we > completed the final procedure to fully restore our power infrastructure._

[https://github.com/blog/2101-update-on-1-28-service- outage](https://github.com/blog/2101-update-on-1-28-service-outage)</comment>


The Encyclopedia of the Missing - <AUTHOR> https://longreads.com/2018/01/11/the-encylopedia-of-the-missing/ <comment><USER2> I've observed that going "missing" \-- incapable of being found by your old friends, social circle, family, co-workers -- isn't nearly as difficult as people assume. If you've ever helped organize a high-school reunion or similar thing, you'll know that finding most people is trivial with Facebook, LinkedIn, or by phoning around, even if they've moved to the other side of the continent. By something like 1 in 50 people are impossible to trace. I don't think it's necessarily deliberate; a few people don't keep in touch with anyone, don't use social media (or use it anonymously), don't tell family and friends when they move, etc.

Another anecdote: A couple years ago I saw a Forbes list of the world's billionaires where several members had no photos. Forbes wrote that they were unable to obtain a photo of the person. Can you imagine that? A leading news journal is unable to find public photos of several of the richest people on Earth.

</comment><comment><USER3> Thought this was going to be about Missing 411: [http://www.canammissing.com/missing_411.html](http://www.canammissing.com/missing_411.html)

<comment><USER4> For those who don't know, the author of _Missing 411_ is David Paulides, a Bigfoot crank. It's been beaten up pretty good by people in the sanity-based community, here by the host of the _Data Skeptic_ podcast: [https://www.youtube.com/watch?v=oQhv3dEMFOc](https://www.youtube.com/watch?v=oQhv3dEMFOc)</comment></comment>


Belgians asked to eat fries twice a week - <AUTHOR> https://www.brusselstimes.com/all-news/business/107798/750000-tonnes-of-potatoes-at-risk-of-being-destroyed/ <comment><USER2> Give them to me.</comment>


Hexbug Micro Robotic Creatures - <AUTHOR> http://www.hexbug.com/

<comment><USER2> My daughter competes in the local Lego League (Lego Mindstorms competitions), and these are all the rage on that circuit. Great stocking stuffers if you have kids...</comment>