Saturday, November 14, 2015

BLOG: The Sad State of 3D on a PC

This month, I built myself a new gaming PC, and decided to spend just a little extra money for the nVidia 3D Vision 2 package with a pair of shutter glasses and a USB controlled IR timing transmitter.  What I'm talking about here is PC gaming in stereoscopic 3D.  This is gaming that not only depicts a 3D play environment, but also looks 3D to the player's eyes.

I remember that Descent came out in 1995, and it had support for a virtual reality headset called the Forte VFX-1.  That's 20 years ago.  There were a few 3D games before that, and several have come out since.  Immersive 3D worlds have become common-place in video games.  Recently, everyone has been talking about Oculus Rift, the new VR headset that's supposed to show up for retail next year.  With that in mind, I didn't research much, I assumed that 3D was already a thing on PC.

I am very much a fan of flight simulation and flying games in general.  I have a decent HOTAS (Hands-On Throttle and Stick) as well as a very nice set of rudder pedals.  As such, I'll talk about flight simulation first.  The most common and popular software for this is Microsoft's Flight Simulator series that has been around for a VERY long time.  It was the first of the programs to let us fly around the actual world that we know in real life.  I remember trying to land on the simplistic Brooklyn Bridge using Flight Simulator in the early 1990s.  I clearly remember there was some fanfare about Flight Simulator 2004 supporting stereoscopic 3D.  The latest (and last) version of Flight Simulator that was actually made by Microsoft was Flight Simulator X that came out in 2010.
So, I turn on Flight Simulator X with the nVidia 3D Vision enabled and everything seems to go quite well.  The spinning aircraft in the Free Flight setup window shows up in actual 3D.  So, I select a nice scenic area, and a fairly simple aircraft and launch the game.  After a quarter second of scary black screen, everything sync's up, and the world looks perfect.  Look around everything is where I expect it in space.  Until... I see any lighting of the airport itself.

I don't know how to describe this except to say that it seems like airport lighting is an afterthought.  Once they've rendered the 3D world using the Video Card hardware for what it does best, it seems that the lighting is added to the screen.  This means that the lighting is sitting at screen depth.  This also means that as your eyes line up the far away background, the screen-depth lighting appears to show up twice... or, if you focus on the lights, the background becomes double.  Sigh.  That means Flight Simulator looks great as long as you never go towards an Airport.  I really like to finish a session with a decent landing, and, well, this makes that pretty impossible.  Turn off the 3D, and I'm happy with my setup with this game.  The Microsoft folks never said they supported NVidia's 3D Vision with Flight SImulator X (which surprised me), but it was worth a try.

I look around at other options, and figure I'll start with the nVidia site.  They have a handy list of games that are certified as 3D Vision Ready.  I drop down the selector and see a Genre for Flight Sim.  Tom Clancy's H.A.W.X. 2 is the only game listed.  Okay, so, I go to the site for the game itself, and they don't even have a trailer.  It came out 5 years ago in 2010.  There are a couple of pictures, but it's not clear if it is a mock up of the world, or if it's something from a cut scene, or is it from game-play?  The smallest and crappiest image on the whole site seems to be from game-play, and I got to say, that's not encouraging.  Maybe I'll buy this, but not without at least finding a decent review.

So, what about non certified?  Pretty much anybody says that the best flight simulator software out there is X-Plane 10 (warning that link has an auto-play video).  X-Plane runs on all three popular Operating Systems.  I go check out the forums, and no.  It will not do stereoscopic 3D at all.  NVidia's 3D drivers only support games written in DirectX, not OpenGL.  That makes sense, I suppose, from a development stand-point (and their competition holds the same limitation), but there are a lot of games out there that use OpenGL.  I will be buying a copy of this anyway, since it's basically the only new non-combat Flight Sim out there at all.

I like racing games, too.  Same place, drop down the Genre box to Racing.  There are two titles, but neither are for sale anymore.  GT Legends and rFactor 2. Supposedly these were great games.  I note that most reviews I can find of 3D gaming, screenshots of GT Legends are usually prominent.  Fair, but both of these games came out 10 years ago.  I think I can still find a copy of one or both on Steam, but I didn't buy a new gaming rig to play stuff that my old rig could have played, but now in 3D.  The newest games officially supported are not that new.
Since, supposedly, MS Flight Simulator 2004 actually works, and I have a dusty copy, I might try the even older version of FS for 3D compatibility, but as I said, I didn't buy this rig to play games my old one could have played (and in this case, DID play).

I will note that almost any game that came out under the game engine Unreal 3 might work, since Unreal 3, itself, did support nVidia 3D vision (and several of the 2011 titles with official nVidia support were coded using Unreal 3).  This brings me to the title that I am most excited (after 20 years) to play.  Descent is being recoded and re-released as a prequel.  Descent: Underground is currently in Beta, and was coded using the Unreal 4 engine.  In the Microsoft-like tradition of Flight Simulator 2004 to X, Unreal dropped support for NVidia 3D Vision.  That means that the new generation of games coming have almost zero chance of 3D support.  Further, Descent: Underground is supposed to support the Oculus Rift, but there are problems with that, too.

So, that's where we are?  There are only a handful of titles that support stereoscopic 3D viewing that have come out in the last 3 years, and none of them excite me.

Meanwhile, I think I'll watch 3D Blu-Ray movies on my rig, because those actually do work quite flawlessly.  I'm glad I decided to build my rig with an actual Blu-Ray drive, so the 3D stuff doesn't feel like a complete waste of money.

Wednesday, September 16, 2015

[Geek] Authban : 4 Years Later

Four years ago, I wrote about a script that I had been working on called Authban (though I didn't name it at the time):

I first started running a custom script to block IP addresses that tried too many times to login to ssh back in 2010.  At the time, the script (and my home web host) was running on an Ubuntu virtual server.  The name, Authban, surfaced in early 2011, as I organized the script to do more than just block ssh.

The First Rewrite

Since writing the initial introduction, my home web site was ported to Mac OS X, and along with it, Authban.

The first thing that had to change is that I no longer had iptables available, so the way my script was blocking IP addresses was no longer available, the Apple world prefers the BSD program pf (packet filter).  With this came a very large number of little changes in many places.  At that point (2013), the Authban script became a full OO Perl application module set, in which, is one piece.  It also has a full test suite, and I did a very large number of upgrades to the threat vector detection.  Another upgrade I did at that time was to database the blocked IP addresses directly into mysql.

The Second Rewrite

I was contacted by the administrator of a honey-pot aggregator about two months ago, after I did some maintenance on the volIPBan Twitter account.  Despite my running a production system (and not a honey-pot), I was asked to contribute my threats.  Seems legit enough (and no harm, even if it isn't), but I realized that this would be the right opportunity to fix one of the problems that has long plagued my little project: Slow run time.

I'm currently on the ninth running version of the second re-write, and I have a LOT more to do.  However, as of today, I should be contributing my threats as promised.  The aggregator takes some pains to not reveal the IPs or locations of the contributors, but since I'm running a web site and would rather be black-listed as a honey-pot, I'm happy to mention it here.

Still to come

Some of the other upgrades I'm doing has to do with ramping up my use of MySql, not only to store threats already blocked, but to store tallies on all IP addresses that contact my site for any reason.  This will help me detect attacks that happen slowly, over weeks (and over log rotations) that I might now always pick up, currently.  Also, by keeping these sorts of statistics, I'll also be able to scan all the various log files from the place I last left off, instead of the current method of reading every log file from the beginning.  I try to run 3 times per minute, and if the log rotation wheels are against me, I can sometimes go a week where the run-time consistently lasts longer than 20 seconds.  By the time I'm done with the second rewrite, I want to see this additional database functionality working.

I still have multiple modules (like the one that does twitter) that includes embedded authentication information.  I also do not have all of the threat vectors that I have defined put into an external configuration file.  Both of these prevent me from publishing this little work somewhere.  Maybe this won't happen as part of the second rewrite, but I do plan to get this done at some point.

Thursday, May 14, 2015

NYCC : Horrible Shopping Experience

I already have tickets for two other conventions this year, but NYCC is the big one that happens in the city where I live and work. I know in the last few years tickets have been harder and harder to get, and I figured my chances were not going to be very good.

If this is too long one can safely scroll down to the Conclusion at the bottom.

I tried to buy tickets to NYCC the minute they went on sale. Tickets went on sale at noon, here's how it went.

Started with a friendly, Virtual Queue, page talking about how a cookie has been set to reserve my place in line, no need to refresh frantically - everything will be handled in the right order, followed by a warning: if you refresh too much, you will be banned for abuse. Six minutes later, I'm looking at a browser error screen:
408 Request Time-out
Your browser didn't send a complete request in time.
It takes 30 full seconds for each 408 error to appear, exactly the same - every time. I refresh, once every 30 seconds for about 20 minutes, and get back to the Virtual Queue page. This pattern repeats for almost 90 minutes.

I finally get to the order page, some types are already sold out, including the 3 day, so I select 4 day tickets (you have to take off Thursday AND Friday to use these fully). The max is set to 4, I need 2. Click next. Wait for the full 30 seconds...


Try again,


...try again,


...try again,

408 are in cart.  And there's a completion clock already ticking down.  Select delivery, Next.  Another 30 seconds which always precedes another.




Mandatory survey with 6 minutes to go.  Gender, Age Range, Three ranked, Why do you do put up with this? Something else, and click agree on a zero tolerance harassment policy.  Next.




Mandatory survey with 4 minutes to go.  Nothing stayed with the refresh.  Fill out again, Next.



Mandatory survey with 1 minute to go.  I christmas tree it as fast as I can.  Next.

The browser spins as the clock reaches zero.


I'm back at the order page.  There are even more things sold out, but there's still a drop down for what I want.  The drop down doesn't go to 4 anymore, it only goes to two, but that's all I wanted.
Select, Next.
No 408 this time.
There are not that many bundles available, select again.
I'm back at the order screen, the drop down only goes to 1.  Like a troll cartoon singing, "you are meant to be alone."


I get back to the cart with counting clock thinking, and 1 ticket.  I stare at my screen in disbelief for a minute with the clock counting down.  Finally, I close my browser, realizing that I wasn't going to spend that kind of money and risk the possibility of trying to go through it again and having only one ticket, while trying to go through the whole thing again.

So, I closed my browser and read the Twitter #NYCC and #NYCCTix tags about a whole lot of scalpers who were DDOSing (Distributed Denial of Service - overwhelming a resource by making requests from a large number of other computers) the system so that they could sell as many as possible of the $104 tickets for $500 or more.


So for over two hours of my time, in the end I didn't purchase anything, and I won't be going.

At first I railed against all the scalpers who were basically using farming operations (rows of users and computers, manually DDOSing the systems to get as many tickets as possible) to scoop their own illicit profit from something that has consistently sold out year on year.  And while this is what likely caused the 408 error itself, the Virtual Queue system still kept that from killing the experience.

With the clarity of sleep, it's the 408 errors, and the unfairness of putting a cart clock onto a system that is fraught with internal timeouts that was the real problem.  Each 408 repeating like Poe's The Raven, making me question my browser, my computer, my internet connection ... my own self worth?  The system taunts me to keep trying.
408 Request Time-out
Your browser didn't send a complete request in time.
This follows the exact same pattern as a bully playing keep away with a much smaller child.  At the end of this I was emotionally exhausted and feeling anger about the unfairness of things.

To the programmers and admins who look over the logs, if they find my session and follow it, I have no doubt that what they'll see is some idiot who got into a cart, selected two tickets and refused to fill out the survey.  Then selected one ticket, and then never came back.  They'll probably try to eliminate my behavior, as just some troll who just put tickets in reserve for a while.  And, to me, that is the real saddest part of this.  In the end, I look like the problem user they need to fix.

But just look at me, how pathetic, feeling inferior to my bully.

Sunday, February 1, 2015

Manhattan Flagship Stores Are Not For Me

Manhattan shopping.  In the story below, I'm NOT saying the brand or the name of the store.  I don't want to throw rage at one tiny example of something that exists throughout Manhattan, especially at the brand-name stores that call themselves A Flagship Store.
There are multiple stores in Manhattan that are not externally identified as Flagship but are.  They are usually identified by the area of the city.  I didn't realize that that area of downtown was a Flagship area.

Flagship : n.  :  the finest, largest, or most important one of a chain of stores

That's the book definition.  However, what it has come to mean, it my experience is that this is the version of a store that is meant to be 100% camera ready all of the time.  In New York's flagship areas, this also means that only the trendiest representations for that brand will be present, and that a limited size selection will be available.

Some entire brands, of course, are like this.  Abercrombie and Fitch has long been infamous for their brand exclusiveness in this area.  I've never stepped foot into one, because I have never been their target demographic (even when I was a teenager).

At least the guy in my story below let me know that I had accidentally stepped into a Flagship store.  Now I know to steer clear of that area for anything where I might want to spend money.  The way he told me, though, rubbed me the wrong way.  Here's my story:

Wednesday, January 28, 2015

Late Night Meeting ... Restless

I'm not sure who the audience for this is supposed to be.  Just like the blog entry I left about adding a battery holder to my 1990s era MIDI workstation, I think it's mostly just a sounding board, and notebook for myself.  Maybe some of the people who work on this project will read this, maybe not.  Anyway, it's a lot of words, and not a lot of specifics.

Just got off a meeting, kicking off the third phase of a project that I've been working on for 22 months.  This is the phase where I hand off management to someone else, and I stay around to help .. answer questions, but mostly try to stay out of the way.  Enable confidence in the person taking over, instead of deference.

Monday, January 26, 2015

Brooklyn Museum

Yesterday, Jen and I went to the Brooklyn Museum to see the Killer Heels exhibition.  But also to see some of the rest of the Museum.

Source: Wikipedia
Neither of us had been there before, so had no idea what to expect.  First, I have to say that I was a little confused at first, then impressed.  Walking up to the building, I'm staring at this strange ultra-modern entrance where in any other museum, I'd expect to see a grand stairway.

Source: Brooklyn Public Library, Brooklyn Collection (SUB 0184)

Looked up some history, and found it - sadly, can't find it without the context being construction of the subway.  A two story grand stairway used to lead up to the front doors.  The crazy modern entrance was added in 2004, but it turns out the stairs were removed way back in 1934 (only 10 some years after the museum's original construction plans were completed).  It's heartening to think that even back then the museum board was thinking of things like accessibility.
Source: Brooklyn Museum
Honestly, I think this site would have shocked me even more.  It is ugly.  It seems that even in the 1930s there could have been a more creative way to make the building accessible from the ground floor.  However, it seems that this is the way the building was presented to visitors between 1934 and 2004.

There's a parking lot in the back, there must have been an accessible doorway back there.  How else would big statues come in and out?

Source: Brooklyn Museum
Once inside, I was quite surprised at how much stuff was there.  I've been in plenty of very big looking museums where there was very little space actually available for public view, and this museum is definitely not like that.  All five floors have areas that are open to the public.

We did not plan for a full day, and we should have.  We will definitely be going back to see the majority of the museum that we didn't get to see.

If you are, or have ever been fascinated by high heeled shoes, I seriously suggest checking out the Killer Heels exhibition, which closes on March 1.

Source: Brooklyn Museum
Another thing to point out (I was greatly impressed by this) is a room on the fifth floor called the Visible Storage Study Center.  It is basically a glass cased warehouse of stuff that wouldn't fit in the rest of the museum.  There are iPads and hanging catalogs instead of individual placards.  If I see something I like, I type the catalog number into an iPad, and the details come up.  To me this felt more interactive, even though a lot of the collection couldn't even be seen very well (like items on high shelves).

Anyway, I'm impressed.  Be sure to add it to your list if you are a Museum buff.