skysight-inc/HackerNews huggingface dataset:
Here's the problem I have with this: nearly everything I do involves state. It's called a database.

Let's take a simple example, a to-do list. Abstracted out to its essentials (a piece of paper), the to-do list is exclusively state. Add a task, complete a task.

Now, I can write a program that manages a to-do list in a functional language. There are two options. (Let's assume this is a web app.) First, I can make the client manage the state. Each time they use the application, they bookmark the last page. This is obviously inconvenient, but it's pure. Every input has a distinct output. Send the entire to-do list and what you wish to add or complete as input, receive an update copy of the state in return. It's always immutable state. It's also inconvenient if you ever want to use this on another computer.

So, like most to-do lists, we use a database on the server side to manage the state of the application. However, you've lost the entire benefit of immutable state! You are not guaranteed to get the same output given an input. We're back to square one, aren't we? What's functional about mutable state?

Now, in a subset of programs, eliminating mutable state is beneficial. 99% of scientific programming would be best served by FP. However, I've never seen an answer to how we can still call any system functional once we add a database.

And at that point, why aren't we using a language that is bad at what we expressly need in the first place?
I've been listening to The Drunkard's Walk: How Randomness Rules Our Lives[1] by Leonard Mlodinow. It is a great introduction to how probability works, the history of randomness and probability in science, and how randomness affects so much of what we do. very interesting look at the math without getting too caught up in the math.

[1] http://www.amazon.com/gp/product/0307275175/ref=as_li_ss_tl?...
Unfortunately, I don't think type theory has a whole lot to do with programming or software engineering. The most practical languages (as measured by popularity, which seems to be the best way to do it over a period of decades) do not have sound type systems, nor even particularly interesting ones theoretically.
I never understood the hope XBLA inspires. The ecosystem is limited and tightly controlled. Access to the market is entirely at the whim of Microsoft, who will also be your main competitor.

From the outside it looks like a huge trap for catching cheap IP as it develops.
Thanks for the advice. My company is a startup, about 25 employees.

All my colleagues think I do a great job. I've only been working there for half a year, and I'm waiting on my annual review to settle issues with my salary. The last thing is that I don't want to come off as arrogant or impatient. I'm pretty sure my supervisors / colleagues would give me a 5 on their review according to their occasional feedback.

As far as benefits go, I get medical, pharmacy, dental, and vision. No 401k, no profit / stock options (yet).

I do about 35 hours a week in the office (20 minute commute) and about another 10 hours a week at home.

The company, as far as I know, is making money. I'm likely to be employed for the next years, I hope my company will grow, but I can't be sure.

Great working conditions... You know what they say though, the grass is always greener on the other side.

Should I ask for stock options? Is it too early? I feel like a lot of the technology I've produced for this company, has made them hundreds of thousands of dollars. :/ I've developed entire systems for them by myself.
Ah, thank you :) I wasn't aware of this.

Neofeudalism: http://en.wikipedia.org/wiki/Neofeudalism
from those answers:

nore ; :
nore , ;

Do this now. Probably not the vimrc line that has saved me the most time... but definitely saved me the most pinky pain.
That's not contrarian. That's what I meant. Just as many macs here in MSP as in SF.
Google explicitly says that they're not accepting companies or groups yet. They even ask users not to sign up as a couple sharing and account. I'm sure it'll happen eventually, but for now, "what Google+ is" is pretty narrowly defined.
If, and that's a big if, you aren't a spendthrift you can live relatively comfortably on European levels of welfare. That means living in a modern apartment, car that gets you there (or public transport, which is actually feasible in Europe), some travel. Schooling is provided by the government mostly, and good schooling is not that much more costly to provide than bad schooling. Move to Finland or Sweden, if that's your priority.

The food in good restaurants is not really better than in adequate restaurants. Visiting a fancy restaurant is more of a positional good to show and enjoy your social status.

Oh, and before I forget: Those central and northern Europeans countries are not the countries that are currently in agonizing debt.
How are they vastly better off? Please visit any city in the Rust Belt. Get out of the house and ask how any service sector employees are making ends meet. They went from having honest, well-paying jobs that enabled them to build lives, families and communities to watching their source of income shipped overseas by the very people they worked their asses off to send to college all because the manufacturing industry's market efficiencies didn't match those they taught at business schools.

Policy steps? Open more fast food franchises? What do you do when you terminally impoverish a large swath of your population after exploiting them for sixty years in order to achieve some financial utopia that they didn't need anyway? You can't sell them on owning a house while they make a marginal wage. You can't sell them on seeking out intellectual knowledge while the cost of education soars. You can't keep bombarding them with mainstream images of prosperity when they're worried about making rent. They're going to turn to anyone with a message of hope, no matter how ludicrous. It happens all the time. And then you've lost them.

Reopening factories may not be the panacea, but you cannot innovate across the board when you don't build anything. You cannot innovate while locking a segment of the population out of the process just because they don't have a degree or know the secret handshake. It's the same reason why you can't lock women or minorities out of the process. Otherwise we'd just be a bunch of white guys building apps that address white guy, first world problems and the world would be a shitty place.

This is the point where the new CEO, Mr. Obama, has the honor of addressing the company to tell everyone that we hired way too many people for a product that nobody wants and we'll be retaining the software patents and letting everyone else go. A task he's understandably reluctant to perform.

Increased government spending, entitlement and tax reform, forcing the Chinese to change their monetary policy, investing in nenewable energies, nuking Pyongyang, ok maybe not nuking but really doing something about Mr. Kim would be nice; these are all hard steps that need to be taken but they can only be taken once the leadership comes forward and admits that we have some hard times ahead and that we need to scale back the American Dream a notch and get real.

Unfortunately, one half of the leadership has spent the past twenty years stoking fear and bigotry into a frothy mass with a mixture of penis and religion while the other half has been betting on the kitten at the dog fight, all coaxed on by sources of information that wish the free drama to keep playing itself out. It's time to take a long ,hard look at the landscape and realize that we have a problem and that we need to close the gap before we're in true banana republic territory.
yes, unreliable enforcement of contract terms discourages investment.
I think it is important to keep in mind that manufacturing output has actually been increasing over the last 50 years. It is just manufacturing employment that has fallen. That is a natural consequence of becoming more productive.
See: http://mercatus.org/publication/us-manufacturing-output-vs-j

The Forbes author is arguing that it is hard to innovate when all the manufacturing expertise leaves. To support this he argues that some Kindle parts are made in China, others Taiwan, others South Korea. To me this is evidence that innovation occurs at a decentralized level. Innovation occurs when companies specialize and focus on a better battery, or screen, or lens instead of a better device. Most people on HN seem to believe that small decentralized start-ups are more innovative than bigger companies. Why is decentralization good for software innovation, but bad for hardware innovation?
Mass emails to email lists are considered as spam :/
http://www.glassdoor.com

(unless otherwise?)
Yeah.

I feel like I've learned how to program in a silo away from everyone else, and it's fascinating to see the mechanics of how others manipulate their code, the length of their code-build loop, etc
I'm curious but would not the move to automated factories in the long term negate any cost benefit of making it in China and move the emphasis to cost of transportation, energy and materials ?

With the rapid increase of wages in china and move towards more automation there if automation is bad for the west imagine the havoc it will cause in china.
Which notable businesses are in that category besides Healthcare and Education?
What do you use for leader?
Sounds good, as long as you promise to lay off the terrible dance music.
Erlang is easy to read and makes a lot of sense, without requiring much brainpower... if you'll take a few days and read about it.

I think its kinda silly that people will just ignore a language because it doesn't look like java/C/pascal. Its not like the syntax of erlang is stupid, or pointlessly obtuse.
I think I'll use this opportunity for a shameless plug: https://bitbucket.org/AndresNavarro/klisp

This is my ongoing project for a Kernel interpreter. It's already functional and it even has documentation. It is still, however, a work in progress!
@nolok got it right, plugin stability is incredibly important to users. It's also demoralising as a plugin developer if you have to spend most of your development time testing compatibility. Mozilla need to find a balance between a fast upgrade cycle and maintaing stability for plugins. At the moment I think things have moved to far from the glacial 2.x -> 3.0 to the flash flood like 4+ upgrades.
Maybe it just needs adjusting a little.
I just threw together a quick simulation of the Monty Hall problem if anyone's interested: https://github.com/Paton/Monty-Hall-Paradox-Simulation .. really fascinating.
> Heck, I don’t even know how to code!

And it shows. A lot, dare i say most, people who actually do code find solving puzzle after ridiculous puzzle for the mere hope of getting an interview very demeaning.

There are a ton of sites that do this, like Codility. Interviewstreet is a poor implementation of an already bad concept.
I believe he is saying that traditional metrics of mastery such as the "10,000 hours" of work metric are incomplete because they are extrinsically defined metrics. Venkatesh makes the point that except for a few well defined fields such as mathematics or violin (fields with predictable boundedness), such extrinsically defined metrics do not provide much useful information.

Therefore, using the analogy of relativity, Rao proposes a new metric of mastery based on intrinsic metrics. Metrics that he believes may provide insight as to whether you are truly improving if your work spans that of multiple fields. These metrics function as axes for your journey through "endeavor space". These axes are rework, referencing, and releasing. If you are wondering whether you working with grit or wasting your time, a self evaluation via these axes can help to tell you whether you are working towards mastery or not.
Right, and that is an improvement. But you don't have a set of V8 virtual machines all running your javascript in parallel. This is what I'm doing (though may not use V8).
Tone matters. You shouldn't lie but you also shouldn't be tone-deaf.
The chat in the stream is just trolls - are there are irc channels (or something) for it?
see HP dint price it right..who said it was HW or SW?
When an add-on is disabled some sort of notification is desirable, but it doesn't have to come in the form of a modal dialog that blocks usage of the browser. There's generally nothing a user can do about it anyway. Furthermore, Mozilla could be doing a much better job of compatibility testing for the most popular extensions to ensure they don't have to be disabled every upgrade.
It really depends on your ambitions. My opinion is that if you are "one engaging conversation away from starting a new programming/writing/music/film project" you ultimately have something entrepreneurial inside you and you want to MAKE something.

In this case, my humble advice is to not care if you don't have the skills. Start doing and you will learn. By "doing" I mean even the smallest thing: start a blog about what you want to do (I am sure you can do that), create a Facebook group to involve people and then evolve from there. If you are really excited about what you want to do you will find people ready to help you along the way. So don't worry if you don't have the skills to create something. You can still be good at engaging other people, the ones with the skills you need.

I personally think that being aware of your own strenghts and weaknesses is very important for every entrepreneur.

Howard Schultz, founder of Startbucks, many years ago said the best advice he got was to "Hire the skills you don't have" (http://money.cnn.com/magazines/fortune/fortune_archive/2005/...)

Add the learning part when you are already making. You will understand much more. When Facebook was getting bigger young Zuck started to read Peter Drucker's essays. And I am sure those pages where really teaching him a lot because he already did some much. They were not theoretical notions.

Hope I am answer your question.
I see an opportunity to derive other business models from this
They acknowledge that shared mutable state is (very) problematic in conjunction with preemptive multitasking, so they're actually arguing for cooperatively-multitasked threads as opposed to events. In both systems, shared-mutable state is being used between the concurrency code units.

I think they're neglecting a third option: Shared-immutable state, with very little, explicit, shared-mutable state. This is the model used by Haskell threads, and Erlang processes. Like Events/Cooperative-threads, it does away with the horrible semantics of shared-by-default, and gives the parallelism benefits lost when switching to cooperative multitasking.

But I think there are still 2 crucial differences between event-based systems and cooperative threads that I did not see in the paper:

* Events make it clear where context-switch/reentrancy points are. When I call a library function, then I generally have a very good idea if it could "call me back" (have I given it callbacks to call me back?) and if not -- I know it is safe to call it and do not have to reason about my internal state in every given call. Even with cooperative threads, a "yield" point may be lurking in any library you're calling. This effectively means that any library call can potentially do anything, including switch to "higher-level" code that may re-enter your own code. This makes re-entrancy considerations far more complicated. It is solvable, though, if you make sure that yield-points are "tagged" with some token that must be passed as an argument. Then, a function signature and call pattern tells you whether or not it can yield to anywhere.

* Implementing user-level threads may be very cheap, compared with standard posix threads. But it is still many times more expensive than using explicit data allocations as in event-based programs. Even if using "split stacks", a user-level thread is still going to pay with around a 4Kbyte stack. 1 million threads thus take 4GB of memory before they even do anything. This means that you still have to be wary of creating threads as freely as you would register callbacks -- and requires mixing in event-based programming, or manual event loops, into your threads. This mixture is worse than uniformity of any method.
I've looked at glassdoor. I wanted to get a different dataset to compare. I don't trust glassdoor's figures all that much tbh
A quicker way to do this would be to take a container full of 1024 coins and dump them onto the ground so they're spread out. Put all the coins that landed heads up back into the jar and continue this process 10 times. However many coins you have left are the number of coins that landed heads up 10 times in a row.
Hi mtogo,
Can you tell me what you don't like about interviewstreet? Happy to fix them.
That's not even close to the idea behind science. But publishing your ideas and having someone tear them apart definitely is the idea behind science.

The majority of everyone's ideas turn out to be wrong, or at least not worth further effort. Science is a process that makes sure that the ideas we do promote have been tested and argued over by other experts in the field so that fewer wrong ideas are promoted. That's why our lives are so much better today, because of this process.

I think the author seemed offended that the main stream science news didn't bother to check a result that is, apparently, very naive to those who work on solar cells. And he should be, now thousands and thousands of people will have this little factoid that they think is true in their heads. And all because the "lone inventor" story makes for good news, even though it's not how real science gets done at all.

Do you really want this kid to keep going with this and waste his own time (he's obviously very smart and motivated) and make himself look worse in the end? Better someone nicely points out that his math is wrong and he can change his design.
See my reply to PG saying the same thing at: http://news.ycombinator.com/item?id=2851797
If you do a GIS for "US manufacturing output" you'll see what the GP is talking about. Worker productivity has shot up over time, as has output. In return, far fewer workers are needed.

I see this as a simple truth: We have arrived at a time where we have far fewer jobs than workers, and this won't be getting better any time soon. Either we decide to become a country of wildly disparate classes being the norm (think the favelas of larger Brazilian cities), or we need to find a way to spread the wealth, as our current economic model isn't doing it.

And I don't necessarily think some socialist fantasy will save us; I don't know the answer. I just know what we have isn't getting people who want to work, paid. Maybe eliminating the minimum wage will encourage employment. Maybe we do need to bite the socialism bullet, and instead of Social Security, give everyone a guaranteed minimum income with a negative income tax. Maybe we just need to make the legal work week 32 hours. (Or more strictly enforce 40.)

I'm not claiming to have an answer. But the jobs are leaving, both our nation, and existence due to increased productivity and increased automation. Wealth is concentrating, and becoming idle. This is bad for us all.
Who supplies the funding for it?

HP has already made it clear that they won't put in another dime.

The problem with hardware is that the enterprise won't buy without a big name backing it as it makes it alot less likely that the brand will be around.

I'd like to think that your idea will work.

What is your "secret sauce" that will make this work that didn't with Palm, HP, the crunch pad, newton, Go tablet, etc?
>Is it that hard to see different uses for different languages?

Okey. How about language that could encompass all of them? The thing about such language is that it have to be functional one, at the core. Be it Lisp, or Haskell, or Agda2.

Let's look at Haskell. It has OO: http://homepages.cwi.nl/~ralf/OOHaskell/ Everything in mainstream OOP languages and then some, all in Haskell type system. It has BASIC: http://hackage.haskell.org/package/BASIC

I embedded to Haskell a MIPS assembler, a language to describe CPU cores, and some other things.

I am not an expert in Lisp, but an avid reader of HN should know that it pretty good in encompassing languages.

As for C++, it's domain shrinks every year.
functional in the small and OO in the large" seems a good path.

That's what I like about Erlang as well. Once you recognize processes as your objects, this philosophy just flows out of the language.
Sass uses $ for variables, less uses @. For more differences: https://gist.github.com/674726
Nyan Cat Meets Metal
The Bootstrapper Bible by Seth Godin (103 pages)
The prime directive prevents federation members from interfering with our natural development.
No, he explains that at the end. I can try to reformulate it. Imagine that you can find the orientation which gives you the maximum amount of power for a day, say E_max. If you have N panels, the total energy produced at the end of the day will be NE_max. If instead, you decide to put each panel in a specific direction, they will all produce energy E_i < E_max at the end of the day. So the total energy produce will be E_1 + E_2 + ... + E_N < NE_max.

The flat array is the more efficient design.
It isn't really locked, it's just that no one else uses it.
Do capitalism need the left?
is there a grithub site ?
The history of the world is full of catastrophes, devastating wars, famines and so on. In the "first world" we seem pretty shielded from that at the moment, but I don't think we are really safe. A lot of big, cosy empires have faltered before our time.

Some of those wars might well have been the result of changing economics.
Using :x kinda solves the :Wq issue
I read it as a Humble Indie Bundle: an XBLA horror story and thought it was a story about Humble Indie Bundle. It's not. The story has nothing to do with Humble Indie Bundle. In fact this story goes on to show the need for something like Humble Indie bundle for xbox.
This post reads to me as if the person took personal offense to Aidan getting "undeserved" recognition. He claims to be angry at the journalists and scientists who didn't do their research before jumping to the conclusion that he had created something amazing, but the tone is just unnecessary.

> Some poor 13-year-old kid is all over the news

"poor 13-year-old" is hardly the words I use to describe a kid who got a bunch of press because they conducted an interesting science experiment, no matter how incorrect the end results of that experiment were.

> blindly parrot the words of this very misinformed (not to blame him, he's an unguided 13 year old) kid.

If a 45 year old scientist posted the results of an experiment that challenged the furthest reach of their abilities, and some scientists with more information or a different perspective explained why the experiment was conducted incorrectly or why the results were inaccurate, nobody would call the original person "very misinformed" or "unguided".

There are just a lot more ways to tell a 13 year old conducting solar panel experiments using concepts beyond most adults abilities the ways in which they could improve their experiment. The last thing you need to call a kid doing this kind of work is "very misinformed".
See my reply at http://hackerne.ws/item?id=2907928.
You should reconsider your stance.

Types allow requirements changes to be propagated through all program. State-of-the-art type systems even allow accounting of effects, like prevent deadlocks by ensuring a specific order of locking: http://www.cs.st-andrews.ac.uk/~eb/writings/fi-cbc.pdf

This is just another tool in a toolbox. You can use it. Or you can throw it away as "no one seem to use it".
Hey almost, we're almost getting to put up real-world problems soon! We had a soft launch earlier this week and are working on the feedback.
That said, we've got quite a lot of hackers who solve the challenges for fun :)
the nice thing about contributions to open source is that it fits into a larger picture: communication, tests, users.