skysight-inc/HackerNews huggingface dataset:
Ask HN: why are domain names reversely ordered?
Why is it www.google.com instead of com.google.www? Tried searching for a good explanation but found nothing helpful. Is there any solid reasons for the arrangement, or is it just a random choice?

[EDIT]: as bajsejohannes points out, the major problem of the current arrangement is that it differs from the order of the path component, as in

www.google.com/path/to/the/file

it really makes more sense to say

com.google.www/path/to/the/file
In college I drove a van between different campuses so students could travel between them easily. On one of my stops, a passenger got on board and, obviously displeased, said, "You left early last time! I saw you drive off while I was coming out of the library!"

Lesson learned: Sometimes late is better.
Overly strict regulators are actually one of the main reasons that banks in developing countries can be such a PITA.

Most of these countries in Africa with mobile payment providers have spent a lot of time with banking regulators getting these systems approved and they have received a lot of praise by people in the payment industry for doing so.

You idea that easy money transfer allows less control for the state seems to me to be misplaced. This fear of the money laundering is a huge problem in the US and Europe and is stifling innovation.

Most people in Africa work in the informal sector, so yes by OECD standards just sending money they illegally made selling Yam at the market back home would in theory be money laundering.

However there is pretty good anecdotal evidence that M-Pesa in Kenya is really helping develop the economy from the bottom up.
To clarify, my problem isn't that I'm having trouble rejecting IE6 users who have javascript turned off. My problem is that I'm required to support them with the best experience I can offer them. These users represent high-revenue customers.
Moscow to Play Weather God to Save Money on Snow Removal
I seem to recall Microsoft criticizing Chrome Frame for making IE less secure just a few weeks ago...
I'm using and liking a subset of C++ myself...

But for web development, it seems like quibbling to even mention all the reasons it generally isn't used in normal web development - lack of portability, need for compiling and the real and perceived danger of a binary that might run on a server you rent from someone else. Then that said, I have worked on C++ web backend stuff but it was kept well away from the realm that Ruby/Python/jsp/asp inhabit for all these reasons.
As an example, here's my quick implementation of the original code in Perl 6. (Note that this is the entire implementation, no helper functions needed.)

sub GetSlots($slots, $max)
{
my @a = (1..($max-1)).pick($slots-1, :repl).sort;
return (@a, $max) >>-<< (0, @a);
}

(1..($max-1)) generates a list of integers from 1 to $max - 1. pick($slots-1, :repl) randomly picks $slots - 1 from the first list, replacing the one picked each time (so duplicates are possible). sort does just what you would think.

The second line of the sub uses a hyper-operator to subtract one array from another -- in this case the sorted array of random numbers plus $max on the left, 0 plus the array on the right. The result is also an array, and that's what we return.

It's not a pure functional implementation, obviously -- you could certainly do that in Perl 6, but to my mind this approach emphasizes what is actually going on, rather than hiding it in the Pairwise function. (Without digging into the Pairwise function code, how do you know if it splits (1,2,3,4) into (1,2) and (3,4) or (1,2), (2,3), and (3,4)?)

BTW, this code already works in the Rakudo implementation of Perl 6...
I guess that depends on what kind of programming you are planning to do on the machine -- coding some web apps has quite different requirements than coding some 3D games.

But in any case, GET AS MUCH SCREEN ASSETS AS YOU CAN AFFORD! :)
Wow, that's amazing to watch. You can really feel it. Notice what happens around 3rd quarter 2005 when hurricane Katrina hits New Orleans!

And look at the border crossing cities of El Paso and McAllen. Those two and Baton Rouge are the only cities that are creating jobs in the last frame.
For the same reason your address doesn't go 'USA, California, San Jose, 1297 Fray way'.
The Perils of Transparency in Government
Leaves, flowers, lens flares, a pine tree (I think). Snatching defeat from the jaws of victory again, in any case.
'"If everyone knows they get an extra minute, they’re going to lollygag," explained Marjorie Anders, a spokeswoman for the Metro-North Railroad. Told of this article, Ms. Anders laughed. "Don’t blow our cover!" she said.'

Let the lollygagging commence!
According to Wikipedia, 10.2 was released in 2002.

http://en.wikipedia.org/wiki/Mac_os_x#Mac_OS_X_v10.2_.22Jagu...
I recommend looking at your list of Firefox add-ons now (especially the plugins tab) and see how many of them were never specifically added to Firefox by you.

That's a good suggestion. I usually only look at the Extensions tab from the Add-ons menu, and the Plugins tab includes plug-ins I just had to look up on Google to even know what they are.

After edit: I just got the reminder from Firefox to restart to disable those Microsoft add-ons only just now, more than an hour after this thread opened. I should have already had a relevant Microsoft update by now, but Firefox is treating the add-ons as untrustworthy, and that's all right by me.
This is widely considered to be a mistake.
In China, addresses do work that way. Word order of addresses is a language-specific rule that varies by language.
In case anyone else didn't see it, apparently Firefox has a system built in to handle this. It popped up a window saying the addon could cause problems and would be disabled as soon as I restarted. It now won't let me reenable the addon, because it causes problems.
This is widely considered to be a mistake.

Citations, please? I've been able to deal with it over the years.
Provided that you can guarantee reliability, charge a buck a site (forever, for a year, a month... figure it out). Maybe offer the first few sites for free so people try out the service. I'd pay a buck a site

Check out AreMySitesUp.com (and other competitors) and their pricing, and offer something more competitive price-wise.
What would you replace them with in statically-typed languages?

You see, in database you've got tuples and nothing else, and in program, you've got objects and nothing else. You have to convert one to another this way or that way.

Talking about dynamically-typed languages, you can treat data as key-value pairs (where values can be arrays or their own key-value pairs) and thus skip this problem entirely.

But yeah, Hibernate is painful enough to make one want to escape conventional ORMs. What we really need is something like XStream of SQL: i.e. just take the result of query (set of tuples) and populate objects using reflection.
By TheElder's own admission, some of his co-workers are not white. Why would he then choose to describe his status group as "whites"?

The more I read in this thread, the more I start to believe racism is deeply embedded in the American psyche.
Feminism As Sexual Selection Strategy
You need to be more specific. What OS, what programming, what other hobbies?

If you want to use virtualisation make sure to get a CPU that supports Intel VT-x or AMD-V.

I would suggest an Athlon II X2 240. It is very cheap and has a lot of power.

If you want to go into CUDA or OpenCL get an NVIDIA GTS or GTX.

SSD is overkill in my opinion. Rather get 4GB RAM and use a ramdisk when you need fast IO (is that IO, I have no idea).
Shop for Halloween 2009 - Halloween Party ideas
>That the nuclear reactors may not phased out as soon as planned before, is a victory of the large energy companies, who want to make the most money out of their investment. Still they are at best seen as a transition technology.

It may be a victory on behalf of large energy companies, but I think nuclear is also a victory on behalf of the consumer/taxpayer. It's far and away the cheapest source of energy, cheaper even than coal.

(PS I don't know what Germany's particular energy case looks like. They might be wrapping their nuclear power plants in sarcophagi a mile wide. But it's still generally true that nuclear is substantially cheaper than coal.)
Bad analogy:

email:

georgex@somedomain.sometld

www:

http://somedomain.sometld/~georgex/

real life:

George Xandros
553 Sunset Blvd
12322 San Jose
USA

So, the web is mixed up, and the other two are 'backwards'. None of them get it in the most logical way.

Same with dates:

2002.10.09

vs

09.10.2002

or

10.09.2002

It's all about conventions, what we're used to, so to say 'the same reason' is calling upon a reason that you don't state, when if you thought about it long enough would boil down to 'that's how we've always done it'.

But that doesn't really answer the question.

The most 'logical' order is to put the larger units up front, and smaller ones towards the end.

But since we are where we are that isn't going to change 'for the same reason' (too much investment) that England isn't going to switch to driving on the 'right' side of the road.

Once a convention is established even if there is a marginally better one the cost of switching usually outweighs the advantage of the switch, not to mention a whole bunch of messy stuff during the transition.
Many people have said similar things before and nothing happened, neither to the web nor to their reputation. I think it's because it's one of those things that seems to be a good idea in a certain light, or at least based on good intentions.
I went to my aunt's house once and she was distraught because there was a pop up on her screen that said she had a virus and needed to click here to clean her computer.

I said, "Don't click that, it's fake." And she looked at me shocked. I said, "It's a popup malware thing from the website. It's not real!"

She said, "How do you know? How do you know what is real and what isn't?"

Man, that really hit me, not just in the virus case, but metaphysically. How do we know what is real? I had to really think about it. How did I know that popup was fake, but she didn't? How could I teach her to know the difference?

It really made me aware that computer skills are a gift. Some people have them and some don't. People just know what is going on.

For many of us here, knowing the difference between what is real and what is fake on the computer is fairly easy. Is it also that easy in real life? Do you know when that business man is lying to you? Do you know when some investment is a bad deal or a startup is a scam?

Don't be so hard on the users.
First they're too boring, then too busy, then too boring again? This guy is never happy! Personally I think of all the pre-XP boxes Win2k's is by far the nicest. They finally got rid of all the extra crap he complained about and then he derides it for being boring. Yeesh.
Becoming a Happier Hacker: Actively Strive to Work with Other Hackers
duh, in Java it's equals, getHashCode, and toString.

Totally different.
Designing and implementing a compiler involves many aspects of computer science -- as does distributed systems development.

If you've never written a compiler from scratch, I highly suggest doing so(1): there are data structures (symbol table -- a hash table, parse tree, tries), algorithms (converting an NDFSM to a DFSM(2), parsing, filling registers and many others), computer organization / architecture (outputting assembly, optimizing the code with pipelining and CPU cache in mind). Not to mention it's also a substantial project which teaches you a lot about software engineering: it's not something you can write in a single session, it's something that has to be frequently extended and tested (I can't think of a cleaner candidate for test driven development: you specify the source code you want to input and test if the generated IR/assembly code is what you're looking for). It's also really fun :-)

Not to mention custom compilers/languages are very useful in distributed systems: look at Thrift/Protocol Buffers ( languages for describing serialization of data structures for RPC). Google also has custom language which is compiled into state machines that they used to implement their Chubby service (and probably other distributed systems) -- see the "Paxos Live" paper. At an employer I've been at, which (when I was there) was deploying distributed systems with tens of thousands of nodes, we've created a custom language for describing/querying groups of machines: this language and systems built on top of it (for monitoring, configuration, provisioning and deployment), helped reduce admin:machine ratio by orders of magnitude (think a team of three handling ~10,000 machines).

(1) I suggest picking up an older (not the newest) version of the Dragon Book and targeting a x86/amd64/MIPS: while for a practical compiler I'd almost certainly suggest targeting LLVM or JVM/CLR, you'll learn more targeting bare metal.

(2) Incidentally, Lamport's landmark paper suggested treating processes in distributed systems as state machines.
If the subsidies in wind farms are a problem, are the ones in nuclear power a problem as well?
I don't know why (except maybe for the first ones) but this is what I thought when I saw them together:

IBM (v1 to v3)

Clipart collection (v3.1)

Active desktop has stopped working (95 to ME)

Apple (windows 7)
Sure. I get what you're saying. It's not a simple matter. I was just meaning it's in no way facebooks fault, and not much facebook can do about these sort of scams.

I think everything will be a lot better once the average user doesn't have the ability to run executables. All they have is a browser, which in a large number of cases is all they need.
(Just to clarify...) I know what you mean, but I don't think your question makes sense without comparing it to something. That something would naturally be the path.

www.google.com makes as much sense as com.google.www

but

www.google.com/root/sub/subsub makes less sense than
com.google.www/root/sub/subsub or
subsub/sub/root/www.google.com

Since the latter has consistent increasing or decreasing of specificity, while the former has not.

This incidentally mirrors what I don't like about the date format MM/DD/YY.
That you've been 'able to deal with it' is simply because that's what you are used to, but that does not mean that that is better or worse, simply a way of life.

Anyway, anything I search for with 'order' and 'domainname' wants to sell me domains, so no citations, but the basic complaint was that it breaks the sequence of a url, where the 'highest' entity should be on the left, and the smallest entity on the right.

So, iirc, the optimimum would have been something like:

http/com/ibm/www/80/somepath/somefile

That wasn't it exactly, but it gives the general idea.

The DNS was long established by the time URLS rolled around so I doubt anything could have been done about it anyway.

If the phishing troubles resulting from the DNS order would have been foreseen I'm pretty sure that they would have picked the 'other' way.

edit:

found something about all this after some digging:

http://answers.google.com/answers/threadview/id/754114.html

http://bandb.blogspot.com/2009/01/are-domain-name-backwards....

Since the DNS is a hierarchical system, the 'root' of the hierarchy should have been at the beginning, just like in unix you don't start with the name of the file but with the 'root'.

Anyway, the quote I'm looking for is by none other than Tim Berners-Lee, I think it may have been in his book though, not online.
Geography of Jobs - Job growth/loss graphic
Agreed. Every time I see someone use Hotmail or some other shitty service that flat out rejects some browsers my blood boils a little bit. I hate IE6 as much as the next guy but at least let them see what a mess their crippled browser makes of the site.
I am mainly developing in C for embedded platforms (i.e. use different compilers). So compilation speed is crucial.

And the PC is used for references, so lots of open PDFs/Webpages.

Virtualization is a good point, Ill keep that in mind. Thanks !
How do you compete against this?
Motherboard Chipsets and the Memory Map
I'm not sure it's valid to say Facebook can't do anything. They did take infected apps down. That's one thing. They could have an approval and monitoring process to protect their users.

People blame Microsoft all the time for viruses and being an unstable platform, which is mostly due to bad software running on windows than it is windows itself. Sure you could say they could improve their scheduling or compartmentalization of apps, etc.

My point is that Facebook is the medium and they can do something. Apple does something with the app store.

I am biased though. I don't have a lot of sympathy for facebook or their users. I don't have a fb account and don't really care to, but that's beside the point. Facebook is the vector for the vector and they can do something and have done some things already. They could do more.

Why don't they? because any restrictions slow growth and that's all the care about. They don't care about the individual users, they care about the graph.
BlackBerry Storm 2 Review
This is true, but the style of the code layout follows Lisp tradition, which may be more than 50 years old! :-)
Researchers use nanotech to detect early stage cancer
If there is something that I have seen come to pass time and time again in technology, is that, the old becomes new again. You can literally make a fortune on identify the next big thing and then implement an old idea on top of it. Look at mobile, we started out with simple systems that took assembly or C (Newton, Palm) and graduated to Java and now we are seeing the latest platform move to web technologies. Take any facet of technology and you can draw a parallel to legacy technology.
I fit squarely into the (Indian) demographic they refer to in the article. My wife and I are pretty clear we will return to India in the next couple of years, and have started planning for the transition. In our case the decision is really an emotional one - we identify with India, and see no reason to change that. The latter clause would not have been true for many in the past since there was a much greater disparity in the opportunities present in the two countries then.

Having said that, the energy in India is quite palpable. There is a sense of possibility that is very compelling, despite all the barriers that still exist. So I don't think I'm going to regret the decision from the perspective of personal growth either.
More evidence that it's all about marketing.
The "contains / doesn't contain" feature is a killer, great work. I've been wishing someone would add that for quite a while.

One thing, under the 3rd input the text reads: "We only send email when your site goes down. 2 click unsubscribe."

That last bit doesn't make sense.
yeah me too and was confused and after reading this removed it off my Windows Vista laptop. Damn MICROSOFT! Just kill IE already!
Why don't firefox make it so that the only way a plugin can be installed is with user confirmation? I'd never want a plugin automatically installed without knowing about it (I've never had that happen, but may be different on OSX).
Same for Russia.
Also, we never use MM/DD/YY.
The populating objects part doesn't seem to be the hardest part. The impedance mismatch with ORM is trying to merge the concepts of "result sets" that are not "table rows" to objects in such a way that you can interact with them on a per-table row basis. It's easy to say that each row in the users table represents a user so each row is a distinct object. It's harder when you want to get data out of the database using a single query that hits multiple tables and returns a joined result set that doesn't map to the already established object hierarchy, an object hierarchy that is based on the normalized schema. Denormalizing only helps with some parts of this.

Writing the naive ORM implementation that tries to model a relational schema as a sets of nested objects is doable, but it becomes difficult to get decent performance out of it, since the kinds of queries that map rows to objects are not usually the kinds of queries that are performant in SQL.
Yeah, I think I am going to keep my paper book library as well. It is just feels good to look at all the books you read and remember what each book was about. In fact when I read a book online (usually on Gutenberg) and I like it, I find myself wanting to buy it so that I can have it in my library.

It feels kind of crazy that I am already becoming a ludite at this young age but there you have it.
Like you saw, but it's not idiomatic to do so
I am pretty sure it is a crime.
It turns out to be a complete pain for working out scope in Web crawlers because you need to separate the domain from the path part and deal with them separately. If it was in the opposite order it would be much simpler to process.

The Heritrix crawler (primarily worked on by the Internet Archive) introduces a "surt" form which is basically the domain in the same order as the path so that Reading from left to right it goes from least specific to most specific.
Oh what disgusting gradients. In every single illustration.

Okay, not every illustration. But the color choice is a bit distracting. I'd settle for a well-written explanation of a technical concept over a cartoon most days.
The patch has been out for a week. You've already got it if you're running Windows update. Firefox's reaction was all post-patch.

Lots of things install themselves in your browser to work. Acrobat, Java, etc. (In fact, the add-in is mostly equivalent to Java.)

I don't have sympathy with people who are worried about running a few thousand lines of Microsoft code on a platform that already contains hundreds of millions of lines of it.

On the other hand, the lack of uninstall is just bad. Microsoft is reliable about shooting itself in the foot, that's for sure.
Who would edit a lisp language in a dumb editor?
It's just a convention, and one that took a while to work itself out. Some older mail servers used to route (and even rewrite -- shudder) domains the other way round. Like little- and big-endian numbers, the merits of either method are less important than having everyone do it the same way.

http://catb.org/jargon/html/B/big-endian.html
As a resident of Michigan, I can't help but note the near-constant throbbing red blot that is Detroit. If anything, I'm surprised it didn't look worse than that.
Kathy Sierra kicks ass! in all her presentation and questions.

a longer version of Kathy Sierra's presentation (from 2007) about "Kicking Ass" and "Passionate users":

http://video.sxsw.com/2007/mp4/kathysierra_lo.mp4
Crawling is an inconvenience, sure it is problematic, but phishing is much more problematic. You can train a machine to parse that thing right-to-left no problem, to tell users to start middle-to-left and then middle-to-right is too much of a burden.
I think everybody that has to write applications that deal with URLs as core identifiers have asked this. It's also hairy 'cause leading part of a URL (protocol and hostname) is case insensitive but the trailing part (path, query string and fragment) isn't. At my last job I created a framework for normalizing and canonicalizing URLs as well as storing them consistently (with the hostname components reversed), it was a big improvement for retrieval and duplication detection accuracy and performance.
Populating objects isn't the hardest part, but it's the most useful part.
Writing object populating code is tedious, copy-pasty and uncool.

And having that, you don't really need ORM, naive or not.
>> "Why don't they? because any restrictions slow growth and that's all the care about. They don't care about the individual users, they care about the graph."

I think that's pretty bizarre. I seriously doubt they're purposely not removing apps that try to get the user to download executable code, in order to grow their userbase faster.