The Job After Steve Jobs: Tim Cook and Apple - <AUTHOR> http://m.us.wsj.com/articles/SB10001424052702304610404579405420617578250 <comment><USER2> Here's the rub, there's a lot of "Cook is an unknown", "Jury is still out on Cook" type memes being populated by the media.

Cook has been running the company since the late '90s. I'd say he's a pretty well-known by now. Ruthlessly competent operations chief, who saved Apple from operational incompetence (by the "Adult Supervision" who fired Jobs in the first place), and probably the biggest reason why the iPod, iPhone, and iPad are successes - by giving Apple the capability to design (through operating capital), market and produce them, and make a margin on every unit they sell.

Apple being a black box due to secrecy, it's hard to tell what's going on inside, but by all we have seen, it's been pretty confident at doing what it feels it's good at. I doubt there's a "Jobs haunting" mentality there. But hey, if Yukari Kane wants to sell books...

<comment><USER3> I think the main problem is that you could say exactly the same about Ballmer at Microsoft. He also ran Microsoft very well from an operations point of view.

What we know for certain is that Apple can still _execute_ very well and stay competitive in a certain market. The latest offerings of Macs, iPhones and iPads are ample proof of that.

The question which is still unanswered is whether Apple, with Tim Cook and the other leaders, has what it takes to stay innovative. It's too early to tell, and I think it's certainly to early to write a book about it.

Since Tim Cook has gone on record saying that we will wee new product categories within the year, my guess is that we'll know for certain in 2-3 years time.

<comment><USER4> What new products did Balmer bring in which would go from zero to being main profit generators?

<comment><USER3> Well, that's my point (although you could say Xbox was an exception). Tim Cook is very well known quantity when it comes to execution, just like Jony Ive is when it comes to product design, but for innovation, we don't know how the team stacks up.

<comment><USER5> Minor quibble: the Xbox was started under Gates, not Ballmer. It was publicly announced 2 months after Gates stepped down as CEO.

I think this fits with your larger point however: Ballmer was not a product visionary.

</comment></comment></comment></comment></comment><comment><USER6> _Meetings with Cook could be terrifying. He exuded a Zenlike calm and didn 't waste words. "Talk about your numbers. Put your spreadsheet up,"_

Okay, why in the world are we, supposed 21st century intellectuals, supposed to be looking at a leader who asks for quantification and hard data as somehow unusual and harsh? If I assume that the writer knows his audience well, implications of this for how WSJ readers generally think is, frankly, breathtaking.

We don't live in the world wishfully imagined by the Romantic Era! We live in a world ruled by mathematically-based laws best understood from first principles. The "Rule of Cool" is not going to suspend the laws of physics and economics for you just because you greatly impress a bunch of bipedal primates on a particular planet. < [https://www.youtube.com/watch?v=NV3sBlRgzTI](https://www.youtube.com/watch?v=NV3sBlRgzTI) >

 _This is especially true for startups!_ However many of us fail to comprehend this because we forget that _human beings are not omniscient._ Just because we don't yet understand how market forces are going to respond to an entirely new product category or an entirely new class of transaction or entirely new kind of company doesn't mean that the laws of nature and economics have been suspended for the rule of cool. It just means our squishy little chemical-bag brains haven't processed the new situation enough to codify it and share the information through our culture. Not fully understanding something _Does Not Justify Woo!_ (And disturbingly, you don't have to search very hard in the startup scene to find some programmer-branded or startup-branded woo!)

Ignore this at your peril. The Rule of Cool won't protect you any more than respecting pilot seniority kept Asiana Airlines Flight 214 from crashing. (Korean American here, and yes, the example makes me get angry and cringe.)

<comment><USER7> Because it fits the narrative. Tim Cook is being cast as the operations guy that may be a good manager but isn't a transformative leader that Steve Jobs was.

The title of her book is Haunted Empire: Apple After Steve Jobs. This is a book that could only be written 5-10 years from now, but who knows where Apple could be then. She's striking while the iron is hot; if Apple is irrelevant and no one is interested in the company in 10 years, she wouldn't sell nearly as many books.

<comment><USER6> _Because it fits the narrative._

In other words, "The Rule of Cool."

</comment></comment></comment><comment><USER8> To be honest, I think Cook is doing a damn good job considering the big shoes he had to fill when Jobs left. Tim Cook will never be the dictator that Jobs was, nor will he command the same "respect" that Jobs had. When you not only founded a company, but also brought them from the brink of bankruptcy to the most valuable company in the world (a few months ago), you have a certain gravitas that your successor will never have.

Also, Tim Cook seems to be passionate about the company, especially given his emotional rebuttal of activist investors at the last shareholders meetings.[1]

[1] [http://www.macobserver.com/tmo/article/tim-cook-soundly- reje...](http://www.macobserver.com/tmo/article/tim-cook-soundly-rejects- politics-of-the-ncppr-suggests-group-sell-apples-s)

</comment><comment><USER9> This reminds me of Ben Horowitz's article, _Ones and Twos_ : [http://www.bhorowitz.com/ones_and_twos](http://www.bhorowitz.com/ones_and_twos)

I have to say that it seems darn hard to be a One. Not that it's easy to be a Two, but Ones have this mystical aspect about them that seem to ascribe their traits and success to something almost like genetics/luck/natural talent that hard work can never touch.

As creative as I think I am, I know that I lack the vision for being a really top-tier One. I'm good at analyzing problems, finding solutions for them, streamlining stuff, etc. So you could say that I'm a Two. And yet, here I am running a bad startup (and maybe it's because I don't seem to be a One that it's not going amazing? :D).

That being said, I'm really impressed with what Tim Cook is doing so far. Wooing and hiring the Burberry CEO seemed like a total upgrade on trying to get back the guy they lost to JC Penney (who later was fired anyway) to run their retail operations. All the medical-oriented rumors about the iWatch make me think that Apple hasn't yet lost its touch for making something mindblowing; it will be really interesting to see if they truly are introducing a totally new product category yet again. And the fact that Tim Cook can get all fiery during a public shareholder meeting to defend what many people will agree is the right thing to do demands respect.

Tim Cook may be a Two, rather than a One. But so far, I would not yet count Apple out just because he's a Two. I get the impression so far that he really can keep it together. I'm not making a prediction here, I'm just saying that I wouldn't count him out. So far, he has not done anything significantly bad enough to make me think he's the wrong guy for the job. In fact, I think he has done some good things.

And let's face it. I don't think even Steve Jobs would have been good enough to consistently introduce new product categories for the rest of his life, were he still here. That kind of track record is really tough to match for a single person. I may be wrong, but I think you need to ingrain that way of life into an entire organization for there to be any chance of continually doing it. And hopefully, that's what Tim Cook inherited.

</comment><comment><USER10> Jobs, Cook, other CEOs -- we fall into fundamental attribution error [1] when we give them too much credit for the success of a company, something Americans are particularly susceptible to (which I say as an American). Not infrequently the best thing they can do is to get out of the way. By contrast, a bad CEO can do much to sink a company.

[1] [http://en.wikipedia.org/wiki/Fundamental_attribution_error](http://en.wikipedia.org/wiki/Fundamental_attribution_error)

EDIT: clarify meaning.

<comment><USER11> That's what you get for being a leader. It isn't all glorious, either.

Think about music composers, movie directors, athletes, political leaders, etc.

<comment><USER12> The entire definition of being a leader is that you are individually held responsible for the results of everyone you lead. It's not fair, but it works because holding someone to that level of responsibility and the level of autonomy that goes with it means they can use all their creativity and resourcefulness to deliver results and overcome obstacles.

</comment></comment></comment><comment><USER13> The article to me is like an empty can that rattles really loud. There is more of the author's wishes than reality.

</comment><comment><USER14> Obviously everyone has differing opinions about Cook, his management style and ideas but I think that since taking over Apple has lost a lot of its ability to be exciting. A lot of the things coming out has been quite textbook and boring and didn't command the excitement it did when Jobs was at the helm.

Is this just way Cook is? Or is this a forecast into the way Apple is? Everyone has said that Jobs was the visionary behind Apple, can Cook be the visionary after Jobs?

I think that Apple needs another visionary to drive the way it innovated in the late 90s and 00s when Jobs was there.

I know it might sound one-sided towards Jobs but I'm still yet to see the kind of innovation Apple had ever since Cook took over.

</comment><comment><USER15> I think the jury is still out on Tim Cook..and that jury will report the verdict some time early 2015. If Apple does not break into a new product category this year, it's clear that Tim Cook cares too much about operations and too little for innovation and pushing Apple products to the next level. You can tell by the particularly insignificant iterations of the iPhone. Either he has an excellent poker face and is keeping their new products a secret, or he just set out to turn Apple into a cash cow: sandbagging existing products to maximize profit.

<comment><USER16> What product category do you expect Apple to jump into?

The only viable one I can think of is wearable tech, and definitely not a damn watch. I think Apple won't cater to as niche a market as wearable medical, and let 3rd party use their hardware to attack that market space.

<comment><USER17> Everyone is going to say iWatch. But that's nothing.

The two biggest for me will be an App Store for the AppleTV. This could put the end to Nintendo's console hopes forever and open up a lot of new revenue streams. And the biggest by far is payments. iBeacons is starting to take off and with AppleID/TouchID they have the frictionless security mechanism.

<comment><USER18> frictionless? My touch ID is crap - try doing physical work (building, digging, that sort of stuff) and it will never go. Or a hint of dampness. My thumb print must be subtly different day to day or something, because I only do building stuff at weekends, yet no matter how often I re set the touch ID, even having all 5 prints set to my thumb, I end up entering password most times.

</comment></comment></comment></comment><comment><USER19> Apple doesn't need to be as good as or better than it might have been if Steve Jobs had survived, it needs to be better than the competition. Which other company does anyone here think does a better job at competing in Apple's markets than Apple? That's what matters.

Yes I'd love to see Apple move into new markets with new original products and services. I don't see any reason Apple today is any less likely to be able to do that than any other company.

</comment><comment><USER20> A very good read. I've read Jobs' biography so I gained an insight into his style, it's nice to be able to see Cook's style and how it contrasts.

</comment><comment><USER21> That's interesting, and makes me want to read more about Apple and Steve. Cook seems to still be a big unknown in a lot of ways. My biggest question about the future of Apple is whether they'll be the first with the next revolutionary device. The iPod, iPhone, and iPad didn't have any fundamentally new technology, but instead put together existing technology in a way that redefined how we used and thought of the whole class of devices. Nobody made a music player that was simple to use and just worked before the iPod. Nobody made a truly finger-friendly touch-screen device before the iPhone. Nobody made a tablet that was really practical until the iPad. I don't own or use any of either of them regularly, but I can appreciate the effect they've had on the market.

There will be more revolutionary devices in the future. Will they be created in Cook's Apple? If they are created, is Cook the man to bring the right device to the market at the right time? That's what'll be interesting to see.

</comment><comment><USER22> I just wanted to chime in and say "The Job After Steve Jobs" \- well played on the title of this article.

</comment><comment><USER23> I rather like the way the WSJ's stock price annotations add a shade of meaning to this quote:

> "Without the arrival of a new charismatic leader, it will move from being a > great company to being a good company," George Colony, the CEO of technology > research firm Forrester Research, _[FORR -0.08%]_ wrote in a blog. "Like > Sony, _[6758.TO +1.31%]_ Polaroid, Apple circa 1985, and Disney, _[DIS > +0.41%]_ Apple will coast and then decelerate."

So, the guy who runs the company whose price is falling says that Apple is heading for trouble, just like those other companies whose prices are rising.

<comment><USER24> If you can read meaning into a one-day price fall of 0.08%, you're a smarter person than I am.

<comment><USER25> I've never understood why the WSJ has inline prices like that. It detracts from the story while only giving a semblance of quantification. For it to be useful, the price window should be at least one month.

<comment><USER26> It makes people click things. Clicking things means ad revenue, even if they take you to stupid things.

User experience? Meh, who cares.

</comment></comment></comment></comment><comment><USER27> I don't understand why an established company failing to create new product categories by some arbitrary deadline ("they better have something completely new by the end of the year!") is seen as a sign of failure. If a company is hanging onto old businesses that are withering away while failing to rejuvenate those businesses or create new ones, that's failure, or the road to failure at least (Blackberry being one example). But that's not what's happening here.

For that matter, I don't see failure to maintain explosive growth as a failure of any company. It might be a failure as far as the stock market is concerned, but it's deeply screwed up that this is the dynamic driving the stock market.

The stock market for much of the tech industry is completely driven by growth (or the promise of future growth). This is bad, this does not lead to a better tech industry, and this is not healthy for any of the companies involved. It's only healthy for short term investors, who unfortunately seem to be way overrepresented in the tech industry.

The Greater Fool Theory ([http://en.wikipedia.org/wiki/Greater_fool_theory](http://en.wikipedia.org/wiki/Greater_fool_theory)) drives stock prices far more than the fundamental health or outlook for most tech companies.

Anyway, whenever I hear a complaint about company X because they haven't created some completely new product category in the past 12 months, I don't hear a complaint about the company. I hear a complaint about the stock price, which is driven by continuous (and possibly unhealthy for the company) growth, which drives the stock price due to the Greater Fool Theory as much anything else.

Such an opinion isn't even a commentary on the company- it's a commentary on a number (the stock price) that is most likely to go up when companies do risky and dangerous things (blow a ton of money trying to enter new markets or create new markets), and is completely disconnected from the fundamentals of the company, its profits, projections of its future profits, customer happiness and loyalty, and any number of other things that really ought to come in front of "short term explosive growth potential" when attempting to answer questions like, "is company X performing well?" or "is the CEO of company X doing a good job?".

What's worse is that when that number (again, the stock price) goes down due to a lack of growth in new product categories (Microsoft being the prime example here), it can force such a company to do things that are actively bad for it, because it is compelled to expend tons of resources floundering around trying to reinvent itself when no such complete reinvention is really necessary.

Just look at two companies that the stock market has been very kind to over the last 10 years: Amazon and Apple. Did Apple's stock go up because of its profit margins? Maybe somewhat, but I'm guessing that the market was really just responding to growth. Obviously Amazon's stock hasn't benefited from fat margins; growth is the only thing it has going for it, and it's done quite well.

In the Amazon case, I don't think there's even any concept anymore that someday it will slow down the growth and start fattening its margins. People used to say this like 10 years ago to explain the disconnect between Amazon's stock price and their margins, but I think at this point no one's even making vague allusions to that theory anymore. People buy Amazon stock because they think other people will buy Amazon stock based solely on growth. Someone might buy Amazon stock thinking that the whole growth thing is a scam, but they don't care because the stock price isn't based on Amazon's performance- it's based on how the buyer thinks other people will perceive Amazon's performance, scam or no. This is the Greater Fool Theory in a nutshell.

</comment><comment><USER28> Here's Gruber's take on a related piece by the same author in The New Yorker: [http://daringfireball.net/2014/02/fitting_facts_to_the_narra...](http://daringfireball.net/2014/02/fitting_facts_to_the_narrative).

<comment><USER28> I apologise if there was something inappropriate about the post—I thought that the commentary might be interesting. So that I can avoid future downvotes, what was wrong with this comment?

</comment></comment><comment><USER29> Apple will never be the same as it was under Steve Jobs. Period. In a world of A, B, and C players, Jobs was an A+++ player; you can probably count them on one hand.

The thing is, no one can bring him back to life. He's gone forever and it seems like a lot of folks have not yet reached the "acceptance" stage of grief. And if I can be cynical for a moment, writers and reporters can make a nice living off exploiting that, by writing articles and books like this one.

Apple can still be a great company. It does not need to change the world every 4 years to accomplish that goal.

Life is not black and white. There is a huge range between best company in the world (how some people saw Apple toward the end of Jobs' 2nd tenure), and failure.

<comment><USER6> _In a world of A, B, and C players, Jobs was an A+++ player; you can probably count them on one hand._

How can we distinguish this statement from Jobs-worshiping woo? It feels like the truth, but we 21 century thinkers now know that that's not nearly enough to take something as actually being true.

Basically, this subscribes to the 19th century "Great Man" theory of history. I think there is something to Steve Job's insight, but he was also around in the right place at the right time.

There is a lot to be learned from hanging around a scene which is a little outside the mainstream experience, like music. If you get a little behind the scenes in a music scene, you'll find that there are a lot of people just as talented or even more talented than the stadium tour headliners, but didn't have the same strokes of good luck and/or weren't as good at marketing themselves.

The problem I have with applying "Great Man" theory to Steve Jobs, is that it tends to blind us to what he did right and what he didn't get right. Steve Jobs was very perceptive and had a demonstrated track record showing that he could analyze products in the marketplace from first principles.

[http://hbswk.hbs.edu/archive/3533.html](http://hbswk.hbs.edu/archive/3533.html)

Steve Jobs most certainly was a great man. However he wasn't a god, he didn't possess an unknowable magic, and the harm to Silicon Valley done by people who blindly imitate his surface qualities in the hope of somehow receiving the same "cargo" is, I suspect, disturbingly large.

<comment><USER17> > How can we distinguish this statement from Jobs-worshiping woo?

Results. He made Apple a huge success then come back and did it again. He took Pixar to wild successes whilst masterfully cutting deals with Disney. Even NeXT for all it's faults had some impressive technology back in the day.

He was indeed an A++ player not just for what he did but for what he represented. Himself and Bill Gates are the parents of the modern computing industry.

And I 100% that people who emulate him are just being idiots. His personality makes no sense without his unique history to back it up.

<comment><USER6> _Results. He made Apple a huge success then come back and did it again._

Yes, but I could also posit that Jobs was the only visionary type who not only had a POV that let him see under the surface of mainstream thinking but also had the good fortune of founding Apple, which enabled him to found his later enterprises. (If nothing else, than through the reputation it gained him.)</comment></comment></comment></comment>


Show HN: GitHub Delver – all daily trendings in one place - <AUTHOR> http://uko.ms/ghdelver

<comment><AUTHOR> This is just a spike for more useful trending Github's repositories searching. I'm sending this list to myself daily (with fewer languages, via email) through cron, but maybe some of You will find this kind of summary usable.</comment>


Ask HN: Example of a Robust TCP Server in Rust? - <AUTHOR> Can anyone point me to any code/blogs/documentation on building a robust TCP server in Rust (noob here)? I'm finding bits and pieces in the docs, but it would be great to see all the concepts in a single program.<p>Edit: Robust meaning - uses polling, accepts multiple clients (preferably multi-threaded), etc. <comment><USER2> If you wanna go low level, mio. High level, Tokio.

The APIs are in flux so the docs aren't great. In three months, give or take, it will settle down significantly.</comment>


Ask HN: This bot has been pounding my server all night.. anyone else? - <AUTHOR>

Here's a typical gibberish log entry. It's hitting my defunct Facebook app pages:<p>::ffff:126.96.36.199 www.trailbehind.com - [03/Jul/2009:14:55:58 +0000] "GET /fbtb/\/\/static.ak.fbcdn.net\/rsrc.php\/z9NIS\/lpkg\/1u1t8ygq\/en_US\/141\/161545\/css\/\/css\/text/javascript?fb_sig_in_iframe=1&fb_sig_locale=en_US&fb_sig_in_new_facebook=1&fb_sig_time=1246593830.0314&fb_sig_logged_out_facebook=1&fb_sig_added=0&fb_sig_api_key=f3e4e70471f55dc5c230d9b776c4e598&fb_sig_app_id=29960428979&fb_sig=e06c8de3574a5d0ccdcaadb052d64a82 HTTP/1.0" 200 218 "-" "cancho/Nutch-1.0 (crawl test; http://asdf.net/; email@example.com)" <comment><USER2> Nutch is evil. It's a bot-making tool. I set up my sites to block all Nutch UA's via mod_rewrite.

</comment><comment><USER3> iptables ?

just get rid of it. I have a script that tails my logs standard to detect bots that do not respect the robots.txt file and walls them off. On a bad day there are a few hundred of them. Periodically I flush the tables to get rid of old entries so the load caused by the filter does not become too high.

Your 'friend' seems to be in Korea...

<comment><USER4> Mind sharing your script? That sounds handy!

<comment><USER3> ok, posted a link with the script: <http://news.ycombinator.com/item?id=690608>

enjoy...

</comment></comment></comment><comment><USER5> mod_security for the win. I think its "Core" ruleset blocks Nutch by default.</comment>


Webpack-dev-server is now in maintenance mode - <AUTHOR> https://github.com/webpack/webpack-dev-server/releases/tag/v2.10.0 <comment><AUTHOR> I thought this would have been posted to HN already, but a search didn't turn up any results. Discussion here:

[https://www.reddit.com/r/javascript/comments/7pg2rq/webpackd...](https://www.reddit.com/r/javascript/comments/7pg2rq/webpackdevserver_is_now_in_maintenance_mode/)</comment>


What's the Plural of 'Virus'? - <AUTHOR> http://linuxmafia.com/~rick/faq/plural-of-virus.html <comment><USER2> I have trouble accepting the argument that the classical plural of "virus" can't be "virora" simply because it "does not fit comfortably in the mouth of an English speaker". While it's questionable whether the Romans ever spoke of "several slimes", if they had chosen to do so I don't think their choice of plurals would have been influenced by the peculiarities of people who would not be born for another 2000 years.

</comment><comment><USER3> Blah blah blah. It's 'viruses', unless you're being pretentious. Next?

<comment><USER2> But some of us like being pretentious! :-)

<comment><USER3> Being that there's more than one of you, shouldn't that be pretentii? :)</comment></comment></comment>


Rwanda is becoming a hub for expanding tech companies - <AUTHOR> http://edition.cnn.com/2016/07/14/africa/rwanda-tech-hub/index.html <comment><USER2> This journalist [1] wrote a great book [2] about the lack of press freedom in Rwanda, and western complicity in press crackdowns. He's an amazing guy-- accepted a job at Goldman during college, then reneged on the job to fly one- way to Africa and become a freelance journalist. That's without any experience as a journalist!

[1] [https://twitter.com/anjansun](https://twitter.com/anjansun)

[2] [https://www.theguardian.com/books/2016/jan/11/bad-news- last-...](https://www.theguardian.com/books/2016/jan/11/bad-news-last- journalists-in-dictatorship-anjan-sundaram-review-rwanda-paul-kagame)

<comment><USER3> Gets worse than that actually. Much of this "prosperity" is driven by warlords stealing resources from places like Eastern Congo. And that's where everything Rwandan gets really nasty.

A guy named Laurent Nkunda once cleared an entire city of roughly 75 000 people. (Goma. Many of those were running so fast that children and the elderly were left behind. Which made for some pretty sad sights in the aftermath.)

I had a Swiss friend who was an observer (UN) in Congo and had to come stay with us in Houston to decompress before going back to her family in Lausanne. She had the misfortune of being assigned an inspection tour in the East. She toured the Congo Army lines... fine ... no major problems. As she approached the lines of Nkunda's forces she saw a wall built from dead bodies... and the wall was topped with the heads. Yeah... it only got worse from there.

Rwandans do some pretty nasty things around Africa to steal their wealth. But I suppose it's easy to overlook that stuff if you're making money. And to be fair... a LOT of people in Africa do these things. Of course, we don't usually do business with those people.

<comment><USER4> It is my opinion that it is a terrible statement on current affairs that this comment is ranked so high.

While all the things said here are true, they: a) happened more than 20 years ago in 1990 ( [http://abt.cm/QNKiYt](http://abt.cm/QNKiYt) ) b) have little or no direct bearing to the issue at hand (Rwanda and its place in the current technology marketplace)

In my mind, a similar example might be reading something about say, for example the state of technology in Kenya and the top comment being about what happened there during the Mau Mau uprising. Yes, the correct would be factually accurate but that time does not represent the country today. And, most of all, WTF really? Stop with red herrings. The country is working like crazy to grow and develop and instead of "nice job getting from a where you were to b today", all you can offer is "yeah, but your dad and mom did terrible things 20 years ago".

Almost every nation in the world, developed or not, has parts of its history where its' peoples and governments did things - that they now deeply regret and would rather forget - as part of becoming the nations that they are today. It just happens that some, not all, African nations are going through those things in our lifetime.

We need to be fair in our positioning and evaluation of others especially if we perceive that they are making their way out of being on the low end of our assessment curve. No need to introduce extra huddles of history to the information we share especially if those hurdles are not contextually relevant.

Finally, the last sentence in that comment is worth some disassembly. \- The first part: "Rwandans do some pretty nasty things around Africa to steal their wealth. But I suppose it's easy to overlook that stuff if you're making money. And to be fair... a LOT of people in Africa do these things. Of course, we don't usually do business with those people."

Please share some evidence around this. Else, STFU with opinions that hold no ground. And even if it were true, how is it different from, for example, the way western economies deal with African and Middle East nations that have natural resources they are looking for. Don't these economies do "do some pretty nasty things around Africa to steal their wealth" Should Africa make a decision along the lines of " Of course, we don't usually do business with those people."?

My two cents, definitely written while wearing my heart on my sleeve.

Saved a screenshot of your quote on img just in case it goes AWOL because don't want to end up sounding like a nutjob if if it does. Link to original quote here [http://imgur.com/aYjzkUE](http://imgur.com/aYjzkUE)

<comment><USER3> "...a) happened more than 20 years ago in 1990..."

Nice try. Goma was cleared in fighting during the Nord-Kivu clashes in 2008. (Nkunda's forces opposed Army of DRCongo and UN Peacemaker contingent of roughly 17000.) Additionally, the theft of Congolese resources is ongoing.

"...b) have little or no direct bearing to the issue at hand..."

That depends on how one thinks.

Finally, with respect to the duplicity of Western Nations. You will get no argument from me. That doesn't make African nations less duplicitous though. The white man is not the only force for evil on the globe. Evil comes in all shades and hues.

<comment><USER5> > _The white man is not the only force for evil on the globe_

No, but he does it really professionally, including having created most of the mess in Africa in the first place. Most of those "states" where designed by colonialists in artificial (i.e. what colonial power controls what as opposed based on historically and culturally developed ethnic formations), and were usually created to contain 2-3 competing fractions in a "divide and conquer" approach, with the colonial and post-colonial powers playing (and arming) both sides... Add their support to all kinds of dictators, scum and lackeys and the undermining of efforts to clean the slate, boost local control, etc, and the result is what we have today...

<comment><USER6> >he does it really professionally

I couldn't agree with you more. It is lost on most people that African boundaries and political realities are a fairly recent construct. The majority of African states as we know them today are no more than two generations old (c. 60 years). These boundaries are also, in many ways, an artificial creation that do not necessarily represent the pre-colonial and cultural realities of the numerous ethnic communities and interests that exist across Africa today. The legacy of this "divide and rule" approach cannot be over-stated and has been a driving force behind the continent's sad, sad state of affairs. Also, only a generation ago did the Cold War abate and with it, murderous proxy wars and political struggles in countries such as Angola, Mozambique, the DRC (and the wider Central Africa), Uganda, to name but a few. There are numerous explanations of and studies into the impact of colonization and the Cold War on ongoing conflicts and human rights abuses in Africa and, honestly, I am no domain expert. Regardless, here are two sources that should suffice: Did Africa have any significance in the Cold War? [[https://www.reddit.com/r/AskHistorians/comments/1ju3e3/did_a...](https://www.reddit.com/r/AskHistorians/comments/1ju3e3/did_africa_have_any_significance_in_the_cold_war/\];) 'The Effects of the (End of the) Cold War on Central African Politics: How a Cold War turned into a very Hot One' [[http://www.mo.be/en/article/effects- end-cold-war-central-afr...](http://www.mo.be/en/article/effects-end-cold-war- central-african-politics-how-cold-war-turned-very-hot-one)]. Of course, this does not free Africa's leadership from the responsibility of good governance, but it does add context to coldtea's argument.

</comment></comment></comment></comment></comment></comment><comment><USER7> Not mentioned in article:

\- President has successfully used a referendum to grant himself third term powers, if next year's election goes his way (likely)

\- Lots of surveillance (skype/whatsapp eavesdropping) by govt via telecom compliance

\- President has lots of stock in telecoms

<comment><USER8> Paul Kagame's anti-corruption policies are impressive. You can really see how much society can change when funds flow to the proper channels.

I have traveled through ten sub-Saharan countries and Rwanda does stick out. While many countries, especially in East Africa, have terrible infrastructure, Rwanda is "civilized". Working traffic lights, street lights even on minor roads in towns, decent roads. It was the only country in East Africa where I was able to easily find a proper black middle class. I did ask locals why this is the case, and they all point to the anti-corruption initiative. It is true that much money comes from the UN post-genocide and from methane gas, but this money does make it's way to society.

That said, I have a far better time in Mugabe's Zimbabwe and Zuma's South Africa. :) Corruption on that level is so blatant and destructive.

<comment><USER9> Serious q, I've never been in Africa: what is there to do in Zim to have a good time? Did you go on safari or somerhing similar, or are there off-the- beaten-track things to do (without knowing locals) that are relatively safe to do?

<comment><USER8> I could talk a lot about Africa. Loved it. Everything is off the beaten path, which is why I loved it. Outside of the known spots (Egypt and the northern countries, South Africa), there is no mass tourism. No bus loads of tourists that start taking pictures as soon as they step off.

Zim was unique. At that point, I already spent almost two months in East Africa (Uganda, Rwanda, Tanzania, Malawi), and my entrance (into Harare) was an eye-opener. A saw white people. Not tourists or the occasional white person, but actual residents. Lots of them. They had nice cars and went into nice stores. Good luck finding stores in East Africa.

Technically, my first stop in Zim was the Chimanimani Mountains. Lovely day hike. But it was on the border with Mozambique (I only traveled through Moz) so it felt the same.

Harare was a nice enough capital. I was amazed that the national museum was actually selling the art it was showing. Amazing pieces for great prices. If I was not traveling for months (and I actually had a home), I would have purchased some art. Amazing sculptures. Zim had the best sculptures, Malawi the best wood cravers. Went to a jazz club, more first show in Africa.

I did not do any safaris in Zim (did them in Uganda, Tanzania and Namibia), but I went to a place called Antelope Park. I had mixed feelings about it.

The great Zim ruins were interesting because it is the oldest manmade structure in sub-Saharan Africa. Nothing else of its kind on the entire southern half of Africa.

Took an overnight train from Bulawayo to Vic Falls. Slow. Decripit. Beer was $1 (cheaper than a supermarket) and we finished their entire stock. Plus our liquor. They called ahead to get more at another stop and we finished that as well. Fun fun times.

Victoria Falls of course was amazing.

I highly suggest going to Africa for vacation. I dream about going back. Was more of a fan of Southern Africa over East Africa.

Overall I felt safe in Zimbabwe. Better than Cape Town and forget about Jo'burg.

<comment><USER9> Great, thanks.

<comment><USER8> If you are still reading these comments, why Zimbabwe in particular? Nothing wrong with the country, but most landlocked countries do not attractive to much attention.</comment></comment></comment></comment></comment></comment>


Erasing Dark Energy - <AUTHOR> http://seedmagazine.com/content/article/erasing_dark_energy/P1/

<comment><USER2>
      [...] an expanding wave with its epicenter near the Earth could
      produce the dimming effects the two teams had observed [...]

This is not science, it's geocentrism that borders on implicit mysticism. It not only violates the Copernican principle, it also introduces a needlessly more complex model into a place where the simpler explanation was doing just fine without any appropriate justification for doing so.

There is a good reason why we say " _all other things being equal or held constant_ " until evidence suggests otherwise.

As a model, this shockwave hypothesis draws its only reason for existing from the apparent willingness or need to put humans at the center of the universe, with all the consequences it implies. It's baffling that given all we know today, there are still a lot of supporters for hypotheses putting the Earth at the center of everything, but for some reason I can't find a single one that is based on, say, galaxy cluster Abell 2744 being the most important point in space.

<comment><USER3> Well, it's mentioned that they are working on getting the theory to be testable and you can't get more scientific than that. The fact that the theory implies things that many scientists are uncomfortable with does not diminish anything from the quality of science being done. I don't like it either and the implications go against my gut feeling, but if they are working on enabling it to be falsifiable then let's let reality decide once the experiments can be conducted.

<comment><USER2> I'd certainly be very interested in seeing how this could be made testable. I have to admit though that " _throw away everything we know about the nature of the cosmos and start again with the assumption that humans are supernaturally special_ " is not a great start.

Also, it's from 2009 and I'm not aware of anything having come out of this.

</comment></comment></comment><comment><USER4> There is also this theory [http://arxiv.org/pdf/1212.1110v2.pdf](http://arxiv.org/pdf/1212.1110v2.pdf) which avoids the stratagems used in the ΛCDM model.

<comment><USER5> Pretty fascinating, is there much discourse out there on this?

<comment><USER4> Not much really but I have found a discussion here: [http://cosmoquest.org/forum/showthread.php?140129-Dark- matte...](http://cosmoquest.org/forum/showthread.php?140129-Dark-matter-doesn- t-exist)

</comment></comment></comment><comment><USER6> Originally published September 24, 2009</comment>


Cookieless Identification to Prevent Fraud While Protecting Privacy (ha) - <AUTHOR> http://threatmetrix.com/threatmetrix-announces-cookieless-device-identification-to-prevent-online-fraud-while-protecting-customer-privacy/ Although this technology is useful to fight fraud, it clearly goes into the creepy world. Farewell to even more privacy. <comment><USER2> OK, sounds like it might be interesting.

Can someone translate from marketing-speak into technical-speak?

<comment><AUTHOR> ThreatMetrix has been working on a way to identify people's browser without the use of cookies. They have some proprietary solution which probably does a combination of magical browser hashing and incorporating with their existent fraud database. Thus they built a service that allows companies to better track fraudsters without the user of cookies. Me being a bit paranoid, it creeps me out.

I wish I knew more, but as the technology is proprietary and highly secretive you get stuff with marketing speak. However if they are doing browser stuff, they have to do something with JavaScript which could be investigated, but will probably be well hidden and obfuscated.</comment></comment>


Ask HN: do founders get a salary after raising angel round? - <AUTHOR>

When you raise angel funding, do founders usually take a salary?  If so, what's acceptable? <comment><USER2> I worked 3 years at my last startup paying myself the absolute minimum possible. When the startup failed, this meant I didn't have any savings and immediately had to dive into consulting work. Part of the reason you take investors is to share the risk of the startup. In retrospect, I wish I'd paid myself more and hedged my bets a little better. Most startups fail leaving the founders burned out and broke. Now, I agree you shouldn't be making a fortune, but you don't want your personal finances to ever be a distraction from your business. You should be figuring out how to make your business successful, not worrying about finding money to eat or pay rent. You'll have plenty enough to stress over at work.

</comment><comment><USER3> Norms are in a rapid state of flux on this. I was told by people I consider extraordinarily credible that in the last two years their best companies, whose angel rounds would have resembled Series A a few years back, offered founders salaries roughly approximating market value of eqivalently skilled engineers employed in the area. (i.e. $120k not $40k, in the Bay area.)

I will also report this observation: "You'll think this is crazy. I thought it was crazy. But the last REDACTED deals I did included a partial cash-out for the founders." (I.e. rather than selling 10% of the company for $800k deposited in the corporate account the deal was $600k for the Corp and a $100k check for each founder.)

<comment><USER4> You're right; I think that's crazy. Is this a recent trend?

<comment><USER3> My understanding is that this was not an achievable option in the solution set e.g. 2 years ago, but 2 years ago the solution set also didn't include "Waltz into a six figure job as a fresh graduate", "Bill mid five figures a month contracting for a funded startup", or "Get this deal offered by somebody on the other side of the street if I don't play ball with you because your startup will fill that round regardless and the only question is how much you extract from us to make it happen."

I'm totally agnostic on whether this is bubblicious or this is just the market finding a more accurate approximation of the true value of the time of anyone capable of launching a product people like, by the way.

<comment><USER5> What do you have to do to bill a funded startup mid-five-figures a month?

<comment><USER6> Make them at least mid-five-figures a month, averaged out.

<comment><USER7> Does that rule out almost all consumer market startups, because they aren't making anything and don't seem terribly interested in doing so ("We're focusing on growth")?

<comment><USER6> I don't know what to tell you about how to value labor in companies that don't generate revenue. They all have some metric by which they justify spending hundreds of thousands of dollars a quarter on salaries; presumably, the same metric applies to contract work?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Really depends on how big your angel round is. If you've raised 200k and you've got 3 founders who all require 60k salaries each you'll get a year of runway which isn't very long and that's not even taking into account the possibility or need for taking on more employees.

I recognised early on that 'end of runway' anxiety is very real for me, as it creeps up it really affects your decision making on product direction and how you spend your time.

I would prefer to work backwards and do whatever it takes to make the angel round cash last at least 24 months without sizeable revenue with the salary capped at somewhere between 60-70k if the angel round was big.

If that cuts your salary from 60k to 30k so be it, make the necessary adjustments, it might even include taking a part-time gig consulting/designing/selling or whatever it is your skillset allows you do. In the same vein that the cash you spend now is 'expensive', any cash you earn on the side is should be viewed as a necessary investment of time to help you reap the returns later if your startup salary can't stretch to cover all your costs.

<comment><USER9> Then, you simply raised too little. I always thought that raising an angel round means "finally to be able to focus 100% on the start up". I'm not sure whether your investor would like it, if you spend your time doing other stuff than making this startup big (I sure wouldn't).

<comment><USER10> However you might not be able to wish more funding into existence. In that situation, the approach "we've got X money and we need Y runway so we're going to adjust our salaries accordingly" seems sensible. As per my other comment, totally agree that part time work is unlikely to be a good solution.

</comment></comment></comment><comment><USER11> I worked with a few venture firms last summer and got to meet a lot of the entrepreneurs they've funded. Most of them were working out of a angel or seed round and all were being paid.

The understanding is that you as the entrepreneur will put in 100% (more like 150%) of your effort & time into the company so, naturally, that eliminates other direct work for a source of income. The venture firm was providing them a salary but it was always explained as just enough to cover living expenses (rent, food, car, etc). In terms of numbers, this will obviously vary greatly depending on cost of living in your area but consider what would be just enough for a modest life.

Taking as little money as possible from the round for a salary is actually in the best interests of the entrepreneur as well. The money raised early on is very "expensive" in terms of equity given up for it. If you truly believe in your company and idea, you'll realize that the 40K or 60K salary you want now actually costs you $400K if/when you exit or IPO. Of course, this is just an sample, optimistic scenario but hopefully you see my point.

</comment><comment><USER12> It's normal to take a livable salary. For the founders I've spoken to in the Bay Area the range is somewhere between 40-60k/year. The variance depends on your expense policy and how you've setup your work environment. For example if you expense all meals, coffee, and you live and work out of an apartment, it's easy to get by on less than 40k which can take care of things like car payments, student loans, etc.

<comment><USER13> I would add that it depends on the size of the round. There's a big difference between a $50k and a $1 million angel round.

</comment></comment><comment><USER14> Maybe this would be a good question for a poll. We pay ourselves each 40k/year.

<comment><USER15> We pay ourselves $36k/yr. We wanted to do $24k, but our accountants said this would be an issue. $3k turns into $2.2k after taxes, UI, etc.

I think I want to bump this pretty soon; I spend more than my $2k/mo take-home on car payment + gas ($1k+), food ($500-$1k; I buy expensive/healthy groceries), exercise ($200-500/mo), (free rent), minimal toy/entertainment budget, etc. -- if I didn't have savings and credit, living on $2k/mo would be a big distraction.

Founders making $120-150k+/yr early seems like a distraction too, but I don't think $60-90k/yr is totally unreasonable in the Bay Area.

<comment><USER16> Exercising costs $500 per month? Get a bike an ride it down the street. Or even a $50/month gym membership.

<comment><USER15> I pay $42.50/mo for a 24h fitness membership, $80 per session 1-2 times per week with a personal trainer (same person the CEO of reddit uses, heh). I could probably do without the trainer but it has been a good investment so far.

I would like to join a rock climbing gym, maybe do crossfit, and krav magazine at some point, too.

I probably expend $250++ per month in ammunition, too, but I am drawing down a stockpile so I don't have to move it.

</comment></comment></comment></comment><comment><USER17> You can't live without a salary, and you can't be productive unless you're alive. Putting money into a start up and expecting the founders to not take a salary would be like putting money into a bakery and expecting the owners not to buy flour.

As far as what is acceptable, it depends on your market, the idea, the investors, and the founders. I've seen as low as 40k (approx 50% market value for the founders if they were employees) and higher than 100k.

</comment><comment><USER18> If you can swing it, don't take a salary at all. You'll thank yourself later.

Otherwise, anything between $50k-$90k (Bay Area) is reasonable depending on founders' personal situations. My current company has raised <$1m and there hasn't been any pushback from investors so far.

<comment><USER19> I'm sorry, but this is terrible advice. Unless you have considerable savings you should always take a salary.

When I was 27 I raised 1mil in an angel round. I was just out of college (I'm a vet so my college was delayed while I served) and was flat broke. I was 'advised' to take a minimal salary and proceeded to bring on 12 employees all who made most money that I.

2 years later when we ran out of money I had zero dollars in the bank (zero). I had no savings, I had no safety net. I was F'd. I spent 6 months homeless traveling with a circus to save enough money to move back to Chicago.

It is my personal advice that you take a minimum salary, rent, food, bills, and have the company pay you $500/month into a savings account that vests when you leave the company. Doing this one thing will give you some peace of mind that when this wonderful ride comes to an end that you will at least have some money in the bank to make your way again.

I am all for ramen-rich I think it is actually a good thing but I am here to tell you that if you don't take care of yourself financially you are setting yourself up for huge failure if/when the money goes away.

Personally, I would like ALL angels, VC's and incubators offer young entrepreneurs these 'bronze parachutes'. You don't have to pay them much right now but I do feel you need to make sure they, at the very least, don't crash and burn if the second round of funding doesn't come through.

</comment></comment><comment><USER20> Obviously, unless you're rich. Go for USD 500 more per month than you need to live (food & rent).

</comment><comment><USER21> If you live in a place like the SF Bay area (or anywhere with a state income tax), take as little as possible for your salary. 60k max, and if possible even less than that because whatever you take as salary you'll be losing 30%-40% of it immediately (which could better be used for your business).

You can expense your rent out of your company since you will likely work out of a home office. Car and (maybe) meals as well.

<comment><USER22> You probably can expense your rent, car and meals. However you also can get caught and tax evasion is a federal felony.

<comment><USER23> You can expense PART of your rent and utilities, completely legitimately, if you have a home office and use your home office solely for your business. You just calculate how much % of your home is dedicated toward your work, and deduct as appropriate.

You can expense your car if it is a business-only vehicle. You can also deduct business-related meals.

All of those things are completely within the bounds of the law.

</comment></comment></comment><comment><USER24> There are some really good reasons to at least pay minimum wage to founders, including that it's really hard to get them health insurance if you don't. And, it's typically better to get enrolled in a health insurance plan early (when there are only a couple of employees) than later.

And there are lots of reasons (already mentioned in other comments) to pay them better than minimum wage.

</comment><comment><USER25> Yes. I think worrying about how to pay your rent takes away from the value you can be adding to the company. I also would add, that I have seen my friends startup in which 1 founder took nothing, cause he was covered, another took about 60k, and the third took abut more cause he had 2 kids.

</comment><comment><USER26> They should, and if one chooses not to take a salary because he can afford it, he should be getting equivalent equity.

I don't know why this "garage myth" gets so much romance. It works for rich kids who can fall back on their parents, for students, extremely well- established people who have lots of savings and connections to fall back on, and for people who can time-travel back to the time when rents were reasonable in Silicon Valley, Boston and New York. In practice, you cannot have long- standing (over 6 months) financial pressure and keep up the level of job performance that a startup demands. It does not work that way.

</comment><comment><USER27> It varies. Depending on the size of the round though, at least a living wage is acceptable, so this will differ by region.</comment>


Useful Resources for the Test Anything Protocol - <AUTHOR> https://github.com/sindresorhus/awesome-tap#awesome-tap-- <comment><USER2> This is great!</comment>


Postgres Job Queues and Failure by MVCC - <AUTHOR> https://brandur.org/postgres-queues <comment><USER2> Disclaimer: IAAPDBA (I am a PostgreSQL DBA) I have been employed thusly for a decade now, and have worked in environments ranging from tens of concurrent users to hundreds of thousands. Previously, I was a developer.

A few jobs ago, I encountered a similar situation. That stack was Python- based. The engineers had apparently not realized that the DBAPI's default is to silently wrap all database interactions in an explicit transaction. (That is, before it submits your query to the db, it transmits a "BEGIN", and expects you to "COMMIT" or "ROLLBACK" as appropriate. I, personally, think that's a _terrible_ choice, but whatever.)

Everywhere else in the stack, this wasn't an issue — or at least not a particularly troublesome one. In the job queue, it was. The reason is simple: the job workers were long-lived, holding those (implicitly opened) explicit transactions for the lifetime of the connection. In the rest of the stack, the app code would connect, interact, and disconnect cleanly, including COMMIT- ing. How folks realized the need to do that in one place, but not the other, no-one could adequately explain to me.

When I started, they were uncomplainingly habituated to shutting down their entire jobs processing infrastructure (which had customer-visible impact) for hours, every week, to do a "VACUUM FULL"/"REINDEX" cycle on the queue table. That table's disk footprint followed a perfect "sawtooth" pattern, growing linearly "up and to the right", well into the gibibytes (for, on average, a few hundred to a few thousand relatively narrow, "live" rows), until the maintenance event, where it would drop off vertically. Lather, rinse, repeat. They had been running this way for _years_.

It took a _one-line_ code change to disable that behavior, and hours of downtime per week were eliminated.

IMO, this even less PostgreSQL's "fault" than the "write amplification" issue that Uber flounced over last year. They Did It Wrong, and it bit them.

TL;DR, it's the poor craftsman who blames his tools, and when you use a tool incorrectly, that tends to be consequential.

EDIT: phrasing.

<comment><USER3> Would you say the DBA job is easy mostly because non-DBAs simply don't bother with getting to know their DB?

<comment><USER2> No, I would say that makes it harder.

People have all kinds of crazy, naïve assumptions about how databases work. I often don't see the result of those assumptions until late in the process, when correcting them is significantly more difficult.

EDIT: It does create a lot of teachable moments, however. Over time, many of those assumptions are mitigated.

</comment></comment></comment><comment><USER4> Bloat due to long running transactions and batch writes is a significant operational pain in PostgreSQL. For extreme cases where vacuum isn't doing its job, check out pg_repack.

There is another approach to queuing in postgresql that doesn't suffer this problem though:

* Give each of your workers an id from 0..n.

* Open a connection to read from the queue, ordered by your priority index, and partition for your worker id (eg primary key % n = worker id). Make it a cursor.

* Read from the cursor in batches. You'll never see the same dead row twice because the cursor is stateful and is doing a single scan. You generally won't see dead rows anyway since this worker is the only one assigned to update these queue items.

* Perform your writes in a separate postgresql connection to avoid invalidating the cursor. Think about it like how a Unix process has a stdin and stdout pipe, except your pipes are postgresql connections.

This approach is great for throughout because you request queued items in batch, and there's no contention between workers. It's admittedly not as good for latency because a new queue item won't be dequeued until the worker it's assigned to finishes its run and restarts with a new cursor. For low latency queues, use FOR UPDATE SKIP LOCKED.

</comment><comment><USER5> I noticed that this article was written in 2015 and I wonder whether SKIP LOCKED in Postgres 9.5 could have changed the entire situation,

[https://blog.2ndquadrant.com/what-is-select-skip-locked- for-...](https://blog.2ndquadrant.com/what-is-select-skip-locked-for-in- postgresql-9-5)

[http://www.cybertec.at/skip-locked-one-of-my- favorite-9-5-fe...](http://www.cybertec.at/skip-locked-one-of-my- favorite-9-5-features)

Also, duplicate of: [https://news.ycombinator.com/item?id=9576864](https://news.ycombinator.com/item?id=9576864)

<comment><USER2> Pre-9.5, you could use "SELECT ... FOR UPDATE NOWAIT" to achieve the same end.

<comment><USER6> Uh... NOWAIT will error if the query encounters a locked row and rollback the transaction. SKIP LOCKED will make locked rows invisible to the current transaction, but will not cause the transaction to be rolled back. SKIP LOCKED effectively provides equivalent behavior to the recursive CTE given in the post

<comment><USER2> > _Pre-9.5..._

<comment><USER6> I don't see how NOWAIT gives you what you want here. NOWAIT and SKIPPED LOCKED are completely different.

<comment><USER2> The clause "SKIP LOCKED" did not exist _until_ 9.5.

Before that version, the behavior of silently skipping rows that had outstanding locks against them was specified by using "NOWAIT".

The decision of which specific clause to use is driven by which version of PostgreSQL you're using.

How much more plainly can I put that?

<comment><USER6> AFAICT the behavior of NOWAIT has always been the same. The earliest mention of NOWAIT I could find was in Postgres 8.1[0]:

> To prevent the operation from waiting for other transactions to commit, use > the NOWAIT option. SELECT FOR UPDATE NOWAIT reports an error, rather than > waiting, if a selected row cannot be locked immediately.

[0] [https://www.postgresql.org/docs/8.1/static/sql- select.html](https://www.postgresql.org/docs/8.1/static/sql-select.html)

<comment><USER2> You're right. With a super-contrived test case, I got the described behavior.

Somehow, in all the the hundreds of millions (guesstimate) of rows I've used SELECT FOR UPDATE NOWAIT to process without lock conflicts, I've never actually gotten the error. At a guess, because I've generally always also used a LIMIT clause, and there have always been enough _unlocked_ rows available to satisfy that.

Apologies for the noise.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I misunderstood what the heck the article was about at first. I hope this quirky analogy may help:

"I am implementing a database for a bank.

I open a transaction in a special active_customers table when the customer first joins the bank, and commit the transaction when they close their account or die. In this way, I use postgres transactions to keep track of which customers are active customers.

I am having problems with long-living customers forcing us to wait up to 120 years between autovacuums of the DB."

Clearly, that's not going to be a good way to do things.

Rossers comment ([https://news.ycombinator.com/reply?id=14731214&goto=threads%...](https://news.ycombinator.com/reply?id=14731214&goto=threads%3Fid%3Drosser%2314731214)) is very helpful.

</comment><comment><USER7> > As dead tuples continue to accumulate in the index, Postgres enters a hot > loop as it searches the B-tree, comes up with an invisible tuple, and > repeats the process again and again, surfacing empty-handed every time. By > the end of the experiment illustrated in the charts above, every worker > trying to lock a job would cycle through this loop 100,000 times.

1\. I am curious if the author tried setting the autovacuum more appropriately for a table that is in continuous use at 50 new rows/second.

This article ([http://okigiveup.net/postgresql-vacuuming-an-introduction- fo...](http://okigiveup.net/postgresql-vacuuming-an-introduction-for-busy- devs/)) suggests:

ALTER TABLE person SET (autovacuum_vacuum_scale_factor = 0.0); ALTER TABLE person SET (autovacuum_vacuum_threshold = 4000);

This should result in entries being removed from the index and table regularly.

2\. If I understand correctly, it seems the other part of the problem is that there are lots of rows to be individually tested to see if they can be locked, based on the way the author has implemented their queue. While lock attempts are being made on a set of rows, they aren't being deleted, since they're 'in use'. This non-deletion causes things to get out of control.

As far as I know, 9.5's SKIP LOCKED is meant to help address that ([https://blog.2ndquadrant.com/what-is-select-skip-locked- for-...](https://blog.2ndquadrant.com/what-is-select-skip-locked-for-in- postgresql-9-5/)). Though it appears to be doing something kinda similar under the hood.

If the author of the original article (@ brandur.org) is following this discussion I would be grateful if they could evaluate these two options in the context of their test implementation.

<comment><USER2> The problem with the first point is that autovacuum can't mark "dead" tuples as "dead" if there are open transactions that are "older" (in MVCC terms) than those tuples, no matter how aggressively it's tuned.

"SKIP LOCKED" (or, pre-9.5, "NOWAIT") will definitely help with the locking issue, but not with the bloat.

<comment><USER7> Thank you for a good summary.

The real problem in my understanding was that I wasn't seeing that the article author REALLY IS using long-running PG transactions to as a way to enforce external queue items running to completion (or not). I know they say it in the article, indeed it's the point of the article, but it seems so strange.

Hence he's getting these long-running transactions in PG in the first place. The phrase 'sledgehammer to crack a marshmallow' comes to mind.

At 50 items/second I guess I'm totally baffled over why you wouldn't simply use e.g. an exclusive table lock each time you connect to the DB to add/take/remove a task from a task table, with a timestamp to allow aborting and rescheduling of tasks.

I just ran a test to check the performance of exclusive table locking for this purpose, and despite the slowness of having everything dumping to the console while running, and the slowness of setting up a completely new psql session for each connection (i.e. no pgpool etc), using a BASH script, and running on a crappy 6-year-old mac, I got over 100TPS.

</comment></comment></comment><comment><USER8> This is a really great summary of the problems with queues in Postgres.

I ended up working around this by moving jobs to an "archived" table when they were complete, so the "hot" table never gets too large, and by avoiding long running transactions - we update jobs to in-progress, and then the worker is responsible for marking them as "complete" or "failed". If the worker crashes, a "stuck jobs" background worker will mark jobs as failed after a timeout.

[https://github.com/Shyp/rickover](https://github.com/Shyp/rickover)

<comment><USER9> In one of my projects I was going to use something like that: "update ... skip locked" was used in isolated short transaction, which would just update that job with "taken" flag and timestamp and commit that. "stuck jobs" worker was meant to fire as rare as possible for cases of unhandled failures, but was still there.

</comment></comment><comment><USER10> Whenever this comes up, I argue for moving the queue orchestration out of Postgres. Everyone will be happier that way.

By this I mean that you keep your jobs in Postgres, but instead move the ordering -- the physical queue data structure -- out into something like RabbitMQ or Redis.

To schedule a job, create a job row, then push its ID to Rabbit or whatever. To process the next job, grab the next ID, look up the job row, then do the processing.

That gives you the best of both worlds, without ever running into issues with locking and dead tuples.

(There is of course a race condition here where you may create a job but not publish it (due to Rabbit temporarily failing, for example). But there are ways around that.)

<comment><USER11> I would argue that is not a pragmatic approach. The article makes a good point about the huge benefits of this approach for relatively small workloads. Transactional guarantees are hugely useful! Being able to rollback something like a user create _including_ a queued job to send out a welcome email is incredibly nice.

IMHO HN conversations tend too much toward solving problems at google scale. We often forget here that there are tons of high-value business critical systems that generate mere 10s, hundreds, or a few thousand background jobs a day. Given the numbers quoted in the article, DB backed queue systems scale quite far. I've successfully used them to handle tens of thousands of events per day with no problem over a timespan of years. It's clear that this is a great approach for _some_ situations, and that one size fits all doesn't make sense here.

<comment><USER12> > Transactional guarantees are hugely useful! Being able to rollback something > like a user create including a queued job to send out a welcome email is > incredibly nice.

That would work in this case - the job is added to the postgres table in a transaction, which eventually rolls back. The ID of the job was put into a separate queue. When the queue consumer tries to get the job from the database by ID, it doesn't see it because the transaction never committed. It can discard that job ID from its queue.

<comment><USER11> Yes but then you need to support a whole additional piece of infrastructure and you have to write and support more code. For a lot of use cases that's a waste of time and money. This is a case of YAGNI for the use cases I mentioned.

</comment></comment></comment></comment><comment><USER13> When will people stop trying to build queuing systems on top of a database and use a queuing service. Amazon's SQS or RabbitMQ or one of dozens of other tools that are specialized for message queuing. A job queue is just a message queue in which the messages hold a job.

ZeroMQ is the thing to use to roll your own queuing service, not a database server whether SQL or NoSQL. Databases are not queueus and database servers are not designed with queues as any kind of important priority when features are implemented.

<comment><USER14> At the exact point where you don't need to learn another technology/framework and don't need to install yet another server side program (broker) anymore.

It's another independent part that needs to be installed, configured and maintained. There are several "database as queue" approaches that work perfectly fine and none of them requires more than knowledge in your programming language of choice and basic SQL.

</comment></comment><comment><USER15> This turns into a very interesting dissection of postgres' internal workings, but it's hard to get over the beginning's massive caveat of using a RDBMS as a queue.

</comment><comment><USER16> > storing jobs in a database allows a program to take advantage of its > transactional consistency; when an operation fails and rolls back, an > injected job rolls back with it

This is a false premise for using a database as a queue. The same goal can be simply achieved with a different queuing system, say SQS, by only enqueuing jobs AFTER successful transaction commit.

<comment><USER17> How do you queue that job only after the transaction committed?

<comment><USER18> The same way the new built-in logical replication works: logical decoding.

<comment><USER17> this means it does not work on RDS

<comment><USER18> Tough.

<comment><USER2> This is the kind of comment that makes me wish I could burn some of my own karma to downvote more than once.</comment></comment></comment></comment></comment></comment>


How to improve your Command Line Skills and be more productive - <AUTHOR> http://blog.paladise.ch/improve-show-os-x-shell-command-line-skills/

<comment><USER2> There were also many great threads on HN about UNIX commands:

      Unix Commands I Wish I'd Discovered Years Earlier [1]
      Useful Unix commands for data science [2]
      Favorite Unix Commands [3]
      Top Unix Command Line Utilities [4]

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

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

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

[4] [https://news.ycombinator.com/item?id=4985393](https://news.ycombinator.com/item?id=4985393)</comment>


The Age of Creativity (2017) - <AUTHOR> https://thewalrus.ca/the-age-of-creativity/ <comment><USER2> Reminds me of something I overheard an older artist say when dealing with a difficult customer who didn't want to pay the asking price for one of her paintings. When the customer demanded, "Well how long did it take you to paint it?" The artist replied, "My whole life."

<comment><USER3> I have read that anecdote multiple times with Picasso being the artist, but as he also allegedly said "Good artists copy, great artists steal." ;)

<comment><USER4> Speaking of :^)

[https://quoteinvestigator.com/2013/03/06/artists- steal/](https://quoteinvestigator.com/2013/03/06/artists-steal/)

</comment></comment></comment><comment><USER5> If you read a headline and the body of the article is something totally different than what you expected, your attitude towards the piece starts in a really negative direction. Why would they mislead the reader into thinking it is about how now, this generation, is the time when creativity is the biggest factor for success (which "The Age of Creativity" would imply), when it really is about something else. The discrepancy between the promise of the headline and the body makes you not want to read the thing.

<comment><USER6> Why are you so eager to read something that just confirms your existing ideas?

<comment><USER5> Nothing in my original post should suggest I think our time is the age of creativity. I'm kind of ambivalent on the subject actually.</comment></comment></comment>


Ask HN: Can anyone from Microsoft clarify the Windows API Code Pack license? - <AUTHOR> This is a bit of a long shot, but I know some of the .NET developers are here on HN and I don't have a better line into MS.
The Windows API Code Pack [0] is a collection of C# utilities for applications built on Windows: shell utilities, wrappers around file open/save dialogs, etc. It looks like development stopped back in 2014, but it's still really useful and gets ~42 downloads/day according to NuGet [1].
Unfortunately the original license page linked from the directory (a code.msdn.microsoft.com address) no longer resolves [2]. User aybe on GitHub, who now maintains the NuGet packages, rescued a copy from the Internet Archive, which reveals a custom, Microsoft-specific license [3].
My question: now that .NET is embracing OSS, would it be possible to update this project's license to something more standard? .NET Core [4] is dual-licensed under MIT and Apache2, for example.
[0] https://github.com/aybe/Windows-API-Code-Pack-1.1
[1] https://www.nuget.org/packages/WindowsAPICodePack-Shell/
[2] http://code.msdn.microsoft.com/WindowsAPICodePack/Project/License.aspx
[3] https://github.com/aybe/Windows-API-Code-Pack-1.1/blob/master/LICENCE
[4] https://github.com/dotnet/core <comment><USER2> Try mailing Scott Hanselman; I'm quite confident he can help you get in touch with someone inside the mothership: [http://www.hanselman.com/about/](http://www.hanselman.com/about/)

<comment><AUTHOR> Will do - thanks.

<comment><USER3> checking

<comment><AUTHOR> Oh wow, awesome!</comment></comment></comment></comment>


The Typography of Blade Runner - <AUTHOR> https://typesetinthefuture.com/2016/06/19/bladerunner/ <comment><USER2> Recent discussion: [https://news.ycombinator.com/item?id=11944858](https://news.ycombinator.com/item?id=11944858)</comment>


Show HN: Calyx – A Ruby Library for Generating Text - <AUTHOR> https://github.com/tra38/calyx <comment><AUTHOR> This library was originally created in 2015 by Mark Rickerby (maetl) and was used to generate gamebooks. I forked the project and enabled Calyx to write "data-driven narratives" (robojournalism). I hope to have my changes merge into the main Calyx branch, but in the meantime, I hope to get any feedback for this project...and maybe even have it be used by other people.</comment>


Ask HN: Best Functionality for Character Animation Tool? - <AUTHOR> Hi! I'm conducting research on enhancing the character animation process (more specifically, to complement and augment traditional hand-drawn animation). I'm interested if there's any particular functionality you like about existing tools or if there are any exciting new functionalities you would love to see? Thank you! <comment><AUTHOR> Any ideas welcomed!</comment>


Bluemix, I hardly knew ya - <AUTHOR> https://www.ibm.com/blogs/bluemix/2017/10/bluemix-is-now-ibm-cloud/ <comment><USER2> IBM Bluemix's technicians are by far the most rude people I've ever encountered when using an online service I actually pay for. That alone was enough to drive me away.</comment>


The Sorrows of Psychiatry - <AUTHOR> https://www.nature.com/articles/d41586-019-01170-1 <comment><USER5> I'm almost _positive_ that Freud did NOT think that "early-childhood sexual fantasies" were the basis of illness, but early-childhood _trauma_ as the culprit, and I've come to believe that is almost surely the case, although I am sure no one cares about my insights on the issue.

Not only does this line up squarely with my own personal experience with addiction and other psychosis I have, but the lack of these issues in my children as well, who had a radically different early childhood then I and have no addiction issues whatsoever.

Case in point...I recently saw the documentary about the triplets that were separated at birth and given to 3 different socio-economic and emotionally- connected parents and who, by total accident, met at college and came to be national celebrities in the 70's and 80's.

One of the three eventually killed himself, due in part I'm sure to his much deeper addiction issues then that of his 2 siblings. The interesting part was that he was given to the "wealthy, but emotionally distant" family.

By far the most well balanced and successful of the 3 was the one given to the gregarious and emotionally-connected father, who showered the child with love and support throughout his whole life.

I could go on for 30 minutes discussing all the takeaways of this documentary, called Three Identical Strangers...it turns out the children where all part of an ethically-questionable experiment where, in my mind at least, the end results basically proves that 95% of the nature/nurture argument goes to the "nature" side.

It seems that all "nurture" can do is fuck you up and give you lifelong issues that are incredibly difficult to overcome.

<comment><USER6> Sigmund Freud was somewhere between a fraud (accessory to rape, in that he systematically defended rapists), to a serial rapist himself. That any of his theories are used at all in any psychological course is shameful.

[https://www.nytimes.com/1984/01/24/science/freud-secret- docu...](https://www.nytimes.com/1984/01/24/science/freud-secret-documents- reveal-years-of-strife.html)

(search for "real rape" in that article to read one account of Freud expending a lot of effort to hide obvious cases of rape)

</comment></comment><comment><USER7> In the 40+ years since that study was done, it seems like psychiatrists still fail at distinguishing the sane from the insane!

Here's a fun story from Pennsylvania:

[https://www.washingtonpost.com/news/morning- mix/wp/2018/01/0...](https://www.washingtonpost.com/news/morning- mix/wp/2018/01/04/a-terrible-mistake-confused-police-injected-anti-psychotic- drugs-into-wrong-man-lawsuit-alleges/)

<comment><USER8> "Sane" and "insane" are useless terms.

I wonder say that's a blow against the profession, but that is a blow against the individuals involved. The police are complicit in that whole thing as well, but we aren't trying to throw all of law enforcement out because of it.

</comment></comment><comment><USER9> From recently discovering Dr. Sarno's work on physical pain (Eg. Back pain). My current working theory is most psychological pathology comes from repressed rage. It sounds crazy but thousands of people have been cured from chronic back pain, depression, IBS, the list goes on from just learning to get in touch with their embarrassing and painful feelings of rage. Most people have no idea how much bottled up rage is living in their subconscious.

"Though he may not be a household name, Sarno is probably America's most famous back pain doctor. Before his death on June 22 2017, a day shy of his 94th birthday, he published four books and built a cult-like following of thousands of patients — including Howard Stern and Larry David. Many of them claim to have been healed by Sarno, who essentially argued back pain was all in people's heads. And Sarno himself often said that some 80 percent of his patients got better."

"After digging a little deeper, I learned that some of Sarno's theories are now even being validated by science — specifically, that there can sometimes be an emotional basis for chronic back pain. And that's an important truth mainstream pain medicine still hasn't quite figured out what to do with."

"More specifically, he believed that the brain distracts us from experiencing negative emotions by creating pain. We may not want to accept the uncomfortable truths that we are angry with our children, or that we hate our job, so instead of thinking those thoughts, we focus on the pain.

He also thought that pain was created by reduced oxygen and blood flow to the muscles and nerves of the body. So our brains unconsciously [sub consciously] direct blood away from certain areas of our body, and that creates pain." - [https://www.google.com/amp/s/www.vox.com/platform/amp/scienc...](https://www.google.com/amp/s/www.vox.com/platform/amp/science- and-health/2017/10/2/16338094/dr-john-sarno-healing-back-pain)

The problem is that Sarno was at his peak when western medicine wasn't willing to look at studies that show that emotions can be the root cause of physical conditions. Which is crazy because the placebo effect is well documented. Thus there is obvious evidence that our mind has the ability to effect our body in various ways (including our immune system).

<comment><USER7> Howard Stern described him as, "the Steve Jobs of pain management."

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

</comment></comment><comment><USER10> The problem is truly helping the severely damaged is such a difficult task requiring long term, intense intervention that most mental health professionals just fall back onto the standard approach of pathologicalizing behavior and prescribing medication. Theirs is just a job too at the end of the day, is it reasonable to expect them to carry the weight of society's failures?

</comment><comment><USER11> Some years ago I was told that neurology had started to quietly replace psychiatry, overwriting its poor reproducibility and conjectures with testable, reproducible, and consistent chemical and physical explanations. I hope it continues.

<comment><USER12> I don't know why you are being downvoted. The famed neuroscientist ramanachandram had a story about how psychiastrists were assigning woman with all kinds of disparate diagnoses for her occasional erratic behavior. Turns out neuroscientists found out she was having small strokes and once they fixed it with brain surgery, her erratic behavior went away.

Psychiatry is like fixing a software bug by telling the customer to simply avoid doing things that causes the bug rather than correcting the actual code and fixing the software.

I know some people don't like reductionist reasoning, but the more I think about it, the more I'm inclined to believe that all psychological problems are ultimately a brain problem. We just don't know enough about the brain yet to fix many of those problems.

<comment><USER13> I would guess it's because it is an huge simplification of the relationship between the two disciplines. The fields of science are not discrete.

</comment></comment></comment><comment><USER14> >chlorpromazine... enabled the demonstration that biochemicals such as neurotransmitters are involved in mental disorders

It does no such thing. This drug, and most antipsychotics, simply shuts down the forebrain. It "treats" psychosis by shutting off your mental function. As soon as you remove the drug (go "off your meds" because you want to think and feel again), psychosis resumes. This tells us nothing about the nature of psychosis.

<comment><USER13> It seems to me that antipsychotics are too often used as medicinal straitjackets. They are indispensable in stopping acute psychosis, but they don't treat anything.

<comment><USER15> They are rightly called major tranquilizers, "antipsychotics" is relatively new marketing that oversells them as a cure rather than a bandaid.

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

</comment></comment></comment><comment><USER16> > psychiatrists should devote themselves to solving the problem of serious > psychoses, and should concede responsibility for what she describes as > mental suffering that is not a true illness to therapists and social > workers.

> > I disagree.

Saved you the time of reading this fancy opinion piece.

</comment><comment><USER17> Funnily enough, psychiatry seems to function a lot like our field, based on trends, because ultimately the brain is a black box. You can't see how it works, you can only feed it input and observe the output, and if it's consistent enough you can record it as an observation.

Apart from the truly severe conditions that prevent individuals from even participating in society, IMHO what psychiatry seems to fail to account for is context. For example, it is said that many people suffer from depression, but instead of looking into the core causes, they would rather just pump patients with meds and hope it gets better with time. Often times though, all that happens is that the patient builds tolerance to medication, so larger and larger doses are needed. It makes me think: what if those people cannot escape their condition to begin with? Can't even know if you don't at least try.

<comment><USER6> The first and biggest mistake people make with psychiatry is that it will somehow fix anything, or do anything not relating to the patient. You're absolutely right. There are environmental reasons for phobias, PTSS, Autism, Traumas, ...

So if you're being abused, there's absolutely nothing that psychiatry can do for you, because they can do nothing about the abuse (other than taking you in and throwing you back into the abuse after 2 months). Same with ancillary fields: social workers will NEVER do anything about that teacher that's abusing your kid, they will only "treat" the child (maybe with force, maybe with internment, maybe against the will of both child and parent, but only the child).

Likewise, many issues are caused by poverty, or other effectively environmental factors that just won't change with psychiatric treatment. There is absolutely nothing that can be done.

You're also forgetting, with those medications, what the patients will build tolerance for and how that happens. Opiates, Xanax, "Benzos" and SSRIs all have different mechanisms, but it boils down to the following: you will NOT like the long term effects. You can responsibly take these medications for periods from hours to a few weeks (to end what they call a manic episode or a huge panic). More will have permanent consequences. Eventually you will become permanently depressed, to the point that "zombie" will be a word used to refer to you. The way your body adapts is by raising the threshold of dopamine it takes to reward you, to a point that no non-medication-induced (and eventually any non-overdose amount) will make you happy. You won't get out of bed, you won't learn, go for a walk, wash yourself, ... hell Miss/Mister World could walk into your bedroom, offer anything goes sex, and you _still_ wouldn't be able to find the motivation to do anything. Once that threshold is raised to a point that only medication can provide rewards, you're not coming back anymore.

<comment><USER17> Interesting addendum. Thank you.

Are there any statistics or studies regarding the becoming of these zombies? I thought that the body, if long enough under such medication, becomes incapable of producing its own dopamine, not that the threshold becomes higher.

</comment></comment></comment><comment><USER18> Well, my depression went away when I cut out plants and sugar. Not much more to say.

<comment><USER19> Mine didn't

<comment><USER20> Same here, multiple different kinda of diets, eliminating anything I'm allergic to, etc.

Not saying it won't help out some people, but at least what I tried didn't help me.

</comment></comment></comment><comment><USER21> As we learn more about neural networks, I predict that we'll hit new advances in psychology and psychiatry.

If one oversimplifies neural networks and thinks of them as pattern-matching machines, it would make sense that our brain's neural network would have trouble if they were fed a lifetime of bad training data (abusive childhood/relationships) and therefore had bad/nonconstructive reactions to normal stimuli.

<comment><USER6> You need to visit a psychology department, or worse, a social sciences department, and then visit a computer sciences department. This will never happen, or at least, not without a few generations passing at minimum.

For the same reason that people who have changed a tire on a bike cannot repair a jumbojet. The statistics accepted in psychological papers ...

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

Or, more dramatically:

[https://phys.org/news/2018-10-real-fake-hoodwinks- journals.h...](https://phys.org/news/2018-10-real-fake-hoodwinks- journals.html)

<comment><USER22> Neural net research also has problems with replicability.

<comment><USER8> Not knowing machine learning - are neural nets deterministic at all? Given all their randomness, I'd assume not.

<comment><USER23> > are neural nets deterministic at all? Given all their randomness, I'd assume > not.

That's actually an interesting question; I'm probably not the person to answer it, since my experience with NNs is admittedly on the "still learning" side of things, and that learning has not been via any credentialed sources...but I'm willing to take a stab at it.

NN models - that is, the thing that results from training a neural network, are typically "fixed", in that once trained, the model doesn't change - <USER2> least classically. I imagine that somewhere out there, there may be NN models which can change as data they are processing is run through them, learning on the fly so to speak. I'd have to research it; I'm sure it's something that's done or been done?

But normally, once a NN has been trained, it's model is "fixed" and doesn't change when inputs are presented to it. The training phase is - or appears to be - fairly stochastic. I'm not sure I'd want to call it random, though, because I don't recall any kind of random numbers being used during back- propagation.

But the data that is presented to the neural network is usually randomized in presentation - and sometimes content. That is, say you're training the NN on recognizing horses. You might have several thousand images of horses, but you don't want to show just those. You might want to generate many more - <USER3> each one just a bit, skew it just a smidge, maybe change the color and/or contrast/brightness, etc - to in effect generate a bunch more positive (and just as many negative - so you don't get bias or overfitting happening) examples to train the NN on what is a "horse" vs what is a "not horse".

So that data is somewhat "random" \- but from what I recall, the actual mechanics of training - the algorithms of forward passes and backwards passes (backpropagation) don't have any randomness to them; just to be sure, I checked this - which is a great explanation (not the simplest, but not impossible to follow):

[https://mattmazur.com/2015/03/17/a-step-by-step- backpropagat...](https://mattmazur.com/2015/03/17/a-step-by-step- backpropagation-example/)

I don't know what your math skill level is here, so don't let any of the calculus and "chain rule" stuff get to you if you aren't familiar with it (tbh - I suck at it), just look at the equations and explanations. It's plain that there is no random number generator to be found in the process.

So - in theory - if the model, after it has been trained and "baked in place" so to speak - is presented with the exact same inputs, it should generate the exact same output.

But the input has to be exactly the same; in the case of an image, the neural network's input layer is usually an "unrolled" 1-dimensional array representing the pixel values of the image (left-to-right, top-to-bottom - <USER4> a 1D array - usually). Those values are usually grayscale or color values, presented either as integer data or floating-point values.

As long as that image data is presented exactly the same to the NN model, the output should be the same; for instance, if shown a set of pixels values that represent something, the output of the model will always be the same if shown those exact same pixel values.

But usually, these systems aren't built to take in "exact data" but rather data from sensors of the real world. So - the data that would probably be fed into the NN model likely comes from, say, a camera - and that sensor will not always present the exact same data to the NN model, even if purposefully set up to do so - because all such sensors have noise and aren't perfect (different pixels from the camera's sensor can and will return different values, even if shown a calibrated blank image in a fixed mode, with consistent fixed lighting, with the best camera sensor available, etc - it's just a fact of the real world).

So, because of this - the output of the NN model will in effect be "random" \- but only because the input is effectively "random". That's actually ok, because what the model outputs (even if set up as a classifier) are values of probability - percentage values, where (ideally) the "spike" in the overall set of values represents the actual identification for the network, and that any inherent randomness in the system (sensors and whatnot) is filtered out and (hopefully) doesn't effect the outcome.

Though as we know, this too can be exploited; because the model is "baked in", you can show a series of images to the network, and get an identification on the other end, and probably with some statistical analysis you can work out what the layers in between might actually represent (probably not exactly though) - and identify flaws that could cause misidentifications on the output. More or less "hacking the NN model middle layers" and using that information to craft an "exploit" for the input to cause a particular mis- identification on the output side.

As we know - this is possible; at least, we know it's possible to get a network to output a wrong result by simply changing the pixel values of the input image slightly (even subtly that can't be seen by a person looking at the image - basically a steganographic style attack?). Such a "hack" could be used for any number of purposes, but mostly they show how fragile such NN models can be.

Does this mean they are random, or deterministic? I'd argue for the latter at this point, but again, I'm not really the person to ask. Hopefully someone else can answer (or has, by the time I post this).

<comment><USER8> Thank you for taking the time for such a lengthy and in-depth reply. Greatly appreciated!</comment></comment></comment></comment></comment></comment>


Show HN: Send to Me – Quickly Email Things to Yourself - <AUTHOR> http://sendtome.co

<comment><USER2> I get good mileage out of a similar Android app: [https://play.google.com/store/apps/details?id=com.caramellab...](https://play.google.com/store/apps/details?id=com.caramellabs.emailme&hl=en)</comment>


Von Neumann's First Computer Program (1970) - <AUTHOR> http://fermatslibrary.com/s/von-neumanns-first-computer-program <comment><USER2> Direct PDF access w/o "reader" crud:

[https://sci-hub.tw/10.1145/356580.356581](https://sci- hub.tw/10.1145/356580.356581)

<comment><USER3> FYI This triggers my corporate firewall's "protection". YMMV

<comment><USER4> Yeah, my browser (firefox, OS X) is showing a revoked certificate.

<comment><USER2> [https://news.ycombinator.com/item?id=16951831](https://news.ycombinator.com/item?id=16951831)

</comment></comment></comment></comment><comment><USER5> Came here looking for the first "hello world!" Program, ended up learning something.

<comment><USER6> Knuth writing about Neumann - should be more than hello world. I don't know if Turing wasn't a bit earlier than this, or Zuse for that matter.

<comment><USER7> From the paper: "...we should realize that the historical interest of this program is in great measure due to its connection with the development of instruction codes for stored program computers; it is not the earliest instance of a computer program. We have Lady Lovelace's description of a program for calculating Bernoulli numbers that Babbage wrote for his Analytical Engine [1, Note G]; A. M. Turing's construction [16] of his abstract Universal Machine, which involves many important programming concepts; Eckert and Mauchly's first sample program for the ENIAC [4]; and a collection of numerical programs, dating from 1944, written by H. H. Aiken, G. M. Hopper, R. V. D. Campbell, R. M. Bloch, B. J. Lockhart, and others, for the Harvard Mark I [10, Chs. 4, 6]. "

<comment><USER8> Carefully neglecting Zuse's Plankalkül?

<comment><USER9> Maybe not; Zuse is mentioned a couple of paragraphs later, so it doesn't seem that Knuth is trying to pretend he didn't exist.

</comment></comment></comment></comment></comment><comment> cup-of-tea Why are you linking to Twitter and not to the actual paper? [http://fermatslibrary.com/s/von-neumanns-first-computer- prog...](http://fermatslibrary.com/s/von-neumanns-first-computer-program)

<comment><USER10> For once the Twitter comments are actually good. A gif of the merge sort and another giving its big-O rating.

<comment><USER11> Do you have a link to the Twitter comments that you can share?

<comment><USER12> [https://twitter.com/fermatslibrary/status/991301499799195648](https://twitter.com/fermatslibrary/status/991301499799195648)</comment></comment></comment></comment>


Pedestrians, cars, signals and swans – life as a London transport manager - <AUTHOR> https://www.theguardian.com/society/2019/mar/04/cant-change-traffic-lights-swans-cross-road-transport-london <comment><USER2> >While I am reviewing the signals, a black cab driver pulls up to see what I am doing. He's worried that I'm lost and wants to see if I need any help. It's times like these that I'm reminded how odd I must look to others when I stand looking at traffic signals for a long period of time. Once I explain what I'm doing and how I'm trying to improve the timings, we talk about all of the traffic signals in different parts of London. He knows a lot and gives me some recommendations of where we can make improvements.

In _surprising news_ someone that is on the road all day knows a lot about traffic signals and their quirks.</comment>


Should You Work For Free? - <AUTHOR> http://shouldiworkforfree.com/

<comment><USER2> This again?</comment>


Slush Smackdown: Knockout other players in kids' AI coding game - <AUTHOR> http://slushsmackdown.com/ <comment><USER2> Cool game! I was able to build my first code in just minutes even if my Joe Rampage got pretty badly beaten up.. need to take another round of practice...

</comment><comment><USER3> Oh great. Another addictive time-sponge. Just what I need :)</comment>