skysight-inc/HackerNews huggingface dataset:
Interesting point. I think Twitter can be overwhelming in the way that the internet can be. People didn't abandon the internet just because it was hard to navigate. They turned to Google.
The Hands-Off Approach To IT That Fuels Technology Populism
Interesting, but not unexpected results for Scala. The JVM takes a while to start up, so on short lived scripting-like applications it's not an ideal choice.
Except if facebook makes their profile public without their knowledge (or consent)...
Agreed.

Sure in scala there are a couple things you can't do like pointer manipulation, so you are going to incur more allocations but from what I've found in C# is, if you code it like a C app it performs like a C app.

The biggest key to performance I've found in managed code is to not allocate memory. It reduces stress on the GC, and improves your cache hit rate.
No, its whoever invents such a technology that will define it. :-)
What? It's not a Post piece. It's an op-ed written by Mark Zuckerberg. Of course it paints Facebook in a favorable light. That doesn't mean it has no value.
Language performance benchmarks are generally pointless. The much more important benchmark is how easy is the code to write / change. Write it quick, get the customer, and then when you have that customers money if somehow it doesn't perform well enough use that money to profile and improve the app or just buy more hardware.

In 18 months a CPU that costs $200 will perform twice as fast as the current CPU for $200, I've never seen bang for the buck like doubling the performance of your code for $200. (Most apps are IO bound anyway, so you want to add disks not CPU)

Yes, for SOME companies like google it's much better to pay more for programmers, but most companies don't have > 100,000 servers. If your company is a start up that is doubling every year then all you have to do is let Moore's law scale your performance as you add servers.

Also, don't build a business where your profit margin is dependent on getting the last 5% performance out of a server.
The Tim Hortons app in Canada is a great example - having such a large network of stores, partially in the US, makes it possible to share costs over a large number of customers. The same is true of any large company with access to a large number of consumers (in Australia or elsewhere).
When you write a language and an operating system that both endure for more than 30 years; across numerous hardware platforms; emulated and rewritten dozens of times; becoming the fundamental underpinning and architecture of the greatest information network in the history of mankind, sparking a global cultural and technological revolution; Then you can call the guys from Jersey "hacks".
Except that didn't happen. There's no evidence that a large portion of Facebook's users were confused about the privacy changes in December, yet many people keep repeating that as fact.
>> "Why don’t we use this format for locating Git resources?"

Because everyone is already doing what your article is telling them to?

I'm sure there's a point to the article, but I found it strange that this call-to-action style post showed numerous examples of how this is already being followed, but only one - completely fictional - example of not following it.
Indeed. And C gives you such crummy tools for string manipulation that you are almost forced to hand-write anything interesting, so it's not surprising that it ends up doing well.
PARC Project CCNX
Explains why there is no sound on my Nexus One.

Too bad it won't play with my trackball or something...
With the number of upvotes it is getting I am wondering if I'm missing something.

There must be some amazing revelation in there somewhere.
It very much depends on your application domain. For code that runs on client devices, speed is often very important. You can't (usually) buy hardware for your customers.
similarly, why shouldn't an electorate act in its own self interest by empowering a government which prohibits you from doing so?
More B.S. from Zuckerberg. He should have said, "We screwed up. We're sorry, we're fixing it, and we won't do it again." Instead we get nonsense about how "The biggest message we have heard recently is that people want easier control over their information."

Um... no, the biggest message you have heard recently is that people don't want you destroying the terms of service they agreed to with unilateral, opt-out changes, you greedy tool.
I typically use "github:jrockway/foo.git", not "ssh://git@github.com/jrockway/foo.git". SSH invented its own format; it didn't reuse regular URLs. (Complicating matters, perhaps, is my .ssh/config file, which eliminates the need to specify the username and hostname in the host part.)
PHP is making a disappointing showing with a whopping 3 LOC!
Facebook CEO: We Will Add Simpler Privacy Controls
All I can figure is that some portion of the young hacker crowd grew up with such ubiquity of URLs that they never reflected on the meaning of the name. Or bots.
Something tells me that query would probably run faster if written as a join, especially in MySQL.

Also, what's the point of a section of the same content in the article being repeated in a larger font to the left?
I've just taken a look at the headers sent when opening a link in a new tab and the referrer is preserved.
Yes, but sadly this often gets overlooked. database.yml in Rails is a great example of that.
While a cute idea, I suspect the sheer number of newlines required would make it hard to read. Even a simple compound statement like (+ (* x y) (* z w)) would require at least three lines.
I'm not convinced by some of your examples.
While Darwin's work was controversial, he was buried at Westminster Abbey -- hardly a rejection by the establishment.
Can a man who was Master of the Royal Mint and President of the Royal Society be considered a complete outsider? Faraday, as professor at the Royal Institution had a role both being an official scientific advisor and in expounding science to the public. Surely more the Feynman of his day than complete outsider.
You are right about Cavendish, though. He was weird.

You have answered your own question, in a way; they gained the respect of their peers. This was achieved through the quality of their work which provided better explanations of experiments and predictions which others could verify.
If its profitable, why don't you sell it instead of just "shutting it down"?
What he means is the difference between someone who's been a programmer for ten years but has learned very little (and done the same easy stuff over and over) and someone who's been a programmer for ten years and has done really impressive stuff and learned a lot.
Let's help them along a bit then with some real info instead of this watered down errm... stuff:

http://www.faqs.org/rfcs/rfc1738.html

Which has since been superseded by

http://www.faqs.org/rfcs/rfc2396.html

and in turn by:

http://www.faqs.org/rfcs/rfc3986.html

I think that's where we are right now, I might be wrong.

Happy reading.

Incidentally, the article refers to URLs, instead of URIs:

http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

URLs are a subset of URIs, the differences are subtle for the most part you can ignore the existence of URNs and pretend URL == URI but it is useful to understand how they relate and that there is a difference.
You and I both, especially since it's a repost http://news.ycombinator.com/item?id=1230768
You don't find it a good thing to test before launch? Heads up - everytime you put your app before someone else and ask what they think, you're usability testing. What if your customer gets to your homepage, goes "huh?" and leaves immediately - you'll be able to find those kind of issues and fix them before your app goes public.
There are still a number of interesting companies in London depending on what you're interested in...

Web development: check out NMA Top 50 for Agencies.

Startups: Check out the WiredUK Silicon Roundabout article _and_ the comments!

Misc: Check out things like Times TechTrack.

Interested in a particular technology? Check out the official language job board and search for London (e.g jobs.perl.org).

There are definitely interesting companies you just have to spend some time finding them because they won't come to you.
Prototyping and UI Design Tool for Desktop, Mobile and Web Applications.
Perhaps, but that doesn't change my impression of the story: phone call is made, and everything is shut off in a flash immediately afterwards.

Even if not a literal 15 seconds, the phrase doesn't seem to imply that there was a length of time where someone on that end might have been investigating the issue. It implies that someone flipped the switch to "off" the instant one was able to get within reach of the switch.
WebM: Missing The Assurances Open Source Needs?
Thank you for providing significantly more information than a professional journalist did.
If there are laws against discriminating on racial grounds, why should there be no laws against discrimination on age?
The notion of a content addressable network, where content is defined broadly enough to encompass services, is profoundly important. Some of us have pushed towards for years and it is nice to see some PARC weight behind it.

For an example of the profundity, consider that all location-addressed content is intrinsically ephemeral. When the ownership or maintenance practices of the location change, the content can change or disappear. With content addressability (in a uniform, stable, global way) we begin to have the possibility of authentic digital artifacts, addressable on the net by ordinary people in familiar ways (like following a link).

Or as another example of the profundity, consider the political, social, and economic power of ICANN - the ultimate sovereigns over the ownership of location names. Content addressability provides an alternative to submission to those or any other humpty dumpty when naming things for others to find on the 'net.
Let me ask a possibly unpopular question because
the answer is not immediately obvious to me:

Good enough reason.

Here's an explanation I've heard: Yes, it's your business, your property, and in most things you're free to do as you like with it. But it doesn't exist in a vacuum. You can have a business and a good life because you live in a particular society, so you have some obligations back to that society. That can take the form of, well, taxes (for example), but also as special protections for select groups of people.
I think "generally pointless" is overstating things a bit.

That said, I think it is definitely fair to say that these sort of benchmarks fall more into the category of "interesting" than "useful".

Usually fun to read, but just not something to confuse with information to base business decisions on.
The reason OO exists to the degree it does in my mind is that it makes it easier for Enterprise Architects to write code in Visio, this also lends itself to directly modeling the domain
so managers don't have to think. Which leads to
public class Money {
public string Currency { get; set; }
public float Price { get; set; }
}

"The money class is the root of all evil"
Previous HN discussion (a couple of months ago): http://news.ycombinator.com/item?id=1230768
What he didn't say is that "too fast" is a risk they willingly take, not a problem they will even try to avoid. Their self-described mantra is "work fast and don't be afraid to break things."
They're "free advertising with little downside" in the same way that spam is.
That's one way to avoid having slow or misused library functions kill you in benchmarks-- don't give the user many library functions. ;-)
Robin Hood 2010 MD TELESYNC XviD | Hollywood Free Movies Download
Apple and Efficiently Growing its Future
I can't agree with the non-allocation of memory. What you don't want to do is create garbage that doesn't die until after a collection has already occurred - this is the mid-life crisis problem. But you shouldn't be unduly afraid of allocating memory which won't last long.

I wrote up a quick test sample: http://pastebin.com/YmbT08Uy

All it does is fill in an array with values from 0 to 511, then sum them up. The catch is that it zeros out the array before filling in the values, in two different ways: one (P), by re-using an array, and secondly (Q) by reallocating the array and letting the garbage collector zero it out.

Here are test run timings:

P: 8.749
Q: 7.070
Result: 0

And in reversed order, to show that order of compilation didn't make a difference:

Q: 7.081
P: 8.746
Result: 0

The code using the GC to implicitly zero out the array is still faster than the code that reuses the array, even though the GC is having to collect a large fraction of the 10 million 2048-byte arrays allocated by Q. P, on the other hand, only allocates 100 of them.

Test machine: i7 920 @ 3.6GHz, 12GB memory, .NET 4 on Win7 64-bit.

Don't forget that time spent in GC is proportional to the amount of live data in the generation(s) being collected, not the amount of garbage. Collecting garbage is actually free; it's finding out what's garbage that costs. If you don't keep references around to memory (i.e. increase your live set), GC is very cheap.
The quintessential rational mind: Buddha
Yeah, there are definitely cases when it makes sense, but I think that the majority of times when people think it's a good idea to make something look custom, it's actually not when looked at from a usability perspective.

I realize that I'm in the minority about this when I look around and see most of my competitors customizing the look of their markers, etc, but I think they just make it worse most of the time. This is granting much more power in that department.

I'm happy for the power, I just vehemently disagree that this is going to make map mashups much better overall.

I don't think "outside embed" is a bad thing when viewed from the eyes of the user - it's comforting familiarity for many. Making it seem custom is just an ego trip.
Why are there laws against age discrimination?

As a strictly positive rather than a normative statement: because "old" people vote, and "old" people see value in not getting thrown out of their jobs in favor of cheaper young people, and instruct their elected representatives as to their preferences in that regard.

In a parallel universe where young people voted and old people did not, one could imagine a law which made it illegal to pay 20 year olds and 40 year olds different amounts of money for the same job. Hah hah hah, hah hah hah, hahahaha. What a quirky universe that would be.

That parallel universe might also have very interesting discussions about, e.g., health care financing.

I rush to note that I am not necessarily in favor of the status quo policies of either our world or the parallel universe.
Good catch, the dupe checker didn't catch it because of the 'blog' in the original link.
"... I don't care if they do better. It's not pointless quitting, I now no longer have Facebook in my life. ..."

But your friends might and that is the problem.
whats your email? friend of mine is looking for great C# coders.
What about Boost strings - http://www.boost.org/doc/libs/1_39_0/doc/html/string_algo.ht...

and RE2 for regex - http://code.google.com/p/re2/
I wish it were that straightforward :) Selling it and migrating it to the buyer would be a pretty draining experience. I'd rather spend time on my other project :)

That and, none of the customer subscriptions are transferrable. The new buyer would only earn money from new customers.
I think it's a bit disingenuous to say that such dislike is nailed to Lisp. Mixing data and code in the memory of a running program is what has lead us to every exploit involving a buffer overflow or a stack smash.

I expoect a different class of problems in their place but self modifying code is rightfully highlighted as unprovably correct.

Lisp is not the only language that can build a string and throw it at an eval function.
OO models exist because they reflect how we describe things when not talking to computers. "This is Spot. Spot Is-A Dog. See Spot.run(). Spot.runs == :fast."

They're a crutch for people who can't (or don't have the training to) think in terms of sets, mappings, graphs, combinators, etc.
No, Drexler doesn't think it's nonsense. He just thinks that it will be unnecessary to make replicators for the manufacturing purposes he has in mind. He says

>In particular, it turns out that developing manufacturing systems that use tiny, self-replicating machines would be needlessly inefficient and complicated. The simpler, more efficient, and more obviously safe approach is to make nanoscale tools and put them together in factories big enough to make what you want.

(note that he explicitly acknowledges the safety risk) and

>The popular version of the grey-goo idea seems to be that nanotechnology is dangerous because it means building tiny self-replicating robots that could accidentally run away, multiply and eat the world. But there’s no need to build anything remotely resembling a runaway replicator, which would be a pointless and difficult engineering task. I worry instead about simpler, more dangerous things that powerful groups might build deliberately - products like cheap, abundant, high-performance weapons with a billion processors in the guidance systems.

This does nothing to diminish the risk of replicators if they are, in fact, created. And there are all sort of possible problems where replicators would be essential. For example, we may want to release replicators into the environment to clean up certain kinds of pollution which can't be easily brought to a central facility.
This looks like cumulative lines of code for all the projects that go into Android (across all the platforms that they are supported on.)

For instance C#, DOS Batch, IDL etc are listed. I don't believe that Android has a runtime for any of these.
> You're relying on a fallacy -- the law doesn't need to exist for the lawsuits to exist.

Do you mean this particular law doesn't need to exist for lawsuits to exist? Because all lawsuits need grounds to bring suit.

> Google is trying desperately to prevent a trial from taking place. Frankly, I'd like to see why.

Because they have literally nothing to gain from being dragged into court, paying legal fees, with a chance of being forced to pay millions of dollars and getting their reputation bashed, but gain nothing if they win? I think anyone sane wouldn't want that scenario to happen, it's lose/lose for them.
RFC 2119 - Keywords for use in RFCs
>In 18 months a CPU that costs $200 will perform twice as fast as the current CPU for $200, I've never seen bang for the buck like doubling the performance of your code for $200. (Most apps are IO bound anyway, so you want to add disks not CPU)

2001 called, they want their answer back. Ok, that's a little harsh, but really, you're answer was perfect for about six years ago, but if you've taken a look at chip performance recently, it has certainly not been doubling every year.

What you can get for cheaper is more cores, but that certainly isn't a free lunch, as many have pointed out. Suddenly having a good language that can be per formant and scale matters (python anyone?).

Go is going to have a lot of catching up to do, as writing good multi threaded libraries are hard, and a good parallel GC is even harder. I don't mean to pick on your opinion, because its one shared by many, but things are going to get very interesting in the next 10 years as we really will see the end of moore's law in terms of linear CPU performance and instead get many-core processors to play with.
What's worst, these usually contain mission-critical code. I have had to tackle a 6k line one, in PL/SQL.

You open up a package, the line count reads 6k. You shudder. Then, you notice that the structure tree has only one entry. One procedure. Feeling of absolute defeat sets in.

Fortunately, it was only about 4k of actual LoC, because the previous developers had created a ghetto version control using comments.

Still, it took me the better part of the day to find what I was looking for in it.
Very well said, and I believe what makes the G1 so brilliant is it will be able to tackle the mid-life crisis issue.
See the comments on this post on Facebook itself

http://www.facebook.com/posted.php?id=20531316728&share_...
Apperian CEO: The Enterprise App Store is coming
The historical reason, more or less, is that for several decades a large portion of the people who controlled almost all the jobs in a large region of the U.S. decided that they didn't want any black people in their companies, or at least not in any non-menial jobs. Eventually, resentment boiled over into the Civil Rights Act of 1964, which prohibited employment discrimination along with a bunch of other things. To make it not solely about race, and build a broader coalition over nondiscrimination, the Civil Rights Act included other categories. The original set was: "race, color, religion, sex or national origin". Age was added later, because once the original principle was established, it seemed like by analogy firing someone solely on the basis of their age was vaguely similar to firing someone solely because they were Romanian, or Buddhist.

I do think there's an alternate-history scenario where nondiscrimination laws might not have been passed in the US, if discrimination were mostly random and idiosyncratic. But when a huge portion of companies uniformly discriminated in the same way and ended up creating what amounted to a permanent underclass, it became a fairly unsustainable situation, and was eventually overturned. And it's fairly hard to go back now, because race relations haven't reached a point of sufficient trust: a lot of African-Americans believe that if the Civil Rights Act were overturned, companies would go back to not hiring them due to racism (at the very least, many would interpret overturning the Civil Rights Act as an action with unfriendly intent).
The most surprising-looking thing here is the really wretched results from the Go version. But when you actually take a look at the Go code, that stops being so surprising; he's using a CSV-reading library whose author clearly wasn't thinking much about performance. It doesn't contain anything really super-dreadful -- O(n^2) algorithms for processing strings, etc. -- but it's full of gratuitous constant-factor inefficiencies compared with what you'd be likely to do in, say, C. Unnecessary temporary objects (presumably allocated on the GCed heap), building short strings by { read a byte, push it into a string-builder, repeat }, etc. It's the kind of code is makes sense to write in a higher-level language where (1) allocation overhead is likely to be swamped by interpretation overhead and (2) you know that for anything that really needs to be fast you'll punt to an extension library written in C. But Go is not such a language, even though it tries to offer some of the same conveniences as they do.
Perhaps you will change your mind after viewing this horrific weaponized version of BigDog:

http://www.youtube.com/watch?v=ptyV1cpE14o
This is really stupid.
You mention "authentic digital artifacts". To me this is the most important thing missing in the web. How you address it is 2nd. However, I am not sure CCNX is the right path to go. While the need is there, their implementation doesn't make sense.

Something as fundamental should be ubiquitous and dead simple to use, without mentioning any code, programs, daemons or nodes to end users.

Also, they are very poor in sending a message. I don't have an hour to watch their video presentation just to figure it out what it is. (unfortunately I had to)
This is amazing. You're forced to do some really complicated stuff. Here's my solution to Rocket Planes that uses all 4 colors, 4 subfunctions, and recursion: http://dl.dropbox.com/u/6625091/rocketplanes.png

Is there a simpler solution to that one?
If you write parallel code you'll get a lot closer to free lunch. To me the transition is almost complete, you're starting to see that even the cheapest laptops these days have two cores.
Those are both C++, not C, aren't they?
The Ultimate Guide to Working Remotely: Part 1/5