skysight-inc/HackerNews huggingface dataset:
It's in a do block, so you can see that these are not simple function calls; they're being composed via some monad. In cases where you're actually chaining values together it's more obvious which things are which:

do
value1 <- function1 --effectful function
let value2 = function2(value1) --pure function
value3 <- function3(value1, value2) --effectful function
...

But the notation is a bit more magic for this "no return" case; I prefer the Scala approach where even if you don't care about the return values you'd have to write this as

for {
_ ← cd "/tmp" // effectful function
_ ← mkdir "test" //effectful function
_ = someCalculation() //pure function
...
I'll bite; why do you think SpaceX was a mistake? They've had some pretty impressive achievements, all while actually making profit. Unless you meant individual errors like this month's landing attempt.
Ada might have failed on OS, but that is just because few startups that based their workstation OS in UNIX succeeded in the market at large.

C goes hand-in-hand with UNIX, so clearly no UNIX vendor would have it in their SDK and UNIX developers weren't willing to pay for tools.

As history has shown, the moment UNIX vendors started doing "Home" and "Pro" editions, GCC got lots of help.

As Ada talks at FOSDEM show, it is present everywhere where safety matters and its use has been slowly increasing since the Internet has shown how bad idea is to connect C code to the outside world.

http://www.kb.cert.org/vuls/byupdate?open=&start=1&count=10
I agree about the lack of complete control. I am not sure putting your device under the control of another company (Cyanogen) instead of Google is a way of getting complete control either!
> if you hold uninformed / ignorant / bigoted opinions, you are automatically an evil person and should be treated accordingly

One could argue that such an opinion is in fact short-sighted and bigoted...
See @simantel stat above. Almost no one earning just $120k / year is driving a Porsche. There's not as much disposable income in a $120k/yr wage as you might think.
No one in Silicon Valley gives a crap about desktops, all the growth is in mobile.
Say you have a function that can operate on various types, for example you'd have a function in JS like:

function addKey(input, key, value) { input[key] = value; return input; }

this will work on either Objects or on an Array. But if you have static typing and no generics to make it work you have to either:

- create two versions of the same function, one for Objects, 2nd for Arrays

- use any as a type of input - this will work, but you will loose most of the benefits of type checking, e.g. you will be also able to pass Number as an input and compiler won't complain, it will be detected as error only on runtime and other things (your function will also return any so further on in the program you won't know what type is used).

With generic it's easy, you write the function once and when you call it you tell what types are used:

// definition:
function addKey<X,Y,Z>(input:X, key:Y, value:Z):X { ... }
// call:
var a = addKey<Array<string>,Number,string>([],0,"fubar");

With this particular example there are probably other ways as well (sum types, common interface) and also compiler may actually detect passing Number as an error (depends how smart it is), but there are more complex cases, where lack of generics will lead to a lot of copy/pasting and boilerplate.
The NSA is essentially unaccountable for whatever it does; there's no decency in this.

I hope that the assumption that investigate journalists and EFF attorneys are "legitimate" targets is highly ironic.
Closing the doors of Twitter to new users from Iran?
A tricky thing about communication is that sometimes it's really hard to convey why you believe something. You have some intuition that you should do A not B, but you can't put a finger on why. In order to resolve conflicts, you need to find a way of reasoning about intuition.

So I agree that open and honest communication is super important. I just wanted to note that difficulties in communication may happen even with the best intentions.
Guarantees at compile time:

Array<double> means the only element you will encounter is a double.

Array<ISomeInterface> means the only element you will encounter is of type ISomeInterface.

hence, you can express part of some code's requirements via the types that a function,class exposes and/or requires.

these requirements can then be checked at compile time.

without this you have to defer the "checking" to runtime.
AngularJS is just being used to make those custom HTML tags (called "directives" in Angular-speak). It likely has nothing to do with the actual functionality.
Conversely, I have clicked on Google ads only to find that I have blocked the ad domain using my hosts file (which I had forgotten). I have never clicked on Facebook ads, as I don't have an account there.

Weird, I know. Actually, I do have an account but only used it to write a Facebook app for a client, not for actual use on that mini-Internet (kind of like Geocities isn't it?)
I'm 100% sure that this wasn't the case. I'm not saying that there always was an intermediate server, but it definitely was before Facebook acquired them.
I've not looked into the technical side of this type of request, and it probably makes sense, but it's of interest to not that this also produces my local IP addresses when accessing the site over an ssh-ed SOCKS-proxy.
Having worked in Backup/Recovery for over a decade, I consider this to be the minimum requirement. Instead of offering 4 backups in a month for 10% of hosting cost, DO should have let users decide how many backups they want and charge per backup unless DO has no desire moving beyond hosting toy apps. Serious apps need serious data protection.
It is not unnecessary, it helps the reader building a mental model about what is a function and what is not.
I would concede It can be useful to create some DSL or to access an object lazily but the is a price to pay: a more opaque code base
I don't tell my kid how much I make because they use it to compare with the other kids' parents. It is uncomfortable and embarrassing to overhear them bragging among themselves that their dad earns more than that ones.

It's easy, if you don't have kids, to theorize on how you should instruct and mentor your would-be offspring, but few plans survive first contact with the real world.
Tim Schafer has also made a new point and click game: Broken Age http://www.brokenagegame.com/
I love how it glued that little girl's phone to the seat. That much acceleration is just insane; I guess that's why they call it that, huh?
When are you planning to launch spreadsheet.io?
I have filed 3 radars with Apple regarding Swift. All 3 bugs have been fixed.
I'm not sure - its really minor stuff like this: https://dl.dropboxusercontent.com/u/19746944/inkscape%20sele...
Thanks! I wonder if it'll make me switch from OfficeSuite Pro, that 25p app I bought and have used twice.

Does anyone do much work on tablets, out of interest?

My wife uses Google Sheets for a spreadsheet or two on her iPad but we're under no illusion that it'll replace a "proper" office package on the Mac/PC.

EDIT: Just noticed it'll need a subscription, so I am not their target market. Thanks for the info about the release though, I did not know about that.
I agree about the benefits of isolating side effects and IO - I generally code in python, and my code tends to look like:

def main_function(args):
data = get_data(args)
result = do_calculations(data)
push_results(result, args)

Where the function do_calculations is somewhat pure - no side effects, but I do use local variables that I modify inside the function.

> You are right. In this case effects are not isolated. But in this particular script, there are no interesting things to move into a pure function. It does not mean that it wouldn't be the case in a more complex script.

Well, I thought that the point of Haskell (of one of its points) is that it forces the programmer to declare whatever side effect in the type of the function. But here, there is no way to know that main, on top of printing stuff, also messes up with the directory and there is no type signature indicating it - in this example it's no big deal but I could write something like:

main = do
rm "/"
sleep 1
die "Oooops my files!"
Python 3 does not allow you to mix spaces and tabs. I don't know if Coffeescript is similarly strict.

I guess you've developed a habit where you're completely OK with having incorrect indentation a lot of the time, whereas I can't stand it. Just because it's easier to read for you doesn't make it easier for everyone, especially beginners.
Keylogger without malware (café scenario)
> With Go, you never, ever have to write any OS-specific code

It actually depends what you want to do. Since Go tends to be low-level, there may be a moment where your code goes into syscall land, in which case you're going to be OS-specific.

The most recent example I have in mind is mmaping a file: see https://github.com/edsrzf/mmap-go: there is a windows- and a unix- specific version. If you're using something else, you're out of luck (with this package at least)

There is a syscall package, but it's just piling up a lot of syscalls with already some OS-specific stuff. It is going to be so much of a burden to manage that the Go team plans to abstract this in a new package (https://golang.org/s/go1.4-syscall)
Let luxury brands teach you the art of content marketing
The view of poverty expressed in this essay says, in essence, that Louis XIV of France - the Sun King - with all of his riches couldn't get an iPhone or antibiotics so was poorer than most Americans today.

This is absurd, but resolving the absurdity is not simple. Orshansky's "relatively absolute" poverty thresholds from the 1960s were the basis to how the US currently defines poverty. There is such as a thing as "socially acceptable minimum standard". If the Ingalls were to set up a sod house in the middle of Independence, Kansas, and live in the same style, odds are good that the building code enforcers and Child Protective Services would soon show up.

(There's also the problem of getting a good supply of prairie grass sod. For the Ingalls it was free.)

The main increases in costs have been housing, transportation (our car economy, and the hidden cost of free parking), and health care. You'll note that these weren't mentioned in the essay.

The comment about $15 shoes being just 2 hours of minimum wage assumes that those working at minimum wage aren't already fully budgeted, or have access to more work should money be needed. At the SNAP/food stamps rate of under $5 days, that corresponds to three days of food.
The code he is trying to port is to Swift is pure C/C++ ( www.handmadehero.org ) , so probably this solution is the easiest, apart from being the most appropriate.
Looking for another Vdebug maintainer
He has the solution to his own problem. He just needs to use the unsafe array.

People have been writing quality games for decades using unmanaged memory access. It is not some ticking time bomb that will inevitably blow up your app. It just requires a little more care to get right. Considering this guy is manipulating pixels directly and writing his own blitter, I believe he has the skills to pull it off.

I can understand why he would prefer to use managed code but it's not compatible with his goals and he has a clear alternative. His issue is not Swift's fault, it's his refusal to use the tools that Swift gives him.
The "Academic" language and "Category Theory" strawmen is getting tiring...

Many of us who use Haskell do so (without an academic degree or almost any CT knowledge, by the way) because it offers the best bang for our buck -- less code, more safety, more stuff done and done well! It also runs reasonably fast, unlike similarly terse languages.

Being able to use it in a light-weight manner for one-off scripts is nice too.
I'm not sure I got how the Javascript code executing? For the case of Android, is the library spinning up a WebView to get access to the V8 engine?
I fully agree that voting for third parties is the way to go, but currently the public has been propagandized to believe that voting third party is wasting your vote, or even worse, causing harm.

They are convinced that their vote is wasted by a propaganda video going around that describes the US system as a "first past the post", in which it is impossible for third parties to win. They are convinced that third party voting is harmful as it supposedly causes a spoiler effect.

As long as people are brainwashed against voting third party by these flawed memes, the problem will remain intractable.
If you enable -Wall, Haskell forces you to use "_ <-" for any action that has a stateful result.

But the "let" vs no "let" is a pretty strong hint anyway :)
You do realize that 'an entire init system' is a 100 line python script right?

Packaging your application in a 'light-weight' way is not one of the big benefits of Docker. Packaging your application in an isolated environment is _the_ big benefit of Docker, and that's exactly the benefit you get with this image.

There's nothing monstrous about this image. It's based on the official Ubuntu image, has a few extra packages installed to satisfy some more dependencies so it's easier to use for other users, and Passenger itself is just a few MB.

You probably don't get Docker very well. The idea is that you start a Docker container, and after a while a service is online on the port you EXPOSE-d. If a container satisfies those properties, then it's as composable and reproducible as any other. It's the magic of Docker.
Unless transparency is of the utmost importance to your
occupation, such as sitting on the United States Supreme Court,
it is advisable to keep a significant portion, if not a vast
majority, of your holdings, income sources, and assets a secret,
even from the people you love; your spouse and the IRS, the
obvious exceptions.

Laughed so hard reading that. Keep a secret from everyone, except the IRS of course. I absolutely get the concept of information asymmetry between you and yours friends and community. I don't get the part about keeping it from your children though.
The Internet of Gas Station Tank Gauges
Thanks for that. I am not sure posting it on HN is the best way to not share the link though.

I uploaded it to Google Drive to save your bandwidth:
https://drive.google.com/file/d/0B2dUQpSGutXERFhLSnNmanNBam8...

Please let me know if I am in breach of distribution rules for it.
Of the many bugs I reported at 8.0 release, not one has been fixed. Basic intern level stuff to do with messed up orientation bugs, broken locale APIs, text rendering and layout issues.

I honestly can't be fucked any more, they can hire some QA with the billions they're earning. They can build all the fancy APIs they want, I'm not touching it until they haven't decided to discard it after a year and some other poor suckers have suffered through their eternal September of shitty buggy newness while fighting with App Store review team every second version for the privilege to make burger flipping money.
Ah yes I saw prose before and it looked promising. A bit techie for most, but it's fine for me. I had wondered about build and deploy - thanks for the pointer to TravisCI.
Yes, as long as your kernel is new enough to support Docker (and that of 14.04 is) then your Docker container will run on it, no matter what the base image is.

This is thanks to Linux' relentless binary API backwards compatibility. The only thing your container interacts with is the kernel, and the API of the kernel never changes, so it'll run on any Linux operating system that's new enough to run Docker at all (and is 64-bit).
How much of this beauty will be fixed in ES6?

http://wtfjs.com
The top level comment, by baseten, made a claim that is completely different from what has been ostensibly refuted in this thread. The OP never said anything about Reddit controlling moderation.

Can you address the specific claim made by baseten, namely that there are subreddits (whether default or non-default) that are managed for pay by other organizations?

I'll note that I don't visit Reddit unless linked to a specific conversation, so I don't have a proverbial horse in the race. I just have my curiosity piqued when a chain of rebuttals gets so far off base from the original claim.
Traveling the World as a Digital Nomad
Robots Learn to Perform Tasks by “Watching” YouTube Videos
Twisted 15.0.0 Released
So you discover that my LAN address is 192.168.1.2. What can you actually do with that information? Can it be leveraged into making the browser probe its local network?
For example, OCaml has an object system (the “O”), polymorphic variants (somewhere between ADTs and symbols), parameterised/first-class modules, and named/optional function parameters. A lot of these things have suitable replacements in Haskell, they’re just not in the language directly. And of course, Haskell has plenty of features that OCaml and F# lack, such as pervasive purity, typeclasses, and an array of useful advanced type system features. It’s tradeoffs all the way down. :)
If you're interested in other nomadic-related articles, check out:

- Matthew Karsten: http://goo.gl/kUydE

- Alex MacCaw: http://goo.gl/bjw4P

- Raam Dev: http://goo.gl/SwH6lO

- Thomas Backlund: http://goo.gl/GVlES

- Noel Tock: http://goo.gl/7fGJOv

- Jason Fox: http://goo.gl/LSnlV9

- Peter Levels: https://levels.io/

- ...
You'd be surprised.

And yes I know what Matasano did. Which is why I say you'd be surprised.
Does torture work well as an interrogation technique? (2011)
I am the author of passenger-docker. It is not true that this image is like creating a virtual machine, or that it is not lightweight. The image is very-much in line with the Docker philosophy, as I’ve described in this blog post: http://blog.phusion.nl/2015/01/20/baseimage-docker-fat-conta...

You talked about “an entire init system”, but this init system is a lightweight, stripped down variant written especially for Docker. The entire thing is just a few hundred lines Python script. You may be thinking that an init system is not necessary in Docker, but that is not true, as I’ve explained in “Docker and the PID 1 zombie reaping problem”: http://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombi...

With passenger-docker, you only create an image with your web app in it, plus an app server to run that web app. Nothing more. The database is still external. Memcached and Redis are not installed unless you explicitly enable them. The image is lightweight as you can expect from Ruby, Python and Node.js apps.

In fact, we've explicitly split the image 8 variants, each variant containing only the minimum possible: https://github.com/phusion/passenger-docker#image_variants

Passenger-docker is very much in line with the idea of composable, reproducible infrastructure. Nothing in passenger-docker violates those principles.
j? Electrical engineer?
What's the warrenty canary worth then? You have no way of knowing if it was triggered or silently ignored.
"The text files were created by manually keying the full text of each work, based on millions of digital facsimile page images"

!!! This is not silicon valley. I wonder how they ensure accuracy.

Link to the books
http://ota.ox.ac.uk/tcp/
The 5-minute demo at the end (22:24) is incredibly impressive: http://youtu.be/7rDsRXj9-cU?t=22m24s

That just seems SO much easier, quicker, and more efficient than storyboarding and coding UIViews. I am very much looking forward to being able to play around with this and discover downsides, because there have to be some...right?
I really like Moxie Marlinspike's Wired article on this [1]. Especially relevant to those of you in the US.

[1]: http://www.wired.com/2013/06/why-i-have-nothing-to-hide-is-t...
15 years of work! Well done to those who funded and performed this extensive effort.

Files are hosted by github and box. Will Internet Archive be included?

For marketing this accomplishment, a few choice examples of long-inaccessible text may attract new readers.
Distant World Has Rings 200 Times Bigger Than Those of Saturn
I'll tell you how i bought it in 2005. My boss's wife recommended it to me so i went out and got it. Then my symptoms went away and i thought OK i should do that again.

I trusted the recommendation and presumed the pharmacy wouldn't be selling actual sugar pills so I didn't investigate it at first. Then when I saw it labeled with the homeopaths a year later somewhere else, I looked into it and was like "oh...".

I think my experience is probably 97% of the stories with or without the realization. The other 3 percent is like " oh homeopaths, gee isn't this stuff great? What a wonderful science."
From Wikipedia[1]:

"In the 9th and 10th century AD, Islamic mathematicians were familiar with negative numbers from the works of Indian mathematicians, but the recognition and use of negative numbers during this period remained timid. Al-Khwarizmi in his Al-jabr wa'l-muqabala (from which we get the word "algebra") did not use negative numbers or negative coefficients, although al-Karaji wrote in his al-Fakhrī that "negative quantities must be counted as terms"."

So it would indeed seem that your interpretation is what al-Khwarizmi meant.

[1] http://en.wikipedia.org/wiki/Negative_number#History
I saw those as regular parser that returns text but not just grep wrapper. Yes It has function named 'grep', but its not grep wrapper. It looks like `lstree` could be combined with `grep` function for emulate `grep -r`.
> Regarding finding a compromise, I'm sure if Eich donated to equal rights after becoming CEO, nobody would have any qualms working for his organization anymore. Even the pitchforks and the most bloodthirsty protesters would likely have gone. That he didn't even try to correct the issue

Eich contributed to the creation of the equal rights policy in Mozilla and worked to enforce that inclusive policy. He made a commitment to uphold those policies. No GLBT person at Mozila had examples of him being discriminatory.

https://brendaneich.com/2014/03/inclusiveness-at-mozilla/
Doubtful, they can just include a compiled JavaScript runtime.
Well, maybe they used Amazon Mechanical Turk ;)
Actually, exactly that concept has actually been quickly growing in popularity for quite a few years now, it's especially been successful in developing countries like India and China. Small, highly reproducible groups which simply revolve around the core concepts of the gospel. Starfish vs. Spider, etc.

A few years ago, our small church here in Berlin moved from a model where we were paying thousands in rent for a "meeting space" to simply meeting in a living room and sharing our lives. It's been a wonderful change which has really been great, not only (but also) financially.

BTW, an influential book in that regard is particularly Neil Cole's "Organic Church".
Thanks a lot. That was a really good explanation which instantly made me understand generics. In fact, I think this is an awesome way to learn new languages and concepts. You start with an example in a language you know and reason about the functionality from that.
I'm baffled by everything about the intended authentication path?! TFA has like 6 paragraphs which reduce to;

CRC32(MD5(Pin)||Nonce)[0:1]

My eyes! Is something wrong with HMAC?
Funny idea, but apart from the Windows themes they don't look very clean.

It reminds me of the OS X update simulator I made after updating to Yosemite: http://jomo.tv/osxupdatesimulator/
I'm sorry, I meant why generics are a big deal. Thanks though!
Escape was probably the weakest of all the MI games and hasn't aged as well Grim Fandango or any of the other MI games due to its art style and the early 3D engine.

The Curse of Monkey Island still looks amazing (if low-res), as does Full Throttle. I'd love to see the return of big-budget games with 2D art.
Seconded. I was glued to the article from start to finish.