News for hackers. Stuff that matters.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by carlio on Sunday September 04, 2016 @07:29PM (#12427230)
10 years ago I worked for Jagex on RuneScape, an RPG. There are rules for that game about conduct and so on - no swearing, no scamming, blah blah. If you see someone doing something "bad" you can report them and the customer support team reviews the event and can allocate "black marks" on players who infringe.

One particular user accumulated thousands of black marks. We thought they were doing something incredibly bad. A black mark gets you banned for a short period of time, this player was banned for a millennium. But they kept sending messages saying that it was unjust, they did nothing wrong.

Turns out their playername was 'null' and half of other players' offences were attributed to them due to null in Java being cast to 'null' curing concatenation...

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by Ar-Curunir on Sunday September 04, 2016 @07:36PM (#12427251)
Wow. How was working for JaGeX? As a kid I was wayyy too obsessed with that game, even staying up past curfew times to play RS.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by pjc50 on Monday September 05, 2016 @04:51AM (#12428982)
This is entirely secondhand from people I knew who worked there, but: developers treated well, support staff not so great. They've struggled to make a success of anything since Runescape.

There were also rumours of an internal scripting metalanguage for RS, that had no local variables and all the other hallmarks of something put together in a hurry that ends up being a success and then a burden.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by oxide on Sunday September 04, 2016 @10:04PM (#12427688)
my busted computer barely ran Runescape when I was growing up, I played The Realm Online instead since it ran on basically anything at the time.

I'd save Christmas and birthday cash to pay for my subscription annually.

Then World of Warcraft came around...looking back, that was the end of the Realm.

It's still around, believe it or not. The player count is usually ~20 people. Sometimes I get nostalgic and install it just to hear the music when it launches.

Ahh, memories. Damn shame the game is owned by a private family now instead of actual developers, the game would be a massive hit on mobile with a f2p model.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by Ntrails on Monday September 05, 2016 @04:40AM (#12428953)
> It's still around, believe it or not. The player count is usually ~20 people. Sometimes I get nostalgic and install it just to hear the music when it launches.

At least you can still log in and meander around. I'd love to be able to do that with MxO, hyperjump around the city a bit and just enjoy the sounds and settings. Alas, the servers get shut down by SOE and that's the end of that. A shame when I reckon you could run it off a sodding azure box for sod all cost these days.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by ben_jones on Sunday September 04, 2016 @08:06PM (#12427347)
What was it like working with Andrew Gower? He strikes me as a technical genius with some of the stuff Jagex was doing with Java circa early 2000's [1].

[1]:https://www.youtube.com/watch?v=yrVUegwSKlY

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by carlio on Monday September 05, 2016 @04:01AM (#12428812)
Holy crap, I wrote that forum software. I left in 2007 so I had no idea they kept it but if it wasn't rebooted for years, probably.

The whole ethos of the company, driven by Andrew, was "minimal software for maximum output". I learned a lot about how much you can benefit from concentrating on efficiency up front compared to how much that ends up creating problems down the road.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by rhaps0dy on Monday September 05, 2016 @03:42AM (#12428740)
I couldn't quite understand the video. Why did they clone Maya and maintain feature parity and use the same formats?
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by hollander on Monday September 05, 2016 @04:07AM (#12428836)
They didn't clone Maya, but the features it has. Being able to build everything, including all 3D material, in their own environment, made it easy to link everything together. And when something changes, that requires an update to the 3D model, they don't have to go back to Maya to edit the model there.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by ufo on Sunday September 04, 2016 @09:06PM (#12427535)
Wasn't expecting the Chuck Norris joke in the end. 2009 was an interesting year.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by Cyph0n on Sunday September 04, 2016 @08:25PM (#12427408)
Damn, that's impressive. Thanks for linking it.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by baristaGeek on Monday September 05, 2016 @01:04AM (#12428228)
I remember being obsessed with Runescape 10 years ago!

I can remember pretty peculiar stuff from the game, now from my perspective as a programmer.

I remember that the anti-swearing algorithms detected bad words in a lot of ways, but those ways were so much that you would get your normal conversations sensored (oh man, I hated those asterisks so much). You would always find a way to say the bad word anyway... I guess that with today's advances in machine learning those ambiguities could be removed in a better way.

Love the 'null' story by the way.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by carlio on Monday September 05, 2016 @01:56AM (#12428408)
Yeah the 'bad words' thing was hard, it's your classic Scunthorpe problem. Since the game was mainly targeted at people 12 years old and up, it was important to get right. However no matter how good the filter got, people would find creative ways to get around it, including a short period where players started using lots of fires and arranging them to spell out swear words.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by x1798DE on Monday September 05, 2016 @03:17AM (#12428652)
> Since the game was mainly targeted at people 12 years old and up, it was important to get right

Let's be honest, this is not important. Even if 12 year olds didn't constantly see/hear/use "bad words", there are really no ill effects of lack of censorship in that way.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by BillinghamJ on Monday September 05, 2016 @03:33AM (#12428708)
It's important for the subscription revenue - which comes from their parents.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by carlio on Monday September 05, 2016 @03:43AM (#12428745)
Exactly, this wasn't puritanical zeal from Jagex but a realistic decision based on the fact that parents are the ones who control the credit cards.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by x1798DE on Monday September 05, 2016 @06:01AM (#12429230)
Then it's even less important to get "right", since the consumers who actually see the results don't care if they accidentally see swear words, and almost any token effort at censorship (a "parental control" option mode, for example) will probably be satisfactory. You might lose some subscribers from extremely zealous parents who bother to read logs and see some stuff "accidentally" get through because the filter is too permissive, but I imagine the vast majority will give you the benefit of the doubt.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by nl on Monday September 05, 2016 @08:44AM (#12429872)
Are you a parent? Speaking as one, it doesn't work like that.

One parent sees a dick pic/swearing in a game, they ban the game, tell all their friends and then someone puts it in a school FB group, which is then shared around the country.

(Yes, Runescape was before much of this. That just made it slower, but the same process happens)

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by derefr on Wednesday September 07, 2016 @12:26AM (#12440970)
The best thing here, I think, would be to create an informational pamphlet kids could print out and give to their parents, showing examples of dick pics and swearing in literally every game imaginable, with the message of "this is just what 12-year-olds do to other 12-year-olds when given microphones and the ability to upload pictures; there is no way to stop this. Even if you ban them from games altogether, other 12-year-olds are just going to swear and draw graffiti dicks in places your child can see at school. Just give up already."
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by Kiro on Monday September 05, 2016 @04:12AM (#12428853)
> Turns out their playername was 'null' and half of other players' offences were attributed to them due to null in Java being cast to 'null' curing concatenation...

Why did this happen though? I mean, why was it casted to begin with and why was there a null value?

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by nl on Monday September 05, 2016 @06:36AM (#12429344)
Usually what happens there is String.toString(null) has been called somewhere (which will return the string "null").

Nulls are fairly normal in Java, and modern Java systems often have ways to define if something can return nulls or not. In the old days you just had to know.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by hoppa_liza on Sunday September 04, 2016 @08:50PM (#12427495)
> half of other players' offences were attributed to them due to null in Java being cast to 'null' curing concatenation

Why would half of the players have a playername of null?

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by woliveirajr on Sunday September 04, 2016 @08:52PM (#12427497)
He meant "attributed to him", I think.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by Biganon on Sunday September 04, 2016 @11:29PM (#12427913)
No, they don't know whether the player "null" was male or female, therefore they used the pronoun "they", which is correct.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by adwn on Monday September 05, 2016 @12:40AM (#12428144)
> the pronoun "they", which is correct

It's also highly ambiguous in this specific case (I had trouble understanding the sentence, too), and a simple "him/her" would have been preferable.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by woliveirajr on Monday September 05, 2016 @07:25AM (#12429525)
Got it (really didn't knew this use of "they").

Reading back, perhaps "the player" would be better than "they", if it was just one player having problems.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by misingnoglic on Sunday September 04, 2016 @11:50PM (#12427982)
I would love to hear more stories about working for jagex back then - that game was my life and what got me into programming :)
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by cced on Sunday September 04, 2016 @08:39PM (#12427462)
>being cast to 'null' curing concatenation

What does this mean?

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by tantalor on Sunday September 04, 2016 @08:42PM (#12427470)
"" + null is "null"
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by landryraccoon on Sunday September 04, 2016 @11:44PM (#12427968)
Aren't you glad Java doesn't allow operator overloading, so this sort of mischief is impossible? /s
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by ams6110 on Sunday September 04, 2016 @09:44PM (#12427621)
You're kidding, surely? Java really does that?

"" + null should be null (or throw an exception). Null is null and nothing else.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by LgWoodenBadger on Sunday September 04, 2016 @10:44PM (#12427801)
Nobody writes "" + null. They write "" + myVariableRef. And myVariableRef is null. As I posted earlier, the code is compiled to "" + String.valueOf(myVariableRef).

Since the empty String is a valid String, and Strinfg.valueOf() also returns a String, what other behavior would you ever imagine being sane or possible?

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by avz on Monday September 05, 2016 @02:59AM (#12428604)
> Since the empty String is a valid String, and Strinfg.valueOf() also returns a String, what other behavior would you ever imagine being sane or possible?

IMHO, String.valueOf() throwing NPE upon encountering a null reference would be both sane and possible.

Unfortunately, it does indeed appear that it returns "null" instead [1].

[1] https://docs.oracle.com/javase/7/docs/api/java/lang/String.h...

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by samuellb on Monday September 05, 2016 @04:19AM (#12428876)
On the other hand, it's quite convenient to not have to do null checks in debug messages. Compare:

log.trace("doStuff(" + obj1 + ", " + obj2 + ")");

to this:

log.trace("doStuff(" + (obj1 != null ? obj1 : "null") + ", " + (obj2 != null ? obj2 : "null") + ")");

The second one is IMHO quite hard to read, even in this short example (and code readability is important when you do code reviews)

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by tomtomtom777 on Monday September 05, 2016 @04:53AM (#12428991)
That is why you should use string formatting instead of concatenation.

For string formatting, rendering "null" (or "") makes sense; for coercion not.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by richardwhiuk on Monday September 05, 2016 @06:16AM (#12429271)
That just resolves into everyone always doing formatting, and never doing concatenation, which yields the same problem.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by ajuc on Monday September 05, 2016 @03:35AM (#12428718)
It should just throw NPE. I understand why people writing quick debug printlns could be infuriated by that, but the way it works now leads to much more subtle bugs.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by abritinthebay on Sunday September 04, 2016 @11:02PM (#12427843)
An empty string of it HAS to be a string would make infinitely more sense. However a type error wouldn't toady on a strongly typed language
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by fgonzag on Sunday September 04, 2016 @10:25PM (#12427751)
I think it should be an exception as those types can not be concatenated.

But still , "" + null being "null" is just plain crazy. I could see "" + null == "" (as you are concatenating nothing to the string), or "" + null == null as you are concatenating a string to null, but "null" is bonkers.

Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by tantalor on Sunday September 04, 2016 @10:30PM (#12427773)
This is why I shrug when people complain about JavaScript casting weirdnesses
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by LgWoodenBadger on Sunday September 04, 2016 @10:25PM (#12427752)
The + operator in this case is compiled to call String.valueOf() which returns "null" when given null.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by tantalor on Sunday September 04, 2016 @10:29PM (#12427768)
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by carlio on Monday September 05, 2016 @02:06AM (#12428432)
Should have been "during" but I cannot edit my comment so I suppose that typo will live in prosperity.
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by woliveirajr on Monday September 05, 2016 @07:28AM (#12429537)
Posterity?
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by carlio on Monday September 05, 2016 @08:00AM (#12429667)
That's the joke
Re:Hello, I’m Mr. Null. My Name Makes Me Invisible to Computers by nylsaar on Monday September 05, 2016 @02:47AM (#12428566)
Do you have a 10 year cape?