October 2006 - Posts
Lately I hear about a lot of people using VPC that their keyboard suddenly stops working inside VPC.
There are a different number of keyboard issues I've heard of so far:
- Keyboard stops working all together.
- Keyboard freaks out. (CTRL key stuck)
- Keyboard and mouse lock up.
The first issue is the one I hear the most, and which someone managed to perform on one of my VPC's lately.
It's quite hard to reproduce, if able to at all, but apparently it feels to trigger the most from fullscreen/windowed switching.
But, no more chatting, the (very simple) solution:
Lock and unlock the host computer. Problem fixed, keyboard working again.
The first time someone had a locked keyboard again, I tried this, and it worked! :)
A solution for the other issues are apparently:
- Freaking: A bug in VPC apparently prevents to let go out the CTRL key when you use the AltGr key to simulate CTRL+ALT (when switching to fullscreen?). Which means in practice Windows sees the CTRL key as being kept down. Rumored solutions are to press CTRL inside the VPC, or/and to use your Right CTRL to do special VPC operations instead of AltGr.
- Keyboard and mouse lock up: Apparently there's a hotfix somewhere out there, or at least one exists but has to be requested. I remember it being mentioned somewhere, the only comfort I can offer is that there is hope there is a fix for you, but you'll have to search a bit.
A long time ago, I talked about Differencing Disks in Virtual PC.
Most people just have a base image and difference from that. A fairly basic technique by now.
The next step however, is to think about differencing from a differencing disk.
Using this technique you can set up the following collection:
- Clean Windows 2003 VPC - Normal VPC HD
- Differenced disk with SQL 2000 installed
- Your differencing disks if you need to test 2003+Sql2000.
- Differenced disk with SQL 2005 installed
- Your differencing disks if you need 2003+Sql2005.
- Your differencing disks if you have no need for SQL (the basic differencing technique)
- Clean Windows XP VPC - Normal VPC HD
- Differenced disk with SQL 2000 installed
- Your differencing disks if you need to test XP+Sql2000.
- Differenced disk with SQL 2005 installed
- Your differencing disks if you need XP+Sql2005.
- Your differencing disks if you have no need for SQL (the basic differencing technique)
Normally we just talked about a base image. The term I'm using to refer to the above setup (the non-italic HD's) is a base collection.
Creating these 6 Virtual PC Hard Disks and putting them on a share somewhere gives you a lot of flexibility if you need to test something on different platforms without having to use the undo disks as a differencing level to throw away after you're done testing.
You simply create a new VPC now, make a differencing disk from the platform you want (for example: Testing Community Server on Windows 2003 with SQL Server 2005), start it and install your software. And when you're done testing you can simply delete that VPC if you want. You can enable undo disks on this disk if you want.
Conclusion:
Knowing that you can create differencing disks from differencing disks will allow you to come up with some interesting scheme's.
Internet Explorer 6 was officially released.
What just happened? After 5 years, we got a new version of IE.
Time for all webdevelopers out there to add the final release of IE7 to their list of browsers to test sites on. Now it has finally left beta stages, more people will probably start using the latest version, meaning more users that will see possible errors on your sites.
Internet Explorer 7 Download Page (current download version was 7.0.5730.11 when I downloaded it)
Some nifty SQL statements I made last week:
Firstly, listing all databases on a server.
-- Get Databases
SELECT name FROM master.dbo.sysdatabases ORDER BY name
Secondly, a way to get all the user-created stored procedures from a database.
-- Get Stored Procedures
-- Type = 'P' --> Stored Procedure.
-- Category = 0 --> User Created.
SELECT * FROM sysobjects WHERE type = 'P' AND category = 0 ORDER BY name
Then we can retrieve the content of the stored procedure with the following query:
-- Get Stored Procedure Content
-- Name = Stored Procedure Name.
-- Colid = Multiple lines, their sequence.
SELECT text
FROM syscomments
WHERE id = (SELECT id FROM sysobjects WHERE name = '{0}')
ORDER BY colid
In C# you could concatenate the returned records to get the full stored procedure content.
However, do mind the encrypted column in syscomments. The above queries work fine when this is 0. So you might want to add some checking, and in case it's encrypted you could first decrypt it and then display it. But you'll have to figure out how to do that yourself :)
This week I started playing around with Managed DirectX (MDX) and it's a really fun thing. I attempted it a couple of times a long time ago, but never quite understood it, but now I have a good feeling about it, a sense of order and structure has shown itself in DirectX code.
I'll probably blog more about my experiences with it in the future, but here are some of the great resources that made me see the light:
- Craig Andera's Direct3D Wiki
- 16 very clear chapters on what's involved about MDX. This resource gave me the basic understanding.
- Kalme's Yaboc 2.5D Tutorial
- A step by step tutorial about MDX and Visual Studio 2005. Created the bricks game by using game states, utility classes and classes for managing multiple sprites has shown me a very nice structure on how to structure your solution for these kind of games. This will most definitely be the base I'm going to start from when trying to write Pong :)
- The ZBuffer
- A huge collection of links to other's their tutorials and other resources. Most likely the first place I'll check when needing something.
- Tom Miller's Blog
- An MSDN Blog about DirectX, need more explanation? :) This Render Loop article shows some of the posts on Tom's blog, definitely gave me a better view on the importance of a good render loop.
- MDX info
- A very nice site with some good examples and ideas, and which I'll probably be using a lot when I'll learn the more advanced stuff.
These links were my starting point for gaining knowledge about DirectX, and I would recommend them to everyone wanting to play with DirectX.
Some other links I'm checking out and which will probably help me in the future:
- Using Lua with C#
- Craig Andera's DirectSound Wiki
- The Direct3D part helped me build a nice background, when adding sound to a game I'll be using this one.
- Lidgren.Library.Network
- An UDP C# Library which I probably will be using when I have to add networking to a game. Since DirectPlay is deprecated it means using System.Net to provide networking. Which you could either write from scratch, with bugs and which someone else probably already did before you, or use a library, this one seems a very clean one.
Well, what have I done during the last year? First of all, I graduated from school with highest distinction and got a job as a webdeveloper, creating ASP.NET sites. Actually, I helped to come up with and create a rather generic cms-like framework that is being used for all future sites, cutting back on development time when administration sections have to be made, and when a lot of re-occurring things have to be implemented in a site. That's about the only vague description I can give, since it's "top secret" ;)
After a year, I changed jobs, to my current job. I'm now officially a Technical Consultant at Financial Architects. Finarch is, as the name gives away, a company active on the financial market, with a datawarehousing solution. Where-as I'll be implementing this solution, with a team of consultants, at clients. The main reasons I went for this function are firstly the fact I've been specifically hired to go abroad, which is a very nice opportunity for me, seeing I'm still young and have to take advantage of that fact. Secondly, it's a whole new world I can learn from, and as a consultant, you're expected to know your stuff, which means I'll be learning a lot of new things, which is always a fun thing :)
That's about it. It doesn't seem much, adjusting from school life to working life took some time for me, but blog posts should be coming again now. I also dumped World of Warcraft, so I finally have spare time again!
The first techy mention again on this blog since long:
This post is written with Windows Live Writer (Beta) and I really like it! It integrates smoothly in Community Server (which this blog is running on). It downloaded my blog style, allowing my to type this post in the style my blog is in, with the correct colors, and allowing me to get a live preview before publishing. And it has a built in spell checker.
I'll try out the image-inserting abilities a bit later, in my coming posts. The bad part is that it doesn't have tagging support for Community Server, or at least, I can't find it right away. Ok, it has support, it's just listed under Categories in the upper right corner, which I looked over.
More Posts