skysight-inc/HackerNews huggingface dataset:
An brief and interesting quote from John Carmack. While I still love C++, it seems the language moves is moving further and further away from practical usefulness, in terms of compile time, good error messages and debugability all the time.
To be fair, that was only the lesson for stories 1, 2, and 4. Lessons 3 and 5 were "awww, little boys are so sweet".

Seriously, I agree -- if you're going to try to persuade people that doing these things is inherently good, skip the fairy tales. The Mrs. Nat King Cole story is especially bad -- they guy did a small favor (giving a ride) that made a big difference in someone's life (Mrs. Cole got to see her husband one last time), but apparently the author thought that what really matters is the fact that the guy got a TV out of it.

(I'm using "fact" loosely here; I have no idea whether this story is true).
As I understand it, xargs only runs on the local machine; GNU parallel can run on remote machines as well. So parallel is the cluster-friendly version of xargs's -P.
> I honestly believe ecommerce would be in a better place if all payments had to go through a PayPal-like company

I hope you mean a series of Paypal-like companies, because a monopoly on the market-place - like Paypal very nearly has - can spell doom for merchants (citation: all of the posts explaining how they've locked accounts, and are not responsive to even the most simple of requests, like "why?")
Don't you need

echo "file1 file2" | xargs -P2 -n1 gzip

?
well is toe walking like walking on your tip toes? thats not the same as walking on your balls of your feet/forefoot.

interesting though, i'd never heard of a link between autism and "toe walking," but i suspect you are right, this is one of those situations where society has shoe-style-walking so heavily ingrained in our minds that we see something else (even if its natural) and think something must be wrong.
Why would you be using (what I'm assuming is) a $2.5 million distribution from your business to buy a house? It seems like the better route would be to keep your business and its cash offshore and pay yourself a salary which would be taxed by the US.
He uses a text file for his TODO list so that mankind will be able to read it in 1000 years! I wish my work were that important.

When I was younger and first using a computer, I would "Open with Notepad" all sorts of files to see if anything about the structure was readable. That's why I liked text files then, these days I like them because they are often indicators of the mindset of simplicity.
+1, 13inch MBP Safari 5.0.2 OSX 10.6.4
>you can't go round patenting things which already exist

Not strictly right but close enough, better (but still not the whole story due to US differences) would be "things which have already been made public".

Prior art is the globally recognised term. It means any [relevant] disclosure prior to the priority date of the application in hand.

As an ex-patent examiner (not US) I'd use "background art" to represent the general status of the field (often presented in the preamble of the specification) and "state of the art" is strictly the whole gamut of prior art disclosures.

--

most jurisdictions have first to file whilst US has a "first to invent" system
>The sexual reproduction is the _mean_ of keeping 2 sexes from speciating, and not a _goal_ of the 2 sex existence.

So your hypothesis of why sexual reproduction exists is to prevent speciation.

Tell that to an evolutionary biologist and they will laugh in your face. Wait... you already did that. I'm laughing.

If you're actually interested in this topic, you can read the Wikipedia article: http://en.wikipedia.org/wiki/Evolution_of_sexual_reproductio...

But of course, you're not interested. You have something invested in the idea that men and women have different skills, so you invented your silly theory that evolution made men and women specialize in different spheres because it made the species stronger. And you kept on following the trajectory of the argument until it brought us to this absurdity.

The irony is that if you actually understood biology, you could easily make an appeal to the natural without inventing this dumb theory. You could have mentioned that males in many species develop specialized traits in order to attract females; human males could have such traits. In Belig's ground squirrels, only the males outbreed, and as such are the only ones that spend extensive time outside of burrows. Consequently they have superior navigation skills to the females who never leave their burrows. A difference like this could be responsible for differences in male and female human abilities. And there are a million more such valid arguments.

But you did what most people did. You rationalized. You had an opinion, and then you invented something to support it. Sadly, you knew almost no biology.

If you did, you wouldn't have missed the basic principle of the theory of natural selection: the variants which propagate themselves the most are the ones that you see go to fixation. There is nothing that drives a species to be strong; rather, individuals that are strong reproduce themselves.

Your basic problem is that you're thinking about evolution tautologically. Evolution can't predict that if one species turned into two, then both species would die out, so therefore it must develop sexual reproduction. Whatever drove those two species to speciate would still drive them to speciate. And then they would go extinct. A lot of species go extinct. Your theory requires that sexual reproduction emerges completely independently of an evolutionary pressure- which is ridiculously improbable- and then continue to exist even though it confers no advantage. This is absurd for any number of reasons, not least of which is that an asexual organism can produce 2x the number of copies of itself as a sexual organism. (When sexual organisms reproduce, only half of their genes get passed onto their offspring; this is hugely inefficient.)
Safari not supported when signing up, funny alpha is funny.

The UI for adding elements to the page is not intuitive. Some little "add here" thingie shows up and when I click then it gets added. Took me a while to figure out, I expect drag and drop.

It's cool that one can build a blog/HN, to-do list, but from looking at the builder I don't know how. But the bigger problem is the concept that I should build HN or a to do list from some low-level pieces. I think for designers it looks reminiscent of dreamweaver, where you couldn't build all that much without coding. For others it's probably too many buttons.

I think you should start with a finished template, let's say of HN and edit that to make a blog where users vote on one writer's articles, or a to do list, where you just remove the up/down voting and leave the submission form. Or to make some enhanced HN, add up/down voting conditions when a user just clicks the link, add "label" votes where you can vote for discussion article creates, not just article, then add site sort by quality of discussions.

An app builder is only as flexible as it's presets and templates, but starting with a blank canvas gives the impression that it's some professional tool with a big learning curve. I think you should underline that it's not flexible but enables you to prototype variations on established paradigms easily, so display finished template first.
Yeah I would overestimate the cost, tell them exactly what they're getting, and if they ask for something new don't be afraid to tell them if it's not part of the estimate, and send them a new estimate.
See also the 'push' shell: http://code.google.com/p/push/
Assuming they still use ASCII (or an ASCII extended character set) in those days.
The first time I encountered VbV, a few years back, made bells ring in my head. So I actually called my bank and asked them if it was on the up-and-up. The bank (and I talked to a few supervisors in their customer service department) couldn't figure out themselves what the story was.

If they're going to do something like this, they really ought to be able to explain it to their customers.
Well, that's why "open source" was coined in the first place, because many people or companies releasing software under an open-source license feel uncomfortable about associating their software with any political agenda.
CrowdConf 2010 videos
Sorry. I just added a popup which will warn you on the homepage itself. The Design interface is very JS intensive and right now I have only tested it properly on FF. I do play to add support for all browsers very soon.

However, the finished PHP applications should run properly on all browsers.
Sounds good. How many lines of code do you think the password check test would be in node.js? If it's not too long then could you imagine doing the node.js version?
If there were only 4 of them they would have been dead by now, next time you need at least 50 of them to make any newsworthy and thus commercial interest.

By the way, all capitalism en all socialism is both bad, healthy societies are a mixture of both as commercial interest mostly cannibalize their infrastructure (that is where the extra money comes from) so you need a social system to be able to have commercial interests thrive while upholding the infrastructure needed to do that.
Wake up real early and work from late at night.
http://en.justin.tv/startupschool/b/272007200

Starts at around minute 23:00
You complain about educated people just wanting a job instead of striking it on their own and in the same post scoff liberal majors because they can't get a job out of college. What is the point?

In many cases education requires far more resources than a large part of the population is able or willing to afford. Also even if uneducated people may seem to value education more, their relationship to it is significantly different.
HA, thanks! Watching..
I love Ubuntu because its commandline and developer
tools are fantastic, really a pleasure to use

Then you should give credit where credit is due: to Debian, not Ubuntu.

I love Ubuntu for their UI breakthroughs, but I'm only tolerating them for stealing Debian's work as long as Ubuntu stays free (as in price).

If you want to sell your Linux distribution, at least build it yourself.

So I could develop useful applications for myself or
other developers, but not for too many end users.

If your app is so dependent on GTK+ as to be unportable to other platforms, you're doing it wrong.
"formatdoc" link is http://news.ycombinator.com/formatdoc and unhelpfully bears teh link text "help" rather than something like "text style info". The page has the content:

Blank lines separate paragraphs.

Text after a blank line that is indented by two or more spaces is reproduced verbatim. (This is intended for code.)

Text surrounded by asterisks is italicized, if the character after the first asterisk isn't whitespace.

Urls become links, except in the text field of a submission.

Isn't the homepage footer from http://news.ycombinator.com/ on all the sub pages anyway?
I've had a great experience with VPS.net so far. Why do you say that?
"Way easier to criticize than do anything."

Yes, it is, and I do both. I've written code that ships in Ubuntu (and Debian, and Red Hat, and Fedora, and FreeBSD, etc.), and I've worked on Open Source projects for over a dozen years. I believe that grants me a right to speak on the subject, particularly since I'm not advocating a position that benefits me in any way; it merely presents my opinion as an Open Source contributor of many years.
That's odd - Vimeo "just works" perfectly on my iPhone.
I wish I could move to Linode from Slicehost, I have a slice with my personal/hobby sites on it but it's too expensive (I could have a Linode twice the size for that price). All my new servers are Linode, of course (including historious, which is breezing along).

Their London datacenter is the fastest I've seen, even faster than some dedicated servers I've used.
As long as people still use English (or letter-based languages), ASCII would be pretty straightforward to decipher — especially compared to a straight binary dump.
This is not efficient. Under this system, giving a homeless person $1 is good, but giving him $1 and setting another dollar on fire (maybe in a way that hurts me!) is even better.

Instead, it makes sense to measure utility against cost. Helping someone at great expense is good. Helping someone at no incremental expense is better. Helping someone in a way that produces extra wealth--perhaps enough for you to profit from it--is best of all.
http://www.google.com/trends?q=%22asp.net+mvc%22%2C+%22ruby+...

You can see that search volume growth for "rails" had been flat for the year before Ruby on Rails came out. Since then, "rails" trended the same as "ruby on rails" at every point in the last six years. Right now, the search volume for "rails" is still trending 10 points higher on the graph than it did before RoR came out; to put that into perspective, searches for the full name "Ruby on Rails" have been less than 10 points since the start of 2008. All this indicates is that people have learned they can get good results by typing "rails" instead of the full name.

I want to add that it's possible that nearly all correlation between "rails" and "ruby on rails" is due to the possibility that google double-counts "ruby on rails" searches as "rails" since that word appears in the full name. However, the 10 point increase in "rails" still trends 5 points higher than the 5 point increase in "ruby on rails" during the same period of first release in 2005 to now in 2010, which is double. But anyway, the point isn't that my stats are any better; the point is to demonstrate that it's hard to make an inference based on two keywords, and even harder to predict what will happen based on this information, even if it was accurate.

No news here except that there are many MVC web frameworks these days.
yea, inquiring minds would like to know. I gave gigenet a try but they were having major issues with their SAN when I signed up. Looking to use vps.net once my product launches.
Ubuntu is polished to a point, kind of like a ball of mud can be polished to a high sheen. There "are" issues that continue to plague Linux in the Desktop department. To say that Ubuntu is polished enough for grandma to really interact with the machine without root is silly IMHO.
I had always felt a little dirty using it, and resisted looking behind the curtain. This tweet has piqued my curiosity too much though.

Its definition, for those interested:
http://www.boost.org/doc/libs/1_44_0/boost/foreach.hpp
Thanks for trying out. I expected the comments about UI being un-intuitive and I continue to work on them. I think having a brief video walk-through of the interface will go some way.

I agree that one should not build complex websites from low-level pieces and AppCanvas was designed to address this problem from the very beginning.

- There are page templates (right now not many) which you can base your starting page upon.
- There is a "Widget Gallery" which has high level widgets.
- You can create a custom widget by selecting something and then reusing it.

Thanks for helping me understand how important having templates/presets it.
Hey, Want a Piece of a Twitter IPO?
This could be done in a couple different ways. My point was that you can use multiple functions with tail calls rather than one big self.state == self.STATE_TAG switch statement. In this case, the input for loop works like a trampoline, so the stack doesn't build up. It could have been done the same way in Python (where self.state IS the "handle next byte" method). That wouldn't be true for all FSMs, though.

In something that take input one piece at a time, it'd probably still be simplest to use a coroutine. Also, everything here could be made private except new, if it mattered. I tried to make a straightforword translation of the first Python sample. It looks rather like a recursive descent parser.

local header, footer, dle = '\97', '\98', '\253'

function wait_header(s, byte)
if byte == header then s.frame = {}; return in_msg end
return wait_header
end

function in_msg(s, byte)
if byte == dle then
return after_dle
elseif byte == footer then
return table.concat(s.frame)
else
s.frame[#s.frame+1] = byte --append to frame buffer
return in_msg
end
end

function after_dle(s, byte)
s.frame[#s.frame+1] = s.adf(byte)
return in_msg
end

function new(after_dle_func)
local state, func = { adf = after_dle_func, frame = {} }, wait_header
return function(byte)
func = func(state, byte)
if type(func) == "string" then return func end
end
end

-- test --
foo = new(function(x) print "(in after_dle_func)"; return x:upper() end)

-- this is like "for /./ in string do ..."
for b in string.gmatch("foo\97frame contents\253dle\98end", ".") do
local res = foo(b)
if res then print("GOT FRAME: ", res); break end
end

> dofile("/tmp/lua-6043PeX")
(in after_dle_func)
GOT FRAME:	frame contentsDle

Also, Shriram Krishnamurthi's "The Swine Before Perl" (http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePe...) also has a good example of using tail calls to write FSMs in Scheme.
Oh, I'm sure it can be indicative of something. But I have two ASD kids and they are doing well in part because I was careful to not pathologize every little thing they did. Lots of things "normal" people do get viewed as pathological once someone qualifies for some label or other. I think that is extremely harmful.

I really can't say for sure what they mean by "toe walking". I filter out a lot of what gets said as "noise".
My default starting point for something like this would be to suggest a California corporation. Put your local people in it. Engineer the net profit of the California company. :-) That keeps your U.S. and California tax bill low.

How is that done? Google alert: "Transfer Pricing" is the game. Control the way in which sales are made so whatever you earn in California is offset almost entirely by operating expenses.

This is a point of obvious contention between the tax people and businesses. The tax people don't want you to artificially manipulate your business affairs to eliminate tax. There has to be an arm's length approach to how you do this.

It gets worse. Assume you have operations in the USA and Canada and India. Each country's tax collector would (logically) like to have you earn maximum profit in that country, and bugger the other places. So they'll pull out the local transfer pricing rules and say that you are artificially understating profit in that country. Now you're at risk of having the same $1 of profit taxed in two or three countries.

Yes there are ways to prevent this, and ways to fight back. But this gets expensive in lawyer and accountant fees. And buying expert opinions from economists about the esoteric meaning of "arm's length" in your particular business, etc.
Yes, and thanks. :)

Have you seen my library (http://github.com/silentbicycle/tamale) for doing Erlang-style pattern matching in Lua, BTW? I still need to document it (I'm working on briefly explaining why pattern matching matters to people who have never used it), but in the mean time, a glance at the README and the test suite should suffice.
I run a music "startup" that is in the "extremely saturated" space he is describing. We're now 7 years old, have 10 employees and have been profitable since 2005 with no VC.

There are many opportunities in the music startups, just as in other industries. Find a market need. Test your product, and iterate quickly. In our case, we found that by bundling a website builder with tools to promote and sell music is something that musicians want to pay for. We're not the only one, there are many profitable companies in this space.
If anything it seems like it'd have more to do with antitrust law. It may not actually fall afoul of it in this case, but it gets into gray-area territory when you're using retaliatory actions in one market to put pressure on contract negotiations in a different market. Looks especially bad because Fox doesn't normally have a policy of negotiating per-ISP contracts for Hulu content, but made an exception to specifically block Cablevision.
IPad as the new Flash
Could be delayed (e.g. when nothing else is going on, download all content)
I think his point was that if it's in a spreadsheet, it would only take a few minutes to copy the "name" column, excluding all startups where the "launched" column indicates that they're still in stealth.

He wasn't calling using a spreadsheet lazy; he was calling using one and still being unwilling to compile a list of YC startups lazy. Of course, PG is busy enough that I wouldn't blame him anyway (but he does have people working for him to do things like that).
I'm sorry, I know one shouldn't criticise if it's not constructive, but this must be the piece with the largest text/content ratio I've ever read, and I've read a Stephen King novel.
Microsoft Research contributes code to MediaWiki under GPL & Apache 2.0 licenses
I am so impressed by how far this story has traveled in such a short amount of time. I'm part of the org that worked with Saeed's wife to initiate this campaign. She is a brilliant woman. I wanted to quickly address letters. They DO work. We have, in the last few months, received emails from foreign ministers and their representatives promising that they will address it with Iran's officials as they visit the countries, that they will continue to pass ont he information, and even releasing statements of condemnation. With Iran, it will ALWAYS remain a PR game, and the end goal is to 1) highlight the cases and 2) get the world community to decry them. Name and shame, assign blame, embarrass Iran. That is their biggest fear, truly.

Thanks to all!
Mana
United4Iran.org
The answer is quite simple. Never do a variable amount of work for a fixed price. Billing on "estimates" is a risky proposition for both sides, and you need to explain this to your client. They may win sometimes, but you may also win. Explain to them that they may end up paying double the actual cost if you're forced to estimate high, and they'll quickly work with you to refine the pricing.

Some clients will try get this past you by requesting a "quote estimate" instead. Which is them saying, "we will pay less if it's less, but we won't pay more". I have one client who does this constantly. The best way around it is to specify EXACTLY what you will provide them, and EXACTLY what they must provide you. If anything changes, it's a variation and you quote the change before doing any more work. They'll soon get the picture that uncertain work leads to uncertain pricing...no matter how they try to do it.

If you are uncertain as to how long the work will take, you need to improve your estimation skills. Sorry! Software engineering is most definitely NOT a chaotic activity. Every task can be broken down into smaller quantifiable components. Estimate on the components to come up with your quote. If you can't accurately estimate how long something will take, then it won't matter how you quote, you will eventually lose out.

I use the (average of best case + worst case) + slippage (15-20%) method which serves me pretty well. I learnt this from a large engineering firm I contract to which they use to quote $10million+ jobs. It evens out uncertainty and leaves you with some wriggle room.
Youku Transcends YouTube as China Becomes Center of Internet
With all that you're better off using a desktop computer. Isn't there a laptop with better/more fans?