WTF Bites
-
it's not too bad, once you start to understand how the MIDL compiler writes the headers and how the ATL class structure works.
how the MIDL compiler writes the headers
Uh-huh. Not bad. Sure. Do tell.
For example, you have CComObject class, which has a handy CreateInstance method so you don't have to do a system call that searches the registry when the class you want to instantiate is in your own project. Of course, COM objects are reference counted, and CreateInstance creates an object with a ref count of 0, so remember to call AddRef immediately upon creation.
But CComObject::CreateInstance is perhaps a bit too convenient, and maybe you don't want a pointer to the base object, just one to the interfaces the object exposes. Well, CComCoClass has you covered. It also has a CreateInstance method, but it only returns interface pointers, not object pointers. I hope you remembered to call AddRef. Oh, you did? Well, that explains why you were leaking that object then. This CreateInstance gives you an object with a refcount of 1. Isn't that so much more convenient?
Yes, the documentation doesn't mention this fact. I hope the fact that we omitted to make mention of the reference count was sufficient information to infer that you didn't have to call it. I know, the documentation for the other CreateInstance links to this CreateInstance, and your default ATL object inherits both, but it shouldn't take long to figure it out.
Yep, that was very convincing.
-
Yep, that was very convincing.
One of us needs our sarcasm detector recalibrated.
-
@HardwareGeek said in WTF Bites:
Yep, that was very convincing.
One of us needs our sarcasm detector recalibrated.
Mine, probably. Reading dry, wordy books* puts it to sleep sometimes.
*: At the end of the WCF chapter right now. Very cool technology. WPF is next!
-
Every city is incorrectly positioned.
Including their home city
-
@cartman82 said in WTF Bites:
Trying to explain to the underachiever why he can't just draw a timeline chart with raw numbers from the server, but must fill in the empty time slices with zeros.
I know the feeling. I regularly have to explain to my pupils that "Drawing by numbers" is simply not done in Physics.
If the position of data points on the plot indicate a certain kind of curve (be that linear, quadratic, ...) then Thou Shalt Draw A Continuous Line Resulting In A Differentiable Curve
The minor commandments are:
If it looks like a linear curve Thou Shalt Use A Ruler
and
Thine Graph Shalt Not Wobble Around Like A Drunken Sailor
-
-
Drawing by numbers
Doesn't that describe Feynman and circuit diagrams?
Ahem.
There Shalt Be Exceptions To These Commandments And Thou Shalt Know These Exceptions when I tell you about them.
-
At the end of the WCF chapter right now. Very cool technology.
And an absolute bitch to configure properly.
Gimme a RESTful API any day.
-
Ubisoft, again.
So, they are giving out 7 free games. Ok, sure, it's free! Now, I already had UPlay and login, containing a single game, the only one I ever bought: FarCry Blood Dragon (hey, I'm a sucker for cyberpunk and 80s silliness).
And now it's free. Big whoop. If I knew I wouldn't pay them for it (because fuck Ubisoft). So, now I got it twice. Really! Look, even UPlay agrees!
We bitch about Steam, but you know, that can at least handle multiple copies of a game...
-
@Onyx I have a few s to add to that:
- Ubisoft Club login is utterly broken in Chrome
- Claiming the games in Edge, I was told I already had them (I only had one: The Crew)
- Claiming the games in IE actually worked
I didn't get a dupe of The Crew though (the second one is the beta):
-
@RaceProUK Wait, I thought you could only claim one of those games each month. I set up a Google Calendar alarm and all.
-
@anonymous234 It's a special thing they're doing this weekend to get all 7, as part of their Ubi30 promotion (which should have been Ubi40 I think).
-
@RaceProUK said in WTF Bites:
Ubisoft Club login is utterly broken in Chrome
Worked for me in Opera, so... no idea.
-
@RaceProUK said in WTF Bites:
Ubisoft Club login is utterly broken in Chrome
Worked for me in Opera, so... no idea.
Worked for me in Chrome, so...
-
So, now I got it twice.
Can you install and run other games in more than one computer?
Can you install that game in two computers and run it on both simultaneously?
Are you to lazy to experiment just because I'm mildly curious?I think I know the answer to the last one.
-
I loved AC3, BG&E and PoP:SoT. I haven't played Rayman Origins yet, but I bought it already.
I don't know much about The Crew and Warcry but I don't think I want them.
Create a login just to get Splinter Cell?.... meh.
-
@RaceProUK said in WTF Bites:
which should have been Ubi40
-
Create a login just to get Splinter Cell?.... meh.
It's cool, but it's also often heavily discounted on Steam. And doesn't work too well with modern PCs - the game is okay from what I've seen, but the cutscenes have a major flickering problem.
-
i_dont_want_to
-
@RaceProUK said in WTF Bites:
At the end of the WCF chapter right now. Very cool technology.
And an absolute bitch to configure properly.
Gimme a RESTful API any day.
Yeah...I was not impressed with the last one* in the chapter, where the code itself was easy but I was unable to actually run it because:
- No instructions, unlike everything else so far.
- I don't know iis/iis express and had no clue how to make it run as intended.
OTOH, pretty much everything else seemed really easy, so . Simple projects giving a false sense of easiness?
*:
Using the Web-centric WCF Service Project Template
[⋮]
To begin, launch Visual Studio (with administrator rights) and access the File ➤ New ➤ Web Site menu option. Select the WCF Service project type and ensure the Web Location drop-down is set to HTTP (which will install the service under IIS). Expose the service from the following URI:
[http url]
-
@Maciejasjmj said in WTF Bites:
Create a login just to get Splinter Cell?.... meh.
It's cool, but it's also often heavily discounted on Steam. And doesn't work too well with modern PCs - the game is okay from what I've seen, but the cutscenes have a major flickering problem.
I loved the early SplinterCell games when they were new (more like addicted, trying to subdue all NPCs on a level during replays).
Sadly the first two heavily depended on volumetric / dynamic lighting hacks in the GPU or drivers. Since both drivers or hardware are impossible to find you quickly run into situations where your screen is pitch-black but everybody is shooting at you because you stepped into an invisible lightbeam.
That even dare to give it away for free means they know no shame...
-
Sadly the first two heavily depended on volumetric / dynamic lighting hacks in the GPU or drivers.
Funny that those games were the pinnacle of graphics technology back in the day.
Apparently Pandora Tomorrow is much worse, to the point that it didn't even get a re-release because they just threw up their hands in the air and decided they can't fix it. I still have a boxed copy, someday I might give it a spin and see just how bad it is...
-
I believe the first level is broken somewhere halfway through, likely that was enough for them to declare it a total-loss.
A pity really. Luckily Chaos Theory more than made up for it, after which Double Agent would lose the plot again.
-
I have Splinter Cell and Pandora Tomorrow, but I haven't finished them. I wanted to get back to them sometime, but if they're not going to work, there'd be no point. (Any recommendations on a game with similar style of play?)
We have another Ubisoft game, Commandos: Strike Force, that has a lot of similar gameplay to SC: you sneak around in WWII Germany and do spy things. A great part of that game was that you could take a uniform from someone you kill, and after that, no one at a lower rank would question you, so you could walk undetected among them. The trouble is that the game CD will no longer allow any installs, because Ubisoft used some sort of stupid security measure that corrupts part of the disc after three installs. Even on a different computer.
-
@djls45 I figure you can play Dishonored as if it were SC, though it's a completely different setting and sneaking may actually remove some challenges.
There's also Thief which is in some ways the predecessor of SC, though the originals may not have aged that well and the 201x remake might have removed just a bit too much of the challenge. Also, I never managed to get through them so I can't say what the later levels bring.
-
I have Splinter Cell and Pandora Tomorrow, but I haven't finished them. I wanted to get back to them sometime, but if they're not going to work, there'd be no point. (Any recommendations on a game with similar style of play?)
SC: Chaos Theory? It's regarded as the best of SC games, and I haven't heard much about any issues on modern PCs.
Blacklist is actually pretty good too, and I haven't played Double Agent, but I don't think it was that bad. Just skip Conviction. We don't talk about that one.
As far as sneaking around goes - maybe some of the Hitman titles, or Metal Gear Solid? I've also heard good things about Alien: Isolation.
-
@Maciejasjmj said in WTF Bites:
Alien: Isolation.
My friend was livestreaming that one (I don't really do well with jumpscares), it looked great to play. He had a blast, that's for sure, and it was fun to watch.
-
The trouble is that the game CD will no longer allow any installs, because Ubisoft used some sort of stupid security measure that corrupts part of the disc after three installs. Even on a different computer.
Wh-what? How the hell does that work? Did they ship it on a CD-RW? A couple-hundred floppy discs? A Jaz Drive?
-
The trouble is that the game CD will no longer allow any installs, because Ubisoft used some sort of stupid security measure that corrupts part of the disc after three installs. Even on a different computer.
Wh-what? How the hell does that work? Did they ship it on a CD-RW? A couple-hundred floppy discs? A Jaz Drive?
I'm not sure how exactly they do it, but my guess is that there's a few bits that are writable on the disc, and the installer checks and writes there just before copying the last part of the game executable, which is the last file installed. It seems like the .exe file was split into at least two pieces before being written to the disc, so even though I can copy the file directly from the disc to the game folder, it still fails to run. The installer has to merge the pieces back together in order to get a functional .exe program. That seems to fit everything I could find online when I was trying to troubleshoot it.
-
The trouble is that the game CD will no longer allow any installs, because Ubisoft used some sort of stupid security measure that corrupts part of the disc after three installs.
It's not like anyone has ever owned multiple computers in their lifetime or had to reinstall software!
-
@djls45 so what would've happened if you tried to install it from a brand-new disc in a DVD-ROM drive?
(as in, a drive which is physically incapable of even trying to write something and thus corrupt the disc)
-
@anotherusername said in WTF Bites:
@djls45 so what would've happened if you tried to install it from a brand-new disc in a DVD-ROM drive?
Or flat out rip the disk to an ISO (Or hell, RAW if it's damaging the non-data-track portions of the disk) image?
-
@anotherusername said in WTF Bites:
@djls45 so what would've happened if you tried to install it from a brand-new disc in a DVD-ROM drive?
(as in, a drive which is physically incapable of even trying to write something and thus corrupt the disc)
I guess they designed it so that even the read laser would cause it to flip the bits. That would imply that they also put that portion into a part of the disc that wouldn't normally be read.
Note that this just my guess; I don't know what exactly they did, but this seems somewhat likely.
-
@Tsaukpaetra said in WTF Bites:
@anotherusername said in WTF Bites:
@djls45 so what would've happened if you tried to install it from a brand-new disc in a DVD-ROM drive?
Or flat out rip the disk to an ISO (Or hell, RAW if it's damaging the non-data-track portions of the disk) image?
RAW might work if the disc is brand-new. If the read laser is what corrupts the data, though, that sector might need to be skipped or read last.
-
That seems to fit everything I could find online when I was trying to troubleshoot it.
And then you realize why people just pirate games.
Fuck DRM
-
Launched ubisoft's stupid program because apparently you can get free stuff. For some reason, Ubisoft wants to know when my birthday is:
Sure.
Sucks for people born on the first of the month, I guess...or really anyone born in January or after 1997.
At least getting the games took 2 clicks.
-
*: At the end of the WCF chapter right now. Very cool technology. WPF is next!
Do they have Q, R and S implemented or can you skip right to the fun part after that?
-
*: At the end of the WCF chapter right now. Very cool technology. WPF is next!
Do they have Q, R and S implemented or can you skip right to the fun part after that?
Skips right to WTF, if that's how you regard asp.net.
-
@cartman82 said in WTF Bites:
Kind of defeats the point of noSQL...
From what I can tell from the README, it's a SQLite database operated via strings passed to redis. Is there a name for the antipattern of including a dependency that provides nothing but added complexity?
-
Sucks for people born on the first of the month, I guess...or really anyone born in January or after 1997.
They just want to force people to pick something other than 1 January. They don't care if the date's ±32 days, they just want it based somewhat in reality.
Statistically, 60% of our users can't be born on 1 January. We need to do something about that.
What do you want me to do, validate their ages?
Can we do that?
Not easily. Users wouldn't like it.
Well all I really want is to weed out the obviously fake birthdates!
What, like just prevent them from picking 1 January?
Yes!
You're kidding, right?
No... what's wrong with it?
Well anybody actually born on 1 January wouldn't be able to register with that birthdate, for one thing...
So? They can just put something close. It doesn't have to be exact.
Butttt...
Just do it.
...fine.
-
I think this emulator still has a few minor visual glitches...
-
@anotherusername WTF?
If it's important for users to pick their actual birthday, they should be incentivized to do so. Eg. "we will use this date in validity checking blah blah".
Either make it clear why birthday is important, or make the field optional.
-
@cartman82 said in WTF Bites:
Trying to explain to the underachiever why he can't just draw a timeline chart with raw numbers from the server, but must fill in the empty time slices with zeros.
He's now trying to convince me the server should be the one to pre-fill zeroes instead of his frontend code.
-
Oh god Matlab WTF are these shortcuts?
Edit: apparently these are Emacs shortcuts. Which doesn't make it right, because it's not like Matlab users are likely to have used Emacs. Hell, I've encountered vim shortcuts in the wild before, but never Emacs.
-
CreateInstance creates an object with a ref count of 0
Dafuq? That's against COM rules!
-
@anonymous234 We just had a discussion in the office and colleague mentioned that graphic card makers patch game bugs in the drivers so they can make it a selling point that game X runs better on their card than on the competitor's. Where patch means the driver actually carries fixed versions of various shaders and replaces the broken one on various conditions.
So it might just be that the driver does not recognize the game, which is from different platform, and does not fetch the right shims.
-
@cartman82 said in WTF Bites:
If it's important for users to pick their actual birthday,
I think they just want plausible deniability that you didn't cheat when proving you're over 18.
-
-
@Bulb It's a N64 emulator, I doubt it ever sends the GPU anything more complex than "draw a triangle here with this texture".
-
CreateInstance creates an object with a ref count of 0
Dafuq? That's against COM rules!
Nonsense. Microsoft wrote the rules, they would not break them. Otherwise, it would mean that most of our infrastructure is built on shaky, unreliable foundations!