skysight-inc/HackerNews huggingface dataset:
Nice! Yeah. I had two avenues of understanding available to me when it came to monads. The first was my knowledge as a mathematically-inclined software engineer. The second was my knowledge as someone fluent in high-level mathematics.

I'll say, here was one key to my understanding once I saw it. In a purely functional language you want everything to be referentially transparent. That is, an expression should be able to be substituted for its value at any given moment in time. At the very least, you'll want the ability to denote which parts of your program are referentially transparent and which aren't.

This can be expressed as utopian vision: in a purely functional language we'd like everything -- everything -- to be a value.

We now need some way of translating code with side effects into code that returns a value. The logical abstraction is to say that the "value" is not the work itself -- once the work is done it's out of the bag, after all -- but rather the "value" is the machine which can perform that work.

To a mathematician this screams "functor." If you want to move between the two spaces repeatedly this screams "adjoint functors." There's some work you want to do in Space A that's more easily expressed in Space B, so you take a thing in A, transform it to a thing in B, do the work in B, and then transform back to A.

Think in, e.g., Ruby:

sentence.split(' ').map(&:reverse).join(' ')

split(' ') and join(' ') aren't quite inverses of each other, but they are adjoint. These pairs take us from the land of space-separated strings to the land of arrays back to the land of space separated strings.

You see that all the time in programming and mathematics. I sometimes call it the "Super Mario Brothers" maneuver when I'm trying to teach it to students. Mario wants to get to the end of the level, so he hits a block, goes up the vine to cloud land, runs through cloud land, and then comes back down.
See disparate impact
It would hurt a large class of older workers more than a class of younger workers.
I'm not sure if you're aware of this, but when the Agile Manifesto was signed, a giant red button was pressed that reset the entire industry's memory.

All that existed before 2001 was waterfall. Nothing else. Just waterfall. Only waterfall. You are mistaken in thinking that iterative delivery, spiral models, joint application development, daily build-n-smoke, test harnesses or any such practice or technology existed previously.

Then in 2001, Agile sprung fully-formed from the brow of Zeus and saved us. Agile has no predecessors whatsoever and completely invalides decades of careful observation, discussion and investigation by generations of software developers and managers.

All books and articles published before 2001 can be safely ignored, and nothing can be learned therefrom.
Could be worse, could be xbox live user names.
I need to make a note not to click on ForeignPolicy links. Their page-blocking sign-in is so massively annoying.
How did it take you two minutes? The prices are written on the top.
No, I have never heard of Haskell and bitcoin in the same sentence. I think you'd have to use an FFI.
I'm not sure what you mean re: click on "Figure 1" to see it. You could scroll back up, but I thought that was the equivalent of flipping back pages. In a lot of scientific papers I read the figure is not on the same page as the first introduction. I considered fixing them to one position, or placing them within the text like most people do, but this interrupted the flow for me.

re: "Edit" It's not a 300x improvement by any means. Definitely less cool than the research I get to do ;) That said, I would like to see things switch away from LaTeX as typesetting gets better on the web. I love LaTeX, and was even offered a part-time gig as a LaTeX editor for an economist that has 3 full-time typesetters (I'm not even kidding, he must take division of labor seriously). But it doesn't seem to allow for the same kind of freedom we have now as a result of newer media: it's optimized for print, even with addons like hypertext.
Speaking on behalf of a LOT of people - F 500friends and the under-30 horse they rode in on.
I was also skeptical of ebooks until I got my hands on a Paperwhite. It's not going to replace my library, but having dozens of great books to choose from while away from my shelves, plus a comfortable reading experience in essentially any environment is more than enough to make me a convert.
Stepping into an area about which I have strong opinions. I appreciate your effort, I just think you're way off base.

Physical Review Letters in journal (aka pdf) format are ideal. Nothing is especially stylish, but it's a simple, easy to read format that highlights figures as a way to convey the meaning of the work. I much prefer the PDF to the online version.

Some critics of your site (all in the spirit of "I hope you take this as a challenge to do better or maybe just realize there's not a lot wrong in the first place"):
-your color contrast hurts my eyes (light grey on blue...)
-the graphs are hard to understand (no axis labels on some, no captions to understand what's going on since that's all most people read first anyways, lack of contrast)
-typeset equations are ugly (can't beat LaTeX)
-drastic font size difference between code and text is jarring
-no authors listed so I can instantly disregard your work because I've learned not to trust your methods (I kid, I kid... kindof)
-the draggable figures did nothing for me
-your column width was too narrow. Aim for 10-14 words per line.
-because I have to scroll it's hard to quickly scan it for parts I actually want to read. When you read 10-20 papers a day, this is important.

One thing I really like: click the Fig. # and it scrolls to be beside the text. That is a nice feature that online journals can learn from.

In short, I think you're trying to solve a non-existent (or at least minimally existent) problem. LaTeX is beautiful, but perhaps you don't appreciate it. Journals in print (except for Science and Nature which blend all their articles together) generally look really nice. The PDF's of individual articles are the thing to read online, and I think your solution is a long way from any sort of reasonable online reading experience.
A very important corollary note: You can often ship books via media mail at the post office for incredibly cheap. All my college textbooks cost < 30$ to ship.
> And the Gmail app on mobile devices doesn't support such extensions anyway.

It should be easy to do such things using Substrate. (I'd even argue easier than via JavaScript, as backend logic code and variables cannot be hidden and protected inside of closures.)
Narrow column + no hyphenation + justified = typesetting disaster, especially with the crude type handling in web browsers.
The Zimmerman Verdict and Aftermath 07/14 by Willie Lawson | Blog Talk Radio
That's why there's a footnote on the front page:

[1] - Lines of active code only, not counting optional function signatures. Intermediate debug output lines excluded. May cause eye irritation if viewed for prolonged periods of time. Speak to your physician to find out if this tutorial is the best treatment option for you.
That depends which continent you're on.

Similarly I wonder why those new easy payment startups make the news, since they're US-only.
The justified cols aren't great yet on web browsers and I was getting too much white space. I think I'll go back to left-align given your feedback, thanks. For what it's worth, the extent of my design knowledge is "Design for Hackers" so I don't claim to be an expert or anything.
Romancing the Pitch (for first-time entrepreneurs)
"too many startups building great products that people never find out about."

I'm going to call bullshit on that. If your product stinks, all the marketing in the world won't save it. I challenge you to name one great product out of Silicon Valley that languishes in obscurity.

If a startup has a great product, they need a sales force actively prospecting, qualifying, and closing win-win sales. "Inbound marketing won't do it, social media won't do it, search won't do it, advertising won't do it. Revenue is for closers.
The other issue is that he is not recommending that this be used for research. He is recommending that he can discreetly rent out my own computer to entities that are anonymous to me and with whom I have absolutely no contact, all for his personal monetary gain.

Consensual distributed computing in the name of science in interesting. Secretive distributed computing in the name of individual profit is disconcerting.
Yeah, some of the syntax was confusing for me, too, but I trusted that it was equivalent to the mathematical statements.

Here's the original paper on monads, which I highly recommend: http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...
Crap. I have 11 years experience doing some pretty awesome shit. I guess this is the last year I can get a legit job in a startup.
The act of "discrimination" per se is fine. In fact, when you select one candidate among many, that's exactly what you're doing. Exercising discrimination. It's just required to be the right kind of discrimination -- based on actual qualifications and perceived capabilities to do the job at hand.

What you are not allowed do is discriminate based on criteria that are not part of essential qualifications for the job. And I for one can't conceive of one single thing that disqualifies, say, Jeff Dean, from holding that job over a candidate a few years his junior.
Is "no more than 10 years experience" more illegal than "at least 5 years experience"?
This is one of my favorite Linus posts, because it gives you a great deal of insight into how a modern out of order pipeline works in the context of one specific instruction. It's unfortunate RWT has such a shitty search feature, but it's worth perusing their forums to read Linus's criticisms of IA-64. He points out that the extensive predication in IA-64 makes an out of order implementation much more complicated.
I never got why cmov was 2 µops (and thus 2 cycle latency) on Intel CPUs. On AMD (and modern ARM), it's 1 µop with 1 cycle latency and can be issued to any ALU. Which makes it a win for a single conditional mov in pretty much anything short of microbenchmarks with 100% predictable branches, as in Linus's test case.

Also setcc is abysmally stupid in leaving the high 3/7 bytes of the register unmodified - what were Intel's engineers smoking?
I haven't read that one, and I am looking for an into to Lisp book. What did you like about it?

(and I think it would be a missed opportunity to not title it "Sea of C")
Not just art assets - also some source code.

Well, the video is more than a little hyperbolic, but I like the idea and am glad the funding goal was reached.
They do (usually). You can even get credit for it, at least in the US, it called CLEP - https://clep.collegeboard.org/. Cheapest year of college I ever had - was around $200.

I skipped an entire years worth of useless general ed courses to get my "requirements" to graduate out of the way at my college on 6 CLEP tests. I think the notes I took for those tests reading the wikibooks and wikipedia articles on the various topics on those tests were some of the best domain information notes I've taken. I also wrote them online, so pretty much all my K-12 notes are useless, but I gave my CLEP notes to my extended family with notes they need to read the material themselves but I did a bunch of work already.
I would love to see you write more in this style - it's very clear and straight forward.
Professors will never teach me faster than I can teach myself.

This. I was watching John Adams and he made an excellent quote when speaking to his son, "A scholar is made alone and sober." It's going to be my mantra for my senior year at college.
Because selling C++ programmers on Java was hard enough ;)

The full discussion that quote is from is a very interesting read: http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...

Guy Steele suggests that even though some of the people working on Java at the time might have been ok with closures, it was a hard sell when programmers used to manual memory management in C++ were worried about whether things were allocated on the stack or the heap and how much control they had over them. Thus you get the awkwardness that is anonymous inner classes in Java, which are effectively closures, but by another name and papered over with boilerplate.

"Actually, the prototype implementation *did* allow non-final
variables to be referenced from within inner classes. There was
an outcry from *users*, complaining that they did not want this!
The reason was interesting: in order to support such variables,
it was necessary to heap-allocate them, and (at that time, at least)
the average Java programmer was still pretty skittish about heap
allocation and garbage collection and all that. They disapproved
of the language performing heap allocation "under the table" when
there was no occurrence of the "new" keyword in sight."

http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/m...

Reading through this thread is delightful, I developed quite a lot of respect for Mr Steele.
Just purchased this, I'm paying the same price for the same specs with Hetzner, just without SSD.

So I copied over my data, then cancelled my old plan. Good deal for the same thing but with SSDs.
They do actually have a bandwidth limit where they'll either throttle you down to 10Mbps or similar, or ask you to start paying by the TB. However, they set that limit at 20-30TB (depending on the server type), which most people won't come anywhere close to; to hit that you'd have to average ~61Mbps continuously for the entire month.
We won at the state level and, as a team, decided that we found it intensely boring and weren't going to pursue it any further and gave up our spot.

We are paying real money to have access to bright teaching staff and be able to take classes. I couldn't justify spending more time practicing for contests.
The greatest challenge our species has ever faced is the educational system itself.

Almost. John Steinbeck said it best, IMO, "We now face the danger which has been the most destructive to the humans. Success, comfort, and ever increasing leisure. No dynamic people has ever survived these dangers."
I think it's a clever in-joke that didn't quite come off right. Which is a pity, a good VP Engineering would need both experience and a sense of humour.
I hated that book, the signal to goofy joke ratio was awful. Compare with, say, "Learn you an Erlang", which was goofy while still informative.
Bjarne Stroustrup: Why you should avoid Linked Lists
Undergrad level math courses are not as thorough as you might think due to the time compression needed to fit a topic into a semester. Learning fast is kind of the point. If you dive too deep you'll run out of time to get through all of the material and get poor grades.
Nope, just that if what you want is consent, and if you don't permit consent to count unless it's genuinely meant - no pressure, no arm twisting, no punishment for a "no" - then it's damn hard to contrive a circumstance where in a patriarchal society, a man can assume a woman is consenting. "Yes" can only be understood as "yes, given the estimated probability of consequences for no". And it takes a whole lot of effort even to blunt that a little.
This is totally off topic, and might be considered a rant, but I see this from time-to-time in startup land.

Not understanding titles.

First, this is for a "vp of engineering" that is "hands on". Are you really looking for an architect that codes? Perhaps a Sr. Engineer/Team lead? Do the engineers directly report to this "vp of engineering"? What happens when the team gets to big?

Second, you are locking yourself into something prematurely. If you want someone hands on with management experience and capacity to grow into a future leader, state that and start looking. Make your interview quick on the technical assessment, heavy on the social and ask "what would you do in ..." or "how would you handle this ..." type of questions. See if the person has 1. experience 2. common sense or 3. good intuition on process/people.

Lastly, what does the rest of the company look like when the VP of Engineering clearly has an inflated title. Are all the C level/VP level people equally inflated?

Anyway, sorry for the rant. It seems a common occurrence in Startupsville to see people running around with titles that mean nothing for the sake of having the title.

"Oh, cool. I'm the VP of engineering at blah blah".

"nice, what do you do everyday."

"Oh, you know, code reviews".

Whatever.
thanks, you're right. edited it now.

I'd claim that I subconsciously 'corrected' it, but let's be honest: what good would a post about a typical HR error be without a typical programmer error!
Having been offered a part-time job to typeset LaTeX, I do really like it :) I used MathJax, which was the best math typesetting I could find for the web.

Without disrespecting your criticisms at all, is there any sort of dynamism which would make you want to read something other than the pdf?
And I thought my hosting was bloody cheap... Jeez
They are situational tools. They are not the catch all sink of learning, in the same way public instructor driven 30 students 40 - 60 minute blocks x8 chalkboard and tests isn't the catch all way to teach the masses in general for 12 years. The problem is everyone wants a one size fits all answer that takes in toddlers and spits out hyper-successful professionals in the most prosperous industries and human beings aren't best placed on conveyor belts in a factory.

Some people benefit. Some people suffer. Some are indifferent and get bored. The bigger problem is figuring out there are many ways to learn beyond a book and a grade, and that we need to figure out how each individual learns best.
I am not talking about writing a sort.

When it comes to providing stock algorithms, most environments are woefully inadequate. I have not yet encountered an environment with a usable maximum_bipartite_matching(), ternary_search(), or bfs(). To be usable, it would need to be easier to convert my problem instance into the types accepted by the library function than to write the code that does the right thing on my types. STL's next_permutation() is the only next_permutation() in any environment I am familiar with, and it does a great job. I believe I've also encountered one stock implementation of binary search that is useful for the case of "binary searching on the answer" (rather than just binary searching in an array), but this isn't a big deal because it saves you maybe 3 LOC.
This is going to probably bite me in the ass because I'm looking for work at the moment and occasionally apply to interesting YC companies but since this has come up, I'm going to share my story here because of the negative experience I had with the company in question.

I had a phone screen with 500friends recently. They were late calling me, and the person I was scheduled to talk with wasn't even on the call. They had pulled some poor engineer off of whatever he was doing, shoved my resume in front of him, and said "go".

The list of things that our "interview" contained:

1) Late in calling me at our scheduled time.
2) Scheduled person was not present on our interview call.
3) Engineer that was put on the call was ill-prepared for the conversation.
4) Questions asked of me were a combination of very basic and others being completely unrelated to the nature of the position being interviewed for.
5) The scheduled person appeared at the end of the call barely long enough to say his name before hanging up on me.
6) Hung up on me suddenly.

#6 was what really got me. It was literally, "Hi this is <x>, we're out of time, click."

If you advertise a position as requiring a certain set of skills, then ask prospective employees about those skills! Go through their experiences and see if they're a good engineer outside of the narrow scope of "solves logic puzzles well". You might be surprised that someone who doesn't normally write linked lists in javascript or implement 2500 year old prime-solving algorithms on a weekly basis actually has skills and experience to contribute.

My personal recommendation for anyone considering 500friends is to skip over them. There's much better companies more deserving of your time and consideration, and you'll certainly be treated better.

## Just to add on, I don't have a problem with logic problems. But too many people only ask them and don't do real interviews. Yes, I can do linked lists in javascript. Does that tell you anything useful about what kind of engineer I am? No, it doesn't.
There's already an Open Source project called gource (https://code.google.com/p/gource/) that does this.
Michael O'Church observed that if you're at or near the ground floor of a startup, titles are easier to get than money or equity.

Which seems harmless, but if and when money starts flowing, something primitive in the status=money&equity hindbrain clicks and such a title makes it easier to negotiate for a better deal.
Hetzner's prices include 19% German VAT. If you order from outside of the European Union Hetzner doesn't charge VAT, so you only pay around 50 Euros instead of 59 Euros.
He got it wrong, that is an OC to my knowledge. None of the major main cast are male ponies, and that isn't one of the side characters I know of. So consider his credibility untarnished.

~credibility is for curmudgeons.
I love this idea. Has something like this been done to purchase existing art for the public domain?
There are much more embarrassing subreddits.
Could also just be a publicity stunt
I only said that because you can't prevent all discomfort to everyone. Its not possible and there's a good chance fixing one persons discomfort will just make someone else uncomfortable, hence within reason.

And even so they should still speak up. Even if someone has some unreasonable discomfort (ie it makes me uncomfortable when you wear red) it may be so minor that it can easily be avoided. You couldn't expect people to not wear red, but if a co-worker said that to me i'd probably just try to not wear red.

Without communicating/talking about it, reasonable or not, there is absolutely no chance of the situation getting better.
Even more impressive: originally published in 2000...
How I stay productive after work
Theoretically, you could have worked the first 20 years of your career doing mainframe and SAP conversions (or, running a landscaping business), and then switched to agile software development within the past 10 years.

They don't say 12 years total experience, just less than 12 in Agile.
I'm not smart enough to understand what this comment is trying to say.
At least 5 years experience is a requirement that is job related. You need 5 years of experience at X do lead others doing X.

No more than 10 years experience seems very much not job related. How does having too much experience hurt a person's ability to do a job?
Hiring strippers. Must have no more than 30 years experience.
Here is the fulltext[0] - there were 6 pages to click through!

[0] http://www.businessweek.com/printer/articles/133612-in-iraq-...
Not to excuse that sort of behavior, but this is a pretty typical HR experience in the Bay Area. Late calls, no-shows, awkward questions, either too easy or too hard, abrupt endings, obviously haven't read the resume, etc. Happens all the time, unfortunately.
I once wrote a very ranty essay on the same topic: http://kmkeen.com/post-scarcity/

It needs some work yet and is not terribly well written. But it goes along well with the original post, providing things for we (as individuals) to do that don't require massive policy changes that the article suggests.
Just tell them you have 1 year experience 11 times.
I actually wrote about this very subject a couple of months ago regarding a craigslist web app I help create.

http://blendah.com/post/37787050142/how-to-get-a-top-google-...

Hope this helps.
I agree, an organization that views titles as cheap/free either does not have the imagination to forsee the scenario you describe or they do not seriously expect to grow.