skysight-inc/HackerNews huggingface dataset:
Great advice, with many application, e.g. http://en.wikipedia.org/wiki/Gall%27s_law

A complex system that works is invariably found to have evolved from a simple system
that worked.

I'm not sure if it always works for a MVP; I think some technical/scientific ideas (as opposed to market opportunity ideas) need quite a bit of work before a user/customer can appreciate them. That is, ideas that are cool/intriguing, but don't meet a need.
Uh, I guess you could argue that a MVP at this stage is seeking collaborators (not users). e.g. Codd's first relational paper - peers were fascinated, but a deliverable took 10 more years.

But the relational concept itself was fully formed, and without that, he wouldn't have intrigued people. One could argue that this is to do with the "Minimum" threshold in "MVP". I'm just saying that an arbitrarily small MVP won't always work - there is a "minimum".

esr in CatB suggested similar to MVP for open source - but again, I think this also needs to connect with a need, or something the audience appreciates i.e. "something really neat". Historically, it seems hard for open source to start revolutionary new projects (revolutionary academic projects are often open source, but remain academic). It's also hard for big business - it often seems to take a startup to do it. Here's what esr said: http://www.catb.org/esr/writings/homesteading/cathedral-baza... (3rd paragraph):

Your program doesn't have to work particularly well. It can be crude, buggy,
incomplete, and poorly documented. What it must not fail to do is (a) run, and
(b) convince potential co-developers that it can be evolved into something really
neat in the foreseeable future.

Steve Jobs talked about people not knowing that they want something until you show it to them - so it has to be complete enough for them to recognize it. And "The Innovator's Dilemma" mentions many cases where the revolutionary new thing wasn't wanted by mainstream customers... however, to be fair, it did find a market with other customers - it started small, in a small, niche market.

BTW http://en.wikipedia.org/wiki/Dale_Carnegie

Perhaps one of Carnegie’s most successful marketing moves was to change the spelling
of his last name from “Carnagey” to Carnegie, at a time when Andrew Carnegie
(unrelated) was a widely revered and recognized name.
Really? That's good to know. Glad to know the salaries are higher.
Just for reference, a quick search reveals that MS VisualStudio can be purchased "from £502" (UK) and a new Mac mini starts at £499.
now I love this community even more :)
None of the examples presented were that bad. However, things can get pretty hairy when you start requiring CommonJS modules and have callbacks being passed to functions in different files.
Interesting. What from those fields are you applying to revision control?
When I was 14, I lived in Fiji which many consider a third world country. I know what you mean when you say parents consider good grades above all. I've witnessed that firsthand. It's sad how many of my peers were chastised for attempting personal projects outside their school curriculum.
Brilliant work! Where did the sounds/artwork come from? It all fits together very nicely.

I'm looking forward to seeing what you make next!
...they are so valuable, that they are traded on the black market.

https://twitter.com/VUPEN/status/263283188175106048
What are Apple and Samsung.. two primary school children who have to apologize to each other 'properly' for an altercation in the playground?

Nonetheless, the amusing thing is that by all this playing around, the story is getting far more press and reaching readers who wouldn't otherwise be hearing about it.
Can anyone recommend some of the "tech superstars" to follow on twitter that she mentions?
In addition to this guy having a total misunderstanding of how this worked and why it eventually failed ("control structures"?!") the article glosses over how this behavior relates to configuration options such as vm.overcommit... it doesn't even use the correct term (overcommit), so readers don't manage to even leave with the ability to rapidly learn more about the subject.

Yet, I have now been tricked into seeing it twice, as in addition to being on the HN home page for over 6 hours (with not that many upvotes, but still way too many) it was renamed by a moderator from the original title it was posted with ("Malloc never fails", weirdly in the opposite direction of the policy of "use the original title" that is normally cited for legitimizing renames) so you couldn't recognize "oh, this is that wrong article from earlier".

Worse, a somewhat informative comment on this site from the user "khm", one that links to a better article that discusses these issues with the right terminology an in context with the OOM killer, is marked [dead], caught by some spam filter or maybe even dowvoted/flagged to death by readers.

Frowny pants.
well, change that for your kid. Every society builds on the work of previous generations. We in India, are late to the party so yeah, one generation will disappear without enjoying all this, but we can ensure that the next generation won't.

BTW it's never too late. I may not be 14, but I am going to have just about as much fun with my brand new arduino ;-)
That's crazy. Of course they did. Products haven't been named iAnything forever, it started with the iMac and iPod. Legal or not, it's piggybacking.
Huh? As far as I can tell, blocks are callback hell in this case, certainly the nested callback lambdas in the JavaScript examples are essentially equivalent to blocks.
must be awesome!
if books start to be written like blog posts then.. oh well I have nothing to say, I will write a book about it.
So they hadn't heard of it, and chose iFone based on what?
First you want to place a legislature in charge of how they are elected? We have enough problems with gerrymandering as it is.

Most of the rest of your points are arbitrary things that nobody could be in a position to judge, like "trashing" the other candidates. Publishing poll data being illegal? A politician is a criminal if they don't align with promises? What about compromises or emergencies?

What happened to free speech? Who would be in a position to judge any of these restrictions and how would they not eventually result in tyranny?

I feel like you're trolling... this doesn't sound democratic at all.
Haha, great little app. For the benefit of the 'cheaters' out there that use this I would recommend adding it so that it shows maybe 10 of the longest words and options to view more, then 10 of maybe 5-7 letters long, then 25 of the sub 5 letter words. That way people can easier pick believable words instead of unbelievable words like "whirlybirds" or 'discursively'. Maybe that's just me though.

With that said...don't cheat.
Why would you consider that bad? GPL brings its particular baggage, but LGPL seems fairly unobtrusive to use in about anything. RMS seems to even discourage its use, even though he created it!
Pump It Up: The best designs fuse hardware and software in cooperative ways
You have to decide what kind of developer you want to be. A hobbyist would probably go with the most out of the box stuff, so would use something like rails. You could be a specialist developer who only knows one framework and language. Or if you want to be a total pro you will want to learn all the frameworks because you are very adverse to your coworkers knowing anything you don't.
Eclipse and android SDK?
Thanks!
I am currently working on breaking the words down into groups just like that.
Hope to push it out soon.
Is this a joke? What you're proposing is almost fundamentally contradictory to the principles the nation was founded upon. Banning bias? No "trashing" other candidates? No polling? No public endorsements? Incumbent can't run? You propose some of the most egregious restrictions on freedom of speech I've ever heard of.

Only can use government money to campaign (and not their own)? Can only visit state capitals once? Candidates obligated to participate in debates? Are you suggesting candidates have to become slaves to the process in order run for office?

On top of that, you expect government officials, the same ones put into office by this process to be the ones deciding whether someone is "biased" or not and who "didn't deliver" a campaign promise. Your proposals, if enacted, would probably generate a horribly corrupt government, where every politically motivated person would take every chance to destroy opponents through legal processes until an establishment party has so permeated the government they're basically a dictatorship.

As much as I'd like to believe this post was made in jest, I feel like you're taking cues from Hugo Chavez.
The argument is simply again that the unusual license makes the language less amenable to survival because it does not appeal to people like yourself. That's your entire argument wrapped up in an awful lot of words . Yes - and?

BTW if you're going to use words like 'laughable' and 'paranoid', don't complain at people who question your posts as sneering at you.

I can work with this implementation, sell my stuff on it, learn from it, its less restrictive than GPL. You apparently cannot do that because your mindset stops you.

And as regards libraries; the library AFAIK is under BSD. The kernel is under license and the page explains why.

"The analogy that we would like people to carry with them is that of a spinning wheel. The freedom of the wheel to spin depends on there being a fixed hub which at its theoretical geometrical centre point shows zero motion. Our adherence to standards and discipline as system programmers allows you, the applications programmer, to be confident of basing your work on ours."
The author of "Escape from callback hell" goes indeed too far. This is of course a matter of opinion, but I found that 3 levels of nesting (in javascript for nodejs) is usually perfectly acceptable and readable. If there are more than 3, I use async to get a nice, linear looking flow.
New Book on Startup Marketing
The linux Out Of Memory killer would have activated (if not disabled). This program derives a 'score' for each program, based on a number of statistics, and kills the process with the highest score. Although it usually makes the right choice, sometimes it can kill innocent programs.
No, age is irrelevant except that it may serve as an excuse for giving up. You already know how to do some programming in your life (configuring a controller, setting an alarm clock, etc) but this programming is just a bit more in-depth. But this never changes. As a programmer you never stop learning, not after 35, not until you decide it's no longer for you.

Learning to program can be hard. It can make you feel stupid. But for me this didn't last long. It threw up a barrier that seemed like I could never break through and then light bulbs began firing. You really just have to spend the time with the code, reading it, trying small stupid things, making stupid mistakes, building off what you have already done. Eventually it begins to make more sense. You find you can do things without having to Google around for answers. At this point you are beginning to internalize the programming language.

What may work against you at 35 is time and patience. It's interesting to see 14 year olds post here proudly over what they have done with programming, yet I feel like 14 year olds have the biggest advantage of anyone. They have summer vacations! Imagine having that long of an uninterrupted block of time to be able to explore whatever you like I'm not impressed when a 14 year old posts something, I'm impressed when a 35 year old with a family and work posts something. ;)
That company should do well. Chinese competitors may copy a design and try to undersell you – but you're countering by selling to the high end market (like Apple does). I hope the company does well!

The really hard part is the supply chain. For example, Apple was hit by the "bad cap" problem when they went with the cheaper caps (stolen formula): http://en.wikipedia.org/wiki/Capacitor_plague#Industrial_esp...

SpaceX appears to be producing so much of their design in-house that the suppliers don't yet play a major role. I'm going with the assumption SpaceX will be around long term, so that will be a challenge as they try to bring costs down even more. They're not selling to the high end market.
I wonder if Société Générale puts this 6 billion judgement as an asset in their books. and if they do, do they show another 6 billion loss when the guy inevitably Never pays?
Slow, crashy, buggy.
Software Engineering principles (from Erlang's Programming Rules)
I think people get too caught up on the verbosity side of code. Most devs spend considerable amounts of time debugging, and that's probably the suckiest part of the job. The amount of time spent writing the code (especially for someone who types quickly, as most devs do) is immaterial compared to the pain of trying to debug a nasty bug or perf problem (especially in a complex systems). That's where verbosity helps a lot as you don't have to dig into the library code to understand what's going behind the scenes, because most of the relevant configs and choices made in regards to how to use the framework are laid out in front of you.
I found wkhtmltopdf crashed too often for my taste. Cutycapts[1] worked better for my needs.

[1] http://cutycapt.sourceforge.net/
NYC blogger suspends posts for now during Sandy aftermath
While I agree with your points, I also think there are problems that should be resolved.

- Historically, the majority of presidents have been rich and white. How do you fix that?

- Candidates make heavy use of propaganda, there is no accountability to what is said. Is censoring information (i.e What China's PRC does) any different from glutting all forms of media with YOUR information so other information is harder to find? This (among other things) was how Berlusconi came to power, and stayed there in Italy.

- Industry getting involved in matters of state... is this any different from Church and state? Should the same 'fix' be applied?
Wow - lots of great encouragement and you should heed that if you are inclined to give it another try.

As an alternate view - you might like to consider that some people seem to have an aptitude for programming but that most people do not. In the early days of the industry when computer training opportunities and even computing time was limited and expensive businesses went to a lot of trouble to test for that aptitude. Those tests were probably crude but in my experience rarely wrong (I can remember one notable exception).

Anecdotally, I found that good sales people had just about zero programming aptitude (there is also a strong case for the inverse being true). Certainly this is not an issue with intelligence - lots of very intelligent people cant program although a measure of intelligence is required to be a programmer.
it's full of potential!! you should do it!!!!
I agree, this was a non-enlightening article which did not educate on the concept of memory overcommit, just focused on malloc failure.
As a citizen, you're allowed full freedoms but if you're running for office, it's reasonable to ask you to adhere to certain restrictions so the process doesn't get corrupted. We ask people who hold certain positions in government and the public sector to give up some freedoms while holding their job (CIA, military and Pentagon personnel, certain contractors, etc.), I think it's fair to ask people to give up some restrictions while trying to run for public office. A job that has a lot of power that can easily be exploded.

What those restrictions are, I don't know, but I do know that we should be able to brainstorm without being accused of taking cues from Hugo Chavez.
On a side note, everybody quotes Dijkstra but what about Knuth's Structured Programming with goto?

https://cs.sjsu.edu/~mak/CS185C/KnuthStructuredProgrammingGo...
Help Explain To Judges Why Copyrighting APIs Is Such A Bad Idea
Help Explain To Judges Why Copyrighting APIs Is Such A Bad Idea
I don't think that's a very good strategy. It seems to me that the "get stuff done" type of entrepreneurs far outnumber the over analytical ones. In my opinion, it's probably more effective to be wrong often than to spend a lot of time analyzing and be always right. The opportunity cost of being right often outweighs the cost of being wrong.
The thing is, most game engines don't even simulate Newtonian physics very accurately; it would be much too computationally expensive to do so. Gravity only works on certain objects and is usually a constant acceleration applied along the vertical Cartesian axis, objects are composed of at most a couple dozen perfectly rigid parts attached together at defined joints, liquids and particles are simulated in batches using only rough heuristics, and so on. If we were to allow arbitrary changes to fundamental physical constants, the game engine would have to simulate the world from the quantum scale up.

That's a hard damn problem. There are some extraordinarily well-funded research groups that are struggling to model any reasonably large number of interactions at that scale. State of the art supercomputing clusters can currently simulate systems of hundreds of thousands of atoms, not even in real-time, and they're still making some assumptions along the way, which might not hold true if you were to arbitrarily modify any fundamental constants.

You could probably write a physics engine that passably pretends to simulate some (non-arbitrary!) changes in fundamental constants. But it would be hard to guess what matter would even look like for different values of, say, Z0.
Actually on solaris, the fork does OOM a java VM. So while this is a pragmatic solution on linux, its also a false promise which will paper over some transient memory requirements while leaving a huge gap in regards to realistic resource expectations. Unfortunately this problem is magnified when using virtual OS instances, and shitty hardware.
When I was 14, time had not yet been discovered so I didn't even know I was 14.
Neat. I look forward to the inevitable OCR-based iOS app.
Just look at the number of banks and high frequency trading shops :D
If you write good code then callbacks aren't a problem.
Gotos also aren't a problem if you write good code.
Text-only browser
Agreed. Most design patterns are workarounds around missing features in a language. You can go around and pretend the reverse is true all you want, but it doesn't make it so. Also, looks the author never heard about decorators in Python, which let you do the same thing if you want, just with much less boilerplate.

The article reads like it was written by somebody with experience in Java and Scala, but not much more.
I'm in the beta, I've never had to rejoin. Possibly because I'm logged into my Google account, which is linked to my Youtube account. Note that some Youtube videos are still delivered as Flash, I believe is whenever adverts are shown.
And, now that it is in production, we regularly test and exercise the tools involved.

This is one of the most important sentences in the article. I've seen too many systems in my time fail because the wonderful recover/failover system has never really been tested in anger, or the person who set it up left the company and the details never quite made it into the pool of common knowledge. Dealing with failover situations has to become normal.

One of the nicest piece of advice I got, many years ago, was naming. Never name systems things like 'db-primary' and 'db-failover' or 'db-alpha' and 'db-beta' - nothing that has an explicit hierarchy or ordering. Name them something random like db-bob and db-mary, or db-pink and db-yellow instead. It helps break the mental habit of thinking that one system should be the primary, rather than one systems just happens to be the primary right now.

Once you do that start picking a day each week to run the failover process on something. Like code integration - do it often enough and it stops being painful and scary.

(Geek note: In the late nineties I worked briefly with a D&D fanatic ops team lead. He threw a D100 when he came in every morning. Anything >90 he picked a random machine to failover 'politely'. If he threw a 100 he went to the machine room and switched something off or unplugged something. A human chaos monkey).
The tokens are cryptographically signed with a shared secret between the main server and analytics server. So an attacker can't forge another user's token. IP addresses would be a good solution also, especially if you need to track anonymous users.
Obligatory Monty Python: http://www.youtube.com/watch?v=DAtSw3daGoo
Things like subsidies to special interest groups would become even more common since the payoff in terms of votes would be higher. Increase the corn subsidy and you don't just buy Iowa but corn farmers everywhere.
I reject the idea, that because I want to scale, I should have to write thread pools, executors, concurrent queues, and task completion APIs. This is 2012, any idiom, functional or not that doesnt support this as a built in capability is less than worthless. How many times do I have to write, rewrite and debug the obvious just to make a living? And as for the factory pattern, yes you can use it to hide a whole bomb load of configuration and code evil, that you probably should never even have to worry about, if you werent working in such a crap tool
Of course. The comment was "I don't think that any IDE is so costly if you develop on any other phone".

That said, I'd happily pay £500 to not have to use Eclipse, but each to their own.
You do have a few cool, real-world products out there in Haskell (eg, git-annex, darcs). But to be fair, there is a fairly steep learning curve.

Once upon a time, at my old company, a guy came to an interview. He was very experienced in PHP, having used it to build websites as a freelancer for something like 10 years. Did he know object-oriented programming? He'd heard about it, it was probably good for larger teams. Because he'd just been working with the same techniques all these years. And the sad truth is, your average programmer is likely to be like this guy. In which case, you want to give him a solid language, which is aimed at preventing him from shooting off his own foot, and does not feature many complicated concepts, like Java.
After Hurricane Sandy, NY Startups Have To Find A Place To Get Back To Work
After Hurricane Sandy, NY Startups Have To Find A Place To Get Back To Work
callbacks are not desirable, and duplicated codes are much worse. Are there any other effective ways to reduce duplicates?
Yeah, I've got to agree. Reading the original article ("Escape from Callback Hell" with the subtitle "Callbacks are the modern goto"), it starts with this:

Callbacks are used to structure programs. They let us say, “When this value is ready, go to another function and run that.” From there, maybe you go to another function and run that too. Pretty soon you are jumping around the whole codebase.

So, essentially this sounds like the author is saying functional programming is considered harmful. Which, on the face of it is not true.

Of course you can write spaghetti code in any paradigm and using any technique. The whole point of callbacks (and passing functions around as values, more generally) is that you have one more tool in your toolbox to achieve things that are difficult otherwise. Suggesting they are harmful in such a hyperbolic way is throwing the proverbial baby out with the bathwater.

I'm sure there's a case to be made for properly structuring a callback-heavy application, but methinks a more nuanced approach may be in order here (and in general...sigh).
For me, dependency injection is not only a matter of testing, it's a question of clarity. Show me, right in the constructor, what your class depends on.