MirageJS: An API mocking library for frontend development - <AUTHOR> https://miragejs.com/ <comment><USER2> Hello! I'm Sam and I built Mirage JS to be a framework-agnostic API mocking library.

Mirage is extracted it from an addon that's been widely used in the Ember ecosystem for the past 4 years, at companies like Apple, Heroku, Square and Footlocker.

Nearly all frontends need to talk to an API, no matter what framework they're built with! So over the past year I've made Mirage work with any tool or test runner.

I really believe deeply in the frontend-first workflow, and Mirage makes that easier than ever. If it sounds interesting to you, check out the lib + let me know what you think!

<comment><USER3> Phenomenal landing page. The first text I read is a ~10-word description of the value proposition. The next thing my eyes are drawn to is a visual demo. The first thing I can click is a link to use it myself. Plus, it's all visually very appealing without being distracting. Well done.

<comment><USER2> We spent a long time on it so that really means a lot! Thanks for the kind words :)

</comment></comment></comment><comment><USER4> I believe Michael Feathers was just started a Twitter thread yesterday that talked, among other things, about moving IO to the edges of your code.

If you can divide acquisition from usage, I wonder how much less effort you need to put into API mocking.

Ages ago and shortly after I started testing, was the last time I had to do any low-level HTTP response processing. My coworkers could not fathom why I had divided the parsing and networking code into completely separate sections. Then I showed them how stupid-simple most of the tests were, instead of the convoluted mess of integration tests I'd walked into.

Hand the payload to I/O-free code immediately. You've done the hardest part at this point. Mocking out the network layer in any of half a dozen ways is a cakewalk in comparison.

<comment><USER5> Yes! Yes! Yes! I've been preaching this approach ever since watching Gary Bernhardt's talk on "Boundaries" [1].

Splitting conditional logic from dependencies makes code so much easier to test. If you can do that, there's no need to mock anything. You can just pass simple data objects into your conditional logic for testing, and use a handful of integration tests to validate the end-to-end flow.

[1] [https://www.destroyallsoftware.com/talks/boundaries](https://www.destroyallsoftware.com/talks/boundaries)

<comment><USER4> Bertrand Meyer talked a similar strategy. I believe he called them decisions and actions. There's a _lot_ of requirements tied up in decisions.

With the exception of callbacks (and async solves that for single-issue scenarios), arguments don't need to be mocked. They're just arguments.

</comment></comment></comment><comment><USER6> What is the benefit of a request mocking framework versus hiding all api requests behind a module?

Instead of

        // MyComponent.js
        const users = await fetch(...

Use this

        // MyComponent.js
        const users = await api.getUsers()

        // api.js
        export default {
          getUsers() {
            return fetch(...
          }
        }

To mock, you replace the entire api module (or individual functions).

<comment><USER7> The first page of the docs list a few reasons.

[https://miragejs.com/docs/getting- started/introduction](https://miragejs.com/docs/getting-started/introduction)

"Use a client-side interceptor to handle your app's network requests. ... This is the most flexible approach, but it requires you to start from scratch in each project, and leaves it up to you to enforce conventions across your apps."

"Importantly, because Mirage mocks the HTTP boundary instead of the JavaScript code your app uses to make network requests, you never need to modify your application code to account for whether your app is talking to Mirage or to your real production backend."

<comment><USER8> How is this the best/most flexible approach? What if you decide to move from REST to GQL? GQL to websockets? By mocking the HTTP endpoint you're too low in the stack. At that point, I feel like you might have better success with using the actual backend and swap out the DB with mock data.

<comment><USER9> I always use this approach for my E2E tests. This way I test the backend as well as the frontend. Harder to setup properly though.

</comment></comment></comment></comment><comment><USER10> Just my two cents: Mirage is freaking great because it makes mocking shit out pretty much as easy as possible and pretty damn correct.

I don't know how many times mocking up a UI I start to throw some random JS objects in a file and then inevitably after a few hours, those random JS objects are unmanageable and contain very small differences between what my API will deliver.

Using Mirage from the start of projects has made my life a lot easier, it also provides a nice sanity check between what the backend delivers and what the frontend actually expects.

<comment><USER11> How does mirage help with data differences with the real back end? I can't see how it isn't just as vulnerable to getting out of sync.

I have another question. Mirage is installed as a dev dependency. But all the examples show it being used in the application code. Do you maintain a separate branch without the import of Server, etc? Or is webpack smart enough to remove all imports/usage of dev dependencies in the prod build? I don't think I've ever imported dev dependencies into app code before.

For that matter, how does it provide a sanity check between what the back end delivers and the front end expects? Do you mean compared to coding to a spec with no mocking? Like when the back end doesn't exist yet?

Clearly I'm missing something. Could be the sleep deprivation.

<comment><USER2> Great question! When I started Mirage this was the biggest concern, but after years of usage it turns out to not be that big of a deal in practice. Said another way, the benefits of being able to easily write high-level UI tests for a variety of server states all within your frontend codebase outweigh the costs of potential false positives. Also, teams don't break their HTTP APIs that often.

Even so, there are teams that have used tools like Pact to perform contract testing, ensuring their Mirage server and their production API never fall out of sync. Even more exciting to me would be using something like Typescript to verify the API contract at compile-time (also something that others have been exploring).

As far as only running Mirage during development, the Ember addon does this but we need to document how to do this in the general case. When you build your app for production Mirage should not be in any application code, nor should the miragejs library be included in your bundle. Webpack is capable of this, we just need to document it.

Mirage is flexible enough to match any backend API – this is where it shines in comparison to tools like json-server. With Mirage the goal is to mock out your exact production API; its serializers and route handlers can be customized to match any API format. Often teams using Mirage reach agreement about the shape of their API beforehand, precisely so that the frontend team can move and build the UI without having to wait on the API to be ready.

Indeed, Mirage can even be thought of as a communication tool that helps impose conventions and consistency on the API layer, making both the frontend developers and the backend developers happier.

</comment></comment></comment><comment><USER12> Mirage is a staple of Ember development. It's one of those things I didn't realize I was missing until I learned it, and now I can't imagine not using it(at least in early development). I kinda didn't realize I could use it outside of Ember CLI, so this is pretty cool.

</comment><comment><USER13> I've used mirage extensively throughout the past 5+ years across multiple projects/teams and it truly is a great tool. In a recent project we had multiple "scenarios" defined that represented different high-level states of the app. We added a page that allowed switching between the scenarios during local development and it was a huge boon to productivity, while also allowing us to write certain automated smoke tests that otherwise would have been more cumbersome with e.g. selenium.

Working on a React project recently, I was surprised that there wasn't an option like mirage, but now that there is, I highly recommend it!

</comment><comment><USER14> I would rather make a component that takes data as props.

Now make a component on top that runs a network request and injects the network response into it.

Now you have a reusable component independent of the api. Your network function can be tested individually. Your top level component doesn't need testing as that is the part that would be mocked.

You can now test your actual component without any mocking.

If you need some dummy data to show before the backend team is ready, this is trivial. Guess I'm just not a Big enough mocking fan to ever need a library for what is such a small thing in my experience

<comment><USER15> We use the "container" pattern for this via graphql (the container component handles all the data fetching and logic therein, the underlying component is usually attempted to be pure / functional / stateless. )

</comment></comment><comment><USER16> I used Mirage with Ember for many years and it has changed the way I think and approach front-end acceptance testing. I was very excited to see the work to extract the Ember-specific bits from the rest of the library (originally by @cowboyd / Charles Lowell and now from the original author Sam Selikoff himself) and am using it with a React app to great success.

</comment><comment><USER17> You beat me to this idea but I'm glad you did. Nice library. Mock API's are quite the productivity multiplier. I use them extensively for local development, prototyping, testing, and demoing. I've hacked similar things for work; first one was based on jsondb and the second one was based on axios- mock-adapter.

Colorizing[1] the console logs for quickly parsing success and failure might be a nice addition. [1]: [https://developers.google.com/web/tools/chrome- devtools/cons...](https://developers.google.com/web/tools/chrome- devtools/console/console-write#styling_console_output_with_css)

edit: grammar

</comment><comment><USER18> Been using the original Mirage project on an Ember app for years (testing and fake offline demos functionality), and now this iteration takes it over the top. I can't recommend it enough.

</comment><comment><USER19> I remember using Mirage back when I was an Ember developer. Everything else seemed so backwards in comparison, and honestly still does. I'm definitely interested in trying this out.

</comment><comment><USER20> This is cool. Mockability is one reason I've been so heavily biased to choosing GraphQL for my backend APIs recently. GraphQL makes it super easy to (a) first define a contract between client and server, and then (b) front end teams can trivially mock this out to develop the front end while the backend team actually implements the API.

Glad to see something like mirage solving this across all different types of API frameworks.

</comment><comment><USER21> This is awesome! Exactly the kind of library I've been looking for.

Does anyone have any suggestions on a way to start with an OpenAPI spec and end up with a mock data set? With Mirage it seems easy enough to mock our API directly from scratch, but if we could save a few steps and go from OpenAPI spec to mocked front end that would be bliss.

</comment><comment><USER22> I've used Mirage for a bit while working on an Ember project. It was really awesome and user-friendly and easy to use.

I have been using [https://github.com/nock/nock](https://github.com/nock/nock) in Node.js for ages and I love it as well.

</comment><comment><USER23> At our job we used to mock both frontend and backend and we needed consistency, so to help us I developed [https://mockadillo.com](https://mockadillo.com) which is imho easier to use than embedding mocks in your code.

</comment><comment><USER24> Great tool! I cannot say how much I like using Mirage, and how much it helps me while developing applications. I have used it only with Ember.JS and I always missed having it while using some others JS frameworks.

Much appreciated Sam and much love

</comment><comment><USER25> We use Mirage for a large scale ordering front-end built with Ember. It's enabled almost zero flakiness when writing our acceptance tests; super excited to see the library get ported outside the Ember ecosystem!

</comment><comment><USER26> Thank you! I hacked something similar quick and dirty, but i will use definitely Mirage with my next project.

</comment><comment><USER27> I'm a bit of a noob so hang with me here.

So you install it as a dev dependency via npm.

So is it running ... with the client app as a proxy between the client application and just waiting for the API requests and taking those responding?

Is it possible to configure some delay in responses?

<comment><USER28> From reading the docs and the source, it's not a proxy. It looks like it uses [https://github.com/pretenderjs/pretender](https://github.com/pretenderjs/pretender) , which overwrites the original `XmlHttpRequest` and `fetch` functions in the browser to intercept any attempts to make AJAX requests. It then makes your attempted request with its own internal routing definitions, and returns the responses you defined.

<comment><USER27> Ah thank you!

</comment></comment></comment><comment><USER29> Nice tool. But apart from the great landing page, what's the difference with FakeRest [0]?

0: [https://github.com/marmelab/FakeRest](https://github.com/marmelab/FakeRest)

<comment><USER2> I wrote a guide because folks kept asking! [https://miragejs.com/docs/meta/comparison-with-other- tools](https://miragejs.com/docs/meta/comparison-with-other-tools)

</comment></comment><comment><USER30> This looks really cool. Is there a difference between this and json-server [0]?

0: [https://github.com/typicode/json-server](https://github.com/typicode/json- server)

<comment><USER28> Looks like `json-server` is a real server, whereas Mirage is a tool for mocking `XmlHttpRequest` and `fetch` on the client side in the browser.

</comment></comment><comment><USER31> Is it possible to include it as a standalone js file? Instead of using npm or yarn?

<comment><USER2> Yep we publish a UMD build you can grab here:

[https://email@example.com/dist/](https://firstname.lastname@example.com/dist/)

</comment></comment><comment><USER32> Finally a library to help me make a mockery of my project!</comment>


Pentagon testing mass surveillance balloons across the US - <AUTHOR> https://www.theguardian.com/us-news/2019/aug/02/pentagon-balloons-surveillance-midwest <comment><USER2> > The new balloons promise a cheap surveillance platform that could follow > multiple cars and boats for extended periods. And because winds often travel > in different directions at different altitudes, the balloons can usually > hover over a given area simply by ascending or descending.

Stepping back from the details of this story reveals a striking pattern that most public discussions on mass surveillance miss entirely.

Cost has protected citizens of the world's liberal democracies from sliding into totalitarianism for a long time. Now the brakes are off. Surveillance technology costs are plunging across at the board and capabilities are skyrocketing.

Regardless of size or jurisdiction, there isn't a law enforcement agency out there that doesn't want to (or actively seek to) increase its observational capability.

Tumbling prices allow these organizations to indulge these urges.

Suddenly, basic assumptions about what governments can and can't do go out the window. The equipment is bought and put into production. Better to ask forgiveness than permission and all that.

There is no limit to the appetite for greater visibility into the private lives of citizens. Today it's the war on drugs and terror. Tomorrow it's something else. The justifications change, but these are just thin veneers over the ugly truth. Every government tends toward totalitarianism unless kept in check by something pretty damn powerful.

This train has one destination, and it's not even clear if there will be any stops along the way. To understand where we're headed, try reading the Bill of Rights with the assumption that your government knows everything there is to know about you, and where those who attempt to reveal the extent of these capabilities are imprisoned or executed.

<comment> t-a4550 > "Today it's the war on drugs and terror. Tomorrow it's something else."

> "This train has one destination, and it's not even clear if there will be > any stops along the way. To understand where we're headed, try reading the > Bill of Rights with the assumption that your government knows everything > there is to know about you, and where those who attempt to reveal the extent > of these capabilities are imprisoned or executed."

Devil's advocate here. Who's to say they won't use it strictly to deter drug trafficking and terrorism? Couldn't they take steps to be transparent about what data is collected, and where it goes?

The point is, discussions on governmental surveillance usually jump to the conclusion that society is becoming like George Orwell's 1984.

Could someone explain why these surveillance balloons are bad news for ordinary citizens _without_ using the slippery slope fallacy?

<comment><USER3> The people in power today aren't the people in power tomorrow. Even if you trust those in power today, do you trust the next 10 administrations to have sufficient restraint not to abuse their power?

<comment><USER4> If a future administration ever has the political power to implement totalitarianism we're stuffed. The lack of a mass surveillance system will not stop them as they will build one. Horrible totalitarian regimes have existed in the past with quite low-tech systems (e.g. East Germany, USSR).

<comment><USER5> I lived in a totalitarian regime similar to the ones you mentioned (Ceausescu's Romania back in the '80s) and if his bad guys had had access to today's surveillance tools we would have been really, really stuffed.

As things were you "only" had to watch out for people who would rat you out to Securitate or to Stasi (in East Germany), not an ideal situation but manageable from a certain point on, one could live a decent life from a "freedom" point of view, to say so, you could say political jokes or complain about the regime to the right people, i.e. not the regime's informers, or you could directly "steal" from the State things you believe should have belonged to you, like the peasants from my grandma's village were doing when they were taking stuff at night from the State farms that had been built on lands nationalized by the State from the same farmers immediately after the Communists came to power. All these things were highly illegal, I mean the regime trash-talking, the taking of stuff from State farms, the only thing protecting us was that the regime couldn't follow us all in order to catch us. With today's tools that would not have been a problem, you can see that in today's China where every form of political jokes (even in private online conversations) is prohibited and actively acted against.

<comment><USER6> Thank you for sharing your experience in a totalitarian regime.

I read The Aquariums Of Pyongyang [1] for a take on life and imprisonment in North Korea. Recommended read.

What is your take on Huawei giving 3G/4G technology to North Korea by proxy? Is North Korea technologically advanced enough to abuse technology to suppress its citizens?

Also, to get an idea of the amount of data collected nowadays [2]

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

[2] [https://opendatacity.github.io/stasi-vs- nsa/frame_en.html](https://opendatacity.github.io/stasi-vs-nsa/frame_en.html)

</comment></comment></comment></comment></comment></comment><comment><USER7> I saw a BBC short video while in Europe last summer. It was surreal. The video was basically showing how awesome these aerial surveillance platforms were. At one point the reporter walked out of the control center and started dancing outside. It looked like he was having a lot of fun watching himself from a few thousand feet up. If anyone manages to find it please post it. There was no talk about the privacy implications. Just a puff piece to acclimatize people into thinking this was normal.

If you don't yet know what these balloons are from articles on Afghanistan, they provide very cheap ubiquitous physical surveillance on very large areas. If one of these things have LOS on you or your home, you no longer have any physical privacy.

If this doesn't piss you off you need to look up what a panopticon is.

<comment><USER8> Hey the good news for us is the ones in the US don't have self-guided missiles attached, right?

<comment><USER9> Are you sure? If not yet, soon.

<comment><USER10> *if not, loon.

[https://en.m.wikipedia.org/wiki/Loon_(company)](https://en.m.wikipedia.org/wiki/Loon_\(company\))

</comment></comment></comment></comment><comment><USER11> Somehow I didn't think that it was OK for the US military to operate domestically. According to the Posse Comitatus Act.

But I see that there's an exception for surveillance.

Charming.

<comment><USER12> I think you are spot on and I am pretty sure Pentagon bureaucrats take PC very seriously. That is why I suspect it is either a test for eventual use overseas (not operational deployment), or DHS is ready to take over

</comment></comment><comment><USER13> > "Obviously, there are laws to protect people's privacy and we are respectful > of all those laws," Hartman said. "We also understand the importance of > operating in an ethical way as it relates to further protecting people's > privacy."

Sure /s

<comment><USER14> It's very carefully worded.

They _understand_ the importance of operating ethically. They didn't say that they _do_.

</comment></comment><comment><USER15> This is a documentary clip from 2013 that shows what the cameras and systems in these blimps can do. Apparently the biggest breakthrough is their high bandwidth laser data communication system.

The government should not have this much information asymmetry relative to the citizenry.

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

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

</comment><comment><USER16> Are things flying at that altitude required to have a ADS-B transponder or something like that to prevent collisions with other aircraft? I wonder if you could track the balloons tracking you.

<comment><USER17> Yes. Google Loon balloons do show up on FlightRadar24, and if you're close enough you can detect them with a $8 RTS-SDR.

</comment></comment><comment><USER18> Well, this is extremely disturbing.

We're reaching a point where we're going to have to start realizing we cannot systematically apply our own laws due to the ramifications of total awareness.

The availability of information will quickly outstrip the capacity of the system to crank through it.

Just today I was discussing with colleagues that it's positively mortifying the way people have trivialized their own children's privacy through things like smartphones with tracking software, and hidden camera's everywhere.

I don't understand how much our societal fabric has decayed that anyone could be even remotely comfortable with the magnitude of advancement in and propagation of surveillance technology, and the relative lack of progress in other verticals, or other facets of civil life.

To what end? Why do this? Why enable such avenues capable of completely undermining society's capability to evolve? Once you have the capacity to track minority faction movements perfectly, the stage is set for violent suppression of politically disruptive movements.

It is one thing to not have the capability to do so; it is completely another to have the capability to do so and to not use it. One can survive the overly ambitious being in a position of power. The other can't.

I don't know as the path our society is going down will be even remotely feasible to course correct. One can only hope.

</comment><comment><USER19> Is anyone else extremely bothered by the false equivalence of narcotics trafficking and the need for homeland security?

This blurring of the lines between a multi-billion dollar _business_ (probably around 1% of the world's GDP) that in fact relies on the success of the state, and purported threats to the state itself strikes me as extremely dangerous.

I'm contrasting this to American intelligence involvement in central America in the 1980s. During that time, the same organizations involved in cocaine trafficking and production were also extremely political, and crucial to the CIA carrying out their (in my opinion neoimperialist) "responsibilities" in the region.

My point is: I am aware of absolutely no evidence that modern drug trafficking organizations (DTOs) operating within the borders of the US are political whatsoever, so can we really view them as a threat to homeland security? Is there evidence that there is some risk of groups which pose a threat to our security have infiltrated these DTOs, or are piggybacking off their operations somehow?

<comment><USER20> There seems to be a certain amount of violence that comes with the territory of illegal drug trafficking; that might not be national security per se, but it's certainly something within the government's purview. It's also not that much of a stretch to say that a public health crisis of drug addiction would be a kind of threat to national security. Of course, if that were the real thing, DHS should be going after the opioid peddlers, so...

<comment><USER19> Well of course it's within the government's purview, but we have to draw a line between law enforcement and military-run surveillance somewhere, and it seems to me drug enforcement (violent or not) falls staunchly within the former's purview. The blurring of that line or its movement altogether strikes me as dangerous (cf. the mosaic theory of the 4th amendment [1]).

[1] [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2032821](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2032821)

</comment></comment></comment><comment><USER21> To those that are profound, the US has mass surveillance since the first satellite with camera was in orbit

<comment><USER22> I found it really interesting when that link came up on HN recently of a spy telescope taken by an amateur. Can't find the story now unfortunately.

I knew the Hubble was cool, but on that page it mentioned that this telescope was one of _ten_ that the military had pointed at the Earth that are now deprecated.

Imagine what they have now that is even better than ten Hubbles.

<comment><USER22> Found the link: [https://www.universetoday.com/65458/spying-on-a-hubble- teles...](https://www.universetoday.com/65458/spying-on-a-hubble-telescope- look-alike/amp/?PageSpeed=noscript)

</comment></comment></comment><comment><USER23> To quote Simone Weil out of context (she was talking about political parties):

> If one were to entrust the organisation of public life to the devil, he > could not invent a more clever device.

</comment><comment><USER24> I am _not_ advocating this in the US or anywhere, but how would one disable a surveillance balloon as an act of civil disobedience if necessary (without ending up in jail)?

<comment><USER11> Lasers are the only workable option, I think. But locating a small object at some km altitude would be nontrivial. And hitting one with a laser would be ~impossible.

Also, it would see scattered light long before you hit it directly. And even if it had an autonomous targeting system, there'd be a record of its movements. So it would be very hard so stay anonymous.

<comment><USER25> Atmospheric scattering seems like a big problem, but not location or targeting.

People find satellites by doing long exposures (ideally in the infrared) and then looking for movement that doesn't match the rotation of the earth - indeed, I think it's quasi-automated by now. It's rather astonishing what you can pick up with modern glass - there's videos on YouTube of the space station shot from the ground, and while it just looks like a little squiggly letter H, it's the freaking space station, in space, being imaged on relatively affordable prosumer technology.

I know nothing about the power side of lasers and imagine you'd need a decent size truck to hold one capable of setting something on fire at distance and its power supply, but it doesn't seem beyond the bounds of feasibility.

Of course, it would be 'easier' to hijack the balloon's guidance system but I assume that about 5 minutes after you started broadcasting on restricted radio frequencies people would be looking for you.

<comment><USER11> OK. But small balloons at 15-20 km? That don't reflect much light? Seems iffy to me. But maybe so.

I wasn't thinking of massive physical damage. Just nuking the FPAs.

Or perhaps small rockets. But guidance systems are hugely illegal to develop. Chaff might work to mask movements temporarily. Or wildfires, I suppose. Not that anyone sane would do that.

<comment><USER24> "guidance systems are hugely illegal to develop" Curious what laws cover this? I am sure they exist, just not explored this at all. Isn't GPS a 'guidance system'?

<comment><USER26> > The U.S. government controls the export of some civilian receivers. All GPS > receivers capable of functioning above 18 km (59,000 ft) above sea level and > 515 m/s (1,000 kn; 2,000 km/h; 1,000 mph), or designed or modified for use > with unmanned missiles and aircraft, are classified as munitions > (weapons)—which means they require State Department export licenses. [1]

[1] [https://en.wikipedia.org/wiki/Global_Positioning_System#Rest...](https://en.wikipedia.org/wiki/Global_Positioning_System#Restrictions_on_civilian_use)

</comment></comment></comment></comment></comment></comment><comment><USER27> The article notes that this uses the same balloon technology that Google's project loon uses.

<comment><USER28> Ah so loon possibly was never about internet

<comment><USER29> Loon didn't supply the balloons, they just have a shared supplier.

<comment><USER30> That's not usually how these supplier partnerships work.

Loon needed a balloon which was probably not available off the shelf. They paid a certain amount of money to get someone to build balloons to their specification which probably involved a great deal of R&D, manufacturing tooling, real world testing, etc.

Because Google didn't develop the technology in-house, and perhaps as a consequence of how the contract was written, we cannot say how much of the technology developed for Loon could have ended up here, and if or whether Loon should have paid more for exclusivity or restrictions on how that R&D could be used, or if in fact Loon paid a lot less specifically because the supplier was able to defray development costs through expected future military applications.

Or maybe the tech really was off the shelf and destined for military use and Loon just happened to use the same thing for their own Good Samaritan project.

However, several of Google's balloons crashed to Earth so it's a pretty good bet that they were paying for prototypes and significant R&D was going into the balloons.

</comment></comment></comment></comment><comment><USER31> At what point do we just start a non violent movement of taping over cameras wherever we see them?

<comment><USER32> It's hacker news.

How about hacking them?

<comment><USER33> Duct tape is a hack.

Low-tech hack, but a hack nonetheless.

</comment></comment></comment><comment><USER34> There's a bit of scaremongering in the headline; these are being tested domestically by the DOD use outside of the US. The DOD isn't allowed to conduct domestic surveillance.

<comment><USER35> Sure.

They parked a visible radar blimp over I95 outside of Baltimore and operated it for a couple of years. What's the difference between "test" and "really using it" when the tests last that long?

There are many loopholes for domestic stuff too. A National Guard member controlling the thing for example.

<comment><USER36> Full season durability testing. Developing operational procedures to deal with routine issues. These could easily take a few years.

<comment><USER37> and then you can test again, and again, and again. Each time for a few more years.

</comment></comment></comment></comment><comment><USER38> So this is basically Google's Project Loon but with more spying? How do they deal with cloud cover? It's not much of an issue for Loon, but I suppose it would be problematic for anyone doing anything in the visual range.

</comment><comment><USER39> This is disturbing

</comment><comment><USER40> Good thing Belgium already sold this NATO spec technology to China...

<comment><USER23> Got a link for that?

<comment><USER40> [https://ukdefencejournal.org.uk/belgian-firm-sells- advanced-...](https://ukdefencejournal.org.uk/belgian-firm-sells-advanced-war- room-software-to-china/)

[https://www.scmp.com/news/china/military/article/2173593/chi...](https://www.scmp.com/news/china/military/article/2173593/china- matches-nato-information-arms-race-deal-ferrari-war-room)

</comment></comment></comment><comment><USER41> Kinda weird that there isn't more backlash to this

</comment><comment><USER42> I don't comment much, but I feel compelled to mention how this currently has a 36:1 vote-to-comment ratio. The kinds of thing the US military is testing on their own people is horrific, and it's our duty as American citizens to oppose this kind of surveillance.

I sometimes feel I'm talking to a ghost. It is truly terrifying that my fellow Americans are selling themselves out. Ring will let the government, Amazon, and your neighbors spy on you. Grammarly will keylog and text-capture each webpage. The FBI will fly planes overhead. Balloons will be launched, always watching everyone.

There is no way to opt-out of this. I can't believe how stupid the "Hacker" "News" community is--commenting on things that don't matter, then shutting up for matters of grave importance.

You all deserve the tyranny that is coming.

<comment><USER42> The most important thing one can do is write, AND call, their legislature. Don't ever shut up about it. Does it stand a chance against corporate lobbyists? Probably not, but it leaves one with a clear conscience.

<comment><USER43> I don't think that sending a sternly written letter should have any bearing on one's conscious. I upvoted GP, but on the same note I know there is nothing we can do at this point against a powerful bureaucracy with a lot of ideological and financial incentive to proceed. That this has continued and accelerated under multiple administrations with varied talking points should tell you everything you need to know about the power of the modern vote at this level.

<comment><USER44> That's sad. So why even have kids, or go to work?

<comment><USER43> Being sad does not make it untrue. Indeed, many political problems seem to stem from an unwillingness to grapple with truths that make people uncomfortable.

I'm not sure why you think an unaccountable political regime relates to children and work— there are plenty of obvious and unrelated answers as to why people do those things.

</comment></comment></comment></comment></comment><comment><USER45> Cheesy, but this reminds me of Captain America: Winter Soldier with the massive gunships that target anyone considered to be a "threat".

The government seems to make the case that this is "necessary" to stopping crime. Is it? I'm sure it makes it really easy to catch criminals—but what's wrong with increasing the police force/improving non-technological techniques/etc.?

<comment><USER46> > _...but what's wrong with increasing the police force /improving non- > technological techniques/etc.?_

You mean _actual work_? We can't be having any of that! Plus, think of the <insert some banally unimportant reason here>!</comment></comment>


Apple has (or had) Dell and HP servers to power its data centres. - <AUTHOR> http://www.theregister.co.uk/2011/06/09/apple_maiden_data_center/

<comment><USER2> How horrible! They should eat their own dog food and run their entire datacenter on those sleek rack servers that they make so many of...

Oh yeah.

(This is news? Lame even for the reg...)

</comment><comment><USER3> So what? They also have non-Apple made workstations. Just like Microsoft developers use Macs.</comment>


Labelled branches: why mercurial is better than git - <AUTHOR> http://jhw.dreamwidth.org/2049.html

<comment><USER2> > All this is possible because Mercurial stores the name of the branch in the > changeset header

Then, everyone who tells that Mercurial is 'distributed' is lying.

Not everyone uses the same VCS. Suppose developer A received the set of patches via e-mail and applied them to his branch. Developer B received the same e-mails and applied them to his own branch. If their local branch names are different, these branches are now diverged forever.

</comment><comment><USER3> I'm one of those people that don't see a problem. I don't care what branch work happened on. I care whether it was merged or not. If I'm missing something, could someone correct me? My responses would be as follows:

> A) I need to know which branch ab3e2afd was committed to know whether to > include it in the change control review for the upcoming release;

Why? Is there more to it than you need to know whether it is going in this release, and whether it went in the last release?

> B) I need to know which change is the first change in the release branch > because I'd like to start a new topic branch with that as my starting point > so that I'll be as current as possible and still know that I can do a clean > merge into master and release later;

You need the earliest on the release branch that has not also been on the master branch.

> C)I need to know where topic branch started so that I can gather all the > patches up together and send them to a colleague for review.

You need to send them all the commits on the topic branch that aren't merged elsewhere.

git has nice syntax for specifying ranges of commits of these forms.

<comment><USER4> Here are a few examples of where it's nice to have that extra information:

\- "Show me all commits by Jimmy, but don't bother with those he made on the i18n branch."

\- "Did Sally make this change on the 3.1 branch and then backport it to 3.0, or did she start on 3.0 and then merge forward into 3.1?"

\- "Show me all the changesets Steve has made on the 'stable' branch, so I can make sure he's only putting bugfixes there and not sneaking in new features."

</comment></comment><comment><USER5> tl;dr: Person finds a legitimate difference between Git and Hg and doesn't seem to understand that different people could have different but equally legitimate opinions on the situation.

 _"The saddening thing is that so many Git users seem to have a conceptual block against even recognizing there is a problem here. They embrace the need for historical revisionism that their tools force on them, and they call it a virtue."_

Because they have a _different opinion_. Stunner.

<comment><AUTHOR> I found the article itself very persuasive, your comment much less so.

It doesn't seem like the feature would be hard to add to git, and wouldn't affect anybody who doesn't use it or turns it off in their preferences.

It would never be used in the Linux kernel environment, but it does seem like something very useful in a standard corporate environment with their common shared central code repositories.

</comment></comment><comment><USER6> this is more of an argument on preference than quality of either process. yes, we can use clay, wood or stone for sculpting.

i like that git lets me rewrite commit logs, merge them into one commit, break up commits and so on. this gives me a current-dev branch and a cleaned-up branch when needed.

</comment><comment><USER7> I came here expecting to see this suggestion: add the branch name to your commit message with a hook. Is this really not a common practice?</comment>


Adding concurrency to smart contracts [pdf] - <AUTHOR> http://delivery.acm.org/10.1145/3090000/3087835/p303-dickerson.pdf <comment><USER2> An error occurred while processing your request. Reference #50.a5b9c451.1504166556.2868adc5</comment>


What I learned at YC Startup school - <AUTHOR> https://medium.com/p/2f17abc9d027

<comment><USER2> Since much of the blog is focused on beergram, I'm going to discuss that rather than YC Startup School.

I love craft beer. I've quick-rated more craft beers in the last couple years on beeradvocate than I should admit (..150+). But even I would have trouble getting psyched about the app. The landing page looks nice but it doesn't really give me a quick idea of how I gift someone a craft beer. In the first 10 seconds I had no idea if I give them a credit to use later or I see them check-in somewhere and I then gift them the beer while they're at the bar.

PG's suggestion to add coffee is interesting but you also have to think about when and why people get coffee. Oftentimes it's in a rush before work rather than your goal of sharing life's moments over a nice craft beer.

Ditto on what the Gowalla folks said, there's just too much friction right now.

<comment><USER3> I gotta agree - I don't know how this works. You should think of having a "how it works" page on your site.

I would seriously consider adding something like coffee or tea though (depending on how the beer part is implemented). By focusing on beer, you are 1) limiting who will be able to use the app (some people just don't drink), and 2) limiting the time of the day people can use your app (after work hours). If you add something like coffee, then more people can use the app more often. It's a multiplier.

</comment></comment><comment><USER4> Agree with Jonathan here, but wanted to say that the landing page is beautiful. Did you do the design work yourself? If so, where did you pick it up?</comment>


Pull Requests By Women Are More Likely To Be Accepted - <AUTHOR> https://www.voxxed.com/blog/2016/02/pull-requests-and-prejudice/ <comment><AUTHOR> Full Analysis: [https://peerj.com/preprints/1733.pdf](https://peerj.com/preprints/1733.pdf)

Summaries:

1\. Women are more likely to have pull requests accepted than men.

2\. Women continue to have high acceptance rates as they gain experience.

3\. Women's pull requests are less likely to serve an immediate project need.

4\. Women's changes are larger.

5\. Women's acceptance rates are higher across programming languages.

6\. Women have lower acceptance rates as outsiders when they are identifiable as women.</comment>


Homograph attacks: What you see is not what you get - <AUTHOR> https://wildfire.blazeinfosec.com/what-you-see-is-not-what-you-get-when-homographs-attack/ <comment><AUTHOR> A safe example:

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


Delete entire Facebook activity in seconds (using concurrent REST requests) - <AUTHOR> https://github.com/marcelja/facebook-delete <comment><USER2> This is a pretty cool idea! Would you mind giving a small description as to how this talks to Facebook API and removes activity from their cloud?

I haven't used Facebook in a long time and not sure what exactly it means to "delete activity".

<comment><AUTHOR> I'm basically sending requests for delete actions from the activity log. So it's not using an API.

<comment><USER2> I am confused: Are these requests specific for a user account activity deletion? Or is it a request for deletion of entire account from Facebook?</comment></comment></comment>


Backport: A CLI to automate backporting of commits on a GitHub repo - <AUTHOR> https://github.com/sqren/backport <comment><AUTHOR> I really love this tool - We use it to backport commits from master to our older release branches on the Kibana project. I can't emphasize enough how many hours this saves us every week.

It creates a PR for each backport you make and label them "backport", so you can easily see them all here: [https://github.com/elastic/kibana/pulls?q=is%3Apr+is%3Aopen+...](https://github.com/elastic/kibana/pulls?q=is%3Apr+is%3Aopen+label%3Abackport)</comment>


Ask HN: React or Django? - <AUTHOR> Long Story short.
Non technical co-founder here.
Working on getting an MVP asap.
Hired a team to work on a react / python app. They are suggesting to switch from React to Django for faster development since MVP is on a tight schedule.
What are the pros and cons of switching from React to Django? Which do you recommend using for a fintech product?
Thanks in advance! <comment><USER2> If getting an MVP out of the door is the priority and the future of the company/project depends on timing, then yes. Definitely. Forget about react and go with django and the provided template system. Drop in turbolinks and stimulus or unpoly and be done with it. Focus on the product. If it succeds then you can always split the frontend and do it in React or whatever.

There is no way in this world building a backend + api + react spa is going to be any faster than doing server side templates. Unless you're building the next Google maps.

</comment><comment><USER3> While exact implementations depend on the site in question Django runs only on the server and React runs only on the browser. Dropping React to only use Django sounds like an airplane designer saying "let's skip adding the propellers for the demo and only install the engines."

(Or is the team saying they only want to emit static HTML or JSON from the server-side? Like I said the architect might be saying something I'm not getting here -- or maybe you might have mis-heard or mis-remembered what was said?)

</comment><comment><AUTHOR> Thanks everyone for your input. I think I have a better understanding about what's what here.

The dev team wanted to drop React as a frontend layer to save time on development.

We decided to stick with React for frontend since there has been over 40 hours spent on development on it. We'll try to save time by off-loading some features and sign up flows until after the MVP is in public beta. Fingers crossed...

<comment><USER4> You should listen to your dev team. Use bootstrap, jQuery and vanilla js to get the product done.

</comment></comment><comment><USER5> React and Django are two different things.. the former is a client-side UI framework, and the latter is a backend platform for handling requests, accessing the database, etc. A better comparison is React and Vue. or Django and Flask.

IMHO, Vue/Flask is a much lighter pairing to get an MVP up quickly, utilizing SqlAlchemy or PeeWee as a database ORM library.

<comment><USER6> If the developers are familiar with Django, they can probably do the MVP just fine with it - without any front end framework.

<comment><USER5> Agreed.

</comment></comment></comment><comment><USER6> Django is a batteries included framework. If your developers are familiar with it they can create a MVP fast with it for sure.

Then later (if there is need for that) you can separate the front end and the backend, use django for backend and React or Vue for frontend for example.

But TBH there is not really enough context to know for sure.

</comment><comment><USER7> Those aren't one-for-one interoperable tools, what it seems they're saying is to focus on the back-end for the MVP and leave some UI polish for later. Django is a way of getting the Pythonic environment all the way up the stack, so your Python devs can make the best use of their time.</comment>


Climate change, impacts and vulnerability in Europe 2012 - <AUTHOR> http://www.eea.europa.eu/publications/climate-impacts-and-vulnerability-2012/

<comment><AUTHOR> Some very interesting maps I found in the pdf report which are forcing me to read this.

Potential environmental and economic impact of climate change <http://imgur.com/31j2I>

Key observed and projected climate change and impacts for the main regions in Europe <http://imgur.com/r4Qj0>

Projections of extreme high temperatures <http://imgur.com/d8FVh>

Projected changes in the tourism climatic index for all seasons <http://imgur.com/sv1Nu>

I guess Spain will suffer a lot...</comment>


Principles for a Black Swan-proof world - <AUTHOR> http://money.ninemsn.com.au/article.aspx?id=798993

<comment><USER2> No registration required to read it here:

<http://money.ninemsn.com.au/article.aspx?id=798993>

<comment><USER3> Or if google is the referrer. And since I have HN as a feed in iGoogle I didn't even realise until I came to read the comments.

<comment><USER4> Or if you substitute "True" for "False" in the "Authorized=" part of the link.

</comment></comment></comment><comment><USER5> I'm intrigued by "capitalism 2.0", but I'm at a bit of a loss as to how to get from here to there. There's a lot of government intervention required in Taleb's bullet points that won't happen for decades, if ever. His proposed interventions don't have anything in them for the government in the time spans they talk about and don't leave a lot of room for governments to collect more power and exercise it for their personal gain, which seems to be about all they are good for lately.

What might work is a lot of people voluntarily adopting the aspects of Capitalism 2.0 they can control. The downside is they won't grow as much during the boom times, but come next bust they'll be the only ones left standing. If enough people do that, will the point be made? Can people who eschew leverage and survive during the times nobody else is? If not, Capitalism 2.0 may be beautiful but is fundamentally unstable in its own way.

(It's beautiful to imagine a world where a magic authority can enact perfect legislation to make capitalism 2.0 a reality, but unfortunately, every significant nation-state on earth would have to be brought on board at once, lest one nation-state start leveraging and gain a temporary-but-huge advantage. A full transition would be a boil-the-ocean approach; an interesting question is whether there's a more personal approach that could do some good. The only other halfway realistic prospect would be new colonies that could implement these economics from scratch. Since a new colony would by necessity be on a frontier (space or ocean), they might be open to these ideas. You can't breath leverage or use it for delta-V.)

<comment><USER6> Curious, what advantage?

<comment><USER5> You can't think of advantageous ways for a nation state to use a burst of funding, even if it comes due in a huge way five years later?

It's the same advantage corporations get, only with military options.

</comment></comment></comment><comment><USER7> I always get a little tingle deep inside me whenever I hear about this black swan theory, whats more, suggesting principles for a black swan proof world (I know it's just the title, sensationalism never solved anything) is like pissing into the wind.

It will only come back to haunt you.

"black swans" are just one of those facts of life, The sun rises in the morning, water is wet, shit happens.

Best anyone can do is attempt to minimise the factors that cause Black Swan events, you can never completely eliminate them.

Offtopic point, the black swan is actually the symbol for the West Australian flag (my home state)

[http://media-2.web.britannica.com/eb- media//21/5021-004-C61F...](http://media-2.web.britannica.com/eb- media//21/5021-004-C61F3D04.gif)

So these topics always give me a giggle, because I've seen many, many black swans in my lifetime (actually, probably many more black swans than white swans)

<comment><USER8> Taleb's point is not to reduce the probability of having a black swan, which he essentially assumes to be fixed, but to reduce the impact when they happen. His point is that if you are leveraged 30:1, there will always be black swans that your model says will virtually never happen, but do, and cause your assents to go down by say, 5%, and wipe out your equity and cause you to default.

What Taleb is getting at is that you just shouldn't leverage 30:1, and so if you hit a black swan, maybe your assets go down by 10% or 20% instead of 100% and then defaulting to bondholders as well.

<comment><USER7> _Taleb's point is not to reduce the probability of having a black swan, which he essentially assumes to be fixed_

But the probability isn't fixed, given black swan events are dependent on taking bigger risks. If you minimise risk, you can essentially completely avoid black swan events.

To explain it using the core idea, the black swan was discovered in these regions of Australia. If explorers never took the risk to explore these parts, then they would have never been discovered.

So no, the probability isn't fixed. The probability of a "black swan event" occurring is more or less proportional to the complexity of the system that it relates too and the risk that an organisation is willing to take.

Using the horrible september 11 attacks as an example, Al Qaeda more than likely wouldn't have attacked if they didn't see their way of life as being threatened in some way. This was, for all intensive purposes, an intensely complex political matter which was created as a result of risks taken by previous governments.

Do I think what happened is right? Hell no, lives were lost on both sides as a result of people taking risks that they perhaps shouldn't have. Human error at it's worst.

<comment><USER9> You open your argument with the implicit statement that we can consciously (thus should) control and minimise risk (to the point where black swans are eliminated) - and that it would be desirable to do so. but using your swan argument, to minimise that risk the explorers would have to have know about the risk - how could they? - and then decided that in light of it, it wasn't worth going to australia.

now, i have no particular affinity for australia nor its brash and smelly inhabitants, but frankly, i don't see either of those positions as logically tenable!

<comment><USER7> Well, to explore unexplored areas involves risk of some form, it is just the magnitude of that risk that is unknown.

So then to simply avoid unexplored areas and as such, minimising risk, therefore it could have been possible to never see a black swan.

Now, on a more personal note as an Australian. Black Swans are primarily and originally were native to the Western side of the country in the southern areas, but are also found on the Eastern coast of Oz as a result of human interference. When Australia was "discovered" and originally settled, that was done on the Eastern coast of Australia (hence why the east coast of Australia has about 80% of the total population of the country) and only through risk of magnitude unknown would it have been possible to discover the black swans.

So no, you're assertion is wrong sir. Thank you for insulting a country you know sweet FA about.

</comment></comment></comment></comment></comment><comment><USER6> _Do not let someone making an "incentive" bonus manage a nuclear plant – or your financial risks._

The problem is that you're uh.. incentivizing the wrong thing. This is basic capitalism.

<comment><USER10> I wonder what happens if you pay and give retirement benefits to national and state legislators as percentage of per capita GDP.

<comment><USER11> They will try to create/prop up speculative bubbles?

</comment></comment></comment><comment><USER12>
      Then we will see an economic life closer to our biological environment: smaller
      companies, richer ecology, no leverage. A world in which entrepreneurs, not bankers, take
      the risks and companies are born and die every day without making the news.

      In other words, a place more resistant to black swans.

You got me on "hello"...

</comment><comment><USER13> "I do not think that phrase means what you think it means . . ." oh, wait, who was the author of the article again?

The article is strange to me. First, I thought Taleb scorned the FT crowd. Second, since when did he start writing in bullet-pointed pop journalist style? Maybe this was an experiment or a joke. Or just a bad day.

<comment><USER5> The last line in the article is "In other words, a place more resistant to black swans." I bet an editor "amped up" the title to "Black Swan-proof" without asking the author.

And he may despise the FT crowd, but that is also exactly the crowd his message needs to be in front of.

</comment></comment><comment><USER14> Also no registration required if you copy and paste the headline into Google News, which results in: [http://www.ft.com/cms/s/0/5d5aa24e-23a4-11de-996a-00144feabd...](http://www.ft.com/cms/s/0/5d5aa24e-23a4-11de-996a-00144feabdc0.html)

</comment><comment><USER15> I suspect it is too late to 'fix' the system.

"People who were driving a school bus blindfolded (and crashed it) should never be given a new bus."

Unfortunately for us the bus driver is the gatekeeper to the garage and he decides who gets to drive.

</comment><comment><USER16> It is completely unrealistic to expect any of these principles to be upheld. Capitalism is like evolution: a force of nature. It weeds out the less profitable and that is the _only_ thing it does.

Only the first principle may be upheld by governments: by imposing their own risk calculations, they may be able to ensure that no financial institution gets too big to fail. Not by making sure they do not get big, but by making sure they can always bear the risks.

<comment><USER17> April Fools Day was last week.

<comment><USER16> I'm not sure what you are referring to, but if it is to my assertion that 'capitalism is a force of nature', then I advise you to read Marx. He already understood that capitalism is almost unavoidable in trading systems. It is an emergent phenomenon, like avalanches are emergent phenomena of the combination of snowfall, mountains and gravity.</comment></comment></comment>


Hubcap: A GitHub client for Mac OS X - <AUTHOR> http://www.kickstarter.com/projects/1487030260/hubcap-a-github-client-for-mac-os-x

<comment><USER2> Without wishing to knock Kickstarter, which has provided a platform for plenty of great projects, it's fascinating that people are now willing to pay good money for an icon and a statement of intent (otherwise known as vapourware).

<comment><USER3> Given your response, you might be surprised at the number of angel (or even Series A) investments made almost exclusively on the basis of the individuals involved, sans any tangible product or traction.

The thing that holds Kickstarter projects together is putting one's own credibility on the line. The people who pledge, understand that it would not be worth me publicly destroying my reputation for $2000. And since I haven't solicited pledges above $64, I would argue that I'm taking on a much greater risk than any individual contributor.

I view Kickstarter primarily as a tool for customer discovery, to gauge whether a project is worth my time. It has the added benefit of building momentum behind the project by creating a small army of people who are, quite literally, invested in it.

There are probably other names for this process, but I like to call it IDD: icon-driven development.

<comment><USER4> Are you the developer?

At the very least, if this crashes and burns, there's some more cocoa code out there for interacting with git in a GUI.

I've worked in academia, and there's a name for getting funding based on promises of future results: grants.</comment></comment></comment>


Is the Game Over for MoviePass? - <AUTHOR> https://www.investopedia.com/investing/game-over-helios-and-matheson/ <comment><AUTHOR> A reverse stock split on Wednesday of the owning company of Movie pass at a ratio of 250 to 1, in other words on Tuesday you would have had 1000 shares and then on Wednesday it was all converted to 4 shares.

However, at 9cents per share, assuming you had 250 share the value of your share would be $22.50.... after this reverse split the value fell to $14 a share or using the pre-split price it went from 9cents to 5.6 cents per share on Wed. On Thursday it went from $14 to $6.83. Today (Friday)the stock opened at $6. At 10:30am on Friday it is now $3.47 a share. It is on an express elevator to the basement. They are currently trading at $2.88....now at the close on Friday it is $2 a share or worth 0.8cents a share.

To make this even more of a train wreck, at the special investor meeting this week the investors authorized the company to take two actions, 1.) to do the reverse stock split between 2:1 to 250:1 and 2.) to issue more shares for sale. Currently HMNY has 500 million outstanding shares. The company is now authorized to issue 5 BILLION more shares....talk about share dilution. I doubt they will survive much beyond next week when their short term financing they got last night is due to be paid.

from [https://www.reddit.com/r/movies/comments/92cvln/moviepass_no...](https://www.reddit.com/r/movies/comments/92cvln/moviepass_no_longer_has_any_funds/e34qhns/)

</comment><comment><USER2> >What's concerning investors is that every additional subscriber for the company adds to the loss, since MoviePass pays the theater the full ticket amount.

How is this just now becoming a concern? Was that a secret before?</comment>


Jailbreaking is officially legal - <AUTHOR> http://www.msnbc.msn.com/id/38413597/ns/technology_and_science-wireless/

<comment><USER2> While legal, wouldn't this still void your warranty?

It's a step in the right direction, but next we need a law prohibiting manufacturers from voiding warranties for installing mere software.

Bonus points, if there is a law preventing manufacturers from unilaterally locking general computing devices down in the first place. It should be required to build in an open mode for whoever wants to use it. Locking a computer in a default state for security reasons is fine, but give users the option. It's in the consumer's best interest.

The very restrictive app store approval process, under which an app can be denied because Steve Jobs doesn't like the way an app looks (or more realistically, interferes with Apple's business model) is among the most evil thing Jobs has ever done. It's genuinely evil.

Good first steps from the US government, but we still have far to go.</comment>


Show HN: Nooot – Share text using the key phrase, access it from anywhere - <AUTHOR> http://nooot.co

<comment><USER2> Perfect! Sometimes I need to send a dropbox link from one of my devices to a computer at work to print and stuff. Until now I have always used email or facebook, but because I use long passphrases and a key manager logging in on the other computer is always a hassle. This will serve that use perfectly - use a random passphrase and then paste the link, type in on other computer and then open it from there. Great!

I would love to set an expiry date for this use case though as I only need the link for one minute to retrieve the files.

<comment><AUTHOR> Thanks a lot for the feedback! That's how we use Nooot on our own :) You can just delete the text from the note after you've copied the link, it will be deleted permanently.

<comment><USER2> Ah, I see. I've started a list of use-cases at "uses".

</comment></comment></comment><comment><USER3> Nice! Is it a deliberate design decession to not replicate the key phrase in the url, and have the notes be shareable as a direct link?

<comment><AUTHOR> Thanks. Yes we tried to implement another way of sharing, not standard via url. Instead you can share notes via the key phrase on nooot - very easy to tell in person or via the phone.

<comment><USER3> Surely, DM `nooot.co/keyphrase` is much easier than texting 'Go to [http://nooot.co](http://nooot.co), then type "keyphrase".' So what are the objections against a shareable url? Persistence, security? (Just curious.)

<comment><AUTHOR> We just wanted to make Nooot to feel super "clean" that was the main reason, also security. But we are super flexible and maybe going to add links later if we'll see that people don't feel some kind of distracted by the changed Url. Also it is possible that we are overthinking everything :D

<comment><USER3> I see, thanks. (Plus, I guess getting the slugs right — the mess that comes with percentage encoded unicode chars — perhaps won't be worth the effort.)

</comment></comment></comment></comment></comment><comment><USER4> This is really fun. This is like the Yo for notes! But since its public and anyone can see what I've written, I probably won't use it for collaboration!

</comment><comment><USER5> This is fantastic! I think it would be helpful to be able to change key phrases just by clicking and editing, rather than having to click that arrow button. At the very least move the arrow button to the left side of the phrase.

<comment><AUTHOR> That's a cool idea, thanks.

</comment></comment><comment><USER6> Love super simple ideas like this. Is there a way to link directly to a nooot so I don't have to tell my friend to type in a specific phrase? Is there any way to lock a nooot so it can't be edited by other people?

<comment><AUTHOR> Thanks for the kind words. I like the idea of locking nooots, gonna think about it. Right now you can just choose a longer phrase.

Regarding the link sharing, we wanted to make it that way, because we felt it will be easier later to tell "apple @ nooot" or something like that, or via phone or even IRL. But we will see how it goes.

<comment><USER6> I don't see any reason why you couldn't have it both ways. A link is more convenient sometimes and a phrase other times.

<comment><AUTHOR> Thanks for the feedback, we just tried to make it as "clear" as possible, but your point definitely makes sense.

</comment></comment></comment></comment><comment><USER7> It would be nice to be able to remove entries from the recently accessed key phrase list, and maybe there should be an option when creating a text to not let it be stored in the history, so it has to be typed in each time.

<comment><AUTHOR> Really good points, thanks.

</comment></comment><comment><USER8> I am the bad guy who blocks mixpanel with adblock and the page is blank for me because of that. Not sure if this is intentional or just was never considered?

<comment><AUTHOR> Sorry for that, it is not intentional, we'll fix it.

</comment></comment><comment><USER5> I found the secret.

<comment><USER9> CYOA! That's epic.

<comment><USER5> Check out the story too.

</comment></comment></comment><comment><USER10> Hey Author, this is a really cool idea! I will definitely use this. Just wanted to give you some kudos. Thanks for showing <3

<comment><AUTHOR> Thank you Very appreciated

</comment></comment><comment><USER11> If it's ok, I would like to shamelessly plug a very similar project I finished about 5 years ago:

[http://carpynotes.com/](http://carpynotes.com/)

It's notes plus a todo list. The user manual is auto loaded into the body of any blank note, just delete it and get going, read it first :) If you guys from the OP like any of the ideas, please borrow, the CarpyNotes projects has been dead for a while now, but some people use it on occasion, so I keep it running.

<comment><USER11> I forgot to mention, notes on how CarpyNotes works are also available at [http://carpynotes.com/editor/popups/about.html](http://carpynotes.com/editor/popups/about.html)

</comment></comment><comment><USER12> There seems to be a minor bug where visiting a keyphrase with an apostraphe causes the HTML entity to replace it.

<comment><AUTHOR> Thanks, we'll fix it.

</comment></comment><comment><USER5> I made a 'help' menu to highlight some of the neater stuff I contributed to.

<comment><AUTHOR> Thanks, we'll definetely review it.

</comment></comment><comment><USER13> The keyphrase <script>alert(1);</script> didn't work :p

</comment><comment><USER14> enter `<script type='text/javascript'>alert(1);</script>` as a note phrase, visit another note, then click the door icon

</comment><comment><USER15> I think you found a more direct UI for simple wikis. Nice.

<comment><AUTHOR> Thanks, that's an interesting way to look at Nooot

</comment></comment><comment><USER16> How do you avoid collisions of passphrases?

<comment><AUTHOR> We don't do that, so you can actually collaborate on one note in real time with others.

</comment></comment><comment><USER17> Markdown support would be nice :)

</comment><comment><USER18> I found it really fun testing out various phrases and see where people had written before:

HN

Hacker News

Hello

Test

Nooot</comment>


Ask HN: I use excel to develop code. Is this rational? - <AUTHOR>

While a blogger, I develop and update few lists of ~50 links in HTML. I develop it in excel, it allows for example to alphabetically sort the list and take easy track of items already present. I'm not a professional programmer but is this rational? Besides excel I use sublime text. <comment><USER2> If it works for you, by all means, YES! That's the only relevant question to ask in situations like these.

Changing it to some other platform without a good reason is what would not be rational. Spreadsheets have their uses and this is one of them.

<comment><AUTHOR> Few years ago I heard about some people making architectural projects with MS Paint. Being a professional in that field, it's hard to consider that rational but as you say: if it works for them..

<comment><USER2> Funny you should say that. I built a house in Canada using a very simple grid with the framing diagram on it. This was so easy to do that I hit on the idea of using (no kidding) paint shop pro and I drew the whole thing (all four sides + interior structures) like that and used that to frame the house and clad it with OSB. Worked like a charm.

Low tech solutions are at times very effective, I'm pretty sure if I would have done that design in autocad or some other program that I would have been able to make pretty 3D views and such but it would have taken a whole lot longer and the end result (the house) would have been just the same.

</comment></comment></comment><comment><USER3> I'm also not a professional programmer, but I used to do a lot of data analytics for a large company which required lots of SQL.

I often used excel to track my code and keep it organized. Part of this is that most of my work was done in excel; the SQL queries were just to get the data workable. But, so many things would change and it was easy to use the concatenate features of excel to change variable names, table names, and stuff like that.

<comment><USER4> I am a professional programmer (although not a DBA), and have used excel to generate SQL scripts. You can often just put all the variable in cells and then use string concatenate to add in the parts of a SQL script that repeat. It works well and lets others easily maintain/modify it. These are mostly for throwaway scripts or one-off analysis tasks.

</comment></comment><comment><USER5> A few years ago I was developing against an API...though that's not how I would have described it then. I copypasted tables from a webpage into Excel and used Mailmerge in MS Word to generate a bunch of functions [ok, actually procedures - it was Pascal],

I'm not a professional programmer either, of course. But it worked pretty well and for a one off exercise was a reasonable way to handle tooling. It's pretty lightweight.

</comment><comment><USER6> You're fine. I've seen Excel used for far worse.</comment>


Setting up Emacs as a Ruby development environment on OS X - <AUTHOR> http://crypt.codemancers.com/posts/2013-09-26-setting-up-emacs-as-development-environment-on-osx/

<comment><USER3> Through the 90's and into the 00's I used emacs for the better part of a decade. But then as java became bigger and I 'had' to use an ide to be productive in it, I switched to Eclipse. Then when Rails came along, I switched to Textmate. Of course, TM 2 was open sourced and then I switched to Sublime Text 2. During all this, every 6-12 mos, I would download a version of emacs, play with it, then go back to work.

I know emacs can do everything including make me breakfast, and I think the happiest/productive I've been with a editor was when I could do all my java builds in emacs and run all my tests from a TM 1 window. I _know_ emacs can do the latter - I'm sure someone has written this functionality, probably years ago.

One of the things I always missed with the current editors is split panels - <USER2> used it all the time with emacs. I never really cared for folder icons or a lot of gui chrome and I prefer never to have to use an ide. Maybe now is the time to check in again. :)

*side note: if you are building from brew, be prepared for a big compile. The emacs source is ginormous.

<comment><USER4> I recently switched from NetBeans to Emacs, and while NetBeans did support split windows, it involved carefully dragging a tab to just the right place in the application, then adjusting, then reaching for the mouse any time you wanted to scroll. With Emacs, it's not just split windows, it's split windows accessible via one key command, and a shortcut key to scroll the _other_ window without switching that really boosts my productivity.

The thing I thought I'd miss the most was not being able to use the scroll wheel in the text terminal, but using 'go to next function' and 'go to previous function' key combos, along with making very liberal use of inline search has done a pretty good job replacing how I previously navigated documents.

I didn't think that not having to leave the home row keys was such a big deal but now I have to do it so much less often taht I can feel how jarring it is to my rhythm of working.

<comment><USER5> If you use the gui version of emacs instead of the terminal version you can still use the scrollwheel.

I usually run 1 gui emacs instance with my main development environment and only use the terminal version when logged into remote machines.

<comment><USER6> You can use the mouse + scrollwheel in the terminal as well. Eval (xterm- mouse-mode).

<comment><USER4> I looked into those, but my preference for not ever leaving the home keys is trumping using the scroll wheel for now.

<comment><USER6> You are right to not do so. Describing what is not impossible is hardly advocacy, however. There are a few uses for allowing mouse in terminal emulated emacs of varying utility. Same with the GUI version, but just to get basic mouse/wheel functionality is not one of them.

</comment></comment></comment></comment></comment></comment><comment><USER7> It is probably worth mentioning that el-get is another pretty solid alternative of pallet. I have not tried it though, so if anyone has any comparisons between them, I will love to hear.

</comment><comment><USER8> I love the status bar theme, it mimics Vim's Powerline plugin. Does anyone what package that is?

<comment><USER7> The package is from - [https://github.com/jonathanchu/emacs- powerline](https://github.com/jonathanchu/emacs-powerline) but some of my own customizations. (Author of article here!)

<comment><USER9> Looks great i was not aware of that! Btw... what is that emacs theme ?

<comment><USER10> I'm pretty sure it's buried somewhere in his manifest/cask file.

[https://gist.github.com/gnufied/7160410](https://gist.github.com/gnufied/7160410)

Looks like it says: (depends-on "color-theme-sanityinc-tomorrow") ... (depends-on "noctilux-theme") ... (depends-on "soft-morning-theme")

Sorry, I didn't look into those, but saw he didn't respond. Good luck!

</comment></comment></comment></comment><comment><USER11> Wow, thanks for the tip about web-mode, I did not know about that one. I remember trying "mmm-mode" or something many years ago, and it was just too buggy to work with, but web-mode has worked with everything I've tried so far :-)

</comment><comment><USER12> Rather than do (load "01blah.el") (load "02blah.el") one could use activator--[https://github.com/apgwoz/activator- el](https://github.com/apgwoz/activator-el) which automates that.

<comment><USER13> use-package is also an amazing way to clean up your init files.

[https://github.com/jwiegley/use-package](https://github.com/jwiegley/use- package)

</comment></comment><comment><USER14> Didn't know about enhanced-ruby-mode. I will check it out. Thanks!</comment>


Facebook allows you to download all your data, log in via OpenID, and more - <AUTHOR> https://register.facebook.com/editaccount.php

<comment><USER2> None of this is news :)

<comment><USER3> And you still can't export your friends (except for the useless text list of names).

<comment><USER4> The idea--which I am rather partial to--is that my email address is _my_ information, not yours.

<comment><USER5> So "friends" need your permission to email you ? I am comfortable with the idea that my friends will store my email address in their personal address book (or data store)...

<comment><USER6> No, that's why I have my email visible to friends.

However, that doesn't mean I give them permission to easily mass import it through Facebook to whatever *Ville app is popular that day. If they allowed email export, my email is very quickly being hidden.

</comment></comment></comment></comment></comment><comment><USER7> Same argument I see others posted. I downloaded my data ONLY to get my friends contact information. They don't give you that. The wall posts, photos, and friends names have zero value to me.</comment>


Tricked out iterators in Julia - <AUTHOR> http://slendermeans.org/julia-iterators.html

<comment><USER2> If I remember, Julia has a type system that lets specialized types override general functions. Speaking of performance, can this be used to, say, implement a faster "drop" for something like an array or slice (or a mapping of one)?</comment>


Ask HN: How can one be educated, smart, and believe in God? - <AUTHOR> I'm not sure this topic is appropriate, but I've been wondering this for a while.
I also don't mean this in a disrespectful way. I genuinely want to know how someone can both believe in God, and in science and facts.
How can being educated, smart, and believe in science not clash with believing in God? <comment><USER3> Here's my (simplistic) take: Believing in God (this word is problematic because it has many different uses) is an axiom, it doesn't need to be, or indeed can be, "proven". You just accept it as given as see what logical conclusions can be drawn from it. Think of it as similar to Euclid's fifth postulate ([https://en.wikipedia.org/wiki/Parallel_postulate](https://en.wikipedia.org/wiki/Parallel_postulate)), you can accept or leave it and build a system around either choice. This is actually a fun activity to do, e.g. try to see if whatever definition of God you use imposes limits on the entity, e.g. "Can God create an equal" (if you've read _Weaveworld_ this is how Shadwell tempts the The Scourge, but I digress)

I don't think the above approach clashes with science, many scientists have held religious beliefs.

However, organized religion is quite a different thing from the above approach, which is probably what you are referring to in your question. It seems humanity has needed religion as a bulwark against life's tragedies/evil/etc. from the earliest times (see Gobekli Tepe, [https://en.wikipedia.org/wiki/G%C3%B6bekli_Tepe](https://en.wikipedia.org/wiki/G%C3%B6bekli_Tepe)) and it seems this inherent need is still going strong, although many attempts have been made to stamp it out. Depending on your deposition this may be a sign of the great Truth or an evolutionary bug in our brain's wetware.

<comment> le-mark This is the path I took, as well as asking myself the question "Why am I here?" I _choose_ to believe I am a created being rather than a product of random chance, which leads to "there is a God" to be a true statement and hence religion follows from that. I get that there is some comfort in increasing entropy and all things returning to dust. But IMO there is too much unimaginable complexity in so many things; the biosphere in which we live, the metabolic pahtways in our own cells, the spark that gives rise to consciousness in the standing waves of bio-electricity in our brains. Sure we've learned a lot but there's so much we don't, or may never know about the natural world.

Some would say we just haven't learned about those things yet. I claim some things are unknowable, indeed the science of computation is all about what's computable and what's not.

For myself, I chose to become Catholic as an adult. Catholics don't give a damn about "Creation Science" and other such nonsense. Georges Lemaître was priest who first proposed the Big Bang theory. The fact that the Church doesn't try to explain the _how_ of creation is very appealing to me.

</comment></comment><comment><USER4> We as a species are at Day One of understanding a neuroscience of consciousness. Natural philosophers since the time of Ibn Rushd have vociferously argued that reason constitutes a legitimate avenue for unveiling religious truth. But as of right now, it has been impossible for us to conceive of empirical tests of any theories of divine origins. And it may be 10,000 years of trans-human innovation to acquire the necessary sub-perceptual "eye".

Human single neuron activity precedes emergence of conscious perception

[https://www.nature.com/articles/s41467-018-03749-0](https://www.nature.com/articles/s41467-018-03749-0)

In the short term, I can recommend starting in on the Wisdom Literature and other mystical sources. Begin your own experiments with truth in quotidian life. And pay heed to the minds who have attempted to describe their own ineffable experiences of yore. Best of luck!

[https://plato.stanford.edu/entries/mysticism/](https://plato.stanford.edu/entries/mysticism/)

</comment><comment><USER5> Teleological thinking and IQ aren't particular correlated. It is possible to believe in god across all levels of IQ. Atheists tend to have a lower capacity for teleological thinking. Scientism, as opposed to science in the strict sense, is basically a religion with rational and irrational proponents.

</comment><comment><USER6> I speak as an agnostic, but I think you have to distinguish between strict literalism / fundamentalism and religious belief more broadly.

Literalism / fundamentalism is something that's hard to believe in without willful denial of huge parts of reality. You have to believe in a young Earth and a lot of other incredibly improbable or impossible things. Details will vary by your religious belief but I'm not aware of any that don't contain total falsehoods when interpreted literally.

Not all Christians or members of other religions are literalists. In fact I'd say it's probably not even the dominant position theologically. Its popularity in America probably biases many peoples' views.

More philosophical forms of theism don't suffer from that problem. Theism broadly defined amounts to the idea that there is some consciousness or analogous entity or process behind the universe. The root of _theism_ is the same as _thesis_ and _theory_. It amounts to saying that the universe is or was created by something teleological or with some goal or idea in mind.

This is probably an unfalsifiable idea, so it goes beyond what science an deal with, but it's not impossible to entertain rationally.

Edit:

I also have to point out that non-belief in God does not imply or necessitate rational beliefs. I see a ton of atheists that hold extremely irrational beliefs about all kinds of things. Atheism just says what you don't believe, not what you do.

<comment><AUTHOR> Nice point.

Science makes the assumption that we are real, and the universe exists.

Perhaps religion makes other assumptions in that space, which science don't mean to solve but rather accept as truth to move on to more practical applications?

</comment></comment><comment><USER7> The same way one can be educated and smart and think there is inherent meaning in existence. Science has no other function than to further the understanding of how the universe works, while the people of good are content with leaving what the don't understand to the workings of god.

Neither will save humanity from the inevitable heat death of the universe.

</comment><comment><USER8> I don't have anything particularly insightful to add, but perhaps search the archives of /r/AcademicBiblical and /r/AskBibleScholars for some perspectives (or submit the question).

There is an interesting lecture series by Donald Knuth on this topic which I've listened to multiple times. It's described here [0], but I can't find the recordings. It appears a condensed version was given at Google 10 years later [1]

[0] [https://www-cs-faculty.stanford.edu/~knuth/mit- lectures.html](https://www-cs-faculty.stanford.edu/~knuth/mit-lectures.html) [1] [https://www.youtube.com/watch?v=JPpk-1btGZk](https://www.youtube.com/watch?v=JPpk-1btGZk)

</comment><comment><USER9> God is the name the educated and smart still give to one possible originator of all this world we live in, it is not important its form and dimensions. With the progress of science and technology, we will be able to replace myth with facts, but the fundamental questions will stay long enough. Big jumps in comprehension or quick annihilation might come from contact with alien civilizations or superior entities so, if a God exists for humans, we better hope it is benign.

</comment><comment><USER10> I'm an atheist myself, but I know Jon Skeet of stackoverflow fame believes in God and answered that question on his blog 10 years ago:

[https://skeetfaith.blogspot.com/2008/04/synopsis-of-my- faith...](https://skeetfaith.blogspot.com/2008/04/synopsis-of-my- faith.html?m=1)

</comment><comment><USER11> The truth is that we _know_ almost nothing. That fact clashes with virtually everything we assume in our everyday lives.

<comment><AUTHOR> Sure, but what we know, we proved it, and what we don't know doesn't mean "God", it just means "we don't know".

What's your point, here..?

<comment><USER11> The point is that there's nothing particularly special about belief in God (whatever that might mean). We literally know nothing about almost everything. All believing, all knowledge, is a clash with reality. See for example the Allegory of the Cave, Descartes, etc.

</comment></comment></comment><comment><USER12> Your premise is wrong - there's no contradiction between God and science.

</comment><comment><USER13> Belief in a higher power provides a powerful emotional/psychological need. Being more educated will strengthen your critical thinking skills. But if you have a deep need to believe in God, you will.

</comment><comment><USER14> You should look up some writings on the topic by Freeman Dyson and Sir Roger Penrose.

They are among the most accomplished and respected theoretical physicists in the world, and both are practising Christians.

</comment><comment><USER15> I'd start with C.S. Lewis's _Miracles_ for a take by an educated theist. Tim Keller's talks at Google about the reason for belief cover similar ground.

</comment><comment><USER16> Firstly, smart people know that we don't know everything, and probably can't, and science, as we have formulated it, can't explain everything. Its often the less smart and the wannabes that go around touting science as the ultimate yardstick for discovering and evaluating the "truth". History of science is ridden with examples, and that pertaining to all things of consequence, of how people kept accidentally discovering newer and newer forces in nature that always existed but are beyond human perception, so who knows what else awaits discovery. Smart people know and acknowledge this but don't say it out loud for it may be misconstrued as propounding esoteric theism etc, resulting in unfavorable branding, because science is in the hands of the mob, just like democracy is, and the mob lacks reason and knowledge.

Secondly, one must not conflate belief in a supernatural entity such as god, or even devil, and practicing religion rife with rituals and dogma. Its a major philosophical blunder that has been happening, again, perpetuated by the ones who don't quite understand these things and are eager to appear science-y.

Thirdly, when these amateurs attempt to disprove existence of god, they are really simply falsifying the assertions made by religions. Look closely. They take specific quotes from the religion they are attacking and show the absurdity of it using logic. This is far from disproving existence of god. They can't disprove because the believers cannot prove, and if you press them about it, the true believers that is, they simply say its their gut feeling, which is fair.

Another thing I find amusing is how the god denouncers challenge the believers to ask their god to perform miracles, like, say, curing a fatally ill person, by praying. This is again their imagination of what god is and what god does, which is basically taken from the religion they are attacking. These lot never cease to amuse me.

Now, does it mean god exists? I personally don't think so (actually I don't care), and I can't justify it beyond saying its just my gut feeling, which is exactly equal and opposite of the believers'. Debating gut feelings is futile. We can go into depths of human mind to answer this, but its a labyrinth we haven't cracked yet; we only have theories, conjectures and corelations.

There are three questions that humans ponder that I find to be incredibly waste of intellect - does god exist, where did universe come from, what is life. I find them wasteful since its my firm belief (ha!) that we will only find more bread crumbs but never reach the destination. I would rather people engage their intellect in improving the real and tangible, aka society.

Personally, I have no problem if a smart person believes in a higher power, but there is nothing redeeming about smart people who follow rituals laid down by religion, and I reevaluate my view about their smartness when I find out. In the edge cases where unquestionably smart people such as scientists, mathematicians, musicians etc are religious, I simply separate their achievements from their philosophical bent, and pity them for the latter, for there is no reason to discard beautiful art and hard science they produced just because they light a candle at midnight and stand on their head for three hours to please their god because their scriptures instruct them and their priest approves it.

</comment><comment><USER17> I find it profoundly unsatisfying, but this may be a good starting point for further exploration:

[https://en.wikipedia.org/wiki/Non- overlapping_magisteria](https://en.wikipedia.org/wiki/Non- overlapping_magisteria)

<comment><AUTHOR> Interesting, but I think Dawkins has a point: religion does interfere with scientific matters.

Maybe, if one doesn't take the Bible literally, but as a metaphor? But then again, for thousands of years the Church said we should interpret it literally.

<comment><USER18> >... for thousands of years the Church said we should interpret it literally.

This is completely false.

Source is the Catechism of the Catholic Church:

[http://www.vatican.va/archive/ccc_css/archive/catechism/p1s1...](http://www.vatican.va/archive/ccc_css/archive/catechism/p1s1c2a3.htm)

In Sacred Scripture, God speaks to man in a human way. To interpret Scripture correctly, the reader must be attentive to what the human authors truly wanted to affirm, and to what God wanted to reveal to us by their words.

In order to discover the sacred authors' intention, the reader must take into account the conditions of their time and culture, the literary genres in use at that time, and the modes of feeling, speaking and narrating then current. "For the fact is that truth is differently presented and expressed in the various types of historical writing, in prophetical and poetical texts, and in other forms of literary expression."

<comment><AUTHOR> Nice. When is this document from?

<comment><USER19> The linked document is from 1992 (commissioned in 1986). However, I don't know when the ideas in this section became part of Catholic teaching. The Catechism assembled ideas rather than created them, they already existed in other sources (biblical or prior writings of the Church or scholars). Thomas Aquinas and others are cited in the footnotes so at least the core of the idea (that the Bible isn't meant to be entirely literally interpreted) within the Church dates back to their writings. However their acceptance (that is, whether the Church declared these ideas official canon or just valid non-heretical ideas), I can't say when that happened.

</comment></comment></comment></comment></comment><comment><USER20> I would like you to ponder over why you narrowed the issue to one of "God". For me, I tend to wonder why people even narrow down to "religion". When you start thinking of the level of "faith", then you see much more in common with what we normally think of religion and other spheres of life. At that level, you realize that the notion of religion is nothing all that different, and even wonder why it has a special name - because people who cling to any ideology based on faith often will act in ways similar to what you see amongst religious folks.

Examples of other faiths: Environmentalism, capitalism, communism, socialism, all manners of diets. Many beliefs people have about the body and health are rooted in faith type thinking.

Note: This is not to say that if you are an environmentalist, or a capitalist, then you are necessarily indulging in faith based thinking. Just that many (most?) who do are that way. If you have any belief in your brain that you are not willing to abandon, that is faith based thinking. When you look at how such people approach the subset of the world involving their faith (e.g. when confronted with contrarian evidence), you'll see behavior that differs little from religious folks.

Examples of faith based thinking:

"I firmly believe everyone is born with equal mental abilities."

"I believe anything humans have eaten for centuries is not bad for the body. And anything not tried and tested will cause problems to our health."

"I believe as long as one follows X diet they will not have Y health problems."

"I believe that as long as one follows X workout program, they will not have Y health problems."

"I believe if we don't interfere with the ecosystem, then the outcomes will be better for humans who live in this world."

"I believe that without societal pressure, the normal state of a human is good/evil" (substitute specifics for good and evil, like kind/greedy)

"I believe that the most efficient health care is through a free market economy." In fact, based on my observations, most non-experts' views on economics and its impact on society is heavily faith based. People have passionate arguments about it with very little to back what they believe.

I spent over a decade in academia. Trust me: Even though many academics are atheists, they are definitely religious in other arenas of life, and generally are not willing to confront their beliefs. This is true even if you limit to the natural science/engineering departments. From my experience, if many/most scientists are atheists, it is mostly because of their culture (i.e. indirect peer pressure) - similar to how my friends who move to heavily liberal cities tend to become more liberal. It is not because of their training and introspecting about life and the universe. They'll easily become atheists, yet not confront all their other non-fact based beliefs.

So with that all in mind: Smart, educated people can easily believe in God if they are not part of a community that has decided to shun God. They have many other beliefs, and a belief in God is merely one more unsubstantiated belief.

<comment><USER21> Have you read Yuval Noah Harari's Sapiens? His central claim is that the -isms are all just like religion, in that one needs faith to believe they exist. Indeed, he postulates that the way humans have come this far in civilization is by collectively believing in complex ideas.

<comment><USER20> >Have you read Yuval Noah Harari's Sapiens?

I have not, but a friend did recommend it to me earlier this year.

>His central claim is that the -isms are all just like religion, in that one needs faith to believe they exist.

I looked at my comment after reading yours, and realized almost everything I listed is an "ism". That wasn't intentional, but I guess it's also not surprising.

Somewhat on a tangent: In the last so many years, in various conversations, if I'm asked what I think of <insert random -ism>, I tend to respond "I don't believe in it." Or more nuanced "It has some interesting points". The problems I've had with -isms is that people are initially attracted to a particular -ism because something in it rings true for them. But then over time they start pushing things simply because they are part of that -ism - <USER2> critical thinking. I'd rather not be pushed into accepting it wholesale. They'll defer a little too much to leaders in that particular movement. Invariably, they'll unnecessarily believe something that is espoused by that ideology but may be in conflict with the world.

Along the same lines, I'm a bit wary of making any ideology part of my identity. As an example, many of my beliefs may coincide with what in the US is called liberalism, but I will never view myself as a liberal. It's totally fine to be liberal in some ways and not in others. I have my own identity, and it is influenced by many ideologies - but I don't want to add things to my identity just because I am partial to that ideology. And I definitely don't care if someone points out that some particular view I hold is not consistent with liberalism.

If you've read the book Influence by Cialdini, this is essentially guarding against the consistency principle.

</comment></comment></comment><comment><USER22> You don't in my experience.

There are many smart religious people out there, but personally I couldn't reconcile it.

<comment><USER7> Same could be said from the other perspective I suppose. It is difficult to understand why others think the way they do, because the only thing we can observe is how they appear to be, while we have full access to the internet workings of our head.

<comment><USER22> >Same could be said from the other perspective I suppose.

Sorta. I used to be religious so I'm well aware of "the other perspective" & how persuasive it can be.

It's kinda difficult to contrast the two perspectives without it coming across as condescending so I'll just leave it at that.</comment></comment></comment>