Why is this job not handled by a machine yet? - <AUTHOR> http://venturebeat.com/2017/02/08/why-is-this-job-not-handled-by-a-machine-yet/ <comment><USER3> Counterpoint: a few years ago, having been stuck in abnormally high traffic on the way to the airport, I was running right on the cusp of the arbitrary check-in deadline for my flight. I began the automated checkin service, which was comparitively extremely slow on that day also. It let me start the process, but threw an unspecified error when I got to the final stages to print my boarding pass and bag tags. Upon retrying, I was past the check-in deadline. Buggery.

Walking over to the check-in counter, a polite explanation of the situation I found myself in (and, possibly, my moderate-level status with the carrier but I don't fully know) made the service attendant remove the problem in about 30 seconds, guaranteeing that both I and my luggage would make the flight with no problems despite being 'technically past the deadline now'.

Flesh-based interaction points, by their very nature, have a tendancy to span a far broader range of service quality than machines. The bad are far worse because machines don't gossip and hate their jobs. Conversely, machines have little hope when things go south compared with a good service employee, who'll do their level best to go above and beyond their basic responsibilites to make whatever issue you have either go away or minimally impact you.

My experience is that one of the most apparent examples of this is if you ever find yourself significantly up the greasy ladder of the airline status game for whatever reason. I postulate that because carriers have realised that 'bending the rules' is a relatively 0-cost commodity to exchange for brand loyalty and this is precisely factored into the training and job directives of their employees.

<comment><USER4> i have had similar experiences with check out machines in Target and large retailers. they puke if you dont follow the directions to a T.

Now I deliberately avoid any automated checkout and go straight to the human cashier. if you insist on replacing humans with machines, it has to be flawless

<comment><USER5> I prefer automated checkouts far more than human cashiers. It's much faster. Maybe there's some problem 20% of the time which is quickly resolved by an employee. (People who would say that the system still needs humans ignore the fact that one person can now look over six checkouts, thus cutting jobs by one-sixth.)

<comment><USER6> I find the automated checkouts to be much slower than human cashiers.

Humans can optimise the path from the conveyor belt to the bag so that the item just so happens to pass via the barcode scanner.

I could do that too, but the machine throws a hissy fit and doesn't let me scan the next item until I've placed it in the bagging area, and waited a second for the scales to stabilize. In the time it takes me to scan and bag one item on the automated checkout, an experienced human cashier can get 5-6 items bagged.

And that's only if things go as expected. Sometimes the scales bug out. Sometimes I have to navigate menus to specify what fresh produce I'm buying (while human checkout operators have memorised all the numbers). Sometimes I make a mistake and I'm not allowed to self-correct it. I have to wait for a human to come along and fix my mistake.

Not to mention, the machine is yelling instructions at me the entire time. "Yes I know I should use the pin pad to complete my transaction, in fact I did so while you were still playing the previous audio clip."

The only time the automated checkout is faster is when there is a queue at the real checkouts. And even then, the queue might be worth it just so I can avoid the automated checkout yelling at me.

<comment><USER7> One question I have about the automated checkouts at my local supermarket is they seem to intentionally slow the user down. For example, if you go to pay and put in a card, it says 'please remove your card, press the -debit card- button, and pay with your card'

It seems like no reasonable person wouldn't notice this flaw, let alone the presumably several people involved in creating this software, so it leads me to believe that there is some reason the shops want to encourage not using these checkouts.

I wonder why?

<comment><USER6> It's those dreaded words: Minimal Viable Product.

</comment></comment></comment></comment></comment></comment><comment><USER8> The simple answer? Because humans are actually intelligent.

Find me someone in a job who has the exact same day at work every day with no exceptions and I'll show you a job you can automate. Exceptions are what define things that machines can't do well, and every scenario brought up in this story has routine exceptions.

More importantly, even in cases perfectly suited to automation, we can't pretend all the software we build is perfect or even remotely approaches the quality that can be produced by the brightest minds in the industry, either. Everyone wants to automate everything, and you can be sure most of it will be done poorly. Even the simplest human at least does a better job than a poorly built piece of software. I can rage 24/7 about how bad the software people write is. At least 90% of it. I rarely find myself annoyed at how incapable of doing their job the typical service worker is, and when I do it's virtually always fixed by their boss or a manager.

Automation done well is a tool. It turns many jobs into a few, where people handle exceptions and have actual administrative control. I've had tons of bad experiences with automation that has little/no human backup and it's by far worse than dealing with people. And this is coming from an introvert.

<comment><USER9> Bingo. Automation is cheaper, not higher quality. The only people that consider not talking to service agents or cashiers an improvement in service have social anxiety issues or something similar. A checker at a grocery store actually does all of the work for you. Objectively it is better in every way unless you consider it a negative to be involved in human interaction.

<comment><USER10> > The only people that consider not talking to service agents or cashiers an > improvement in service have social anxiety issues or something similar.

Or they are in a hurry. I will take the faster option every time and that usually means no human.

> A checker at a grocery store actually does all of the work for you.

What if there was no work to do? Amazon is exploring that concept and if it works as described (I haven't used it yet, but have walked by and it seems to) seems objectively better in every way.

[https://www.amazon.com/b?node=16008589011](https://www.amazon.com/b?node=16008589011)

<comment><USER9> _> Or they are in a hurry. I will take the faster option every time and that usually means no human._

Correct, but this is the result of the store intentionally routing you through the self checkout by under staffing cashiers to save money.

 _> What if there was no work to do? Amazon is exploring that concept and if it works as described (I haven't used it yet, but have walked by and it seems to) seems objectively better in every way._

Excellent point. I should have used "self service" instead of "automation". It was a poor choice of words on my part. Full automation to remove anyone from needing to do the work would certainly be objectively better. The article linked is more about self service than automation.

</comment></comment></comment></comment><comment><USER11> Sure, you can have bad experiences when dealing with humans. My best experiences are with humans and my worst? Always a machine at the root of the problem. Even the article mentions this point, that the humans were there to soften the blow of a machine that won't print tickets unless conditions are met. There are some jobs where people are so miserable by their meaningless, poorly managed job that I wish they had been automated out of existence but even where I'm agreeing with the author it's to allow the people to move more center stage. The places we're most agitated are places that only exist because the first time our species passed over the problem there wasn't a better way of doing it and replicating what's been done is easier than recommitting to the problem for a modern solution. Other agitations come where we don't want a rigid machine-like process, such as the ticket printer, where we want humans in control to make reasonable choices.

It's not good enough to just to get them out of the deep machinery of the planet, it has to elevate them somewhere or we're just replacing people from the instrumentation of the universe without good reason.

<comment><USER12> > _Always a machine at the root of the problem._

I have a perfect example of this.

Years ago, my mom's coworker discovered that her bank card no longer worked. ATM's would error. Online systems would reject all transactions.

So she went to a bank branch to sort it out. After explaining to the teller her situation, the teller brought up her account details, looked up from her monitor and said, on a straight face: "You are dead."

What had happened was that she had had a full namesake who had also had an account in the same bank. When the other person had died, and her estate had closed the accounts, the person doing the account termination had only looked up account owners by their full name. Closed all of them, with the explanation "account holder deceased".

Human errors happen. So do computer errors. It only becomes a problem when humans rely only on what computers tell them. This particular bank teller didn't even realise that the facts stated by the computer were contradicting what was _literally standing in front their eyes_.

Critical thinking is a dying trait.

<comment><USER13> Isn't it exactly a human error that you are describing? The root cause was a distracted employee that input wrong information in the system, not the system being flawed...

<comment><USER12> Sure, the root cause was incompetence when closing down accounts but that is not the problem.

The real problem manifested in human blindly accepting what the computer told them. If there is no reason, or even _NEED_ to apply critical thinking, why is there a human involved at all? This is not an indictment of automation over human labour. I would rather that humans are in the loop precisely because they have the ability to spot these kinds of errors - and help to correct them. Computers are good at repeating mundane tasks. Humans are not. We should be making most of their distinct abilities, not molding the two into same form.

Now, Temporal rightly pointed out that this might have been a case of attempted fraud. But if you are trying to spot fraud, spotting anomalies and being critical on what you accept as objective truth should be on the top of your mental map.

</comment></comment></comment></comment><comment><USER14> Great post. I hope we get over the stigma of "destroying jobs" when it comes to ones like these that machines can easily do. Whenever I walk around the streets of New York I can't help but think about this. Be it the miserable cab drivers sitting in traffic staring at red lights their entire life; or guys hauling dusty insulation out of a demolition site and throwing it into the back of a truck while coughing up a fit; or delivery guys biking up and down the hostile avenues of manhattan in whatever weather to deliver Chinese food.

To me it will be a great tragedy if we never end up filling these necessary jobs with machines, be it for political reasons or something else. There's nothing stimulating or fulfilling about these jobs. It's first world human misery.

<comment><USER15> > There's nothing stimulating or fulfilling about these jobs. It's first world > human misery.

That's really nice of you to make that determination for those miserables. They're probably so uneducated they don't even know how bad they have it. They are lucky that's people like you can come along to take away those horrible bill-paying, medicine buying, sources of personal satisfaction.

<comment><USER14> You could have made the same inane argument for all the uneducated factory laborers who have been replaced by machines. Nowhere did I suggest these people should be broke and without health care instead. And you can't argue with me that these people I mentioned genuinely, deep down, enjoy what they do for a living.

<comment><USER16> >You could have made the same inane argument for all the uneducated factory laborers who have been replaced by machines.

There's nothing inane about the argument. Have you ever been to Detroit? I've lived there for years. It's a horrible thing for these people to have been replaced by automation in their lifetimes. They didn't see the benefits in the increased productivity like their employers did, they just lost their livelihood and had to scramble for jobs that paid much less while simultaneously trying to retrain into other fields, if they were enterprising. The entire region is obviously devastated from the effects of it. Their prior automated work being "unfulfilling" and therefore terrible is a) debatable and b) nothing compared to the struggle of having no income at all. One guy I knew ended up homeless after he lost his job, then with a leg amputation because of frostbite from sleeping outside. When I met him he was making a living ticket scalping in his wheelchair all day. The short term consequences are real and terrible for these people.

<comment><USER17> Doesn't this just outline the terrible dependence these workers had on their jobs? No compensation of duty of care exists from employers; any number of things could have caused the workers to lose their jobs, they were always at risk even when not struggling.

as an analogy: Crack addicts going through withdrawal don't conclude from their pain that the drugs were a good thing. OP wasn't suggesting workers should suddenly have their jobs taken away, but that the whole situation is bad. Changing the situation, and how to do it, is an entirely different topic.

<comment><USER18> Is this sarcasm of some kind or a legitimate point you're trying to make?

>Doesn't this just outline the terrible dependence these workers had on their jobs?

You're effectively saying people shouldn't rely on their jobs to support their livelihood. What other option do they (rather, we) have? Maybe factory workers should have had the foresight to see the industry changing toward automation, but even if they did, then what? Keep working to support your family 40 or more hours per week but learn an entirely new craft on top of that? Does that actually seem reasonable?

>any number of things could have caused the workers to lose their jobs, they were always at risk even when not struggling.

Yes, but the _industry_ still existed. Say you worked for 10 years at Ford and got fired. Maybe GM or Chrysler has an opportunity for you, and they'd probably love your experience.

Does that sound familiar at all? Say you work for 10 years at Google and get fired. Maybe Facebook or Amazon has an opportunity for you, and they'd probably love your experience.

My point is that putting the blame on the employee shows a complete lack of empathy for someone because they "chose the wrong path in life". Does the employer have a duty to support the individual who became obsolete? No, but we should all collectively have a duty to make sure the lives of these people aren't completely destroyed, because as unlikely as it seems right now for those of us in the software world (and I'm sure it seemed unlikely in 1995 for those in the auto industry), we very well may be next.

<comment><USER17> > What other option do they (rather, we) have?

Better jobs. What options do a crack addict have? Very few. That doesn't mean they are better off _now_ being deprived off it, they would be better off never being dependent.

> Keep working to support your family

Why did they have a family when they were at risk? Either didn't perceive the risk, they operated under a false sense of security; or no other options were offered because the jobs that existed were seem as suitable.

If there were no jobs they wouldn't be inclined to settle down. I note that turning down a job can be grounds for losing some welfare benefits.

> Maybe GM or Chrysler has an opportunity for you

speculative. In the context we are talking about there are dangerous correlations: If one worker loses their jobs, the chance that another will increase (due to the possibility of a common cause, in this case automation), not to mention the chance of greater competition from other out-of-work workers (or lower compensation).

> Maybe Facebook or Amazon

Are you still talking about bad jobs? I'd love programming/tech to be more automated, somehow.

> putting the blame on the employee shows a complete lack of empathy for > someone because they "chose the wrong path in life"

that's your strawman,not my argument.

> Does the employer have a duty to support the individual who became obsolete?

Do you mean at current, legally? No.

legally or morally, in the future? yes, maybe, who knows. Corporate tax pays for some social welfare. Things won't change if you're not allowed to criticise the current system.

> we should all collectively have a duty to make sure the lives of these > people aren't completely destroyed

I disagree, this isn't enough. We have a duty to make sure the lives are full of this kind of risk too, "completely destroyed" is too low a bar.

<comment><USER17> > the lives are full of this kind of risk

should be:

"their lives aren't full of this kind of risk"

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> This guy frankly sounds like a monster, willing and eager to put company profits above all else.

That said, he raises valid points. If a machine can do a better job for less money, why shouldn't a machine do it? But he fails to mention hidden costs. What do we do with the workers who lose their jobs to machines? Eventually there will be no work to retrain them to do.

I can envision a future where machines build other machines and there's just a few executives remaining at the top of some companies, collecting ever- increasing profits as workers are eliminated.

I want to say that a universal basic income will alleviate the problem, but are there other options? How do we live in a world where work has been mostly eliminated?

<comment><USER20> Short version: how about we just literally give everyone a job that needs one?

Long version:

As Hyman Minsky* points out, financial capitalism is inherently unstable, in the sense of having perturbations that are big enough and frequent enough to transform the lives of individual human beings. Our impending wave of automation is one of those perturbations.

We're probably not going to get rid of capitalism anytime soon, and even if we did that through violent revolution, the resulting perturbations would almost certainly be worse. So we've got to adjust what we've got. Plus, capitalism does have some good features.

We could literally ban robots from taking some kinds of jobs, but that's a temporary fix, and do we honestly want people driving trucks all night, hopped up on drugs, in order to feed their family that they never see? We should get rid of shitty jobs where we can.

I'm not sold on universal basic income. It's really expensive, and it eliminates one of the best features of capitalism, which is working for your money. Working for your money gives people meaning, purpose, and a network of human relationships, which help promote a healthy society where people feel valuable and valued.

So how about this: universal basic employment. The government literally guarantees everybody a job. At a living wage, for a reasonable time commitment (less than 40 hours a week, I hope). As the capitalistic side of the economy shrinks, government automatically creates jobs to pick up the slack.

Capitalism coupled to an adaptive socialist job-creation program.

BUT WAIT, you scream, THAT WILL JUST EXPAND FEDERAL BUREAUCRACY AND EVERYONE WILL END UP EMPLOYED IN A SOCIALIST HELL!

Devil, details. I would argue that a related deep issue in American society is the breakdown of our local communities. So let's kill two birds with one stone: build an adaptive hierarchy of taxpayer-funded job creation driven from the bottom up.

Local councils meet with their neighbors, figure out the kinds of things that need to be done, built, whatever in their communities, match their needs with the local unemployed talent pool. Counties monitor the local needs. States monitor the county needs. And the feds feed money as needed and operate with a light touch.

All these local community jobs pay the same, and it's a living wage. This serves as a soft wage floor in place of a hard minimum wage. It's a bit like an Americorps that pays enough to support you and your family, all the time, for anyone that needs a job. It has a lot of features of the New Deal, actually.

* Underappreciated economist, newly resurgent since the 2008 financial crisis. If you took some economics classes in college, you should be able to understand his writing, but he's not a great writer. I'm just barely getting familiar with standard economic terminology, so his stuff has been a really hard slog.

<comment><USER21> Agreed. A minor nitpick about "I'm not sold on universal basic income".

I'd argue that what your are proposing is both "universal" and "basic income", it's a variation of the usually proposed UBI, that in my opinion tries to deal with one of the main risks of such a system. A percentage of people (even if perhaps small) just doing nothing and the moral effect of that on the rest of the population.

I once made a comment in HN along the same lines, local community work..., it made me smile to see in your comment something so similar to what I tried to express, however I'm not a native speaker and the comment was probably not clear enough.

<comment><USER20> Yeah, that's true, it is a mechanism for ensuring universal basic income. It tries to avoid the societal hazards of people not working as well as costly subsidies to people that don't need them.

And yours made me smile. I hope some of these ideas catch on.

</comment></comment></comment></comment><comment><USER22> I find this post extremely one sided. It seems that the author is too busy to praise the machines without trying to determine the bad side of using all automatic systems in such a sensitive place like an airport.

Imagine a hack attack or bug (it happens) that causes all terminals to stop working for 12 hours on the airport like JFK. What would be the losses? Would it be still worth it?

In my opinion AI should complement humans, not substitute them. The word is not working in A and B scenarios only, there is always more options.

<comment><USER23> > Imagine a hack attack or bug (it happens) that causes all terminals to stop > working for 12 hours on the airport like JFK. What would be the losses? > Would it be still worth it?

We already get hours-long mainframe outages, not to mention weather shutting down airports entirely. The system survives just fine.

<comment><USER24> > We already get hours-long mainframe outages

I often wonder if those outages aren't sometimes caused by hackers to begin with. Publicizing them as hacks would only serve to cause panic, and let other hackers know how vulnerable their systems are.

</comment></comment></comment><comment><USER25> Most POS systems aren't very good from a UI perspective. Notice the display on a checkout stand device that takes credit cards. With "cloud-based POS", you may see messages at the wrong time - "insert card" comes up before the system is actually ready for the card, and may flash again during the transaction at moments when card insertion is inappropriate. On some systems, you get past some prompts with the touchscreen, and others with the keypad. False "chip read error" messages are common if the card is inserted at the wrong point in the cycle, and "wrong point" may be out of sync with the displayed messages.

Somebody probably tried to solve a real-time problem with a web client, and the result sucks. There's certainly enough CPU power locally to do this locally, but no, it has to be "in the cloud" now.

<comment><USER26> What was the business using? Clover, Rebel, NCR? On the pinpad itself, every vendor has limited control, and as you get into the smaller vendors, it comes down to where they just have to take what Verifone & Ingenico provide.

</comment></comment><comment><USER27> > According to the International Air Transport Association, moving to a fully > automated check-in process could save the airline industry $1.6 billion a > year. Which raises the question: Why haven't we?

Because you need the people with the domain knowledge to handle the exceptional cases anyway.

Many years ago I was flying Continental from MSP to CLE. Cleveland proceeded to get 2 feet of snow over about 5 hours. The humans at Continental rebooked me onto the next 3 Continental flights, and then the following 2 Northwest flights before CLE threw in the towel for the day[0].

You don't want to expose that level of functionality to the lay person, and if you automate it, you run the risk of creating a system so hide-bound by its rules, it can't respond appropriately either. Just like the one that wouldn't let the author check in 57 minutes before his flight[1].

At this point in time, humans still have the edge on having local knowledge and the good judgment to apply it to the exceptional situations.

The real purpose of the flight attendants is to get your ass of the plane in an emergency; serving drinks and snacks just justifies their presence the rest of the time. Similarly check-in and gate agents are there to fix problems when they arise, in the last 10 years or so, the ability to check you in is pretty much secondary (modulo oversize bags, etc, which are just another example of exceptions).

[0] We got home the next day on the first flight. I'm sure the folks in Cleveland had a much rougher time getting to their destinations.

[1] Been there done that on an LGW to CLE flight back in the day. Also watched my original flight board from across the concourse where I was booked on a flight through EWR that departed a mere 10 minutes after the CLE flight.

<comment><USER28> One time I accidentally went to the wrong airport (Newark instead of JFK). A stern but kind lady at the checkin counter gave me a disapproving look, and proceeded to put me on the airline's next flight (leaving about the same time as from the other airport) without batting an eyelash. Being so used to battling the rigid bureaucracy of international flight and US immigration, I was floored by how flexible at least this one piece of the system turned out.

</comment></comment><comment><USER29> I've had the opposite experience at an airport - I arrived 20 minutes before the flight departed, so a member of staff at the desk had to call ahead and ask if it was still physically possible for me to board. They then accompanied me through the airport to fast-track me through security so that I could catch my flight. They even kept the gate open for me so that I could do the awful walk of shame into the plane, but at least I was able to take my flight and get home for Christmas.

<comment><USER30> I believe the official policy is that you must "check in" more than an hour before your flight. So if you check in online before going to the airport, you're fine to arrive 20 min early.

</comment></comment><comment><USER31> Since the author uses the example of airline travel: I almost always use the automated kiosks -- but I want to have human agents available... because every few years I'll do something crazy like wanting to check in for a four-segment itinerary combining parts of three separate tickets on two different airlines. The automated kiosks don't know how to do this, nor should they -- it's not worth the cost of writing code (and UI) for such weird situations -- but the humans simply ask "who the hell booked this trip" and go ahead and handle it.

The trick is to have humans available for the weird situations while not wasting their time on routine matters; the approach some banks use, of "ATMs are free, but there's a fee for any teller-assisted transactions which you _could_ have done at an ATM" seems to work pretty well.

<comment><USER32> Generating code + UI for some calculated topology of possible object/ticket interactions?

</comment></comment><comment><USER33> My job will be automated as soon as managers will be able to express themselves precisely enough and will know exactly what they want.

</comment><comment><USER34> The moral of the author's "arbitrary check-in deadline" problem is the opposite of what he thinks it is. That's a problem caused by poorly-designed and non-overridable automation that could have been solved by giving more power to the human attendant.

<comment><USER17> Yep, has nothing to do with machines. Delegations of differing levels of authority applies to human only dynamics too; I once worked in a store were regular shop floor staff had to repeat company policy, but management only could override. I'd often tell customers they could not return an item due to company policy, only for them to go to a manager and get a refund anyway - <USER2> wasn't allowed to suggest myself they ask a manager, or allowed to suggest a manager might override policy.

</comment></comment><comment><USER35> > _I then had the pleasure of experiencing some of these much-lauded "human > touch points" first-hand on my travels back to NYC from abroad_

> _the clerk, who had apparently been craving some human touch points herself, > had left her post to converse with the other clerk on the far side of the > store. I ventured across the store to give them my money and was made to > feel like I had barged into their private living room, demanding to be > served_

Was "abroad" France? Sounds like it (I'm French).

Anyway, the problem with AI isn't that we'll miss the so-called, and probably non-existent, "human touch". It's that it doesn't work.

(Examples given in the article, of vending machines and automated checkout, don't have much to do with AI).

See translation for example. It's not that automatic translations are bad, it's that they're incomprehensible: you couldn't guess what the text means if your life depended on it.

In Europe, Amazon offers to translate your listing in all marketplaces' languages (English, German, French, Spanish, Italian) when you create it for just one; that produces gibberish and results in zero sales, until you use an professional (human) translator.

Google translate, despite their recent bragging about a revolutionary update, is no better. Small example: in French, "coup de coeur" means something you love at first sight ("j'ai eu un coup de coeur pour cet appartement" => I fell in love with this place at first sight). But Google translate translates "coup de coeur" with "heart stroke"

[https://translate.google.fr/#fr/en/coup%20de%20coeur](https://translate.google.fr/#fr/en/coup%20de%20coeur)

which is beyond wrong (in no context ever can this meaning ever occur). I noticed this because on some forum a user was describing his blogging activity as writing about his heart strokes and I wondered how many he had had and how it was possible to still blog about them.

Back to human interactions: machines are great when the outcome is discrete and completely predictable; using a vending machine, buying things from Amazon, checking in at the airport, etc.

But when some creativity is needed, machines can become super annoying; calling customer support and finding oneself interacting with a robot makes you want to murder someone (but there isn't anyone left to murder).

</comment><comment><USER36> >> I made my appeals up the chain of command, but it appeared the real boss — their system — was digging its heels in on this one.

Eh, seems like the problem here was not humans, but a machine that had been programmed in a terminally inflexible manner.

Which is what most people are worried about, when handing over control to machines, isn't it? With a human, there is always the chance that you might be able to negotiate some exemption from the rules, to make your life easier. With a machine you're stuck with whatever rules are programmed to it (or it has learned etc). Even the best adaptive systems we have available are not very flexible, unfortunately.

This is really a huge problem that's not going to be solved by sneering at the older generation who "need to ask their grandchildren what a tweet is" 'cause they just don't get it etc. I mean, maybe let's pause here and remember we'll all grow old too, one day, right? If we keep making machines that need a young person's familiarity with technology to operate correctly, we'll never get systems that make everyone's life easier.

</comment><comment><USER37> As a counterpoint, I rather dislike self-checkout at grocery stores. It invariably ends up being a fight between "place item in bagging area" and "remove unknown item from bagging area".

No, you damn robot, I just want to use my goddamn cart. Please shut the everloving-hell up about it instead of making me fumble for some "skip bagging" button on a shitty resistive touchscreen that doesn't register half the time.

The only reason I bother with them is because the lines are shorter. Otherwise, I'd rather just go to a regular checkout line, with a checker who's way better at scanning items than I am and (depending on the store) a bagger who's way better at bagging than I am.

</comment><comment><USER38> The human in the story couldn't fix the authors boarding pass issue because management limited the discretion available.

Customer service is all about flexibility and resolving problems. That means giving humans discretion to act.

That manifests in different ways. One night I was stuck working until the wee hours and walked into my hotel (a Hampton Inn, not a posh place), checked in and headed up to my room. I hadn't eaten, was soaked by the driving rain and was generally miserable.

The night auditor sent a maintenance guy up with extra towels, a frozen TV dinner and some sleepy time tea. That isn't a full service hotel, and she didn't need to do anything. But she did.

People hate arbritary rules. When Target treated people returning things like criminals, they angered lots of people and lost customers. Meanwhile Walmart is pretty hassle free, employees can only say "no" in specific circumstances.

Self checkouts for grocery have been around for a decade. But they rarely take over -- there's a reason.

</comment><comment><USER39> > An experiment at McDonald's found that customers using self-service kiosks > were more likely to supersize their orders, resulting in an average increase > of $0.30 per order. It appears customers ordering from a human were more > self-conscious of the employee's judgment, which I found shocking.

I like and use the self-service points at McDonalds mostly to avoid:

1) groups of school kids who can't decide who pays for what/who wants what/must order as a group and dealing with the money distribution... when there's a 12-people-line behind them

2) Language barriers: Let's just say that (in Germany, at least) fluent German is not always a job requirement. Or fluent English - especially bad on fastfood shops in train stations.

3) when ordering for groups, it's easier to be able to directly type in what you want instead of hoping that the cashier correctly gets what you want (see #2)

While those refusing to order on a self-service station still are in the line and wait, I'm happily munching burgers.

</comment><comment><USER40> There's one situation where I want a human checkout experience rather than a machine: when I have a stroller with a sleeping infant and bags strewn about its basket and the shopping precariously balanced on the hood because I didn't see where the shopping baskets were when we entered and a pre-schooler whining that we didn't pick up the magazine they _really_ wanted.

In that situation, I really want someone else's help with scanning, paying for, and bagging everything. I imagine people with permanent impediments would also prefer human help.

Doesn't the authors argument go the other way: make labour cheap enough (with a guaranteed minimum income) that every patron can have a dedicated shopping assistant & the business can save money on expensive software and inflexible machines?

</comment><comment><USER41> I love the way you write, very entertaining.

As a consumer, as long as there is one good self-service option I'm happy. When I'm in the car with two kids and need to get petrol, I'll drive the extra distance to pay at the pump rather than having to go into the store.

I don't think all companies need to go down this route. There's value in segmentation for those customers who can't or won't embrace technology. Take the recent OECD survey on computer skills [1]: only a third of people can complete medium-complexity tasks.

[1] [https://www.nngroup.com/articles/computer-skill- levels/](https://www.nngroup.com/articles/computer-skill-levels/)

<comment><USER42> > I'll drive the extra distance to pay at the pump

Another data point is New Jersey, where gas attendants are required: [http://mentalfloss.com/article/74549/why-cant-you-pump- your-...](http://mentalfloss.com/article/74549/why-cant-you-pump-your-own-gas- new-jersey)

<comment><USER43> New Jersey is the worst. I always have to remember to fill up before I cross state lines into that place, so I don't have to deal with people yelling at me if I absent-mindedly jump out and start gassing up.

Also, one very minor gas station-related automation point: if you run a gas station, and take the clip out of the pump nozzle, so that your customers are forced to stand there and squeeze the trigger the whole time they are fueling, rather than setting it and letting it click off when the tank is full, you should burn in hell.

<comment><USER44> I wonder if you couldn't make your own 3D printed replacement for that. Just a little piece of ABS that would get dislodged when your car is full.

<comment><USER43> There's already a shutoff in the nozzle that prevents overfilling when the level in the tank reaches the end of the nozzle, at least on any pump I've used in the past decade.

A Leatherman is just about the right size to jam in there and hold the trigger open if the metal clip has been removed.

</comment></comment></comment></comment></comment><comment><USER45> This article is mostly from a service job viewpoint, but I regularly have the same thought about factory type jobs. More and more I see things being sold as "hand-made" and I nearly always think to myself that that's a negative attribute. Why would I want something more expensive and less consitently made?

I recently watched a TV show in which someone toured a factory that made crisps (potato chips). At one point they were frying in a fryer roughly the size of a childs paddling pool. Someone with a rake (I believe it was a standard garden rake) stood beside it and occasionally stirred. They stated this was what let them put "hand made" on their packaging.

</comment><comment><USER46> To add a data point regarding self checkouts (I'm wondering if anyone else experiences this). Often when I'm waiting for a human checkout, I'll see the snacks and drinks, and throw one on the belt. But when I go to the self checkout I'm so involved with "a job to do" (that is, doing the job of a checkout clerk), that I've never considered adding a candy bar to my purchase. It is only after I've completed and paid, that I think "Gee, I really could have used a Snickers". But then it is too late, I've already paid and there is someone behind me waiting to use that checkout machine.

<comment><USER32> That's just bad design. The self-checkout could easily prompt a few questions before you check out, based on what you scanned.

"Hey, you got milk. Why not add a 4 pack of Oreos for 5% off? They are right behind you!"

<comment> amiga-workbench That would be incredibly irritating. Just like when a fleshy cashier does it...

</comment></comment></comment><comment><USER47> Computers should be seen as turbocharged bureaucracies. They're great for simple, repeatable, and well-defined tasks. Once you venture past that, however, everything breaks down and refuses to work.

</comment><comment><USER48> It's sad that the author resorts to blaming old people for the lack of adoption. As if the only possible explanation could be that there is a defect in the people making the decisions.

</comment><comment><USER49> Left out of these discussions of the joys of automated checkouts is that the illiterate and/or obstinate population makes up a large segment of consumers in certain areas. McDonalds has enough difficulty training their _staff_ to use the checkout machines in particular areas that you do not want to see what happens if you throw the lunch rush to their own devices. Interfacing with such machines is a skill like any other and people like the author dramatically overestimate how common it is.

<comment><USER45> McDonalds have actually started rolling this out in some locations. A giant wall mounted iPad type deal to order meals through.

Here's a burger blogger with a video review of him trying one out: [http://burgerlad.com/2015/02/mcdonalds-touch-screen- ordering...](http://burgerlad.com/2015/02/mcdonalds-touch-screen- ordering.html)

</comment></comment><comment><USER50> I like the solution employed by many Grocery stores and some big box stores. lines for both solutions, whether at check out or elsewhere within the store.

there is room for both because the capabilities of people varies and some do need assistance. if the unmanned position is not being used frequently or has complaints then business needs to jump on it quickly to make people understand it will work and work well but at teh same time, keep a few people to humanize the area

</comment><comment><USER51> Bill Burr sums up perfectly why some people hate self checkout. Additionally when companies implement these systems customers tend to get less service and with none of the savings passed on to them.

Check the video, it's very hilarious.

[https://www.youtube.com/watch?v=FxINJzqzn4w](https://www.youtube.com/watch?v=FxINJzqzn4w)

</comment><comment><USER52> It's interesting that so many people are so opposed to automating jobs. When I checked out my groceries myself, a neighbour also did the same. I said: «Hello are you also trying out new things?» and she seemed embarrassed. A week later she returned to the traditional way of buying groceries.

</comment><comment><USER53> I always wonder how come crab fishing cant be mostly automated whenever I watch one of those Discovery shows, surely the most dangerous bits can be done by machines by now, or is it a job protection thing?

</comment><comment><USER54> Never heard of this deadline before. I've never arrived an hour early to a flight in my life. Is this a real thing?

</comment><comment><USER55> systems are not perfect and prepared for all scenarios, when i tried to choose row for infants in airplane their system didn't let me to choose it, only human at check in could do it for me

truth they could fix their system, but there are other rare scenarios not worth implementing

</comment><comment><USER56> Interesting idea. But how does that one gets implemented among all the noise ?

</comment><comment><USER57> After reading this article, because of the tone it was written with I think it would be easy to dismiss the authors entire premis of replacing customer service agents with AI to improve efficiency and cut costs as a cold, heartless rant from an elitist that doesnt understand or worse even care about how important those jobs are to maintaining our social fabric... but I won't, the fact is those jobs are being handled by machines right now and the author is somewhat correct, the bad employees need to be replaced but there are valid reasons why people are used instead of machines and I will try my best to give a few of them to address the authors points. Here goes.. Airports are very stressful for a certain amount of people, these people tend to get upset when say, they arrive late for a flight check in, it is much better for that person to be able to vent their frustrations towards a trained rep than another passenger without the social skills and training to de escalate a situation, who most likely is also upset as this would most likely result in further problems requiring police, courts, prisons etc. Airline reps also however little it may seem are an athority figure and as such require passengers to treat them with certain level of decorum either by law or just social convention which tends to make othe rise unruly travelers toe the line. AIrvine reps are much more effective at moving people along than you may realize. There is a reason why during big events the police are called out to direct traffic and pedestrians instead of relying on the light controllers with all of their algorithms and that is because things run smoother, granted the example of an empty airport may not support that argument but all airports get busy and you cannot expect people to be available only when things get busy. (well you can but then you get bad workers) When it comes to customs agents, I agree that being questioned is annoying and can make you feel like they are searching for a reason to arrest you, but that is their purpose and the fact that you felt that way is actually a good thing, yes scanning a passport is much better for the travelers but not necessarily better for everyone, just as swiping your drivers license into a kiosk might be better for the majority of people going through a drunk driver checkstop it would defeat the whole purpose. The cashier that was too busy talking to their co worker to serve you should be fired. But there are vending machines in airports for everything now, they do tend to breakdown, get vandalized, run out of product. Yes you can solve these problems and as I said there are machines already doing this. Finaly the McDonald's example, yes people do tend to up size their orders at kiosks just like how slot machines tend to encourage people to keep gambling, as a matter of fact though there was a certain movie called Super Size Me that attacked McDonald's for exactly what you see as a virtue but that is another argument all together. I live in an area that has McDonald's with these kiosks and they provide a value added service called create your own burger which allows you to mix and match McDonald's products together to create hybrid burgers like a quaternary pounder fillet o mac!! but again for some reason they do not accept cash and considering many of mcdonald's customers either prefer or are forced to use cash due to their financial situations there are still problems that need to be solved. In conclusion I tend to agree that there are many benefits to automation and computer services, I myself use the self checkouts at my local grocery store but that does not mean that we can discount the benifits of real people, both systems have value and smart companies realize this and as such use both, choice is always better.

</comment><comment><USER58> Is there a machine that can help the author get to the point?

<comment><USER59> Yes, there are some good reddit bots that can automatically summarize an article quite well.

<comment><USER60> These machines will only help readers after the article is finished. chrismealy however was asking for a machine helping the writer while the article is in writing. But I also think the question was meant a little sarcastic.

<comment><USER61> No, the author could run the summarise-bot, then use the results to focus the writing towards the salient points.

Sarcasm was certainly intended.</comment></comment></comment></comment>


Seven months later, Valve's Steam Machines look dead in the water - <AUTHOR> http://arstechnica.com/gaming/2016/06/its-time-to-declare-valves-steam-machines-doa/ <comment><USER2> When the Steam Machine was first announced, Windows 8 was new and the Windows Store was shaping up to be a possibility. Windows could make their store a walled garden, such as others have done on mobile, and effectively lock Valve/Steam out. At the same time, Valve announced new initiatives for broader games support on Linux, which the Steam Machines run on.

In every way the Steam Machines were presented not as a platform for making money, but as a strong signal to consumers that Valve would not go down without a fight. In that regard, I see the initiative as a huge success.

</comment><comment><USER3> See previous discussion: [https://news.ycombinator.com/item?id=11824830](https://news.ycombinator.com/item?id=11824830)

</comment><comment><USER4> The Steam Link killed any reason for a Steam Machine. Perhaps they are going after separate markets (PC vs. Console), but they are trying to solve the same problem: put Steam in the living room. For this, the Link is a great solution, while the machine was a bit short sighted.

</comment><comment><USER5> So what? This is Valve we're talking about. They're sitting on Steam, which has got to be a firehose of money just by generating platform fees via game sales.

I'm guessing they don't _have_ to make money on this.

</comment><comment><USER6> Console functionality with gamer PC prices (low end, AFAICT, is $500), that's why I haven't purchased one. And anyone that's read one of my Xbone rants here on HN can probably picture me willing to give an underdog a shot. Too much money for too much uncertainty.

Now were Valve to bundle HalfLife 3 with the purchase of a SteamBox...</comment>


Don't Buy an Unlocked iPhone From AT&T, Just Cancel a New Contract - <AUTHOR> http://gizmodo.com/5021186/dont-buy-an-unlocked-iphone-from-att-just-cancel-a-new-contract <comment><USER2> I'm confused (maybe)-- why would the "locked" phone suddenly become unlocked when you cancel your contract? Not sure I follow how this trick would work.

<comment><USER3> He mixed up locked and no-contract. AT&T will offer "no-contract" phones for $599/$699 but they will still be locked to AT&T. You can use a different plan or pre-paid, as long as it's from AT&T. If you cancel, it's still cheaper than buying a no-contract phone, but you can't use another carrier (until the jail- breakers figure iPhone 2.0 out).

</comment></comment><comment><USER4> Apologies in advance if this question is inappropriate for hacker news, but the gadget blogs seem to have quite trollish communities and I didn't want to bother posting the question there...

If I get an iPhone in the USA, with a contract or no-contract, can I pop a local SIM in it if I travel to Europe or Australia and expect it to work?

<comment><USER5> Negative. If you're talking about a first-gen iPhone, you can download illegal unlocking software and sort yourself out. For the new iPhone 3G, no such software exists (yet).

<comment><USER6> Is unlocking software illegal in the US?

<comment><USER7> no it's not.

</comment></comment></comment></comment><comment><USER8> Are there ways to get and use an iPhone in the US without having to have anything to do with AT&T?

<comment><USER9> Yes, you can import them from Belgium (or Italy, or possibly Australia). Due to the laws of Belgium, it is illegal to lock a phone to a single carrier.

Unfortunately they seem a bit pricey: <http://blog.steven.be/2008/06/belgium- iphone-prices.html>

<comment><USER8> Thank you.

</comment></comment></comment><comment><USER3> Looks like it's going to get more expensive to cancel an iPhone contract :)</comment>


Stock App for Tracking High and Low Breakouts and Finding New Trades - <AUTHOR> http://www.mometic.com/ <comment><USER3> Looks interesting. The trial timer provides too short of a timeframe - <USER2> minutes are really not enough to test it out..</comment>


Ithkuil: A Philosophical Design for a Hypothetical Language - <AUTHOR> http://www.ithkuil.net/texts.html

<comment><USER2> Not the same url as submitter but there was a previous discussion about the New Yorker article:

[https://news.ycombinator.com/item?id=8180493](https://news.ycombinator.com/item?id=8180493)

</comment><comment><USER3> Just a few days ago by chance I was searching my notes for the word 'magma' (for unrelated reasons) and it matched an article by The New Yorker on Ithkul that I had saved years before, which mentions a french progrock band called Magma having had an influence on Quijada as a teenager with their chant opera and theatrical performances sung in an invented German-like language. It's funny the first time I read through that article I didn't pay any mind to it. Now I'm in love with Magma's MDK album these days, so thanks Ithkul.</comment>


Gut-Driven Development - <AUTHOR> https://twos.dev/articles/gut-driven-development.html# <comment><USER2> Hah. I like this contrarian point of view. Seems that it comes from experience.

<comment><USER3> I cannot follow this pov. I was expecting an article about programming paradigms and code examples. Instead, I read a rant about money fishy gaming industries.

For me, d3.js was the big intro into DDD, and I love the idioms of this library. It makes simple things simple.</comment></comment>


Sshtalk: An SSH-based chat made in assembler - <AUTHOR> https://2ton.com.au/sshtalk/ <comment><USER2> Seems cute. Might be a fun gadget to host on a Pi or whatnot.

> Hand-written in x86_64 assembly language

Oh.

Not sure if cross-internet capable communication tools constitutes the "worst" example of hand written assembly, exactly, but... yeah, it has to be up there. I'm sure it was fun to hack, though.

<comment><USER3> The only thing really worse there is that the number of people who could audit the code is much smaller. That guy wrote a whole SSL library in assember, so he probably didn't just finish some assembler tutorial and decided this was a good first lil project.

Assember is usually just considered bad/dangerous by people who have no clue about it and consider it something magical. It's not. At least not significantly more dangerous than C, which is still the language the most fundamental components of everyday computing are based on.

<comment><USER2> No, I think portability is definitely the worst thing. It's a communication tool. It's perfectly reasonable to want to run this on your Pi or your phone or in your browser or your IoT device of the week. And you can't because of an implementation choice.

I'm certainly not afraid of machine code, I actually get paid to write it. But this just isn't a good choice technically. Though it's impressive and like I said was surely a lot of fun and worth showing off.

<comment><USER3> Ah yes, I'm probably too focused on just x86 desktop/server with my everyday work that this didn't even occur to me, so I assumed you were meaning to refer to maintainability/security.

</comment></comment></comment></comment><comment><USER4> I love how you can SSH to a server and be presented with a login / registration screen. I would love to adapt this for use with an open source project I'm making, but don't think I have the fortitude for assembly. Anyone have any tips on how something like this is achievable using a more modern/approachable tooling stack?

<comment><USER5> If golang is your thing, take a look at this[0] or that[1]. You can probably find similar ones with some quick research.

The neat part is that you can easily pull down someone's github keys and automatically authenticate them against that identity. You can follow up with an email/password registration as a backup identity provider, if you really want to push the envelope (and save the public key for future automatic authentication).

Of course, if you're just looking to hack something together quickly, you can simply force a specific command to be run.

[0]: [https://github.com/shazow/ssh-chat](https://github.com/shazow/ssh-chat) [1]: [https://github.com/gliderlabs/ssh](https://github.com/gliderlabs/ssh)

<comment><USER4> Perfect, golang definitely is my thing, I've been using that to build my cli tool. Thanks!

</comment></comment></comment><comment><USER6> Well I think I was banned from the server 2ton.com.au. Not sure why but it was fun while it lasted. sshtalk is a pretty cool utility!

<comment><USER7> This whole conversation was getting a little out of hand, maybe the admin banned all users in the room?

<comment><USER8> LOL eigenmachter here. Pouring one out for john2 and his gf

<comment><USER9> I leave for 10 minutes to get lunch, and everything blows up? Too bad. This makes me want to host my own instance now.

EDIT: Don't think it was banning, I can't hit the server from anywhere now.

EDIT2: Why not. Give this a shot:

        ssh human.org.in -p 4001

Meet in the room "test".

<comment><USER6> If you make one, post it here! I'll join

<comment><USER7> Same here

</comment></comment></comment></comment></comment></comment><comment><USER10> A growing number of users are showing up in the room named "hn", if you want to see it with multiple users ...

</comment><comment><USER7> Was fun while it lasted...

 _> ssh: connect to host 2ton.com.au port 22: Connection refused_

</comment><comment><USER11> Why implement it in assembly language?

<comment><USER12> Why not?

<comment><USER13> Because it limits the amount of people who can audit the code, contribute to it, or just use it?

</comment></comment></comment><comment><USER14> anyone have a server setup anywhere?

EDIT: RTFA "ssh 2ton.com.au" EDIT AGAIN: Anyone have a room name to join?

<comment><USER15> I had to run "ssh -oCiphers=+aes256-cbc 2ton.com.au", seems like it's disabled by default in my version (OpenSSH_7.6p1 Debian-2).</comment></comment>


DigitalOcean Spaces - <AUTHOR> https://www.digitalocean.com/community/tutorials/an-introduction-to-digitalocean-spaces <comment><USER2> I'm a bit surprised by the fixed fee of 5 USD/month (compared to AWS S3 and Google Cloud Storage which have no minimum).

The documentation says nothing about durability of stored objects (replication, etc.).

I'm wondering if there is a way to restrict delete operations to some privileged users (for backups)?

</comment><comment><USER3> Is there a JSON version of this API, or is XML the only way: [https://developers.digitalocean.com/documentation/spaces/](https://developers.digitalocean.com/documentation/spaces/) ?

</comment><comment><USER4> I wonder if Arq backup will work with this one day.

<comment><USER5> Have you tested it? It might already since it apparently has an S3 compatible interface.</comment></comment>


Python Data Science Handbook: Full Text in Jupyter Notebooks - <AUTHOR> https://github.com/jakevdp/PythonDataScienceHandbook <comment><USER2> An acquaintance once advised me to keep a context file: all the little "notes to self", code snippets, key config elements, etc, in a file. I've tried a few times in Vim but finally really got traction in Jupyter, through a combination of my org's massive Windows dependencies, which is definitely not the Jupyter community's default (needed to document lots of little idiosyncrasies), and actually having interesting data in that world. What I really like about Jupyter for this is that it's trivial to mix it all together: a link to a handbook like this, how to decode and encode Windows environment variables, tips on Vim, python, pandas, plotting, etc.

And I was really struck how a number of the headings in this handbook mapped exactly to the headings in my context file. I suspect this will not be the last time I click that link.

<comment><USER3> hmm interesting idea. I've been trying all kinds of different tools for documenting my work/code snippets/notes.... But nothing sticked. Mind explaining more on that? Would it be stupid to have a wiki like system inside jupyter?

<comment><USER4> I really prefer small text files, preferably org-mode. But, I just made a radical change that is so far working for me: I signed up for G Suite for my personal domain, and manually copied over org-mode, Apple notes, etc. to Keep Notes. I copied all purchased PDF eBooks, ACM Communications PDFs, and important research papers to Google Drive, and copied over all old email. With Cloud Search, I can find any of this stuff instantly.

As a programmer, there is no larger time saver than having notes for code snippets, configuration file examples, etc.

I used to use Evernote, then I wrote a personal version of Evernote in Clojure that worked really well for me, except everything was just on my primary laptop. G Suite is not great from a privacy standpoint (but I can live with it) but for me wins out for convenience - well worth $12/month.

EDIT: I used to keep Jupiter-lab running on a GPU leased server for machine learning educational projects. If I still did that, as other people here have pointed out, with the new file interface Jupiter-lab would be a good choice, esapecially with some customization to implement a global search to find stuff quickly in all notebooks.

</comment></comment></comment><comment><USER5> Is there a way to run notebooks automatically, so you could regenerate notebooks like this after some library code changes or dependency upgrades and check that everything stillw orks?

<comment><USER6> Yep, Jupyter notebooks have an execution API, you can find more of it here - [https://nbconvert.readthedocs.io/en/latest/execute_api.html](https://nbconvert.readthedocs.io/en/latest/execute_api.html). Hosted notebooks as a service is a growing area of investment and those services presumably use this API.

</comment></comment><comment><USER7> It seems to be a nice introduction to numpy, pandas, and matplotlib

</comment><comment><USER8> Any reviews on this ?

<comment><USER9> I have a fair amount of experience with pandas, and find the notebooks very help to refer to! I would say it's worth noting that his book is organized by technology (e.g. numpy, then pandas, then plotting), which makes it feel more like a technical reference, than a walk-through of basic to advanced DS activities.

It's also worth checking out the notebooks for Wes McKinney's data science book. Daniel Chen doesn't have the code from his DS book on GitHub, but does have some useful notebooks he uses for workshops.

[https://github.com/wesm/pydata-book](https://github.com/wesm/pydata-book)

[https://github.com/chendaniely/pandas_for_everyone/tree/mast...](https://github.com/chendaniely/pandas_for_everyone/tree/master/training)

<comment><USER10> An incredibly critical review of McKinneys book can be found here: [https://medium.com/dunder-data/python-for-data-analysis-a- cr...](https://medium.com/dunder-data/python-for-data-analysis-a-critical- line-by-line-review-5d5678a4c203)

<comment><USER9> Ah thanks for pointing out--I mostly agree with his posts (and his minimally sufficient pandas is a great one!), and it's definitely worth reading. A common quirk with a lot of the python DS books is them being "reference manuals".

(I'm a little concerned with the aggressive way he's come at Wes McKinney in posts and on twitter, considering Wes has given a lot of his time working on open source contributions)

</comment></comment></comment></comment><comment><USER11> When an open source book has 150 open PRs and the last commit is from 4 months ago I am discouraged to spend time on it.

<comment><USER12> Or maybe you _should_ spend time on it, by creating a fork with all the good PRs applied?

<comment><USER11> I would probably do that if the time investment was worth it. For example if it was something I was using on a day to day basis but not for leisurely/exploratory reading.

<comment><USER13> Even for leisurely reading, you expect an author to still be updating a book several years after it was published? What experience has led you to believe that's a reasonable expectation?

<comment><USER11> I don't "expect" the authors to do anything. But I am not going to spend many hours of my time reading a book when I see that the book is not maintained because there are many great books on my backlog that ARE being maintained by the authors/community.

<comment><USER14> All of my books are in pdf and receive zero maintenance - many of them are still incredibly useful.

<comment><USER11> I did not make a blank statement about the usefulness of outdated books. But certain topics do get out of date pretty quickly and would be less valuable to a maintained book.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I also recommend checking out the open source Automunge tool for automated data wrangling at automunge.com

<comment> VvR-Ox Is this an advertisement?

Some ideas / questions: \- The documentation on GH is unreadable like this \- On GH it says "Patent Pending" so is this not open source after that or is that phrase just a joke? \- How is it related to the mentioned Data Science Handbook?</comment></comment>


Say Hello to CAPTCHAs as Advertising - <AUTHOR> http://adage.com/digital/article?article_id=145986

<comment><USER2> Unless doing it this way is actually more effective at reducing spam than a normal captcha, then it seems like this is just an intrusive advertising measure rather than anything useful. The potential for abuse just seems too great.

</comment><comment><USER3> To prove you are a human please enter the text from the following image:

"Coke is better than Pepsi."</comment>


Screw motivation what you need is discipline - <AUTHOR> http://www.wisdomination.com/screw-motivation-what-you-need-is-discipline/ <comment><USER2> Great article. Ironically it gave me a lot of motivation to get out of the bed and get to the stuff I've been postponing.

</comment><comment><USER3> Ok, those were very well-written articles (there's a part 2). If you are stuck in a need-do-this-thing-but-can't-seem-to-get-the-motivation loop, this is for you.</comment>


Facebook memorial fraud, the dark side of online catharsis - <AUTHOR> http://www.thewhatnoise.com/2013/04/from-sandy-hook-to-derby-facebook.html <comment><USER2> Please warn in the title that it autoplays audio.</comment>


Reply to "What ORMs have taught me: just learn SQL" - <AUTHOR> http://weblogs.asp.net/fbouma/reply-to-what-orms-have-taught-me-just-learn-sql <comment><USER2> I don't find this response convincing...

First, in the intro, it sets up a straw man argument -- that a ORM won't fix your remarkably crappy db or object design. No one expects magic, and I don't see how it's relevant. However, sometimes people are _given_ remarkably crappy designs that they have to support, and ORMs make it much more difficult. ORMs are much better when you can start your db from scratch, but not so good when you have an inconsistent or legacy system.

I agree with him about the dual schema dangers, though (ie, Objects -> tables or tables -> Objects doesn't really matter once you have a good abstract entity model worked out. It's sometimes tough to work one out, though, and I tend to do it in the DB first)

Transactions in an ORM have been a huge problem, so I pretty much do as much as possible in the db through stored procedures, combined with whatever application code necessary to verify everything is moving along as it should.

It seems to me that most developers should learn SQL and databases fairly well. They are just so common, and it's not all that much trouble. Once you know how to normalize data and some basic SQL you're well along the way.

ORMs have their place in relatively simple projects, but once code passes a certain level of complexity then ORMs cause much more pain than they are worth. It's a classic leaky abstraction -- you end up spending too much time fighting with the ORM. Debugging SQL through an ORM can be a nightmare, too.</comment>


A Collection Of Redis Use Cases - <AUTHOR> http://www.paperplanes.de/2010/2/16/a_collection_of_redis_use_cases.html <comment><USER2> These are really useful. I've been telling anyone who will listen that Redis is a very different beast from the other NOSQL / Document stores out there - it scales down to small applications beautifully and makes a whole class of large-scale write problems (like real-time statistics) approachable for smaller projects.

<comment><USER3> But wouldn't it require lots of RAM? My web server only has 512MB (or 256, not sure), therefore I have not seriously considered it yet. I'd love to use it, but it would cost me a lot to move to a better server.

Also, none of the root servers you can rent seem to have decent amounts of memory.

<comment><USER4> The new virtual memory feature of Redis 2.0 allows you to swap data to disk and keep a minimal subset (the keyset, only values are swapped, never keys) in ram (1M keys would require 160mb of memory). You could keep only the most frequently used values in ram (and the keyset) to minimize memory usage.

<http://antirez.com/post/redis-virtual-memory-story.html>

</comment></comment></comment><comment><USER5> After being clued in by Assaf (who wrote Vanity) I have been testing it out for adoption on my site.

A/B testing is practically tailor made for a NoSQL solution: you're storing lots of disconnected bits about individual user/test pairs but never querying over a set of them. The load is potentially _very_ write heavy, _very_ spiky, etc -- these sort of things spell trouble for scaling relational databases. However, key/value stores just slurp them up and ask for more. (Additionally, "eventually ACID" works totally fine for this problem: if one of your Redis machines suddenly dies, you might lose a minute's worth of A/B test assignments for a fraction of your userbase. That's just rounding error on your tests, though, and moreover it is evenly distributed rounding error, so you can just handwave it away.)

This is why I went with key/value stores for A/Bingo. (Granted, my site only has about 20,000 writes a week for A/B tests so I could have gotten away with doing it in MySQL/ActiveRecord -- heck, I could probably have gotten away doing it with opening a new flat file for every user -- but some of the larger deployments would probably never have happened if I did it that way. It would have had unacceptable performance implications for key pages on their sites.)

</comment><comment><USER6> Here's a use case of my own. I'm running a script that does sentence tokenization. Since the algorithm is using machine learning, I have a large dictionary of fragments corresponding to their probabilities. Instead of loading that dictionary off disk, as I had been, the script now accesses them out of Redis.

<comment><USER7> Hey, I know a guy who's doing something just like...oh, right, hi. Is that script up on the server at the moment?

</comment></comment><comment><USER8> I've been using Redis for data storage in a couple facebook apps. It's worked pretty well, and the speed is remarkable.

</comment><comment><USER9> Thanks for this!

I'm planning replace most of MySQL on a web app with redis requests/responses for a faster experience. And this made my day (<http://ozmm.org/posts/sort_in_redis.html>). Tks!

</comment><comment><USER10> We're using redis, exclusively, to power <http://pycon.djangodose.com/> (A live stream of everything going on at PyCon).

</comment><comment><USER11> It's not just a database - it's also usable out of the box as a fast, language-independent tuple space. Its atomic lists and sets can be used like Erlang mailboxes, and the different components of your system don't need to be in the same language or on the same machine.

Another thing I like about Redis is that its features make it very complementary to RDBMSs, rather than a competitor in the same niche.

</comment><comment><USER12> Fantastic, I've been looking for something like this.</comment>


Betwixt: Web Debugging Proxy - <AUTHOR> <comment><USER2> URL missing. Looks like it should be:

[https://github.com/kdzwinel/betwixt](https://github.com/kdzwinel/betwixt)</comment>


Supabase Alpha – June 2020 - <AUTHOR> https://supabase.io/blog/2020/07/01/supabase-alpha-june-2020 <comment><AUTHOR> Hey HN, Supabase cofounder here. We have a bunch of new updates this month. You can now choose your region (and soon go multi-region), we expose your daily database backups, and we have greatly improved the table editor.

We're still building Auth, but it's progressing well. We'll update as soon as we release something into production.</comment>