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

A new more effective keyboard layout for programmers

Archive

Popular

My Bookmarks
CR_Commenter Update v1...
Contact
A new more effective k...
Getting XNA to work in...
How to write a CodeRus...
NormalMapCompressor v1...
English Rocket Command...
Migrating ASP.NET VS20...
The year 2005 - Review...
Rocket Commander V1.1 ...
New look for www.exDre...

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

Send mail to the author(s) 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.

RSS 2.0 | Atom 1.0 | CDF

My brothers

netfreak.de

mirkman.de

Sign In

 Wednesday, May 04, 2005
Wednesday, May 04, 2005 12:16:20 AM UTC (  |  |  |  |  |  )
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: 3210,1%(6851259 times used)
Type: eKeycode: 1017,21%(4887698 times used)
Type: tKeycode: 1165,2%(3525648 times used)
Type: aKeycode: 974,13%(2802961 times used)
Type: rKeycode: 1144,06%(2754960 times used)
Type: iKeycode: 1053,93%(2663137 times used)
Type: nKeycode: 1103,68%(2494441 times used)
Type: oKeycode: 1113,39%(2298022 times used)
Type: sKeycode: 1153,24%(2195958 times used)
Type: lKeycode: 1082,61%(1769538 times used)
Type: /Keycode: 472,52%(1710099 times used)
Type: uKeycode: 1171,99%(1349478 times used)
Type: mKeycode: 1091,91%(1298573 times used)
Type: cKeycode: 991,77%(1201477 times used)
Type: dKeycode: 1001,77%(1198823 times used)
Type: .Keycode: 461,42%(964040 times used)
Type: pKeycode: 1121,41%(956931 times used)
Type: gKeycode: 1031,23%(832686 times used)
Type: fKeycode: 1021,22%(827820 times used)
Type: yKeycode: 1211,15%(783356 times used)
Type: hKeycode: 1041,11%(753548 times used)
Type: )Keycode: 411,09%(739711 times used)
Type: (Keycode: 401,09%(736841 times used)
Type: ;Keycode: 590,86%(580753 times used)
Type: bKeycode: 980,79%(532778 times used)
Type: ,Keycode: 440,76%(512629 times used)
Type: =Keycode: 610,74%(503579 times used)
Type: wKeycode: 1190,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: 472,52%(1710099 times used)
Type: .Keycode: 461,42%(964040 times used)
Type: )Keycode: 411,09%(739711 times used)
Type: (Keycode: 401,09%(736841 times used)
Type: ;Keycode: 590,86%(580753 times used)
Type: ,Keycode: 440,76%(512629 times used)
Type: =Keycode: 610,74%(503579 times used)
Type: "Keycode: 340,38%(255445 times used)
Type: <Keycode: 600,32%(213786 times used)
Type: >Keycode: 620,3%(203429 times used)
Type: }Keycode: 1250,28%(187354 times used)
Type: {Keycode: 1230,28%(187017 times used)
Type: +Keycode: 430,27%(181705 times used)
Type: -Keycode: 450,24%(159515 times used)
Type: ]Keycode: 930,19%(130828 times used)
Type: [Keycode: 910,19%(130687 times used)
Type: _Keycode: 950,13%(89213 times used)
Type: *Keycode: 420,12%(83203 times used)
Type: :Keycode: 580,11%(77487 times used)
Type: !Keycode: 330,1%(64444 times used)
Type: &Keycode: 380,09%(58918 times used)
Type: #Keycode: 350,07%(47258 times used)
Type: |Keycode: 1240,05%(34348 times used)
Type: 'Keycode: 390,05%(31284 times used)
Type: ?Keycode: 630,03%(19709 times used)
Type: \Keycode: 920,02%(15340 times used)
Type: %Keycode: 370,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
Comments [4] | Trackback | # 
Related posts:
This blog has moved!
My day at the CeBIT 2008
All XNA Games converted to XNA 2.0 from Rocket Commander to the Racing Game.
Pics from my new office in Hamburg
Converting XNA 1.0 Projects to XNA 2.0
SQL Tools for synchronizing databases
Tracked by:
http://www.google.com/search?q=gwoivdyg [Pingback]
"Galaxy Portfolio Services" (Galaxy Portfolio Services) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"backsoon" (backsoon) [Trackback]
"halifest" (halifest) [Trackback]
"Socialist Appeal" (Socialist Appeal) [Trackback]
"fuck that, fuck them, fuck everyone else." (fuck that, fuck them, fuck everyone... [Trackback]
"4839_architectonic - Departurebanish.com" (4839_architectonic - Departurebanish... [Trackback]
"Over N Out. :: Index" (Over N Out. :: Index) [Trackback]
"Departurebanish.com" (Departurebanish.com) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"Running The Guard... NYHC" (Running The Guard... NYHC) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"CHARA. reppin' pei" (CHARA. reppin' pei) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"Non-party - Departurebanish.com" (Non-party - Departurebanish.com) [Trackback]
http://www.setfirestudios.com/main.php [Trackback]
"Baylor - Departurebanish.com" (Baylor - Departurebanish.com) [Trackback]
"Untitled Document" (Untitled Document) [Trackback]
"She Kills dot com bitches." (She Kills dot com bitches.) [Trackback]
"8533 - Departurebanish.com" (8533 - Departurebanish.com) [Trackback]
"4 < 9" (4 < 9) [Trackback]
http://www.setfirestudios.com/work.php [Trackback]
"AlloyMail" (AlloyMail) [Trackback]
"Camera Whores!!!" (Camera Whores!!!) [Trackback]
"Bus Pass" (Bus Pass) [Trackback]
"Law-unto-itself - Departurebanish.com" (Law-unto-itself - Departurebanish.com) [Trackback]
"Athenian_622 - Departurebanish.com" (Athenian_622 - Departurebanish.com) [Trackback]
"1471 - Departurebanish.com" (1471 - Departurebanish.com) [Trackback]
http://www.setfirestudios.com/contacts.php [Trackback]
"Circumstances_8558 - Departurebanish.com" (Circumstances_8558 - Departurebanish... [Trackback]
"Erica Funghi Snc" (Erica Funghi Snc) [Trackback]
"Suggestion_2469 - Departurebanish.com" (Suggestion_2469 - Departurebanish.com) [Trackback]
"Deutsche Lebens Rettungs Gesellschaft eV (DLRG)" (Deutsche Lebens Rettungs Gese... [Trackback]
"2029_guiftes - Departurebanish.com" (2029_guiftes - Departurebanish.com) [Trackback]
"Visual Elements: The Alkaline Earth Metals" (Visual Elements: The Alkaline Eart... [Trackback]
http://www.google.com/search?q=gkcntoun [Pingback]
"stat quo high beams" (stat quo high beams) [Trackback]
"plastic model helicopters" (plastic model helicopters) [Trackback]
"tallahassee realty" (tallahassee realty) [Trackback]
"thomas richter copywriter" (thomas richter copywriter) [Trackback]
"hotel 4 stella napoli" (hotel 4 stella napoli) [Trackback]
"deca commissary cigarette policy" (deca commissary cigarette policy) [Trackback]
"Golfing in New Mexico" (Golfing in New Mexico) [Trackback]
"sokkia robotic total stations" (sokkia robotic total stations) [Trackback]
"porch swing" (porch swing) [Trackback]
"waterproofing area under deck" (waterproofing area under deck) [Trackback]
"diecast collectibles" (diecast collectibles) [Trackback]
"talent oregon" (talent oregon) [Trackback]
"corporate housing annapolis" (corporate housing annapolis) [Trackback]
"custom fabricators lansing michigan" (custom fabricators lansing michigan) [Trackback]
"blind boys of alabama" (blind boys of alabama) [Trackback]
"maya personal learning edition" (maya personal learning edition) [Trackback]
"2005 Dodge Ram 1500 ratings" (2005 Dodge Ram 1500 ratings) [Trackback]
"How Do Antivirus Programs Work" (How Do Antivirus Programs Work) [Trackback]
"female ejaculation gushing 22" (female ejaculation gushing 22) [Trackback]
"Does Buspar Work" (Does Buspar Work) [Trackback]
"villa rental orlando" (villa rental orlando) [Trackback]
"free amateur gay pics" (free amateur gay pics) [Trackback]
"how to build a sugar glider cage" (how to build a sugar glider cage) [Trackback]
"free linux" (free linux) [Trackback]
"nudist resorts" (nudist resorts) [Trackback]
"Tennis Game Rules" (Tennis Game Rules) [Trackback]
"chicago basement waterproofing" (chicago basement waterproofing) [Trackback]
"kingdom hearts movie" (kingdom hearts movie) [Trackback]
"antenna design" (antenna design) [Trackback]
"lhasa apso puppies for sale" (lhasa apso puppies for sale) [Trackback]
"profits from webcasting" (profits from webcasting) [Trackback]
"Tapestry of Grace" (Tapestry of Grace) [Trackback]
"shemale escorts philadelphia" (shemale escorts philadelphia) [Trackback]
"ed powers wholesale" (ed powers wholesale) [Trackback]
"missouri rv dealers" (missouri rv dealers) [Trackback]
"amateur real porn" (amateur real porn) [Trackback]
"t%27s lounge" (t%27s lounge) [Trackback]
"search engine optimization agency" (search engine optimization agency) [Trackback]
"ass juice" (ass juice) [Trackback]
"timesheet tracking" (timesheet tracking) [Trackback]
"petoskey news review" (petoskey news review) [Trackback]
"ugg boots com" (ugg boots com) [Trackback]
"home schooling fairbanks" (home schooling fairbanks) [Trackback]
"christian graphic design" (christian graphic design) [Trackback]
"futon chair" (futon chair) [Trackback]
"medication dispensing" (medication dispensing) [Trackback]
"real estate tennessee land" (real estate tennessee land) [Trackback]
"incline wheelchair lift" (incline wheelchair lift) [Trackback]
"office furnishings clarksville tn" (office furnishings clarksville tn) [Trackback]
"search engine optimization specalist" (search engine optimization specalist) [Trackback]
"last tango in paris" (last tango in paris) [Trackback]
"big horn saddles" (big horn saddles) [Trackback]
"maravenier" (maravenier) [Trackback]
"home buying process" (home buying process) [Trackback]
"make money effortlessly" (make money effortlessly) [Trackback]
"fire emblem sprites" (fire emblem sprites) [Trackback]
"pre employment drug screening" (pre employment drug screening) [Trackback]
"spanking in novels" (spanking in novels) [Trackback]
"holmes dehumidifier and float assembly" (holmes dehumidifier and float assembly... [Trackback]
"Cases for I95" (Cases for I95) [Trackback]
"setting pump compensator pressure" (setting pump compensator pressure) [Trackback]
"Sydney Funnel Web Spider" (Sydney Funnel Web Spider) [Trackback]
"kentucky firefighter" (kentucky firefighter) [Trackback]
"pvc card printer" (pvc card printer) [Trackback]
"hannah import model" (hannah import model) [Trackback]
"ogoplex" (ogoplex) [Trackback]
"pvc sheet for packaging gel candles" (pvc sheet for packaging gel candles) [Trackback]
"PDR lisinopril" (PDR lisinopril) [Trackback]
"Professional Roulette Systems" (Professional Roulette Systems) [Trackback]
"smoking females" (smoking females) [Trackback]
"blondepussy" (blondepussy) [Trackback]
"bellezzafemminile" (bellezzafemminile) [Trackback]
"prestitomonterotondo" (prestitomonterotondo) [Trackback]
"cosmeticomagistrale" (cosmeticomagistrale) [Trackback]
"gelsominonotturnoanalisi" (gelsominonotturnoanalisi) [Trackback]
"dysfunction erectile peyronie" (dysfunction erectile peyronie) [Trackback]
"buffydvd" (buffydvd) [Trackback]
"canadian pharmacy estados unidos" (canadian pharmacy estados unidos) [Trackback]
"clear plastic bingo chips" (clear plastic bingo chips) [Trackback]
"domestic medium hair" (domestic medium hair) [Trackback]
"spin to win at roulette at the casino" (spin to win at roulette at the casino) [Trackback]
"auchan" (auchan) [Trackback]
"copiacd" (copiacd) [Trackback]
"batman screensaver" (batman screensaver) [Trackback]
"fotoliberaorgescopate" (fotoliberaorgescopate) [Trackback]
"troietteconvecchi" (troietteconvecchi) [Trackback]
"free online bingo for cash" (free online bingo for cash) [Trackback]
"investment property santa barbara" (investment property santa barbara) [Trackback]
"fotomimosafiori" (fotomimosafiori) [Trackback]
"therapy" (therapy) [Trackback]
"cdrprinco" (cdrprinco) [Trackback]
"pc mag spyware remover" (pc mag spyware remover) [Trackback]
"batman begins batmobile die-cast" (batman begins batmobile die-cast) [Trackback]
"how to bypass proxy server" (how to bypass proxy server) [Trackback]
"Western National Life Insurance Amarillo TX" (Western National Life Insurance A... [Trackback]
"faiit" (faiit) [Trackback]
"%2410 target pharmacy gift card" (%2410 target pharmacy gift card) [Trackback]
"online pharmacy adderall xr" (online pharmacy adderall xr) [Trackback]
"attrezzaturawindsurf" (attrezzaturawindsurf) [Trackback]
"Chekov %2B The Bet" (Chekov %2B The Bet) [Trackback]
"screensaveranimatoarte" (screensaveranimatoarte) [Trackback]
"accompagnatricigirls" (accompagnatricigirls) [Trackback]
"posizionamentotestaaimotorericerca" (posizionamentotestaaimotorericerca) [Trackback]
"safe weight loss diet" (safe weight loss diet) [Trackback]
"Life after Cash Money" (Life after Cash Money) [Trackback]
"pallidoazione" (pallidoazione) [Trackback]
"ss dagger pins" (ss dagger pins) [Trackback]
"daito ryu aikijujutsu roy goldberg" (daito ryu aikijujutsu roy goldberg) [Trackback]
"sony dcrtrv33 mini dv camcorder" (sony dcrtrv33 mini dv camcorder) [Trackback]
"royal oak daily tribune" (royal oak daily tribune) [Trackback]
"propagating dwarf mondo" (propagating dwarf mondo) [Trackback]
"jurassic park operation genesis ps2 cheats" (jurassic park operation genesis ps... [Trackback]
"dwarf miscanthus nippon" (dwarf miscanthus nippon) [Trackback]
"camcorder canon dv mini opturaxi" (camcorder canon dv mini opturaxi) [Trackback]
"psat prep classes dekalb illinois" (psat prep classes dekalb illinois) [Trackback]
"koga ryu nin jutsu" (koga ryu nin jutsu) [Trackback]
"protable dvd players protable dvd players" (protable dvd players protable dvd p... [Trackback]
"tmj night guard" (tmj night guard) [Trackback]
"dvd fab decrypter" (dvd fab decrypter) [Trackback]
"daft punk robot rock" (daft punk robot rock) [Trackback]
"nigerian dwarf goats colorado" (nigerian dwarf goats colorado) [Trackback]
"hp psc 1315xi all in one" (hp psc 1315xi all in one) [Trackback]
"mithgar dwarves" (mithgar dwarves) [Trackback]
"free ps2 cheats" (free ps2 cheats) [Trackback]
"copying dvds" (copying dvds) [Trackback]
"daisuke ishiwatari" (daisuke ishiwatari) [Trackback]
"daito tryu" (daito tryu) [Trackback]
"the daily oklahoman" (the daily oklahoman) [Trackback]
"kahrs wood floor doussie dakar" (kahrs wood floor doussie dakar) [Trackback]
"sog daggert 2" (sog daggert 2) [Trackback]
"midevil weapon dagger" (midevil weapon dagger) [Trackback]
"cold steel daggert" (cold steel daggert) [Trackback]
"network security vah dah u cu" (network security vah dah u cu) [Trackback]
"dwellingup munda biddi" (dwellingup munda biddi) [Trackback]
"psa level" (psa level) [Trackback]
"mini dv digitale camcorder warentest" (mini dv digitale camcorder warentest) [Trackback]
"pronghorn antelope hunting dvd & video" (pronghorn antelope hunting dvd & video... [Trackback]
"ultraman dvd" (ultraman dvd) [Trackback]
"twig dwarf anole" (twig dwarf anole) [Trackback]
"house of flying daggers vimou zhang" (house of flying daggers vimou zhang) [Trackback]
"dyanna lauren nurse gallery" (dyanna lauren nurse gallery) [Trackback]
"daily jigsaw puzzles to play online" (daily jigsaw puzzles to play online) [Trackback]
"macbeth's dagger" (macbeth's dagger) [Trackback]
"portable car dvd player" (portable car dvd player) [Trackback]
"hp psc 2510 print memory fax transfer computer" (hp psc 2510 print memory fax t... [Trackback]
"game cheats for ps2" (game cheats for ps2) [Trackback]
"britishpillstore.com" (britishpillstore.com) [Trackback]
"click2usa.com" (click2usa.com) [Trackback]
"austrianpillstore.com" (austrianpillstore.com) [Trackback]
"chhabracorporation.com" (chhabracorporation.com) [Trackback]
"bikinipage1.com" (bikinipage1.com) [Trackback]
"chhabrapharmacy.com" (chhabrapharmacy.com) [Trackback]
"austrianpillstore.com" (austrianpillstore.com) [Trackback]
"coasar.com" (coasar.com) [Trackback]
"compressorasia.com" (compressorasia.com) [Trackback]
"click2chico.com" (click2chico.com) [Trackback]
"epaysurf.com" (epaysurf.com) [Trackback]
"monstarstudios.com" (monstarstudios.com) [Trackback]
"divingpixels.com" (divingpixels.com) [Trackback]
"putitinwriting.net" (putitinwriting.net) [Trackback]
"chhabrapharmaceuticals.com" (chhabrapharmaceuticals.com) [Trackback]
"chhabraelectronics.com" (chhabraelectronics.com) [Trackback]
"btobmatrix.com" (btobmatrix.com) [Trackback]
"chhabraenterprises.com" (chhabraenterprises.com) [Trackback]
"craftyass.com" (craftyass.com) [Trackback]
"arizonagreathomes.com" (arizonagreathomes.com) [Trackback]
"projectxena.com" (projectxena.com) [Trackback]
"cobeoffice.com" (cobeoffice.com) [Trackback]
"chhabraenterprises.com" (chhabraenterprises.com) [Trackback]
"chhabracosmetics.com" (chhabracosmetics.com) [Trackback]
"musicdocks.com" (musicdocks.com) [Trackback]
"phytolink.net" (phytolink.net) [Trackback]
"chhabrapharmaceuticals.com" (chhabrapharmaceuticals.com) [Trackback]
"chhabrahomes.com" (chhabrahomes.com) [Trackback]
"arrivemail.com" (arrivemail.com) [Trackback]
"countyyardsales.com" (countyyardsales.com) [Trackback]
"buyitnowdvd.com" (buyitnowdvd.com) [Trackback]
"chhabramedicalservices.com" (chhabramedicalservices.com) [Trackback]
"syncreticorder.com" (syncreticorder.com) [Trackback]
"attashay.com" (attashay.com) [Trackback]
"epaysurf.com" (epaysurf.com) [Trackback]
"darkfusiondesigns.com" (darkfusiondesigns.com) [Trackback]
"chhabrahotels.com" (chhabrahotels.com) [Trackback]
"coasar.com" (coasar.com) [Trackback]
"chhabrafoods.com" (chhabrafoods.com) [Trackback]
"arrivemail.com" (arrivemail.com) [Trackback]
"elite-stfu.com" (elite-stfu.com) [Trackback]
"writewithapro.com" (writewithapro.com) [Trackback]
"our-specialties.com" (our-specialties.com) [Trackback]
"writewithapro.com" (writewithapro.com) [Trackback]
"gregpayneoffenses.com" (gregpayneoffenses.com) [Trackback]
"wysiwygkennels.com" (wysiwygkennels.com) [Trackback]
"gregpayneoffenses.com" (gregpayneoffenses.com) [Trackback]
"our-specialties.com" (our-specialties.com) [Trackback]
"writewithapro.com" (writewithapro.com) [Trackback]
"leomoctezuma.com" (leomoctezuma.com) [Trackback]
"hornypics.net" (hornypics.net) [Trackback]
"caramigo.com" (caramigo.com) [Trackback]
"wysiwygkennels.com" (wysiwygkennels.com) [Trackback]
"gregpayneoffenses.com" (gregpayneoffenses.com) [Trackback]
"hornypics.net" (hornypics.net) [Trackback]
"caramigo.com" (caramigo.com) [Trackback]
"caramigo.com" (caramigo.com) [Trackback]
"namicmarketing.com" (namicmarketing.com) [Trackback]
"hornypics.net" (hornypics.net) [Trackback]
"whartongcc.com" (whartongcc.com) [Trackback]
"caramigo.com" (caramigo.com) [Trackback]
"elite-stfu.com" (elite-stfu.com) [Trackback]
"auctionsection.com" (auctionsection.com) [Trackback]
"elite-stfu.com" (elite-stfu.com) [Trackback]
"namicmarketing.com" (namicmarketing.com) [Trackback]
"fetishe6.com" (fetishe6.com) [Trackback]
"gregpayneoffenses.com" (gregpayneoffenses.com) [Trackback]
"gregpayneoffenses.com" (gregpayneoffenses.com) [Trackback]
"elite-stfu.com" (elite-stfu.com) [Trackback]
"auctionsection.com" (auctionsection.com) [Trackback]
"avalon-knights.com" (avalon-knights.com) [Trackback]
"internet-marketingpro.com" (internet-marketingpro.com) [Trackback]
"elite-stfu.com" (elite-stfu.com) [Trackback]
"edenrockgrandcayman" (edenrockgrandcayman) [Trackback]
"zappyads" (zappyads) [Trackback]
"newbarnpoultryhouses" (newbarnpoultryhouses) [Trackback]
"recipebundles" (recipebundles) [Trackback]
"prayerindia" (prayerindia) [Trackback]
"bunchorecipes" (bunchorecipes) [Trackback]
"armstrong2" (armstrong2) [Trackback]
"pileoftruth" (pileoftruth) [Trackback]
"ringbackmarketing" (ringbackmarketing) [Trackback]
"onlytiny" (onlytiny) [Trackback]
"beachcondomadeirarental" (beachcondomadeirarental) [Trackback]
"luckyphotographer" (luckyphotographer) [Trackback]
"galbengal" (galbengal) [Trackback]
"srianushiexim" (srianushiexim) [Trackback]
"officiallifewaveproducts" (officiallifewaveproducts) [Trackback]
"electronicsrelated" (electronicsrelated) [Trackback]
"storpudel" (storpudel) [Trackback]
"us-eliteclub" (us-eliteclub) [Trackback]
"brokenreflections" (brokenreflections) [Trackback]
"missionoutfittersintl" (missionoutfittersintl) [Trackback]
"breathmasters" (breathmasters) [Trackback]
"workgroupmeetings" (workgroupmeetings) [Trackback]
"sports-conference-center" (sports-conference-center) [Trackback]
"davidincubo" (davidincubo) [Trackback]
"caymanislandsmalls" (caymanislandsmalls) [Trackback]
"playpokerface" (playpokerface) [Trackback]
"walshe-smith" (walshe-smith) [Trackback]
"enoreg" (enoreg) [Trackback]
"swallome" (swallome) [Trackback]
"eaitech" (eaitech) [Trackback]
"degroeve" (degroeve) [Trackback]
"moneyonamission" (moneyonamission) [Trackback]
"noacompany" (noacompany) [Trackback]
"cautionwetfloor" (cautionwetfloor) [Trackback]
"noamarketing" (noamarketing) [Trackback]
"noagrupo" (noagrupo) [Trackback]
"shapefunk" (shapefunk) [Trackback]
"pacificislandsmarket" (pacificislandsmarket) [Trackback]
"yourthewebhost.com" (yourthewebhost.com) [Trackback]
"b-a-c-o-n.com" (b-a-c-o-n.com) [Trackback]
"teleassis.com" (teleassis.com) [Trackback]
"lilinsurance.com" (lilinsurance.com) [Trackback]
"eckosms.com" (eckosms.com) [Trackback]
"howtoplayonlinegames.com" (howtoplayonlinegames.com) [Trackback]
"pest-aside.com" (pest-aside.com) [Trackback]
"moped-sources.com" (moped-sources.com) [Trackback]
"webwizsoft.com" (webwizsoft.com) [Trackback]
"water-purifier-sources.com" (water-purifier-sources.com) [Trackback]
"sponsor-ads.com" (sponsor-ads.com) [Trackback]
"rbailearning.com" (rbailearning.com) [Trackback]
"lethal-injectionz.com" (lethal-injectionz.com) [Trackback]
"chiefy.com" (chiefy.com) [Trackback]
"ecomware.com" (ecomware.com) [Trackback]
"convictz-inc-radio.com" (convictz-inc-radio.com) [Trackback]
"rareobscenitys.com" (rareobscenitys.com) [Trackback]
"kentdinh.com" (kentdinh.com) [Trackback]
"eckobeta.net" (eckobeta.net) [Trackback]
"ronaldafraser.com" (ronaldafraser.com) [Trackback]
"pixmylink.com" (pixmylink.com) [Trackback]
"etnia-tours.net" (etnia-tours.net) [Trackback]
"mega3x.com" (mega3x.com) [Trackback]
"isthepriceright.com" (isthepriceright.com) [Trackback]
"trained2kill.net" (trained2kill.net) [Trackback]
"8thward.net" (8thward.net) [Trackback]
"valleyfortcapitol.com" (valleyfortcapitol.com) [Trackback]
"proebizsuites.com" (proebizsuites.com) [Trackback]
"accountserverg2.net" (accountserverg2.net) [Trackback]
"ebizsuite3.com" (ebizsuite3.com) [Trackback]
"artfulbuyers.com" (artfulbuyers.com) [Trackback]
"sharonizzo.com" (sharonizzo.com) [Trackback]
"sandradye.com" (sandradye.com) [Trackback]
"karawedding.com" (karawedding.com) [Trackback]
"kwonsreading.com" (kwonsreading.com) [Trackback]
"egyptwebhosting.com" (egyptwebhosting.com) [Trackback]
"azzis.net" (azzis.net) [Trackback]
"huatv.com" (huatv.com) [Trackback]
"rugs-sources.com" (rugs-sources.com) [Trackback]
"yourspend.com" (yourspend.com) [Trackback]
"wixtype.com" (wixtype.com) [Trackback]
"garxed.net" (garxed.net) [Trackback]
"travelodia.com" (travelodia.com) [Trackback]
"onlinejns.com" (onlinejns.com) [Trackback]
"vitrinata.com" (vitrinata.com) [Trackback]
"weightlost.net" (weightlost.net) [Trackback]
"vegasgolfers.com" (vegasgolfers.com) [Trackback]
"sig-city.com" (sig-city.com) [Trackback]
"gregoryentertainment.com" (gregoryentertainment.com) [Trackback]
"2014pokerfinals.com" (2014pokerfinals.com) [Trackback]
"prestidigitation.com" (prestidigitation.com) [Trackback]
"domainoutlaw.com" (domainoutlaw.com) [Trackback]
"blogs-family.com" (blogs-family.com) [Trackback]
"webfans.com" (webfans.com) [Trackback]
"swafin.net" (swafin.net) [Trackback]
"pollyglove.com" (pollyglove.com) [Trackback]
"troopsnmops.com" (troopsnmops.com) [Trackback]
"bluethenever.com" (bluethenever.com) [Trackback]
"quantumtexas.com" (quantumtexas.com) [Trackback]
"cheapfavourable.com" (cheapfavourable.com) [Trackback]
"cngpowercard.com" (cngpowercard.com) [Trackback]
"verticalconsulting.com" (verticalconsulting.com) [Trackback]
"tulsadiscounts.com" (tulsadiscounts.com) [Trackback]
"getpaidcard.com" (getpaidcard.com) [Trackback]
"yourever.com" (yourever.com) [Trackback]
"tricountydeals.com" (tricountydeals.com) [Trackback]
"tradeinfodesk.com" (tradeinfodesk.com) [Trackback]
"lsumascots.com" (lsumascots.com) [Trackback]
"jeanluconline.com" (jeanluconline.com) [Trackback]
"ccpmanagement.com" (ccpmanagement.com) [Trackback]
"gentoo-hub.com" (gentoo-hub.com) [Trackback]
"2007pokerfinals.com" (2007pokerfinals.com) [Trackback]
"soplelips.com" (soplelips.com) [Trackback]
"news-on-the.net" (news-on-the.net) [Trackback]
"crawlerxxx.com" (crawlerxxx.com) [Trackback]
"vernatime.com" (vernatime.com) [Trackback]
"starseliteacademy.com" (starseliteacademy.com) [Trackback]
"realcarfacts.com" (realcarfacts.com) [Trackback]
"wwwsfusion.net" (wwwsfusion.net) [Trackback]
"bronxnfox.com" (bronxnfox.com) [Trackback]
"thecapecoralyachtclub.com" (thecapecoralyachtclub.com) [Trackback]
"doctorgoldstein.com" (doctorgoldstein.com) [Trackback]
"eblondies.com" (eblondies.com) [Trackback]
"gunavara.com" (gunavara.com) [Trackback]
"ibouniversity.com" (ibouniversity.com) [Trackback]
"doctorgoldberg.com" (doctorgoldberg.com) [Trackback]
"karenlee.net" (karenlee.net) [Trackback]
"floridasixflags.com" (floridasixflags.com) [Trackback]
"comoimportarexportar.com" (comoimportarexportar.com) [Trackback]
"psapromise.com" (psapromise.com) [Trackback]
"mytraveladvisors.com" (mytraveladvisors.com) [Trackback]
"wwwcitibank.com" (wwwcitibank.com) [Trackback]
"crazydiscounters.com" (crazydiscounters.com) [Trackback]
"eupornmodels.net" (eupornmodels.net) [Trackback]
"gals4sex.com" (gals4sex.com) [Trackback]
"vikidomain.com" (vikidomain.com) [Trackback]
"prophecywarez.com" (prophecywarez.com) [Trackback]
"altercomp.com" (altercomp.com) [Trackback]
"tsourtzis.com" (tsourtzis.com) [Trackback]
"doctorreynolds.com" (doctorreynolds.com) [Trackback]
"slcyellowpages.com" (slcyellowpages.com) [Trackback]
"doctorrosenberg.com" (doctorrosenberg.com) [Trackback]
"cableboxguaranteed.com" (cableboxguaranteed.com) [Trackback]
"onlineeducationfinder.com" (onlineeducationfinder.com) [Trackback]
"meskateboards.com" (meskateboards.com) [Trackback]
"free815.com" (free815.com) [Trackback]
"attaquedesfans.com" (attaquedesfans.com) [Trackback]
"warhawksguild.com" (warhawksguild.com) [Trackback]
"support-client.com" (support-client.com) [Trackback]
"mssp-thailand.com" (mssp-thailand.com) [Trackback]
"musicmidtown.com" (musicmidtown.com) [Trackback]
"whitesspace.com" (whitesspace.com) [Trackback]
"investigatechina.com" (investigatechina.com) [Trackback]
"julischmidt.com" (julischmidt.com) [Trackback]
"maria69val.com" (maria69val.com) [Trackback]
"surefilm.com" (surefilm.com) [Trackback]
"purple-icing.com" (purple-icing.com) [Trackback]
"myspacehtml.net" (myspacehtml.net) [Trackback]
"cmcc-images.com" (cmcc-images.com) [Trackback]
"walshperformancegroup.com" (walshperformancegroup.com) [Trackback]
"tripleslingerie.com" (tripleslingerie.com) [Trackback]
"marijuanaseedsbanks.com" (marijuanaseedsbanks.com) [Trackback]
"platinglink.com" (platinglink.com) [Trackback]
"uccbsu.com" (uccbsu.com) [Trackback]
"tmp2" (tmp2) [Trackback]
"allsortsmessageboards.com" (allsortsmessageboards.com) [Trackback]
"alhamalaweb.net" (alhamalaweb.net) [Trackback]
"auction-runner.com" (auction-runner.com) [Trackback]
http://9lq-free-porn.info/49130075/1storgasm.html [Pingback]
http://9lr-free-porn.info/63690192/index.html [Pingback]
http://9ll-free-porn.info/66087503/index.html [Pingback]
http://9lo-free-porn.info/76128031/girly-11-year-old-games-for-slumber-parties.h... [Pingback]
http://9ll-free-porn.info/83599722/index.html [Pingback]
http://9lp-free-porn.info/91545066/alolita-colombia.html [Pingback]
http://9lp-free-porn.info/24354754/fuck-hot-blondes.html [Pingback]
http://9lt-free-porn.info/55258213/index.html [Pingback]
http://9lm-free-porn.info/96328134/hotest-gay-toy-sites.html [Pingback]
http://9mj-free-porn.info/65048432/pictures-of-usher-nude.html [Pingback]
http://9mb-free-porn.info/75647184/index.html [Pingback]