Categories
Navigation
MVP
Microsoft MVP (since 2006) in the XNA/DirectX category

Tag cloud
Ajax (8) All (206) Arena Wars (21) Boo (4) BroodWar (8) Conferences (1) Development (44) Game Development (142) IronPython (3) Lost Squadron (17) Lua (6) meinSport.de (4) Other (150) Polynapping (12) Programming (156) Racing Game (7) Reviews (76) Rocket Commander (49) Silverlight (10) SQL (1) StudiHelp.de (2) XNA (40)
On this page
Archive
| April, 2008 (1) |
| March, 2008 (1) |
| February, 2008 (3) |
| January, 2008 (4) |
| December, 2007 (2) |
| November, 2007 (2) |
| September, 2007 (2) |
| August, 2007 (2) |
| July, 2007 (10) |
| June, 2007 (6) |
| May, 2007 (9) |
| April, 2007 (11) |
| March, 2007 (10) |
| February, 2007 (3) |
| January, 2007 (1) |
| December, 2006 (4) |
| November, 2006 (13) |
| October, 2006 (1) |
| August, 2006 (14) |
| July, 2006 (5) |
| June, 2006 (7) |
| May, 2006 (9) |
| April, 2006 (5) |
| March, 2006 (8) |
| February, 2006 (8) |
| January, 2006 (2) |
| December, 2005 (9) |
| November, 2005 (7) |
| October, 2005 (5) |
| September, 2005 (2) |
| August, 2005 (5) |
| July, 2005 (2) |
| May, 2005 (2) |
| January, 2005 (2) |
| December, 2004 (16) |
| November, 2004 (12) |
| October, 2004 (8) |
Popular
Blogroll
Projects
Arena Wars (2004)

Rocket Commander (2006)

Pizza Commander (2006)

Rocket Racer (2006)

Coop Commander (2006)

Flower Commander (2006)

Fruit Commander (2006)

Euro Vernichter (2003)

Lost Squadron (2005)

Zombie Quest (very simple 2D Adventure, 2006)

Freifunk Hannover project (GoogleMaps support)

Older projects (2000 and earlier)

MeinSport.de - German Sport Community Site

About
About me: Contact

Email: 
Total Posts: 213 This Year: 9 This Month: 0 This Week: 0 Comments: 403
|
Made with
 |
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in anyway.
| | 
My brothers
netfreak.de

mirkman.de

Sign In
|
Thursday, May 12, 2005 2:27:04 AM UTC ( All | Game Development | Other | Programming )

What is this about? Read more about Visual Studio Team System here:
http://lab.msdn.microsoft.com/teamsystem/gettingstarted/default.aspx
Quick links
Overview
You can get VS2005 Beta2 as a MSDN subscriber or get the Visual Studio Team Suite Beta Expericene Kit here (for just 10 bucks, which is the cost of shipping): http://msdn.microsoft.com/getthebetas/
Installing Visual Studio Team Foundation (VSTF) when knowing what to do, takes around 5-10 hours, installing without much of a clue (like most of us) can take a couple of frustrating days. Most of the time you are waiting for an installation to complete, have a good book nearby :)
Don't install VSTF if you don't have the time for it, its still a Beta and the installation process is horrible (better than for CTP1, but in no way userfriendly).
First of all: I tried installing Windows 2003 Server to a Virtual PC 2004 and then doing all the steps described in the installer instructions, but it got WAY to slow. I got so many problems I started everything over with Virtual Server 2005, which worked much better and didn't cause any headaches when restarting or closing any remote control window. You can also use VMWare, which is a bit faster,
but still you will only get around 50% of the normal performance, read more about this here.
I got everything working with Virtual Server 2005, BUT its so freaking slow, its no fun to use (and you might get some timeouts while installing or creating projects, which may cause trouble). I had to wait up to several minutes until the VSTF server reacted, the overhead for the sql and vstf services is huge. For just checking VSTF out this is fine, but for using it, you should have a fast server.
Only for this reason I would really recomment installing everything on a single extra computer, start from a clean OS and work your way through the installation, if you have enough computers, you might also try the 2 server installation (1 data tier and 1 app tier). Before starting you might also want to set up an Active Directory domain (if you don't have one yet) and the required accounts for Team Foundation Server.
The TFSSetup account must be a domain account and have admin rights at the time of the installation, the TFSService account will work fine for the installation, but you might have to create a new account for the first login on your client machine later on. Install Win2003 and then use VNC to continue working, you will need a lot of copy+pasting, which is much easier to do from your comfortable PC ^^
Installer Notes
This are my Visual Studio 2005 Beta 2 Team Foundation Server CTP (April 2005) Installer notes:
Additional Notes:
- Creating a project on the client might fail with a timeout (Rosetta stuff timed out) if the server is busy, this happend to me twice, so I suggest creating your first project directly on the server (with VS2005, just install the client tier). If the project creation failed on your client, just do it again with the same settings on the server and you should be fine (else you will have an unfinished project, not very pretty).
- Little tip at the end: You need a user to create anything in VSTF, if you are using VS2005 Beta2, just use "Run as" and enter your TFSSetup account, now create a new project and create a user for you as described in the official guide (you need a active directory account):
- On the Team menu, point to Team Foundation Server Settings, and then click Groups.
- In the Global Groups dialog box, select the group you want to add users to, and then click Properties.
- In the Team Foundation Server Group Properties dialog box, on the Members tab, select Windows User or Group, and then click Add.
- In the Select User Names or Groups dialog box, enter the domain name and username of the users you want to add.
Now close VS2005 Beta2 and log on with your new account.
- Time to read the Process Guidance, fill data into your project and start working :)
Useful Links
Just browse to the msdn forums and search there if you have a problem, maybe someone before you already had it and it was solved: http://forums.microsoft.com/msdn/
Most helpful link for me (stsadm + full trust issues for report service):
Other links:
Errors
Optional section in case you have problems installing:
- I only needed this one time because something went wrong with SharePoint, you might want to skip this if everything is working fine. Also use this if the first attempt failed and you try again reinstalling (after restoring the pre VSTF installation state):
- If http://localhost/ site is not working (it should point to the team web site, same as http://localhost/Reports/), make sure the following line exists in the HttpModules section of C:\Inetpub\wwwroot\web.config:
<add name="Session" type="System.Web.SessionState.SessionStateModule" />
(That entry will already exist, but it is commented out, remove the <!-- and --> comment tags.)
In addition to adding the session state module, you must also enable session state for the pages element by changing the enableSessionState attribute from false to true. The entry in the configuration files should look like the following:
<pages enableSessionState="true" enableViewState="true" enableViewStateMac="true" validateRequest="false" />
- Finally (this is optional, but it doesn't hurt), use the rsactivate utility to activate the local instance of Reporting Services. You need to install Administrative Tools and Utilities as part of Reporting Services setup in order to use the rsactivate utility. By default, rsactivate is located at C:\Program Files\Microsoft SQL Server\80\Tools\Binn. If you installed your report server to the default location, run the following at the command prompt:
rsactivate -c "C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\RSReportServer.config"
- I would also restart the System now (again) if you did the past 3 steps to make sure all services start up correctly.
VSTF Installer Abort Errors:
- Issue: Setup fails when installing ADAM (Active Directory Application Mode).
This happend for me because I failed to logon with TFSService and continued installing with TFSSetup. I guess Active Directory authentication failed, there were also a lot of NetLogon errors in the system event log (no domain server found stuff).
After installing Active Directory correctly and no more NetLogon errors the installation succeeded finally. If you install Active Directory after IIS, Sql Server 2005 and SharePoint, make sure the http://localhost/Reports and http://localhost/ReportServer/ReportService.asmx work. You might have to adjust the security settings for some folders for the network service used for this websites on the following folders: C:\Windows\Microsoft.NET, C:\Windows\Temp and maybe more, check out the site error for additional dependencies.
- Error 26xxx (I don't remember the exact number anymore, 26201, 26202, 26204 or so):
I had them only in my first try and the reason was wrong order of installing SharePoint services stuffand not putting it in a seperate app pool, worked after fixing that. Google for your error if it is not sharepoint causing this trouble.
- Error 32000 (most common)
The full error is most likely: "Error 32000: The command line "C:\Program Files\Microsoft Visual Studio 2005 Enterprise Server\BISIISDIR\sdk\bin\BisSubscribe/exe" /eventType ArtifactChangedEvent /userid Domain\TFSSERVICE /deliveryType Soap /Address http://localhost:8080/Currituck/BisService.asmx" returned non zero value: 1."
- BISIIS stuff, this is the error I had the most time when installing, retry did help for timeout issues, but did not help when something else was wrong.
It usually means something above failed and you are in trouble (either you did not follow some of the tips or there is something wrong with some web service components, check the installation log for more details and search for help at google and http://forums.microsoft.com/msdn/).
- Basically check if sql stuff (4 services) are running and localhost/reports and /reportserver do work without errors.
- Check out the Useful links section.
Reinstalling:
- The only way reinstalling worked for me in the first try was to completly reinstall windows 2003 OR using a backup (described above) to restore a previous disk drive state. The other suggestions here might work too, but I didn't got them working, so I won't recomment them.
- This might also work: For Reinstall delete any vstf directories, uninstall ADAM, remove TFSService from security in SQL manager and delete all VSFT databases.
- My TFSService account didn't work for my second install so I kept retrying and created a new account, it did not work either (maybe some kind of AD login error). Trying to fix this I logged out with TFSSetup and logged on with that account (TFSService) and then logged out and used TFSSetup again to install. That didn't help, I continued using a backup and started over (at least that worked ^^).
See above for the Active Directory issue (which was the cause for this problem).
- Then installing worked until I got some error with a temp file, then ADAM install failed, after
I removed some files, that worked, but then the MSI installer failed with some HRESULT with not much
help about it when searching google.
Instead continuing pocking around for more hours I just reinstalled Win2003 and started over using my plan here, then finally everything worked. The full reinstall did take less time than fixing all those errors, which is really annoying and frustrating. Reinstalling works most of the time by itself, you just have to press some buttons and wait for the most time.
|
Wednesday, May 04, 2005 12:16:20 AM UTC ( All | Arena Wars | Game Development | Lost Squadron | Other | Programming )
|
Hey now, I'm back again. Lets just pretend I didn't stop blogging the last
couple of months ^^ From now on I will try to post stuff every other week,
I still got some interessting topics.
Quick links
About Lost Squadron
The project was paused because I got noone modeling the
missing models (my intern Ivo quit in the middle of the project because he
had to find a job), most of the engine and game logic is pretty much finished
(and has gotten way more complicated than planed). I will post some screens
and info from time to time, usually I will finish up projects like this some
later time when I got the missing resources or time (maybe next chrismas).
Sorry for not informing you about the latest progress, but I talked myself into
continuing the project and realised to late I can't finish it on my own now.
Currently we at exDream have finally started working on the next project and
will produce a nice graphic demo/prototype in the next 3 month. I will try to
sneak in a couple of screenshots of it from time to time.
Todays topic
A new effective keyboard layout for programmers, especially for c# and c++:
abi/blog/abiKeyboardV9.zip">Download AbiKeyboardV9 installer
abi/blog/CountMostUsedKeys.zip">Download the CountMostUsedKeys program (see below)
abi/blog/CountMostUsedKeys_src.zip">CountMostUsedKeys source code for anyone interessted.
2 years ago I was talking with a friend about my english keyboard
layout and discussing why it is way better than the german keyboard layout for
programming (for some keys you even need a special alt gr key combination).
The english keyboard is better because the symbol keys like ()[]{}'":;/ etc.
are positioned more effective. This is the english keyboard for comparsion
with Dvorak and my own layouts below:
We talked a bit about other keyboard layouts like Dvorak, which is way more
effective and relaxing than any qwerty layout, but I got no free time back
then. You will need around a week to learn to type at low speeds and at
least a month to get back to a better typing speed.
Dvorak
This is the Dvorak us keyboard layout (you can simply select it in windows,
it is pre installed and can be used like any other keyboard layout):
After Arena Wars was finished last year I got finally some time to start
learning Dvorak. Dvorak seems very nice (see the links below for additional
information) and has a lot of advantages for typing "normal" text (but some
people exaggerate "a little").
Anyway, while playing around with Dvorak (us default layout) I really found
some things VERY annoying, especially for coding and playing games:
- It is fairly hard to learn a new layout and getting really back to the old
speed again. Additionally hotkeys you typical need on a computer are totally
crazy and unusable. Hard to learn when you used QWERTY all your life, learning
can be done in a week or so, but really being able to get back to your old
speed can take months (and is painful).
- Ctrl+X, Ctrl+C, Ctrl+V can't be used as easy. I always use my left hand while
my right hand can use the mouse, especially for browsing, code comparing,
getting text from one place to another, etc. and all this happens VERY often!
I know you can also use Shift+Insert, Ctrl+Insert, Shift+Delete, but these
shortkeys are just plain unuseable, maybe for lefties, but the keys still suck.
- Hotkeys can't be used the way they used to be, for some games its possible to
change hotkeys, for others not (like starcraft, at least its not easy to change)
This does not only apply to games, but also a lot for applications, especially
when you remembered just the location where to press and not the name of the hotkey,
e.g. when using photoshop, you have to re-learn the hotkeys. Also stuff like Ctrl+S,
Ctrl+O, Ctrl+F, Ctrl+R, etc. is usually remembered by the positions on the keyboard
and not by the key and relearning this keys is pretty hard!
- Dvorak is optimized for typical english words, but not for programming, some keys
are even worse than the german keyboard layout. But what I really don't like is the
way Dvorak handles symbols like []{};:?+-/, etc.
Its not that QWERTY is really good for coding, especially when typing stuff like ()
or -, = or +, but overall it performs still better than Dvorak (counting only symbols).
I've also collected some interessting facts when comparing Dvorak and QWERTY considering
c#/c++/java code. Click this link to test it yourself.
- When pasting random stuff into the Keyboard Compare Applet, QWERTY performs
almost twice as good as Dvorak (Note: We are not random key generators,
usually we type text or code which makes sense ^^).
- When just pasting c# code stuff without much text like
if ( a == 0 )
{
doIt( a!=0?a:0 );
} // if
QWERTY still outperforms Dvorak, which can't be good!
I wanted to code faster and not slower, I don't know anyone using Dvorak
anyway and I could not care less if others can use my keyboard layout or not
(since I use an english keyboard layout anyway and other (german) people
can't even use that ^^).
I created my own keyboard layout to solve all the problems (yeah, now its
getting real geeky), but I based it on the Dvorak layout, which is really
efficient and nice for typing "normal" text (which is still required a lot,
even by crazy coders).
To solve the Ctrl+X, Ctrl+C, Ctrl+V problem I simply moved that keys
to the QWERTY position and exchange the other keys accordingly. This didn't
matter much because there isn't much of a difference between X,C,V and
Q,J,K according to the key usage (see below).
At this time I was already using Dvorak for about a week or two and had spend
a lot of effort into learning and thinking about improvement, I wanted a
perfect solution. I checked typical c# and c++ code and wrote a program to
count how often each key is used. Now I got the most important keys and
asigned the best spot for each symbol using the distance (see the
Keyboard Compare Applet) and how much it is used. Using shift is also
a major impact IMO, especially when keys are far away.
So I wrote a little test program to count the used keys in all my *.cs files
in my code folder, check out the results below.
Screenshot of the program (I improved it yesterday, it was a console tool before):
abi/blog/CountMostUsedKeys.zip">Download the CountMostUsedKeys program.
abi/blog/CountMostUsedKeys_src.zip">And the source code for anyone interessted
(may be useful if you want to write some line count tool yourself)
CountMostUsedKeys results:
Search mode=Everything, File type=*.cs, Directory=C:\code\
Number of files=4041, Number of lines=2031908, Number of keys=67829575
| Type: | Keycode: 32 | 10,1% | (6851259 times used) |
| Type: e | Keycode: 101 | 7,21% | (4887698 times used) |
| Type: t | Keycode: 116 | 5,2% | (3525648 times used) |
| Type: a | Keycode: 97 | 4,13% | (2802961 times used) |
| Type: r | Keycode: 114 | 4,06% | (2754960 times used) |
| Type: i | Keycode: 105 | 3,93% | (2663137 times used) |
| Type: n | Keycode: 110 | 3,68% | (2494441 times used) |
| Type: o | Keycode: 111 | 3,39% | (2298022 times used) |
| Type: s | Keycode: 115 | 3,24% | (2195958 times used) |
| Type: l | Keycode: 108 | 2,61% | (1769538 times used) |
| Type: / | Keycode: 47 | 2,52% | (1710099 times used) |
| Type: u | Keycode: 117 | 1,99% | (1349478 times used) |
| Type: m | Keycode: 109 | 1,91% | (1298573 times used) |
| Type: c | Keycode: 99 | 1,77% | (1201477 times used) |
| Type: d | Keycode: 100 | 1,77% | (1198823 times used) |
| Type: . | Keycode: 46 | 1,42% | (964040 times used) |
| Type: p | Keycode: 112 | 1,41% | (956931 times used) |
| Type: g | Keycode: 103 | 1,23% | (832686 times used) |
| Type: f | Keycode: 102 | 1,22% | (827820 times used) |
| Type: y | Keycode: 121 | 1,15% | (783356 times used) |
| Type: h | Keycode: 104 | 1,11% | (753548 times used) |
| Type: ) | Keycode: 41 | 1,09% | (739711 times used) |
| Type: ( | Keycode: 40 | 1,09% | (736841 times used) |
| Type: ; | Keycode: 59 | 0,86% | (580753 times used) |
| Type: b | Keycode: 98 | 0,79% | (532778 times used) |
| Type: , | Keycode: 44 | 0,76% | (512629 times used) |
| Type: = | Keycode: 61 | 0,74% | (503579 times used) |
| Type: w | Keycode: 119 | 0,62% | (419356 times used) |
| etc. |
Note: This stuff does NOT represent every key pressed, hotkeys and errors
and corrections are obviously not saved in the text files.
Same results without space and letters, very useful to assign the most important
symbol keys:
Search mode=ExceptLetters
| Type: / | Keycode: 47 | 2,52% | (1710099 times used) |
| Type: . | Keycode: 46 | 1,42% | (964040 times used) |
| Type: ) | Keycode: 41 | 1,09% | (739711 times used) |
| Type: ( | Keycode: 40 | 1,09% | (736841 times used) |
| Type: ; | Keycode: 59 | 0,86% | (580753 times used) |
| Type: , | Keycode: 44 | 0,76% | (512629 times used) |
| Type: = | Keycode: 61 | 0,74% | (503579 times used) |
| Type: " | Keycode: 34 | 0,38% | (255445 times used) |
| Type: < | Keycode: 60 | 0,32% | (213786 times used) |
| Type: > | Keycode: 62 | 0,3% | (203429 times used) |
| Type: } | Keycode: 125 | 0,28% | (187354 times used) |
| Type: { | Keycode: 123 | 0,28% | (187017 times used) |
| Type: + | Keycode: 43 | 0,27% | (181705 times used) |
| Type: - | Keycode: 45 | 0,24% | (159515 times used) |
| Type: ] | Keycode: 93 | 0,19% | (130828 times used) |
| Type: [ | Keycode: 91 | 0,19% | (130687 times used) |
| Type: _ | Keycode: 95 | 0,13% | (89213 times used) |
| Type: * | Keycode: 42 | 0,12% | (83203 times used) |
| Type: : | Keycode: 58 | 0,11% | (77487 times used) |
| Type: ! | Keycode: 33 | 0,1% | (64444 times used) |
| Type: & | Keycode: 38 | 0,09% | (58918 times used) |
| Type: # | Keycode: 35 | 0,07% | (47258 times used) |
| Type: | | Keycode: 124 | 0,05% | (34348 times used) |
| Type: ' | Keycode: 39 | 0,05% | (31284 times used) |
| Type: ? | Keycode: 63 | 0,03% | (19709 times used) |
| Type: \ | Keycode: 92 | 0,02% | (15340 times used) |
| Type: % | Keycode: 37 | 0,01% | (7019 times used) |
| etc. |
Based on that I created my own keyboard layout, which was updated 9 times
until I was happy with it.
Version 1 looked like this (pretty much like dvorak, some cosmetic changes at the right side):
Version 2: The next thing I did was moved the Z X C V keys back and copied some
keys around, () are moved to normal keys, () is used much more than [] or {}.
In Version 3-6 I tried moving some keys around based on the distance and
effectiveness, but I moved most of them back because they felt really
uncomfortable and were bad for hotkeys. One bigger change was moving the
. , () keys back down, which improves typing speed a lot because we really
need more keys on the left side when using the mouse with the right hand and
when typing the right hand can easily handle most of the symbol keys on the
right side.
Version 7 was pretty much the final version, I trained this version a week
and except some minor cosmetic changes in the upper row everything stayed
this way till the last version:
Version 8 and 9 changed only the positions of J D F K B and the ? | and + -
keys, at first I didn't like the position for b at the right side, but b is
used a lot in combination with vocal keys unlike j, it is much better to have
it on the right side. The + - key on the upper left is now the same as the
key on the lower right (which is not present on all keyboards).
This is the final Version 9 I am using for nearly 6 months now, I got up to
my old speed in the first 1-2 months and now I type even faster and more
relaxed than before (maybe around 400 keystrokes per minute for normal text
if I try hard). I wouldn't suggest changing your keyboard layout just
because you might be a little faster with Dvorak or my keyboard layout,
I think the comfortablity is at least as important as the speed. In my option
the greatest thing about my keyboard layout (or dvorak for normal text) is the fact you can type most of
the time without moving your fingers much (90% of the most used keys are
directly on the center row).
abi/blog/abiKeyboardV9.zip">Download AbiKeyboardV9 installer
I was not trying to create the best keyboard layout ever or to make Dvorak
obsolete, I just want to improve it for me and other interessted programmer.
If you get started with Dvorak or my keyboard layout you should use some keyboard
training tool and spend a couple of hours (but not much longer) each day training
it. I found this website very useful: Learning Dvorak
The main reason I wrote this article now was the nagging of some people I told
about this and who wanted to know more, so keep nagging if you want to see
articles like this :)
If you got comments or some ideas to improve this even more, let me now!
Useful links
Introducing Dvorak
Keyboard Compare Applet (nice)
Best keyboard layout creation tool, hidden and hard to find, but this is the only free useful keyboard layout creation tool.
The Dvorak Keyboard and You
Changed Dvorak for similar symbol keys
Learning Dvorak
Pic of Dvorak default Layout (us)
Critik to Dvorak
Keyboard Layout Manager (allows to change keyboard layouts) It's shareware.
Some discussions about Dvorak (coder related):
Dvorak discussion 1
Dvorak discussion 2
Dvorak discussion 3
|
|
|