The Last Robot-Proof Job in America? - <AUTHOR> https://www.newyorker.com/culture/culture-desk/the-last-robot-proof-job-in-america <comment><USER2> Robotics still seems a long way off being able to automate many physical jobs - would you trust a robot to look after your aging parents without hurting them?

Likewise jobs like computer programming seem pretty 'robot-proof'.

It seems only repetitive, predictable work can be automated and we shouldn't waste human labour on those tasks in any case.

Personally, I think the threat of automation has been greatly exaggerated in the media, it is true that self-driving cars would have a huge economic effect but progress appears to be slowing down in that area.

<comment><USER3> Taking care of parents without hurting them is very easy. The bigger problem is whether they can take care of them at all.

Also the real threat of automation is wealth inequality. If workers own (a share of) the robots that replace their jobs then there is no problem. If all the robots are owned by corporations there is a massive problem.

<comment><USER4> Actually, wealth inequality is a big threat /to/ automation because lower wages means automation isn't economically efficient.

The first places where automation is put in place is where labor is expensive. That is, both geographically and industry-specifically.

It's not the factory workers so much as the accountants, lawyers, and doctors that are marginalized first. Software is cheaper and the reward greater.

And with respect to geographically, Scandinavia employs the most robotics to augment manually labor jobs. They will continue to lead in this area.

<comment><USER5> I found that interesting. I've also heard it said that unemployment is higher in France compared to England. But their (France) productivity is higher. I wonder which is better...

<comment><USER2> Productivity in my opinion - there is no point in employing people if it isn't efficient.

But it seems most societies still seek jobs for jobs sake.

</comment></comment></comment></comment></comment><comment><USER6> Last robot proof job is a fish buying guy? Definitely not. It seems that way because it relies on their vendors to be humans that you need to create personal relations in order for them to give you their best stock. Take those oldies out, make the fish stay fresh in water tanks and slaughter them just before delivery, all done automatically and poof, the job is done by robots. I predict this can be done with current tech nevertheless; automatic fisheries, automatic ships to catch fish, automatic feeding the tanks, automatic delivery.

You wanna know what is the ultimate robot-proof job? Be a politician. That job will never be handled by a robot. Or if that will happen then Terminator style world upon us.

<comment><USER7> Although politicians themselves will probably stay human for the foreseeable future, they have already outsourced their speechwriting and campaign strategizing. The robot ruler won't be an actual robot, it will be a human who uses machines to write their speeches and prioritize their campaign movements.

<comment><USER8> This seems both highly plausible and deeply chilling. We already saw what happened with electronic voting.

<comment><USER7> I think it's already chilling that speeches are written by speechwriters who are carefully optimizing for the same things that the machines would optimize for.

</comment></comment></comment></comment><comment><USER9> I went through yoga teacher training recently. One of my instructors mentioned they think yoga instruction will be difficult to automate because students show up for a personal connection and not just fitness. I think this is an interesting perspective. Especially considering that you can already find instruction on YouTube, yet in-person instruction is still popular.

<comment><USER10> Hot take: This is true for a lot of jobs.

Very often you actually don't just pay for the job done, you pay for the social surrounding.

<comment><USER9> Yep, I figured it was true for many jobs. If there is a class of "personal connection" jobs that will be difficult to automate, I wonder if other difficult to automate classes exist.

</comment></comment></comment><comment><USER11> Moravec's paradox is _still_ in full effect.

[https://en.wikipedia.org/wiki/Moravec%27s_paradox](https://en.wikipedia.org/wiki/Moravec%27s_paradox)

It only makes sense; brains were doing navigation and control of bodies for billions of years before they were playing chess.

<comment><USER12> I've seen that page before but I was rereading it and thinking how _dumb_ it is to equate a symbolic integration program with, say, what a mathematician does. This is the exact same mistake being criticized w.r.t. sensorimotor skills - what you don't understand seems easy.

<comment><USER11> Well, before stuff like mathematica, stuff like symbolic integration is what an awful lot of applied math people spent their time doing. Them integrals ain't gonna integrate themselves!

<comment><USER12> Before compilers, programmers spent a lot of time writing assembly language, but that doesn't mean a compiler is doing the job of a programmer.

<comment><USER11> In fact, a compiler is doing part of the job of an old school programmer who only had machine language to work with, just as mathematica is doing part of the job of an old school mathematician or physicist who needed to work out integrals by hand.

It's not "AI" in the sense of actual intelligence of course, more like a labor saving device.

That said, it's entirely possible that letting the computers do these tasks, something important has been lost. It's more obvious in programming when people ship 10 or 300 megabyte "hello world" output when entire operating systems used to fit in 4k binaries. Might also be true in mathematical physics anyway, as they haven't exactly covered themselves in glory for the last 40 years.

</comment></comment></comment></comment></comment><comment><USER13> Fact check: "It is the second-largest fish market in the world, after Tsukiji market, in Tokyo"

Toyosu Market replaced Tsukiji in October 2018

</comment><comment><USER14> Although the content of the article is rather interesting, the title is very clickbaity.

</comment><comment><USER15> Why are they calling this a 'Robot-Proof job' while describing how the guy is training a model?

<comment><USER16> The models not doing anything, it's a straightforward e-commerce play. It's the relationship and curation that matters.

He's barely using the software.

</comment></comment><comment><USER17> Cleaning lady is one of the most secure jobs that exist.

<comment><USER18> Is lady a requirement? Is she providing a pregnancy or being a wet nurse for someone where she cleans?

<comment><USER19> I live in Africa and around here, people don't trust men with this kind of work. I have a housekeeper and so do many people, and every single one is a women. You might not be able to prevent them from stealing, but you feel a lot safer than you would with a man.

This has to do with the different evolutionary strategies that women and men pursue. Women tend to pursue a low variance and consistent strategy (which makes sense considering their reproductive cap) while men take a high-risk high variance strategy (which also makes sense given their lack of a reproductive cap).

Women here take stable but probably mediocre jobs: hotel waitress, cleaner, food vender. Men on the other hand are always trying to get a big break and are never satisfied with a job and consequently often jobless. In fact there's a saying over here translated goes something like this: A man that walks for nothing is different than the man who sits for nothing.

</comment></comment></comment><comment><USER20> Most automateable jobs are already automated. If there is an increasing robotization of jobs, i m not seeing it. Titles like this are just nonsense.

<comment><USER21> Lol, this comment will be viewed as "nobody will ever need more than 640k of ram" in the future. The next big wave of automation will be the knowledge workers. Robotics for manipulating objects (manufacturing, transportation, skilled labor) will always have some additional cost to them. But if your job is (data in) -> (data out), it will be much easier, quicker, and cheaper to automate your job.

<comment><USER12> "Lol, this comment will be viewed as "nobody will ever need more than 640k of ram" in the future. "

No, it's nothing like that. 640k of ram is an absolutely fixed point. "Everything that can be automated" continually increases indefinitely, but the point is that it's not going to _discontinuously_ increase. Or at least, nobody who is concerned ever states a reason that it should.

</comment></comment></comment><comment><USER22> > If Warren Buffett orders a red snapper, the company needs to insure that his > fish is fresh

A rare grammatical error from the New Yorker?

<comment><USER19> Maybe he gets his money back if it isn't?</comment></comment>


Patient sues dentist over gag order, gets Medical Justice to backtrack - <AUTHOR> http://arstechnica.com/tech-policy/news/2011/11/patient-sues-dentist-over-gag-order-causing-medical-justice-to-drop-it.ars

<comment><USER2> This guy Lee, who fought back, is a hero to me. Everyone benefits when someone takes on systemic abuses of law and power. Bravo!

<comment><USER3> I wonder how he's doing financially, and whether his attorney is representing him pro bono. I live in New York, and I'd kick some money his way if he needed it.

<comment><AUTHOR> His representation in the case provided by Public Citizen, a public interest organization that I would expect takes clients pro bono.

<comment><USER4> The real matter is what definition of 'pro bono' they're taking. Many lawyers defer payment (and won't charge if they lose) until after the completion of proceedings, however you still have to pay for disbursements (IE, filing with the court, photocopies of documents, etc) which can run into the thousands.

By the fact he paid cash and said he's not worried about getting the money back, I'm guessing he's not short on cash. Most people who are short on cash don't pursue legal action because they see it as costing too much.

</comment></comment></comment></comment><comment><USER5> Does anyone know if their are any positive merits to Medical Justice?

I always (possibly wrongly) assumed these agreements were an attempt by doctors to "level the playing field" since they would be unable to counter any negative feedback by a patient due to HIPAA.

Seems like the wrong solution to me, but I can see why doctors think they are protecting themselves from phoney reviews.

<comment><USER6> Hmm...would the right answer be to get the patients to sign a HIPAA privacy release for purposes of answering any reviews left of their practice?

From WikiPedia:

"A covered entity may disclose PHI...if the covered entity has obtained authorization from the individual. However, when a covered entity discloses any PHI, it must make a reasonable effort to disclose only the minimum necessary information required to achieve its purpose."

Seems doable, and reasonably fair -- if you're going to slam someone in a review, it only makes sense that they should be able to respond in their own defense. In this case the "minimum information necessary" could be something like (I'm making this up!) "My fee for coming in on a weekend day is $2000, and that was the only appt. time available" or "He is misrepresenting the services performed, and his insurance denied coverage" or some such.

In this case the dentist may not HAVE a valid excuse of course; just pointing out there MAY be another side to the story that we're prevented from hearing because of HIPAA. Food for thought anyway.

</comment></comment><comment><USER7> This seems like an easy problem to solve. Copyright covers the wording of the communication; it doesn't cover the ideas conveyed. Facts cannot be copyrighted. That means you can tell someone that didn't sign one of these contracts your experience with the dentist, and they can write it up on the review site for you. The dentist won't own that work and will have no grounds to claim that the author infringed his copyright.

By analogy, this is like saying "The Simpsons is a TV show about a guy named Homer." Although it would be illegal for me to give you a verbatim copy of every Simpsons episode, it's not illegal for me to tell you what happens in each.

A nondisclosure agreement might be more effective, but still wouldn't allow a bad review to be taken down by a DMCA claim. The dentist would have to go to a real court for that to happen, and I doubt a real court (or medical ethics board) would be too pleased about a contract prohibiting a patient to talk about his doctor.

Ironically, my orthodontist was considering a contract like this, but I talked some sense into him and it seems like he's not going to go through with it. And no, I wouldn't sign it; there are hundreds of other orthodontists in Chicago.

</comment><comment><USER8> yep, toothache would make you sign anything on the spot (met the situation several years ago, though it wasn't copyright agreement situation).

<comment><USER9> I'm surprised that they didn't include a motion to declare the contract invalid on the grounds of duress. I'm not aware of any precedent for a threat to withhold medical care being considered duress, but it certainly seems to satisfy the "no true meeting of the minds" test.

(IANAL, etc.)

<comment><USER8> >I'm surprised that they didn't include a motion to declare the contract invalid on the grounds of duress.

success of such motion would destroy all the "pay for the service" system as you do agree to pay for the service before it is rendered - otherwise the doctor willn't provide the service. To my understanding the ER is the only place where medical care muct be rendered without any pre-condition of entering into any contract.

<comment><USER9> Not necessarily. In most circumstances there's no duress since a patient can visit a different physician. The case of someone who is in severe pain, has already waited 3 days, and has every reason to think that he might need to wait another 3 days if he opts to see a different physician is an exceptional one.

(And even in the absence of a contract, there's a quasi-contract, so a finding of duress wouldn't obviate the requirement to pay for services rendered.)

</comment></comment></comment></comment><comment><USER10> How do they figure a review someone posts on the internet is under copyright by the party being reviewed? That point baffles me, and I'm used to copyright making no sense.

<comment><USER11> I haven't read the contract, but I'll go out on a limb and speculate a bit. The article mentions "copyright assignment." This suggests to me that perhaps the contract assigns copyright on all future reviews to the dentist. E.g. something along these lines:

"If you write a review of our services, the copyright on said review will be immediately assigned to us."

As the patient's lawyer notes, there's a good chance that fair use and unconscionability (two different doctrines) would render such a term unenforceable.

Again, this is just speculation based on a hint in the article.

<comment><USER3> I wonder what happens if a) the hypothetical sentence carried legal weight, and b) I was then employed by someone who tasked me with writing reviews of said dentist for them.

My employer would effectively have to go to court against the dentist to see who owns the words I type, right?

<comment><USER12> IANAL, but I believe that if the copyright of the review is owned by your employer (since you wrote it for him), then you would not have the legal right to assign the copyright to your dentist, and therefore the copyright clearly remains with your employer.

<comment><USER13> But from what I've read elsewhere assignment to your employer is not automatic for works for hire jobs. So it depends on your contract.

<comment><USER14> I was under the impression that that was the definition of a "work for hire" situation (IANAL either).

</comment></comment></comment></comment></comment></comment><comment><USER15> OK, OK, it's not Reddit, I know … but, amidst all the serious discussion of this serious story, are we really not going to make even a single comment on the linguistic incongruity of a gag order from a dentist? No "I'm usually just told to 'spit'"? Then this is a sadder discussion.

</comment><comment><USER16> I don't think I've ever seen such a flagrant abuse of fiduciary duty before!

I thought bankers were the untrustworthy ones. Now potentially your own dentist/doctor...?

</comment><comment><USER17> I'm a physician. I'd never heard of "Medical Justice" before this story. I'm going to notify my own state Board of Medical Examiners about these kinds of gag "contracts", which in my opinion are completely unethical, if not downright slimy. Medical boards should get involved in investigating dentists and physicians who behave like this, and in taking a closer look at a company who would go after patients like this. I recommend others consider contacting their own state Board.

</comment><comment><USER18> On a vaguely related note, I've been somewhat bothered by some television ads I've seen for reputation.com. Example:

<http://vimeo.com/30825306>

"Reputation.com helps you set the record state, by monitoring and managing (!) your online reviews. And repairing your online reputation if you've been attacked, by pushing down (!) false or misleading search results with truthful, positive material, putting you in control (!) of your image online." (exclamation points reflect my level of shock)

<comment><USER15> "… by pushing down (!) false or misleading search results with truthful, positive material, putting you in control (!) of your image online."

Wow, that's amazing … but I'd move the second exclamation point 4 or 6 words to the left. I'm less shocked by the idea of someone wanting to be in control of his or her online image than by the thought that it's a good thing to trust a company's idea of "truthful (!), positive material".

</comment></comment><comment><USER3> Could have sworn this said "medieval justice".</comment>


Tokyo's suburban housing became vast ghettoes for the old - never-the-bride https://www.theguardian.com/cities/2019/jun/11/how-tokyo-suburban-housing-blocks-became-ghettoes-for-the-old <comment><AUTHOR> Really interesting article.

> _... it also set strict requirements for younger people who lived there: if > your income exceeded a certain threshold, you would be evicted. If you > refused, you were charged rent – at potentially up to twice the market rate, > depending on your income._

 _The goal was to make public housing a safety net for elderly, low-income and socially vulnerable people. The effect, however, has been to make social housing off-limits for most people: eligibility fell from 80% of households in 1951 to 25% after 1996._

 _And it has turned public housing into a kind of ghetto for poor and elderly people who rely on pensions and can't afford private rents._

In Canada it is often controversial when upper middle class people are found to be living in affordable coops and anti-poverty activists, in an understandable effort to create as much low income housing as possible, often call for wholly low income housing projects instead of having buildings with mixed incomes. This article suggests at the flawed outcome from overly means testing benefits.

<comment><USER2> I increasingly think that for social safety nets to work well, they need to be universalized, if possible.

Otherwise we get welfare traps, ghettoisation or just poor quality (like buses in places where only the poor use em). It doesn't mean everyone has to use it, just that they can. This is common sense in services like health or education, where we're used to it.

<comment><USER3> We already have a good solution to avoid ghettoisation or traps called progressive taxation.

However, it doesn't go far enough because the tax rate doesn't take benefits into account, so even though you're getting >$0.80 of every dollar earned, after adjusting for benefits it may instead be $0.20 or even negative. The Earned Income Tax Credit (EITC) is an especially large contributor to this situation [1].

To avoid a trap, marginal income after taxes and benefits should start high and fall monotonically. It should probably also be concave up (the amount of income to bump you into the next 'adjusted tax' bracket gets bigger and bigger).

[1] [https://www.urban.org/sites/default/files/alfresco/publicati...](https://www.urban.org/sites/default/files/alfresco/publication- pdfs/412722-How-Marginal-Tax-Rates-Affect-Families-at-Various-Levels-of- Poverty.PDF) (page 767, Figure 2)

<comment><USER4> The issue of capital gains getting preferential tax treatment over wage labor is a much bigger problem than any lack of benefits taxes.

<comment><USER5> Why? It's just artificial money, what's the concrete negative impact? (I probably agree, I just think it needs to be concrete and justified)

</comment></comment></comment></comment></comment><comment><USER6> In everything from technology to culture to aging, Japan seems to be a portent for things yet to happen in the west.

We tend to view suburbs as these static places that serve a particular purpose for primarily families and where nothing changes. But in fact suburbs are starting to transform into de facto retirement communities as boomers exit the workforce, due in large part to incentives from certain laws that keep them there and prevent development (no comment on who created those laws). One clear example is schools in Cupertino are closing due to declining enrollment - something that certainly doesn't fit the conception of a suburb being a place where families are raised.

<comment><USER7> Your comment made me think of how astonished I was at the numbers of elderly in the South Bay when I relocated here. You'd think those folks would have cashed out and moved to a tax friendly state with better weather, but for some reason they've stayed put.

<comment><USER8> They have stayed put because there is no where with better weather

<comment><USER7> As someone over the hill, I can confirm that the older I get, the more heat feels good. There's a reason why Arizona is full of retirees. The cold, humid air in the bay area, especially during winter, is not good for an old body. Now obviously heat can kill the elderly, but if someone cashed out their bay area home and moved, they'd have more than enough money to buy a nice place and run the air conditioner whenever they like.

If nothing else, I'd figure they'd move to LA for even better weather and cheaper rent. That doesn't help with the tax situation, but it's something.

Maybe they're here for the family connections, but it seems less and less likely to be the case given the exodus of longtime residents from the area.

If they don't own a house, I can't see how they'd manage to stay. Renting around here on a fixed income must be brutal.

</comment></comment></comment></comment><comment><AUTHOR> The future of NA suburbs as well.

Have fun living in the car dependent sprawling suburbs when you're 80 and not legally allowed to drive anymore.

I guess one can hope that autonomous cars will finally appear to bail one out of this predicament, but I'll personally be setting myself up to retire in a place where everything I need is a short walk or wheelchair roll away.

<comment><USER9> > Have fun living in the car dependent sprawling suburbs when you're 80 and > not legally allowed to drive anymore.

You're describing Florida and they drive anyways.

<comment><USER10> They drive golf carts*

I've been to a couple golf cart communities in Florida and they are actually pretty cool for retirement

<comment><USER11> My dad lives in a 55+ community in Nevada, and they have golf carts too. There's even a sign when you enter the development warning you that golf carts are permitted on the roads.

Unlike a lot of retirement communities, it looks like just another suburban housing development. The only hint that it's different, aside from the golf carts, is that every single house is one-story in order to accommodate people who can't (easily) climb stairs.

<comment><USER12> Sounds vaguely like the Somersett neighborhood in Reno (though I don't recall if it's entirely 55+; there are some kid-friendly amenities, which suggests that families with kids are allowed to live in at least some parts, but for some reason I remember it being mostly retirees).

<comment><USER11> Nope, it's Sun City Summerlin in Vegas. But I wouldn't be surprised at all if the formula is common.

As for their age policies, from what I remember of my dad telling me, only one resident of each house has to be 55+, but nobody under 19 is allowed to live there permanently (...and I just checked their Wikipedia article, and it confirms it). So no kid-friendly stuff there, but there are some younger people living with older relatives.

</comment></comment></comment></comment></comment></comment><comment><USER13> Several of the examples in the article hinted at familial estrangement, which makes things much worse.

I lived in Taiwan, which also has a stagnant birth rate (only 181,606 births last year, [https://www.taiwannews.com.tw/en/news/3611847](https://www.taiwannews.com.tw/en/news/3611847)) and a decades-long trend for young people to migrate to the large cities, or go to China to try their fortunes there.

But there is also a strong tradition of multi-generational households and traditions/holidays that emphasize family relations or filial piety, Lunar New Year being the most obvious. Certainly, family strife exists (and can be exacerbated if people are forced to live together) and many seniors live alone, but I think because of the cultural emphasis on familial contact, there is also a level of contact and awareness that can mitigate the extreme situations described in the article. Being smaller also helps (most cities on the island are no more than two or three hours away by high-speed rail).

In recent decades, there has also been a trend to legally allow foreign caregivers (mostly Filipinos and Indonesians) for people aged 85 and up, and tacitly allow for foreign caregivers for younger seniors and wealthy families. I am not sure how Taiwan's national health system covers those costs, or if the elderly poor can afford them.

Does Japan have any similar system of allowing foreign caregivers?

<comment><USER14> > Several of the examples in the article hinted at familial estrangement, > which makes things much worse.

Yes as somebody from a Taiwanese family that also really stuck out from the article. The daughter in Tokyo only seeing the father once a year? Seems like there are deeper problems there.

<comment><USER15> Lol.. I see my mom like once every 3 years and my Dad maybe once year. This is in America. With work and kids and living in different states and countries it financially impossible to get everyone together. I hardly saw my grandparents too so it's not abnormal necessarily.

</comment></comment></comment><comment><USER16> So 500 die alone every year, let's give this number some perspective. Tokyo's population is 9.273 million, the highest of any city in the world, of which some 23% or roughly 2.1 million are aged 65 or over, and 500 of these are dying alone every year? So 0.005% of the general population or 0.023% of the elderly.

<comment><USER10> Tokyo Metropolis, which Tama Ward falls under, has roughly 14 million people. Greater Tokyo has 39 million.

</comment></comment><comment><USER17> You've got to admire Japan- they face a problem for the welfare of their citizens, but they're grappling with it in an intelligent and informed manner. They're not particularly close to solving the underlying issues but, from the sound of it at least, steps are in the consistently right direction.

In the U.S., in contrast, this kind of problem wouldn't even come up- because everyone involved would be living on the street, and no one in a position of civic authority would consider it their responsibility.

</comment><comment><USER18> I tend to think that there's some business opportunity here, especially for tech companies (although they might not be entirely a private sector). I've seen numerous companies who are specialized in surveillance and communication for the elderly. They are not yet widespread due to technical and privacy concerns, but I'd be excited to see more development in this area in future.

</comment><comment><USER19> Japan, except for Osaka and Tokyo, is emptying out. The country's population peaked in 2011.[1] It's not a suburban problem.

At least Japan can maintain that housing.

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

</comment><comment><USER20> Similar article from 2017: [https://www.nytimes.com/2017/11/30/world/asia/japan- lonely-d...](https://www.nytimes.com/2017/11/30/world/asia/japan-lonely- deaths-the-end.html)

</comment><comment><USER5> A very good example of the negative effects of reversing a good social policy (universal social housing)

</comment><comment><USER21> 70 year olds wouldn't be so decrepit if it weren't for the lifetime of smoking.

<comment><USER22> Don't forget that drinking milk is actually bad for your bones.

[https://www.bmj.com/content/bmj/349/bmj.g6015.full.pdf](https://www.bmj.com/content/bmj/349/bmj.g6015.full.pdf)</comment></comment>


Strace – My Favourite Secret Weapon (2011) - <AUTHOR> https://zwischenzugs.com/2011/08/29/my-favourite-secret-weapon-strace/ <comment><USER2> Re. _My Library Is Not Loading!_ , a pretty useful trick to find what files are missing is to extend your path env var with an empty directory and then grep strace output for its occurrences, e.g.

      mkdir /tmp/empty
      LD_LIBRARY_PATH+=:/tmp/empty  # or PATH, or PERL5LIB, etc.
      strace -f program |& grep /tmp/empty

I had a need to track what files are used by what processes spawned by a program (to infer dependencies between the processes), and it seemed (and probably was) simpler to use ptrace directly rather than to parse strace output, so I wrote [https://github.com/orivej/fptrace/](https://github.com/orivej/fptrace/) . Soon it turned out useful to dump its data into shell scripts that reflect the tree of spawned processes and let you rerun an arbitrary subtree. I mostly use it to debug build systems, for example to trace _configure_ and examine what env var affected a certain check in a strange way, or to trace _make_ and rerun the C compiler with _-dD -E_ to inspect an unexpected interference between includes.

<comment><USER3> This is a cool trick. On Linux, the ldd command also tells you what libraries a program wants to link to. You can also play around with LD_LIBRARY_PATH to manipulate what ldd tells you.

<comment><USER4> Binaries can also use dlopen to open libraries that aren't listed by ldd.

<comment><USER3> Good point, dlopen is fully run-time, and the strace approach will catch those too, so it's more comprehensive.

</comment></comment></comment></comment><comment><USER5> No mention of overhead. strace can bring down your production environment -- it is not safe. This is why I wrote this: [http://www.brendangregg.com/blog/2014-05-11/strace-wow- much-...](http://www.brendangregg.com/blog/2014-05-11/strace-wow-much- syscall.html)

"perf trace" has improved since I wrote that, and may well be mostly strace- equivalent (but without crippling overhead) in the latest Linux.

<comment><AUTHOR> Whenever I've had to use it in prod (in heavy OLTP environments) the seriousness of the issue has always outweighed any performance concerns. Ditto tcpdump. Often it was used specifically to determine the cause of performance issues. In any case you generally only strace 1 process, and if your application stack depends on one process you're probably in other kinds of trouble... unless it's erlang :)

<comment><USER5> It's not a choice between strace or nothing. It's a choice between strace, ftrace, perf, or eBPF -- and that's just the Linux builtins. Many low overhead addons can also do syscall tracing (sysdig, LTTng).

I often run ftrace, perf, and eBPF on our production instances for syscall tracing. If I ran strace, the instance would suddenly be very slow, and it would trigger Hysterix (and other) timeouts and be removed from the ASG and auto terminated. Our environment is fault-tolerant, so yes, we can run strace -- you just don't get much output, and the load vanishes from the instance you are looking at.

<comment><USER6> Which of those alternatives are an option if the goal is to inspect and rewrite syscall arguments and return values, and do other things in between?

</comment></comment></comment></comment><comment><AUTHOR> Nice to see something I wrote 7 years ago hasn't gone entirely to waste. Spot the 'ancient' technologies like Solaris and perl mentioned there...

<comment><USER7> > I'm often asked in my technical troubleshooting job to solve problems that > development teams can't solve

This sounds like a really interesting job - consultancy? How did you get started in it

Strace was always my go-to on Linux for solving error messages that fail to be a complete sentence: "connection refused" (to what?) "file not found" (where did you look?) and so on. Since I've moved to Windows the best alternative seems to be Process Explorer.

<comment><USER8> > This sounds like a really interesting job - consultancy?

I'm not OP but I do the same thing, solve the problems and bugs that the dev team can't. In my world, this is simply "Operations" or, in later years, "Systems Engineer." I'm really good at doing that but I am not at all skilled at large-scale software development even though I can read and understand already-written code as part of my troubleshooting.

Descriptions like the author's are why I'm dismayed that Ops has such a bad reputation in the modern computing industry and why I'm not so keen on the combination of the two roles into "DevOps." Troubleshooting a working, in- motion system requires a different set of skills, in my experience, from writing and debugging code. It's also a set of skills that doesn't seem to overlap very often. The two roles go hand-in-hand, of course, but asking someone to do both in a large environment hasn't ended will (again, in my experience).

<comment><USER9> The anti-pattern / co-option of devops as a role is almost entirely overlapping with companies undergoing digital transformations and advised by some CIO magazine, Big Four, or Gartner team that it's important for said transformation. Because the cultural transformation in itself is already being branded as something new and idiosyncratic to the company the term "devops" as the cultural change itself is dropped to avoid confusion.

In most large non-tech companies operations is a cost center budgeted alongside facilities and basic costs of business and also usually run by managers less frequently with a software background as much as an IT or traditional business background focused around cost efficiencies. I'm not sure whether this designation or Taylorism is fundamentally the root causes for why "devops" from the cultural sense is not really happening.

</comment></comment></comment></comment><comment><USER10> Strace and Wireshark. If a program's output doesn't immediately tell me what the hell its issue is, I'll just dive into this depending on the kind of trouble.

The only thing I'd still like to have is something like strace but for general function calls. Often, the issue is within the application and does not show in syscalls. I guess this should be possible with gdb, but I haven't looked into it yet, also because any meaningful names are often stripped from the binaries.

<comment><USER11> You might enjoy using ltrace! It does pretty much what you're looking for. (Although it only shows calls into dynamic libraries and not other internal function calls, as far as I know. Maybe that's different if you have debugging symbols in the binary?)

<comment><USER10>
        $ whatis ltrace
        ltrace (1)           - A library call tracer

That seems nice indeed. It seems to make things a lot slower, but I guess that's to be expected from tracing at this level!

</comment></comment></comment><comment><USER12> The secret weapon has a (serious) flaw on Linux though: you can't run strace on programs that use strace. That's because the Linux ptrace call is not re- entrant.

<comment><USER2> Actually you can strace strace! Try

      strace -o 1.log strace -o 2.log ls

and observe in 1.log how the second strace uses ptrace call.

The limitation is that a process can not be ptraced by multiple processes at the same time. If you add _-f_ to the first strace, it will start tracing the fork meant for _ls_ before the second strace has a chance to setup its tracing. That setup will fail, and the second strace will kill the fork instead of running _ls_. You can read this from _1.log_!

If I'm not mistaken, a ptrace tool may untrace its grandchild right when it intercepts a child attempt to trace that grandchild to make the attempt succeed, but I don't know if strace can.

</comment></comment><comment><USER13> A good complement to strace is ltrace(1):

      ltrace is a program that simply runs the specified command until it exits.
      It intercepts and records the dynamic library calls which are called by the executed process and the signals which are received by that process.
      It can also intercept and print the system calls executed by the program.

Also noteworthy is that you can simply press _s_ key in _htop_ to immediately attach a process and inspect it, which was handy many times for me.

</comment><comment><USER14> I was in awe when I first used strace. The world of tracing is vast these days and filled with wonders. I can't possibly say it better than this this guy so I'll just include a link.

[http://www.brendangregg.com/blog/2016-03-05/linux-bpf- superp...](http://www.brendangregg.com/blog/2016-03-05/linux-bpf- superpowers.html)

</comment><comment><USER15> Is there a substitute for mac/osx?

<comment><USER16> Dtruss: [https://opensourcehacker.com/2011/12/02/osx-strace- equivalen...](https://opensourcehacker.com/2011/12/02/osx-strace-equivalent- dtruss-seeing-inside-applications-what-they-do-and-why-they-hang/)

Also, on OSX you have access to (mostly) the full power of dtrace, so you can do diagnostics on closed-source, debug-stripped running programs that make strace look small by comparison.

<comment><USER17> Just tried it on iTunes and it doesn't seem to work at all.

I already allowed myself to debug my own system by disabling "System Integrity" in recovery mode.

<comment> tim-- A quick Google for `PT_DENY_ATTACH` and dtrace should solve that

</comment></comment></comment></comment><comment><USER18> Here's my strace hack from 2008: [https://chris-lamb.co.uk/posts/can-you-get- cp-to-give-a-prog...](https://chris-lamb.co.uk/posts/can-you-get-cp-to-give-a- progress-bar-like-wget)

</comment><comment><USER19> This is my favorite strace resource: [https://jvns.ca/strace- zine-v3.pdf](https://jvns.ca/strace-zine-v3.pdf)

</comment><comment><USER20> strace is great. There are times this feels like the modern equivalent of printf() debugging, because working out why a syscall is failing involves a fair amount of back tracing to context sometimes. But, as a foot in the door? its ace.

</comment><comment><USER21> If you want to listen on a port under 1024 you require superuser access or special privileges.

[https://www.w3.org/Daemon/User/Installation/PrivilegedPorts....](https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html)

</comment><comment><USER22> Is there a strace equivalent for windows?

</comment><comment><USER23> As I said in a comment on the OP, lsof (LiSt Open Files - it does more than its name suggests) is pretty useful too.

fuser is useful too, and available on many Unixen. I've used "fuser -k" many times to find and kill rogue processes.

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

[https://en.wikipedia.org/wiki/Fuser_(Unix)](https://en.wikipedia.org/wiki/Fuser_\(Unix\))

Edited for grammar.

<comment><USER24> One of my favourite hacks is this script (which might well not work - it's flaky):

[https://bitbucket.org/twic/devtools/src/1b7a8f9ab849b36de70c...](https://bitbucket.org/twic/devtools/src/1b7a8f9ab849b36de70c6fe1cab2460fb2657c6d/bin/killfd?at=default&fileviewer=file- view-default)

Which, given a specification of a filehandle (eg an IP address or path) uses lsof to determine the PID of the owning process and the numeric value of the filehandle, and then uses gdb to attach to that process and close it. It's a crude but simple way of exercising error-handling code.

<comment><USER23> Interesting one.

Are you running Elixir in the last line? the iex?

<comment><USER24> That's this line, i think:

        sudo gdb -batch -n -iex "set auto-load off" -p $TARGET_PID -ex "call close(${TARGET_FD})"

The -iex is a flag which executes a command on startup:

        -init-eval-command command
        -iex command
           Execute a single GDB command before loading the inferior (but after loading gdbinit files). See Startup.

[1] [https://sourceware.org/gdb/current/onlinedocs/gdb/File- Optio...](https://sourceware.org/gdb/current/onlinedocs/gdb/File- Options.html#File-Options)

<comment><USER23> Got it now, thanks.</comment></comment></comment></comment></comment>


Starship pilots: speed kills, especially warp speed  - <AUTHOR> http://www.newscientist.com/article/dn18532-starship-pilots-speed-kills-especially-warp-speed.html

<comment><USER3> No doubt all true, but the points are:

1\. The Enterprise _et al_ don't approach the speed of light, they travel in _sub-space_ (whatever that is)

2\. They have a deflector dish that deals with "stuff that's in the way"

I'm pretty sure the writers in later series more-or-less knew these points, and they're pretty obvious. After all, ride your bicycle really, really fast in the rain and the drops hitting your face _hurt_.

<comment><USER4> I believe the inertial dampeners also prevent the crew from being squashed against the bulkheads.

<comment><USER3> I've heard it reported that someone asked James Doohan (Scottie) "How do the inertial dampers work?"

His reply was: "very well, thank you."

</comment></comment></comment><comment><USER5> Wait, I'm confused ...

"For a crew to make the 50,000-light-year journey to the centre of the Milky Way within 10 years, they would have to travel at 99.999998 per cent the speed of light."

If a light-year is the distance light travels in a year, and the center of the galaxy is 50,000 of them away, then how are you supposed to get there in 10 years by traveling "at 99.999998 per cent the speed of light?" 10 years at the speed of light will take you 10 light-years, not 50,000.

Am I missing something?

<comment><USER6> [http://en.wikipedia.org/wiki/Time_dilation#Time_dilation_and...](http://en.wikipedia.org/wiki/Time_dilation#Time_dilation_and_space_flight)

<comment><USER5> Ah, I see, and suspected something like this implicit in the claim. Duh.

I haven't done the math, but is it really possible for time dilation at or around the speed of light to have the effect of compressing 50,000 years into 10? That's a difference of 5,000 times.

By "possible" I mean "as the theory would prescribe," of course...

<comment><USER7> Consider this. It is impossible for matter to travel at the speed of light, yes? However, imagine a cannon on a train travelling (speed_of_light - <USER2> MPH). The cannon shoots a cannonball at 210 MPH. So when the cannon fires, you'd expect the cannonball to go (speed_of_light + 200 MPH), right? Well, no... matter cannot exceed the speed of light. What actually happens (afaik) is time itself is altered as one approaches the speed of light. So the closer you are to the speed of light, the more time is altered.

I don't know any of the details though.

<comment><USER8> "It is impossible for matter to travel at the speed of light, yes?"

isn't this an oft quoted erroneous conclusion?

I thought the correct statement was that matter could not _accellerate_ to the speed of light. Thus something could instantaneously attain FTL/Light Speed velocity or come into existance travelling FTL/Light Speed?

<comment><USER7> Sorry, no idea. I don't know any details.

</comment></comment></comment></comment></comment></comment><comment><USER9> Did these guys ever even watch an episode of Star Trek!?

If you're going to nit-pick the physics of a _fictional tv show_ , at least watch a little of it and try to grok a bit of the fictional technology they claim to employ.

<comment><USER10> The Wikipedia page on warp drive seems pretty well-curated: <http://en.wikipedia.org/wiki/Warp_drive>

Trek-universe ships don't travel through space; they travel in "bubbles" of local space so that relativity is preserved. These bubbles then move at hundreds or thousands of times the speed of light... somehow.

<comment><USER11> The only thing you need to know about the Star Trek is this: anything unexplained is being done by the deflector dish.

</comment></comment></comment><comment><USER12> Whether Star Trek or sci-fi in general, we're talking about fiction here. Any problem that true science can through at a plot, the writer can work around.

I just finished re-reading 'The Forever War', and in that novel, the issue was resolved by two energy fields, at 5K and 10K in front of ships... and that was for sub-light travel. The time dilation was actually a major plot point, too...

Or look at the Ringworld series. The original novel had so many scientific holes in it that he HAD to write a sequel to resolve all of them.

It is the same here -- poke holes at the stories all you want. It will just inspire the writers to become more clever.

</comment><comment><USER13> Exactly. And, most people who seriously think about extraterrestrial interstellar travel think in terms of folding space by manipulating the fabric of spacetime rather than brute-forcing your way through at relativistic speeds. The latter seems clearly unattainable, while the former is simply unknown.

</comment><comment><USER14> A solution could be to use a black hole powered starship that uses a parabolic reflector to protect against radiation ( <http://news.ycombinator.com/item?id=969794> \- The Physics of Building a Black Hole Powered Starship [pdf] ).

</comment><comment><USER11> To keep things in reference, if we were allowed to use hydrogen bombs in space, we could build a starship with present day technology that would get us to alpha centauri in 20 years.

No word on the return trip though...</comment>


Mark Zuckerberg has to go. Here are why - <AUTHOR> https://www.theguardian.com/commentisfree/2019/may/08/mark-zuckerberg-has-to-go <comment><USER2> > "Under Mark Zuckerberg's failed leadership, Facebook has become one of the > most loathed institutions on the planet."

Clearly this article is written by someone who's out of touch with reality. It's true that big corporations make mistakes, it's also true that companies like FB gather data, and nudge us into doings things we may otherwise not have done. But it seems like the author is focusing only on FB's flaws, rather than its amazing success in the last decade.

There's 1.5bn users logging in daily, and he calls this a failed leadership? FB is trading at nearly $200 USD on NASDAQ - and that's due to failed leadership? It's almost impossible to run a company that does what FB does without having tons of criticism thrown at you.

FB has indeed disappointed us - this is absolutely true. But I find it ridiculous that we find so many "armchair journalists" trivially dismissing someone's success like this.

</comment><comment><USER3> Here are why should be here is why, not sure why you changed the original title which had "here are 25 reasons why" \- it should still have been within the title length limit.

<comment><USER4> I would recommend changing to "Mark Zuckerberg has to go" or "25 reasons why Mark Zuckerberg has to go".</comment></comment>


Logarithmic calendar view - <AUTHOR> http://www.marco.org/2010/03/28/more-ideas-than-time-logarithmic-calendar-view <comment><USER2> Great article, I've often considered building a similar interface. However, I disagree with "I don't care about the past". There are many events which, though they happened in the past, have a direct impact on my future schedule.

For example, one of my biggest weaknesses is making sure I've replied to all e-mails which require follow-ups in a timely manner. Lately I've been using Outlook's "Follow Up" flag for this purpose with some success. A calendar program which showed me all of my un-followed-up e-mails, including a visual cue to remind me of how long ago it was sent, would be ideal. Also, ongoing events/projects would benefit from this style.

I think my ideal calendar interface would be a screen split into thirds, with the middle representing today, and the left and right sides representing the past and future, respectively, on a logarithmic scale. Maybe someday I'll get around to building it.</comment>


A School Where One Size Doesn't Fit All - <AUTHOR> http://www.washingtonpost.com/wp-dyn/content/article/2008/07/16/AR2008071601269.html

<comment><USER2> I like this idea a lot. I really wish I had it back when I was in high school.</comment>


Tips for Uber, from a Backseat Driver - <AUTHOR> http://www.nytimes.com/2016/01/03/your-money/tips-for-uber-from-a-backseat-driver.html <comment><USER2> Am I the only one who finds this practice of dialog-in-the-third-person utterly unreadable?</comment>


The DevOps Phenomenon: An executive crash course - <AUTHOR> https://queue.acm.org/detail.cfm?id=3338532 <comment><USER2> Hi. DevOps person here. Was doing DevOps for about 15 years before the word was even coined. (I did my first "devops" kind of work professionally in 1995.)

DevOps isn't a tool. It isn't a team, or a person. It isn't even a culture. It's a _way_ , for lack of a better word. Like the way of the Tao. The DevOps that can be named is not the true DevOps. Everyone is doing DevOps, and no one is doing DevOps. That doesn't mean some aren't doing it better than others.

Some years ago, I attended the first DevOps Enterprise conference, and there was a phrase everyone was using... "We're not unicorns, we're horses". The point being, your company doesn't need to be a Netflix or a Google to do DevOps successfully. Elements of transformation can be adopted by anyone. Then again, as I said on Twitter at some point, "Some companies are unicorns, some are just horses, some are just donkeys, some are just stick horses, and some are just sticks". To go on another wild analogy, DevOps transformation is kind of like alcoholism. First, you have to admit you have a problem.

The next thing is, because DevOps is basically a Taoist problem... well, you can't buy the Tao. You can't hire the Tao. So companies that try to "buy the DevOps", thinking a tool will save them, or try to "hire the DevOps", thinking a consultant will save them, are doomed to failure. This isn't to say you shouldn't go out and try to hire experienced DevOps engineers, or that they can't help you, but the reality is much more broad than a single hire. Getting a good engineer is only as good as that engineer's freedom to act.

And tools do not DevOps. They only make the DevOps easier. You can DevOps even with antique tools. Back before some of you were born, I was doing distributed deployments with version control and A/B testing with shell scripts and a SQL database. It worked.

Wow, I can rant a lot about this. But what really matters? Commitment to becoming better. Actions, not words. Automating what can be automated. Recognizing that speed reduces rather than increases risk. Remembering that it's a process, not a goal. Being patient with slow beginnings. Measuring things. Remembering that not everything that is valuable can be easily measured.

<comment><USER3> This sounds nice. The reality of "DevOps" in many companies is this, right or wrong: we'll make the development team do operations / infrastructure tasks, and save on hiring real, seasoned ops folks.

The problem is the team building your product often doesn't _want_ to do that work, even if they can...

<comment><USER4> I don't think the reason companies are moving to devops is to save on ops costs. At most companies their ops guys are cheaper than their devs. They're doing it because there was an unexploited gap between development and ops that has a lot of potential.

<comment><USER3> I've interviewed many developers and operations folks. The cheap ops folks are cheap for a reason: they can't code and therefore aren't going to be automating much of anything without a _lot_ of effort. The good ones are just as expensive as developers, because that's what they actually are...

<comment><USER5> Now we sort of have some words that seperate the two...

</comment></comment></comment></comment></comment><comment><USER6> It's funny how a term that defines a culture is now used to describe a role. If you know how to manage cloud stacks, provisioning, CI/CD pipelines, etc then you are a "DevOps engineer". I personally don't like that. It's like calling modern developers "Agile Engineers" or something like that. And now that "DataOps" movement is gaining traction, I've already started to see "DataOps Engineer" posted on job boards.

<comment><USER7> Related tangent: "Full-Stack" engineers -- which stack? If it doesn't include the network layer, it ain't "full" in my book.

<comment><USER6> lol. It's just MVC framework + Javascript framework. Basically what a software web developer should know.

</comment></comment></comment><comment><USER8> It's really about day to day decisions being "pipeline driven" \- allowing automated pipelines to make continuous tactical decisions that humans usually make in "traditional" processes. When to merge, is it secure?, when to deploy, is it up? when to spin up an environment? when to rollback, when to enable a flag, when to declare "all OK" etc.

This also means, not just dev and ops skills. It's also testing, also security, also compliance. "pipeline driven" is what we are after. And this of course enables true continuous delivery.

"DevOps" is another Silo. Which is why we also have "DevSecOps" and "TesOps" etc...

I'm in the process of writing a new book about this new-old idea: [https://leanpub.com/pipelinedriven/](https://leanpub.com/pipelinedriven/)

</comment><comment><USER9> The last five years or so I've been pigeonholed into this "devops" space. Everything about it is a train wreck. I am currently seriously considering going back to a plain old "feature development" role, at least while "DevOps" quiets down.

Calling it "devops" has turned out to be a disservice. Teams are either made up of devs who don't know the sysadmin space and thus think the solution to every problem is "Write a new program in $LANGUAGE_OF_THE_MONTH", and balk when you tell them "Ok, but... did you consider this thing that's been around 25 years?", or it's made up of what most companies had for "ops" people -- button-clickers who can follow a checklist like "Open Control Panel, double- click 'Add and Remove Programs...'" but are beyond hopeless in front of command line.

In the wild, it's exceedingly rare to find people who can bridge both worlds reasonably. I appreciate that Google was able to formulate a functional SRE team, but... most companies aren't Google.

Virtually everything that could've gone wrong as devops hit mainstream has gone wrong. Docker is all wrong. Kubernetes is a massive barf-fest. The obsession with "cloud everything" is not only a grotesque waste of money, it's insecure from first principles, as the emergence of practical speculative execution attacks has clearly demonstrated.

crazypills.gif

<comment><USER10> > In the wild, it's exceedingly rare to find people who can bridge both worlds > reasonably. I appreciate that Google was able to formulate a functional SRE > team, but... most companies aren't Google.

I agree with this comment. Personally, I got my start doing sys admin work, and after doing it for years I became pretty decent at writing scripts in Python and Ruby, and I picked up some Java and JavaScript along the way.

In my experience, a lot of people who don't have a lot of experience tend to fall in one camp or the other: either they're operations people who can't code, or coders who don't follow best practices when it comes to operational work.

But here's the problem that I keep seeing:

Management, the ones writing the checks and doing the hiring, all they know about DevOps is what they've read in books and seen in seminars. Due to this, they have a bad habit of dismissing people who don't speak the DevOps "language."

For instance, I did a job interview a few months back, and __everything __in the job description was in my wheelhouse. I was a great fit. But the hiring manager kept trying to coerce me into talking about my 'vision for DevOps.' Clearly, he had read a book or attended a seminar, and he wanted me to have some type of religious experience with him.

But that's not my thing. I am too busy actually doing the work to read a 200 page book about mission statements.

</comment></comment><comment><USER11> Anyone else run into SOx problems where audit wont let DevOps staff make changes to meaningful source code. How do you get around that? Seems like an insurmountable barrier to proper devops.

<comment><USER12> Sure. So for us IT folk, SOX boils down into 2 buckets (if you'll allow me to oversimplify a bit):

1\. Separation of duties

2\. Process (and well, documentation, but let's say that's a part of process.)

Separation of duties boils down into needing separate people to develop, review, and deploy a piece of code. Okay, let's look at this from compliance's PoV.

Compliance team just wants an easy way to show and enforce "yes, a separate individual performed each of these duties." Preferably in a way that non- technical people can understand. Easiest way to do this? RBAC. If you are a developer, you simply don't have permission to login to production. If you're ops, you don't have permission to contribute. Clean, easy enforcement, clear lines drawn in the sand, easy reporting to auditors. It also has a chilling effect on the devops mindset. Which seems to be the issue you are raising.

How else can you satisfy your compliance team, follow regulations, and still practice devops? Well, instead of enforcing at the _role_ level, enforce at the _individual_ level.

A lot of VCS software offer the ability to disallow branch merges without a secondary approver. This can be your separation between development and review. Then for implementation in production, you can automate this piece. Think of a git commit, enforced code review, and then k8s automatically deploying your change from the merge to master. This allows your dev and ops team to work on tasks together.

We use Jira extensively (other tools work too), and certain important systems are tagged as SOX for a specific year. When an auditor asks "show me all changes to financially important systems", it's easy to pull up that year's changes, and then show off the 2 people signing off. We also have auto deploy (not k8s... yet) that is easy to show "hey look, this code was definitely not tampered with on its way to production."

Getting your compliance team on board is difficult. It requires team work because if you are subject to SOX, you are possibly subject to other regulations that touch your processes. Like PCI-DSS. Or SOC. If your dev or ops teams can pitch a process change in a way that's easy to digest, document, and audit, then they will likely be on board.

</comment></comment><comment><USER13> "DevOps" is a stupid buzzword.

Let's use real words that tell the listener or reader what we're talking about.

<comment><USER14> "Make your devs be on call without paying them"

<comment><USER2> Depending on on-call crisis management is pretty much the opposite of DevOps. DevOps isn't about being on-call; it's about making on-call unnecessary.

<comment><USER3> This sounds like pure fantasy. How are you going to run a 24/7 operation if _nobody_ is on call?

<comment><USER15> Not 'nobody on call', just 'unnecessary on call'.

Have you ever gotten paged for a transient error that went away by the time you checked it? Or paged for the same error 5 weeks in a row? These, and really most pages, are fixed by DevOps.

In a DevOps system, a feedback loop is used to address all alerts as bugs to be immediately and permanently fixed. After a while, if something breaks, it's because someone just changed something, so it's happening during working hours. Alerts pop up in slack and are acknowledged before a page is sent out. So nobody is getting called.

If your infrastructure is ephemeral and managed as code, you use CI/CD to deploy all changes, and you aren't resource-constrained (at this point, cloud- native infra is only constrained by budget) you shouldn't have stuff crashing randomly at 3am, so there should be very few pages.

<comment><USER16> > you aren't resource-constrained (at this point, cloud-native infra is only > constrained by budget)

Isn't "budget" just another type of resource?

</comment></comment></comment></comment></comment></comment><comment><USER17> I've been active in the DevOps space since before it was called DevOps. I got to watch as things liked the release of the Phoenix Project book sparked a frenzy amongst managers in the Silicon Valley. What I think many people miss is that DevOps should actually apply to the entire company.

It's a culture and a way of doing things that goes far far beyond just automating routine tasks. The automation can save time and help with the transformation but it's not the main ingredient so to speak.

As a consultant in the space I have to explain this to clients sometimes and they don't always want to hear it. I believe this is because many people don't know how to influence the culture of their company or team and so it seems far easier to just implement some tool than it is to actually change the culture in a meaningful way.

I actually wrote an article on this subject recently that some may find useful: [https://calebfornari.com/2019/05/31/leading-a-devops- movemen...](https://calebfornari.com/2019/05/31/leading-a-devops-movement/)

</comment><comment><USER15> This really is an executive summary: glossing over the 3+ years it will take for digital transformation to bear fruit, along with the huge budget hits from unexpected expenditures. And it's not really hammered home that the executive level _must be 100% invested_ in the transformation, or every other level will drag its feet, defeating most of the benefits.

There also seem to be some misnomers here, like the lack of a definition for DevOps (not true), or that continuous integration is "continuously testing software" (not really), to confusing the definitions of continuous delivery vs continuous deployment, to assuming 'measurement' only refers to components of systems and not the actual development of the systems, to the idea that you need automation to do DevOps (you don't).

</comment><comment><USER18> I think the best introduction for DevOps for people completely new is still the Phoenix Project. It is an easy read and I think accessible for people outside of Dev or Ops.

</comment><comment><USER19> This thing shatters every time developers are told that they have to learn how to make operating system packages. As a developer myself, I cannot come to terms with that since OS packaging is a tool for developers and since it's easy to learn.

<comment><USER20> Huh?

I mean, what and the how and the why?

It's supposed to be a team decision. If the team decides to use packages, then at least someone has to be able to implement that into the workflow, release and deploy process. If the team decides to not do RPMs or DEBs, then they have to solve build/deploy/release some other way.

For example since Docker I haven't even touched spec files or fpm ( [https://github.com/jordansissel/fpm](https://github.com/jordansissel/fpm) ).

</comment></comment><comment><USER21> > In one case study, a company was able to provide a new software feature > every 11 seconds.

The big company referred here is certainly Amazon - this is public information that we shared a few years ago (when I worked there).

</comment><comment><USER22> Ugh. Stop talking about automation. Hiring people to automate all the things without any idea about what needs automating is a great way to increase WIP in your system. All the original practitioners were talking about was taking Lean Manufacturing principles and applying them to software engineering. Not so difficult or crazy, just a desire to have a functioning organization that's always shipping in an aggressive and competitive market, instead of an organization undermined by tribalism and petty politics.

The way you do that isn't by "automating all the things" and "continuously all the things" and "measuring all the things". You do it by getting everybody to put their concerns out of their heads, off the whiteboards, and into code. Code is the only thing that can guarantee that everybody's concerns have been accounted for, including the concerns you didn't know about because nobody can keep 200 people and all of their concerns straight in their heads, while allowing for a release cycle short enough to stay competitive.

That's it! Everything else is execution. Scripts (automation) handle enforcement. Pipelines make sure enforcement is consistent and up-to-date. Metrics make sure your scripts are doing what you expect them to do. Dashboards help convince people that their concerns are actually being taken seriously and the engineering managers aren't just spouting voodoo. Speed is just a side-effect of people being focused on their work and not having to waste time arguing about petty details anymore.

Shell scripting has been around for more than forty years. Modern tools made it pretty, but ultimately you need leadership to make it relevant on an organizational scale.

<comment><USER18> I don't understand what you are saying more than "Just do the right thing, it should be obvious for everyone".

The target audience here is a large enterprise that has value cost and stability for years and has separate Dev and Ops (often not in the same country) and not only follows all those standard processes but has also added a lot of their own written Word documents to the pile. There are check lists, approvals, delivery managers, product managers and all kinds of other managers involved in every release.

How do they even start with your advice?

<comment><USER23> You need to have the courage as a leader of such an organization to put accountability in a place that results in delivery and provide services and culture to get it done.

<comment><USER18> There is tons of accountability. That is why you have the delivery managers, the lengthy handovers, checklists and slow processes. So nothing goes wrong and those that are accountable can be cleared from any blame.</comment></comment></comment></comment>


Ask HN: What websites would be better as a Mac app? - <AUTHOR> <comment><USER2> I like my weather app (WeatherPro by MeteoGroup) because for a one-time fee it's ad free. All the usual weather websites try (or have to) make money by showing ads. Some design the webpage ridiculous to increase the number of clicks you have to take. The weather app also tries to get me to upgrade ($1/month for extended forecast, more previews) but it's just a small button, not front and center.</comment>


Grap – A Language for Typesetting Graphs - <AUTHOR> http://www.lunabase.org/~faber/Vault/software/grap/

<comment><USER2> I keep hoping someday someone will post what it is that Knuth uses for all of his charting purposes. I have yet to find one of his books where he lacks some really good visualizations in them. Heck, he even has dominoes inline in Concrete Math (well, that book does... could have been one of the other authors). His flowcharts in TAoCP are all very nicely done.

Best I have found to date is graphviz.

<comment><USER3> He uses MetaPost. See [http://www-cs- faculty.stanford.edu/~uno/preprints.html](http://www-cs- faculty.stanford.edu/~uno/preprints.html) for examples.

<comment><USER2> Thank you! Also, wow, I don't know why I never thought to just look for some of his papers in tex form. In what I'm sure is some form of irony, I think I actually already have some. Every now and then I just try to google "what does he use" and never got a good result.

There a reason other folks don't use MetaPost? He really has put it to really great use. I can't imagine quality is what keeps others from it.

<comment><USER3> I used MetaPost for a few years. It's a very quirky program and a very quirky language, like TeX itself. You can do very nice things with it but the learning curve is steep.

<comment><USER2> On of my favorite pet peeves, I think you mean the learning curve is shallow? (Is there a non physical way to think of a steep curve where it isn't actually saying that you learn a lot really quickly?) (And, this is one of my favorites, as I'm convinced I have to just be wrong.)

At any rate, what sort of quirks are you talking about? The examples I've seen so far don't look that bad, all told. If anything, they look quite nice, actually.

<comment><USER4> You're thinking it has to be time invested on the x-axis and level of expertise on the y-axis. That's certainly possible, but I think most people interpret it with level of expertise on the x-axis and (cumulative) effort invested on the y-axis. So a steep curve implies that you'd need to invest a lot of effort to become only a little bit better at something.

Sort of like climbing a steep hill because there's treasure at the top of the hill, not because climbing the hill itself is something you intrinsically care about.

<comment><USER2> I think it is more than just possible, that is how you typically show the chart of learning something. Time across the bottom with advancement on the side. Granted, I realize these charts aren't exactly viewed that often.

The steep hill is definitely the visual people think of in this regard. I just think it is strictly due thinking of a hill, though. Not because they thought of what it would mean on a chart. :) And no, I wasn't at all confused by this. Nor was anyone else, I'm sure.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> The original is in Plan 9 and Plan 9 from User Space. [http://swtch.com/usr/local/plan9/src/cmd/grap/](http://swtch.com/usr/local/plan9/src/cmd/grap/)

</comment><comment><USER5> I've been successfully using Asymptote[1] for this purpose. I find I often have to fight a little to get things how I want, but it works quite well. The biggest benefit to me is being able to replace a dataset and have the graphs regenerate themselves. Grap seems worth exploring as an alternative though.

[1] [http://asymptote.sourceforge.net/](http://asymptote.sourceforge.net/)

</comment><comment><USER6> I remember using grap in the 1980s, when it was first released. I had no idea that people would still be interested in using it today.</comment>


Hukkster, The Winklevoss-Backed Online Shopping Tool, Has Shut Down - <AUTHOR> https://www.hukkster.com/ <comment><USER2> TIL there was such thing as Hukkster.

R.I.P. terribly-named business I never heard of.

</comment><comment><USER3> Hukkster?

Were they represented by the law firm of Dewey, Cheatham and Howe?</comment>


Bots playing the market make some bizarre patterns - <AUTHOR> http://www.theatlantic.com/technology/archive/2010/08/market-data-firm-spots-the-tracks-of-bizarre-robot-traders/60829/

<comment><USER2> Some people I work with (at a HFT firm), joke that it's someone warming up their JVM by placing clearly unfillable IOCs ;-).

My personal pet theory (for some of the graphs) is that someone is just loading up the book at many price levels with unlikely-to-be-filled limit orders to gain priority (for the rare occasions the market makes big swings). It's a perfectly legit tactic, that would help the market by providing liquidity and support against other players' big orders.

Some other graphs have perfectly innocuous explanations - for example someone probing the depth of the book or filling a big order piece-by-piece.

FWIW, you can't really pull a serious DoS against most exchanges. Most decent ones have pretty strict rolling-window rate limits. And no other firm is going to have much trouble processing the maximum number of orders one firm is allowed to place within their limit.

Even if you could get away with a DoS once (and I suspect you could), who's going to risk it? The exchange knows who you are and will punish you when you do.

<comment><USER3> > My personal pet theory (for some of the graphs) is that someone is just > loading up the book at many price levels with unlikely-to-be-filled limit > orders to gain priority (for the rare occasions the market makes big > swings).

Only works if big swings deviate from intrinsic value of the stock. Let's say a biotech stock fails its FDA panel and drops like a rock, its fair-value suddenly drops from $8 to $2; your 100 limit buy orders at $6 suddenly gets hit and you'll have to sell them at $2/share.

> Some other graphs have perfectly innocuous explanations - for example > someone probing the depth of the book or filling a big order piece-by-piece.

You probe the depth of the book by building the book not by submitting out of the money orders. You sell block order periodically over a day or days via VWAP by not revealing your true order size. Submitting a bunch of limit buy orders at once even if they are out of money, especially under the same MPID will reveal your hand and the size of the buy/sell interest.

> FWIW, you can't really pull a serious DoS against most exchanges. Most > decent ones have pretty strict rolling-window rate limits.

The point is not DoS against exchange but to make your competitors process messages slower than you do. They can still process messages 15ms at a time, but you could do it at 10ms. In this game where everyone's colo'd to the exchange and have the same arbitrage algo, having a 5ft. cable to the exchange trading server vs. a 7ft. cable is a competitive advantage. The same case is with slowing your opponents' message processing rate down by 5ms.

<comment><USER4> _having a 5ft. cable to the exchange trading server vs. a 7ft. cable is a competitive advantage_

Incidentally, light travels this far in one clock cycle for a 2GHz processor. I have a feeling that the interrupt handling machinery and the network card and the Layer 2 and Layer 3 inefficiencies add more latency than two feet of Ethernet cable, though. (But I guess a pair of scissors is cheaper than a processor fab.)

The HFT world reminds me a lot of the audiophile world. Sure, two feet of Cat-5 cable introduces measurable latency. Sure, using 1% tolerance resistors instead of 0.001% tolerance resistors affects the performance of your amplifier.

Whether or not this makes any difference in the real world, though... nobody ever has the answer to that question.

</comment></comment></comment><comment><USER3> It's basically DoS attacks for other market participants.

Basically all algo trading systems need to cancel/modify their limit orders to keep things relative to the last traded price and the whole quote book. The way they maintain their own quote book is through some data feed's API. e.g.,

Processing messages via onBidChange(double price, int bidSize); suppose you send a million buy orders at $2.00 when the stock price is trading at $6.00; your orders won't get executed, but your competitor who's processing these messages will be busy processing these message. You ignore the bottom of the book because you know your own garbage orders while you focus on processing messages at the top of the book in case of a inter-market/equity-options- futures arbitrage opportunity arises for 200ms. Your competitor was busy processing your garbage orders for 200ms; he/she either can't arb the trade as fast as you can, or they are the mutual fund algo and they can't cancel/modify their VWAP limit orders fast enough, while you trade in and out 2000 shares for $0.01/share profit plus liquidity rebates in that 200ms.

<comment><USER5> For most of the graphs shown in this article, the message bursts are occurring at the top of the book (for that particular route). Those orders have a fairly good chance of being filled if the price moves unfavorably.

If you want to suggest they are hacking someone, I'd propose an alternative target: the exchange. Say the current NBBO is on INET, but the pattern is on BATS. Once the price on INET drops below the pattern level on BATS, INET needs to devote effort to communicating with BATS to determine whether to fill orders or route them. That adds latency.

</comment></comment><comment><USER6> Yet more:

\- [http://www.zerohedge.com/article/algorithmic-crop-circles- re...](http://www.zerohedge.com/article/algorithmic-crop-circles-redux-rise- stock-market-machines-part-2)

\- [http://www.zerohedge.com/article/its-not-market-its-hft- crop...](http://www.zerohedge.com/article/its-not-market-its-hft-crop-circle- crime-scene-further-evidence-quote-stuffing-manipulation-)

\- [http://www.zerohedge.com/article/todays-dose-crop-circle- quo...](http://www.zerohedge.com/article/todays-dose-crop-circle-quote- stuffing-algos-focuses-v-dug-and-trn)

</comment><comment><USER7> I could image those seemingly-pointless patterns to be some sort of anonymous (since noone knows who the receiver is) steganographically-protected messaging. Well, I'm not serious.

<comment><USER8> That's an interesting idea. Who is looking at market data for secret codes?

I love a good conspiracy theory :)

</comment></comment><comment><USER9> It's a big game of core war(see <http://en.wikipedia.org/wiki/Core_War>) as far as I'm concerned.

</comment><comment><USER10> Original report was posted on HN a few months back: <http://news.ycombinator.com/item?id=1458175>

Original Nanex report: <http://www.nanex.net/20100506/FlashCrashAnalysis_Intro.html>

</comment><comment><USER11> I know nothing of trading networks. Is there any benefit in analyzing latency by pushing data out at known intervals and observing when you get it back in your data feed?

Is there a cost to the HFTs to make bids which will never see the light of day?

<comment><USER2> A. Absolutely, I can think of a few off the top of my head.

B. There's the off chance that something could get filled that I don't want filled, and I'll burn some of my rate quota/cpu/bw.

<comment><USER5> C. If your fill rate drops too low (around 1%, sometimes a bit less), your broker shuts you down.

</comment></comment></comment><comment><USER12> I see a lot of weird graphs but no actual data. I can imagine this kind of stuff going on but I'd like to see some actual evidence attached before people start railing against HFT again. It reads more like an advert for Nanex than anything else.

</comment><comment><USER13> This reminds me of Stross's _Accelerando_ and its Strange Children, the ultra- fast AIs trading stocks and powering Economics 2.0. Humans were completely outclassed and excluded from stock exchanges.

</comment><comment><USER14> Are there any trading services that a normal person can pay for that provide it some API to get quotes and do different kinds of trading?

I think putting a little money in an account and then working on writing a small trading bot would be a fun project.

<comment><USER5> <http://www.interactivebrokers.com/ibg/main.php>

<http://www.limebrokerage.com/>

I think smarkets is also a possibility if you are located in the EU.

<comment><USER3> Hah! Letting the cat out of the bag. Don't you think letting people onto DMA brokers with execution speed close to your own prop shop is doing yourself a disservice?

<comment><USER5> The cat is already out of the bag - lots of people are starting up HFT shops every day. All I did is save people half an hour of googling.

</comment></comment></comment></comment><comment><USER15> The Daemon is working in the background, preparing for its activation.

<http://www.amazon.com/Daemon-Daniel-Suarez/dp/0451228731/>

</comment><comment><USER16> Why don't they just change the rules by lowering the granularity? An actual trade could only happen every minute or so. What is the biggest argument against that?

<comment><USER17> From what I understand, the biggest argument is that higher granularity gets more information to the market faster, so it will move in the right direction faster. However, this seems to me to be a fairly low-granularity model itself; there must be much more subtlety in practice.

</comment></comment><comment><USER18> Dup: <http://news.ycombinator.com/item?id=1576024>

<comment><USER19> If HN would do a dup check on the canonical url instead of just the submitted one it would avoid these duplicates. Isn't that just what the canonical meta tag is there for?

<comment><USER18> Not all sites use it. I suggested a while ago fetching the page and extracting the "<title>" Then compare the URL up to any "?" or other stuff on the end, and checking the title. This would catch every duplicate I've seen.

<comment><USER20> Ignoring the querystring would break for a lot of sites' URLs, like the default WordPress URLs (Hacker News' too, to be recursive).

<comment><USER21> The system doesn't have to be automatic. It could look for a list of possible duplicates by ignoring the query string, then show them to the user if the list is shorter than some threshold.

</comment></comment></comment></comment></comment><comment><USER22> They remind me of some of the Cellular Automate examples from Wolframs A new Kind of Science.

</comment><comment><USER23> Interesting anyone knows which strategies they use to decide to buy/sell, once they have determined the expected price?

do they use physics based techniques, like black scholes?

or do they use statical learning based techniques?</comment>


New Guitar Game with Real Six String Controller - <AUTHOR> http://www.engadget.com/2010/03/09/seven45-studios-ups-the-ante-for-music-games-intros-guitar/?s=t5

<comment><USER2> I've thought for a while that the concept of teaching instruments through games is a great idea, and hope this lives up to my expectations. If this piques your interest, you might want to look at the independent PC title Synthesia (<http://www.synthesiagame.com/>) which is based around a similar idea for piano; despite not particularly polished it has the core concepts down and is improving all the time. I hope that one day someone sees the potential in his and throws money at the developer to give it the time and resources it deserves to turn it into a large-scale commercial project.

I have great hopes for these sorts of products, and think teaching instruments via games is simply the low-hanging fruit of a bigger idea. I think using technology to improve learning is a woefully unexplored area, and that learning is a sector that is ripe for some serious disruption. I don't think textbooks or lectures are an good or efficient way to learn, but we're still using those same methods that have existed since time immemorial without strong emperical evidence simply because it's the status quo. Meanwhile, technology and our knowledge of neuroscience and psychology have improved beyond all recognition, yet they are massively underutilised in terms of helping people learn. I can't help but feel that one day all these dots are going to be connected and it's going to dramatically change how we learn and educate for the better.

<comment><USER3> I really want to pick up a midi keyboard for this game. I dabble at piano and can read music but this seems like the fun factor would encourage me to practice.

</comment></comment><comment><USER4> This reminded me of the same game concept that was supposedly under development a few years ago when Guitar Hero and Rockband came out. The game was to be called Guitar Rising and was going to allow for the ability to use any electric guitar. Now the game is beginning to seem like vapourware but you should check out the demo video.

<http://www.guitarrising.com/>

</comment><comment><USER5> If you want a game that realistic why not actually play a six string guitar?

<comment><USER6> Because if you're a beginning guitarist you don't get any feedback. The game could be more useful for learning guitar than anything else.

<comment><USER5> What kind of feedback do you need? It just seems to me that console games producers are under the impression that console games are the answer to everything when in fact its much more impressive when someone can actually do something like play a real guitar or cook a real meal then if they do it on an XBox or a DS especially when they charge so much for things like guitar hero. It would be better if they provided an interface for you to plug an electric guitar into your console and learn to play using the software, then when you've learn you can 1. play a real guitar and 2. have a real guitar without the non standard socket they will inevitablely put on it.

<comment><USER6> Initially it would be "you didn't hit that string cleanly, try again" which would move to "you played that progression well, nice job!" Then it could move to "You nailed 80% of those chords and your timing was AVERAGE." I'm assuming that the game guitar is very close to an actual guitar. I agree that it would be ideal if you could use a normal guitar and get the same feedback.

</comment></comment></comment></comment><comment><USER7> That reminds me of Disney's Star Guitarist ([http://gizmodo.com/5128332/disney-star-guitarist-guitar- hero...](http://gizmodo.com/5128332/disney-star-guitarist-guitar-hero-but- with-real-guitars)), a game using a real guitar, not sure if it ever came out though..

</comment><comment><AUTHOR> Anyone think this will be a real game-changer? At least now my friends can't complain that the game is easy because there's no actual strings/chords to play.

</comment><comment><USER8> Those old casio MIDI guitars could very easily be added into a game.

</comment><comment><USER9> I think there's an age cut-off where people go from thinking this is cool to being embarrassed to own one.

[http://globalnerdy.com/wordpress/wp- content/uploads/2007/07/...](http://globalnerdy.com/wordpress/wp- content/uploads/2007/07/guitar-hero-comic.jpg)

<comment><USER10> No, but there's a middle phase where you're self-conscious about having fun for the sake of fun.

<comment><USER9> Being able to just have fun _actually playing an instrument_ has truly been a blast for me the past 20 years.

<comment><USER10> I bet it is - more than just fun, I imagine, but enriching. Not everyone chooses to enrich themselves in that way. I have chosen others. But it's still fun to play Guitar Hero or Rock Band with a bunch of friends, despite having no musical talent or practice.

<comment><USER9> If tunes get stuck in your head, you have musical talent. If you can play a rhythm game like Guitar Hero, you can probably play music too. It used to be that most every household had someone very good at music. In the same way that there was a lot more awesome home cooking.

<comment><USER10> I don't disagree, but I also don't see why that should make me self-conscious for having fun playing those games.

<comment><USER9> I don't have to make you anything. I have a right to my opinion and to express it politely. Please quote any impoliteness on my part.

I'd also suggest this _gedankenexperiment_ : imagine buying a game controller, owning it for three years, and getting good at the game. Then imagine buying a guitar, owning it for three years, and getting good at it.

How does this suggestion make you feel? Do those feelings come from my words, or from somewhere in yourself?

Please don't blame me. I'm not making you be anything.

<comment><USER10> We have a strange semantics mis-understanding. I _don't_ feel self-conscious playing those games. Nor do I think I or anyone else should. Your comment makes it sound like we should. I tried to explain why I think that is mistaken.

Your comment about impoliteness is baffling, since I never said anything about your tone.

<comment><USER9> You're seriously putting words in my mouth. Why do you think I want to coerce emotions in others? Wouldn't an entirely pragmatic interpretation fit just as well?

To paraphrase William Gibson: "My songs are of time and distance. The emotion is in you."

More directly: am I trying to coerce you into feelings, or talking abstractly about people's feelings now and in the future?

<comment><USER10> Sigh. Let me put it this way: It's the only reasonable interpretation I can come up with of your original comment.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: 2020 Dev Conferences Worth Attending - <AUTHOR> What do you recommend? Areas of interest: software development, cyber security, AI <comment><USER2> Sorry for the snark, but I recommend narrowing the area of interest.

<comment><AUTHOR> You're right - I updated the title. Thanks

</comment></comment><comment><USER3> Scipy</comment>


New collision-detection technology used in Little Big Planet, GTA IV and others - <AUTHOR> http://www.wildbunny.co.uk/blog/2011/03/25/speculative-contacts-an-continuous-collision-engine-approach-part-1/

<comment><USER2> New users who get lots of upvotes in a short amount of time, specially when they are linking to their own sites, make me think they are gaming the system. I would like to see which other accounts upvoted the story.

<comment><USER3> I upvoted it because I thought it was interesting. It's not necessarily a new technique, a lesson in basic computational tradeoffs really, but I enjoyed the article.

 _Edit: that was before I saw that the follow-up on the same blog was also posted here today. I stand corrected. The article is spam, please don't upvote!_

<comment><USER4> I guess it's inevitable that we have these sort of meta discussions right now, and I'll bite.

How does this become spam? Or, let's say you used the wrong word and didn't mean "spam" -- how is this article or its author somehow bad for HN right now? I add "right now" because I think the answer would be different if the user had been around for a year or two.

I am not looking to prove anything here or argue. I am really curious why you think I should not upvote a submission I found interesting.

<comment><USER3> > _and I'll bite_

I'm not a troll if that's what you're implying. I may be a condescending douchebag who irritates you but that's not the same.

I chose the word spam because it turns out the article was posted to bolster pageviews on someones blog. Whether it's actually commercial or just egomaniacal is not really relevant. What matters is this link was posted to sell me something.

> _I am really curious why you think I should not upvote a submission I found > interesting._

Please read my comment in its entirety. You'll find that I have also upvoted it and I have also stated that it's an interesting article. There is however a larger motive at work behind posting this to HN which became apparent to me later.

To make it extra clear: one article is fine, it's interesting and engaging. Posting another one about the same topic linking to the same blog within hours is gratuitous.</comment></comment></comment></comment>