MongoGate — or let's have a serious NoSQL discussion - <AUTHOR> http://blog.erlang.de/mongogate-or-lets-have-a-serious-nosql-discus <comment><USER2> My big concern with so-called NoSQL solutions is the "culture" that seems to be brewing there.

If you go to the "Don't use MongoDB" post ( <http://news.ycombinator.com/item?id=3202081> ) you will read some, IMO, extremely worrying comments from a few pro-NoSQL users including antirez (Redis).

For some reason NoSQL now apparently means "unreliable datastore for unimportant, throwaway data" and defaults are chosen accordingly. Why the hell is that?

NoSQL for me doesn't imply anything other than "no SQL", and at a stretch "no schema" - this makes a lot of sense for many of us who routinely need to create databases that are logically trivial. In many cases they are a bunch of glorified persistent hash tables that usually don't fit in memory. But this doesn't mean they aren't critical. Why would it have to? This isn't anything new either, we've had Berkeley DB for a long while. It's just a bit of the dry side and it may fall short in many cases.

What I was looking forward to and I hoped I could find in the "NoSQL scene" is an alternative to traditional DBs but without the overhead that many times is not necessary (but sometimes is, and I intend to continue using PostgreSQL when appropriate). Ideally, something as simple as mongoDB appears to be (tried the interactive tutorial).

So when exactly NoSQL stopped meaning "no SQL" and started meaning "unreliable cache"? Other than the simplicity, I fail to see where it would fit in the market then (other than the amateur market). There are better, stablished DB caching solutions. There are persistence libraries in any moderately language. There are reliable databases that are fast enough when you have the budget to scale to several dedicated servers.

How about Riak?

<comment><USER3> NoSQL has never meant "unreliable datastore for unimportant, throwaway data". If it did, there would be no need for the MongoDB rant because that poor level of at-scale reliability would have been understood from the beginning. MongoDB wasn't marketed as an unreliable data store, so expectations weren't met by the rant author.

I'm worried about the culture that's brewing as well, but I see it more as an attempt from some NoSQL supporters to keep MongoDB looking good, even in the face of serious data integrity issues. The battle lines are forming between SQL and NoSQL (relational vs. non-relational data stores, really) and there's a lot of money and reputation at stake. What we don't want is for the facts to die in a war of rhetoric about the merits of SQL vs. NoSQL. That would be dumb.

With that said, the first paragraph of the rant is worrying:

"I've kept quiet for awhile for various political reasons, but I now feel a kind of social responsibility to deter people from banking their business on MongoDB."

What the hell does "various political reasons" mean? I'm more concerned about that than any deficiencies in MongoDB's codebase. Is there a well-funded campaign to silence MongoDB/NoSQL criticism, or is this just one customer's attempt to save face for choosing the wrong data store?

<comment><USER4> Conspiracy theory

<http://news.ycombinator.com/item?id=3066022>

</comment></comment></comment><comment><USER5> Looking at HN today - it's full of hate and negativity.

Kudos to the developers that rise above this, often working for nothing, to build the awesome tools that future generations will use to build awesome apps.

<comment><USER6> _it's full of hate and negativity_

You can't spell _NoSQL_ without the word _no_.

This is why I try never to use the word _NoSQL_. It's a flamebait word, deliberately engineered to add heat rather than light. There's no such thing as "a NoSQL database"; there are only databases. Even the relational databases that parse SQL have significant differences, and the databases that don't speak SQL are all over the map.

<comment><USER7> _You can't spell NoSQL without the word no._

Nor can you spell it without the word _os_. But I don't think we're talking about a mouth or other external opening.

A lot of people now read "NoSQL" as "Not Only SQL", which seems more positive than negative.

<comment><USER8> Maybe I've just been living under a rock, but that's the first time I've ever seen "Not Only SQL".

I can't tell if you're being serious or not.

<comment><USER7> Not Only SQL has been around for at least two years: <http://twitter.com/#!/simonw/status/5339626595>

I'm not sure who came up with it or when.

</comment></comment></comment></comment></comment><comment><USER9> I'm calling troll.

Having a serious discussion about NoSQL databases begs the exact same question as having a serious discussion about cancer: what kind would you like to have a serious discussion about?

I think the most important lesson we can learn from NoSQL in general is that the idea of a one-size-fits-all database is becoming dated. NoSQL databases certainly _don't_ solve the problems the author points out, and they probably never will. In fact that's the point. By not solving one set of problems, you allow yourself to solve another set of problems.

How about we use databases to solve the problems they were meant to solve, rather than basing our choices on whatever the popular opinion is at the moment.

<comment><USER10> "I think the most important lesson we can learn from NoSQL in general is that the idea of a one-size-fits-all database is becoming dated."

For programming languages, using the "right tool for the job" has little downside. Perhaps the developers need to learn an extra language, or perhaps there is some communication overhead between them. But unless the components are tightly-coupled, there's not much of a loss.

In contrast, the value of the whole data is greater than the sum of the parts. If you have a website selling products and an inventory management system and an automatic price-setting tool, it's hard to use a different DBMS for each one.

Even for data sets that seem unrelated at first, there may be a lot of value in the small connections between them. This is becoming increasingly apparent and companies are trying very hard to see these connections. Being in separate systems just makes that more difficult.

So, there are good reasons to use multiple database systems, but there is also a much higher cost. Saying "use the right tool for the job" doesn't give any guidance about when it's worth the cost and when it's not.

<comment><USER9> I think you're mixing concerns a bit. For data warehousing purposes, I agree that it's absolutely preferable to have all the data in one place (like hadoop/HDFS).

For production OLTP stuff, I'd argue that it's a bad idea to do the kind of processing you're talking about in the database unless you can avoid it. Beyond the performance implications, you'll likely have to alter your schema in unnatural ways that you wouldn't otherwise.

Now, I absolutely agree that you need to do a cost/benefit analysis and that there _are_ costs associated with having multiple databases. But I don't think those costs are as high as they would appear on first intuition.

<comment><USER10> I think you can run into problems in OLTP, as well. To stick with the example, you have three systems: sales from the website, price-setting tool, and inventory system.

Should the sale happen at all? Not if the inventory is depleted. Sure, you can put it on back-order, but then you have an unhappy customer.

At what price should the sale happen? It would be nice if you could automatically raise prices when the inventory drops below 10 units (which may indicate a demand spike or a supply interruption), for example. If you don't raise prices soon enough, you're more likely to run into a depleted inventory, again making the customer unhappy.

And what if you encounter an error moving data between systems? The customer thinks the sale happened, but it wasn't (or couldn't be) loaded into the inventory system for some reason. The customer will call a week later asking why it still isn't shipped, the service rep will be clueless trying to trace between the systems, and ultimately the customer will be unhappy.

(Just to be clear: properly integrated data management may still be done with multiple systems. But it's harder.)

</comment></comment></comment></comment><comment><USER11> Hi zeit_geist,

to me the problems you've described in your blog post are specifically application model problems. I think we shouldn't abstract the application model into the database, but the database into the application model.

I know a very innovative French developer who wrote an application server, that comes integrated with the database. In this very way you just call the exported functions provided by your database directly. How you model your (re)caching/(re)indexing and other application needs is totally up to you. This a) a freedom you barely find anywhere else. b) bare to the metal development of an application c) the most effcient way to develop an application. (b/c you only implement what you need and don't use a generalized construct that serves a general purpose very well, but doesn't scale with your application very well)

I would recommend to implement an application using the pattern that you know works best for the application, if you don't know it yet, then it's time to read books that enlighten our horizon of available solutions until we can start developing again.

I will show you an example of what I mean.

<http://gwan.ch/api#kv>

This is how I think is the most elegant way to interact with a(n integrated) database.

I am curious on what you think about this. I know I've not referred to the points in your post, but I've read it carefully. Thanks for hearing me out. I'm sorry I didn't post to your blog, but I prefer to post without subscribing to an external party. You limit the users who can answer this way imho. I'm not sure if it helps you to keep out trolls/spammers, but it sure helps to keep response rate low.

<comment><AUTHOR> I have taken a short look at your approach only. I still think KV-stores are Assembler-like constructs and as such I would apply my criticism to your approach equally -- please correct me if I (mis-)judge your project! But in general, I think your approach is a good one.

Regarding comments at my blog: I don't understand what you mean with "subscribing". According to the settings page, you do not have to register. You are free to comment there anonymously. That being said, your comment at HN is highly appreciated. Thank you for taking your time!

</comment></comment><comment><USER12> "The problem is: NoSQL is not a solution at all. It's a trade-off."

Bingo, that is _precisely_ what NotOnlySQL is all about. For example you trade some consistency guarantees for the ability to scale out.

Uninformed (has the author heard about the CAP theorem?), either-or diatribes like this article don't really serve any purpose other than sowing discord.

This is just like "C++ is better than Java is better than..." type flames wars. :)

We use Oracle and we use HBase. We would never replace Oracle with HBase for all of our data needs. At the same time we have need for a store that scales beyond what even Oracle can provide (and yes, we use RAC with multi TB caches across a database instance).

For the same reason we use Java, C++, Scala, Perl, Closure, Bash, JavaScript, etc... The right tool for the right job.

Personally what I would like to see is:

* secondary indexes

* snapshot isolation (in leu of global transactions, which will never scale).

Disclaimer: HBase committer here.

</comment><comment><USER13> I find one of his counterexamples amusing:

 _Managing Highly-dimensional data and access to it: ...I'm thinking of e.g. geo/spatial data here. Where are the solutions out there?_

<http://www.mongodb.org/display/DOCS/Geospatial+Indexing>

<comment><AUTHOR> True. The author forgot to add "scalable" there -- but that is actually mean there.

I am studying Multi-Dimensional Indexing for more than 3y now and have implemented many of the state-of-the-art indexes. They are all not sufficient as especially MongoDB's implemention is insufficient in especially the scalability-domain.

</comment></comment><comment><USER14> The original document to which you refer (that I refuse to refer to as the "MongoGate" document :-) is about system reliability. Those types of problems can exist in any database system and are not specific to every NoSQL database system. The document claims that MongoDB doesn't perform well under very high loads in a replicated environment.

Yes, NoSQL doesn't fit the problem you're trying to solve. Perhaps there are a set of problems that are difficult to solve with NoSQL, but there exists sets of problems for which NoSQL databases are perfectly suited. So, I would modify your post to state that NoSQL isn't the solution to every problem, but don't think you're uncovering some big secret, because most people already know that.

<comment><AUTHOR> I took "MongoGate" (sorry, I just fell in love with that term) as an example of what happens when overly positive expectations hit the hard ground. Removing the hype from NoSQL ("it's innovative", "it scales", "the cool guys use it", yada yada) is what I like to do.

I surely do not uncover any secret there. But I haven't stumbled upon a "what NoSQL lacks" blog post recently either. You can read my post in many ways, but the latter one is actually one possible way imho.

</comment></comment><comment><USER15> I just recently published an article describing my experience migrating from SQL Server to MongoDB, you can read it here: <http://www.wireclub.com/development/TqnkQwQ8CxUYTVT90/read>

I tried my best to describe both what we gained and what we lost after the transition. At the end of the day, MongoDB (and other NoSQL solutions) are different tools for different jobs. Obviously it takes investment to master a new tool and we almost aborted the migration in two different occasions simply because we didn't know enough about maximizing MongoDB performance. Now that the dust has settled and with all things considered, I am glad we didn't.

</comment><comment><USER16> Disclosure: I wrote a product called Citrusleaf, which also plays in the NoSQL space.

I also want a better discussion of NoSQL. It isn't fair to hate on databases without understanding the pressures of operations. I saw a friend's company where a big, fancy oracle system lost _all_ of its data on their main test/dev system at a crucial moment - lost over 100,000 user accounts, including those of executives of key customers. They were forces to merge with a competitor about 4 months later.

You need to take database backups, you need to stage your systems. You need to have extra hardware on hand.

Some of our customers at Citrusleaf continue to "run with scissors". I like the attitude, but we've had to talk sternly with them about the benefits of staging, bucket testing new releases (app and db), and penciling out the realistic hardware requirements.

The new crop of distributed databases provide an immense opportunity for all of us. We can write more agile applications than ever before, and as a community we all need to understand the _benefits_ of flexibility. This includes your entire organization.

That being said, there are technology differences between the NoSQL solutions, and at Citrusleaf we've focused on operations and deployability. My co-founder ran Yahoo Mobile's engineering and ops group, so understands the tradeoffs. We have a group in India (hi guys!) of great developers (not support guys) simply to make sure that when you've got a problem at 3am there's someone to take care of you.

Performance is important in this agile world, and Citrusleaf has it. <http://bit.ly/rRlq9V>

A slide I showed at HPTS (the high performance transaction systems conference) showed a Zynga game on the right, and an EA facebook game on the right. Zynga is an amazing machine in terms of getting huge, rich applications to market. Every pixel is covered with things to do, artwork, everything. And they're rolling out new games every week, and I haven't ever seen downtime (unlike Netflix Streaming, which has maintenance on a regular basis).

Zynga has been a huge proponent of NoSQL (but not Mongo) since its inception, and although I don't know what EA does internally (maybe they use the same tech but have other agility issues), NoSQL is clearly part of a high scale, rich application need.

Join or be flattened.

<comment><USER7> Is there some reason why your benchmarks look like you're cheating?

"The Citrusleaf server node received input from 4 client nodes, the MongoDB server node received input from 1 client node running 2 client processes, and the Redis server node received input from 2 client nodes."

I mean -- if you're cheating, that's bad. If you're not cheating, why the hell do you set things up to look like you're cheating?</comment></comment>


Ask HN: Where to find curated web content? - <AUTHOR> I think I've forgotten how to use the web.
My FB feed feels like a über boring mag you would not even pick up waiting for a turn in the barber shop. Yet, a gem or two pop up every now and then. Imagine 20 yrs ago when one would buy a paper mag before boarding a plane, say National Geographic. You knew for sure most content was going to be good (curated). Then paper mags turned into ezines and it was almost the same quality for a while but lately ezines are just malls (for instance Wired sells Apple). If not malls they have this tiresome tone of omg breakthrough (I guess so we can later feel superior in a conversation by saying: I read online that...). Or even more pathetic the home page repeats links for each article 3 or 4 times (Wired I am thinking of you again). I guess they trick Google bot but not me, ha!
So, what is that website that publishes the list of curated top 10 must read articles/posts? <comment><USER2> HN?

<comment><AUTHOR> Yes and no. I do find good stuff and diverse subjects here. However, lately HN bubbles up mostly controversy, in essence is no different than my FB feed full of fireworks-hurt-dogs posts.</comment></comment>


Browse good first issues to start contributing to open source - <AUTHOR> https://github.blog/2020-01-22-how-we-built-good-first-issues/ <comment><USER2> In a way, I appreciate the attempt to encourage people to contribute to open source, but in another way, initiatives like this feel a lot like a cargo cult to me. I mean that in a very specific sense:

Traditionally, contributors to free software and open source, especially the more prolific ones, are often good programmers. This has made its way into the collective consciousness in a way that affects hiring, e.g. by considering open source contributions as a positive signal.

People who want to be software developers hear or read about this and want to replicate it, so they are looking for somewhere to contribute. Hence initiatives like in TFA, and GSoC etc.

What they ignore or just don't see is that those traditional contributors to open source largely self-selected by having some issue that they wanted to solve and then just fixing it. They come to the projects with their own issues, which may overlap with issues of others out of coincidence. The difference in motivation and internal drive is significant.

Of course it's still nice when people genuinely want to contribute to make the world a better place, but I'm skeptical about the support burden that these non-traditional contributors often put on project maintainers, because they tend to need more guidance on average and have less intrinsic understanding of the problem space and relevant use cases. Some projects grow structures to support it and manage just fine, but some don't and I think that also needs to be accepted.

<comment><USER3> Whether someone wants to fix code because they use and have a problem with it, or they just wanted to knock out a random 'good first bug', it's not really up to you.

Personally i think github shouldn't have this feature for a number of unrelated reasons, but don't start excluding one-off noob contributors. Open source is open for a reason.

<comment><USER2> I'm not excluding them. If they do just knock out a random 'good first bug', then that's actually great and welcome. But there seems to be a pattern of people who heard that contributing to open source is good for their CV, this ends up being their only motivation, _and_ they expect hand-holding from project maintainers or for their patches to be accepted without scrutiny (or, if they are receptive to feedback, their patches are just really low quality and require a lot of review iterations).

It's those last points that can be a problem, because it can cause their contribution to become net-negative.

<comment><USER4> I kinda understand the point. However at what point one can call himself a "good prolific programmer" which has no time for "hand-holding", can judge if contribution is sincere attempt by some thirteen year old who wants to learn or just being done for CV.

One can argue that every kid with their "low quality patch" is net-negative as their teacher/project maintainer would be better spending time writing actual "good" code.

At what point one just starts sounding like elitist thinking that open source should just be left for exclusive prolific programmers?

<comment><USER5> > ... can judge if contribution is sincere attempt by some thirteen year old > who wants to learn or just being done for CV.

To me it's no different. Whether they're thirteen or thirty, I'm not obligated to donate time to help them grow. In fact I'd say "student drivers" deserve less of my time — I'm not a free tutor unless I explicitly agreed to such.

That said, I deal with one-off contributors with respect and handhold out of kindness when necessary (assuming they're not rude). But I don't feel like explicitly setting the expectation that I will handhold, especially on trivial patches that'll take me less time on my own.

</comment></comment></comment></comment></comment><comment><USER6> In my experience good first issues are mostly hidden. Most of the time, big projects with large communities use that label in issues and at least for me the issues are almost never good first issue.

Projects with at most one or two regular contributors often are easier to get into. They are relatively smaller and there is a higher chance that the open issue is simple but no one had time. But the label is not used in those issues.

I have several contributions that are only 1-5 lines to projects with more than 10K stars. Issues were definitely good first issues but no one had time to work on them, let alone labelling them.

<comment><USER7> Feel like all decently used open source projects need technical PM contributors to help organize the backlog. Issues can range from no information, to incredibly detailed posts, to what belongs on stackoverflow. It must be exhausting as a maintainer to deal with this.

</comment></comment><comment><USER8> I'd really like to hear the perspective and success stories of "Good first issue" labels and other means of encouraging open source contributions from other open source projects.

In my experience it unfortunately often hasn't been a net benefit for the projects I worked on. A "good first issues" takes up a lot of time to write and often never get addressed at all or it takes even more time to review and give feedback ultimately causing more work than addressing it directly since most "first issue" contributors do not come back to contribute again.

GitHub has done a lot to streamline the process of contributing to an open source project. I think what is still missing (or I don't know about) is an overall resource where you can learn about open source best practises (or just "Best Practises" since you should be using them everywhere) like writing tests, writing good docs, using conventional commits etc. outside of individual projects - and then in addition to the "Good first issue" label also indicate which one of those best practises apply to that issue, e.g. "This is a good first issue if you know about NodeJS, Mocha tests and Markdown".

<comment><USER9> When there is an issue with a clear bug report that can be fixed in on of two lines and the solution is very clear, I like to answer something like:

" _Thanks for the report! The problem is in link-to-file-in-GitHub. Do you want to send a PR to fix it? If not, we can fix it._ "

Sometimes they accept the proposal, sometimes not. It is a little more work to fetch the change, rebase, and merge it. But some people like the opportunity and perhaps may become a contributor in the future.

(If they don't accept, fix the problem soon and say thanks again with a link to the fix in case they want to see the change.)

<comment><USER8> A big challenge I'm seeing is when it comes to tests. Even though it is documented in the contribution guide and - I'd like to think - fairly easy to get running (Clone, `npm i`, `npm test`) many first time bug-fixes or features do not include tests.

</comment></comment></comment><comment><USER10> I usually bring up this research when talking about employee onboarding but there was a study done in 2015 (with Mozilla) that showed a "good first issue" approach didn't actually lead to the intended outcome - having more folks successfully integrate into and continue to contribute to a project over a long term. To my knowledge there hasn't been a ton of follow up or replication but still something to consider.

[https://cs.uwaterloo.ca/~rtholmes/papers/msr_2015_labuschagn...](https://cs.uwaterloo.ca/~rtholmes/papers/msr_2015_labuschagne.pdf)

</comment><comment><USER11> The announcement post is [https://github.blog/2020-01-22-browse-good-first- issues-to-s...](https://github.blog/2020-01-22-browse-good-first-issues-to- start-contributing-to-open-source/). We changed to the technical post because it has a bit more detail.

</comment><comment><USER12> I'd also recommend How I built Good First Issue bot with OpenFaaS Cloud by Rajat Jindal of Proofpoint. It's already used on repos from Docker, Microsoft, OpenFaaS, JetStack (cert-manager), and Google. It's a free SaaS, just add the label and it'll tweet out for you.

Bonus once you've added the label - it should be picked-up by GitHub's tool too.

[https://www.openfaas.com/blog/good-first- issue/](https://www.openfaas.com/blog/good-first-issue/)

</comment><comment><USER13> Is there a platform for matching contributors with existing projects?

I'm developing one of my projects[1] in public from day one, and I would love to collaborate with some people someday. Rcently, I was thinking about moving my private project tasks into GitHub issues and using tags like "good first issue" and "hacktoberfest". But I am not sure if this alone will attract people that want to really drive the project forward instead of "just" solving one task.

On the other hand, I know people who are looking for a project like this to contribute, but they simply are not interested in mine. So I can sense some need for a tool for project owners to post their projects and for other people to find one to contribute.

[1] [https://github.com/darekkay/dashboard](https://github.com/darekkay/dashboard)

<comment><USER14> The platform has always traditionally been your own computer. You install programs that you find useful, fun, interesting, necessary, etc. When you have an issue with one, you contribute to it.

</comment></comment><comment><USER15> I've had a weird first time contributor for one of my projects. I had decided to not use any build system for the front end. This caused issues in a subset of browsers that do not support the latest features. I accepted the extra work of testing it in several browsers and chose Firefox ESR as the minimum platform I support. But I didn't expect that there are forks like palemoon which disabled the core feature the entire project was built on, namely WebRTC.

The contributer's idea was to use HLS/DASH as a fallback for passive viewers who aren't broadcasting their own video stream. He was enthusiastic and even willing to spend 4 days per week on the project but then I realized how inexperienced that contributor is. He has never written a web app, never used a relational database, no knowledge of js, css, html but clearly willing to learn. However since I just don't have the time for hand holding like that I asked him if he wants to acquire these skills to get a job as a software developer. That wasn't the case and the lack of ambition turned me off. I didn't feel like spending 100+ hours on training someone who will never use his skills outside of this project, especially when I can just tell him to go away and come back with Firefox, Chrome, Opera, Edge, anything except Palemoon.

</comment><comment><USER16> I have noticed that popular repos with "good first issue" labels on issues tend to have those issues claimed fairly quickly. There is real competition in trying to display and assert your coding credentials with open source contributions.

Anecdotally, some issues that are claimed for months do not have corresponding PRs submitted. Question to those that mark labels as "good first issue", have you dealt with flaky contributors?

</comment><comment><USER17> If you want to volunteer for a project, just contact a project manager (through email or something) declaring the number of hours you're able to donate and your skills. They'll usually give you a good direction to start.

Drive-by commits are time-consuming to maintain. I don't see why maintainers even deal with them.

<comment><USER18> I can only speak for myself but I prefer not to manually onboard new contributors. I'd rather do a near-infinite number other things with that time.

Add a contributors guide, link to it in your README. GH even has some functionality built-in to link to it these days. Help contributors help themselves and spend that time on something else.

<comment><USER17> Well the alternative is to deal with poor/unresearched PRs, or to not accept volunteer contributions at all (which is what I do with most of my own open- source projects.)

</comment></comment></comment><comment><USER19> I don't understand how this is supposed to work.

For example: [https://github.com/ClangBuiltLinux/linux/contribute](https://github.com/ClangBuiltLinux/linux/contribute) shows: > This repo doesn't have any good first issues, yet

But I have many open issues tagged "good first issue": [https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aissue...](https://github.com/ClangBuiltLinux/linux/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)

<comment><USER20> Maybe whoever trained their ML models actually thought no one would call good first issues "good first issues". Kinda like you're trying to build a cat recognizer and you suddenly feed it pictures of cats wearing signs around their necks that say "CAT" in all caps. The recognizer would probably fail.

</comment></comment><comment><USER21> Isn't this just filtering issues with label "good first issue" other than the one user already is viewing?

Can someone explain the "machine learning algorithm" part here?

<comment><USER22> That's explained in the post linked from the blog: [https://github.blog/2020-01-22-how-we-built-good-first- issue...](https://github.blog/2020-01-22-how-we-built-good-first-issues/)

<comment><USER11> That seems like perhaps a more substantial post for a thread like this, so we've changed to it from [https://github.blog/2020-01-22-browse-good-first- issues-to-s...](https://github.blog/2020-01-22-browse-good-first-issues-to- start-contributing-to-open-source/). Probably a good idea to read both.

</comment></comment></comment><comment><USER23> "Up for grabs" is one of the first projects to do this on a wide scale in Github and that I absolutely recommend for starting contributing:

[https://up-for-grabs.net/](https://up-for-grabs.net/)

The reason is that it's opt-in (instead of ML-found issues), so the authors of packages have expressed a strong willingness to help first-time contributors. I've used up for grabs before (as an author) and it was great.

</comment><comment><USER24> If anyone is looking to contribute to Apache Kafka, they, can get started with setup that I have documented in my blog.

[https://medium.com/@manasvi/getting-started-with- contributin...](https://medium.com/@manasvi/getting-started-with-contributing- to-apache-kafka-part-1-build-and-run-kafka-from-source-code-f900452fdc06)

</comment><comment><USER25> Prior art: [https://starters.servo.org](https://starters.servo.org)

</comment><comment><USER26> This is a cool thing to support. I'm currently teaching my partner to code, and I am on the lookout for relatively easy contributions she can make to start getting interactions with the community and how things are built in the real world with other people.

</comment><comment><USER27> If you know basic python, checkout ROS, interesting issues to solve -> [https://github.com/ros/rosdistro/contribute](https://github.com/ros/rosdistro/contribute)

</comment><comment><USER28> > As the first deep-learning-enabled product to launch on Github.com, this > feature required careful design to ensure that the infrastructure would > generalize to future projects.

It is surprising to see that this is the first time DL is run in production at GitHub. GitHub has a large amount of fairly structured data in the form of code, issues, etc. Plus they have been dabbling with DL for more than two years [1].

It could be that the business problems that are critical to the growth of GitHub product may not need DL. Solving problems like best-first-issues, code search are useful to the end user but may not effectively grow the business metrics.

[1] [https://github.blog/2018-09-18-towards-natural-language- sema...](https://github.blog/2018-09-18-towards-natural-language-semantic- code-search/)

</comment><comment><USER29> Looks correct on [https://github.com/OSSIA/score/contribute](https://github.com/OSSIA/score/contribute)</comment>


Economics has failed us. Miserably - <AUTHOR> http://bostonreview.net/class-inequality/jonathan-kirshner-whistling-past-graveyard <comment><USER2> No, politicians abusing economists have failed the system. In each case a politician wants to accomplish x, they find an economist wanting to sell their soul by saying: x might be possible if y and z are held constant; but y and z are impossible to hold constant. Look no further than any administrations options:

1\. Minimum wage, all economic 101 will tell you it does not work, yet, there is Krugman (who published a textbook stating it does not work) saying minimum wage can be raised with only a slight impact on the market.

2\. Trade tariffs: they hurt downstream utilization, the aluminum prices increase has impacted the vehicle manufacturers in the US. Yet here we have the current administration saying: oh, it will work.

3\. Rent control: it does nothing but gut the markets of rentable space, drives the landlords out of the market, and reduces available affordable housing. Yet, here is Oregon finding economists who say: maybe... it might work.

4\. Cash for clunkers: it was a pull forward of purchases, any economist would shave told us that. In the end it just sucker punched the poor for seven years as all these used vehicles were removed from the market. Larry Summers selling this boondoggle never made sense.

What this shows is that the term economist is open ended with enough non science items being bantered about that cause these disasters in economics. Then when you call them out on their recommendations, they say it was not implemented with y and z implemented.

<comment><USER3> Paul Krugman and Barack Obama receiving Nobel prizes was the wake up call I needed to realize how many "honors" are actually the establishment rubber stamping their avatars.

<comment><USER4> I was also wondering how a Nobel prize and Krugman fit in one sentence every time I read his column in NYT. Now recently even the Swedish Academy had revealed corruption and petty politics between its members. Just have to learn to ruthlessly ignore any authorities, I guess.

<comment><USER5> To be fair, the Swedish Academy is only responsible for the literature prize. While the Academy has done some fantastic things (for example, Svenska Akademiens Ordbok) they have been a social club for the intellectual elite for a long time.

The economy prize (which isn't even a real Nobel prize) is given by the Swedish National Bank.</comment></comment></comment></comment>


Nvidia Reinvents Computer Graphics with Turing Architecture - <AUTHOR> https://nvidianews.nvidia.com/news/nvidia-reinvents-computer-graphics-with-turing-architecture <comment><USER2> > The Turing architecture is armed with dedicated ray-tracing processors > called RT Cores, which accelerate the computation of how light and sound > travel in 3D environments at up to 10 GigaRays a second. Turing accelerates > real-time ray tracing operations by up to 25x that of the previous Pascal > generation, and GPU nodes can be used for final-frame rendering for film > effects at more than 30x the speed of CPU nodes.

Interesting. If one were to ray trace a scene at 1920x1080 and 100fps, tracing 100 rays per pixel (for soft shadows, global illumination, reflection/refraction, and so on) at 60 fps, that comes out to be 12,441,600,000 rays per second. So, "10 GigaRays a second" seems to be in about the right ballpark for interactive, high quality rendering.

Of course, the computational cost per ray is hugely dependent on the scene and the memory access patterns (which tend to be kind of random), and the number of bounding boxes a particular ray has to traverse (could be a few or it could be hundreds).

One semi-popular rays-per-second benchmark used to be to place a Stanford bunny in a particular location and generate random rays around the bunny, testing each one for intersection. That way everyone is comparing their rays- per-second scores in an apples-to-apples comparison. I don't know what the most popular benchmark is these days.

I'm also curious if Nvidia has hardware acceleration for the process of rebuilding the acceleration structure when objects in the scene move around.

</comment><comment><USER3> Previous thread: [https://news.ycombinator.com/item?id=17754445](https://news.ycombinator.com/item?id=17754445).</comment>


I was annoyed with sites asking for too many Facebook privileges and made this - <AUTHOR> https://github.com/chadselph/OOptOut-Chrome-Extension <comment><USER2> I hate the security model where all the permissions are requested up front, and you have to approve them all (e.g. Android and Facebook without this plugin).

All permissions should be off by default, and the user should be asked the first time a permission is needed to perform an action (a'la GPS on iphone) - at least that way you know what it wants the permission for, and the app can gracefully handle rejection.

<comment><USER3> This could be like early Windows firewalls all over again; popping up windows every time you try to do something, until you just disable it.

<comment><USER4> Maybe. I think the idea of "blocking" a program makes a lot less sense to the novice user compared to choosing if a program can e-mail you or post on your wall. I agree that they could easily become a nuisance and lead to the user reflexively clicking "accept", though.

<comment><USER5> Maybe there needs to be a reverse version of this - all of your _friends_ who get spammed by the app writing in your stream ought to be able to vote

[] continue receiving updates from this user using foo-app

[] block updates from this user's instance of foo-app

[] block all automated updates from this user's stream

([] unfriend this clearly unhinged "install every shiney-thing" user)

Then any user with more than a certain threshold of blocks would need to get permission from a majority of his social network before being allowed to authorise apps :-)

<comment><USER6> You missed "block all updates from any instance of foo-app".

My Facebook stream looks so much less cluttered since I blocked Zynga apps.

</comment></comment></comment></comment></comment><comment><USER7> Well, it's a good idea, but it needs a big, fat "hey, this might/will probably break stuff in the app you're authorizing" button. Apps usually request that stuff for some reason, and the vast majority of users don't have enough understanding of the systems to know which permissions are safe to revoke.

Best case, things silently break and the user doesn't care. Worse case, things break and the user blames the developer and malign the application. You know how important the star ratings are in the mobile markets? You know how much effort developers put into managing the user experience, knowing that their app's success lives or dies based on their ability to keep from offending the luddites among their userbase?

This is great for power users who understand and accept the risks inherent in doing something like this, but it's an _awful_ idea for just about anyone except developers who understand what those permissions are actually used for.

<comment><USER5> I'm not entirely sure that's a valid objection for something who's installation instructions include "clone this git repo, then open chrome in developer mode".

Perhaps before it becomes a point'n'click install there might need to be more explanation about what might break, but anyone capable of installing it in its current form _ought_ to be capable of working out it's various means of breakage...

<comment><USER7> I agree in this case. If it's a git repo, not a problem. But, it's not the first time I've seen this issue raised, and the common response is "heck yeah, I want to do that!" It's not inconceivable to imagine that someone packages this into a mass-usable extension eventually. One Google search led me here: [https://chrome.google.com/webstore/detail/mlnhcepfaddcopbegg...](https://chrome.google.com/webstore/detail/mlnhcepfaddcopbeggpobodmmodilgmc)

People, in general, don't understand what the permissions they're granting (and ergo, revoking) do, and what why they are needed (or what fails to work when they are revoked).

It's a broken solution to a broken problem - permissions aren't granular enough, but permissions that are too granular get the TL;DR treatment from users. Developers have abused the permissions structure (usually under the "just in case" rather than "active abuse" justification), and users don't understand it, and the middle ground is that it's a giant mess that can't be unraveled without breaking a lot of things in the process.

I'd love to see some process by which an app could pass a string that says "This is why we need this permission, here's what happens if we don't have it", and then let the user select or deselect it, having been fully informed of the consequences. Additionally, exposing that UI to the user will encourage developers to write robust code that deals with that permission not being present.

<comment><USER5> "It's a broken solution to a broken problem"

Sure.

That doesn't mean we need to accept Facebook's status quo - which resolves the inevitable brokenness in the direction of:

"Oh well, your privacy and that of your friends is the price you have to pay to let poorly written apps to work."

We should at least have the option to choose:

"I'll have a little more control over my privacy and a bit more respect for my friends, and if that means the new social-media-viral-casual-gaming-sensation- de-jour fails to work for me 'cause it thought it could spam my friends and didn't properly check for success (or intentionally crashed on failure), then that's fine too, maybe I'll do something else with that time."

<comment><USER7> I agree that we should have the right to choose. I also have enough experience doing support for customers to know that most people are boneheaded about this stuff, and will immediately jump to blaming the developer for their buggy software, causing support headaches and user discontent.

For the HN audience - hackers, who know this technology, and understand the risks, and can correlate their revoking permissions with the effects down the road - this extension is great. I'm probably gonna install it later today.

For the general user audience, this is like handing someone a loaded shotgun and telling them they can use it to scratch itches on their feet.

</comment></comment></comment></comment></comment><comment><USER4> This is a fantastic idea.

I have a really simple Firefox port running. You can see the code and download it (.xpi) here: [https://github.com/psawaya/OOptOut-Extension- Firefox/tree/ma...](https://github.com/psawaya/OOptOut-Extension- Firefox/tree/master/Firefox)

I only tested it out on one website, so let me know how well it works (or doesn't) for you. I'd like to keep working on this and tighten up the interface. I think a lot of people will find this useful!

<comment><USER8> Thanks mate. I tried it on vimeo.com (as author suggests) and it doesn't seem to work.

One point is: The UI is somehow broken (no styling, and "application settings", "update" and the checkboxes each are on their own line). Second point: When removing the ticks from the checkboxes and click on update, I'm redirected to: "[https://www.facebook.com/dialog/undefined/dialog/permissions...](https://www.facebook.com/dialog/undefined/dialog/permissions.request?api_key)

so "dialog/undefined" needs to be stripped.

(Maybe add the issues functionality to your repos.. :))

\- Michael

<comment><USER4> Good call. I added issues, so file away. :)

</comment></comment></comment><comment><USER9> i've just started working with the facebook api over the weekend to integrate into an app i've built and every permission requested has a checkbox next to it on facebook's auth dialog to allow the user to reject it.

<http://i.imgur.com/v4jAU.png>

are those apps using a different api than the open graph? i don't see any setting in my app's page on facebook to allow those to be disabled (not that i would prevent users from doing it, just wondering).

<comment><AUTHOR> It looks like there's a "new" auth window in beta: <https://developers.facebook.com/docs/beta/authentication/>

<comment><USER10> In the permissions section, [https://developers.facebook.com/docs/beta/authentication/#pe...](https://developers.facebook.com/docs/beta/authentication/#perms), it states "The user will be able to remove any of these permissions, or skip this stage entirely, which results in rejecting every extended permission you've requested. Your app should be able to handle revocation of any subset of extended permissions for installed users."

I had no idea that individual permissions could be denied. This is a step in the right direction and good on Facebook for adding this into their new OAuth process.

</comment></comment></comment><comment><USER11> Facebook is actually a bit scary even with most of the things you're disabling here disabled.

(My point is that this is cool, but it really isn't enough)

For instance, I'm using facebook auth on <http://lanmarks.com> \-- I wanted to be able to pull my users' facebook friends so that they could filter the data on my site to only their set of friends (this is one of the appealing parts of facebook auth, imho).

I spent a bit of time looking around the API docs searching for the option for "allow me to see their friends", figuring that I would have to ask my existing users to re-auth against facebook with the new permissions.

Nope. I get that by default, and I can pull a list of your friends silently in the background.

This is with the _most basic_ authentication mechanism that facebook offers.

That's...scary to me. As I was building this out, I asked a friend of mine on gchat to go to the site and auth against facebook to check that the functionality was working.

It was... I was watching my DB, and without facebook even telling her, it grabbed a JSON of all of her friends.

 _Creeeepy_

_I_ tell people this on the site (this will get your name and people in your network), but I wish that facebook did too. At least I wish they made it more obvious.

And you know what? Honestly, facebook, you're totally dropping the ball on oauth here. Where in your documentation does it explain how to exchange an expired token for a new one?

Most devs end up requesting a permission called "offline_access", which facebook explains as "The application can access my data at any time"

This, along with "stream_access" (which most apps also ask for) literally means that the developer can post to facebook, as you, without you knowing it, whenever they want and with whatever they want.

That's _bad_ , facebook. That's bad to the point where I actually disabled facebook integration on <http://thingist.com/>. The idea that my application could just post a status as any of my users, and it could do so without any interaction from them...was just too much.

C'mon facebook, stop making it so hard for me to defend you all the time.

(By the way, you don't really need a plugin to do this. Have a look right here: [http://developers.facebook.com/docs/reference/api/permission...](http://developers.facebook.com/docs/reference/api/permissions/)

then look at the URL in the window that you end up in at facebook.com -- the one prompting you for permissions. Just edit the URL to reflect the permissions that you want to give the app.)

<comment><USER12> I signed up for airbnb using my facebook account and I noticed that they give away your DOB.

I immediately changed my DOB on facebook and vowed to avoid authenticating with apps.

I generally avoid putting in real information on facebook but the amount of stuff they give away is frightening. It's a heaven for social engineering and spear phishing.

<comment><USER5> "I immediately changed my DOB on facebook"

Hmmm, I wonder what Facebook does when someone changes something like their DOB? Or name/address/email/phone? Or any other marketing-useful data in your profile?

If _I_ were part of the Facebook Evil-Data-Mining Division, I'd certainly be looking to see if I can discern patterns like "This phillmv guy's _real_ birthday is 12/03/1975, but when he changes it for sites he doesn't trust he tends to use either 1st April 1980, or 22nd Sept (which is his girlfriends birthday) instead. And he usually changes his zipcode to the one his parents used to live at before they moved to Pittsburg."

<comment><USER13> Facebook also limits the number of times you can change your DOB, though I'm not sure what that limit is.

<comment><USER12> This is _extremely hateful_. Like with the Google Plus real name thing.

</comment></comment></comment></comment></comment><comment><USER14> This is a cool idea, but of course the warning is that if you are turning off certain permissions, there is a good chance the app you are adding is going to break since it's coded expecting certain behaviors from the API based upon those permissions being granted (even if the data is not going to be used.)

<comment><USER15> In other words, it's a good test to see if an app is coded incompetently.

<comment><USER16> To be fair, I don't believe Facebook ever allowed users to opt out of certain permissions (barring their recent beta auth[0]). Certainly you'd want to handle missing permissions gracefully, but I can't blame a dev for making their app non-functional when 99.9% of their users will either accept all permissions or deny the app access.

[0]: <https://developers.facebook.com/docs/beta/authentication/> (bottom of page)

<comment><USER15> As common as a lazy coding practice may be, there's no excuse for programmers not checking inputs, access, or the lack thereof.

</comment></comment></comment></comment><comment><USER17> I'm working on a facebook app right now. In A/B testing the permissions, it doesn't matter how many things we ask for, the results are about the same. So might as well ask for anything we think will be useful.

<comment><USER18> I've seen a study that shows this isn't true, especially when prompting for offline_acces. Wish I could find the link. Also, Facebook's app analytics shows you the break down of how often permissions are rejected and from what I've seen with high usage, the permissions prompted did matter. I would disagree that you should just ask for ones you might not need, especially since you can always prompt the user later for more if needed.

<comment><USER17> I'm looking at the Facebook Insights for the app right now. The bucket where we asked for the most permissions (excluding email) performed significantly better than the other options. I don't know why that is the case, but it is.

As for asking for permissions later, since it doesn't seem to matter we ask for all the ones we need up front. We've found that gradually asking for permissions as needed annoys the user and breaks up the app flow.

<comment><USER15> it may be consumer psychology: more permissions means your app must have more functionality.

</comment></comment></comment></comment><comment><USER19> Does this actually work? I mean, wouldn't the application just go ahead and use those privileges anyway, since it was built into the API? I think this just makes you aware of the privileges it intends to use, and doesn't actually affect what the application can and cannot do.

I'd love it if somebody could prove me wrong, though. This would be swell if it worked. :P

<comment><AUTHOR> I included a link to the Facebook application settings on the extension's space so you can verify which permissions you've granted and which you haven't.

Basically, when you generate a connect button, you list the which permissions you want to ask for and you get redirected to a page that asks for those permissions. My extension just changes the URL of the popup window so Facebook will be asking for different permissions.

Before yesterday, I've always just done this manually, but I was surprised to learn that people didn't know this trick. So, last night at 10pm I decided to just sit down and finally write it as an extension.

</comment></comment><comment><USER20> Typical Facebook authorization: Give us permission to post on your wall, check out all your friends, and generally keep tabs on your entire life. Oh yeah, and allow us to verify that you are logged in to your Facebook account.

Typical Google authorization: Allow us to verify that you are logged in to your Google account.

<comment><USER7> This is mostly because Google provides very few useful operations. See also: authorization scopes.

</comment></comment><comment><USER21> I like this so much, I may fork it and port it to Firefox...thank you for making one of the most practical extensions I've seen in a while.

</comment><comment><USER22> Awesome extension!

I just wish Facebook would include this as a standard option on the auth page. It would be great to just uncheck the things I don't want it to do on my behalf. Instead I was allowing the app and then editing it's permissions immediately afterward.

Great job!

<comment><USER15> _I just wish Facebook would include this as a standard option on the auth page._

Sadly, I believe you misunderstand Facebook's business case.

</comment></comment><comment><USER23> OT, but does anyone know of a way to find all the "things" that you've done on Facebook? It'd be nice to know if a rogue fb app has posted on me in some obscure location that I don't see on my screen. I've tried messing around with the graph API (looking at all posts by me), but I can only see activity on my own wall, and not any others.

A few weeks ago my wife accidentally clicked on some fb malware and it auto- posted bad links on other people's walls. It was frustrating to find out where all those places were. A programmatic way to do this would be good to know.

</comment><comment><USER24> I think I did the ultimate opt out: I've never had a Facebook account, and I never will.

<comment><USER25> I wish it was that easy for me. My generation almost _refuses_ to use email or even text messaging -- everything has to be done through Facebook.

I just wish the next big thing would pop up so we can stop worrying about what stupid privacy blunder Facebook will commit next.

</comment></comment><comment><USER26> I wish there was a way to request permissions for a given time period, it seems it's all or nothing. I'm creating some apps at the minute and just need to checkin the once, I wish I could communicate that to the user but instead facebook insists that they authorize it 'for ever' (well, until they remember and go and remove it).

In my opinion that would make take up and "throwaway" usage of apps a bit easier to sell.

<comment><USER27> If you request offline_access, the user will see "access your data at any time" as a requested permission. If you do this, the access token you are given does not expire unless the user does some action to expire it (such as updating her password). If you don't do this, the access token has an expiration date, and the user has to refresh the session (transparently happens with the JS SDK, I believe) in order for you to have continued access.

</comment></comment><comment><USER28> Wow this is incredibly cool! Can you also package it as a Safari extension?

<comment><AUTHOR> Presumably, I've never looked into Safari extensions though.

</comment></comment><comment><USER29> I would have never suspected that this would actually work. Right on!

</comment><comment><USER30> Maybe I am the only one on HN and I can't believe I am defending FB but I don't get this.

I understand and can appreciate what is being done. I just don't understand why anyone would want to use a service that they are not comfortable giving out data to.

FaceBook for better or worse is making money by knowing a lot of things about you. In return you have a place to hang out and share a lot of things.

Is that such a bad deal?

Personally by default I just assume that everything I post/share/say is going to be used.

<comment><USER31> You forget the huge numbers of users who willingly provide their login data to phishing or other malicious apps.

If they don't pay attention to those, clearly more obvious sketchy things, you really expect them to make sense of opting in and out of an already confusing app permission step?

<comment><USER30> That can pretty much be said about everything online.

As far as I am aware FB do a lot to get rid of those sites.

You can also turn it on it's head. If normal good intentioned developers can't count on the kind of information they are asking to make their apps work then where does that leave them?

<comment><USER31> I think we've found the crux of the problem here.

</comment></comment></comment></comment><comment><USER32> Hi. You mentioned in the GH desciption that you'd like some help with a name and logo. Logo-wise, how about something that resembles a door-chain? The concept is that while it allows you to talk to the person on the other side, it restricts their complete access to your property. With this in mind, you could call the plugin something like Book-chain (or something better ;) ).

Either way, I'd be happy to help with the design.

</comment><comment><USER33> Chrome should integrate this into the Browser. That way, Google could "protect" you against "privacy violations" by Facebook. It could show a little warning at the top of the screen, and allow you to edit the permissions (kind of like what the app does now, but as an official-looking browser message).

Oh, and Google should also do this with the Android App Store...

<comment><USER34> Won't it be anti-competitive? Facebook would probably sue Google if they specifically integrate such functionality into Chrome. (If they do it for all sites generally including G plus, then it would be fantastic)

</comment></comment><comment><USER35> Here are some entries in my /etc/hosts file...

      127.0.0.1	www.facebook.com
      127.0.0.1	facebook.net
      127.0.0.1	plusone.google.com
      127.0.0.1	gooleapis.com
      127.0.0.1	clients6.google.com
      127.0.0.1	gstatic.com

Anyone know how to filter out discussions containing "Facebook" in the title, on Hacker News?

<comment><USER36> I'm sure a GreaseMonkey script or Chrom{e|ium} equivelant (I'm told many GM scripts work as-is in Chrome, simpler ones any way, though sometimes a bit of tweaking is needed between environments) to do this should be easy to construct.

</comment></comment><comment><USER37> I just disabled the entire API. I see no difference in "user experience" save not being able to trade eggs.

</comment><comment><USER38> Nice idea. Although I haven't allowed an app access to any of my data in years, I'm worried about what info my friends might be leaking to these apps. I wish there was someone to stop this / see which of my friends have made some of my data available to third parties.

</comment><comment><USER39> Doesn't work for me -- I have it installed in Chrome 15.x on OS X. Using Facebook authentication, I get a dialog with the checkboxes at the top to disable some requests. I can uncheck some items, but then when I click apply nothing seems to happen.

<comment><AUTHOR> Yeah, I pulled in some style changes without testing them and they accidentally broke the onclick handler for the button. I fixed it here: [https://github.com/chadselph/OOptOut-Chrome- Extension/commit...](https://github.com/chadselph/OOptOut-Chrome- Extension/commit/a937d2ccfeb7a7234bce2a786681e158b4445b10)

</comment></comment><comment><USER40> Cool hack.

The site owners requesting a huge list of permissions like this should really test what happens to their conversion rate across various sets of permissions. Been there, worth testing. I'm just saying... ;)

</comment><comment><AUTHOR> Chrome web store link: [https://chrome.google.com/webstore/detail/lkllliihmodekgjcio...](https://chrome.google.com/webstore/detail/lkllliihmodekgjcioihaaodkbpeleph)

</comment><comment><USER41> I don't use Facebook, but I'd love to see the same thing for Twitter. In particular, I'd like to change requests for read/write permission into requests for read-only permission.

</comment><comment><USER42> It would be interesting to have a follow up mechanism to indicate how many requested permissions were actually required by apps. I suspect it would end up around the 50% mark.

</comment><comment><USER43> Just create an empty Facebook account and use it to authenticate, problem solved.

Yes, it's against Facebook's TOS, which makes me feel even better whenever I authenticate with it.

</comment><comment><USER44> Whoa, this actually works? I always wished Facebook would let me opt out of certain permissions, but I assumed Facebook would have to implement it themselves.

</comment><comment><USER45> This is a great and much needed. It's unfortunate Facebook doesn't offer this as a general setting when you're prompted. Thanks for putting this together!

</comment><comment><USER46> Idea for new names: AppBouncer, Blank Check, AppReduce

</comment><comment><USER47> Excellent, thanks a lot for sharing, I'm sure we all have same problem with new facebook app authentication protocols.

</comment><comment><USER48> If FB served up that page with a hash of the expected permissions and then submitted the page with that hash, then this plugin would be rendered useless.

I'm surprised for something like this (ie: permissions / security related), they don't do that already. The dialog is SSL, but if it was a man in the middle attack that added/removed permissions at will, then it kind of defeats the security of that dialog entirely.

</comment><comment><USER49> I'm currently building a website that will request more permissions than average (which may incentivize some users to use this extension), but as a result, if my database isn't filled with the information that's expected, they won't be granted access to the functionality of the site.

Thoughts? A bit stubborn, but my website hinges on the permissions I'm requesting.

</comment><comment><USER50> This looks awesome! Some sites certainly ask for way more than I am comfortable sharing.

</comment><comment><USER51> Ahh, Ghostery anyone? A polished product that nicely blocks Facebook requests

</comment><comment><USER52> Thanks chadrs - I just loaded it into my Chrome extensions, great package!

</comment><comment><USER53> This is fantastic. Sad that so many feel we need it, but great to have.

</comment><comment><USER54> Looks great. Though it could use some design help.

</comment><comment><USER55> Seriously awesome. You are a hero to us all!

</comment><comment><USER56> This should be part of the default UI

</comment><comment><USER57> This is awesome. Good work.

</comment><comment><USER58> You are my hero, sir.

</comment><comment><USER59> genius.

</comment><comment><USER60> You're my hero :)

</comment><comment><USER61> Fight the system!

</comment><comment><USER62> <3</comment>


Simple Cryptanalysis with Arc - <AUTHOR> http://arcfn.com/2009/02/simple-cryptanalysis-with-arc.html <comment><USER2> "Simple" is right...if the cipher is subject to frequency analysis, the encryption is along the lines of the daily paper cryptogram. They could have at least made it find the cleartext automatically...

<comment><USER3> While the cipher was simple, the visual approach to breaking it is fascinating, at least to someone with no experience in cryptography.

The important thing to take away from this is that even if you think you're secure, if you're righting your own algorithms for cryptography you're probably very vulnerable. Its really nice to see the proof backing that up though.

</comment></comment><comment><USER4> Since I'm no cryptography specialist, I always use the only really secure method (sure it can't be applied everywhere):

My keys are unique and of the same length as the data.

<comment><USER5> And what method do you use to remember your keys? Chicken and eggs...</comment></comment>


Food additive found in candy, gum could alter digestive cell structure - <AUTHOR> http://sciencebulletin.org/archives/10512.html <comment><USER2> The text (outside the title and top pic) are not at all related, speaking of kepler syndrome and whatnot.</comment>


As DefCon asks Feds to take "time-out," Black Hat welcomes NSA chief - <AUTHOR> http://arstechnica.com/security/2013/07/as-defcon-asks-feds-to-take-time-out-black-hat-welcomes-nsa-chief/

<comment><USER2> "Bring out your feds."</comment>


Python Indie Bundle - Honoring Bitcoin Black Friday - <AUTHOR> http://www.pythonindiebundle.com/

<comment><USER2> Daniel and Matt Harrison, can't really get better quality than this! ALL PYTHONISTA BUY.

I own them all haha so can't avail of the bundle myself, but go do it!

Another book by Matt which I really love is the one on python decorators - check it out (although not in this bundle, totally worth it)!

<comment><AUTHOR> Actually, Vol two contains the decorator book (and the functional/compreshion book and the iteration book) :)

<comment><USER2> Well that's what I get for jumping to another book halfway through one. I got decorators a couple of chapters into Vol 2, I have no idea how the contents slipped my mind! Anywho, the quality remains top notch! :)

</comment></comment></comment><comment><USER3> We're doing this sale until midnight of December 2.

</comment><comment><USER4> Awesome idea, and also a great deal! Highly recommend!

</comment><comment><USER5> Fantastic idea! Love all three authors.

</comment><comment><USER6> awesome!</comment>


The meaning of life is to populate the universe - <AUTHOR> http://nazariusk.posterous.com/the-meaning-of-life

<comment><USER3> I'd have to take the Nihilistic stance that life is without any objective meaning. It appears to me that any meaning, morals, or values that somebody claims are inherent to the universe are merely their own human abstraction; this post included. Yet, that shouldn't (and doesn't) stop anybody from prescribing meaning to things and living "full" lives and achieving happiness. There are two facts that I strongly believe in: We're stuck being humans, for better or worse, and the universe will continue to be indifferent.

<comment><USER4> A decent summary, but I'd still suggest anyone who relates to this answer to read Nietzsche (specifically, The Gay Science and probably Beyond Good and Evil).

</comment></comment><comment><USER5> The meaning of matter is to vibrate really really fast. That is its purpose. There is no other.

<comment><USER6> Or to become energy...

<comment><USER5> The meaning of energy is to be a natural demarcation between living (smart matter) and non living (dumb matter). This is its purpose. There is no other.

</comment></comment></comment><comment><USER7> I'm sorry but without concrete definitions this entire discussion is stupid. (Retroactively defining words to make your position tautological is not valuable either.)

The entire article consists of a remark that life is a self-replicating chemical reaction.

A more interesting question to debate might be whether this replicating property is an acceptable definition for life, (i.e. can there exist systems that aren't replicating but can be considered life, and how might these arise independently of replicating life?), or what happens when you apply various definitions of life to other systems than the physical universe.

</comment><comment><USER4> A pithy statement, but a pretty weak argument. Given the entire purpose of the field of philosophy, this paragraph or so doesn't resonate especially strongly.

</comment><comment><USER8> One thing that I don't get is what was before and what is the source of Big Bang. So Big Bang, boom, expansion, star/planet formation, red shift, evolution, selfish gene, humans - I get. But where did the Big Bang came from? Fluctuation from nothingness? Why? From something else? Why? Something existed before and produced the Big Bang? Where this thing that existed before came from then? Doesn't make any sense.

<comment><USER3> I suggest directing some of your curiosity towards Google. This topic has been discussed many times before. In short: Your notion of "cause and effect" is not necessarily meaningful or applicable to all aspects of nature. Time could have been created in the Big Bang.

Also, it's possible that the entire process was continuous... the closer you rewind towards the big bang, the longer it takes to rewind just a little bit further.

<http://www.fortunecity.com/emachines/e11/86/big-bang.html>

<comment><USER8> Thanks for the link, it's interesting read. Even if time is created with Big Bang, and there are probabilistic quantum processes that don't demonstrate "cause and effect" in traditional sense these explanations come down to some singularity and suggest to accept that singularities just happen.

</comment></comment></comment><comment><USER9> Like this? <http://www.multivax.com/last_question.html>

I was thinking about this too the other day. Life seems to (more or less) be a set chemical processes that accelerates entropy in a given universe.

Say if you were the designer of the universe and started the big bang. If someone told you to calculate how long it would take until all energy is evenly distributed - (<http://en.wikipedia.org/wiki/Heat_death_of_the_universe>), the simple way you would calculate this is just to calculate how many generations of stars your universe would support.

But if some sort of life (like us humans) arises and populates, say, 10%, of the star systems, entropy would happen a lot more than you originally estimated! Entropy is accelerated by life!

In my conclusion, it seems that the ultimate goal of all energy/matter - <USER2> just life, is to express itself through the second law of thermodynamics - (<http://en.wikipedia.org/wiki/Second_law_of_thermodynamics>). To use up itself and become static again. That ultimate death is your ultimate goal.

<comment><AUTHOR> Interesting parallel.

Life (us - birth to death) within "life" (the universe, big bang to heat death), with death being a result (maximal entropy), but not the goal.

Perhaps someday the we'll discover/generate other universes.

Death might not always be the final result.

From the death of the old, comes the birth of the young.

Bah, enough deep thinking for one day :).

</comment></comment><comment><USER10> You could argue that intelligent life is something that our ecosystem has evolved in order to resist mass extinction due to meteorite impacts. Last time round with the dinosaurs there was no answer but maybe next time we'll be ready. It just about makes sense if you think on then scale of whole ecosystems and meteorite impacts and many planets.

</comment><comment><USER11> Except of course that life itself cannot be sustained without the abundancy of the stars

</comment><comment><USER12> Somebody has been reading Asimov ?

</comment><comment><USER13> Life is it own purpose.

</comment><comment><USER14> \--this is the meaning of life - there is no other--

he must be a happy person - he found the meaning of life - and he knows that there is no other

either he is a total --fool-- or he knows something that we do not know

<comment><USER15> I think all "meaning" is constructed. The human brain itself is a meaning- making machine. He's stated a preference.

<comment><USER14> \--all -meaning- is constructed--

i agree with you - and if this is true then the meaning of life is what we define it to be - only religions assert that there is only 1 true meaning and its the meaning they defined

maybe the blog writer chose the wrong word - instead of -meaning- the word -process- would have been better - in that case we may say that --the fundamental process of nature is a transformation of non-replicating into replicating--

<comment><USER15> yeah, i don't know why you were downvoted

</comment></comment></comment></comment><comment><USER16> Man I love it when John Maynard Keynes gets quoted.</comment>


Our Seattle Startup weekend pitch – give us feedback? - <AUTHOR> http://nishant.posthaven.com/seattle-startup-weekend-sep-20-22

<comment><USER2> I'm not entirely convinced that the pain of dating apps is actually scheduling the date.

<comment><AUTHOR> Agreed but once you have started the conversation with someone on the dating app, scheduling would make it easier to meet!

Yes starting a conversation is hard but then there are apps like tinder and truffle that let you like or ask out for a coffee directly!</comment></comment>


New Europe law makes it easy to find out what your boss has said about you - <AUTHOR> https://www.theguardian.com/technology/2018/apr/23/europe-gdpr-data-law-employer-employee <comment><AUTHOR> The 'New Europe law' being GDPR, of course.</comment>


Ask HN: Do you feel more productive on a Mac than on other OS? - <AUTHOR> <comment><USER2> Yes I am a more productive. But this may be not the fault of other systems. I'm productive because I use the OS for work for 4 years now. If I had chosen Ubuntu I may be very productive with this OS instead.

I would really like to work with a Linux distro but the problem is that I'm already kind of "locked" into the Apple universe. I bought a lot of software for my Mac and I would have to buy all stuff again if I change the OS.

Sadly I have to say that I wish I never bought my Mac. I had so many hardware problems with it and IMO the OS is not very stable too. In comparison: my Windows PC is running for 4 years straight without ANY hardware problem or crashing OS.

</comment><comment><USER3> For development rails/laravel things just work on a mac.

On windows I always got sucked down a rabbit hole with something not working as expected. After an hour or so of research I would find out it's a windows bug/issue try the work around for another hour and it still would not be resolved.

If you are a developer the time you save moving from windows to mac will more than pay for your mac hardware costs moving forward.

The only regret I have moving to windows to mac is not doing it sooner.

Switch now.

The macbook air is more than enough power for most developers btw.

</comment><comment><USER4> Yes, but I suspect a major part of that is the availability of tools and configuration I have on a Mac (for my everyday job and personal projects) are just too time consuming now for me to replicate elsewhere.

For example, I wanted to use Middleman on a project and though I could develop it on Windows. I can use SourceTree for Git and my choice of IDE, but installing Ruby on Windows is painful and the command prompt is horrible. At least the Creative Cloud license can be used on both, so that was non-issue.

Next I tried Ubuntu. I could install Ruby without an issue, the IDE was still supported... but there isn't anything close to a useful Git GUI like Tower or SourceTree. Creative Cloud was a miss to.

Its an interesting lesson. Developers who create good applications lock you into an ecosystem.

</comment><comment><USER5> Yes, partly because I have very critical actions available with hot-corners, awesome apps like Snappy/DragonDrop/BTT and such (which I have concluded have nothing come close on windows (after googling)). So that's mainly setup-wise.

Another part is the scriptability. I might have just not been that "into" doing those things before - or they are just not as available. Last time I used Windows was probably 5 years ago.

</comment><comment><USER6> Right now I do because the proprietary Linux drivers for my Dell laptop broke somehow and so I'm using my MacBook until I get the energy to fix that bullshit.

But the only thing I do on my Mac is toggle between full screen Chrome and full screen terminal running mosh to a Linux VPS, so I don't really feel like I'm on a Mac.

</comment><comment><USER7> For me it is Linux > Mac > Potato > Windows.

I am used to the shell and couldnt be productive without that. Next to that fact that a lot of software i use daily does not even exist for the latter. Mac is nice, but a little to restricted and i dont particularly like its look and WM.

</comment><comment><USER8> You will be most productive on whatever OS you use the most. The longer you use it the more accustomed you become to the different hotkeys, menu layouts and commands. Pretty much any OS you use will be customized over time to suit your needs best.

</comment><comment><USER9> Yes, absolutely when comparing with Windows. The productivity difference to Linux wouldn't be as pronounced though I suppose because much of that productivity gains for me stems from the availability of a proper command line and a UNIX toolset.

</comment><comment><USER10> Yes, but only because of Unix shell.

When Windows will have native Ubuntu shell I think I would be more productive on Windows since VS is most productive IDE I've encountered.</comment>


New bridge collapses into river in eastern Saskatchewan hours after opening - <AUTHOR> https://globalnews.ca/news/4461681/new-bridge-collapses-into-river-in-rural-saskatchewan-hours-after-opening/ <comment><USER2> The bridge is at 52.114667, -102.139722 [1][2], on a road named 'Dyck Memorial Road' (unsigned) [3], west of the hamlet of Swan Plain which lies at the intersection of SK Highway 8 and the aforementioned road.

The previous bridge was closed to heavy traffic in late 2017 [4], and the complete replacement was planned over the summer of 2018 [5][6]. The project was tendered and awarded to Can-Struct of Regina, SK, for CAD 325,000 [7].

[1] [https://www.google.com/maps/place/52°06'52.8"N+102°08'23.0"W...](https://www.google.com/maps/place/52°06'52.8"N+102°08'23.0"W/) [2] [https://www.openstreetmap.org/way/256112153](https://www.openstreetmap.org/way/256112153) [3] [http://myrm.info/333/files/2017/11/RM333_2017_Fall.pdf](http://myrm.info/333/files/2017/11/RM333_2017_Fall.pdf) [4] [http://myrm.info/333/notices/swan-plain-bridge-dyck- memorial...](http://myrm.info/333/notices/swan-plain-bridge-dyck-memorial- road/) [5] [http://myrm.info/333/notices/swan-plain- bridge/](http://myrm.info/333/notices/swan-plain-bridge/) [6] [http://myrm.info/333/notices/dyck-memorial- bridge/](http://myrm.info/333/notices/dyck-memorial-bridge/) [7] [https://www.sasktenders.ca/content/public/print.aspx?competi...](https://www.sasktenders.ca/content/public/print.aspx?competitionId=e6768101-7e1f-485a-b973-7cea1cea74bb)

<comment><USER3> As a European it boggles my mind on how many long and straight roads there are around the bridge. Here in the Netherlands we can't keep a road straight for more than a few kilometers even on new land we created from the sea: [https://firstname.lastname@example.com,5.386...](https://firstname.lastname@example.com,5.3861645,11.75z)

<comment><USER4> Not that this completely answers your question, but this is in the middle of the Canadian prairies. It's very sparsely populated (less than a million in the province of SK that's about the size of California - with 2/3 in the capital city). It's amazingly flat. I can remember seeing thunderstorms over a town that I just spent 2 hours driving away from at highway speeds (~200 km away). It's mostly partitioned out into huge, square farm land tracts.

Basically there isn't much stopping you from building roads that run straight for hundreds of kilometers.

<comment><USER5> Roads also tend to follow established routes because infrastructure tends to pop up along well traveled places. Europe is full of wacky routes because some farmers in the 1100s had go go around the land of the lord that was feuding with their lord in order to trade with the people in a village on the land of a lord who was on good terms with their lord. Then someone built an inn along the route, then another village popped up, etc, etc Except for the eastern edge, North America has neither of those sources of "legacy road" that constrain the design of new roads. You can just build straight lines from A to B to C.

</comment></comment></comment></comment><comment><USER6> Only today, my parallel-boss was explaining to me that only Canadian Codes have started allowing monolithic bridge instead of traditional simply supported configuration.

And evening, I get this news. Though only top slabs seems like monolithic construction, and main bridge girder is still piece-wise simply supported. It's enlightening to hear from the seniors.

Moreover, absence of R/f in top slab seems to be a demo case of new age "Just do it with our admixture (chemicals)" pitching we get from some of the manufactures.

EDIT: Looking from the picture: My first guess is support settlement of one of the intermediate columns. One more thing, I found strange was that we generally tend to avoid Steel Columns going below the top level of the water in the stream, generally we keep Concrete coming few metre above the water level and than steel starting, but the far off columns stills seems to be going into the water. Even though, it's not that rare, all offshore steel platform have still going into water but they are designed with far stringent specifications and definitely not for such small scale bridges.

<comment><USER7> From the tweet embedded in TFA:

"The bridge was built to Canadian Bridge Standards and unfortunately something under the riverbed failed, that could not have been anticipated. This caused the pier to sink and the middle span to fall off the pier cap and into the river. "

<comment> m-p-3 So something in the riverbed failed now, but that didn't seem to be an issue for the previous bridge that was there for ~50 years.

I can't reject the possibility, but that seems oddly timed.

</comment></comment></comment><comment><USER8> Google reverse image search found a higher resolution (2472x1930) photo of the collapsed bridge:

[https://s.aolcdn.com/hss/storage/midas/984273818587a1353cda1...](https://s.aolcdn.com/hss/storage/midas/984273818587a1353cda15d940bb17e9/206675182/19764398.jpg)

I'm not saying it's not new... but it doesn't _look_ new.

<comment><USER9> It might have been, say, three years under construction, with a contract dispute interrupting construction for 2.8 of those years, the bridge sitting half-constructed and getting rain-weathered the entire time, and then just finally this month, construction resumed, was completed, and the bridge opened.

You know, like most Canadian buildings.

(Here in Vancouver, I see plenty of stick-built buildings left half- constructed due to developer or zoning problems, with their frames and plywood panelling just left exposed to the elements for months; and then construction resumes and the building has sheeting and cladding and insulation slapped on over just a few days. I've always wondered whether that traps in the moisture that's accumulated in the wood over the previous months, leading to those buildings having mould problems later on...)

<comment><USER10> > You know, like most Canadian buildings.

Not sure where you got that idea from, but as a structural engineer in Vancouver I generally see the exact opposite. Once construction starts, it's an all out scramble to finish as quickly as possible.

Also, zoning problems occur at the building permit stage, which is well before construction starts.

<comment><USER9> I only know what I see walking around the neighbourhoods I frequent: buildings (usually single-family dwellings, but sometimes low-rises) that have sat half- completed, with no active construction, for months or even years.

I've always assumed it was a result of either the development company or their general contractor going out of business / running out of budget before completion; and that, when construction resumes, it's because the site has been liquidated and sold at auction to a new developer.

Other times, buildings (usually commercial) are left 90% finished for years at a time—clad and insulated, but not wired or finished inside. I assume this _these_ buildings are actually as finished as they're going to get, and are for sale, waiting for an initial owner to decide how they want to finish them (instead of having to rip out and redo the previous interior and exterior), and they just aren't being publically advertised. They still look kind of like blighted abandoned buildings, though, and kind of destroy the character of a neighbourhood in a similar way to the half-built homes.

<comment><USER11> I remember seeing nearly finished building in Croatia, lacking only the exterior finish, but (apparently) with people living Inside. I first though it was a cost-cutting measure, saving on seemingly unecessary work, but I've also heard it was to avoid taxes on buildings.

<comment><USER12> That was my exact memory of Croatia - I remember so many _nearly_ finished buildings with "rebar" sticking out of the top of walls or unfinished exteriors - and they looked like they'd been that way for a while.

<comment><USER11> Personnaly I did not see that many of them and they were all inland, not on the coast, where the housing market might be different.

Also the remnants of the war had a much bigger impact on my memories of the country: we saw a few buildings still covered with bullet holes and areas cut off because of mines. That nearly two decades after the war such things were still visible was an interesting experience.

<comment><USER11> > an interesting experience.

Wrong choice of words here, I was trying to say "bigger impact"

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> They keep saying "built to Canadian standards" in this article. I'm sure they mean that as "built to 1st world, legally relevant standards", but given the context it sounded like they were saying "Canadian standards" as an excuse for why it fell down.

However, the previous bridge, presumably also built to Canadian standards, held up for half a century and was still working (albeit apparently not looking great) when they ordered it replaced.

<comment><USER14> > "Canadian standards" as an excuse for why it fell down.

It's a bit like here in US some construction companies will advertise they "build to code". That sounds scary to me, as all I hear is they would really like to cut corners, but it's those pesky building codes getting in the way.

<comment><USER5> It's not so much that they want to build crap (margins are better on "nice" things anyway) but that if you have to do something you may as well list it as a feature. It's like how all the electronic nannys on modern cars are advertised as features even though they're required.

Relevant illustration: [https://xkcd.com/641/](https://xkcd.com/641/)

Construction companies and contractors make money building things. An estimate, quote or contract for whatever work is being done typically includes a profit margin on materials, labor and anything sub'd out. If anything they want code that specifies everything be grossly overbuilt.

<comment><USER15> > _margins are better on "nice" things anyway_

Not really. _Nice_ construction is generally not valued highly. Builders construct to code because higher R-values, better house wrap, pressure treated cladding, etc. don't really raise the sale price of the house. If you're talking about multimillion dollar custom homes, sure, this stuff starts to matter, mostly because the people buying multimillion dollar custom homes will sue you for _only_ building to code because they expect better.

<comment><USER13> All true but I think the more central issue is, whether or not the person who will live in the house (or drive over the bridge) is present during construction, and knowledgeable enough to notice whether things are being done well. In general, the answer to one or the other is "no". The only exceptions are, as you say, in multimillion dollar custom homes, and then only sometimes.

</comment></comment></comment></comment></comment><comment><USER16> There might well be problems with the supports, but I'm surprised that there are no beams in this design. Steel beams would be the most practical for this size, but I don't see any pre-stressed concrete beams either. Concrete deck is poured in place with non-stressed reinforcement, so it isn't very resistant to bending, and is rarely expected to span such a distance by itself. I know of a shorter one-lane bridge that never has more than one tractor or big truck on it at one time, that nevertheless has a 6" steel beam under the concrete deck under each tire track. Perhaps it was over-engineered, but then again perhaps the bridge in TFA was under-engineered...

<comment><USER10> It looks to me like they are using timbers as beams, simply supported on the steel piers. It's a very common bridge design for forest service roads and other rural routes.

<comment><USER2> Can you point out where you see timber beams in the photo? I can't even find a place where they would go; to me the deck looks like pour-in-place unreinforced concrete that sheared right off at the piers; the deck is then covered in what looks like gravel (which also seems a bit bizarre), then a wooden guardrail on wooden posts is bolted into the concrete deck.

<comment><USER17> The bridge looks to be precast concrete box-girders (hollow rectangular beams with plenty of steel reinforcement around the edges). The 'gravel' is the asphalt roadway (often this will be cast-in-place concrete) that's poured on top of the precast girders. The purpose of pouring the asphalt/concrete roadway on top is as a sacrificial wear element to prevent the structural beams being worn down by traffic.

</comment></comment></comment></comment><comment><USER18> Looks like the closer sides pillars sunk.

<comment><USER19> I was going to say a similar thing:

Almost looks like the foundations/pilings sunk on the one side, causing the concrete to fracture at the support points since it was being "bent" and then the slabs to fall off of the support once it had sunk enough. Kinda like this brick domino video [0], but with much larger slabs.

[0]: [https://www.youtube.com/watch?v=-BTWiZ7CYoI](https://www.youtube.com/watch?v=-BTWiZ7CYoI)

</comment></comment><comment><USER20> Huh. Canada takes engineering quite seriously.

[https://en.wikipedia.org/wiki/Quebec_Bridge#First_design_and...](https://en.wikipedia.org/wiki/Quebec_Bridge#First_design_and_collapse_of_August_29,_1907)

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

<comment><USER21> Lol who told you that. Engineering in Canada is essentially cultism.

Also here where I live (Edmonton) — the contractors had to rebuild the bridge because even before they finished building it, it became bent.

During the latest election season a funny line came up during the debates:

"Our friends to the south are sending rockets into space, and we're still trying to figure out how to build bridges"

As I typed that I also just remember a piece of news about our new LRT line. The new "high tech" signaling system is essentially broken, forcing the train operators to run in "visual identification mode" —- meaning half the speed so they can stop if they see something on the tracks. There is a lawsuit, and the company has until December to fix it. The line has been open for about 2 years now.

<comment><USER22> I mean, our bridges in the US are not necessarily great. From the Tacoma Narrows bridge to the I-35W bridge... sometimes they collapse.

<comment><USER23> Narrows was almost a century ago, and taught bridge builders to consider airflow. The more recent I-5 bridge collapse was because a truck was too tall and collided with bridge supports.

<comment><USER24> Or perhaps: because designers failed to take into account the possibility that someone would drive a too tall trck over the bridge?

<comment><USER25> I'm not a bridge engineer, but I'm pretty sure that height requirements are there for a reason. In fact, I looked at this incident last week, and it seemed that there was a different maximum height depending on which lane you were in, but that was ignored/not acted on.

[https://en.wikipedia.org/wiki/I-5_Skagit_River_Bridge_collap...](https://en.wikipedia.org/wiki/I-5_Skagit_River_Bridge_collapse)

 _The vertical clearance from the roadway to the upper arched beam in the outer lane is 14 feet 7 inches (4.45 m), and all trucks with oversize loads are expected to travel in the inside lane where the clearance is around 17 feet (5.2 m). The oversize truck instead entered the bridge in the outer lane, while a second semi-truck and a BMW were passing it in the inner lane. ... A pilot car was hired to ensure the load could pass safely. The pilot car never signalled the truck driver that there would be a problem crossing the Skagit bridge and did not warn the trucker to use an inside lane._

</comment></comment></comment></comment></comment></comment><comment><USER26> I'm slowly coming around to be thankful we don't build software like we build bridges.

<comment><USER27> If we build software like bridges then I wouldn't have to reboot my computer because the taskbar vanished twice a month.

</comment></comment><comment><USER28> The anchor in the video keeps referring to "the R.M."

For those of us not up on Canadian geographic or political abbreviations, what does that mean?

<comment><USER29> "Rural Municipality", I believe: [https://en.wikipedia.org/wiki/List_of_rural_municipalities_i...](https://en.wikipedia.org/wiki/List_of_rural_municipalities_in_Saskatchewan)

<comment><USER30> Yup.

</comment></comment></comment><comment><USER31> AvE's gonna have a field day...

<comment><USER32> Who?

<comment><USER33> [https://www.youtube.com/channel/UChWv6Pn_zP0rI6lgGt3MyfA](https://www.youtube.com/channel/UChWv6Pn_zP0rI6lgGt3MyfA)

</comment></comment></comment><comment><USER34> 2018 alone has enough content for Henry Petroski's next book.

</comment><comment><USER35> Canada still has reeves!!!?!?!? I thought that term was completely obsolete. Do they have beedles too?

South of the border the US still has plenty of shire-reeves though, though no shires!

<comment><USER36> Where do you think Keanu comes from? ;-) (badumtss)

Jokes aside, I graduated from Concordia University in Montreal and feel quite ironic that the Troitsky Bridge Building Competition is a thing while we seem to suck at building real bridges.

Montreal has its fair share of bad bridges. IIRC, the Champlain Bridge was touted as not requiring salt for de-icing in winter; it was never designed to protect against salt, yet it was salted every winter. The concrete is so damaged that a new bridge had to be built to replace it (which should complete this year, I haven't been back to Montreal in a long time so I don't know what it looks like now).

<comment><USER37> Needs no salting because there is always a ton of traffic on it and vehicles can barely go over 20 KM/h. That's one way to reduce accidents I guess ...

</comment></comment></comment><comment><USER38> Even if it wasn't collapsed that would still be a pretty lame looking bridge. Why would you put piles in the river for such a short span? Why is the design so ugly?

<comment><USER10> The contract was like $350,000 for a bridge in rural Saskatchewan! Of course it's going to be ugly.

<comment><USER30> :)

</comment></comment></comment><comment><USER39> Move fast. Test in prod, lol.

</comment><comment><USER40> Strange that this story picked up while in Miami a new bridge at FIU collapsed even before inauguration and took some lives with it and HN didn't bother much.

</comment><comment><USER37> Wonder if this is due to a sinkhole type phenomena. They've caused a lot of damage on public infrastructure in the past years it seems.

</comment><comment><USER41> That _barely_ qualified as a bridge before it collapsed.

They'd be better off with a portable "launchable" bridge from the US military: [https://en.wikipedia.org/wiki/M60_AVLB](https://en.wikipedia.org/wiki/M60_AVLB)

</comment><comment><USER42> I obviously know nothing about this sort of engineering, because to me this looks like a teeny weeny bridge, taking ~50 cars a day - it breaking is barely more newsworthy to me than dropping my coffee. Is this a sort of "not just in Italy..." story?

<comment><USER43> I assumed it was just the novelty of the bridge breaking immediately after being finished.</comment></comment>


Megaupload Founder Had Mega Swag - <AUTHOR> http://www.theatlanticwire.com/technology/2012/01/megaupload-founder-had-mega-swag/47652/ <comment><USER2> Kim has been here before and most likely will again. He had a pretty high rolling playboy lifestyle in the mid 90s (before getting busted for fraud) and then again in the early to mid 2000s - his site at kimble.org (now down) was a great repository of photos relating to his exploits at the time.

Only a little of this stuff lives on on-line, though, in the form of YouTube videos of him driving over golf courses in his Mercedes, smashing other cars off the road while he "won" two Gumball 3000 rallies, and defending his street racing in Belgium.

Quite the character!

</comment><comment><USER3> For a full run down take a looky here: <http://news.ycombinator.com/item?id=3487808>

From the indictment you can see some serious amounts of cash flying around.</comment>