Archive

Archive for February, 2009

EBGames/Gamestop and the shadey business model that couldn’t

February 12th, 2009 admin 1 comment

I wanted to share with everyone a recent experience I had with RESERVATION REWARDS(RR). If you’ve never heard of this company feel free to Google around. I’ll not post a link to their website on my blog. RESERVATION REWARDS is basically this barely legal promotion company that charges you small amounts of money per month for…. something. Signing up for said program is never made apparent to the user except in the dank recesses of fine print and even then it’s always the users fault for not reading. (I’ll explain a bit later.)

Typically when I peruse my bank statement for problems I look for large purchases over $50 dollars when I’m searching to see if my information has been stolen. This is, without a doubt, the dumbest way to do things. RR charges $9-12 dollars hoping you won’t see the charge.

What does this have to do with EBGames/Gamestop? Well they are the fuckers responsible for sending my bank account information to RR. RR claims I agreed to their terms when purchasing a game through the EBGames website. Sure I did, because as a cynical blogging net whore I frequently click on whatever pops up on my screen. I think I can safely say that I’ve been online since the days of dial up BBS’. As a child of the web boom and technophile to boot I’m pretty good and sniffing out scams. More likely I clicked on their banner to see what the deal was about and that was all the confirmation RR needed.

Here is a handy link regarding possible investigation of RR and its parent company for bad business practices. If you personally see their charges on your account and wish to dispute them RR’s phone number is (as of this writing) 1-800-732-7031.

Companies like RR do so much to erode consumer confidence in online businesses. But they aren’t entirely to blame. EBGames and Gamestop have an obligation to their customers to provide a safe and easy way to purchase games. I suppose that isn’t true. They have an obligation to maintaining their bottom line and keeping the investors happy. All we can do is vote with our money and for my money’s worth I’m never buying from these fuckers again.

[2/17/2009] Edit:
To be fair to RR they have, as of today, refunded the charges and canceled my account. This does not change my opinion as stated above.

I’ll also post an email I received from RR this morning regarding this very post. Amazing how quickly it was found:

Webloyalty.com monitors the blogosphere to ensure information posted on our company is truthful and accurate and to identify opportunities to provide customer service to our members. Through this monitoring, we found the comments you posted on your blog, www.daksystems.net about our membership program, Reservation Rewards. We checked our records and found that your Reservation Rewards membership was cancelled on February 12, 2009 when you contacted our Customer Service department. At that time a refund of all the membership charges was processed as you requested. These refunds should appear shortly in your account depending upon how frequently your credit card issuer posts transactions. You will not be billed again.

We’d like to take this opportunity to address your concerns about how the membership was enrolled by providing you with some information. Our records show that on February 10, 2006 when you completed an online transaction at www.EBgames.com you enrolled in Reservation Rewards by clicking on a $10 Cash Back Award, entering your email address twice (you entered the email address #########@####.com) and then clicking the “YES” button on the enrollment form. Immediately to the left of the “YES” button the “Offer and Billing Details” in connection with the offer were displayed. The Offer and Billing Details explained that you would be billed on the credit card you had just used for your EBgames transaction. Directly above the section for entering your email address, the text advised that you were authorizing the secure transfer of your name, address and credit or debit card information to Reservation Rewards for billing and benefit processing. We’ve attached a copy of this page for your review. Immediately after accepting the membership offer you were presented with a membership acknowledgement page. Within 10 minutes a membership confirmation email with details on how to use the membership was sent to your email address. We sent forty more emails to your email address between February 10, 2006 through January 25, 2009 with details of the membership. The one that was sent to you on February 26, 2006 informed you that your 30-day free trial would end in 14 days and that you would be billed unless you cancelled your membership. If you would like us to send you copies of these emails please let us know.

We hope this resolves this matter to your satisfaction and assures you that proper authorization was obtained to charge your credit card. If you have further questions regarding this matter or suggestions for improving our service, please contact us directly at consumeraffairs@webloyalty.com.

Regards,
Mary O’Reilly
Webloyalty Consumer Affairs
Reservation Rewards

Take that as you will. I maintain that I did not knowingly submit my information to this company. Further more their 40 or so update emails were most likely captured as spam. Since I didn’t sign up for this program of my own volition I’d not spend any time perusing my junk mail, something I only do when I’m expecting email from a new source.

Categories: Uncategorized Tags:

Ray-Tracing Lib. Update

February 6th, 2009 admin No comments

It has been awhile since my last post as RL is getting in the way of my nerdier pursuits.

Since the last post on ray-tracing I’ve modified my libraries to be a bit faster and bit better at volumizing the input mesh in to an OcTree structure.

The ray-tracing library is called ‘Fenrir.’ It also requires the OcTree library which in turn requires the 3DIO library. Not 3DIOt, 3DIOt is a header only version of my 3DIO library that I’ve since given up as it was becoming too much of a kludge.

Hepteroid with ray trace and nearest neighbors.

Heptoroid with ray trace and nearest neighbors

What does it do?:
Fenrir is a very simple library that demonstrates how to take a 3D mesh, comprised of triangles, and test it against various rays in a scene. Fenrir can support multiple objects in a single scene. The ray-tracing process itself is fairly fast, ~0.003 seconds on a 250,000 face mesh(all test rays “hit” the mesh to provide an accurate account of triangle/ray intersection timing).

The ray tracing is fairly straight forward: A ray is passed to Fenrir. That way is tested against the outer most node of all meshes in the scene. If that node is hit the mesh is stored for the second pass. During the second pass the ray is tested against all meshes from the first stage. At this stage the ray is is tested against all OcTree nodes of each mesh until all leaf nodes intersecting the ray are stored. It is cheaper to test the ray against a small number of OcTree nodes rather than all triangles of each mesh. Once we know what leaf nodes were hit the last step is test the ray against all triangles stored in leaf nodes only.

Ray/Triangle intersections are coded as entrance or exit depending on the triangle’s normal direction. Additionally we calculate an obliquity angle and directionality angle. The directional angle is the angle between the hit face’s normal and the initial ray.

Example Usage:

void Test(){
    std::string fileName = "C:\\Test.ply";
    std::string nickName = "Test_Ply";
 
    Fenrir::Scene *scene = Fenrir::SceneManager::Instance().CreateScene("main_scene");
 
    Fenrir::Target *tgt = Fenrir::SceneManager::Instance().CreateTarget(nickName.c_str());
    tgt->;Init(); //Initialize target data
 
    if(!tgt->;Load(fileName.c_str()))return false;
 
    tgt->;SetHumanReadableName(nickName.c_str());
    tgt->;BuildOcTree(100);   //Build OcTree.  The larger the number the faster the build but the slower the resulting ray trace.
 
   tgt->;BuildTargetFaces();  //This step is not necessary.
 
   tgt->;SetTIntervalMax(999999);   //Allows you to specify a maximum distance from ray origin to object in which ray/face intersection is valid.
 
   tgt->;SetVisible(true);    //Tells the target it can be be seen in a particular scene
}

*Supported input file types: *.ply (Stanford), *.obj (WaveFront)

Let me further explain BuildTargetFaces(). BuildTargetFaces() runs through all faces of the input mesh and creates a vector of nearest neighbors and the distance to those neighbors using centroidal distance. Nearest neighbors (aka ring-0) are those that touch 1 of the 3 vertices that make up the face. What does it do: Once you know what face of the target you’ve hit you can call GetNearestNeighborsByDistance(float maxDist, float faceIndex) and it will return all the faces from our starting face outward to maxDist.

Categories: Uncategorized Tags: