skysight-inc/HackerNews huggingface dataset:
For any aspiring Haskell programmer out there, my advice is to stay away from any blog posts describing Monads using analogies of some kind. The fact is that you do not have to "understand" monads in order to write practical programs that use the IO monad or even something more complicated like Parsec. I've seen too many people stop using Haskell when it's time to start doing something that isn't purely functional because they have been afraid of going to unfamiliar territory.

Here's a simple two part exercise that should give you enough of an understanding about the basics of using IO and give you a general idea about monads.

1. Write a "guess the number" game
2. Write it without "do" notation, using (>>=)

That's it. If you're at all like me, this should give you a better start than reading theory about the subject. Now that you have a basic understanding about the practice, it's easier to grok the theory.

And even if you do not understand the theoretical aspects of it by now, you know enough IO to be able to read and write files, connect to the internet using sockets or do some HTTP requests. That opens a lot of possibilities.
Also keep in mind that their shares were priced by the market partially due to apparent profit levels, which are highly dependent on the cost of labor.
I used the same certificate from StartSSL and got an A- grade from SSL Labs.
The longest flight today is ~15 hours. What's the big deal in going from 2 hours to 16 hours? Throw in 8x more flash memory, and you're done.
Sounds like a pretty novel idea. Until you lose your phone, your key.me account is hacked or any of a number of other things cause your data to get into the wrong hands.

I'm not saying a physical key is perfect or doesn't have most of the same issues (lost, theft, etc.), but why create a larger attack surface through a medium you have potentially less control of?
A new, more visual way to view your Promotions tab
> the people that have a need for the security that encrypted messaging provides will need to grasp it deeply enough to not need the handholding.

I'd say this is a pretty big assumption. Wouldn't it be great to live in a world where you didn't need to understand it to be protected by it?
Georgia Tech offering graduating students 15k to work on startups over summer
One of the really great things about having rich built-in data structures and a more-or-less purely functional data model is that it's really easy to express transformations and be confident that they work. In Java it's incredibly verbose to express & manipulate something like "a list of pairs of sets of integers" because if that was part of your core data model, you'd want to represent it in a class, and then you have all sorts of problems about what callers expect vs. what they get (e.g., do I get a reference to the original, or a copy? Can I safely mutate this?).

But if you actually have facilities to pass around and manipulate those kinds of data structures in a way with no side effects, it's trivial to verify (first on the REPL, then in your unit tests) that whatever transformation you're writing applies properly down the entire nested chain, and it will always work for anything of that pattern. And it is much quicker to write those kinds of transformations iteratively in a dynamic language than trying to represent it on a type level a la Scala.
It's currently better than it has ever been with in the open source movement as it pertains to mainstream computing. Never before have so many consumers had so many devices with so much open software under the hood. Of course it may not be what you hoped for, but it's hard to argue it's not better than it was, say, in the 90s.
How Stack Exchange get the most out of haproxy
Strive to be true to yourself
@feralmoan,
I think this is one of those cases were its sort of hard to compare aggregates since your return on investment is personal to you. In some cases my blog posts have literally taking man weeks to create because they are based on efforts for customers. The code, data, and experience end up getting written down then at some point I might spend 10 minutes to a few hours writing a blog post. Some of those very same blog posts, that have consumed massive amounts of time, have been more or less ignored. Some have ended up being very popular. So what I would say is ignore your average investment time and focus on your goals. What are you goals for blogging? Is it just expressing yourself, communicating to others, sharing your hard won experience, driving a brand (maybe brand you), or just storing information for latter retrieval. Depending on what your goal you will find that you time investments will be very different. For example if you’re really want to show the world how deep your understanding of certain technologies are you might need to spend significant time writing rich and deep content. If your just sharing news articles of interest with a brief bit of insight maybe just 10 minutes a day.
It's like every kid has this epiphany, "Aha! There are only so many hours in the day. If only I could make my work enjoyable, life would be so much better. I must share this insight with the world!"

Welcome to the club of people that includes anyone who has ever had a job or simply thought for more than 15 minutes about the eventual need to support one's self.
Regarding not wanting to turn off the DM permission in order to avoid a disruption to 7000 users, as the DM permission is a disquieting thing that will prompt complaints as this gains popularity and 7000 isn't that high a number, you might want to just rip the band aid off and get it over with now..
Sr. Full Stack Engineer  StitchFix
Stitch Fix is the first ecommerce brand to blend proprietary technology, unique product and human-powered design to deliver a shopping experience that is truly personalized for our clients. Founded in 2011, we’ve grown from word-of-mouth and our leadership team includes former execs and engineers from Netflix, Polyvore, OPower, Baseline Ventures, and Uniqlo, among other leaders in the data and retailing fields.

We’re building a Full Stack Startup to solve major challenges in ecommerce, apparel, merchandising, client experience, personal styling, inventory management and logistics, and we’re set to double our engineering team of 9 in the next year.

If you want to come build new products and solve interesting problems with a great group of people, we’re looking for more excited and talented individuals to join us.

TO LEARN MORE AND TO APPLY, GO TO: http://www.thesourcery.com/jobs/724
This is built specifically for mobile usage by people who are at Demo Day. For a desktop friendly style I'd suggest logging in to Mattermark and viewing the batch here:
http://mattermark.com/app/data?investors=YC_W14
The 6th new account (made in the last hour) to make a positive comment on this particular post, nice.
Open-Sourcing ThoughtWorks Go
Wow, this is going to be a great read. First impressions: pretty decent comment to code ratio, only about 30k lines of actual code, all of the code uses carriage-return newlines (though who knows if that's an artifact of archival) as does FC.ASM for its find_eol subroutine, some files include what looks like manually-maintained revision history, and right there in STDSW.ASM we have feature flags.

One interesting comment in DIR.ASM:

; DS:SI Points to asciz string of path (no leading '/').

and in SYSCALL.txt's documentation, everything uses forward-slashes as directory separators. EDLIN.ASM and FORMAT.ASM on the other hand make clear that the directory separator is backslash on PC;

mov ax,(char_oper shl 8) ;get switch character
int 21h
cmp dl,"/"
jnz slashok ;if not / , then not PC
mov [dirchar],"\" ;in PC, dir separator = \
mov [userdir],"\"
mov [optchar],"/" ;in PC, option char =

Looks like early DOS supported both?
Missing something? :)

https://github.com/git/git
I am starting to wonder if the overhead of doing an API first design is that much more than integrating your domain model into the web app directly. The benefits of having an API backend really seem to shine in the scenario that Joel is describing.

Branch a version of the codebase for the older browser, remove all the support for old browsers from trunk and off you go.

I think the main decision that Joel has made is that they will not shoehorn new features into the older browsers and instead force them to upgrade if they want the new features. May not work for other web apps but seems to be a good compromise.
Ask HN:  Why do some serial entrepreneurs raise money when they can self-fund?
I just read that the Waze founder, who sold his company for over $1 billion last year, launched a new startup and raised $3 million for it. Obviously, he can self fund this, but he's not the only person that does this sort of stuff.

I've heard you should stay away from VCs if you can afford it. So why do these guys raise money, give away a %, and have to deal with VCs?
Good post - I book marked this. As a scala dev, I find higher kinded types hard to approach and find practical uses. I'd like to get into haskell just to improve my ability to work in functional programming in the industry as a scala developer. This post was much appreciated.
SpeakEasy comes to mind. It was very much in its infancy last time I checked, but the ideas behind it seemed profound. I don’t have access to .onion sites right now, and I don’t have the url either, but maybe someone remembers and can post the link (assuming it's still up).
Engineered Ecologies
An interview with 'Critical Engineer' Julian Oliver.
Following dewey's lead, I've got 6 invites to share. Shoot me an email or reply here. First come and all of that.
Abstract away from the people. At the time, it was simply not in Facebooks best interest to enter into such an agreement - at their ridiculous growth, they got lots of money and needed to put it into top talent, which means they need to aggressively recruit. If you then enter into an agreement not to recruit from many top companies in the valley - that hurts your chances.

It's not that Facebook is the only ethical company in this, it is just that at the time there was no upside for them in it.
For context, I was originally answering "Fine. Now, how the hell do I backup my 5TB of photos?". My answer is that you don't need to, since photos don't usually change after they are taken. It is sufficient to simply archive them safely (and redundantly).

I'm not using git-annex as a backup system. I use Tarsnap and my own tool ddar for backups.

I am using git-annex to archive specific large file collections that don't ever change (eg. photos and videos). By storing these collections appropriately in multiple redundant locations, and by also backing up my git-annex repository (using the backup tools above), I have effectively "backed up" my photos. They're as safe as any backup system can make them.
Bringing a game for the ZX Spectrum back to life
That's like saying the fact that you need to occasionally run sudo negates the meaning of using Linux.
I wasn't addressing lawers v. programmers, but just the relationship between the cost of education and the wages expected from undertaking it.

Of course, today you could point to a plethora of professions for which a long and expensive education is required, but for which compensation lags, often painfully. Though in some cases job security may be higher.
Hottechtoday.com
CoinSummit livestream
Adwords Method That Is Helping My Ecommerce Clients Achieve *Epic* Growth
You've failed to establish why a company that uses Clojure wouldn't have engineers that plateau in 2-5 years and need to move into an architectural role or management role.

Are you saying Clojure shops don't need architects? They don't need managers? Everyone just Clojures their way through "hard problems" and individually drives the business in new and more profitable directions? A language enables this?
There are a lot of concepts that need to be learned first before monads become simple; namely, functional programming (in general, including the lambda calculus, currying and function composition), and Haskell's type system and how type classes work. All of this stuff needs to be understood at a fairly intuitive level. Add to this that the way much monadic code is often used, and the `do` syntax that supports it, can mislead newcomers into trying to understand monadic code as similar to imperative code. Add also that many of the most common monads, like the State monad, have clever monadic instances involving passing functions around which are beautiful but hardly intuitive to understand. Add further that many monads used in practice are monad transformers, increasing the complexity and opacity further and making production code hard to grok for beginners.

So there are many legitimate reasons why monads are a hard concept. That said, I completely agree that the best way to learn them is to actually try to use them. In fact, I think that the main reason monad tutorials are seen as useless is not because they're poorly written, but because no tutorial can teach you monads a fraction as well as you will learn them by actually using them.
> If these people didn't need money, they wouldn't work for Apple or Google.

That’s definitely not true[1] for many of the engineers that I know at these companies. There are lots of extremely valuable and interesting engineering projects that are only possible to tackle in the context of a large corporation (or agency) with billion-dollar budgets and the scale and influence that brings.

[1] How do I know? Because they don’t need the money; they’ve seen enough RSUs in their careers that they could easily “do what they loved” if it were anything other than what they’re doing now. Also, because they tell me as much.
FCC revamps controversial study of TV newsrooms
The assumption about this box is that it is in a reasonably safe place. Also, everything on the box is stored encrypted, you need a master key to unlock the box and get it running.

Note: This is not spy stuff. This is a reasonably secure environment for your email (and as secure as the average's persons desktop is)
ycombinator will be listed in the referring url within Google Analytics. The reports won't be super clean, it's really not that hard to figure out.
Since their primary stream of revenue is advertising, they want to get more eyeballs on the promotional emails, most of which are ads.
What would happen if, just by random chance, the numbers ended up in a pattern that isn't "random". Like it returned 4 a thousand times in a row or something like that. What's the worse case scenario?
General Fusion making progress toward net gain in 2-3 years
One of the reasons people continue to work long after they have enough money for the rest of their life is the promise that they can give their children the excess. I bet there are a bunch of unintended consequences in changing this incentive.
Hacking ATM Machines for Cash with Just a Text Message
Not forgetting all those stupid developers who produced the underlying ecosystem (core libraries and virtual machine) your wonderfully smart community is standing on the shoulders of. I guess they're off playing golf rather than solving "hard problems".
Flappy Bird aside, it looks like a cool project with minimal funding requirements.

More importantly it seems like a good cause.
The companies are free to stop cold-calling people entirely of their own volition. That isn't what happened here. A subset of companies agreed among themselves to not cold call eachother's employees. This is a conspiracy in restraint of trade that helps these companies at the expense of employees and other companies not involved in the conspiracy. They are specifically agreeing amongst themselves to not target certain people in violation of normal competitive practices in the relevant market, while continuing the practices with regard to others outside the conspiracy.

Much of the time, the distinction between a lawful practice and an unlawful practice is whether two or more companies got together and agreed to engage in the practice. The distinction is important, because independent adoption of a practice by multiple entities is a sign that they are responding to market forces, while collusive adoption of a practice is a sign that they are attempting to distort market forces.

This was unambiguously an attempt to distort market forces.
http://www.achewood.com/index.php?date=05312002

(I don't do regular credit.)
Why put your own money in the game if you can use someone else's?

I remember having read a Donald Trump quote somewhere to that effect.
From what I know which could be wrong the price fluctuates based on the performance of the constituents in that fund.
> In Python there simply doesn't seem to be a DI/IoC container available. So you end up half-assedly writing your own, or just using spaghetti code.

There are plenty available, just not one dominant one.

> I'm tempted to suggest that Python doesn't have these frameworks because it doesn't bother to support writing large programs.

That probably approximate the truth, in that the brittle "large program" architectural style that IoC/DI approaches seek to mitigate the harms of is probably less popular for large systems where Python is used (or at least the Python parts) which favor smaller programs interacting through standardized communication protocols for constructing large systems.

> Likewise with testing, there's the unittest module but it's not really integrated with a build system or anything else.

Since there is no "build" with python, the fact that its unittest module is not integrated with a build system isn't surprising. There are plenty of tools that support integrating unittest (or other python testing frameworks) in workflows, including utilities that do testing on every file save (similar to autotest in Ruby). Obviously, in the absence of a build step, they aren't integrated into a build system, but the workflows are often better because of the absence of a build step.
Are there any other known examples of websites that follow this API first design? I would love to see more discussion about this design choice.
>The market may go up and down, but it's always trending upward. Can't say the same about the stock market.

Yes, you absolutely can say the same about the stock market. In fact, the historical compound annual growth rate of the market, adjusted for inflation, is almost 7%. That's over 100+ years. I don't have the data in front of me, but I'll bet the market returns crush real estate returns over that period.

You'll have to explain how these people managed to accumulate such wealth "quickly" through real estate, unless it involved flipping houses during one of the biggest housing bubbles in economic history, of which there were massive amounts of losers on the other end of these transactions (aka bagholders). This era produced a ton of "real estate gurus", but it will prove to be an anomalous period. But, taking the economic environment in context , it was a great, clever way to make a fortune; akin to telling someone to sell Tulips in 1640. I just think the idea that "buy real estate, get rich" is naive. The real trick is figuring out the next real estate, or Tulip, early in the cycle.

TINSTAAFL. There is nothing magical about expected real estate returns, and they are in line with any other investment vehicle when adjusted for risk.
MH370: No, they did not find the plane
FoundationDB vs. Jepsen
The wonders of FP.
Is it just me or Twitter is showing us more ads?
It places less risk on the founder. They can easily gain funding so why not create something that, if it fails, won't negatively effect your personal net worth?
Not everyone presents on demo day, some opt-out meaning they might not be listed here.
> Looks like early DOS supported both?

Yes, according to http://blogs.msdn.com/b/larryosterman/archive/2005/06/24/432... which says:

> they coded the OS to accept either "/" or "\" character as the path character (this continues today, btw - try typing "notepad c:/boot.ini" on an XP machine (if you're an admin)). And they went one step further. They added an undocumented system call to change the switch character. And updated the utilities to respect this flag.

> And then they went and finished out the scenario: They added a config.sys option, SWITCHAR= that would let you set the switch character to "-".

> Which flipped MS-DOS into a *nix style system where command lines used "-switch", and paths were / delimited.
Ah def - we got the personal green light from Dong Nguyen before launching with his theme - he's awesome!
This, literally.

Or as George Carlin once said. "Your stuff, is stuff... But my stuff, is thee stuf."
On a slightly related note, i used to ask at interviews, "What was the worst mistake you've ever made?".

I found out later when stopped by the (UK) police once, that their "Have you ever been in trouble with the police before?" is a similar one. After i answered it pretty dismissively, he said "It's amazing what some people will tell you".

Upvote to the top replier for this anecdote, which i'll keep for special occasions:
> "[A guy in charge] said the military didn’t need to reinforce the spots that had bullet holes. They needed to reinforce the spots that didn’t have bullet holes."
Crosswalk does work on desktop (Windows, Mac, Linux) but it is currently "community supported" meaning that it doesn't go through the same amount of QA as for Android and Tizen, and as a result might have more bugs - or occasionally not work at all.
My promotions tab is 3rd party emails. It will be interesting to see how this looks, will they make thumbnails of promotion emails or pick an image? How will this affect statistics for folk at Mailchimp et al? what about the little guy who sends a couple of hundred promotions out via a Mailchimp? Will their 'open' stats be skewed?
Simple visualization tool for teaching git with D3js
Tool showed in Berlin on git-merge in 2013. Simplifies teaching git in small workgroups.
That's like saying that using a sledgehammer for a nail is the same thing as using a hammer.
FWIW, whoever built a system that had no redundancy or disaster recovery plan or even properly separated environments was responsible. You were just unlucky.
I wonder if they deleted all the "fucks" out of it. The Win2K source code was good for a laugh.
Because on my work I can only use languages that the whole team is comfortable with.

Additionally the project technology stack tends to be specified by the customers.

So I will only be able to use something like Clojure when:

- Everyone on the team knows it

- The customer asked for it

So is the life at the big boring world of enterprise consulting.
I agree with this. I'm thinking about building a decentralized marketplace but without anonymity for this very reason.
Sure the market has changed so that PC numbers aren't quite so important. But even Android phones have some "proprietary software", don't they?
How do they determine what browser version users are on so they can show the right version of jellydoughnut-xx?
Generally, if the risk/reward proposition is not favorable, or as favorable as the entrepreneur things it should be, they will use other peoples money and not risk their own.

While this makes good fiscal sense, it does require a certain amount of bending of the trut, and it's kind of a douche bag thing to do.

Clearly if someone approaches you to borrow money for a venture and you know that they have the financial ability to fund it themselves but do not, then you should be especially wary of putting your money where they will not put theirs.
The F-35 Is Worse Than HealthCare.gov
Test drive a Level 3 hypermedia API