Activision Blizzard first made note of the problem when its support division began receiving complaints about malfunctioning and overheating video cards. Beta testers for their upcoming game Starcraft II also made note of the issue reporting lower frame rates and game play issues. Blizzard issued this statement to all their players:
“We’re getting reports where users are getting intermittent low FPS after installing these drivers. It seems that it is related to the fan control included in these drivers not working correctly and is causing the video card to overheat on 3D applications. This will affect Warcraft 3, World of Warcraft and StarCraft 2 Beta. Please uninstall the drivers and revert back to the older ones.”
NVIDIA has since pulled the driver from their website, rolling back to the previous stable 196.21 WHQL certified driver and have requested that users downgrade to the 196.21 version of the driver.
“We are aware that some customers have reported fan speed issues with the latest 196.75 WHQL drivers on NVIDIA.com. Until we can verify and root cause this issue, we recommend that customers stay with, or return to 196.21 WHQL drivers. Release 196.75 drivers have been temporarily removed from our Web site in the meantime.”
It is recommended that if you have done a driver update recently that you check if you are running version 196.75 of the and to immediately roll back to an earlier stable version of the driver, even if you haven’t noticed any issues, until NVIDIA has resolved the failure report. Please contact NVIDIA to report graphics card failures, as it is a driver issue and not a game issue.
If you are looking for the rollback version of the driver you can find them below:
Windows XP: http://www.nvidia.com/object/winxp_196.21_whql.html
Windows XP 64-bit: http://www.nvidia.com/object/winxp64_196.21_whql.html
Windows Vista/7 32-bit: http://www.nvidia.com/object/win7_winvista_32bit_196.21_whql.html
Windows Vista/7 64-bit: http://www.nvidia.com/object/win7_winvista_64bit_196.21_whql.html
The current algorithm that I am building is based on some assumptions:
Assuming these things, the edge detection is mounted in a matrix and through various reduction methods, it reduces the amount of noise (isolated, or only sharing an edge with one cell). From these shapes we can determine facial structure based on clusters of a predefined shape.
While this is fun for face tracking purposes, it strays from the principle concept that is trying to be achieved with virtual touch computing. Facial features are relatively easy to track as they are static in context of each other, so predictable patterns even in rotation are possible. Fingers on the other hand are a more dynamic object to track, as spacing, position count are likely to change frequently. For example someone who wants to drag an object around may only hold out one finger and drag the object where they want to move it, while a rotation might use all five fingers.
On a surface such as a touch PC, this is relatively easy through the user of IR LEDs using the aforementioned FTIR (frustrated total internal reflection) methods of light detection, or through the idea of using a set of IR lasers close to the surface with planers to diffuse the beam over the table, but virtually there is lots of noise in the image. The algorithm that I am currently working on tries to filter out the noise through the following methods:
This sounds easier than it looks, however there are many limitations and issues when it comes to distinguish-ability. Another problem on top of this is light conditions, multiple people in the image and detectability of their shape. This is the area that I am working on now for performance reasons. Regardless, the skills I obtain developing this algorithm will make surface digit detection trivial in nature.
If anyone has any suggestions on how to detect full human motion based on image capture and processing, please let me know. I am always looking for a good algorithm
I have been playing with my Neural Network software, and with the idea of starting a company. Basically I got my software to a state where it can parse data from text based sources into the neural network and firing a query would highlight related items down the neural path. I am going to continue playing with this idea as I think it has potential in specialized searching and data recollection niches.
The new toy project I am working on is Edge detection and cleaning in C#. Now I know there are like a billion projects out there that play with these ideas, but I would like to be able to play with it myself. I have assembled a working demo of this project, though the source is not quite ready to release yet for everyone’s eyes. Currently it uses a simple color edge detection algorithm, as that sort of algorithm will plug in nicely with my image signature detection algorithm that I was developing a few months back. Basically all it can do now is edge detection in real time, which is a feat for me, I have been away from the specialized programming for several months now, but am slowly getting back into it.
This is a sample shot from an early version of my algorithm. It detects edge colour differences in a given webcam image and currently overlays the original bitmap. While this traditionally works quite well, it tends to produce a lot of noise and wide edges. For this reason, I’m working on a newer algorithm that slices the image into zones, which then calculate the noise ratio independently and adjust the thresholds for the edge detection appropriately. Currently the changes are looking promising but need to undergo a large amount of changes before I will be able to rely on it for all my data processing.
The next step is to detect “object” edges, which are complete logical elements in images (house for example, window, etc) and process them into sub-object “textures” to be stored and signed using my other algorithms. This will allow the camera to begin to categorize and classify items in the real world, for what will be unveiled as my larger scale project in future posts. Hopefully sometime soon I will get a chance to clean the source and upload an example of my edge detection algorithms using the zone sampling method.
I am now finishing up my co-op term, meaning that I will have a lot more time now to play with programming, so expect more posts in the coming weeks and months!
]]>
The New Face of Search?
Bing has now been with us for a little over a month now, and I was excited to hear about Microsoft’s latest offering. Something over the past couple years at Microsoft changed, as I’ve gone from strongly disliking their products to being able to actually use them in my day-to-day life. An example of this is the Windows 7 Release Candidate, which runs fantastically, and so far has been much more stable than my previous Windows XP and Vista experiences. Whatever they are doing culture-wise over at the Redmond campus seems to be working though.
As much as I would like to give Microsoft credit for their Bing offering, I am reminded by the shadows of their previous release: the MSN Network and Windows Live Search. Both of those products left a terrible taste in my mouth and I found them to be incredibly user unfriendly. It has taken years for Microsoft to finally get it right, and it seems that they have in a big way.
The first thing I noticed was the clean interface. I want to say Google-like, but there is a distinctive design use there that separates it from the competition enough to be called unique. But it isn’t the colour scheme that I’m particularly interested in; I’m much more interested in the search results and feature capabilities. On those two topics I was pleasantly surprised by the relevance and clarity of results provided. My measure of usability relies on two things: how simple of a search I can do to retrieve the content and how relevant that content actually is to my needs.
Now, I have been using Google for years, I think I started when I was maybe 14, after I got tired of dealing with the poor returns of the heavyweights of the time: AltaVista and Ask. I used Google once and was hooked. Bing almost did the same thing for me as Google did to the previous reigning champions: it got me interested in my search results again. With their snippets of information beside each search, the cleanliness of the results page and most importantly getting me to my relevant content fast. It perplexed me how much I actually enjoyed using their service, and as of right now I use Bing as my default search provider.
Now I don’t tend to use many of the other services provided on a regular basis, such as image search and news group search, but from the little I use the services, I say that they are at an equal trade off: Google is a little faster, whereas Bing has a few more nice UI features. That being said, I don’t really consider those categories when I am comparing the two engines.
Overall, I have to say yes, Bing must be a real competitor to Google, since it seems to be swaying quite a few users back the Microsoft way, even for a short while. Also based on the fact that Google seems to be alert to this new competitor is interesting, as shortly after Microsoft began to see success with Bing, Google announced their entrance into the desktop operating system market. Now if that isn’t a knee-jerk reaction to Bing, then I don’t know what is. It will be interesting to see how these two giants battle it out over the next year or so, and it will also be interesting to see what people have to say about their experience with this new search competitor.
]]>
The MPAA... So Much Hate
There, now I feel much better being in the (1,1) column of this binary table of information love. Either way, share your comments on your beliefs about the internet.
]]>In better news, the work I am doing at my co-op with neuroLanguage is fantastic, such a great company and bunch of people. I’m doing relevant development work, which satiates my need for programming, and also has shown me a better way of thinking and programming. Quite fantastic really, and I’ve touched on every aspect from database administration, to programming, to team commits. Really has opened my eyes up to the rest of the world. I will take many things away from this co-op term, and hopefully it will improve my marks and my general working life skills.
In project news, I’ve decided to break down my original movie project into a more general database project (with the intent for doing movie, book, tv show, etc related listing and rating later on) and focus on some of the underlying technology ideas. What this includes is the regular expression generator, which is slowly progressing and getting refined (took a sideseat during my work term) and a natural language parser. Both are in progress, both have design documents ready to go, but it needs some time to develop and be perfected. It will be nice to finally work on a project big enough to be broken into sub-tasks.
Anyways, I will keep this updated as things unfold, and I will be putting up a Wiki site to keep track of my project progress as it goes. I can see this project being the one that sticks with me throughout the next couple years, whether it would be working on sub-components or developing full front-end work. If anyone is interested in working with me on this one, I will be providing moderator priviledge on the Wiki, and Team Commit on an SVN once the project reaches that state, and I would love this to become a team effort.
]]>Fantastic audio and video mashup of the song ‘Stand by Me,’ which started off as a basic recording of of a street artist, and as the authors collected more samples using just a laptop, camcorder and microphone from different groups around the world, it just became this masterpiece. The world may be smaller today with modern technology, but sometimes it is for the greater good.
]]>Project One: The RegEx String Generator
I’ve been toying with this for a while, mostly for content organization, testing and such. As a result I’ve started to develop a DLL that allows its users to give a regex string as an input and either ask for iterated values (such as iterating through all possible strings) or to generate random values. I think that something like this would allow for much easier application testing as you would only need to include the library in your project and run test patterns on it. So far it has literals support, integer (both range and digit iteratation), and soon will support character ranges (and traditional arguments such as ‘w’ in regex). Overall this is still a young project, but with promising results.
Project Two: Surface PC
Now that it’s summer and I will start earning some money again I can start to develop my surface pc. I have sourced some suppliers for the components, and aside from working out the projection setup (have to amplify the projection distance somehow) I have figured out most details. I’ve decided to forgo FTIR for my first table iteration, and will try using corner mounted linearly planed lasers. This apparently has a much brighter result for the camera and will also allow a narrow band filter to be applied to the lens, allowing for daytime operation (a limitation of most general design FTIR tables). Also, I will start to write some multi-touch applications in the near future, though the issue remains that I will not be able to test them until I am sure that the table is fully functional. The project budget is looking near $850, which isn’t too bad, considering that includes a projector and basically every component (aside from the PC itself, though I am looking at a high def silent PC with a budget of around $300, so this might be a silent, nearly instant-on touch PC when I’m done with it). More posts and details and a detailed walkthrough to come as I design and build the table!
All in all, this summer looks promising for side projects, and given that I have my weekends free this year (unlike previous years) I will finally be able to once again make some progress on development. Look back here mid June time for the start of the Surface PC saga.
]]>
For many do-it-yourselfer’s out there, multi-touch displays may have been something you thought was out of your league. In reality, Maximum PC’s research guys have shown us that we can make a Frustrated Total Internal Reflection (FTIR for short) table for around $350. That is fantastic news because you can be the proud owner of your own touch-capable PC without having to spend $12,000 on the equivalent Microsoft Hardware product. In short, this makes it easier for developers such as myself to build our own touch PC’s and start working on the interfaces of tomorrow.
Many of the methods they used cut considerable corners, and with a bit more thought and research it would be easy to see that a few tweaks here and there would not only make it stronger and easier to make but also cheaper. In their implementation they used IR LED’s all around the table and a variation onf vellum and silicon to form an impression system for the surface. And while these solutions were quick, cheap and easy, there is another solution which is a bit more efficient in my opinion, and I will detail it below.
In my combined solution, there would be a thicker sheet of acrylic with one edge cut at a 45 degree angle. then using mounting hardware along that edge, we would mount a medium density amount of LED’s (one every 3/4 of an inch) that work at 850nm wavelength. Then we would obtain a sheet of vellum (or white tissue paper possibly is better) and press it against the bottom of the LED mounted sheet of acrylic, and sandwich it with a thinner piece of acrylic (not necessarily as polished of edges). By sandwhiching the vellum (tissue paper) we reduce the noise and provide a more even continuous surface of paper (making it seem more screen like) as well as enhance the touch capabilites of the screen. The single row of medium density LED count allows for fewer LED’s overall and allows for a cleaner hardware design, less interference and a clearer image when using a PS3 eye toy. In the eye toy, using a double or triple layer of colour film negative, it would filter out all light but the IR light cleanly. So we would have a noiseless, clean table surface and a clearer camera image. These improvements would overall reduce the cost of the project by significantly reducing the hardware cost for the LED’s and mounting them. I plan to put them to use when I get started on my surface HTPC (summer project). I will keep my blog posted as we move into the summer months!
]]>The paper details research that other individuals have done into the sustainability of file systems in various environments, and I relate them to their importance to flash memory. File systems are going to need to undergo a drastic redesign in the next few years if we are to provide faster technology that can handle higher bandwidth media either locally or through network storage. I also included a short section on DIY information for flash storage solutions out of simple USB enabled flash memory that would allow an individual to obtain speeds faster than traditional hard drives. The scope of the material is limited, but I will be posting a tutorial in the near future in relation to how to mount yourself a flash RAID out of your USB keys as well as recommended file systems for the fastest access times and wear leveling. For more information, I have posted the paper in my repository under ‘Papers’ and it is free for all to read, use and critique. If you have any comments, feel free to leave them below. Also, a follow up on my Web 2.0 concepts soon to come.
]]>