Facebook Moves to Limit Election Chaos in November - <AUTHOR> https://www.nytimes.com/2020/09/03/technology/facebook-election-chaos-november.html <comment><USER2> >Facebook also plans to remove posts that both explicitly and implicitly aim to disenfranchise or prohibit people from voting; previously, the company removed only posts that actively discouraged people from voting. Now, a post that causes confusion around who is eligible to vote or some part of the voting process — such as a misstatement about what documentation is needed to receive a ballot — would also be removed.

In a country where about 61% [0] of voting-age people actually take the time to vote, I can't believe there are people trying to bring that number down more. It saddens me that anybody would want to silence a voice/vote through disinformation online. It also really confuses me on who this would even affect? I haven't seen any posts about this (I haven't been on Facebook in years) so I am unsure who the "target" audience is. Would the perpetrators just want a really low turnout, hoping one side is just smart enough to not listen? Or is it to just instill more confusion?

[0]: [https://www.census.gov/newsroom/blogs/random- samplings/2017/...](https://www.census.gov/newsroom/blogs/random- samplings/2017/05/voting_in_america.html)

<comment><USER3> People try to target demographic groups that are not on their side, and discourage or inhibit their voting. For instance, if poor demographics don't tend to vote for your side, you can push for more stringent documentation being required to vote, like driver's licenses, which poor people don't have. Or you can move to limit poll locations and hours, as poor people can't get off work as easily as wealthier people.

Gerrymandering is another way to game the voting system, which can be used against people rich or poor. For instance, the city of austin might very well elect a democratic member of the House, if district lines were drawn sensibly, but it is cut up into little slices of pie, then each piece slice wraps around a huge rural area that tends to vote GOP.

<comment><USER4> Not everyone may have a drivers license. Some upper middle class members also don't have driver's licenses.

What just about everyone over 18 has is a form of government ID. Without a gov ID you cannot get access gov resources: education, SNAP, medicare, Medicaid, purchase controlled groceries like alcohol, cigarettes, marijuana , power, phone plans, credit cards, etc.

It's a myth that poor people cannot get IDs. You'll be hard pressed to find someone who doesn't and cannot get one. I was dirt poor as a youth. I got a non drivers ID card. It was necessary in life.

<comment><USER5> Since there are no standardised IDs in the US unlike most other countries, can't poll workers just be unnecessarily stringent on identification to deny people the vote?

<comment><USER4> I believe one of the ideas bandied about is a nationalID. People are against these as well. Non DL IDs are issued by the same state org that issues drivers licenses and they look the same, except it says Identification Card instead of Driver License. They also have no-fee options if you are homeless and reduced fee cards if you are on gov assistance.

<comment><USER6> National IDs are always a bad idea. To give an example, when India ("world's largest democracy") decided to roll out a national ID, they touted it as a harmless and useful tool. Recently, when New Delhi erupted in violent riots, guess what was used to target and arrest the protesters, predominantly of the minority community?

<comment><USER4> At this point in technology, IDs and their information are a much smaller threat than the vast information trove collected on line and from cellular devices.

It's like complaining about plastic straws but ignore the issue of nets from fishing operations. One has a better attack surface for activists but in reality the problem lay elsewhere.

<comment><USER6> The difference is in the number of obstacles involved. The local police force would have to go through some hoops to track your devices and online activity. On the other hand, a national database would give them every information about you at the clock of a mouse - no expertise required.

Of course, the former will be an issue regardless, especially when it involves state level or national level police forces pursuing some overarching motive. But the latter can be used by the local yokels masquerading in uniform. Imagine if a policeman had some beef with you on a personal level and was able to access all your information, including your name, Date of Birth, Addresses present and past, and your family information. Because that latter bit of information was what was used to pursue most of the activists and protesters in the Indian example.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I dislike Facebook as much as the next person. I think most self-regulation is somewhat of a joke, especially in the private sector, but I also think the blame belongs with the money people who buy the manipulation. Sure Facebook has rotten ethics, but the real danger to our democracy is the fact that you can buy a medium platform and just manipulate all day long.

Our only real option to fight it, if we refuse to go after the people who pay for the manipulation, is to make sure we educate our children better.

But really, I think we should ask ourselves if we really want that sort of power sitting with a few billionaires. Because it's not going to stop with Facebook. It'll be on any social media ever.

<comment><USER8> Can you provide an example of what you consider "manipulation?"

<comment><USER9> This seems like a question with obvious answers, which leads me to believe you're attempting to build a trap because you've already got some outcome in mind and you're ready to pounce.

But just in case you're serious, check out what a shill is. [https://en.wikipedia.org/wiki/Shill](https://en.wikipedia.org/wiki/Shill)

<comment><USER8> I know what a shill is... Are you implying that the manipulation is shilling? Can you provide an example?

I use Facebook. I don't think I've ever seen anything I would qualify as manipulation in sponsored posts, as my sponsored posts are almost always product advertisements. So it's not obvious to me what is meant by "manipulation" in the post I was responding to. I think asking for an example is quite reasonable.

<comment><USER10> Not everyone on FB sees manipulated media. I almost never did before I deleted my account.

It depends on your social network, groups, likes, and shares. Manipulators are always going to try to target people who want to believe their lies.

<comment><USER8> Which is why I asked for an example... I frequently read claims of voter manipulation and armies of paid shills and such, but I've never seen a single example of what exactly they're talking about.

</comment></comment></comment></comment></comment></comment><comment><USER11> In this world every problem has the same solution: Facebook decides what is right and what is wrong.

<comment><USER12> ...because governments aren't doing their job and legislating.

Why is something of such importance being left up to private companies to regulate?

<comment><USER13> We don't trust government to govern as much as we trust the free market.

<comment><USER12> Doesn't sound like that's facebook's problem to fix, and nor should they be blamed for the consequences of it.

There are significant challenges being presented by the new tools that humanity has built for communication over the last 20 years. I'm not sure that it's the fault of the people who are building those tools that our institutions are failing to get a grip on it.

There is a very simple answer to the problem of "why is facebook getting to choose what's right and wrong" and that's "we're not doing it, so they have to".

Why don't we just step up and start making some rules?

</comment></comment></comment></comment><comment><USER14> I'm thinking misinformation on social media is just something we're going to have to learn and live with. Its like advertising, my grandparents believed when some infomercial says this product will make your life better where younger generations know its junk. Pretty soon people will be equally skeptical of random things on social media soon.

<comment><USER12> I see little evidence of that from my own anecdotal experience. Are there any sources that support this progression?

<comment><USER15> The African Prince scam where they email you that they need help and will pay you vast sums of money if you do.

It has been around awhile and the number of people falling for this has dropped.

People catch-on.. not everyone but enough to make an election hack not workable.

People struggle with new ideas but adapt . COVID scams have gone up and then down.

</comment></comment></comment><comment><USER16> Would you say something like that if you didn't think someone will cheat?

</comment><comment><USER17> So that's what they're calling it?

</comment><comment><USER18> "Election chaos" must be how dictators, globalists and statists feel about it.

Poor NYT, it wasn't going to be chaotic when Trump's odds were 34%...

</comment><comment><USER19> Well this is going to be a mess. Ads will be replaced by astroturf. Misinformation will spread by other networks (Q, talk radio, etc) and produce "news articles" which will be circulated with all kinds of extraordinary claims about Joe Biden and pizza parlours, or whatever.

There is likely to be election chaos in the streets as well, as a gradual accumulation of previous unresolved crises all take effect at once.

</comment><comment><USER20> I believe the folksy saying here would be "lipstick on a pig."

From the article:

 _"Facebook said it would begin barring politicians from placing new ads on Facebook and Instagram, the photo-sharing service it owns, starting on Oct. 27. Existing political ads will not be affected."_

Well then, amend that folksy saying to "lipstick on a pig, but we didn't even finish painting his lips." What possible difference could a week of different ad content make?

 _"Misinformation across private communication channels is a much more difficult problem to tackle than on public social networks because it is hidden. Limiting message forwarding could slow that spread."_

Again, little bit of lipstick on a gargantuan pig. I think the bulk of the really whacky stuff on Facebook is in semi-private groups; even my local neighborhood group is full of nonsense. (People are just obsessed with 5G causing cancer.)

Now, do I have a solution for this? Nope. I have no earthly idea how you police disinformation at scale. Heck, even if Facebook developed some sort of near-god-level AI that could track all this down, the craziness would just move to other platforms. (See: QAnon on TikTok.) I just find it a bit offensive they're even pretending they can do something.

</comment><comment><USER21> Zuckerberg promises? Again? Are these still newsworthy?

</comment><comment><USER22> Imagine trusting individuals to make their own decisions about the information they consume. Imagine being comfortable with others coming to different conclusions, without crying foul play.

When did society become so insecure that 'alternative facts' and differing perceptions justify hysteria? Was it when legacy media acknowledged that they had been disrupted by Internet publishers? What role do walled gardens play in this paradigm?</comment>


YcWordCount – Automatic word counting for your YC Fellowship application - <AUTHOR> http://ycwordcount.herokuapp.com

<comment><USER2> This is a neat project, but if you need the full 120 words you're probably not writing as concisely as you should.</comment>


Ask HN: Scaling a company from founders to a small team? - <AUTHOR> Does anyone know how to, or has anyone around here taken a team from the founders to becoming a small team? (without investment money)<p>I read a lot about scaling a business from a small team onward ... but not a lot on getting over the hump to build a stable small team (4-18 people). <comment><USER2> That's a small business.

Start out as small as possible with as little risk as possible, put more hours into it over time, increase capital as needed, hire people when you run out of waking hours in the day...

Hence the famous startups in a founder's garage.

<comment><AUTHOR> Agree completely... I'm thinking more how does one get passed employees leaving, revenue/ project swings, market changes, etc in orderly way.

What are the tricks to getting passed being a small business without buying your way out...

<comment><USER3> Hiring contractors to start, and, if the work-need is constant, hire

</comment></comment></comment><comment><USER4> To clarify, you have the money, right?

<comment><AUTHOR> This is 100% not about me... it's about trying to understand the phase in a startup/ company's lifecycle from an academic perspective... I'm trying to learn.

To directly answer your question I wouldn't start a company and have it be undercapitalized. It's just not my scene.</comment></comment>


Rumblr is like a dating app, but for fistfights - <AUTHOR> http://venturebeat.com/2015/11/06/rumblr-is-like-a-dating-app-but-for-fistfights/ <comment><USER2> Duelling

71\. Every one who (a) challenges or attempts by any means to provoke another person to fight a duel, (b) attempts to provoke a person to challenge another person to fight a duel, or (c) accepts a challenge to fight a duel, is guilty of an indictable offence and liable to imprisonment for a term not exceeding two years. R.S., c. C-34, s. 72.

Criminal Code of Canada.

[http://laws-lois.justice.gc.ca/eng/acts/c-46/page-24.html#h-...](http://laws- lois.justice.gc.ca/eng/acts/c-46/page-24.html#h-19)

<comment><USER3> What's the legal definition of 'duel'? Is it any kind of fisticuffs? Pistols at dawn? How do martial arts schools operate, then? Is 'half-strength' sparring allowed? Full-strength?

<comment><USER4> The common definition of a duel is: FIGHT TO THE DEATH. Typically with weapons, not limited to pistols, and pre-dating pistols, swords were used.

And the above cited law states that it's illegal to CHALLENGE someone to a duel OR ACCEPT SUCH CHALLENGES. Probably because it's interchangable with threatening to murder someone. Note that the provided law doesn't mention the actual fighting OF a duel.

</comment></comment></comment><comment><USER5> Washington State law allows for mutual combat. Police will even referee. [https://www.youtube.com/watch?v=3bRp2-ihx10](https://www.youtube.com/watch?v=3bRp2-ihx10)

<comment><USER6> You blew my mind. Not in a good way, but still.

Who's responsible for any damages? What happens if one of the combatants dies? Or falls awkwardly and won't ever be able to walk in a normal fashion? Can you hand in a notice at your place of employment, saying "So, I had to fist-fight a random dude and broke my hand, can't come in for 2 weeks minimum"?

Sorry. That is insane.

</comment></comment><comment><USER7> I thought we were not supposed to talk about fight club.

</comment><comment><USER8> People frequently die from fist fights which lead to second degree murder charges and anywhere from a few years to 20 years to life in jail depending on the state, the judge and past criminal records.

<comment><USER9> frequently?

<comment><USER10> Often enough that I wouldn't take a chance with my health by trying this app.

I've also practiced martial arts for over 20 years. I know that while I can hold my own in a self-defense scenario, arranged fights are another story entirely. Even untrained people get in lucky shots, you make mistakes, you have a bad day... and there is no guarantee that your opponent will not have their own 20 years of training.

Or your opponent could be a psychotic jerk, and will just gouge your eyes out.

Fights with strangers is just a bad idea.

<comment><USER8> Honest question, would you rather fight a much larger person than you and could break your jaw with a single punch or someone who had 20 years of martial arts training?

<comment><USER10> Someone with 20 years of martial arts training. No question. Because the odds are that they also will know how to win a fight without permanently hurting you. You may end the day beaten and bruised, but probably not broken.

</comment></comment></comment></comment></comment><comment><USER11> This idea was proposed in a popular reddit/4chan post a year and a half ago: [https://www.reddit.com/r/4chan/comments/2ccixc/anon_has_a_st...](https://www.reddit.com/r/4chan/comments/2ccixc/anon_has_a_startup_idea/)

<comment><USER12> Yes, that's what immediately came to mind.

To be clear, it was originally posted on 4chan (in their tech board, [http://boards.4chan.org/g/](http://boards.4chan.org/g/)), then a screenshot of it was later posted on reddit. Calling it a "reddit/4chan" post confuses things.

</comment></comment><comment><USER13> Is this a social commentary joke? It must be.

<comment><USER14> I really hope so. If it is, the creator needs to drop better hints because clearly the absurdity of the concept in and of itself is going to be lost on most people, as the VentureBeat post demonstrates.

The registrant email associated with the getrumblr.com domain is email@example.com. jackk.im is the website of Jack Kim, who lists himself as the co-founder of OneTune.fm, a current Stanford student and former founder of Benelab, "a web- based nonprofit startup dedicated to harnessing the immense power of web search to fund incredible causes."[1]

[1] [https://www.linkedin.com/in/jack7kim](https://www.linkedin.com/in/jack7kim)

<comment><USER15> The founders already went public with the information in this interview with CBS 5 Phoenix. Matt Henderson and Jack Kim, New York City.

[http://www.kpho.com/story/30460494/app-connects-strangers- wh...](http://www.kpho.com/story/30460494/app-connects-strangers-who-want-to- fight)

<comment><USER14> This Matt Henderson[1], who is the "Chairman & Chief Executive Officer at Juhász & Associates, LLC", "a digital branding agency passionate about genuine and sincere human engagement," has been retweeting Rumblr's Twitter account. You really can't make this stuff up.

I wonder if the founders are going to eat their own dog food. By the looks of their photos, I'd guess not.

> "We're kind of all hands off after people meet," said Jack Kim, the second > half of the Rumblr duo. "Beyond that we don't condone any specific type of > violence and we do specifically state when you sign up, we're not legally > supporting any of what you're doing here."

This is perhaps the best proof yet that you can get into a school like Stanford even as an idiot.

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

<comment><USER15> Here is a video interview of them I found if you're curious - [http://www.tucsonnewsnow.com/story/30460494/app-connects- str...](http://www.tucsonnewsnow.com/story/30460494/app-connects-strangers- who-want-to-fight)

</comment></comment></comment></comment></comment><comment><USER16> Do you have to have insurance before fighting in case of a beat down or broken bones? Are the fighters checked when they arrive for a fight to make sure there isn't a knife, gun etc.? And what exactly is a casual fight?

</comment><comment><USER17> If it is real, it will surely be crushed under the weight of lawsuits.

</comment><comment><USER18> Fight Club ... has changed.

<comment><USER19> Rule #1 of fight club is, don't talk about fight club.

</comment></comment><comment><USER20> This would be a perfect satire of Tinder, I'm having a hard time believing this is serious, or legal?

</comment><comment><USER21> This is illegal in most jurisdictions around the world.

</comment><comment><USER22> This give me an idea: Grumblr. It's like Rumblr, but for gay fistfights!

</comment><comment><USER23> Brilliant.</comment>


Assange, Manning and Snowden Nominated for the 2020 Nobel Peace Prize - <AUTHOR> https://defend.wikileaks.org/2020/02/06/julian-assange-chelsea-manning-and-edward-snowden-nominated-for-the-2020-nobel-peace-prize/ <comment><USER3> And so was Rush Limbaugh back in 2007.

[https://thelede.blogs.nytimes.com/2007/02/02/nobel- nominatio...](https://thelede.blogs.nytimes.com/2007/02/02/nobel-nominations- left-and-right/)

A nomination is meaningless.

<comment><USER4> With Obama's absurd win at the very beginning of his presidency, before he could even do anything, the whole thing is pretty meaningless.

<comment><USER5> Obama is far from the most absurd example. The notorious war criminal Henry Kissinger got it years before Obama did.

<comment><USER6> _Alleged_ war criminal. He's also an incredibly successful and accomplished diplomat.

<comment><USER5> Only 'alleged' because he's politically connected and aligned with America, and will therefore never go to trial.

Or do you also object with _' allegedly'_ when people call Bush the Younger a war criminal as well? He'll never see a trial either for the same reason, but he is nevertheless a war criminal.

<comment><USER7> 'In your opinion'

<comment><USER8> This is an interesting piece from Chomsky on that matter: "Noam Chomsky - <USER2> Crimes of U.S. Presidents" \- [https://www.youtube.com/watch?v=5BXtgq0Nhsc](https://www.youtube.com/watch?v=5BXtgq0Nhsc).

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Being nominated is essentially meaningless; it means you have the support of at least _one_ person, other than themself, from this group:

\---

Members of national assemblies and national governments (cabinet members/ministers) of sovereign states as well as current heads of states

Members of The International Court of Justice in The Hague and The Permanent Court of Arbitration in The Hague

Members of l'Institut de Droit International

Members of the international board of the Women's International League for Peace and Freedom

University professors, professors emeriti and associate professors of history, social sciences, law, philosophy, theology, and religion; university rectors and university directors (or their equivalents); directors of peace research institutes and foreign policy institutes

Persons who have been awarded the Nobel Peace Prize

Members of the main board of directors or its equivalent of organizations that have been awarded the Nobel Peace Prize

Current and former members of the Norwegian Nobel Committee

Former advisers to the Norwegian Nobel Committee

\---

It's also prohibited to reveal nominations for 50 years; so if someone is trumpeting a nomination they are either lying for propaganda purposes or someone involved is breaking the rules for propaganda purposes, and the only thing it proves is that the people involved have no respect for the prize.

<comment><USER10> couldn't one of the people nominating them say they will in the future nominate someone before they are actually nominated to get around such a rule?

</comment></comment><comment><USER11> Binney should stand with them. He was one of the first whistleblowers and has felt the wrath of the state.

[https://en.wikipedia.org/wiki/William_Binney_%28U.S._intelli...](https://en.wikipedia.org/wiki/William_Binney_%28U.S._intelligence_official%29)

</comment><comment><USER12> Although I'm outsider to US politics and I kind of liked Obama, Obama winning Nobel was an absurdity.

And Malala winning Nobel was also a joke. Don't get me wrong. I don't like Pakistan's regressive religion oriented politics and I actually hate Taliban. I concur that Malala might have done something courageous, but I always felt awarding her Nobel prize was mostly a propaganda. But now I kind of hate Malala.

Obama and Malala cases made me think that Nobel peace prizes are joke.

<comment><USER13> For me it was Kissinger's Nobel Peace Prize that showed me that it's pure propaganda.

</comment></comment><comment><USER13> Just about anyone can be nominated for what it's worth. University professors are among the people able to nominate someone.

<comment><USER14> The nomination came from members of the German Bundestag representing The Left party (based on the few I checked, more parties may be represented.)

Not that you're wrong, just pointing out who this nomination comes from.

</comment></comment><comment><USER15> Can we give it to the coronavirus instead? I feel like a reminder of the human races mortality is just what world peace needed.

<comment><USER16> I feel like coronavirus has had the opposite effect. More tribalism than ever. "My country is doing better than your country", "Sweden is doing it wrong", "Chinese virus" and all that.

<comment><USER15> I did think of that before I posted. I think though long term (once we are out of this) we will now take threats to humanity much more seriously.

I can only speak for myself:

Personally I've always seen myself as an observer to humanity. I know what's right and I'd like to make it happen but there's so many people trying to get ahead there's no point. The cards are stacked against me and I was scared to fail.

Covid for all its badness has made me realise I can't just observe. Whilst there are people who don't want what's best in power we are in this precarious position where humanity could fail. My hope however optimistic it is, is that people who are good will also realise they have to act and they can't just watch.

As the old saying goes all it takes for evil to prevail is for good men to do nothing.

That saying has always meant a lot to me and I've always stood by the fact I would stand up and be counted when I was needed; this coronavirus made me realise I was needed right now.

<comment> kube-system I doubt that this pandemic will make the world take threats to humanity any more seriously than any of the other pandemics we've had. I can't think of any reason why this one would be different.

If anything, we all lucked out with how mild it was, and people are going to be _less_ cautious when a much deadlier virus makes the rounds next time.

<comment><USER15> The way I see it this kind of global threat has been unprecedented since ww2 and I am also of the belief ww2 did a lot for world peace. We are indeed lucky it's not been more serious.

I am not pertaining to know the future and I do admit there is a very high chance I'm being overly optimistic - basically I accept your appraisal of the situation is sadly more probable.

</comment></comment></comment></comment></comment><comment><USER17> What did they do in order to promote peace?

<comment><AUTHOR> Read Snowden's book [https://en.wikipedia.org/wiki/Permanent_Record_(autobiograph...](https://en.wikipedia.org/wiki/Permanent_Record_\(autobiography\))

</comment></comment><comment><USER18> I wouldn't expect Assange going voluntarily to Swedden. I can be wrong, of course

<comment><USER19> The same time that the US made official that they were charging Assange, Sweden dropped their accusations.

Assange can go to Sweden and except for a swift plane to the US there is nothing he need to fear.

</comment></comment><comment><USER20> I do hope some day, Project Gutenberg is nominated, may be Wikipedia too.

</comment><comment><USER21> To paraphrase Steve Martin from LA story: "the peace prize nominees might not be the truth of life, they are what we wish were true".

</comment><comment><USER22> The 17 people who sent this letter in Jan 2020 to the Nobel Committee of Oslo are all from the German Bundestag. I am not sure how these nominations work but I would hope to be positively surprised when more governments show support with their nominations to indirectly support transparency in governments.

<comment><USER23> They are members of parliament (legislative), but not of the government (executive). Their party is the merged & renamed descendant of the SED, East Germany's One-Party-State ruling party. For a variety of reasons, they look to be cast as opposition for the foreseeable future on the federal level, but are part of state governments in Germany's eastern states.

<comment><USER24> I see confusion crop up here around the term government every now and then. In America, we have our 3 branches (executive, legislative, and judicial) and we call the collection of all 3 the "government" whereas in general I think Europe uses the word "state" for that.

<comment><USER23> Yeah, for general use, EU "government" is best translated as US "administration", I believe.

A lot of people don't include the judiciary when they say "the state", I believe as the courts are independent and serve as a controlling instance that should (in theory) reign in the state when it oversteps.

</comment></comment></comment></comment><comment><USER25> Uhhh... last time I checked, Assange colluded with Russia to give us Trump. Whoever nominated him, probably himself, is a deranged motherfucker. They actually think his actions resulted in peace?!?

We are wildly less safe worldwide in every possible way. Climate change was neglected. All environmental standards became toilet paper. Iran now has nukes. North Korea has nukes. Russia is seizing neighboring countries with the blessing of Trump. China has gone rogue. And the US is locking up children in cages. Which part of that sounds like resounding peace?

If Assange were American, I'd nominate him for treason.

</comment><comment><USER26> Seems a bit funny for German politicians to be nominating US whistleblowers (and Assange). Shall we get some US Congressman to nominate those bloggers who investigated Wirecard?

<comment><USER27> Germany is still very troubled from the Stasi times, I can see how this issue would receive a special place in the hearts and minds of the German people. Also, the US surveillance state is so overwhelming and oppressive, literally intended to collect all signal intel and store it for eternity for future decryption attempts, that they probably feel it is especially onerous and in violation of human rights. My 2 cents, but that's why I think they did this.

<comment><USER28> >Germany is still very troubled from the Stasi times, I can see how this issue would receive a special place in the hearts and minds of the German people.

Ironic that the Bundestag MPs who nominated them are from Die Linke, a successor to East Germany's ruling party that _ran_ the Stasi.

</comment></comment></comment><comment><USER29> Assange? Isn't he in limbo over a rape charge? Not sure what his accusers would think about that in terms of "peace"....

<comment><USER30> Weird how when you expose government corruption, rape charges just happen to show up.

<comment><USER31> And when they get dropped, everybody act as if the charges were real.

<comment><USER26> We'll never know if the charges could be proven because Assange fled to an embassy for many years, denying us all the right to see what would happen at trial.

<comment><USER31> One of the accusers dropped her charges. She says she was pushed by the Swedish authorities to make a case. The other withdraws he consent after the facts as she says Assange didn't tell her that he was seeing other girls.

<comment><USER32> Scandalizing someone's vices to discredit their message is millenniums old. It's kinda disturbing that people weren't immediately on to it as a smear job.</comment></comment></comment></comment></comment></comment>


CloudMine now allows you handle any 3rd party HTTP callback with their platform - <AUTHOR> http://blog.cloudmine.me/post/18515705556/http-callbacks

<comment><USER2> This is really a fantastic idea... partners should be lining up. More and more services have http hook support, but I'm sure people don't want to (or don't know how to) run a server just to turn, say, a json callback into an e-mail that goes to their sales department. Similarly, all of these companies building callbacks don't want to provide a custom scripting environment / rule editor for customers to write this code. Seems like a great bit of glue.

</comment><comment><USER3> The documentation assumes I know why I would need to do this. This sounds kinda cool but as someone who wasn't already fully aware of CloudMine won't understand this press release.

If the goal is to announce platform expansions to draw in new people you'll need to paint the problem-space a little clearer. Tell a story.

<comment><USER4> Ditto... From the demo, it looks like it's simply remote logging the data to cloudmine. I'm sure it's doing something cooler than this, but I don't quite see it.

<comment><AUTHOR> Hi, CloudMine founder here.

The idea is that you can now have 3rd party services interact with your CloudMine powered app from the server side. From there, you can update data/state, send push notifications, or do whatever makes sense for your app.

That particular example is for a contest we are running with Nexmo [http://blog.nexmo.com/post/18010293444/contest-cloudmine- nex...](http://blog.nexmo.com/post/18010293444/contest-cloudmine-nexmo-just- make-it-easy).

</comment></comment></comment><comment><USER5> Great team behind a great product.

</comment><comment><USER6> nice work dudes. keep up the good work.</comment>


Falsehoods programmers believe about build systems (2012) - <AUTHOR> https://pozorvlak.dreamwidth.org/174323.html <comment><USER3> Since 2012 we have, as a field, learned better.

You see, we all realized that just building code wasn't enough! What your 100 line JavaScript microservice really needs to be accompanied by is a build file that determines how to create an entire Linux VM. Also, because scale, your project also needs to know how to scale that VM out across multiple clusters!

The only answer of course is more build systems!

Oh but JavaScript sucks, so make that Typescript, so shove a transpiler in front of your scripting language. Because somehow we've gone down the path of needing build systems for interpreted languages.

I use all the above tech and get why it is there, but... seriously as a field this is the best we can do? :/

(I legit like Babel and TS, but you have to admit it is /weird/ that we're going through the complexity of having a build system but are reaping none of the performance benefits!)

<comment><USER4> From my perspective, the main reason for most browser JS projects having a build system is to essentially concatenate modules and to transpile newer JS features so they work on older browsers. That's really just not as crazy as you make it sound. I don't know about the Linux VM stuff being part of a browser JS project, maybe I'm misunderstanding that part but it does sound crazy.

<comment><USER5> > I don't know about the Linux VM stuff being part of a browser JS project, > maybe I'm misunderstanding that part but it does sound crazy.

A bunch of stuff I see comes with a dockerfile these days.

While I get building in docker for reproducibility, kind of -- shipping with one is a pretty big red flag. It means that it's likely to be very painful to port the code out of docker and integrate it into some other build. Which means that it'll be painful to integrate it with other code. Leave the build environment set up to the users. Embrace build diversity, it makes your code less fragile.

<comment> core-questions > It means that it's likely to be very painful to port the code out of docker > and integrate it into some other build.

No it wouldn't. Dockerfiles are stupid simple. A bunch of ADD/COPY commands to add files, and a bunch of RUN commands that are basically wrapping shell scripts.

Plus, find me a modern build system (CI/CD system, rather) that doesn't natively support Docker. It's become a lingua franca at this point.

I just wish it was faster on its own without me having to do all the legwork of maintaining lower layer containers etc. to avoid lengthy package install times.

<comment><USER3> I had a problem yesterday where I had so many docket images laying around from builds that starting a new container pegged my CPU at 100% and slowed everything in a docker container to a crawl.

A colleague predicted the problem and I learned about one more bit of random fragility that exists in today's ecosystem.

<comment><USER6> > I had a problem yesterday where I had so many docket images laying around > from builds

$ Docker system prune

It makes as much sense to complain about Docker because you let images accumulate in your system as it would make to criticize file systems because you never emptied your system's trash bin.

<comment><USER3> My file system doesn't peg my CPU when it gets 10% full.

Why the hell should the very existance of unused docker images cause the single image I am using to peg multiple cores?

And no warning was given. Heck if my hard drive gets close enough to full that it's gonna be a problem my OS tells me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Anyone curious about the core abstractions and capabilities of build systems should read the amazing Build Systems à la Carte paper:

[https://www.microsoft.com/en- us/research/uploads/prod/2018/0...](https://www.microsoft.com/en- us/research/uploads/prod/2018/03/build-systems.pdf)

Here is a teaser, the 1st table:

      Build system | Persistent build information | Scheduler   | Dependencies | Minimal | Cutoff | Cloud
      Make         | File modification times      | Topological | Static       | Yes     | No     | No
      Excel        | Dirty cells, calc chain      | Restarting  | Dynamic      | No      | No     | No
      Shake        | Previous dependency graph    | Suspending  | Dynamic      | Yes     | Yes    | No
      Bazel        | Cloud cache, command history | Restarting  | Dynamic(∗)   | No      | Yes    | Yes

which shows that Excel can be viewed as a dynamic build system!

</comment><comment><USER8> > "Programmers don't want a system for writing build scripts; they want a > system for writing systems that write build scripts."

It is a truth universally acknowledged that a shitty scripting language in possession of a large user base will be in search of a new scripting language that automatically generates the shitty scripting language.

But then you have two problems.

<comment><USER9> That's a good observation.

Any deficiency in a complex, widely used and difficult to change development tool will be fixed by adding an extra layer over it.

If the deficiency is something like complexity or lack of reliability that can not be fixed by adding extra layers, read this comment again.

<comment><USER10> Great example is Fastlane abstracting over the impenetrable iOS command line tools.

</comment></comment></comment><comment><USER11> > Build graphs are acyclic.

While yes, this is a falsehood... in practice, you generally want to figure out a way to break cycles and remove them from the build system. In general, make the user responsible for breaking cycles in the build system.

The only major use case for cycles that I can think of is self-hosting compilers.

I would add some additional falsehoods:

\- It is always the right thing to rebuild files when the inputs have changed.

\- The host and target systems are the same (you are never cross-compiling).

\- The host and target systems are different (you are always cross-compiling).

\- You can reliably figure out the version number of whatever you are building.

\- The build steps always produce the correct outputs if they do not fail.

\- You always want to build third-party dependencies from source.

\- You never want to build third-party dependencies from source.

\- The input files do not change while the build is running.

\- All of the inputs are files (and not, say, the current timestamp).

\- The entire build should use the same build settings (optimization / debug), you don't want to do a partial-debug, partial-optimized build.

\- You don't want to rebuild when e.g. files in /usr/include change.

\- You always want to rebuild when e.g. files in /usr/include change.

\- Installing additional software will not break the build.

\- Running the same build twice will result in the same output.

\- Build products do not contain absolute paths.

\- You can move an executable from one path to another and it will still work.

\- You can delete object files and everything will still work.

<comment><AUTHOR> > > Build graphs are acyclic.

Normal C code, not that I can think of. But it is not difficult to give a real-world example:

A LaTeX document with a table of contents and an index has a cyclic dependency: The final document, including its pagination, depends on the table of contents, and the table of contents depends on the final document.

<comment><USER12> > A LaTeX document with a table of contents and an index has a cyclic > dependency

One of the uglier problems of LaTeX, which people of the likes of Leslie Lamport and Donald Knuth should have been able to solve, one might think.

<comment><USER13> I think this is an impossible problem to fix -- inserting page numbers into a document can change formatting enough to cause things to move to a different page.

There are LaTeX documents which never reach a fixed point (I've made one by accident exactly once), and need slight adjustment.

<comment><USER12> Then "iteratively computing a fixed point by simply rerunning the formatter from scratch" is not a solution to the problem.

Actually I think you can do it iteratively by never decreasing the space occupied by an element between iterations. Of course this might yield ugly results but at least it halts with a solution.

</comment></comment></comment></comment></comment><comment><USER14> IMHO the greatest falsehood I believed about build systems was:

\- If build system X is used, people will read its documentation and write build rules according to the documentation.

No, people will just copy what's already there. And if it pulls in 35 external dependencies, compile 500 unnecessary files, and fails 25% of the time because of race conditions between external dependencies, people will add "Note: if build fails, run again."

Sigh.

<comment><USER15> And then there's `make`. I've seen a philosophically correct Makefile maybe 3 times in my life. Most of the time I see people making every target .PHONY and using patterns to save keystrokes rather than match multiple files.

You'd tend to think people learn over time but no. It's gotten worse. Right when you thought the industry was on the cusp of a build revolution the go community decides to push an old tool that most people can't utilize even 3% of when paired with `go build`. I kinda blame the go ecosystem for pushing Makefile adoption when they already have a caching build tool just so the maintainers didn't have to give the compiler a polished UI. Simplicity at the cost of functionality even if it's simply broken amirite?

Sigh.

<comment><USER16> I've never seen Go projects use Make? When did this change happen?

<comment><USER15> The golang project itself is a perfect example: [https://github.com/golang/go/blob/master/src/Make.dist](https://github.com/golang/go/blob/master/src/Make.dist)

</comment></comment></comment></comment><comment><USER17> In 2020 we can add additional falsehoods based on my experience in Amazon:

\- It's OK to embed/vendor dependencies

\- It's OK to hardcode VCS URLs for your dependencies

\- you can pull random stuff from the Internet at compile time and large companies will accept it

\- It's OK to release libraries without version numbering or using git commitish

\- Everybody uses containers

\- Nobody cares about reproducible builds

\- Nobody cares about security, license compliance and being able to rebuild things reliably

\- All FAANGS will use your project even if it cannot packaged into OS packages

<comment><USER18> This happens everywhere... some platforms became so complicated to do initial setup with that Docker became a necessity instead of an install script.

It now takes me weeks to setup a fresh machine to do local dev on. I guess I should make a docker image of my dev box.

        cd devbox
        docker-compose up

...would be nice, now that I think about it.

<comment><USER17> I suspect you missed the point about _falsehoods_.

</comment></comment></comment><comment><USER19> If the build system isn't first a DSL for specifying a DAG, then it fails at being at least as good as Make. Maybe "build graphs are acyclic" is a falsehood, but I would never want to use a build system that isn't fundamentally constructing a DAG. There are plenty of imperative build systems (or build systems that people us imperatively) and they're all horrible.

</comment><comment><USER20> This "falsehoods programmers believe" is fundamentally different from the more classic ones (e.g. "about names") because its topic is also wholly controlled by programmers. That means in the end it doesn't share much with those documents, but can instead also be characterized as "just" a list of bugs in other programs.

If a program doesn't handle my name, that's a problem with the program. My name is my name; the program doesn't decide that. Depending on the context some government might; the program also generally isn't supposed to decide for the government. Often in practice the program _controls_ both of us; this is the core complaint of "falsehoods" articles, that a program artifact is overstepping its ethical/legal/otherwise extra-computational authority.

But there's no moral demand that e.g. a program exit with 0 status even when it's failed, or that build trees should be cyclic. These are tools _by programmers and for programmers concerning programs_ and when we run into issues it's usually because we chose a poor modeling tool (e.g. a build system should not be ideal to calculate the fixed point of a data processing pipeline, independent of any cycles) or because of a flat-out mistake (there's no reason a compiler can't be given some output directive other than inventor oversight).

Other "falsehoods" are criticism of the software encoding the falsehood, but I read probably 90% of the complaints here as equal or greater failings on the tools invoked. Not only for the sake of my build system do I want DAG pipelines, updated timestamps, or meaningful exit codes - if anything these are the demands I wish to place on other software for the sake of my brain! More like "falsehoods compilers believe about their primacy in program generation."

Or as one of the comments suggests,

> build systems are a symptom of software languages that are not designed to > build software systems

</comment><comment><USER21> > It is accepted by all decent people that Make sucks and needs to die

falsehood #1

<comment><USER22> Amen.

The worst are crackpot systems like ant. Whoever thought a half-baked DSL with a XML concrete syntax was a good idea?

<comment><USER23> > ant.

> Whoever thought a half-baked DSL with a XML concrete syntax was a good idea?

You kinda answered your own question there no?

</comment></comment></comment><comment><USER24> > stat is slow on modern filesystems.

Is this not true?!? While working on my build times I benchmarked that something like a quarter of my time in clang was due to my having large numbers of sparse -I folders as the stat calls were so expensive (this was a 12" MacBook running macOS 10.14 on, I assume, APFS).

</comment><comment> rainbow-road Most of the listed assumptions are bad, but some of them, to me, seem essential. In particular, dealing with cyclic build graphs sounds like an absolute _nightmare_ , and I doubt that any build system that allows for such a thing can be easy-to-use.

</comment><comment><USER25> I tend to use whichever build system is mainstream in the environment I'm in.

However, if I'm dealing with something special, or if the build system is unstable, I always fall back to Make. Such a beautiful tool!

Tup is also worth to mention: [http://gittup.org/tup/](http://gittup.org/tup/)

</comment><comment><USER26> If curious see also

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

</comment><comment><USER27> this is from 2012 and some of the points haven't aged well (see blaze/bazel)

<comment><USER28> Which ones and why? Is blaze/bazel free of all these falsehoods. Did it manage to make new mistakes?

<comment><USER27> I'm no blaze/bazel expert (hopefully someone will add their own thoughts), but:

        1. build graphs are trees/acyclic : bazel enforces this, no cyclic dependencies allowed
        2. Compilers will always modify the timestamps on every file they are expected to output : if a write happens why not update mtime? nanosecond precision, what year is it?
        3. It's possible to tell the compiler which file to write its output to : makes no sense to me, we expect our compilers to be writing to the correct files in the correct directories.
        4. It's possible to predict in advance which files the compiler will update : yes it is, this is how caching works again see (1)
        5. It's possible to determine the dependencies of a target without building it : yes yes it's completely possible given (1)
        6. Detecting changes via file hashes is never the right thing : Bazel i think uses a combination of hashes and stamps, but why would using hashes not work 99.99999999999999998% of the time?
        7. Non-experts can reliably write portable shell script : lol, experts can't reliably write portable shell scripts either
        8. Your build tool is a great opportunity to invent a whole new language: or just coopt pieces of one (python: starlark, skylark)
        9. Said language does not need to be a full-featured programming language : yes, it doesn't (again .bzl files)
       10. Said language should be based on textual expansion : not sure what the alternative to textual expansion (parsing?) is
       11. Adding an Nth layer of textual expansion will fix the problems of the preceding N-1 layers : again how is this different from parsing

<comment><USER29> > 2\. Compilers will always modify the timestamps on every file they are > expected to output : if a write happens why not update mtime? nanosecond > precision, what year is it?

It has nanosecond precision, but on most systems it does not have nanosecond resolution.

      $ touch a1; sleep .0001; touch a2; stat a1 a2 | grep Modify:
      Modify: 2020-07-18 21:37:56.421487075 +0000
      Modify: 2020-07-18 21:37:56.421487075 +0000

      $ touch a1; sleep .0001; touch a2; stat a1 a2 | grep Modify:
      Modify: 2020-07-18 21:37:57.397502229 +0000
      Modify: 2020-07-18 21:37:57.397502229 +0000

      $ touch a1; sleep .0001; touch a2; stat a1 a2 | grep Modify:
      Modify: 2020-07-18 21:37:58.273515840 +0000
      Modify: 2020-07-18 21:37:58.277515902 +0000

      $ touch a1; sleep .0001; touch a2; stat a1 a2 | grep Modify:
      Modify: 2020-07-18 21:41:00.736348218 +0000
      Modify: 2020-07-18 21:41:00.736348218 +0000

      $ touch a1; sleep .0001; touch a2; stat a1 a2 | grep Modify:
      Modify: 2020-07-18 21:41:01.708363288 +0000
      Modify: 2020-07-18 21:41:01.708363288 +0000

      $ touch a1; sleep .0001; touch a2; stat a1 a2 | grep Modify:
      Modify: 2020-07-18 21:41:02.504375653 +0000
      Modify: 2020-07-18 21:41:02.508375715 +0000

Note that the difference is either 0 or 0.004000062. This is on a Debian 9 system running on an Amazon Lightsail instance with an ext4 filesystem.

Here's a quick and dirty script to play with this:

      C=0
      R=0
      while :
      do
        R=$((R+1))
        touch a1; sleep $1; touch a2
        T1=$(stat a1 | grep Modify | sed -e 's/.*://' | sed -e 's/ .*//')
        T2=$(stat a2 | grep Modify | sed -e 's/.*://' | sed -e 's/ .*//')
        if [ $T1 != $T2 ]; then
            dc <<HERE
      20k $T2 $T1 - <USER2>
      HERE
            C=$((C+1))
            if [ $C -eq 100 ]; then
                echo "$R runs"
                exit 0
            fi
        fi
      done

Output on the above system:

      $ bash t.sh 0.001 | sort | uniq -c
            4 .004000061
           83 .004000062
           13 .004000063
            1 222 runs

and on a VMWare Fusion VM running Debian 8 on my Mac:

      $ bash t.sh 0.001 | sort | uniq -c
           29 .003999599
           44 .003999600
           27 .003999601
            1 323 runs

<comment><USER27> ahh yea thanks for the reminder, i think bazel also hashes all inputs and outputs

</comment></comment></comment></comment></comment><comment><USER30> Build systems are tools just the same as an editor. In the same way that editors are opinionated about keymappings, build systems are opinionated about things like timestamps vs hashing.

If you're using a tool, you really should know how it works and where it will break. You should also choose the tool based on the problem you're trying to solve. If you've got a build system that rebuilds when /usr/include changes, and you're trying to do cross-compiles, choose another build system.

<comment><USER23> Timestamps vs hashes shouldn't be even a thing. Why does this even matter?

Sure ok maybe you touched a file and the timestamp wasn't updated (it should, and your tool is making things harder on you). Or if you're going by hash, same hash, same file. Period. (Unless you're doing something funny with file metadata, and then again, you're shooting yourself in the foot)

Same with some comments on the original article saying "tool doesn't return correct status codes for success/failure" well, maybe you need tools that work then

Most of the advice in the article is sound though

</comment></comment><comment><USER16> >I want to see an end to Make in my lifetime

Why? What's wrong with Make?

<comment><USER31> Make is actually pretty amazing for its simplicity, longevity, how it gets so much of the job done without doing very much. Yes there are pitfalls and caveats, good uses and bad, but the balance reached between simplicity and ability to be productive and get you most of the way is amazing.

I feel that when I hear somebody say they don't like make, usually they misunderstand this, or they think somebody's bad experiences with makefiles is somehow representative of the capability of the tool.

One person created make in a weekend in 1976. We are still talking about it. Most humans and most software will never achieve this.

<comment><USER19> Exactly this! Make is the worst build system, except for all the others.

</comment></comment></comment><comment><USER32> Source ---[Big Red Button]---> Artifacts

How did this go wrong??

<comment><USER9> I think it started with developers not wanting to write all of the source and artifact files into the makefile.

Then there were some portability issues that should have been handled by the compiler, but by that time there were already metabuilders, so nobody bothered.

</comment></comment><comment><USER33> Some of those aren't believed assumptions, but asserted ones. For instance, I would think a build system that asserts that builds are acyclic is good. People who want a cyclic build are unimportant and can go elsewhere, while I enjoy my simpler build system because of it.

Simplifying assumptions are good.

</comment><comment><USER34> YAML IS NOT AN EFFING PROGRAMMING LANGUAGE, EVEN IN 2020

<comment><USER26> _Please don 't use uppercase for emphasis. If you want to emphasize a word or phrase, put asterisks around it and it will get italicized._

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html).

<comment><USER35> yaml deserves all caps

<comment><USER26> If we take the union of all allcaps-deservers across the set of all users with such feelings, half the site will run through an upcase function.

As in any mutually assured destruction scenario, we must all restrain ourselves.

<comment><USER34> dang, I was clearly joking...

<comment><USER26> scott_s wrote the canonical comment about that in 2014:

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

[https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...](https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=7609289&sort=byDate&type=comment)

<comment><USER34> If you guys can't even take a "bad" joke, gods help you all. Feel free to ban me.</comment></comment></comment></comment></comment></comment></comment>


The Ancient World's Longest Underground Aqueduct (2009) - <AUTHOR> https://www.spiegel.de/international/world/rome-s-tremendous-tunnel-the-ancient-world-s-longest-underground-aqueduct-a-612718.html <comment><USER2> [https://en.wikipedia.org/wiki/Qanat](https://en.wikipedia.org/wiki/Qanat) date back further and are aqueducts by any other name, unless you want to nit- pick. Might be that equally as long ones existed in pre-history. Certainly when you are looking at 1000BC-3000BC as timeframe upon these.

[EDIT ADD] The longest Qanat is [https://en.mehrnews.com/news/108436/3-millenia-old-Zarach- qa...](https://en.mehrnews.com/news/108436/3-millenia-old-Zarach-qanat-to-get- World-Heritage-status) "The three thousand year old qanat is of 120 kilometers length and earlier in 2005 was enlisted in Iran's Cultural Heritage List." Which would pre-date year 90 A.D. by a fair bit.

I'd say that a Qanut is an Aqueduct by any other name.

<comment><USER3> When I was in Afghanistan I was fascinated by the long lines of circular dirt mounts that dotted the landscape[0]. I knew of qanats from reading the Dune series by Frank Herbert, but had never seen an example. It wasn't until a few years after I was in Afghanistan that I realized what the long lines of what I thought were ancient battlements were--the access shafts for the qanats that provided water to the people in that high desert. Sadly I hear that the art of constructing and maintaining the qanats is being lost, and the qanats have been destroyed (or damaged beyond repair) in some cases by the expansion of the bases of occupying forces.

0: [https://arcg.is/0m8ujr](https://arcg.is/0m8ujr)

</comment></comment><comment><USER4> Fascinating. Lots of pictures of it on this site: [http://www.romanaqueducts.info/aquasite/gadara/index.html](http://www.romanaqueducts.info/aquasite/gadara/index.html)

And also [http://qanat-firaun.de/en](http://qanat-firaun.de/en)</comment>


Historical Maps Overlaid on Google Maps - <AUTHOR> http://www.davidrumsey.com/view/google-maps

<comment><AUTHOR> The transparency is really really fun- make sure you play with the slider on the top right.</comment>


Examples of exceptional C#? - <AUTHOR>

It is often said that reading and studying well written code can improve your own ability to write good code.<p>What are some examples of exceptionally well written C# code or the names of people who's code should be read?<p>(As an aside, any links\tips\techniques people have for finding excellent code in other languages are also appreciated but I'm primarily interested in C# examples specifically at the moment.) <comment><USER2> What area of C# are you specifically interested in (Language features, coding standards, asp.net, web services, database code)? And are you tied to an older release of C# or the latest?

I would also suggest you can learn as much if not more from poorly written code as you can from exceptional code. Knowing what and why not to do something is almost more important in my opinion.

No matter wouldn't hurt to look at [http://aspnet.codeplex.com/](http://aspnet.codeplex.com/) where Microsoft has open sourced a number of things. I won't say they are all great examples, but it can't hurt to start there.

Also, check out dapper (by stackoverflow), again I am not claiming it is exceptional code but it is super powerful within a small footprint.

If you are wanting opinions on coding standards and what makes code usable, maintainable, legible etc that is slightly different than solid code that works. I say this because I have seen code that just rocks and never fails, but I would never suggest anyone follow it as a template to writing exceptional code. Make sense?

<comment><AUTHOR> I suppose I'm looking for a small-medium sized project with an elegant architecture/design including correct use of exception handlers, inheritance, class factories etc. I'm not bound by any particular version of C# or any particular area, I suppose I am coming from a coding standards point of view rather than the nitty-gritty. Elegant, re-usable, correct, maintainable and also aesthetically pleasing (readable) is what I'm looking for.</comment></comment>


Apple Shortens App Review Times in Push to Boost Service Sales - <AUTHOR> http://www.bloomberg.com/news/articles/2016-05-12/apple-shortens-app-review-times-in-push-to-boost-service-sales <comment><USER2> This makes little sense to me. If this is done to boost sales, was Apple losing money before when the review times were longer? Why would they opt to lose money? Although the shorter review times are nice I don't think the stated reason here makes much sense.</comment>


Note-writing robots pen letters in your handwriting - <AUTHOR> http://www.today.com/money/note-writing-robots-pen-letters-your-handwriting-2D80550722

<comment><AUTHOR> This would have been amazing while writing all those thank you notes after I got married. I could have linked this with my spreadsheet of gifts received and scripted the whole thing.</comment>


Owl: Parser generator for visibly pushdown languages - <AUTHOR> https://github.com/ianh/owl# <comment><AUTHOR> I've been looking at parser generators recently in an effort to begin writing my own simple interpreted language.

My end goal is a self hosted language.

My first attempt was writing a recursive descent parser by hand: [https://gist.github.com/cmcarey/eee1571721141c356d4f61b453a6...](https://gist.github.com/cmcarey/eee1571721141c356d4f61b453a600f0)

This didn't work so well (badly structured as well as finding out my grammar was ambiguous after I'd written 600 lines of parser code).

Looking into alternative ways to write a parser, I've seen the usual yacc/bison/ANTLR type tools and relevant discussions here on HN.

Owl looks fantastic and probably exactly what I'm looking for. Fantastic interactive page where you enter the grammar and code and it shows a visual representation of the parse tree: [https://ianh.github.io/owl/try/#example](https://ianh.github.io/owl/try/#example)

<comment><USER2> The problem with yacc/bison-style LALR parser generators is that you end up with an LALR parser. Which works great on syntactically correct code, but trying to get a reasonable error message out of one is about as much fun as repeatedly poking yourself in the eye with a sharp stick. Also, by the time you add the empty productions that you want to help with code generation, the grammar gets delicate and brittle.

OTOH, the parser generators will do a good job of making sure your basic grammar hangs together. Here is what I have been doing lately:

1) Use ply (Python LALR parser generator by Dave Beazly) to create an accepter (just parse, no code gen). That will help you chase out all the grammar inconsistencies.

2) For production, write a hand-generated recursive descent parser, and use "precedence climbing" for expressions. This gives you a nice table-driven way to handle expressions with a couple of mutually recursive functions, thus eliminating the main PITA of recursive descent: those darn arithmetic expressions.

<comment><USER3> Could you explain in more detail what you mean about LALR error messages? I haven't used the parser generators you mention but I've implemented LALR parsing before, the error reporting situation doesn't seem drastically different from recursive descent to me. You can report the location where the parse failed, what was recognized before that point, what tokens would have been allowed to follow.

Is the problem that these specific tools (yacc/bison) don't report errors well? Or is the issue you're talking about that LR grammars will fail later on than LL grammars in general? Or the greater ambiguity (e.g. more possible lookaheads due to the greater parsing power)?

<comment><USER4> I'll also add you can use two parsers: one that's super fast on code that's correctly written; if that fails, one that makes error messages easy to handle. sklogic said he used that strategy in his tools for program analysis. The extra code is negligible. I don't know how much extra time or maintenance burden but I figured marginal versus cost of handling errors in first place.

<comment><USER5> My FastParse ([https://www.lihaoyi.com/fastparse/](https://www.lihaoyi.com/fastparse/)) parser combinator library does this; by default it runs without error logging, just giving you an error position, but if something fails you can ask it to re-do the parse keeping track of additional metadata to give you a nice error message with what tokens could have succeeded and a stack trace telling you why wants those tokens.

Tracing errors slows things down about 2x, which is why it isnt on by default, on the assumption that most parses are successful

</comment></comment></comment></comment></comment><comment><USER6> Is there an example of such a language?

<comment><USER7> It appears that the most important restriction is on recursion:

> This is what guarantees the language is visibly pushdown: all recursion is > explicitly delineated by special symbols.

> Plain recursion isn't allowed. Only two restricted kinds of recursion are > available: guarded recursion and expression recursion.

So the Owl grammar itself qualifies:

[https://github.com/ianh/owl/blob/master/grammar.owl](https://github.com/ianh/owl/blob/master/grammar.owl)

JSON certainly qualifies:

[https://github.com/ianh/owl/blob/master/test/json.owl](https://github.com/ianh/owl/blob/master/test/json.owl)

I think the full JavaScript language would have qualified in the past, when anonymous functions could only be the explicitly delimited "function() {}"... but now with ES6 we have fat arrow functions (for example "(x,y) => x+y") so I think modern JavaScript can no longer be parsed with Owl. That's because you can write something like "f = x => y => z => x+y+z" which has no guard nor can it be parsed with expression recursion.

I do not think you can do a C-like language because of function types. But you can do a simpler, C-like language, for which they have an good example in the test directory:

[https://github.com/ianh/owl/blob/master/test/something.owl](https://github.com/ianh/owl/blob/master/test/something.owl)

</comment></comment><comment><USER8> Unfortunate naming. This is not to be confused with OWL or OWL2:

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

<comment><USER9> Yes, I'm trying to find resources on this lib, which I guess aren't many since it's new and because all results on first page for my query are about the Ontology language, which is frustrating so I agree that the naming was a bit unfortunate.</comment></comment>


Open BroodWar – free and open-source - <AUTHOR> http://www.openbw.com/ <comment><USER2> I'm probably doing something wrong but I can't find the open source code from it's awesome replay watcher.

</comment><comment><USER3> >open source

Where is the source?</comment>


Ask HN: Any process modelling tools using the HTML5 canvas? - <AUTHOR>

Im looking at a side-project playing around with html5 canvas and modelling processes or architectures?
If theres nothing out there there seems to gap in the market between tools like enterprise architect (repository-based models which are very standards based (UML, BPMN etc) and inflexible and basic process drawing libraries like mxGraph .
I see an opportunity here that sits between the little-to-no documentation except user stories and code movement and the horribly inflexible and maintainable 'enterprise' models out there - but happy to hear dissenting opinions on why thats a terrible idea! <comment><USER2> One of my colleagues is working on this:

[https://github.com/cse-bristol/process-model](https://github.com/cse- bristol/process-model)

It's not canvas, but it is a process modelling tool.

<comment><AUTHOR> interesting project - thanks for pointing it out. I havent much experience with Node but ill have a oplay around with it tonight.

Those ideas are definitely part of what I want to incorporate into 'something' and build on it.

Would be interested in hearing what his use case is for building this, if you can?

<comment><USER2> I don't know what a use case is, but the purpose of the device is to help people use process modelling in the service of creating a strategy around complicated things, in particular urban energy planning.

You should be able to run it without node, but node is used for wrangling javascript dependencies (building it, effectively).

<comment><AUTHOR> use case = purpose in this sense, so that answers the question., thanks!

ill have a look into it and see the techniques hes using here but it seems like a similair (although applied) problem domain to what im looking at.

Im looking at explaining / communicating complex problems, particularly developing software in enterprises with an already complex and not-well- understood environment.

</comment></comment></comment></comment><comment><USER3> You might get value from [http://yuml.me](http://yuml.me), which is an online UML diagramming tool.

<comment><AUTHOR> interesting - thanks for that. looks like your the author? Any reason why you went for notation-based rather than a drawing cavnas?

I'm thinking of putting together something very flexible and user friendly which can certainly do UML but not strict and the focus would be free notation with best practice to guide.</comment></comment>


Turning a Basement into a Big Linux Server Room - <AUTHOR> http://www.phoronix.com/scan.php?page=article&item=basement-server-room

<comment><USER2> Nice, don't want to know their electric bill tho so much hardware @ residential rates, ouchies.

</comment><comment><USER3> I feel terrible for saying this but... I actually liked the wood on the walls.

</comment><comment><USER4> Cable management please!</comment>


The Story of the US Federal Reserve on 9-11 - <AUTHOR> http://m.dailykos.com/story/2014/09/10/1328813/-The-Astonishing-Story-of-the-Federal-Reserve-on-9-11#

<comment><USER2> " _...they could not get armored truck carriers to come into downtown Chicago due to fears, fanned by the media, associated with the Sears Tower. With banks beginning to run low and one bank needing as much as $1.2M right away, Chicago Fed employees found "alternate methods" of getting the currency delivered within two hours. "_

Oh c'mon! There has to be a great story behind those words "alternate methods". Were Fed employees carrying boxes of cash in the trunks of their cars to the banks?</comment>


Over 3,000 Irish monuments now have a 3 word address - <AUTHOR> http://what3words.com/2016/07/irish-tourism-guides/ <comment><USER2> Oh gawd. Not again!

[https://stiobhart.net/2016-01-15-stupidest-idea- ever/](https://stiobhart.net/2016-01-15-stupidest-idea-ever/)</comment>


Pay Passport with $BTC in Venezuela - <AUTHOR> https://cointelegraph.com/news/venezuelans-abroad-will-be-able-to-pay-for-their-passport-using-bitcoin#:~:text=Venezuela%27s%20government%20reportedly%20accepts%20Bitcoin,method%20for%20some%20passport%20applications.&text=Venezuela%27s%20Administrative%20Service%20for%20Identification,citizens%20seeking%20a%20Venezuelan%20passport. <comment><AUTHOR> Venezuela's government reportedly accepts Bitcoin as a payment method for some passport applications.</comment>


Webmention - <AUTHOR> https://www.w3.org/TR/2016/WD-webmention-20160112 <comment><USER3> I was very annoyed the last time I looked at this.

Webmentions are like trackbacks, but trackbacks that do not contain the information needed to show them, instead relying on the receiving party to fetch that information from a microformat (that part seems to be missing from the spec).

What annoyed me so much that I opted to not implement it in any of those blog engines I'm involved in is that it is a useless re-invention of trackbacks. There is no point in webmentions, not one feature that could not be done with trackbacks as well. They have a wikipage arguing against trackbacks on [https://indiewebcamp.com/Trackback](https://indiewebcamp.com/Trackback), and all points on that page are wrong when looking at how blog engines actually implement trackbacks. Just take the first, fragile discovery: The critic is that the RDF comment needed for Trackbacks is is complex and get stripped. But frankly, it is not complex to grep for it and if you can't control your own page HTML to preserve comments, you have different problems (and one that could hit your microformat equally). More important: Trackbacks actually can be found via a rel-tag in the site head exactly like pingbacks (and I guess webmentions), rel=trackback.

And of course blog engines verify that the origin really has a link to the receiving page, the spam problem is solved there exactly like with webmentions.

What should be done is to take trackbacks and formalize the current solutions and extensions into a formal protocol. There is no need to willfully cut out the existing independent web, as in blogs, for a hipster indieweb movement.

I guess I'm still annoyed.

<comment><USER4> Do you use Trackbacks? Do you know anyone, who still uses Trackbacks? When what the last time you received a non-spam trackback?

Because webmentions are alive. Sometimes you need to re-visit and re-pack things to bring them back again.

<comment><USER3> I use trackbacks, since my chosen blog engine (serendipity) supports them. I know a number of other bloggers and they all use trackbacks. My last non-spam trackback came in on Nov 9 2015, 08:02, ignoring the ones I sent to myself (I was not very active in the meantime).

Trackbacks are alive as well. But yes, they should be revisited and repackaged, I agree that they could need a popularity boost. But that is possible without breaking compatibility for no reason.

<comment><USER4> Yes, Trackbacks or Pingbacks could have been extended to include a similar pull-parse behaviour as webmentions are doing right now.

In fact I was reminded that originally webmentions were on top of pingbacks: [http://tantek.com/2013/113/b1/first-federated-indieweb- comme...](http://tantek.com/2013/113/b1/first-federated-indieweb-comment- thread)

As far as I understand that change is mostly for simplification, which always a good thing.

<comment><USER3> Being on top of pingbacks makes no sense, xml-rpc is dead and a bad idea in a first place, also a lot harder to implement than just reacting to a ping + pretty much incompatible with the pull concept. If they started there, they probably did not know trackbacks existed.

Webmentions are no simpler than trackbacks, and to have them diverge for no reason makes everything more complicated for the engine. It is no straight- forward simplification at all, thus no good thing.

</comment></comment></comment></comment></comment><comment><USER5> Examples of tools, libraries and sites that make use of this standard can be found on: [http://indiewebcamp.com/webmention](http://indiewebcamp.com/webmention)

I'm eg. myself running a service that makes it simple to accept WebMentions on something like a static blog: [https://webmention.herokuapp.com/](https://webmention.herokuapp.com/)

</comment><comment><USER6> I remember I read something similar in Walter Isaacson's "The Innovators" book. When the internet was just starting, Tim Berners-Lee was faced with the decision of made linking "public" or "private". So basically they considered for a while that an <a> tag should be somehow "authorized" in order to exist. Of course this didn't roll out (thankfully).

Sorry if something is not 100% right, it's what I remember.

</comment><comment><USER7> There's a useful summary on the wikipedia page for 'Linkback' [1] describing how Webmention differs from other similar schemes.

Things like Pingback and Trackback seemed to be all the rage for a few months, back in the day. They then seemed to cease being talked about - <USER2> discussion has bypassed me, or they just carry on being used, seamlessly, or they've failed. It would be great to see something like this really take off, though, especially since many bloggers started turning off comments.

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

</comment><comment><USER8> I really wish this sort of thing were still usable on our modern web. This will be hijacked by spammers and it will become impossible to see legitimate mentions through the sea of spam, but it sure is a nice interface for building up a network of backlinks.

Just like Google Analytics has become useless for low traffic sites. My blog gets hundreds of page views, all from referral spam. I don't even bother trying to see if at least some real people are looking at it.

<comment><USER9> > _but it sure is a nice interface for building up a network of backlinks._

The web isn't static, backlinks tend to disappear. So a one-time effort isn't useful, especially if it further complicates already bloated browsers and enables DDoS techniques.

A useful way of collecting backlinks at any point in time would be through search engines that snapshot all the visible web regularly with timestamps. It's too bad they don't offer such services anymore.

</comment></comment><comment><USER10> On the technical side, this seems nicer than pingbacks (which uses XML-RPC).

On the user side: dunno. I never found value in pingbacks listed at the bottom of a blog post, and I doubt that a different technique in the background will change that profoundly.

<comment><USER11> If the other page uses microformats I'm displaying their content under my post, like for example: [https://jeena.net/photos/201](https://jeena.net/photos/201)

I also show the reposts, likes, etc. there, I even aggregate those from facebook, instagram, twitter, flickr, etc. with help of [https://brid.gy/](https://brid.gy/) which translates fb, tw, etc. to microformats and sends a webmention. And I'm getting more and more native webmentions, but that is most probably because I'm active in that community.

<comment><USER12> > If the other page uses microformats I'm displaying their content under my > post, like for example: > [https://jeena.net/photos/201](https://jeena.net/photos/201)

That is actually really nice!

<comment><USER11> Yeah, the plumbing is not very different to pingback, just a bit easier to use, the big difference is the UI.

</comment></comment></comment></comment><comment><USER13> Just thinking out loud here, but... suppose that many/most nodes on the WWW implement Webmention and publish their knowledge of who links to them. In other words, the link graph can be navigated in both directions. Does that not simplify the implementation of pagerank-like algorithms somehow? Could deployment of such a linking standard make it cheaper to index the web?

Not a fully formed thought.

<comment><USER14> Could do, but you'd still have to validate it.

<comment><USER13> Good point

</comment></comment></comment><comment><USER15> This is not only susceptible to referrer spamming, but it's also a far more efficient way to do it. Ultimately it's a inbound channel where all submissions are nearly guaranteed to be reviewed by the recipient, simply because that's what it is for.

<comment><USER11> [http://indiewebcamp.com/Vouch](http://indiewebcamp.com/Vouch) is an extension to prevent that

<comment><USER15> This is irrelevant to the case of _referrer_ spamming.

Vouching may help preventing spam from percolating to public-facing pages through automated mention processing, but it does absolutely nothing to stop or to discourage referrer spam, which is aimed at the actual owners of the resource rather than their visitors.

<comment><USER11> What is referrer spamming? You mean people who look at the apache logs or something? Just don't look there, I don't see the connection between webmention and referrer.

</comment></comment></comment></comment><comment><USER16> I'm not really seeing the benefit of putting this in the HTML specification. I see the use case, but seems to me this should be left to libraries.

<comment><USER17> I agree. I feel more and more sorry for browser architects every day. It seems now more than ever that modern browsers are just kitchen sinks for spec writers. I'm fully aware some of these spec authors are browser architects themselves, but cut the fat please.

We'll be stuck with these redundant proposals for decades. Webmentions could be a fantastic library on its own, though as previously mentioned, we already have trackbacks. Does it need to be an additional few files in the codebases of Chromium, Firefox, et al.? No.

<comment><USER18> You're missing the point of standardization - it's not a legislative process that requires implementation, it's a documentation process to show what has already been implemented and how you can interoperate with it. Webmention already has multiple libraries and services implementing it.

<comment><USER19> And in cases like this, standardization is just about the only way to ensure the feature's success. If every blog/publishing engine developed their own proprietary service for tracking linkbacks/mentions, it would likely never get off the ground at all.</comment></comment></comment></comment>


Show HN: My weekend project to learn Javascript - 'Pinterest for Hacker News' - <AUTHOR> http://www.hackerest.com <comment><USER2> Nice implementation, but Pinterest works well from a UX perspective because it's visually oriented and scanning scattered visuals works. Scanning scattered text, however, is harder than scanning a list :-(

Definitely time well spent learning JavaScript though so it will be cool to see it improve.

<comment><AUTHOR> thanks, good point. i will be adding visuals, continuing my JavaScript learning spree. any recommendations on using js to take snap shots?

<comment><USER2> It's possible: <https://github.com/niklasvh/html2canvas>

But.. I'm not sure it's going to work out too well. You'd probably do better off using a service like <http://webthumb.bluga.net/home> but it gets complicated quickly (although it's been a cpl years since I looked into this so things may have come along).

<comment><AUTHOR> awesome, i'm looking into both right now

<comment><USER3> If you don't mind paying a little, I have used <http://url2png.com/> for one of my sites and it works great.

<comment><AUTHOR> yeah, I've checked them out - what's ur site?

</comment></comment></comment></comment></comment></comment><comment><USER4> You should insert snapshots of the linked pages into each of the posts. Pinterest's magic comes from the visual interest of the varying images.

<comment><AUTHOR> Good call, I agree.

</comment></comment><comment><USER5> This is pretty cool. It reminded me of the Isotope library (<http://isotope.metafizzy.co/>) that helps with a lot of the tiling effects.

We were able to integrate it pretty well into our app.

<comment><AUTHOR> thanks, isotope looks pretty cool - what's your app?

<comment><USER5> It's called Glossi (<http://www.glos.si>) and is a way to take your data from the various social networks and create a streaming magazine-like layout out of it.

</comment></comment></comment><comment><USER6> Could consider colour coding (backgrounds of the tiles) based on number of comments or points, or rough categories based on keywords. That'd provide a quick way for people to evaluate the links visually.

<comment><AUTHOR> Yeah, that's a good idea. that would make it easier to sort visually, i've got to add something to make it easier to read and select.

</comment></comment><comment><USER7> Hey davj,

I'm working away on learning javascript as well (currently fueled by codecademy!) any tips for starting a project like this? I'd be really interested in hearing how you took that first step. Oh and...Interesting little project, I really like it and I admire your drive, but you need some knitted keyboard cover pictures to really make this Pinterest-ish. Haha! Hope to hear back from you.

<comment><AUTHOR> Hey int3rnaut,

Awesome man! I haven't tried codecademy's javascript tutorials yet (heard great things), but I spent a ton of time on stackoverflow, quora, w3schools, api.jquery.com, and google. I also bugged my developer friends when I got really stuck. I would start with something incredibly simple. For UI use something like <http://twitter.github.com/bootstrap/> or <http://foundation.zurb.com/> so you can get started on your product's functionality quickly. I think the best way to learn a language is to build something with it. Feel free to ping me if you have any questions - happy to help where i can. Hope this helps and good luck! Oh and I'm working on adding images knitted keyboard covers and wedding dresses into hackerest to make it better.

<comment><USER8> Can you also reveal the details of the hosting you are using? Hacker News generates a lot of traffic and your site looks quite responsive !!!

<comment><AUTHOR> just using dreamhost

</comment></comment></comment></comment><comment><USER9> My wife like Pinterest because of the recipes and crafts and stuff.

When you said Pinterest for Hacker News, I thought it was a more social version of Hack-a-day, which I thought would be pretty cool. I would use that. hackerest is the perfect domain for that service. (hint hint)

<comment><AUTHOR> Thanks for checking it out - a social version of hack-a-day would be really cool...

</comment></comment><comment><USER10> Very nice. Having an option to view "Ask" would also be very useful. Apart from first page of HN, I also check Ask as there are interesting "Show HN" or "Ask HN" topics that don't stay on front page for long.

<comment><AUTHOR> Thanks, yeah sorting and different categories will be cool to add next.

</comment></comment><comment><USER11> That's really cool. I'm guessing you're using the Hacker News API (<http://api.ihackernews.com/>) to retrieve data? Or something else?

<comment><AUTHOR> Thanks man, I did use the Hacker News API to retrieve data. Thank you @ronnieroller!

</comment></comment><comment><USER12> You should add the -moz prefixed background gradient for the header.

background-image: -moz-linear-gradient(center top , #FAFAFA, #F6F6EF);

Works just like the Webkit one.

</comment><comment><USER13> Pretty cool. I agree with all the other suggestions given so far. Also, what tools were/are you using to learn javascript?

</comment><comment><USER14> Looks create. Might wanna take a look at jquery templates instead of writing html code inside javascript code. Nice work

<comment><AUTHOR> yeah, i will probably end up cleaning it up and changing some code

</comment></comment><comment><USER15> Very very very nice. I've been thinking of doing something similar for RSS feeds in general.

<comment><AUTHOR> thanks, i think it's makes browsing RSS feed type content easier on the eyes.

<comment><USER15> totally and i think it's just another good way websites can present their "snackable" content.

</comment></comment></comment><comment><USER16> Can you sort it by tweets?

ps: on Aurora the facebook and twitter buttons in the headers are stacked.

<comment><AUTHOR> thanks for the heads up, not yet

</comment></comment><comment><USER17> @davj: What resources did you use to learn javascript and to make this site?

<comment><AUTHOR> I spent a ton of time on stackoverflow, quora, w3schools, api.jquery.com, and google. I also bugged my developer friends when I got really stuck. i also used bootstrap from twitter (<http://twitter.github.com/bootstrap/>).

</comment></comment><comment><USER18> Jobs postings for YC companies show up with author and time as "null null".

<comment><AUTHOR> yeah, i noticed that - will have to fix it to differentiate job posts from other front page news, since they behave differently.

</comment></comment><comment><USER19> I hate full-width websites that do not handle x-resizing. But nice job.

</comment><comment><USER20> Awesome. We have same mind. I built similar project like this for experiment few weeks ago. I am using twitter bootstrap, jquery, mustache.js, and url2png for screenshot.

I'll put it online later.

<comment><AUTHOR> Sweet - would love to see ur project! url2png is awesome!

</comment></comment><comment><USER21> Would you mind putting the code on github?

<comment><AUTHOR> Yeah, going to clean up the code and put it up.

</comment></comment><comment><USER22> JS Rules.

Shameless plug, my JS project from last week: <http://81videos.com/> Now playing - Just Super Bowl Ads.

</comment><comment><USER23> add endless scroll and screenshots.

<comment><AUTHOR> yeah, this weekend!

</comment></comment><comment><USER24> I like what you did, congrats on the productive weekend.

The only issue I might have with it (depending on how it functions or updates), is due to the lack of a linear flow, it might be difficult to quickly find a story / link again without scanning every box.

I often come back to HN and read a link later, or check the comments later and so on. With a line by line link flow, I can quickly scan for anything I've clicked on or wanted to check out.

I'd suggest having the link colors change upon click through (right now they appear to just stay black). That would add a helpful visual cue.

Or even let me click and tag an icon on the story box, for future reference (equivalent to an "important" tag). Then I can scan the boxes faster.

<comment><USER24> Also, I think it needs the comment count.

If a story doesn't seem interesting at first on HN, but the comment count is high'ish, it might change my mind about reading it and diving into the conversation.

Or if the comment count is just plain high regardless, I'll often scan the discussion to see what has the HN community so fired up.

<comment><AUTHOR> just added comment count and linking to hn. for now it's just the front page of hn, which hopefully is the most interesting content of the moment.</comment></comment></comment>


How do you manage team passwords? - <AUTHOR> We using in one ops team a central keepass for external web services.  This brings a lot of effort when an employee leaves the company. Basically we need to change all passwords. How do you handle this? <comment><USER2> Well, if you cannot trust your leaving employee to keep his confidentiality agreement - you have one, right - than you will need to change all password.

I do not see how this has anything to do with how you store the passwords in the first place.

If the problem is, that he sees more passwords than necessary, why not have multiple keypass databases?

</comment><comment><USER3> Encrypted 7-zip with an encrypted keypass file inside, stored on highly audited and logged PCI server.

Certainly not in a cloud service, as that puts the creds in a 3rd party data processor.

Creds rotated as people move around.

</comment><comment><USER4> We have a local file server with keepass, its not great we have problems with one person locking the file and no one else can save details to it. I want to switch to something like syncthing so every one gets a local copy thats kept in sync, im hoping this will fix the locking issue.

We have too many accounts to change when some one leaves so we just change them all once a year.

</comment><comment><USER5> We use LastPass Enterprise with 2FA to share relevant credentials with the required groups.

</comment><comment><USER6> We avoid services that don't support multiple users and two factor authentication.

</comment><comment><USER7> I've used EnvKey for a few side projects that involved collaborators.

</comment><comment><USER8> Excel spreadsheet on a highly secure, intranet-only SMB share. Not even joking.

<comment><USER9> Google docs here and with the last company. Not joking either.

<comment><USER10> Secure excel sheet is better :(

Then again, we're quite paranoid Google already has a lot of our passwords. Sometimes we take photos of IP addresses and passwords and it gets into Google photos because of someone's phone camera settings.

</comment></comment></comment><comment><USER11> Keybase + bitwarden

<comment><USER12> Curious, what does Keybase has to do with it ?</comment></comment>