HN user

dustmop

791 karma

[ my public key: https://keybase.io/dustmop; my proof: https://keybase.io/dustmop/sigs/G3UtF7nyRRomthspCQjW4KizMHSMrGdLUK6JBQ8VSW8 ]

Posts17
Comments39
View on HN

Wow, Super Mario Bros Special looks terrible. Very strong evidence that the main reason the NES was so successful was its easy to use hardware scrolling. Just one write to a memory mapped register and you were set (sort of).

The same thing happened years ago to New Brunswick, New Jersey, a college town that produced some very successful artists in the past 2 decades: Lifetime, The Bouncing Souls, Thursday, Gaslight Anthem. Around 2006, the cops started scouring Myspace for shows and permanently shut down a number of popular house venues. Since then, the punks have responded by moving all info to the sneakernet; you can't find out any show details unless you're actually friends with someone who already knows a band or the house owner. Even physical flyers don't have addresses or exact times. It's effectively killed most of the output that this cultural hotspot used to produce.

Another possibility, which I use for testing my Firefox Add-ons, is using Rhino + env.js, which creates a very good simulation of the DOM.

Well the term is not very precise if the way that you're using it and the way the article is using it are completely different. The article makes it clear that the term "pass-by-value" refers to the fact that the callers' references cannot be unseated by the function call; but it does not mean deep copies are made, like by copy constructor, hence that's why it applies to Java. Allow me to illustrate:

vector<int> numbers; void f(vector<int> args);

Due to C++'s copying, args[0] has a different address than numbers[0], because a deep copy of the vector was made. As the article states, this is not what pass-by-value is referring to, otherwise it would be false that Java / Python / Ruby et al are pass-by-value. So I disagree that the terms are clear, but rather that there is confusion around these terms. As for wanting immutability, it's almost always better for C++ code to write functions not like f but instead like this:

void g(const vector<int>& args);

And apologies for the editorializing, but I do consider this a language design flaw, one inherited from the backwards compatibility for C, which already allowed struct's to be passed (non-pointer) as args and then copied to keep the caller untouchable. It makes C++ code more verbose and more error prone, and is quite difficult for new programmers to grasp.

I reason I think this discussion is ever a problem is because in C++ "pass-by-value" has an extra meaning: that a deep copy occurs. There's no precise term for this, so people started (incorrectly) using "pass-by-reference" to talk about parameters that don't get deep copied. After all, in languages that do it right (Java, Ruby, Python, CL) there's only one parameter passing technique, and therefore no reason to make the distinction.

Music Sales 17 years ago

Looks to me like CD sales were a bubble, and there's no reason to expect the music industry's success to continue as it has for the prior decade.

I've heard from a few family members that ever since they've started using their cell phones, they can't remember anyone's numbers, and they felt this was making them stupider. As if memorizing sequences of 7 digits is desirable and conducive to being intelligent. I tried explaining that they shouldn't have to memorize phone numbers - they don't represent anything real, they aren't convenient, and there's no advantage to using them. It's much easier to put a number in your Contacts list and reach someone using their name instead, at which point the technology is strictly empowering, and like TFA says, the number is just for backwards compatibility.

I'm one of those few people who completely hated Primer. I found it to be masquerading poor narrative as intellectual mystery. It's possible to present an intricate, complex logic puzzle as story without being totally incoherent, but Primer doesn't even bother.

For a movie that matches Primer in everything it does right, but none of what it does wrong, check out Timecrimes (Los Cronocrimenes). It is far superior.

This isn't meant to be my view, this is how the internet is viewed by the average non-techie. Yes, I realize how West-centric the point of view is, and that's unfortunate. But it's exactly why we have "dot-com businesses" and the "dot-com bubble", as opposed to the "dot-com-and-net-and-org-and-co-uk-... bubble".

At least keeping the set of TLDs small and restricted to standardized names, or countries that people using them will recognize, helps to keep the recognition problem manageable. But allowing anything and everything for a domain name removes all hope of recognizing one without context.

Having names ending in ".com" is great - it says explicitly that the thing is a web address. Just like how the hyphenation of a phone number 123-456-7890 tells you right away that it's a phone number. This is part of why ".com" is more desirable than ".net", ".org", et al. It also shows how blatantly stupid this idea is, since it removes all framing from a web address, making the web harder overall to use.