skysight-inc/HackerNews huggingface dataset:
Really, I think the issue is that StackOverflow isn't what it appears to be. When you visit StackOverflow, all your instincts tell you it's a place where you can ask any question and discuss the answer with people who are interested in the question, like on a message board (or the abysmal Yahoo Answers). Really, StackOverflow is more like a crowd-sourced FAQ for programming. It's a wiki, a reference document, not a discussion board. That's why they don't like non-specific or duplicate questions. Non-specific and duplicate questions aren't helpful in a FAQ. That's why they don't like humor. You wouldn't put humor on Wikipedia.

The other problem is that StackOverflow is fairly static after the initial answering period on a question, so they can't even have questions which compare programming languages or databases or such, because those answers will change and no one is going to come back and update the information on the question page. But information does get updated on wikis. So even though StackOverflow is essentially functioning as a wiki, it doesn't present the affordances of a wiki, so people don't keep pages up-to-date like they would on a wiki.

Notice that the way a non-participating StackOverflow user uses the site is exactly the same way a non-participating Wikipedia user uses the site. You search for something, the StackOverflow question or Wikipedia article comes up as the first result. You click it, get the information you need, and leave.

StackOverflow is a wiki-FAQ for programming posing as a discussion board.

(And just like on Wikipedia, I don't participate on StackOverflow because I expect anything I ask to be closed for one reason or another just like I expect anything I add to Wikipedia to be deleted for one reason or another.)
Perhaps because of the potential confusion with "a second" being used to mean "another" i.e. 2X rather than 1/2X.

e.g. I could eat a second pizza

Do I mean another pizza or half a pizza?

[OK it should be phrased as "a second of a pizza" - but that is rather close to "a second pizza"]
Types

Haskell being statically typed will outlaw a large-ish number of direct lispisms until you provide the compiler sufficient type-based justification that the operation is OK. For instance, new lisp->haskell programmers often want to make arbitrary nested lists

[[1,2,3],4,[[5,6],7]]

which is not well-typed so the compiler complains. Honestly, what you need is a different type than the strict Haskell list called a Rose Tree

data Rose a = Leaf a | Branch [Rose a]

which tells the compiler that you explicitly want arbitrary nesting.

---

Laziness

All of Haskell has default laziness and this means that your environment is fully tilted toward laziness. Generally this means that a thing called equational reasoning holds nicely and this forms a MAJOR component of your ability to reason about Haskell code. In particular, given any repeated substatement, you can "lift" it up with a let

... e ... e ... e ...
==
let x = e
in ... x ... x ... x ...

Lazy Racket gives this to you too, but having it everywhere is a new thing. You also are able to rely on control structures as combinators much more so that something like

fold x c . map f . map g

is very common in Haskell since laziness will automatically fuse each step, while in (strict) Racket you'd want to manually fuse them together

fold (c . f . g) x

reducing composability.

---

Purity

You can get pretty close to pure in Racket, but Haskell takes this concept much further. Purity and laziness are a driving force which leads to the need for things like Monads... and strong types allow the boundaries of various semantic segments to be very sharp. As an example, the STM libraries in Haskell are remarkably nice due to a combination of strong types and purity. In particular, you tend to build up computations of types like

STM a, STM b, STM (a -> b -> c)

where the STM marks that these computations only make use of transactionally safe memory and are allowed to be re-run as many times as needed to ensure linearity. Then you use

atomically :: STM a -> IO a

which "upgrades" STM to IO allowing now the entire set of side-effects by interpreting the STM computation as IO... and thus choosing to run and re-run it until it linearizes.

---

In each of these cases, Racket, being the flexible language it is, has methods of nicely including the feature—typed racket, lazy racket, base racket without ambient state or io—but Haskell goes fully and confidently into these three choices and that subsequently leads to very interesting combination effects and a community and ecosystem designed in a particular, interesting style.

In other words, I believe that even if you're intimately familiar with each of those things in isolation, Haskell may be the first time you've ever seen them together... and that changes everything.
nothing succeeds like mediocrity
> a pure decentralized digital currency as much as the next guy, but bitcoin is definitely not there yet

i would say bitcoin is the closest contender yet, compared to all prior art in digital currency.
In this economy, they never got the entry-level position to begin with, because four years ago they were an 18 year old with a high school education competing against 22 year olds with college degrees.
If I may ask, if you have two comparatively skilled/driven/smart workers for the same job, would you choose the one with the college degree?

I do think there are a lot of people where college is not a value-add to their skillset, yet it seems like going to college solely for that edge is neccessary
I'm not sure reading the wikipedia entry is the best way to get info on a case; but from what I understand based on the autopsy, etc., the majority of her brain had been destroyed (simply liquid in the CT scan), and while she had enough left to breath and have her heart beat, she didn't have enough for, say, a swallow reflex.

There was apparently 6 hours of video that her parents cut down to about 6 minutes that seemed to show her reacting to her mother; but the judge who watched the whole thing didn't have that impression (and the majority of the doctors evaluating it also said she was in a typical persistent vegetative state).

Maybe she did have enough brain left to occasionally have some low level of awareness? I can't pretend to know.

But if I were in that state, I would certainly not have wanted to be kept alive as long as she was; I would want to be euthanized. Perhaps you would not, and I certainly don't know what Terri would have wanted.

But that's my point, really -- people have different ideas on how to make these decisions, and it shouldn't have been left in the hands of her husband, family, etc..

If my wife wants to move on with her life -- remarry, whatever -- and I'm in a state like Terri Schiavo was, I sure as hell don't want it to be her decision whether I live or die, based on vague memories of what I've said in the past. I'd far rather my wishes were clear, and she could let me go with as little trauma as possible.
LinkedOut?
Almost all of Torvalds' "profanity rants" that get passed around are the result of frustration at an existing conversation, and you can find profanity-free comments by him simply by checking out a slightly earlier one.
There's a sample hello world node demo, with a README.md that explains all the bits, here:

https://hub.jazz.net/project/pmuellr/bluemix-hello-node/over...

The goal with the demo is just to show you how to get node code running on BlueMix; what code (in what language) you run is up to you!
Sure, more accurately it's an attempt to divert resources from free, equal, secular, non-discriminatory public schools to schools that can are, after the voucher, non-free, very often religious, and free to discriminate in ways that actual public schools rather then publicly subsidiEd private schools are not, but setting mandated standards which public schools can fail to which publicly-subsidized private schools aren't required to be held.
What Buffett means by "understands how it works" is to say he understands how the businesses finance works. As an investor in coke, I'm sure he doesn't know much about making the drink.

When WB says he doesn't understand the business of bitcoin, it's because NO ONE understands the business of bitcoin. The market is a wild west of boom and bust every year. Buying bitcoin is speculating, not investing.
Uber to Brussels government: please stop lying and playing games
[MORE SPOILERS]

They are shown rotating slowly, so it's sort of possible given an elastic parachute cord, but it's awfully contrived. You also have to wonder, given how slowly he drifted off, why Matt couldn't unstrap that empty thrust pack and use it as reaction mass, as Ryan does with the empty fire extinguisher later on.

The bigger gaffe for me was Matt's instruction to Ryan, right after the first hit, to detach from the arm on the grounds that it would carry her too far away. That makes no sense at all. Detaching won't affect her velocity except to add a sizable random component based on the point in the arm's rotation where she detaches, and since he's already lost sight of her at that point that's going to make her much, much harder to find.

All pedantry aside, loved loved loved the movie. Certainly the film of the year for me, and possibly the decade.
General Assembly raises $35M Series C
I have respect for people who can find the "loopholes" in the system, exploit it, but also work to close it. This is a process in which a selfish individual can slowly improve the overall system, while not having to behave altruistically.
It is amusing to see the numbers placed for "registered downloads." Those seem low enough that they may as well just be left off.
The NSA has an advice columnist. Seriously.
This is cool. Next step would be a tool that would allow to export this as color scheme for editor!
Your browser is too old or not yet supported!

And a link to Chrome frame, a retired Google product.

Please use feature detection instead of sniffing the browser agent. My browser (IE11) is perfectly capable and supports HTML5 APIs fine (e.g. Canvas 2D).
Why the fuck should anyone at StackOverflow give a shit if, when, or how someone cheats on their homework?

The answer is simple. Every building has a side where the dumpster goes. Crapping on students is StackOverflow's. Because it's the only officially sanctioned form of meanness on the site, that's where the venom flows. It is StackOverflow's culture which makes submitting homework questions a poor way to learn. Pair programming and mentoring are excellent pedagogical techniques.

Homework questions don't reflect any more laziness than any other category of StackOverflow questions. Indeed it might be the case that fewer homework questions can be answered by Googling than questions about EMACS. I know, because I've answered both and homework questions tend to require solving a logical puzzle not just RTFM'ing.

I learned a great deal from answering homework questions because that's about my level of expertise (just like Googling EMACS questions is). The internet points I earned are the same color as everyone else's - a shade of earnest helpfulness colored by the need to be loved.

Students wind up at StackOverflow because that's where the search engines take them. A student can't avoid landing there as part of making an honest effort to solve the problem. Getting rid of students is simple, stop SEO and prohibit crawling bots. Notice how HN doesn't have a problem?

The behaviour of StackOverflow's community toward students is simply a function of nothing better to serve as the other. It's the petty gatekeeping of a medieval guild. It has all the merit of kicking puppies.

(This is facetious. I don't condone kicking puppies)
The Navy's Underwater Internet
These aren't myths, they're platform guarantees. It just so happens that a few of the most common unixes (Linux, BSD) implement a very good /dev/urandom and the author is suggesting that we write non-portable software that depends on implementation details of these platforms.

There can be benefits from depending on non-portable implementation details but also significant drawbacks.
Are you tired of diet programs that don't give you long-lasting success?
Everything here is feedback :) nothing really negative i'll take it and improve my next post hopefully end up with a better result.
What is it that's missing in just using plain React (with Mori or any alternative)?

In my mind, what Om is bringing to React is idiomatic state management with Clojure semantics. In js I think the local state model promoted by React is reasonable.
Go to college.

Seriously. It sounds like you're at least considering a field that pays well and it's not like computers/computerized tech will ever see a downswing any time in the foreseeable future. Going to college can sometimes be seen as a waste for a liberal arts education (most of the time only here and on Reddit), but I don't necessarily think that's true either.

I have an art degree, with a minor in advertising, and am a professional software engineer right now. I changed my majors three times in college (from business to psychology/advertising to art/advertising), and stuck with it at the end to just finish up. Would I go back and choose a different major with more readily available job prospects after graduation? Not a fucking chance. College is a chance to continue mingling with smart people your age, who you've never met, and some happen to be extremely beautiful girls, and life's too short to be an efficient programming worker-bee when you're 18. GET EXPERIENCES. These lead to creativity, which in my opinion is the most important factor of all. If you're resourceful, open-minded, proactive when necessary and going with the flow when not, then I really think the world is yours. It may take a while to get to where you want to be, but it's still yours.
I don't really agree.

Python, at least, has the PLY library, which makes parsing (IMO) easier than with Parsec.

Other languages, like OCaml, also make writing parsers very easy.

Haskell with Parsec might beat C with lex/yacc, but I don't think it's that great compared to what else is available.
Being right is never an excuse for being a jerk. Being maybe right is even less of an excuse.
Fonts look like crap in Chrome / Windows 7... as usual.
Create kick-ass resume in minutes for FREE
Kickresume allows you to create original looking resume in minutes for free. Choose one of extraordinary resume designs, fill in your details and download your new resume in less than 10 minutes.
I've immediately thought about it when I saw the title. I was wondering what value is added. The interface is quite different.

My problem here is that you cannot see where you are heading, you are just moving your mouse everywhere until you find a color.

It gets also complicated when you found a color but want afterwise to change it. You come back the website, but how do you find where was your color? How to make an orange a little more redish as an example? These are things I often do when I am looking for colors for a website UI or when changing a picture in Lightroom/Darktable. Maybe I missed some features?
Frankly, I'm starting to feel very strongly that static typing in and of itself makes you much more productive -- in the long run. Not so much because you write stuff faster, but because you spend less time patching it up.
Hacker Newsletter issue #191
Surely they'd interview and find out whether the paper lies in both cases (arrest record vs. inflated degree). An amazing asset to a company doesn't have to come from college. But it can.
The brand name was purchased by a new company (Daily Beast), then that company didn't want it either and sold the brand name to a smaller company who thought the brand name might lend them credibility (IB Times).

tl;dr this only has the name in common with the long-running weekly magazine of old.
<canvas> ?
Oh, well, good news then, if you actually examine the curriculum requirement for being a history teacher and compare it to getting a degree in straight-up history, you'll see that the teacher is not required to take anywhere near as much, and the teacher will not take the really hard history courses that grade in terms of reams of essay writing.

Some teachers take the initiative to double-major of their own free will (respect!), but it is certainly not required. When I was in school I casually assumed that my teachers knew a great deal more about the subjects than what they were teaching; when I got to University and had the opportunity to look at their curricula requirements I learned that was not true, at least not in general.
Summary of Naiad(MS Research) for big data stream processing
Possibly true. But that only applies if you can prove with an incredibly strong case who the actual creator of bitcoin is.
IOS is the worst platform for development
No it isn't?

He's basically running sets of 8 keys through a mux, and changing the selector of the mux to scan through the keys rapidly, 8 at a time.

There is one output wire per key, at least until it gets to the mux.
For some reason there are an endless procession of these sorts of color pickers. I really like this one, though as others mentioned it should immediately put you into color sets, as there is a first impression that it is a trivial single color picker.

I made one of these sorts of things about a decade ago, though obviously it is much simpler - http://colors.yafla.com/

Still get hundreds of visitors a day to it, which surprises me greatly.
Maybe. I'm talking about being a bar manager, or movie theater manager, etc.
Lol, it's funny how these people all get up in arms because some reporter did in two weeks using old school methods what people so proud of their doxing skills spend years on and didn't get anywhere.

Also, the barrier of proof these people are setting is laughable. It's like sticking your fingers in your ears and shouting 'na-na-na-na-na' because you don't want to hear something.
I am not a Haskell programmer so I look at this with interest.

The biggest thing I notice is that type specifiers have comments next to them akin to variable names describing what they are for.

This worries me. Comments are just so awful compared to clear meaningful variable/function naming that propagate through the code when used. Does Haskell discourage and even prevent clear naming or am I missing something? It would be a tradeoff I couldn't accept.
As a designer, I wish it was that easy. :)
You are seeing Mach Bands: http://en.wikipedia.org/wiki/Mach_bands

> "The Mach bands effect is due to the spatial high-boost filtering performed by the human visual system on the luminance channel of the image captured by the retina."
The SAT is part hoax part fraud
Others have recommended good books, but here's a glimpse just immediately.

import Control.Monad (forM_)
import Data.List.Split (splitOn)
import Data.List (transpose)
import System.IO

main :: IO ()
main = do
withFile "file.file" ReadMode $ \handle ->
contents <- hGetContents handle
let clines = lines contents
ccols = transpose (map (splitOn ",") lines)
forM_ (ccols !! 3) $ \cell -> do
putStrLn cell

Then take a look at the following packages

http://hackage.haskell.org/package/split
http://hackage.haskell.org/package/mysql-simple
http://hackage.haskell.org/package/sqlite-simple
Ask HN: Looking for contributors?
There have been times in my life when I've wished that I had a fun side-project to work on, especially in a team, and especially something open-source. There have also been times when I've managed to create for myself a few side-projects which I have loads of plans for but struggle to find time to do all of.

I know there are folks out there who are in one of either of these camps right now, so with that in mind I invite you to 'advertise' your open-source projects in need of a bit of attention from some fellow interested hackers who might want to get involved. Personally, I have two at the moment that I'd like to get more done on.

Ideally, post projects with some open issues on GitHub/BitBucket/Whatever and a few details about the project (language, context, applications of the code). I'll put mine in the comments if it looks like this is useful to anybody.
> thinking about types, and how that makes your code much more declarative.

it's not that it's more declarative (tho that becomes a side effect), but that thinking about the type forces you to model your problem domain in a formal way, which brings to the forefront all of the problems that would otherwise have been hidden away as undeclared assumptions.

E.g. in java or C++, the states that a class can be in is often invalid, but is only enforced procedurally via programmer checks, where as in haskell, you often have to holistically model the problem as a type, and all values that the types can take up must be accounted for. Thus, you hit the edge cases right up front, instead of finding out later (as bugs).
My first thought too. I'm assuming it works like.

1. I need to find something, I tell trackr the id of my token.
2. trackr tells other trackr users the id to look for.
3. trackr enabled phones search in vicinity for it.

What happens when trackr enabled phones decide not to report back their findings...Sounds like a fun treasure hunt competition.
I think there should be a buffer on the edges especially for people on laptops. Even a 5-10px buffer would be beneficial so I don't have to skirt around the edge of the window.
Yes, The answer is body lift + speed.
You can say "a third of a pizza" and not be confused though, so there's no difference in saying "a second of a pizza" if that were indeed an accepted use of the word.
Que arrecho!.
First, as several people have already mentioned, types, and in particular type-directed programming. In Haskell, I often find the type of a function to be some of the best documentation for it, and I write the type of a function first to describe what I need to write. Partly that's a property of having a strong type system, and partly it's a product of the Haskell culture to want to pack as much semantic content into the type system as possible to help ensure correctness. It's shocking how often you're done the moment you get a new addition to the program to compile and typecheck; it's also shocking how painful it is to go back to C or a dynamically typed language once you're used to that level of static typechecking.

Second, expressivity and modularity. I find that Haskell programs tend to have two types of functions: very short functions (a few lines long at most) implementing the logic of one particular operation (heavily composed of other such functions), and long but extremely simple functions expressing high-level program flow. Good Haskell style encourages writing functions with the most general type they can work with, which results in many functions becoming very general, reusable helpers. As a result, I rarely find myself staring at a half-dozen functions at once trying to figure out what one does and how logic and state get threaded through all of them; each individual piece makes sense in isolation. That's also quite nice when trying to refactor a function.
it gave me eye cancer. I'm accepting donations to help fund treatment.
Personally I feel like the gap between Haskell and Lisp is measured less in productivity (the way the gap between X and Lisp is for most Xs) but instead in comprehension and robustness. The code I write in Haskell might be only marginally easier to write than the similar lisp code, but it comes with much nicer, more sustainable structure and 60% of my unit tests for free.
A better explanation is the adaptive fly by wire system used the remaining wing to generate some lift which would normally cause roll however it compensated by using tail's control surface. Combined with thrust vectoring a high angle of attack to maximize lift from the airframe and a ridiculous amount of thrust and you only need one wing.

PS: You can also fly an F-15 sideways the stall speed simply goes through the roof.