skysight-inc/HackerNews huggingface dataset:
Coming from a computationally intensive discipline in academia it is astounding how difficult it can be for researchers to reproduce their own results. The tendency is to write enough code to generate an impressive diagram for a journal illustration or presentation slide and move on. It's not uncommon to not know what date or version of a constantly shifting public data set the original result was generated from, or even where the scripts are located 6 months down the road. I tied myself in knots trying to iron out data bugs and irregularities that forced me to dump a year of research and recreate the entire upstream data pipeline in my lab.

In another example a very promising cancer drug prediction algorithm (with fascinating in vitro results tested by an affiliated lab) was abandoned because of a key researcher's untimely death and the complete lack of version control anywhere in the lab. The paper had already been published (thankfully) but we literally had no idea where the code and the intermediary data were. We had a ~5,000 node GPFS cluster with rolling backups but it didn't help at all because all the development was done locally; the situation was the same across the lab. The decision of the PI in the wake of this compound tragedy was to have lab members pair up and "cross train" each other for an hour and verbally tell them where they kept their important data.

Referring to the corrupted data issue I personally experienced, I unfortunately discovered it the night before a multi-departmental research presentation. There were numerous reversed edges in a large digraph due to improper integration of two data sets before my involvement (I was also at fault for trusting internal data). I told the PI about it in the morning since the problem was so deep and said I couldn't present anything because every single result of the past year was invalidated by the bug I had found. His response: present anyway. I refused. That did not go over well.

I'd like to see every computational paper (especially in biology where these methods end up influencing human clinical medicine) include all source code in a public repository but it isn't going to happen. Labs would lose their edge if they had to tell competitors what model weights they had iterated to in creating their newest prediction algorithms and university technology transfer departments would have greater difficulties patenting these methods and selling them to drug companies. The current model will not change but a new one might supplant it.

I wasn't on the cancer drug prediction project but I probably know enough about it to reconstruct it. It actually seems like a great candidate for an open source project.
Out of curiosity, how many founders know who put up the money that the VC is dispensing?

After a friends and family or Angel round, is their any connection between the investment and the people who stand to lose money?
牵手网
A classic technique is to allow someone else to read the essay before publishing it.
What behaviors, exactly? Do you have examples? My apologies if this info is in the second half of the post, I started skimming about halfway through.
> Besides just plain futures, the join and chainify abstractions from the futures library I linked allow you to create really nice code.

jQuery's deferreds also provide these tools (or their utility would be far more limited). Join is available through `$.when` and noted in the article:

$.when(fn1(), fn2()).then(op)

will only execute `op` when both `fn1()` and `fn2()`'s results resolve, and sequences are available through `$.Deferred.pipe`: `pipe` creates a new Deferred which by default is just a proxy for the one it was called on but

* If the executed handler[0] returns a value, this value replaces the value #pipe's source was resolved or rejected with, e.g.

var d = $.Deferred(),
r = d.pipe(function (val) { return val / 2; });
d.resolve(42);

d.then(function (val) { /* val will be 42 */ });
r.then(function (val) { /* val will be 42 / 2 -> 21 */ });

* If the executed handler returns a Deferred, that deferred will replace the original one, which allows both chaining deferred (executing a second async operation following the first one) and inverting results (#pipe allows — conditionally or not — transforming a rejection into a resolution and a resolution into a rejection, this is useful when there are multiple ways to get a value so that the second one can be tried iif the first one fails)

[0] like #then, #pipe can take both a success and a failure handler
Even beyond that: it's desirable for a machine to be able to compute arbitrarily large data sets. If the data set can't efficiently fit in memory, the machine should still make progress, just more slowly, using disk.

It is not desirable for a machine to have a "wall" which, upon being hit, becomes a harsh restriction on its capabilities. This is because we often encounter the "wall" unexpectedly, at a time that might be critical.
As for phrases like "little sociopath", I want to call people to action on this sort of thing. I want people I've never met to call out and halt their own little sociopaths.

Don't try to be manipulative, just lay out your case; neutrality doesn't have to be the goal, but readability would be a plus. One easy place to start is by removing all sentences that include the pronoun "I".
Meet Ed Zabitsky, the man betting against Apple
It's fairly trivial to check if a constructor was called without the new operator.
No need to apologize. Post was long. Actually, the best list of examples is in another post: http://michaelochurch.wordpress.com/2012/04/07/an-ethical-cr...

Snippet:

Here’s some shit I’ve either seen, or been credibly informed of, in the past 24 months, most of which was never in the news: no-poach agreements, attempted blacklisting of whistleblowers, a rescinded job offer based on a rumor that suggested PTSD, abuse of process within large companies, extortion of ex-employees, gross breaches of contract, frivolous lawsuits, threats of frivolous lawsuits, price fixing among venture capitalists, bait-and-switch hiring tactics, retaliatory termination, and fraudulent, no-product startups designed to embezzle angel investors.
I'm a big fan of Go, but it would be nice to see a caveat about 32 bit systems on the Go website or blog. Or at least some official warning or notice that isn't just a mailing list discussion.
For some fields, it seems like the model should shift to "you will publish your source code and data alongside the writeup, else you won't be publishing here."

Not doing so seems equivalent to publishing a paper about applications and characteristics of a new mathematical proof without actually including the proof.
There's lots of wiki pages. Among the links i liked the Wash Univ of St. Louis breadcrumbs and these cheats. Also the Hutton, Thompson, "school of expression" and "road to logic" books:

http://blog.codeslower.com/static/CheatSheet.pdf

http://sites.google.com/site/haskell/notes

http://acm.wustl.edu/functional/hs-breads.php

http://www.cl.cam.ac.uk/~ns441/files/thips.pdf

---------------

http://www.haskell.org/tutorial/

http://haskell.org/haskellwiki/Blow_your_mind

http://www.haskell.org/haskellwiki/Meta-tutorial

http://haskell.org/haskellwiki/Category:Tutorials

http://www.haskell.org/haskellwiki/Tutorials
I think the choice of Anaheim was made in terms of moving tourists, proximity to Disney, right of way etc. Also Metrolink & Amtrak go to Anaheim, so you could in theory take the train from the Valley or SD and not have to drive at all
Quite a story, and it seems it does not have a happy ending, but for all the wrong reasons.

About 2/3rds in (past the 'read more') the Novix rates a mention. I think that that is possibly the most underrated CPU design that ever saw the light of day, at the time it was so out of the ordinary that only very few people knew what to do with it.

A high level language (forth is by most definitions a high level language) directly executed by the CPU.

At the time I worked for a company called dadadata in the Netherlands, they were in the process of developing a bunch of real time software to process video images for classification and recognition (1988 or thereabouts). The Novix chip arrived and would have definitely blown the socks of anything that I could have done with a regular PC at the time, if not for one small problem: someone dropped a dime into the power supply and the whole development kit was toast. A couple of all nighters later we had a working reproduction of the code in 'C' and that was used for the customer demonstrations. Still, the power of that little chip is something I'll never forget and it is a pity that the Novix and its successor which iirc was called shboom never made real headway. The forth code for the novix was probably only about 10% or so in size of the equivalent C code. The head forth honcho there called C sneeringly a 'great' language.

There is still hope, even today that one day that power will finally be available in some package that sees wide distribution, the heritage of Novix lives on in the greenarrays line (which is now shipping dev boards and chips).

http://www.greenarraychips.com/

To kill forth and the concepts behind it permanently will take a lot of garlic and stakes, I think it will always have its champions.
Mistakes made starting a web hosting company
You can have "static methods" on a prototype constructor.

Functions are objects, so adding a static property to a constructor function is no harder than adding it to an object literal.
Why Baseball Players Are Actually Underpaid
富士康交友
I agree with you. Usually I put 1-2 months before writing a blog post/essay and posting it. I just see this matter as a bit more urgent, as I really want to see the American Spring (the 2012 campaign of people calling out unethical behaviors at companies, rather than protecting scummy ex-employers) happen.

Words-of-prose can be like lines-of-code: beyond about 500, it takes a long process of review not to have some degree of mess.
I wouldn't be so hard on this essay. It's a little scattered, but there's some gold in there. Writing a concise, powerful essay is really, really hard, which is one of the reasons that people who are really good at it become famous (Jonathan Swift, Christopher Hitchens, etc).
Tab works okay in my latest (see profile) but I didn't use a plugin or anything like that. I just did:

$iframeEditor.keydown(function(event) {
if (event.which == 9) {
event.preventDefault();
iframeDoc.execCommand('insertHTML',true,'&nbsp;&nbsp;&nbsp;&nbsp;');
}});

I agree, not that hard to solve (obviously your mileage may vary as to whether you might want to insert spaces (as shown), the number of spaces, just ignore it, do something else, whatever). You might also need to add a little bit of extra event-handling code to make it work in IE -- I don't know. Fortunately I only needed to support WebKit for this project. :-)
I agree with the general principle, which I've summed up as: "fail fast" is often a cocktail-party excuse for reckless approaches to management.

To the OP: I'm relatively an echo chamber for the other comments here. The article qualifies as tl;dr; and would be much more effective with editing. However, I disagree with others that you go the journalism route; it's a blog, and journalism's standards of "we report, you decide" is about facts, not passion. That will turn some people off, but it won't be ambiguous about your intentions.

Keep at it.
it's not entirely the same. while there are echoes, the few companies that are hitting the open market via IPO are not getting massively inflated stock prices. it'll be interesting to see how this little bubble bursts.
Why I purchased RubyMine
Apologies for the code formatting -- it looked good when I posted it, I promise. Heh.
This is very true. These GTD methods and everything is to "getting things done" what mac Donalds is to eating: it's quick; it's cheap but it's also a lot of crap.

This read is part of the big family of "self-motivation" seminars and "find your inner strength "bullshit. I hate to break it this way but drive is something you cultivate yourself, no generic "method" will do it for you. The irony is in those lists and methodology is most of the time people are motivated to do the setup for it: buy the books, the special furnitures, plan on organizing their time and in the end, when it's supposed to start the method falls flat and you realize that you aren't changed. Slacking is still a big part of your life, losing time on the internet, looking at Facebook etc... still eats a large portion of the time you get everyday.

Oh and please can we cut down on the term "hacker" ? I know it's called hacker news but it's a bit presumptuous to name it that way for almost everything that is posted here.
Stories like this make you wonder if some companies pivot too quickly.
I think it runs out of memory on the iPad. I reused this presentation code for one I did and it works, so I don't think there is anything fundamental, although they could have broken something in an update. Remember it is all in one big page as far as the browser is concerned.
Closer to memcachedb than redis given the command set, but sill very cool.
You can override the tostring method on any object. You can override any method on any object - JS is a dynamic language, not using new & prototypes won't change that.
I'm actually happily engaged and can control my drinking quite well, thanks.
it's as if… all of those downloads were manually packaged by Apple employees in envelopes

Sure, that part does scale. The fact that scalable processes can scale is not a myth. The myth comes in when we get so dazzled by those awesome new scalable processes that we handwave away the distinction between that which scales, and that which does not.

When you speed up one portion of a process you don't speed up the process, you just move the bottleneck. The slowest and most expensive part of shipping an app used to be printing and mailing disks. Now it's App Store reviews. [1] Or producing documentation. Or deciding whether the buttons work better on the left or the right. Or the volume of calls to your support line, or posts to your online FAQ. In whole sectors of publishing the bottleneck is marketing: Your book, movie, app, or platform can't grow faster than the number of people who can be convinced to buy it, and convincing people is a very human-scale process; to build trust requires attention, and attention is not a scalable resource. Despite modest advances in brain-enhancing drugs, we still think and feel at about the same rate as ever, and despite advances in font technology the number of words we can read per waking hour is about the same as it was two hundred years ago.

---

[1] Of course, the rate of shipping app updates depends on the speed of the review process, but the first derivative of the rate of shipping app updates depends on the rate at which new reviewers can be hired and trained, and that is even more of a human-scale process.
What are you not going to do?
What is the difference? The difference is that when you invite investors to invest in your new location-based social network for morticians and coroners (or whatever the fsck), you are making an actual go at a business. Whereas when you invite investors to invest in your new programming language, you are conning investors.

I see little difference. Neither of those is ever going to make money.
1000$ & 30 days - Attempt at making something
Simpler isn't always better.

If your entire team is entry level developers who think jquery is magic, maybe you have a point, but frankly I'd rather work alone that with people that dense.
Certainly, but throwing away the world is natural on server side code and it means that your carefully crafted object don't live long and many of them don't need too be objects, they are micro namespaces for a set of methods. I never tried node.js for real but one good side off it could be that you are not pushed towards objects like you are with Python, Ruby, Java, etc.
Very open ended question. The trickiest thing for me is the GHC "instance" extensions: TypeSynonymInstances, -XUndecidableInstances, Flexible, Overlapping, etc

--------------

I think there's general agreement that cabal has limitations:

http://www.yesodweb.com/blog/2012/04/replacing-cabal

http://www.yesodweb.com/blog/2012/04/cabal-meta

http://www.reddit.com/r/haskell/comments/qdjha/which_command...

http://www.reddit.com/r/haskell/comments/r5h81/google_summer...

http://www.reddit.com/r/haskell/comments/rurn4/cabalmeta_tra...

-----------------

Not clear if you're interested in pure language design or looking at the state of standard library, editor/testing/deployment toolchains etc but as far as language design debates go vs. the SML line, you could read Harper's

http://existentialtype.wordpress.com/2011/04/24/the-real-poi...

http://existentialtype.wordpress.com/2011/05/01/of-course-ml...
Fwiw, Go doesn't need a hard minimum of 512 MB physical memory, but it does seem to assume a contiguous 512 MB of virtual address space will be available. Since every process has 2 GB of virtual address space and grabbing the 512-MB chunk is the first thing Go does, this should almost always be safe, but on Windows it appears that can fail to be the case because in some configurations, DLLs are loaded during initialization and fragment the virtual address space. I can run Go fine on a 32-bit (Linux) VPS with 256 MB of RAM, though.
Looking through the linked bug and the testing they did, the issue doesn't appear to be using Go for 32 bit systems. It's using 32 bit compiled Go programs that use cgo on 64 bit Windows systems.

Understanding the why of the issue is extremely important in this case. Based on the discussion in the bug report, I would expect that using the 32 bit compiler for 32 bit architectures and 64 bit for 64 bit architectures would not result in the issue occurring. Before abandoning Go, I would very much identify that this is indeed the case. With Go's young age, I would very much use the architecture specific compilers for the specific targets which is different than normal expectations, but not at all unreasonable.
I very much agree on the drop in productivity. I was just contracted to help with a Node project and just getting up to speed has been difficult. This is not all node's fault since the callbacks and such could have been handled differently.

The better examples will be in a few years when programmers have more experience with Node and the projects' code reflect that.

I won't be returning back to Node after the project though because it reminds me of earlier days writing XML with Spring.
The effect of Groupon promotions on Yelp ratings
What other popular languages use a conservative GC, though?
It will certainly make me think twice before buying new apps, yes. In some cases the app simply won't be worth the extra storage required (I'm thinking music apps in particular, since I like to play with them but don't use them seriously).
I got one of the first Apple II computers (serial number 71) and after I wrote the silly little Chess program that Apple provided on a demo cassette tape, I was considering getting FIG Forth running on the Apple II.

One Saturday morning I was in the local Computer Land store in San Diego and was talking about my just beginning side project of porting Forth. One of the new sales guys got really pissed off and started ranting about why would I waste my time on that, lots of people were doing it, etc. The owners of the store Dan and Dave were friends and they glared at their sales guy, and the conversation turned to more pleasant topics.

I decided that afternoon that the obnoxious guy was perhaps right and started instead spending time with Bill Budge's cool 3D library for the Apple II.

A few months later someone came out with an inexpensive product that was Forth ported to the Apple II and I always wondered if the sales guy who got so mad that Saturday had any involvement with that product.
You are correct - it was an error in my post. Go wants 512mb of virtual space.
Boycotting for the masses: a web project to coordinate boycotts
Unfortunately, this is not the case. 32bit compiled runs great on 64bit machines, where it gets the full 4gb of space and memory fragmentation at init is very unlikely to be a problem.

Edit: similarly, 64bit also is immune because of how the main platforms allocate virtual address space to clients.
http://www.youtube.com/watch?v=YuAJHaXKgFk&feature=colik...
Premature optimization. Shooting an aircraft is kind of like shooting a duck, it's moving fast and hard to hit at all. If you can make it hard to estimate your direction and speed it helps you out a lot.
They only get scattered throughout when using cgo with the DLLs loaded by the Windows system by the application loader rather than by the go runtime. It appears to be very specific to how Windows loads DLLs at runtime.
What's your takeaway from it?
This time the money is mostly coming from wealthy individuals. While some of these folks have certainly shown regrettable judgment, this is completely different than in 1999 when literally billions of dollars were flowing from institutional investors and the general public. If this trend continues for another 5 - 7 years then we may get back to where we were in 1999, but I don't think we're anywhere near there yet.
How much of this is "dumb" money? A lot has been written on how well folks are doing fundraising, but not so much on what types of investors are willing to throw money on the basis of a 2 1/2 minute pitch just because it has Y Combinator attached.

Investments are much more than just money (duh), you're also gaining an ally and potential business mentor. If I were to be offered 500k from an extremely smart person who has shown personal interest in my product versus 2mil from someone trying to play "startup darts", I'd take the 500k and work my ass off.

It scares me how much money is being thrown at name dropping these days.
No, gccgo doesn't resolve anything. No, this is not intended to be server code. No, its not time to upgrade. No, the dominant GC languages (java, c#, python, ruby, and on and on) do not suffer from this problem (at least, not to the same extent).
I think a good portion of it is how much you want to be distracted. I've had internet access since 95. High speed since 96ish. In that time, I've had both distracted and focused periods. Distractions don't come from the internet unless I want them to. In fact, most of my distractions come from around the house. Sure I haven't read "War and Peace" in a week but: a) I read slow. b) I don't have that kind of free time.
Why does the words 'hacker' and 'hacking' getting so much abused?
Being a 'hacker' once meant something, one had to work hard to gain the respect from people, nowadays it's just about getting something done with in a few hours that bearly works.
Also calling yourself a hacker doesn't really make you hacker, because it's all about the respect you get from the people admiring your work.
Better stay with the words like 'programmer', 'developer', 'artist', etc...
You may try to get your facts right. Instapaper is not a dollar a day. Also, if you are giving cons for Instapaper, you should provide cons for Readability as well. Otherwise the articles loses objectivity.
> Heck, I drive 60 miles a day just picking up my kids from school!

This is incredibly inefficient. You could choose to organize your life another way. You'll get the cheap electric car sooner or later. You might even get cheap energy to run it with. But you'll never, ever get that time back.
> The presentation was originally meant to run in Google Chrome.

1999 is back, baby.

And with a vengeance.
Interesting read. Does anyone know if things have improved/changed significantly since the article was posted (Sep 2010)?
No. You alluded to the notion that I'd already made up my mind about this case. As a courtesy to you & the thread, I confirmed your suspicion, and then stated that my bias is why we're glad I don't decide the case. You repaid the courtesy by ignoring the last sentence and then hitting my over the head with other sentences of mine out of context.
Yes, and commit on every smallest atomic refactorings.