skysight-inc/HackerNews huggingface dataset:
The idea that functional programming is a type of inversion of control reminds me of similar idea I had, when comparing OOP and FP.

In OOP, you encapsulate data into objects and then pass those around. The data themselves are invisible, they only have interface of methods that you can apply on them. So methods receive data as package on which they can call methods.

In FP, in contrast, the data are naked. But instead of sending them out to functions and getting them back, the reference frame is sort of changed; now the data stays at the function but what is passed around is the type of processing (another functions) you want to do with them.

For example, when doing sort; in OOP, we encapsulate the sortable things into objects that have compare interface, and let the sort method act on those objects. So at the time sort method is called, the data are prepared to be compared. In FP, the sort function takes both comparison function as an argument, together with the data of proper type; thus you can also look at it as that the generic sort function gets passed back into the caller. In other words, in FP, the data types are the interfaces.

So it is somewhat dual, like a different reference frame in physics.

The FP approach reminds me of Unix pipes, which are very composable. It stands on the principle that the data are the interface surface (inputs and outputs from small programs are well defined, or rather easy to understand), and these naked data are operated on by different functions (Unix commands). (Also the duality is kind of similar to MapReduce idea, to pass around functions on data in the distributed system rather than data itself, which probably explains why MapReduce is so amenable to FP rather than OOP.)

It also seems to me that utilizing this "inversion of control" one could convert any OOP pattern into FP pattern - just instead of passing objects, pass the function (method which takes the object as an argument) in the opposite direction.

I am not 100% convinced that FP approach is superior to OOP, but there are two reasons why it could be:

1. The "nakedness" of the data in FP approach makes composition much easier. In OOP, data are deliberately hidden from plain sight, which destroys some opportunities.

2. In OOP, what often happens is that you have methods that do nothing rather than pass the data around (encapsulate them differently). In FP approach, this would become very easy to spot, because the function that is passed in the other direction would be identity. So in FP, it's trivial to cut through those layers.
Sigh. Isn't this why Apache 2 and GPLv3 have patent provisions, so we don't have to reinvent free software licenses for projects. Even if it isn't a big deal, I wouldn't trust a patent license that isn't FSF approved.
Was an Old Stadium Repurposed as a Housing Project?
Yes, I personally wasn't trying to convey anti-CloudFlare sentiment, I even said "and other CDN providers"

I don't think this is a 'CloudFlare vuln' or the responsibility of CloudFlare to resolve etc...

I maintain that it is sloppy work that leaks the underlying webserver IP, but also that few people care about doing so.
I occasionally receive spam via MC, which I then forward to MC's abuse desk along with a polite note. Every time they have responded quickly and effectively. (Don't forget to tell them that their efforts are appreciated - they do a hard job, and they like attaboys.)

It's why I don't blacklist MC; in my experience they are trustworthy, and bulk mail does have limited, legitimate use.
Considering that mailchimp is one of the big names in the business i don't think this is submarine PR (Although the article is good PR for mailchimp). Do you assume every article about a Google or Microsoft product is submarine PR?

[I am not in anyway affiliated to Mailchimp, and don't even use their services. We use Amazon SES]
Hello WWDC
I'm not sure it's possible to write a piece of software that only you understand, that is of high quality (works reliably). I feel like code correctness (what a computer does with it) and readability (how well a human understands what is written) are two sides of the same coin.

I think I would argue that if someone has happened to write a program that is impossible to understand for human readers (unreadable), and yet it does exactly what it's supposed to do (is correct), at the very least this program will break when the author starts to refactor it, which always needs to be done at some point.

I agree that conveying an idea to another human being through code is useful, but I think the number of times a human being has written a piece of computer code only to convey an idea to someone else is fairly small. If I want to convey an idea to another person I write in words and concepts, but if I want something faithfully executed every time, I need to write the code. And perhaps someone will look at this code later, but the origin of the code was always to get something done, not conveying an idea to someone else.
My biggest pet hate is the single tasking. Which is more to the nature of scripting languages. It would be great to have an event command queue.

<rant>
Each time I do a npm, apt-get, brew command it irks me that all the downloads happen then they unpack, then they process. Where really it should be put on an event command queue. That way downloads can continue whilst processing is happening.

I have the same bug bear about the GUI, if I want to transcode a set of videos and move them to a NAS it's a linear process. I keep promising myself I should write a small app to get it done properly. I just wish the operating system was a little better at it. The main pain point is that if I send 10 files to my NAS it will transfer them all at the same time and take forever because of the seek time. What OS's should be doing is queuing up these things to make the transfer quicker.
</rant>
Thanks for the thorough answer, Dan.

(Had I not followed the prescription for the sake of being future-proof, I probably would have had a painful debugging session over #3. And possibly #1 too.)
Even the though the Title is a bit more strong, the coup in turkey would be successful if the entire army acted in unison, its a faction of army that acted and they do not have good allies outside of it.

There are multiple factors here.

This is article does wear some rose colored glasses given the info sec background of the author about the prominence of cyberpower (he may have a point, but that is not primary point of failure).

Coups are possibly in modern day, take a look at Egypt.
Rail safety and autonomy were designed without the use of advanced machine learning/computer vision that we have today. Also, redesigning highways seems like a rather expensive proposition: the US is already not investing enough in its existing infrastructure.
Would you have made this comment if it were anyone else than Stallman?
Fish Cannon
What is a wait-free stack?
There is a theory that Erdogan was aware of something like this and was prepared, let the military faction walk into honeytrap. Its a theory, but the purges that will happen in turkey, god bless them!
I've experimented with both; I've done some Akka.net training. My thoughts:

1. Orleans is very clean but highly opionated and this results in what I see as operational shortcomings, e.g. I prefer running discrete Windows services that I can start/shutdown to provide fault isolation and safe upgrades, but this doesn't seem to be directly supported in Orleans (the documentation speaks about "restrictive placement strategies" to ensure certain grains are located in certain silos, but I could never figure out how to achieve that, and it also seems against the design to have such a level of control). If it fits what you need, it's really a nice solution.

2. Akka.net's API is very messy and out-dated, in my opinion; I'll give some examples. You have to inherit from Akka.net classes, which makes me very nervous from a testing standpoint. Messages are untyped. There is no easy way to understand the interface (sequence of valid message flows) to an actor. This suggests maintenance will be tricky after some time away from the code unless you carefully design your actors (yes, arguably this could be said of any code). Documentation for fundamental topics is still incomplete in places (e.g. http://getakka.net/docs/working-with-actors/handling-message...). Persistence still confuses me after reading it 5 times. That all being said, it's a straightforward API clone of something that is proven and accommodating to the different development styles required for a broad range of back-end services.
If 'if' could support single 'expression'
and multiple 'case's like 'switch/match',
it would make easier the transition.
The Future of Global Development, Mapped
I myself am mostly aquainted with Akka for Scala. So I was wondering what different design decisions they made, if any. After all a second implementation of a framework is often better than the first.

They do go into that in the research paper [1].

"Actor platforms such as Erlang [3] and Akka [2] are a step forward in simplifying distributed system programming. However, they still burden developers with many distributed system complexities because of the relatively low level of provided abstractions and system services. The key challenges are the need to manage the lifecycle of actors in the application code and deal with inherent distributed races, the responsibility to handl e failures and recovery of actors , the placement of actors, and thus distributed resource management. To build a correct solution to such problems in the application, the developer must be a distributed systems expert. To avoid these complexities, we built the Orleans programming model and runtime, which raises the level of the actor abstraction."

It's an interesting question how hard it would be to offer such a often-good-enough option in Akka for the cases when you don't have the need or the time or the team to develop a custom distributed computing model.

Edit: maybe Lagom is meant to fit that space. I think it's wider in scope than 'easy actors' though.
At least in Germany, driving on the Autobahn is about 3x to 4x safer than driving on other road types: https://en.wikipedia.org/wiki/Autobahn#Safety, not sure how it compares to the US, but "fast and boring roads" seem to be safer.
For what it's worth, my preliminary attempt to make this game was dwim:

https://github.com/hcs64/dwim-game

Fairly unsatisfactory, but I learned a lot (and I like the animation).
From the introduction:

> In this paper, we describe an algorithm to create a wait-free stack. A concurrent data structure is said to be wait-free if each operation is guaranteed to complete within a finite number of steps. In comparison, the data structure is said to be lock-free if at any point of time, at least one operation is guaranteed to complete in a finite number of steps. Lock-free programs will not have deadlocks but can have starvation, whereas wait-free programs are starvation free.
It's not a fooling statement, it's a savvy political statement by a company's PR department that cares about self-interest.

You raise whether there is statistical significance about which is safer, autopilot or a typical driver. However it's worth noting that in a lawsuit the burden of proof is on the plaintiff.
> I think its because until recently pattern matching and
> algebraic data types (a more robust alternative to
> switch statements) [...]

Could you elaborate a bit on what this accomplishes, eg. pattern matching vs a "case" statement? As I've programmed in Haskell for the past year or two, I've observed exactly this change in my style of writing - that I've started to get rid of "case" statements inside function definitions, and have moved them into the pattern-matching part instead ("outside" the function definition).

But I have to admit, I'm not entirely sure why I do this. It just feels more robust to me in some way.
Wait-freedom is described in the introduction. Quote:

There are three levels of progress guarantees for non-blocking
data structures. A concurrent object is:

- obstruction-free if a thread can perform an arbitrary operation on the object in a finite number of steps when it executes in isolation,

- lock-free if some thread performing an arbitrary operation on the object will complete in a finite number of steps, or

- wait-free if every thread can perform an arbitrary operation on the object in a finite number of steps.

Wait-freedom is the strongest progress guarantee; it rules out the possibility of starvation for all threads. Wait-free data structures are particularly desirable for mission critical applications that have real-time constraints, such as those used by cyber-physical systems.
Great article from Grugq. He's main focus is opsec if you don't know who he is.

I agree with most points and I'd say that simply cutting power to major cities in Turkey during this event could have changed the outcome. It would have provided a total communication blackout which would have neutralized social or 'cyber' as he calls it and would have created fear (more than pre internet because we're so reliant on it) which would have put the military in a position to 'restore order'.
These farmers dont have land for grazing the cattle graze in the wild.
Stallman proposes a simple way to test for censorship; he does not claim how to design a search engine.
Sized integer types and signedness
On my degree we had two tracks on logic programming, the first one just using a visual language for logic and the second one with Swift Prolog, shared between EE and CS degrees, for some of us like myself it just felt natural but the majority hated those lectures.

Logic programming seems to be like monads, either you get it or not, but it is hard to explain to others.

Prolog and Lisp were the two languages we were forbidden to use in compiler design project, as it was considered "cheating" versus using something harder like C.
Hi jlgaddis,
thanks for your comment. Percentage is high, I know, but it is only for these first weeks of activity. Once website, i hope :), starts to be known I would reduce it to 1 or 2%, to cover just the ADV costs, I'm not looking personal gain.

About the choice method, do you have any suggestions? How would you choose charity?
Thanks again for your time.
Removed, you're right bdcravens. Thanks.
They've made electric cars sexy and manly. Before that, CEOs, managers, fathers and tradespeople who had an electric car appeared weak because they looked like caring for others. Corporates tend to promote people who are best at being selfish. You may think it's off-topic, but I think Tesla is successful at targeting rich people who care for ecology. It's really sad, but in today's society, if you really care a lot for equality, justice, fairness, inclusion, compassion, then you have much fewer chances of being promoted (unless you create your company) - which is altogether a big problem for ecology, for women equality and for men who don't exhibit traits of manliness. Now you can switch from fossils to electricity without appearing weak.
> Delivery to gmail and hotmail/outlook accounts is becoming a game of chance.

I haven't had any issues recently, but wonder... Are the failures still well-noticeable? I mean, when Gmail/Hotmail reject the letter - do they do it properly (SMTP 4xx/5xx rejection) or maybe they're now silently discarding it?

When I had the issues (even with large mail providers), my MTA had always generated me a bounce, and it had always contained something sensible and immediately useful - like a message that my DNS records got messed up or IP got in a blacklist. Every error message I saw contained links or clues to how the delivery problem could be resolved. Had this changed?
I think people are more interested in defending Tesla as a whole because of its environmental friendliness, overall safety ratings, and being a market underdog.

Also, not wanting to use autopilot is different than thinking Tesla should be legally responsible for all accidents that occur when autopilot is on. If they get sued for it then they'll likely just remotely disable it on all of their cars with a software update and I'm not sure anybody wins in that scenario.
Browser IDE sounds interesting to me integrated with gitlab. Can't wait to try it out!
In the UK the motorways (straight, multi-lane, higher speed limits, barriers) are the safest roads, in terms of death or serious injury per vehicle mile. The most dangerous roads are typically single carriage A roads that are twisty, contain blind junctions and so on.

For those familiar with the UK road network see: http://roadsafetyfoundation.org/media/32639/rrm_britain_2015...
Even that censorship test understates the complexity of the problem. For example, "how to make playing cards" is not a superset of "how to make playing cards disappear".
Tiyo Satrio – Playstation gamer born without arms and legs
When "sprinkling Javascript" turns into "making sauce for the spaghetti you've been cooking", it's probably time to consider React or something similar.
Hi bdcravens,
feed removed, you're right about it. At first I just used it to talk about website but then, as you correctly say, the messages have changed :)

So yes, I think it is time to remove the feed from homepage.
Thank you for your suggestion.
Under Computer Fraud and Abuse Act (18 U.S.C. 1030) it is a federal crime to "intentionally access a computer without authorization or exceed authorized access" ...

An eager prosecutor could take that and run a mile
Erdogan has been destabilizing Turkey for years.

> Turkey at least has a very friendly and thriving tourism eco system.

The main airport was bombed in a terrorist attack this month.
"Driver assistance system" sounds like a good summary, in the sense that it's smarter to say "fire-retardant" instead of "fireproof"
I think I recall viruses doing the same in the early 90's, so this isn't exactly a new idea.
Network interface: /sys/class/net/<name>
Process: /proc/<id>/
IPv4 Route: /proc/net/route
User account: /etc/passwd
Grown man cheats at Pokémon Go with help from drone
Here is some data for the USA and some other countries: https://en.wikipedia.org/wiki/Autobahn#Safety:_international...

Looks like in the US motorway driving is about twice as safe than "all roads" with a fatality around every 200 million miles.
I wonder what "substantial" would mean to a company like google or microsoft.

Besides, if the exploiter spreads the calls out well enough, I wonder how long it would take until it gets detected..
Yeah, and the true fun starts when you try to debug it. Debugging streams in java is nightmare compared to debugging the same logic written in a simple foreach loop with a bunch of IFs.
I started two years, after I'd crossed 50, with the same conviction. Outliers, The Talent Code and Talent Is Overrated were what inspired me. I believe there is natural talent, but it's much rarer than we like to believe. Perseverance and knowing how to learn are much more accessible to the general population and that's what I'm betting on. Like you I am drawing my greatest happiness playing the guitar. I'm still some ways from mastery, but I am making good and measurable progress.
Autopilot _should_ only be used on divided highways. However in practice it can be activated on most roads as long as there are lane markings. It's up to the driver to assess the driving conditions and decide whether it's safe to activate Autopilot.
Marketplace for Pokemon GO
Kembali berlatih setelah istirahat panjang
Germany is a unsuitable country for comparison, as they have many highways without speed limits. I would argue that this invalidates the boring part.
Volvo are claiming they will accept liability: http://www.forbes.com/sites/jimgorzelany/2015/10/09/volvo-wi...
Might be slightly off topic but in the recently released Glasgow Haskell Compiler, semigroups are now built into the base library. No more dependencies when using it.
Perhaps since this practice got exposed, other countries became less willing to cooperate. With such a treaty in place it will be more difficult to say no.
I recently did for a sports club. It wasn't an option.

Thing is, insurers live by the law of large numbers (https://en.wikipedia.org/wiki/Law_of_large_numbers).

Cutting away the high risk, low payout parts of the insurance decreases the number of payouts significantly. That does mean variance in payouts goes up.

So, insurers will either need to find lots of new customers to get N up again, or relatively high amounts of capital to survive those high payouts.

If they think they cannot find those customers, they need more capital. To finance that, they need more income, which means charging you more, which means fewer customers, which means charging you even more, etc.

I'm sure you get that insurance through Lloyd's, but it wouldn't be cheap.
I agree with this in principle. But I'm not at all convinced the technology is ready, nor that the Teslas are an appropriate platform without additional sensors.
But this accident didn't occur on a motorway (or equivalent). We need to know how many miles Autopilot has been used on roads of this type, but we don't.
Did I use the term "evil" west? This is a sign you guys come with your own pre-programming just like we do. And you need to be more aware of it. Delusional is what I said and I stand by it. You guys have elaborate rules governing contact and treatment of indigenous people from the amazon to the serengeti. But for some strange reason you guys are totally incapable of understanding putting people in under developed/mostly illiterate societies in contact with the massive ever increasing noise that is the "free internet" is damaging in the same way as non regulated contact with indigenous people.
And this is why I said thank god for the "non free regulated Chinese internet" cause there is a counter point to the western way of thinking about an unregulated "free" internet which is really irresponsible.
Improving Open Source with Amalgamation
Note that this appears to be a ban on the thin, single user plastic bags only.

We've had a similar ban here in South Australia for a number of years now. It has worked quite well - one either remembers to bring a bag when grocery shopping, or buys a reusable one then.
Tarmac / asphalt only has a service life of 26 years. (And resurfacing after 13 years.) So within the sort of timeframes governments are already used to for infrastructure construction (eg, HS2 is due for completion in 2033), almost all the road surfaces will already have been replaced anyway.

The trick is to do it economically. Do some of the major trucking routes first, as well as common city roads. ie, automate trucks and busses first. Especially as to begin with you'd probably want to exclude bicycles, horses, etc, so that means not doing every road.

But that's just speculation.
This is the one big thing missing in most reports about the lightbulb lifetime. Even consumers profited via power-savings from this lifetime agreement.
Not sure why you would think anyone today would use an incandescent bulb in a flashlight. This is where LEDs just took over. I have a pencil sizes LED flashlight that matches the brightness of my Maglite only when I put it in power-saving mode - otherwise its about 10x as bright.
What's next for artificial intelligence
Yes, hotmail will in some instances accept mail at SMTP level and then silently discard it. You cannot even request de-listing.
Tesla working on Autopilot radar changes after crash
How is that relevant, much less crucial?
I'm not very familiar with D3, but the website doesn't really emphasize building reusable components and putting them together into an application.

What is the standard way of doing this in D3?