skysight-inc/HackerNews huggingface dataset:
Great advice anigbrowl! I especially like the emphasis on GETTING IT IN WRITING.

Another point of anigbrowl's I'd like to emphasize: write the first draft yourself. Discuss transfer of IP from them to you, then write the doc yourself. Two reasons: 1) they don't sound like they'll get around to writing it. 2) You can anchor the agreement however you want it, and they will have to respond to edit.

I never have understood people who ask somebody else to write up the first draft of a contract / agreement. Yes, you will negotiate on points, but if you are the original author, everything is anchored where YOU want it to be.

Anchoring is a VERY powerful psychological tool.
> Most nontechnical parents who see their son or daughter spending countless hours on a computer just think that he or she is wasting his or her time.

I definitely encountered that. The same parents who called me lazy for sitting in front of a computer from ages 14-18 are now quite happy with how things turned out--a day job with a high salary and a startup in the works lol. You never know what that kid could really be up to...!
I used rebol 10 years ago and left it after few years because of it's closeness and artificial limitations set. The general closeness was a huge factor IMHO.

I'm back now. With direct communication between community members and REBOL author the feel of closeness is gone now even in R2 (also free versions of R2 can talk to dll/so -s now also which was the main hurdle back then).

R3 is about to fix the things discovered wrong in R2. It's development is highly interviewed with community. With very active development chat, open buglists, wiki based documentation, weekly releases, autor's blogposts that ask for opinions I can say the closeness factor isn't there any more.

I am not sure but I think in R3 everything except very narrow core of language will be open sourced.
Well that's my point - since most people here are male, failing any other clue, a person could assume everybody is male and not be proven wrong.

For what it's worth, of the examples you listed: I am not posting under a pseudonym, it's my real name (trivially googlable) and not at all gender-neutral in my culture - and personally I don't think Dan Delany is that gender neutral :-)
The first box is wrong: you are allowed to link GPL code to any other software you want, under any or no license, if you don't distribute the resulting work and only use it privately or within your company:

http://www.fsf.org/licensing/licenses/gpl-faq.html#GPLRequir...

I stopped reading after that.
Slides & Videos here as well: http://cufp.galois.com/
which of these presentations did you like?
Twisted creates confusing, bloated code.

Every time you have to do asynchronous work, you have to mentally follow the chain of deferreds to ensure you understand exactly what code will be called at what time. Coupled with its unpythonic, deep hierarchical API, Twisted almost literally twists your code into a jumbled blob.

Unless you need the existing protocol-specific APIs twisted provides, stay far, far away. Find something more lightweight, like this, or Eventlet, or something else that lets your code remain concise and clear.

This comes from my experience writing a Twisted server for my startup, and subsequently rewriting it when the Twisted version became far too difficult and frustrating to maintain.
I guess I was trying to be consistent. I'll fix the multi-liners. if it helps any, I forgot how to write a one line if with the test expression in head position and had to look it up.

Typical dreamer behaviour, can babble about anaphora but if asked to write an if expression on one line in a job interview would bomb out...
Why do you compare Consolas with others ? It's a monospaced typeface, it should be compared with Courier New/Monaco/Andale Mono etc ... Or Courier vs Courier New ?

Compare the popular typefaces from different platforms (Win/Mac/Lin) would also be very interesting
Both fonts fulfill the purpose for which they were designed.

Helvetica was built to live in a gridded world: the horizons and verticals of Swiss modernity (look again at R and see how space-consuming it is).

Arial was built to look like Grotesque 215, which is what swiss designers were using before Helvetica. Arial is supposed to be more human (read: humanist), and is for on-screen and on-paper --- not signage.

Designers prefer Helvetica because it is built to be used by designers; any combination of letters will pack neatly in space, both because of the letterforms themselves and the superior kerning.

Arial is meant to be used for less important, less permanent documents. It is more casual, and setting a whole page of text in it does not seem cold or callous.
It's a styles thing.

Twisted is a very capable system, very well written, with all kinds of capabilities that diesel doesn't have and never will. So it's not a capabilities thing.

It's written by a team of guys who are crazy smart, and who know async better than most people on the planet, me included. So it's not a competence thing.

The performance difference between twisted and most other Python async libraries isn't going to be significant. We're all mostly benchmarking epoll or select or whathaveyou, plus a thin layer of frames to get from there to your application code. So it's really not a performance thing either, though hackers love to talk about this anyway.

It's a style thing. Twisted doesn't feel "Pythonic" to me. It doesn't have that succinctness that makes you say "shit, I'm done already?" It's got lots of big-A architecture that's very Correct, but in practice, leaves you wondering why you're being burdened with it when that rainy day when it pays dividends never comes. Purity is allowed to triumph over practicality at every turn.

That's one man's take. I don't claim it's the universal truth, and Twisted has many very happy users. But I suspect I'm not alone in this assessment.

That being said, I will relish the day when someone can do _something_ in the Python async space and not immediately be thrust into the ring as the latest combatant in the twisted-vs-the-new-guy debate. New guys never stop coming, and that's a wonderful thing for the evolution of computing and programming.
They do note that debugging won't be included in the free version.
Lately I have been finding myself thinking along the same lines. Everything in moderation. There is no universal tool for anything. OO is just a tool that should be used when appropriate.

Lately I have found myself preferring to model data with OO and use procedural/functional code for the rest. This is especially handy for simple sites like feed readers, etc. Python and PHP handle switching back and forth between the two styles very easy (and acceptable).
This is far too early and I wish to see more conclusive results, but this might provide information as to why some really bright people don't fare well until they're at a university or in graduate school/the industry.

Perhaps employers could use this information: e.g. if a candidate fits a certain pattern, they could structure the interview process to be less stressful (to avoid situations where they may be passing up on some of the brighest people).

That could be also why really smart hackers tend to flock to startups, R&D/"platform" teams (as opposed to product development/customer facing teams) and graduate schools: ability to set your own schedule, greater say in setting the overall technical direction and timing/deadlines.
Honestly, this is an extremely stupid move. Something like Word requires a ribbon interface. A browser does not. What a browser requires is maximum screen space for displaying the webpages. Right now, my Firefox shows only the navigation toolbar, tabbar and statusbar. A default install also shows the bookmarks toolbar and the menubar. How is that cluttered???
Python 3 is not very ambitious. It's not comparable.
I know most people here find these experiments absurd, but folks like Daniel Dennett (in Elbow Room, which I think he later retracts for a Compatibilist view) and Richard Dawkins have widely construed the result as "proof" of a deterministic universe.

Indeed, a deterministic universe (or at least one that precludes libertarian freedom) is a necessary component for eliminative materialists. This is heady stuff. Hopefully more work is done to design an experiment that isn't so subjectively interpreted and lacks the self-reported element of the Libet test.
As mbrubeck said, I am not arguing about labor unions. I am arguing that your second paragraph does not offend labor union supporters because it says something different, and not because it says things at more length. Which contradicts your thesis that conciseness and politeness are at odds here.

To illustrate how different the two paragraphs are, the first paragraph could easily be a lead-in to an essay that argues that an environment that requires personal heroics from leaders drives away the dreck that are mismanaging labor unions today. This would be an example of the "sudden about face" that I referred to in my earlier response. The second paragraph could not be used to start that essay. Nor could the concise third version that I offered. The fact that one naturally leads to an argument that the other two do not proves their inequivalence.

That said, you're right that I was wrong to bluntly state that your first version said that labor unions weren't founded by heros. It says that anyone who claims that has difficult problem to explain, which leads people to conclude that they were not founded by heros. But doesn't state that conclusion. And, as I noted in my initial response, room has been left for solving the difficult problem instead.
he does mention that his experience working wasn't positive and didn't feel like it helped him in any way. If anything it seems to have made him angry enough to want to start Mint, but not much beyond that.
This isn't a serious essay. I made this version to demonstrate what an egregious instance of Parkinson's Law of Triviality the comments on the original were.

http://en.wikipedia.org/wiki/Parkinson%27s_Law_of_Triviality
It strikes me as very male to disregard the presence and feelings of others in the pursuit of making a point.
No, scala was clearly sticking to the everything is an object model.

clojure, ocaml, and haskell combined have maybe 1% of the market share. This supports his point.

Javascript is widely used only because it's the only game in town for non proprietary programming on the client side. Also, most people that do heavy js try to bolt typical OO features on to javascript and are even pushing to add it to the standard.

I think is point holds. Some people have certainly questioned OO, pg is one of them, but they are clearly in the minority.
IIRC, The gdb team was previously talking implementing this by forking after every instruction. Does anyone know if the current functionality is being built on that model?

I guess the advantage of doing it that way is that the majority of the memory pages can be shared if the OS uses a copy-on-write virtual memory system.

This:

Breakpoints and watchpoints will work in reverse -- allowing you for instance to proceed directly to the previous point at which a variable was modified.

is going to absolutely killer functionality for reverse engineers.
Great idea for an April Fools Day prank
You came here on an H1B for your own startup? Were you already venture funded? Because it's next to impossible to come here on an H1B for a startup that doesn't have signficant revenue and/or a decent number of customers.

Also it's not generally possible to get venture funding for a US based startup while still in another country. A VC would not want to add "immigration policy risk" to the extensive list of risks she already takes when investing in a startup.

Secondly, assuming you are already here on an H1B working for largeco (as I am), it is also not possible to start your own startup without 1) Having an American cofounder 2) Raising funding and/or getting a large number of customers

Getting customers before you start working on a startup is of course impossible and raising funding before you start working on it full time is also really hard (unless you are already a superstar in your domain of work).

So, really, on what basis are you calling people who want a simplified process lazy?
I appreciate the change.
I almost abandoned the essay when I saw it was going to talk about Mike Arrington.
Luckly I continued reading, and enjoyed it full.

The question that remains in the back of my mind is: is this an intent of pleasing me (as an audience)?. The other question is: Is Mike's anti-fan base so big that this remix is useful?

Above all, I enjoyed reading the original article and liked the remix.
The first example,

(1..100).map(&'(1/_)+1')

can be written in Haskell with sections and composition:

map ((+1) . (1/)) [1..100]

It's even shorter, if you strip out the whitespace.
But then the psychologist determines that you're one of the types that would have normally have used an 'overview' perspective, branding you either 'too smart' or 'a manipulator', neither of which is good.

For another failure mode: they should repeat the experiment such that some people in both groups are told in no uncertain terms that the other party thinks they are lying. How many of the 'truth speakers' would start drawing overview pictures in order to try and convince the other that they must have been there?

Or for another variety: allow everyone to visit the location and have the talk, but tell one half to do everything to lie about it and introduce some stress. Some people crack so soon under stress that they will actually start believing their own lies.

This entire line of investigation is useless.
OK now i know the difference and how to spot Arial, but can anyone show me why is Helvetica superior to Arial ?
I would rather support that, than most of the code I've actually been asked to support.
Twisted does it with inlineCallback
William Langewiesche --- badass narrative journalist formally of The Atlantic Monthly --- wrote a pretty good book on this topic called _The Atomic Bazaar_.

There are other reasons why it's tricky for non-state actors to acquire workable nuclear weapons, including the fact that the weapons they're likely to get will probably kill them before they can kill us.

On the other hand, remember that when engineers talk about things like managing the window of supercritical mass before the explosion rips the bomb apart, a non-ballistic nuclear device (like something rigged in a shipping container) wouldn't need to be nearly as efficient as a US nuclear weapon to wreak total havoc.

Also, non-state actors aren't going to centrifuge their own enriched uranium; they're going to steal it from the CIS states.
Rob,

I really like your app. I'm actually about ready to do some user testing on my own startup, and I've planned on using usertesting.com. I'd like to try out your product as well, if you'd like some addt'l users. I just filled out the form for a beta invite (Travis Leleu), so please let me know if I can use it.

I'm looking to start user testing my app in about 10 days (a week from next). I'm also more than happy to provide feedback to you guys -- your product looks great!
XOR is not an English word. The either...or construct is used to be explicit with regards to mutual exclusivity.
See http://news.ycombinator.com/item?id=838981
Nor has anyone else ever realized that a pen doesn't write: a human uses a pen to write something on something.
I'm sorry, but this post is just packed full of FUD.

I hear this all the time, "argh, Deferreds are so hard to understand," as if there's some kind of magic going on in a Deferred. Deferreds are just a way to encapsulate two callbacks, one for errors and another for successful callbacks.

If you're writing any kind of significantly complicated asynchronous process, what is the difference between following a bunch of Deferreds and following a bunch of callbacks??

Asynchronous coding is hard. There's no framework that is going to make that go away. Diesel looks nice enough, but although it shows promise, there's not enough examples of hardcore usage to make a sufficient comparison. An asynchronous IO framework that has nothing but HTTP and echo examples doesn't even scratch the surface of the kinds of apps that require the advanced asynchrony available in Twisted.
I’ve found that between a quarter and half of the students I consider 'hard-core' entrepreneurs/founders (working passionately to found a company,) self-identified as coming from a less than benign upbringing.

he believes that a quarter of people in a group warrants correlation?
Yes, and it is a very sarcastic choice. The author implies that Arrington was just a totally arbitrary choice in the previous article, absolutely irrelevant to his point, and this is more than a little disingenuous.
As much as I fear for the direction Ubuntu heads in terms of "free software'" and commercialization sometimes, I really admire their release schedule: Consistent, regular releases, with an overlaid schedule that emphasizes reliability and robustness. The best of both worlds!
Most Perl programmers think "it" when they use or see $_

Examples of using "it":

map { (1/$_)+1 } 1..100;

grep { $_ eq 'something' } @list;

You can also replicate the if and big_long_calculation using "for":

for (big_long_calculation) {
$_->foo;
}

But if u prefer to stick with "if" then you can do:

if (my $it = big_long_calculation) {
$it->foo;
}

And remember in a lot of cases using "it" isn't mandatory:

say for @list;

is same as:

say $_ for @list;
Writing unit tests should be your highest priority. I am far from a TDD advocate, and compared to many I am terrible at maintaining my own tests, but I could never justify using an IO package that contains zero tests.

IO errors are some of the most annoying errors to debug, and the whole point of using a preexisting IO package is to not have to worry about errors in it. I would say you need 100% test coverage of your core library before I could consider using Diesel for a major project.

Just my $0.02...
The distinction I am making is based on this:

"It lets you easily use objects and OO concepts when they are the best approach, but it does not force you to use them when the particular problem is more functional (or even more procedural for many short, simple scripts.)"

I was disagreeing with the point that OO languages "force" you to use OO concepts. OO concept to me means encapsulation/inheritence/polymorphism. Java in particular does not force you to use any of these OO concepts. You do have to declare one class, but "class" in that sense is purely for scoping. You don't have to instantiate it or acknowledge its object-ness.
Here here.

EDIT: Hear, hear.
Cassandra: a highly scalable, distributed database
It was a trivial point to you, but perhaps not to people who read your essay. You don't get to control what your readers take away from an essay. If you have one point to make, don't make two.
Although point-free style achieves (or surpasses) the brevity of anaphoric style, it does so in a manifestly different way. To use two Ruby examples,

(1..100).map(&:to_s)
(1..100).map(&it.to_s)

The first example reads to me as mapping a method over the numbers, while the second reads to me as a very terse way of describing a function that sends a method to each number.

I am not doing a good job of explaining the difference in my head, but I do know that sometimes I really like point-free style because I am thinking in operations and methods rather than in functions.
or a universal topic dump. (my biggest pet peeve with hacker news)
I think the biggest disadvantage of putting something like this in middleware, is that it's completely incompatible with stuff like memcache. The injection of this meta-tag is done after a memcache SET would have been done in the web app, and so if you have a reverse proxy in front of your webserver, for any cached page that's served, it won't include the injection. Also, the user-agent check that's being done in this plugin yields incorrect results in the presence of caching for similar reasons.
Sorry, I was referring to the courier tablet device, not the Codex work.
Mint.com Founder: Heck No, My VCs Didn't Force Me To Sell To Intuit
I cannot place the source of this quote, but to paraphrase:

Judge a language not by what it makes hard, but what it makes easy.
"Alternatively, the results could be a statistical fluke, resulting from a small sample. 'This is very common among these kinds of studies because the genetic effects on cognition are so tiny that you need perhaps thousands of people to get a good estimate of the effect,' she says."

That was very good of the reporter to mention this possibility. That kind of issue always has to be evaluated when looking at new scientific studies.

http://norvig.com/experiment-design.html

It's an intriguing finding that should probably be looked at further in a different cultural context (is taking the SAT in America like taking the Taiwan college entrance exam in Taiwan?) and definitely should be looked at with a larger sample.
This example is only really annoying because the items were almost full sentences. I prefer small 2-3 word functions.

But really, like pmichaud said, I'd rather support this than, say, reverse engineer Google Analytics code http://www.google-analytics.com/ga.js
OTOH, it's a good signal that people who care about silly things like technical innovation and pleasing customers can safely ignore such articles.
I'll come out of the closet and admit that I like descriptive names. There's a point they get ludicrous, but that's also a very clear sign the concept they're representing has become confusing and unwieldy too. If you can't come up with a name that's both clear and short, maybe the function's purpose is also unclear.

After many years of maintaining large codebases written by other people, the comments are very seldom useful, and often actively misleading, thanks to code changes over time. Coders seem a lot more reluctant to change a function so it no longer does what the name implies than they are to modify code without updating the comments.
On their website one of the first applications they listed was for sutures in eye surgery. Apparently the high initial tensile strength and biodegradability make it perfect for that.

I agree though that most of the interesting (and widespread) uses require a material that is not biodegradable.

I would love to have a spider-silk ballistic/stab vest... That would be a very cool piece of kit...
Where'd you get that figure? AAA says 71c/mile, or $7100/year if you drive 10K miles, and that's an average, meaning it's possible to do much better.

Otherwise, I agree with you in principle, but living in a city with great public transportation isn't an option for everyone.

As for the original analysis, the point where maintenance costs exceed the value of the vehicle is irrelevant. I typically drive cars way past the point where they're basically worthless; as long as the maintenance costs are under a couple of thousand a year, I figure I'm better off than I would be buying a replacement.
There's a meta-point in here somewhere though, as his essay was about the fact that pandering to readers isn't his highest priority [1]. His essay also would have offended unionists and people who hold a religious devotion to the "greatest generation," but since those groups aren't well represented on HN, only the friendly coloring of Arrington caused controversy.

[1] Which is not terribly dissimilar from his feeling that programming languages shouldn't pander to bad programmers.
And my point is that while you are not forced to design an OO program, you are forced to use OO mechanics. Considering that other multiparadigm languages don't force this (C++, Python, Ruby, Perl, Objective C, Lisp), I think it's an important distinction.