skysight-inc/HackerNews huggingface dataset:
It's the difference, as Heinlein wrote about, being 'knowing' and 'groking'.

There's an actionable quality to groking that doesn't exist with knowing.
So, it's not like loops are an inherently imperative idea, so much as that they typically are something that only make obvious sense in an imperative world.

Let's start with a simple function that counts down from five in Javascript:

var countDownFromFive = function() {
console.log(5);
console.log(4);
console.log(3);
console.log(2);
console.log(1);
console.log(0);
}

So, that's the purely imperative way of doing things. We notice a pattern, though: the numbers are just a list from [5,4,3,2,1,0]. So, we could just describe them as the series S(n) = n + S(n-1), where n >= 0. So, we write it in that form:

var countDownFrom = function(num) {
console.log( num );
if (num >= 0) {
countDownFrom(num - 1);
}
}

And then our count down from five becomes:

var countDownFromFive = function() {
countDownFrom(5);
}

So, that's great, and that's a nice recursive definition of the problem. The problem is, though, that for a really big number, say 2^32, we've got to store a stack of results, and that blows everything up. We can fix this with tail call optimization, because we know we can reuse the same stack frames, but that's an optimization many low-level languages don't have.

Indeed, until we've invented them, we don't even have the necessary concepts of a stack with function frames. So, let's look at our problem again.

Let's pretend we're in a very limited assembly language, with just registers:

LOAD registerA 5
PRINT registerA
LOAD registerA 4
PRINT registerA
LOAD registerA 3
PRINT registerA
LOAD registerA 2
PRINT registerA
LOAD registerA 1
PRINT registerA
LOAD registerA 0
PRINT registerA

So, that mirrors our pure imperative case. Aha, but let's say we're smarter than that, and we have a branch instruction and a decrement operator:

start:
LOAD registerA 5
doPrint:
PRINT registerA
DECREMENT registerA
JUMP_IF_NOT_NEGATIVE registerA doPrint
finish:
HALT

So, even without the notion of a function stack, we can still print a list of numbers. We are now experts at counting down from five.

~

The thing we see, though, is that the difference in implementation comes from basically whether or not you can compose functions: if you can, you use the functional approach. If you can't, you refactor the problem to have an explicit accumulator (your loop variable).

Loops can be considered an inherently imperative idea because you have this changing context wrapping the function being invoked (a mutating accumulator, if you will)--in the functional world, you merely wrap another function which itself creates a new context with the desired mutation, and that function in turn calls another function setting up its own context and so on and so forth. It's somewhat handier to prove correctness and behavior of these recursive functions compared with their mutating accumulator imperative solutions; at the same time, they are slower without compiler support.
My favorite is:

"If we think of a list as a monster, here's what's what."

http://s3.amazonaws.com/lyah/listmonster.png
PlanGrid (YC W12) Is Hiring Mobile/Back End/Web/Data Science Hackers
I swear by them. Before, I couldn't use the computer for more than an hour or two without severe eye strain. Now I can be online for 12 hours, no problem.
http://www.unlambda.com/download/genera/snap4.tar.gz

Here's some instructions on setting it up:

http://www.cliki.net/VLM_on_Linux
"achieved positive growth" is pretty self-explanatory. "dramatically reset the global search strategy" is a bit weirder but they are (most likely) talking about their search deal with Google which they terminated in favour of Yahoo! and yes, that is a pretty dramatic reset.

If you don't want to read corporatese, well, don't read a corporate blog. Mozilla is a great company and a great presence for the web, but Mozilla Corp is still a corp, even if the Mozilla Foundation is a non-profit.
Don't use centralized services like Twitter that allow this to happen.

Take back control of your social networks and run your own instance of a federated social network like Diaspora, Pump.io, or GNU Social.
What does "lack of applications" mean? As in, not that many apps are written in it, or that it's not applicable to many of them? It's a fairly general-purpose language, you can get most common programming tasks done in it pretty well.
Homeward
Valid. Its nice to know where the money flows from. At the same time, I could care less how they make the money and more about 'this is how Mozilla disrupts'.

That, if we get down to it, is what they were originally set out to do.
If you like math (I mean stuff like set theory and abstract algebra, not arithmetic and high-school math), then Haskell is wonderful. I find programming in it to be more enjoyable than in any other language. It will also make you think differently, which is a useful feature if you're learning a language to expand your horizons. It's also a gateway language to more bleeding edge aspects of language design.

That said, I find that knowing enough C to fix build and configuration problems in open source projects has been more useful than Haskell for me.
So is that the total list ? Is it possible that there is a company valued over 1b that they could have missed. I am seeing lots tech companies, but not much non tech companies.
This is a problem that a Project Manager solves.
Ask HN: Newbie freelancer. What do I do with this opportunity?
I just had a potential opportunity fall into my lap and I'm not really sure what I should do to best capitalize on it. I had a feature request opened for a project of mine on GitHub where the requester indicated that he would be willing to set up a contractual arrangement to get the work done. I've never done any contract work before, although I've been curious about it.

Most of the advice I have read regarding freelancing seems focused on rather bigger gigs than this one. My estimate is that it will take no more than a weekend hack session to get the requested feature out the door. The entire repo is only in the 1KLoC range. On the other hand, I am certainly a domain expert for this particular niche. Since the client here is a developer himself, it seems clear to me that he is primarily interested in my domain knowledge.

Given all of this, I have lots of questions; I feel a bit lost really.

* What would be a reasonable ballpark for this sort of work?

* What sort of contract would I need to set up?

* How do individual freelancers usually process payments? PayPal, or perhaps something better?

* The client is located in the UK, and I am located in the US. How does that complicate things? (Taxes, etc.)

* Is the effort worth it for a project of this size?

* Are there good resources to learn these things and more about freelancing? Searching has yielded lots of blog posts full of contradictory opinions.

* How do I not make a fool of myself? :)
it's dynamically typed, though!
Congrats on the launch! How do you manufacture the frames?
IBM and GE are all the proof we need that 'corporate' doesn't change the world. Edit; they once offered innovation, now they suck its blood.
In the article, it talks about how they do everything by hand, literally by hand, not using any tools.

Why don't they use livestock for their work? It seems ... inefficient. Other countries didn't have electricity for a long, long time; but they still had machines and assistance through livestock and others, what makes this place different?
I'd say it's pretty good. It's hard to give advice because I learned Haskell when I already had a decent college-student understanding of C++, so Haskell added diversity to my education where C wouldn't. It's good to learn languages that are different, and languages that make different things cheap -- Haskell made defining types and also made static type checking a lot cheaper than other languages in 2005. It's also easier to usefully learn than C, because I think you really need to do stuff with a language in order to be good at it, and floundering around as a noob in C isn't necessarily the best way to do that, it seems to me like you can learn ho to use it wisely, more productively, when coming from a background with some experience. You can do useful stuff with Haskell pretty quickly, which lets you go farther with it.
> Longtime user -- I was on the Netscape 4.3, then 7.1, Kmeleon project, then Phoenix, then Firdbird, then Firefox? I cant keep up.

You named 5 things that happened in the span of 3 years over 12 years ago, and one that has been around for a decade. I'm pretty sure you can in fact keep up.

> Where is the heart? The direction? The challenge?

Please.
Show HN: Stopped procrastinating and finished this little toy
My bet is on Chakra, once open-sourced, becoming the JS backend for Node enterprise.
HTTP Archive – Trends
Checkout the clojure loop form.
I am afraid people on this will have disagreement with me, but as Searle pointed out, whole brain emulation is just an emulation and most likely won't have qualia, consciousness, even if the behavior will be a perfect copy.Especially if Penrose is right.
I remember browsing this site before Unicode was even a vague plan. The march of charsets has not been kind to the site. But if you use that as an excuse to sneer and pass over it, you will be missing out on a true unsung gem. At least, if you like math. This is the sort of site that the web was created for in the first place.

I recommend "Reflections on Relativity" if you need a concrete starting place. Here on HN over the years I have wished it would be published at various times, but I am now happy to say I have a physical copy, despite having read it online at least three times before. It was worth it just to see it typeset properly.
First, this is a solved problem.

http://en.wikipedia.org/wiki/Mastermind_%28board_game%29

tl;dr answer: Check every possible move. For each possible move, each possible response partitions the remaining guesses. Find the move that, with the worst possible response, has the fewest possible remaining guesses. That is an almost-optimal greedy algorithm.

Second, as a senior candidate I now pass on pre-interview screening tests and assignments. I'm not spending a couple hours doing your challenge for the chance of MAYBE getting an interview. A pre-interview test only works for a recent grad or someone who's desperate.

Who are you and why is your job so special, that I should invest several hours of time for the chance of maybe speaking with you?
Guantanamo detainee David Hicks wins appeal against terrorism conviction
Thanks! It's been a fun product to get off the ground :-)
The fall semester of my senior year of college was spent on a three-month wilderness course. This was done in the southwestern United States. Over 90-plus days we slept outside, carrying all our supplies. The course was split into four sections, and, as an example of the break from normal amenities, only between sections was there a chance for a shower.

After that course, my spring semester was spent in Indonesia, in a part considered third world. Despite being in the tropics, there was no air conditioning. A shower meant pouring a hand bucket of cold water over myself.

I could go on about the comforts given up during this year, one which I consider among my fondest. And I’ll admit there was an adjustment upon returning to standard American living afterward.

Truth is, as great as that year was, and as distinct as it was from my usual American-style living, I can’t imagine what the people described in the article experience. As much as I enjoyed my time, I knew the conveniences I’d sacrificed were only temporarily absent. On top of that, the health risks these people have no choice but to accept are above and beyond what I physically risked.

Worst, I think, is that these people probably have little reason for hope.

It’s all so unfathomable to me—their circumstances, the slow rate of improvements, the amazing ways people endure under immense hardship.
What is a good online reference to learn about "Monads" for beginners? Someone posted a reference here on HN sometime ago but I lost it.

Edit:
The book was enjoyable and a delight to read, but I started struggling to keep up from Chapter 8. as it went into Monoids and Monads, I feel like I need to read other tutorials before coming back to it.
You might be better served by waiting a little while. The Http library is going to get totally revamped soon by the new Promises API.
Ideally, people are paid what they are worth - so that would imply there would be instances where people had the same title, but vastly different pay. The challenge always seems to be how to reliably determine who is really having more impact and who is positioning themselves to look like they are.
> Note: This chart only includes companies that are privately held, have raised money in the past four years and have at least one venture-capital firm as an investor.
Udemy Coupon Code 65% Off – Become a Certified Web Developer – Whamdeal
The word "tech" has lost all its meaning now... basically if you do anything online your are considered a tech company.
Well, Learn You a Haskell's explanation of Monads in Haskell seems alright.
No,

I guess amateur researcher would be the best term.

Occasionally I find mathoverflow useful but you can find some annoying attitudes there are also.
> That feature is not called "full disk" anywhere I can see. "System Encryption" or something.

See above citation.
"There is also no example of a successful free market economy, because no such thing exists."

That's like saying there's no such thing as a blue sky or green grass because the whole thing isn't #0000FF or #008000.
I still can't get over the 'Girlfriend' gag.
we work is not a tech company
FFI calls are just like normal calls: they need a coercion on them.

i = ffiFunc() | 0; // returns an int
d = +ffiFunc(); // returns a double

This is identical for FFI and non-FFI calls. A difference though is that asm functions have specific types (an asm function returns either nothing, an int, or a double). But an FFI is just any old JS function. So you could not write the above 2 lines together with an asm function, only an FFI can get an int one time and a double another time from the same function.
Rampant Corruption, Gross Negligence, Terrible planning,....
you name a dysfunction and the Indian Electricity distribution system has it.

A sample statistic - a while back there was a study on Transmission & Distribution losses in the Power grid.

US - 6-7% T&D Loss

India - 25-30% (conservative)

Just think about that - 30% of power generated in India NEVER reaches the intended consumer. A lot of it gets lost due to poor connectors, some of it is stolen, some of it is "diverted" by cronies of the officials.
Thanks for linking to that video, it was fun to watch. I've looked at the 90s' id games differently ever since I read Masters of Doom 10 years ago (due for a re-read soon) - learning their history made me appreciate those games on a whole new level. Their story was a very big inspiration and motivation boost for my own modest projects.
As a "tech lead" I think this is a great list of expectations. I don't allocate tasks on an individual basis, but I may suggest an individual dev work a track of features. I also work with devs from other companies who work with our products and APIs. I like to think I have a tactical view of the problem space while my VP or CTO works strategy.
There was quite a long discussion about this on the Haskell subreddit this past week[1], and indeed this topic seems to always be something newcomers get caught up with.

My advice is to use the language until you gain an intuition for them. Despite being rather simple, I found it was difficult to fully appreciate them without a decent amount of exposure. Really though, monads aren't what Haskell is all about, and don't let an incomplete understanding of them stop you from diving in.

[1] http://www.reddit.com/r/haskell/comments/2vm0ed/is_there_a_g...
It's a very cool/fun project and definitely not a cat video. I do believe that it's relatively "shallowly interesting" and I haven't read any comments yet that would indicate to me otherwise. I take the 550+ up-votes it's gotten as a sign that the value (for me at least) of the hacker news filter is slowly degrading.
Word.

There's Real World Haskell by Don Stewart (http://book.realworldhaskell.org/read/index.html), though the order of exposition is different and your mileage may vary with the exercises.

I did find that "Programming in Haskell" by Graham Hutton was a very clear read and had good programming exercises.
for such a small project I would:

* charge by hour (ballpark 70-150$/h). Give an estimate on how long it should take and maybe add a max budget.

* ask for 30-50% upfront. Only start working once the money arrived, this is fairly important, so you are not emotionally invested in the work you've done so far.

* if possible only release the code once he fully paid. Find a way to show him that it's working. They might be whining and crying, but be firm.

* Paypal, wiring whatever works best between you. Tell him what payment mode you can accept and give him the choice. Wiring is the safest choice for you (no charge-backs).

* I would ignore the charge by how much it's worth for your client comments for now. Focus on getting some experience first.

* I wouldn't worry about a formal contract too much. Send him in an email all your modalities (upfront payment, delivery when it's done) and have him agree by email. Verbal agreements by skype is not enough (people tend to forget...). Every agreement in voice, send it to him by email later on, e.g. "summarizing our call: bla bla. Please confirm that we understood each other correctly).

* enjoy the ride
Someone hacked together something and is sharing it. It's exactly what HACKER News is about. Heaven forbid someone do something relevant to the site and share it. Lets get some more X rewritten in y lines of JavaScript posts instead.
I suspect some of the other companies listed on their will follow suit...
2600's “Off the Hook” preempted for a fourth Week – future uncertain
freedom123 You have been hellbanned.

1. People cannot respond to you.
2. Your posts normally do not show up, unless we choose an option of "showdead".
3. Everything sent to you is as a normal user. There is no indication that anything is wrong.

That is what a hellbanning is. Or here: http://en.wikipedia.org/wiki/Hellbanning
Ask HN: How to move from developer to support role?
I've worked for a bit more than a year as a developer but recently transferred to a customer support role which still requires dev skills. I seem to be managing fine, but I'd like to have another resource besides experience to learn from. As a developer, I was used to having many reputable sources of information and experience at my disposal that I could rely on, such as official documentation, StackOverflow, HN and so on. Unfortunately, with "customer success" being as broad as it is, I see there is a lot more snake oil and buzzwords being thrown around, with no clear sources of truth or at least objectiveness to be found.

Has anyone else been in a similar situation (moving from dev to support)? What/where did you learn from, besides intuition and experience?
I recommend this to anybody who wants to learn about Haskell's important data types:

https://wiki.haskell.org/Typeclassopedia
I have seen a few monad tutorials and found this series far more comprehensible than others-- it starts with the real-world monads many programmers use unknowingly and works back to the definition.
http://ericlippert.com/2013/02/21/monads-part-one/
My take on this concept from undergrad [1]. It's a bit less refined but a lot more powerful, using an industrial robot.

[1] https://www.youtube.com/watch?v=HoAqbQsY-sY
Courses, videos and coaching to get organized and grow your business
There are definitely companies missing (I have personal knowledge of a few). In particular, it will underreport for profitable B2B companies that haven't raised in a while or at anywhere near their present valuation.
BuzzFeed's first substantive list: seven things they ought to teach in school
I have done A/B design testing on ~10 mid-tier "consumer products" eCommerce sites, and giant firetruck-red 3D bevelled "Buy Now" buttons converted insanely better than minimal ones.

Personally, I want clearly-labelled tactile buttons that make me want to push them. Flat UI is more brutalist than humanist.
That's a really interesting way to display that trend. I'd love to hear about the thought process that led to using that semi-circle visual. Any WSJ designers/devs lurking HN? Also, has anyone seen something like this used with other data sets?

When we built our own infographic to highlight "The Rise of Coding Bootcamps" there was much debate on the best way to visualize this information. While I'm happy with the result[1], there's definitely much room for improvement.

[1]http://www.thinkful.com/bootcamps/infographic
it is all the annoying services. Like sync.

and you can bet anyone coming from one group will, even without noticing, push that group forward in his decisions.

So expect some Gplus like moves from firefox in the near future.
I don't even know how to answer to that... but I will try.

On a post where one desires equality, you reply that people should not be equal (regarding what we can say to them/laugh at them), because people sharing their traits (i.e. gender) did something in the past?

So equality, for you, is that we can mock males, but not women (i.e. titfest vs sausagefest), because in the past women have been seen as inferior to men? Please explain to me how that is equality in any way or form.

Also, can you elaborate on what is wrong with what you call "men's movement" and why you are inclined to say that they disregard history?
I still feel like the better alternative to asm.js's approach is a VM with a static javascript interpreter/transpiler. It would have worked just as well politically, and been a much more direct benefit.
Your users are drunk (2013)
How I hoped this worked when I heard about it: Take photo of poster next to a credit card, it extrapolates the size based on the card, and automatically configures the frame dimensions to fit, so I don't have to measure anything.

Just a thought
Laura Poitras on Edward Snowden, Spying and “Citizenfour” [video]
Rich people have no ethics, this is how they became/stay rich.
It hasn't lost its meaning so much as its managed to find its way into everything.
Wow, that's quite some perspective, thanks!
Will it be possible to plug in 3rd party platforms? For example, can I plug in a task to POST to the API of another platform with some data about the call?

Hmm, a marketplace for these 3rd party integrations to advertise compatibility would be pretty neat as well.
Nice website and idea. The prices seem reasonable although not a great steal once you add shipping. But the convenience of not finding a store and talking to a person is pretty nice. Although I haven't gotten anything custom framed in a long time so I could be mistaken and it's a better deal than I realize.
An awesome way to test your cross platform mobile apps
Why do companies with documented shady ethics like JustFab continue to excel?
We just need to invent slower clocks!
The US is a constitutional republic, not a democracy.
How Apple became a car company
Thanks for acting as a translator.
they didn't turn it into a fiasco. they did what they are good at at the time. bait and switch.

they baited ibm (oh boy, yet again. don't they ever learn) and then run away with as much code the contracts allowed and then some and launched NT.
We use transferwise for almost all of our international payments. transferwise rocks. We used to use XETrade, but this isn't available to us where we currently live and work. Our bank(s) hate us for using transferwise, and actually try many different ways to stop us from using it (except for making the process cheaper - funny thing, that)
Museum Launches World Video Game Hall of Fame
Capitalism doesn't discourage dirty tricks.