skysight-inc/HackerNews huggingface dataset:
Anything sufficiently challenging and plain-spoken will experience external forces that attempt to dismiss, discredit or co-opt it - starting with one's own self.

As well, ideas that are serious and challenging require the reader to make a great, intentional effort to understand them. Rationalization mechanisms will always find ways to avoid understanding otherwise. A narrow band of "interesting" is allowed, but not something which triggers defensiveness.

Thus, the optimal way to teach the reader is to find a way for them to engage in play with the idea and solve a mystery that unlocks the real information, creating the intentional effort without waking up the rationalization guards.

Conspiracy theories act as the foil to "mainstream" propaganda by presenting a story which is just fractionally harder to follow, but not tremendously so; the initial reader effort is basically one of "what if They are lying to me?" Subsequently the reader is showered with evidence that yes, they are being lied to. This point and counter-point effort allows people to remain anchored in a binary, yes-or-no, right-or-wrong framing of events and actions, where their identity and opinions can remain stable and confident.

There is an inevitability that a popular medium will hew close to surface dualism. Anything that achieves more in that realm hides something of itself.

Another way to think about it is that understanding is concentric - the group in the innermost circle can't directly speak to the folks far in the outside. They have to teach the people they're adjacent to, first. In the process the understanding may become a little more basic and limited, but still more "correct" to the expert's understanding.
>Do we really prefer to pretend dead people never existed in the first place?

I think that we consider facebook, a commercial entity based on data-mining every scrap of information it holds, an inappropriate place to memorialise our loved ones.
> I'm not following you here.

Any marginally non-trivial macro is a compiler, by definition.

> The macro gets expanded at compile-time into 'normal' source code, by the compiler.

Macro expands a DSL inside it into the underlying host meta-language code. In other words, it compiles this DSL into the host language.

For example, a macro which defines a parser. Inside it is a BNF (or PEG), a very high level language. Macro must compile this language into Rust, and, since it is a very high level language, there are tons of optimisation opportunities that would be totally missed by the underlying Rust and LLVM because they lack this domain-specific knowledge.

Your macro will compile this source DSL in multiple stages (well, because this is the only sane approach to compilation anyway, read about the Nanopass framework for more details). First it will operate on an AST level, do some analysis, error reporting, inlining, may annotate the detected left recursive nodes and binary expression nodes. Then you'd lower it down into the trivial Packrat building blocks - still a tree. But now you notice that there is a lot of redundant reads from the input stream, and if you flatten this tree into an SSA you can optimise them all away.

Alas, after such an optimisation you'd have to promote it back to tree in order to generate Rust, because there is no `goto`.

And this is only one trivial example. In my practice there were dozens such DSLs. For example, same story is with an optimising WAM-based embedded Prolog DSL, multiple querying DSLs, tree walking DSLs (which are essential for implementing macros efficiently).
JDK stands for JDK Enhancement Proposal. You can get an idea about of the progress from the linked issue tracker entry.
> and how templates and code should be kept separate... But then I tried it, and I realized just how wrong I was.

Indeed. In fact, experiments with different configurations have led me to start developing large React applications using a system that organizes applications by components like this:

src/index.js
src/ButtonThing/index.js
src/ButtonThing/view.js
src/ButtonThing/controller.js
src/ButtonThing/model.js
src/FormThing/index.js
src/FormThing/view.js
src/FormThing/controller.js
src/FormThing/model.js

Then, you can simply import these components using something like:

var FormThing = require('../FormThing');

And you can compose them, with one large component consisting of multiple small ones. For this reason, I've found it useful with large applications to create a separate library of smaller components that are used in multiple larger components, so I don't end up having to hard-code multi-level imports (ie, '../../../MyUsefulComponent').

You'd need to use a slightly different structure with ES6 modules, but the main idea is the same.

If you're using something like Flux to manage data, you can probably skip using the `model.js` modules and simply stick with a `view.js` and `controller.js` (or however you wish to name it).

The way I've done this, all CSS goes into the view.js modules, but you could use a separate style.css in each component.

I've found that this organizational approach works great for large JavaScript applications.

Finally, regarding testing, with React I've finally been able to consistently apply easy command-line unit testing to DOM code without worrying about setting up PhantomJS or JSDom and struggling to get initial tests working. It's made unit testing much, much easier, and I find I'm much more inclined to keep a high level of test coverage maintained with React applications than with previous JS applications I've created. React makes testing very easy (I know AngularJS also is said to offer easy testing, but I've not used it outside of a few small JS applications).
OOP and functional has never really been a meaningful axis to categorize programming languages. There are more difference between Smalltalk(OOP) and Java(OOP) than say, Smalltalk and Lisp(supposedly more FP).

It's probably better to categorize things based on (pick one of) semantic, runtime (JVM vs Beam vs blablabla), productivity, correctness, readability etc.
And if you like Dan's talk, check out his blog post My Inspiration to get some more background on the topic. https://medium.com/@dan_abramov/my-inspiration-ce454ab65f33

BTW vjeux, great job at React Europe!
Theories backed by interpretations of the facts that most experts disagree with? You mean like scientific racism, anti-vaccing and climate change denial?

There would certainly be an audience for such a publication, though whether you'd want to pander to it is another question...
Like I said, an "experiment". Really a "thought experiment" since I don't see this being constitutional anywhere in the USA, and I'm not familiar enough with other countries to know where it could be tried.

Here's something simpler: Look at your previous year Federal tax return. If it shows that you paid even $1 in taxes, you get a vote in Federal elections. If not, then no vote. Same with State taxes.

Simple enough? Or would that still give too much representation to "the wealthy"?

Edit: I suppose one could voluntarily pay $1 in taxes just to get a vote. But this would probably be considered a "poll tax", and that has definitely been ruled unconstitutional in the USA: https://en.wikipedia.org/wiki/Poll_tax_%28United_States%29
Redux doesn't care what you use for state, so you may (or may not) use ImmutableJS too.

Here's an example of the “getters” concept with Redux: https://github.com/faassen/reselect. (Sorry, no README yet :-( ). They don't have to be inside the core.
The dirty secret is: they're probably all fine.

It's unlikely that you will choose a flux lib that will be the make or break point of your application.

Even if a library stops being "maintained", most decent flux incarnations are really small (~100 LoC) - it's unlikely that there's some fatal flaw you'll be stuck with.

In summary: redux is neat, but don't beat yourself up over choosing the perfect flux lib - just grab one that you like the look of and move on with building your application.
I don't think there's a reason to be limited to 3 programming languages. Perhaps you can only be fluent in 3 languages at once, but knowing more languages is definitely not harmful. I know more than 10 languages to a degree where I have written at least one non-trivial project with them. I can't claim to be fluent in all of them at this moment, but I can quickly ramp up to a productive level in a matter of a few days.

Now if I had to pick three languages, they would probably be something along the lines of:

1. C. This language has been relevant for 40 years, and will remain relevant for at least another 40 years. Low level understanding of computer operation is paramount for a lot of advanced tasks.

2. Python/Ruby/Lua. A dynamic "scripting" language is very useful to get stuff done quickly when you need it.

3. A functional language: Haskell, ML or Lisp. Knowledge of this paradigm will make you a better programmer, regardless whether or not you get to use it in your day job.

There are languages I'd like to add to this list, namely something like Java/C# (a "managed" imperative language). And then some "brain teaser" languages to expand your horizons, Prolog is a good one for a rainy weekend and doing some simple Brainfuck programming because Brainfuck is to Turing machines what Lisp is to Lambda calculus.

But I disagree with the "3 languages" rule here, I'd recommend trying to learn a little bit of a new language every year. Next on my list is Rust.
Two other things that cause Finder to show stale data:
- change the icns file inside an app
- enable 'calculate all sizes', then delete a file in a subdirectory

There's no easy way to refresh due to the various levels of caching involved. Closing and reopening windows doesn't help. In the icns case, not even killing Finder helps. So I assume that even if Apple wasn't fundamentally opposed to a refresh button in the UI, it would be non-trivial to implement the back button.
An Html Editor translator built with node and angular
Your horror is completely justified: this is not correct C++.
Accessing an object after it has been move()d it squarely undefined behaviour
I always think of the X in std::move(X) as an object that is about to be destructed. I.e. treat a bit the std::move cast as a marker for destruction
That's a separate question though. Fact of the matter is people do tend to put an enormous part of their lives on social media platforms. So it's on there right now, which is too late to consider if it was a good idea to trust an unreliable medium to steward your data to begin with.

What I'm concerned about is that when a friend or family member dies, you have to cope with the loss of the person, but on top of that Facebook forcibly arranges for you the loss of all corresponding data as well. They're effectively saying "Well, this guy's dead now, so we're taking away the documentation of all shared memories with that person. We're honoring the deceased by erasing their digital existence as best as we can."
They all boil down to the same thing. I use this one https://github.com/acdlite/flummox minimum boilerplate
I agree with you wholeheartedly. I think that the popularity of Minecraft speaks to a very real deprivation amongst many middle-class westerners.

I have read any number of thinkpieces about the hazards or the educational value of Minecraft, but not one of them meaningfully described the sheer beauty and joy of the game. I'm an adult with plenty of life experience and I find Minecraft to be an intoxicating experience; I can only imagine the effect it would have on a battery-farmed kid from a sterile suburb.

If you're worrying about your child being obsessed with Minecraft, ask what sort of experiences they're getting from the game that are lacking in their real life. Watching the sun rise over a soaring mountain range. Illuminating a newly discovered cave system and seeing a vast cavern reveal itself. Planting seeds, watching them grow and harvesting the crop. Building something for the pure pleasure of creativity and showing it to your friends.
Should Mapcodes replace GPS?
Why feminists are so annoying
What's wrong with writing an emulator just for the fun of it?
I've tried a few times to suggest the idea that people should have more say in which sections/parts of the government their tax money goes to. Similar to the HumbleBundle, with of course the "total tax amount" not being an amount people can change at will. I.e. they still pay taxes, just that they determine where to put more/less.

I.e. let's assume all of government is composed of:

Welfare

Education

War/Military

Police/Protection

By default, individuals start off giving in 25% into each bucket. You know, you could even put limits... e.g. "no more than 70% into any single bucket" and "no less than 10% for any single bucket".

These are just examples, obviously it's not perfect and/or ideal. But the fact that in our modern/digital age we haven't even considered and tried such a thing smacks of absolute hypocrisy. We don't "govern" ourselves in any sort of remote way, and to tell us so by virtue of "noble democracy" is an outright smack in the face if you ask me.
Yes. I had one. It died suddenly and left me with a £400 bill for a new one. Fortunately I backed up the NAS to an external disk but from this and other experiences, I've come to a general rule:

the reliability of a backup system is inversely proportional to the number of moving parts

Hence why I use beyond compare to manually sync files to two physical mediums from the master copy on my laptop. One encrypted USB stick I carry on me at all times and one hard disk that lives in a fire safe.
I've found markdown failing for me for very simple things.

Someone suggested ASCIIDOC as an alternative with similar feeling of being easily editable and readable as is. This was posted on HN a while ago

https://medium.com/@chacon/living-the-future-of-technical-wr...
That's not really a solution either. You really expect your house guests or people visiting a museum or event to do a technical reconfiguring of their phone just to interact with the installation or game?
Your phone's delicate circuitries don't have to be as radiation-resistant either.
The experience described in the article is, imho, quite common. The spontaneous positive ones are of the type you experience in sports, when you are in "the zone". Priceless experience. And the negative ones occur in times of danger - you want to forget these, but that's nearly impossible. Meditation gets you there as well, and with some side-effects, I'm told drugs do too. I read a hilarious account by PJ O'Rourke of how still time stood during an ill-advised drugs and dynamite experiment with some of his buddies.
Because Clojure isn't a pure functional language, transducers may be stateful. `take` uses a volatile (i.e. a fast, mutable variable) to retain state. I don't believe a `flatMap` transducer exists in Clojure yet.
This series of posts is amazingly well-written, it explains the steps involved really well IMO, thoughtfully ordering the code snippets to make understanding each step simple.

As a perl user, I'm also highly biased as it's nice to see a perl article on HN once in a while :)
There needs to be more web tools with hot reloading support
In the past when CRT monitors were in usage,the ui needs to be painted on the screen.The crt technology refreshes screen so that pixels can work properly.If they are not refreshed,then some pixels become 'dead'.
I had not thought of it in this light. The context I had in mind was propaganda and other stories published by mainstream newspapers.
> Facebook also offended a fair number of bereaved people with its Year in Review clips [...] The problem was that for some, these were pictures of dead loved ones."

There was a recent ad on FB from a maker of teapods that said something like "share a cup of tea with your dad". Unfortunately, that ad was shown to people whose fathers were dead or abusive. My dad died before FB so I've never had any account in my friends list that an algorithm could consider to be my father. I'd link to it but I genuinely have no idea how to link to a Facebook post. :-/

https://www.facebook.com/TassimoUK?pnref=story and the "Share a cuppa with your dad and show him how much you care this Father’s Day ‪#‎ChooseNotToChoose‬" which has about 500 comments of mostly people saying their father is dead.
A compiler takes a text from one language and translate it into text of another executable language.
Really, for the best, select commentary, you need go no further than popehat. http://popehat.com/tag/prenda-law/

Some of the judges presiding over these hearings have dropped quotes that will echo through legal chambers for years. Very entertaining indeed :-)
That looks great, I'll give it a try at work!

Basically, if I understand well, it's a GUI over `git add -p`. Instead of the CLI short diff, you get a `meld` instance that computes the diff between two (virtual) directories, one with the modified files of your git, one with the current index. And like `git -p`, you select what you want to add to the index.

That seems great to have a global vision of modifications, and to be able to navigate between the differents files to remember exactly what belongs to the commit!

I had such a tool in mind since I discovered `git add -p`, thanks for working on it!
I once experienced something similar in a beach volleyball match. We were up to a pair of much better...and much larger... players, but we were highly motivated and had a lot of fun.

Suddenly I noticed that everything slowed down A LOT and I could easily receive full blown attacks that were 3m away...not always clean though, as my body did not move fast enough.

It is very pleasing to read something about it here and remember this experience. I hope this "feature" will be researched more, so that everybody could unlock it at will.
I do not know "Mathematics: From the birth of numbers" but judging from the Amazon quick view it seems to cover a lot of ground (BTW: one thing I missed in my list are the basics of differential equations).

Over 1000 pages is quite a long read, though. I never managed to read a (science) book as big as that from cover to cover myself. One thing I learned through the years is to never use only one book for learning. Books have different styles and not every style fits to every student. Additionally one book might be good at one specific topic and weak on another. So nowadays I always use a couple of books (or online resources) to learn a new topic.
Show HN: A simple utility for counting word frequency, written in Rust
On some level the current problems stem from the EU growing too fast, both in area and in features. Adding yet another feature will not work, it will only ensure the eventual breakdown of the system. What's needed is to pause the expansion and the degree to which nation states are forced to give up their sovereignity and when (if?) the kinks are ironed out of the current setup to review what the best next step is and then to implement that step very very slowly with signficant buy-in of the various states in the union. Only then will the trend be reversed.
And German banks are not the same thing as the current Germany
Do you have a portfolio? This is likely the most important factor. Proving your skills is a good start.

I think every programmer is self taught to a certain degree. You learn very little in tertiary education when compared to working 40+ hours a week as a programmer - in my opinion of course.

I learn by doing things, whereas others learn better in different ways.

Good luck!
When the Greek government originally borrowed their debts, they did so mostly from commercial banks in other EU countries. Therefore, the first Greek crisis was systemically dangerous. It had the potential of dragging the entire EU banking system into the mud. In the meanwhile, these commercial EU banks have been able to offload their Greek debt paper onto their own governments and onto supranational EU organizations. Today, a Greek default would no longer put the EU banking system in jeopardy. It is the European Financial Stability Facility (EFSF) and similar organizations at national and international level that would see a hole appearing in their financial paperwork, if Greece defaulted.

Therefore, the point of view of Alexis Tsipras, the Greek prime minister, makes a lot of sense. Let Greece simply default and let the current debt holders dump the Greek paper on the open market, where it will trade at cents to the Euro. Inasmuch as Greece finds more money in the future, the Greek government can try to buy back debt paper in order to destroy it. The current holders of Greek paper would indeed lose money but in fact they have lost that money already. If they simply had the courage to let the open market value their holdings, they would see today already that most of the value has already gone. Nobody has any hope of seeing the money back represented by the Greek debt paper. Why not just admit it?

Historical lesson: Borrowing large amounts from EU banks is a one-way bet. Their governments will not let these banks go bankrupt and therefore, if need be, they will take over the debt. Since these governments cannot collect the debt either, they will eventually have to forgive the debt.
Too late. Learned Clojure.
One of my favorite talks I've seen. Highly recommended.
That's a hard question and I expect there'll be lots of wildly different answers. This is applicable to me, as an EU college non-CS dropout.

What matters most is to show competence. If you can make someone interested in some things that you've built, you can probably make do without a degree, but you'll have a tougher time getting through the door.

My two cents is try to stick with your formation, while you build yourself something impressive. Chances are you'll pick up something useful and the social network of peers will help you at least as much as the formation itself.

Best of luck whatever you choose!
Where are Python macros?
> And unless you got lucky and didn't delete your sign up email there is no possible way to find out.

What, do people really delete read email?
Only in films. They are totally different people.

Is the same oversimplification as to say that Greek people is the same thing as Goldman Sachs plus a few corrupts in Greece.
The better alternative might be something more like this:
https://www.youtube.com/watch?v=8SkdfdXWYaI#t=9m
> my point was that it seems like the shift away from Plan 9 or 9front or whatever took place in the late 2000s

I didn't see that happen.
Usually about a month or two. A radar and/or email can help.
It seems likely introductory courses will keep you bored if you are already interested in programming and/or CS. There is a lot to be gained from the higher level material, but you can also be productive with self-taught skills in many application development environments. To grow with your career, though, you will need a deeper background than self-taught programming skills, whether it comes from a parallel study of CS concepts or general scientific or mathematics training.
I'm pretty sure he was irritated they tried to appropriate the name.

Gruber's logic is something like: I named my thing Markdown, please don't use that name without my permission (read the third term of the license: http://daringfireball.net/projects/markdown/license ).

The logic of the (at the time) Standard Markdown people was something like: screw that, you aren't even making any of the changes we need to your project.
That happens at a much, much lower level than we're talking about here.
Apache Tajo (distributed and parallel SQL engine on Hadoop) 0.10.1 Released
> I had such a tool in mind since I discovered `git add -p`, thanks for working on it!

Eclipse's egit plugin provides visual partial staging.
Surprised the article doesn't reference the stroke of enlightenment [0].

Makes you wonder how much awakening (as described in linked video) is more accident than act of volition/determination (e.g. dedicated meditation/spiritual practice). Perhaps the latter sets the stage for the ultimate accident to occur.

https://www.youtube.com/watch?v=UyyjU8fzEYU