|
So if I'm reading that correctly, not only are you able to clobber a method by assigning a string to that name, you're able to clobber a method by assigning a string to that name in a chunk of dead code which clearly isn't executed, and when that happens it produces an empty string for no reason. Hunh.
|
# ? May 2, 2013 01:49 |
|
|
# ? Jun 6, 2024 18:40 |
|
It's getting set to nil, not an empty string. The fact that the if block isn't being executed isn't all that relevant due to that variable binding is done before the code is actually executed. The main weird thing is that variables and functions are weirdly different.
|
# ? May 2, 2013 02:02 |
|
Zaphod42 posted:How much do we know about the WoW engine though? They could be using some kinda scripting system for world building, too. All I know about it on a technical level is that it was a descendent of WarCraft III.
|
# ? May 2, 2013 02:53 |
|
That Turkey Story posted:Yeah, true, but at some point we do have to criticize them for simply having old C libraries without modern C++ APIs. It's unfortunate that an ISO language not designed by any particular company often gets looked down upon because of non-standard libraries written by one source many years ago. Their solution to this is C++/CLI. Seriously.
|
# ? May 2, 2013 03:24 |
|
Zaphod42 posted:Hm, I guess Id uses Scaleform for their UI, too? I've worked with it briefly, but I wonder why its so drat popular, seemed kinda meh to me. I guess nobody wants to program UI, and flash designers are cheap? I think they actually rolled their own Flash renderer. It's in the Doom 3 BFG source release.
|
# ? May 2, 2013 04:04 |
|
pigdog posted:Everquest used to be the most popular MMORPG for years until World of Warcraft was released and quickly dethroned it. Why? Because all of Everquest's new content was horribly buggy and slow to implement... because, it turned out, all of it had to be hard-coded in C++. WoW implemented a Lua scripting engine for its game content and was able to offer so much more at much better quality. WoW's user interface code is made in Lua, not the game content. And incidentally, its new content is always buggy too.
|
# ? May 2, 2013 04:12 |
|
UraniumAnchor posted:
I don't remember the details, but IIRC there is some sort of a syntax hack in Ruby involving determining what's a local variable or not by looking for assignments of it.
|
# ? May 2, 2013 05:12 |
|
I was sick when people chose assignment partners for the final project in one of my classes, so I was assigned someone I had never worked with before. I found this in one of his file headers: code:
|
# ? May 2, 2013 14:25 |
|
WHERE MY HAT IS AT posted:I was sick when people chose assignment partners for the final project in one of my classes, so I was assigned someone I had never worked with before. I found this in one of his file headers: I think I'd rather have that than no history at all.
|
# ? May 2, 2013 14:26 |
|
SavageMessiah posted:I think I'd rather have that than no history at all.
|
# ? May 2, 2013 14:31 |
|
SavageMessiah posted:I think I'd rather have that than no history at all. I guess. I mean, most of his stuff was fine, that just stuck out as weird and somewhat hilarious. That was his last update to the file, and he didn't actually change anything. He just saved it again as it was.
|
# ? May 2, 2013 14:33 |
|
Pilsner posted:You're right that EQ was horribly buggy and slow to implement features, but EQ got overtaken by WoW because of WoW's game features, terrible SOE developers (not technically) and a bad expansion that was the final straw. WoW also came 5 years after EQ, and based everything - dos and don'ts - on EQ. When I last dealt with it, everything was based on csvs and Excel spreadsheets. You would run a client and go to the world to the spot where you wanted the mob to spawn, face the direction you wanted it to look and issue a slash command that would save the position / forward vector in a csv file. You'd then import that into excel and fill out the spreadsheet with some other values saving it as the design doc for the level. Something else would read the Excel (Not a CSV actual Excel reader.) and import it into a database. As I recall, it also had to load the whole file, not incremental changes. A real lovely situation.
|
# ? May 2, 2013 14:40 |
|
The Gripper posted:It's also better than the more-common-than-i'd-like "WHOOPS" commit message. minor
|
# ? May 2, 2013 14:41 |
|
WHERE MY HAT IS AT posted:I was sick when people chose assignment partners for the final project in one of my classes, so I was assigned someone I had never worked with before. I found this in one of his file headers: Seems like you guys could benefit from SCM.
|
# ? May 2, 2013 15:46 |
|
Plorkyeran posted:It's getting set to nil, not an empty string. Are you saying that that behaviour is by design? That's PHP levels of bizarre. In fact it's worse than PHP, because PHP at least requires that variables have the $ prefix while functions don't, so you can't confuse them and neither can the interpreter.
|
# ? May 2, 2013 16:31 |
|
hobbesmaster posted:Their solution to this is C++/CLI. I use C++/CLI for exactly the opposite thing, i.e. prototyping native code in the .NET environment, and it's pretty great. It's too encumbered with backwards compatibility cruft to be used for anything else, IMO - they didn't even bother to port the C runtime, you just P/Invoke the native one for everything and that's inexcusable. The point is moot though, because in typical Microsoft fashion they just kind of forgot about it and made it a dead end
|
# ? May 2, 2013 17:51 |
|
The_Franz posted:I think they actually rolled their own Flash renderer. It's in the Doom 3 BFG source release. Ah, interesting! Thanks.
|
# ? May 2, 2013 17:59 |
|
The_Franz posted:I think they actually rolled their own Flash renderer. It's in the Doom 3 BFG source release. Having worked on SWF renderers before, this is actually really impressive. They seem to be doing a lot of shape rendering on the GPU. I'm quite sure it's nowhere near running arbitrary SWFs, but I never would have guessed this.
|
# ? May 2, 2013 18:23 |
|
Rottbott posted:The worst horrors of game scripting usually involved either a) large chunks of fundamental gameplay implemented in script, making it slow, un-debuggable and obnoxious to call from C++, or b) C++ calling Lua which calls C++ which calls Lua. I was curious about the "C++ -> Lua -> C++ -> Lua -> ..." cycle. I'm wondering generally what the alternative might be for breaking those cycles. Awhile ago I was trying to do my own little game engine using Python as the scripting language. My motives was to practice using composition, and also practice doing something like a distributed system; I deliberately wanted to do async-crazy. So all these components were messaging each other. Some were in Python and some were in C++. When these components tried to message each other, it could go back and forth all over the place. I immediately got into fisticuffs with the global interpreter lock when I tried to do those cycles. Before losing interest, I kind of broke the cycle by having all Python-related commands enter a queue of commands to run in the thread that hosted the Python interpreter. I used Stackless Python, which I would inform to run a fixed number of Python instructions until it consumed them or hit a yield in a coroutine, then process all the enqueued Python calls, then potentially run any more calls those calls enqueued, and so forth. I didn't run it into the ground so I didn't know how far it could get. I fear a starvation scenario in what it picked to run, but that's about it--other than the fact I was doing this distributed system thing with Python, which is like a contradictory horror by itself.
|
# ? May 3, 2013 00:20 |
|
Hammerite posted:Are you saying that that behaviour is by design? That's PHP levels of bizarre. In fact it's worse than PHP, because PHP at least requires that variables have the $ prefix while functions don't, so you can't confuse them and neither can the interpreter. I don't think it's by design, just a quirk of the most popular Ruby interpreter. And it's not really crazy. There are way more crazy things in Ruby.
|
# ? May 3, 2013 03:14 |
|
Signed up for a new bank today. The online signup gave me a password for their online banking. When I logged in it prompted me to change my password along with this message: awesome online banking posted:Passwords are case sensitive, must be between 6 and 8 characters in length
|
# ? May 3, 2013 03:18 |
|
Password must be 6 characters long and contain no numbers.
|
# ? May 3, 2013 03:19 |
|
I bought a $90 coat from a really nice site (well, it's an online clothing brand. The content of the site is nice, the site itself is pretty bad) a while ago, who makes clothing that looks like designer clothing but without costing $500. When I first input my password it said I think "Between 7 and 11 chars". I put in my password (9 chars) and the 9th character I pressed didn't show up as a dot. I guess their password field had a text limit of 8 characters, annoyingly. Later on I forgot that my password was 1 letter short and couldn't remember it. I hit "I forgot my password", entered my security question, and.... oh. There it is. Uh. Thanks site. For storing my password. In plain text
|
# ? May 3, 2013 03:55 |
|
That Turkey Story posted:Password must be 6 characters long and contain no numbers. Apparently a common vector for hijacking people's accounts on banks is keyloggers, so requiring passwords to be short makes it more difficult for a keylogger to recognize the password.
|
# ? May 3, 2013 04:08 |
|
shrughes posted:Apparently a common vector for hijacking people's accounts on banks is keyloggers, so requiring passwords to be short makes it more difficult for a keylogger to recognize the password. I'm just gonna make my passwords urls from now on.
|
# ? May 3, 2013 04:11 |
|
shrughes posted:Apparently a common vector for hijacking people's accounts on banks is keyloggers, so requiring passwords to be short makes it more difficult for a keylogger to recognize the password. My new password is "Hey Mom,"
|
# ? May 3, 2013 04:54 |
|
baquerd posted:My new password is "Hey Mom," CTRL+ZCTRL+ZCTRL+ZCTRL+Y
|
# ? May 3, 2013 09:13 |
|
My boss today: "What? No! Don't write C code! It's an iPhone application, Objective C only!" The worst part is, he's right, we have had a long track record of iOS developers who "don't know C"
|
# ? May 3, 2013 09:29 |
|
Thermopyle posted:Signed up for a new bank today. South Africa's tax submission website says the following on its login page: SARS eFiling posted:Your Password is now Case Sensitive
|
# ? May 3, 2013 11:12 |
|
Hughlander posted:When I last dealt with it, everything was based on csvs and Excel spreadsheets. You would run a client and go to the world to the spot where you wanted the mob to spawn, face the direction you wanted it to look and issue a slash command that would save the position / forward vector in a csv file. You'd then import that into excel and fill out the spreadsheet with some other values saving it as the design doc for the level. Something else would read the Excel (Not a CSV actual Excel reader.) and import it into a database. As I recall, it also had to load the whole file, not incremental changes. A real lovely situation.
|
# ? May 3, 2013 13:36 |
|
Thermopyle posted:Signed up for a new bank today. That reminds me. I ordered some RAM from Crucial last night, and it made me sign up for the Verified by Visa thing. I kept getting an alert saying my password must be between x and y (forgot the real numbers) characters long with no spaces. I had to look at the regex in the JavaScript code to figure they really meant letters and numbers only.
|
# ? May 3, 2013 14:06 |
|
zergstain posted:That reminds me. I ordered some RAM from Crucial last night, and it made me sign up for the Verified by Visa thing. I kept getting an alert saying my password must be between x and y (forgot the real numbers) characters long with no spaces. I had to look at the regex in the JavaScript code to figure they really meant letters and numbers only. 6 min 8 max, IIRC, and if the way they integrate with Newegg is their normal, you can just ignore the verification by closing the tab and everything will still work fine, so I assume they only check that if they already suspect something funny is going on with your account or you buy something expensive.
|
# ? May 3, 2013 14:59 |
|
baquerd posted:My new password is "Hey Mom," I just use a vim plugin for everything so every interaction looks like a jumble of characters, I just make sure to make a few mistakes intentionally on passwords so that "abc123" becomes "abd<ESC>hxic145<ESC>xxi23" (I don't actually do this)
|
# ? May 3, 2013 15:38 |
|
My solution is to just not get a keylogger installed in the first place, perhaps that's something you could try?
|
# ? May 3, 2013 15:47 |
|
Jabor posted:My solution is to just not get a keylogger installed in the first place, perhaps that's something you could try? Nice!!
|
# ? May 3, 2013 16:04 |
|
Jabor posted:My solution is to just not get a keylogger installed in the first place, perhaps that's something you could try? DCC SEND "startkeylogger" 0 0 0 0
|
# ? May 3, 2013 16:08 |
|
Munkeymon posted:6 min 8 max, IIRC, and if the way they integrate with Newegg is their normal, you can just ignore the verification by closing the tab and everything will still work fine, so I assume they only check that if they already suspect something funny is going on with your account or you buy something expensive. It must be bank specific then. The password I entered was 15 chars, so the max was at least that. I believe from now on when I buy anything from a participating site (a rare occurrence evidently) it will make me enter that password to guard against fraud.
|
# ? May 3, 2013 16:26 |
|
zergstain posted:It must be bank specific then. The password I entered was 15 chars, so the max was at least that. I believe from now on when I buy anything from a participating site (a rare occurrence evidently) it will make me enter that password to guard against fraud.
|
# ? May 3, 2013 16:32 |
|
zergstain posted:It must be bank specific then. The password I entered was 15 chars, so the max was at least that. I believe from now on when I buy anything from a participating site (a rare occurrence evidently) it will make me enter that password to guard against fraud. Yeah, it'll ask for it, but I found that, at least on Newegg, if I just close the tab without giving Visa the password that I still get charged and my stuff still arrives no problem, so it's not a hard and fast requirement but I haven't tried skipping it with anything actually expensive. I just found it funny that it still worked because after I set it up I naturally assumed it was going to reject payments that I didn't verify. Silly me
|
# ? May 3, 2013 17:07 |
|
|
# ? Jun 6, 2024 18:40 |
|
zergstain posted:It must be bank specific then. The password I entered was 15 chars, so the max was at least that. I believe from now on when I buy anything from a participating site (a rare occurrence evidently) it will make me enter that password to guard against fraud. You'll probably find quite a few sites will ask for the verification as its now enabled on your account.
|
# ? May 3, 2013 17:19 |