Monthly Archives: August 2007

Gears of War Hidden Fronts Map Pack Free

Starting Monday the Gears of War Hidden Fronts Map pack will be free…

“With nearly 500,000 downloads to date, the “Gears of War®” Hidden Fronts Map Pack has become the No. 1 piece of premium downloadable content on Xbox LIVE Marketplace. Beginning Monday, September 3 at 2:00 a.m. PDT, the Hidden Fronts Map Pack will join the Annex gametype and Multiplayer Map Pack 1 as another piece of free downloadable content for “Gears of War.””, Team Xbox

Here is a Direct Link to the Article.

Cross Post from

Another Vb’er gets bit by Option Strict

Was just reading Julie Lerman’s blog and noticed the issue she had wouldn’t have happened if Option Strict was on.  This really highlights the problem of having implicit conversions occur at runtime.

Microsoft Group Policy Diagnostic Best Practice Analyzer verfuegbar

Seit ein paar Tagen gibt es ein weiteres Tool aus der “Best Practices”-Serie: den Microsoft Group Policy Diagnostic Best Practice Analyzer.

Damit lassen sich die vorhandenen Gruppenrichtlinien auf Fehlkonfigurationen und Probleme analysieren sowie die Ergebinisse als Dokumentation verwenden. Leider ist das Tool (derzeit) nur in Englisch verfuegbar und dadurch auch nur auf einem englischen Windows Server 2003 aufrufbar. Es existieren im Internet zwar Tipps, wie man auch das umgehen kann – davon rate ich aber eher ab.

Weitere Infos und Downloadmöglichkeit sind im KB 910422 zu finden.

Viele GrĂĽĂźe

Dieter Rauscher
MVP ISA Server

The 7 Foot Tallk Wonder of the Future World: A Wax Masterchief

A buddy of mine sent me a little link today.  Kinda brightened up my day from my issues with Xbox 360 support (which I am in the process of getting ironed out).  Take a gander

Master Chief Statue

You may ask what that is?  Yes, it is a (about) a 7′ tall Master Chief.  It is joining the like of Michael Jackson, the Beatles, Brad Pitt and many more entertainment superstars in being waxed for Madam Tussaud.  That shows you the impact the Master Chief has on entertainment.

Disappearing Visual Studio 2005 Menu Items

If you're like me and installed SQL Server 2005 Business Intelligence Development Studio after installing Visual Studio 2005, you might notice some menu items like Debug > Attach to Process are mising. I found the fix to this issue in this KB article.


I'm now the proud owner of Robblehead, the Rob Howard bobblehead doll. Together we will take over and rule the world. BWA HA HA!

Site multi-lingual

Depois de perder mais de meia-hora procurando pelos ids de idiomas para fazer um site expor seus textos de acordo com o idioma selecionado pelo usuário e identificar qual ele estava usando, finalmente encontrei uma tabela com todos eles e para facilitar a vida de outras pessoas que precisem disto, resolvi postar aqui:

Culture Name Culture Identifier Language-Country/Region
“” (empty string) 0x007F invariant culture
af 0×0036 Afrikaans
af-ZA 0×0436 Afrikaans – South Africa
sq 0x001C Albanian
sq-AL 0x041C Albanian – Albania
ar 0×0001 Arabic
ar-DZ 0×1401 Arabic – Algeria
ar-BH 0x3C01 Arabic – Bahrain
ar-EG 0x0C01 Arabic – Egypt
ar-IQ 0×0801 Arabic – Iraq
ar-JO 0x2C01 Arabic – Jordan
ar-KW 0×3401 Arabic – Kuwait
ar-LB 0×3001 Arabic – Lebanon
ar-LY 0×1001 Arabic – Libya
ar-MA 0×1801 Arabic – Morocco
ar-OM 0×2001 Arabic – Oman
ar-QA 0×4001 Arabic – Qatar
ar-SA 0×0401 Arabic – Saudi Arabia
ar-SY 0×2801 Arabic – Syria
ar-TN 0x1C01 Arabic – Tunisia
ar-AE 0×3801 Arabic – United Arab Emirates
ar-YE 0×2401 Arabic – Yemen
hy 0x002B Armenian
hy-AM 0x042B Armenian – Armenia
az 0x002C Azeri
az-AZ-Cyrl 0x082C Azeri (Cyrillic) – Azerbaijan
az-AZ-Latn 0x042C Azeri (Latin) – Azerbaijan
eu 0x002D Basque
eu-ES 0x042D Basque – Basque
be 0×0023 Belarusian
be-BY 0×0423 Belarusian – Belarus
bg 0×0002 Bulgarian
bg-BG 0×0402 Bulgarian – Bulgaria
ca 0×0003 Catalan
ca-ES 0×0403 Catalan – Catalan
zh-HK 0x0C04 Chinese – Hong Kong SAR
zh-MO 0×1404 Chinese – Macau SAR
zh-CN 0×0804 Chinese – China
zh-CHS 0×0004 Chinese (Simplified)
zh-SG 0×1004 Chinese – Singapore
zh-TW 0×0404 Chinese – Taiwan
zh-CHT 0x7C04 Chinese (Traditional)
hr 0x001A Croatian
hr-HR 0x041A Croatian – Croatia
cs 0×0005 Czech
cs-CZ 0×0405 Czech – Czech Republic
da 0×0006 Danish
da-DK 0×0406 Danish – Denmark
div 0×0065 Dhivehi
div-MV 0×0465 Dhivehi – Maldives
nl 0×0013 Dutch
nl-BE 0×0813 Dutch – Belgium
nl-NL 0×0413 Dutch – The Netherlands
en 0×0009 English
en-AU 0x0C09 English – Australia
en-BZ 0×2809 English – Belize
en-CA 0×1009 English – Canada
en-CB 0×2409 English – Caribbean
en-IE 0×1809 English – Ireland
en-JM 0×2009 English – Jamaica
en-NZ 0×1409 English – New Zealand
en-PH 0×3409 English – Philippines
en-ZA 0x1C09 English – South Africa
en-TT 0x2C09 English – Trinidad and Tobago
en-GB 0×0809 English – United Kingdom
en-US 0×0409 English – United States
en-ZW 0×3009 English – Zimbabwe
et 0×0025 Estonian
et-EE 0×0425 Estonian – Estonia
fo 0×0038 Faroese
fo-FO 0×0438 Faroese – Faroe Islands
fa 0×0029 Farsi
fa-IR 0×0429 Farsi – Iran
fi 0x000B Finnish
fi-FI 0x040B Finnish – Finland
fr 0x000C French
fr-BE 0x080C French – Belgium
fr-CA 0x0C0C French – Canada
fr-FR 0x040C French – France
fr-LU 0x140C French – Luxembourg
fr-MC 0x180C French – Monaco
fr-CH 0x100C French – Switzerland
gl 0×0056 Galician
gl-ES 0×0456 Galician – Galician
ka 0×0037 Georgian
ka-GE 0×0437 Georgian – Georgia
de 0×0007 German
de-AT 0x0C07 German – Austria
de-DE 0×0407 German – Germany
de-LI 0×1407 German – Liechtenstein
de-LU 0×1007 German – Luxembourg
de-CH 0×0807 German – Switzerland
el 0×0008 Greek
el-GR 0×0408 Greek – Greece
gu 0×0047 Gujarati
gu-IN 0×0447 Gujarati – India
he 0x000D Hebrew
he-IL 0x040D Hebrew – Israel
hi 0×0039 Hindi
hi-IN 0×0439 Hindi – India
hu 0x000E Hungarian
hu-HU 0x040E Hungarian – Hungary
is 0x000F Icelandic
is-IS 0x040F Icelandic – Iceland
id 0×0021 Indonesian
id-ID 0×0421 Indonesian – Indonesia
it 0×0010 Italian
it-IT 0×0410 Italian – Italy
it-CH 0×0810 Italian – Switzerland
ja 0×0011 Japanese
ja-JP 0×0411 Japanese – Japan
kn 0x004B Kannada
kn-IN 0x044B Kannada – India
kk 0x003F Kazakh
kk-KZ 0x043F Kazakh – Kazakhstan
kok 0×0057 Konkani
kok-IN 0×0457 Konkani – India
ko 0×0012 Korean
ko-KR 0×0412 Korean – Korea
ky 0×0040 Kyrgyz
ky-KZ 0×0440 Kyrgyz – Kazakhstan
lv 0×0026 Latvian
lv-LV 0×0426 Latvian – Latvia
lt 0×0027 Lithuanian
lt-LT 0×0427 Lithuanian – Lithuania
mk 0x002F Macedonian
mk-MK 0x042F Macedonian – FYROM
ms 0x003E Malay
ms-BN 0x083E Malay – Brunei
ms-MY 0x043E Malay – Malaysia
mr 0x004E Marathi
mr-IN 0x044E Marathi – India
mn 0×0050 Mongolian
mn-MN 0×0450 Mongolian – Mongolia
no 0×0014 Norwegian
nb-NO 0×0414 Norwegian (Bokml) – Norway
nn-NO 0×0814 Norwegian (Nynorsk) – Norway
pl 0×0015 Polish
pl-PL 0×0415 Polish – Poland
pt 0×0016 Portuguese
pt-BR 0×0416 Portuguese – Brazil
pt-PT 0×0816 Portuguese – Portugal
pa 0×0046 Punjabi
pa-IN 0×0446 Punjabi – India
ro 0×0018 Romanian
ro-RO 0×0418 Romanian – Romania
ru 0×0019 Russian
ru-RU 0×0419 Russian – Russia
sa 0x004F Sanskrit
sa-IN 0x044F Sanskrit – India
sr-SP-Cyrl 0x0C1A Serbian (Cyrillic) – Serbia
sr-SP-Latn 0x081A Serbian (Latin) – Serbia
sk 0x001B Slovak
sk-SK 0x041B Slovak – Slovakia
sl 0×0024 Slovenian
sl-SI 0×0424 Slovenian – Slovenia
es 0x000A Spanish
es-AR 0x2C0A Spanish – Argentina
es-BO 0x400A Spanish – Bolivia
es-CL 0x340A Spanish – Chile
es-CO 0x240A Spanish – Colombia
es-CR 0x140A Spanish – Costa Rica
es-DO 0x1C0A Spanish – Dominican Republic
es-EC 0x300A Spanish – Ecuador
es-SV 0x440A Spanish – El Salvador
es-GT 0x100A Spanish – Guatemala
es-HN 0x480A Spanish – Honduras
es-MX 0x080A Spanish – Mexico
es-NI 0x4C0A Spanish – Nicaragua
es-PA 0x180A Spanish – Panama
es-PY 0x3C0A Spanish – Paraguay
es-PE 0x280A Spanish – Peru
es-PR 0x500A Spanish – Puerto Rico
es-ES 0x0C0A Spanish – Spain
es-UY 0x380A Spanish – Uruguay
es-VE 0x200A Spanish – Venezuela
sw 0×0041 Swahili
sw-KE 0×0441 Swahili – Kenya
sv 0x001D Swedish
sv-FI 0x081D Swedish – Finland
sv-SE 0x041D Swedish – Sweden
syr 0x005A Syriac
syr-SY 0x045A Syriac – Syria
ta 0×0049 Tamil
ta-IN 0×0449 Tamil – India
tt 0×0044 Tatar
tt-RU 0×0444 Tatar – Russia
te 0x004A Telugu
te-IN 0x044A Telugu – India
th 0x001E Thai
th-TH 0x041E Thai – Thailand
tr 0x001F Turkish
tr-TR 0x041F Turkish – Turkey
uk 0×0022 Ukrainian
uk-UA 0×0422 Ukrainian – Ukraine
ur 0×0020 Urdu
ur-PK 0×0420 Urdu – Pakistan
uz 0×0043 Uzbek
uz-UZ-Cyrl 0×0843 Uzbek (Cyrillic) – Uzbekistan
uz-UZ-Latn 0×0443 Uzbek (Latin) – Uzbekistan
vi 0x002A Vietnamese
vi-VN 0x042A Vietnamese – Vietnam

InvalidOperationException in loop

This issue seems to be raised a lot in the newsgroups. When you iterate a container, ArrayList for instance, you cannot remove items in the contain inside the body of the loop. You get a nasty exception if you have no regard for the rules.

Apparently, the run-time imposes a read-only restriction on the iterating container. The read-only restriction forces all assumptions about the container to be valid during the loop iteration process. There’s an article here that discusses this in more detail.

Basically, this code produces an exception:

//arr is an arraylist with some random items
foreach (string s in arr)

whereas this code does not:

//notice the inline declaration of the ArrayList in the loop
foreach (string s in new System.Collections.ArrayList(arr))

However, I did get yelled at for providing a solution that was not efficient :-).

To be fair, the solution discussed in this article is mildly inefficient; it takes well under a second to remove 10000 items from a collection. If efficiency is your main issue, you may want to make use of the generics approach. The generics approach will follow this approach:

List<string> list = new List<string>();
//add list items

//define find here
public bool find(string s)
      //add some condition here, for now return true
      return true

To be clear, the generic approach is much faster at the expense of more code. There is no free cheese. However, because both of these approaches execute in well under a second, you earn your daily wage by focusing on other inefficient points in your application such as indexing your database records. It’s not worth it to optimize away 0.5 seconds for this routine while your database records run on stale indices for instance. That’s pretty pointless in my humble opinion.

Something of interest to note is that while the underlying implementation of remove is implemented with a linear search followed by a delete, the generic approach also uses a linear search using the find method. But it is important to note that this linear search is a one-time expense. This sweep marks all items for deletion and then removes them in one pass. My approach essentially incurs this expense every time remove is called. This explains the jump in performance by the generics approach.

 In the real world, you won’t get any brownie points for that optimization. Period. Go find somewhere else in your application to spend time and energy on.

Security issues with OpenOffice

OpenOffice Worm infects desktops:

·        6 Security issues in OpenOffice:

·        OpenOffice security insufficient:

·        French Ministry of Defence questions OpenOffice security:

·        Russian company hacks OpenOffice password-protected documents:

·        OpenOffice security falls short: (Mentions OO is less secure than MS Office)

·        Password-cracker defeats OO document security:,289625,sid39_gci1254328,00.html

·        Disabling Hyperlinks feature broken:

·        Crossplatform worm hijacks OpenOffice:,132235/article.html

· identifies multiple security issues:

·        In-depth study finds OpenOffice Security lacking: (This is a great, detailed PDF, by a security firm.)

Servidor lento?

Você tenta navegar e parece estar indo buscar o arquivo a pé? Seus downloads parecem intermináveis? Culpa do ISA?

Muitas vezes o problema é bem outro. É o provedor de acesso.

Teste a velocidade de seu acesso aqui:

ou aqui


Agora aproveitando que está fazendo estas pesquisas online, aproveite para testar quais portas aparecem abertas ao mundo externos usando o ShieldsUp através do link:

Recent Comments