Archive for December, 2008

Boldog Karácsonyt és BUÉK-ot

Friday, December 19th, 2008

Folyamatban van az ADSL váltásom, eddig a cég fizette, most már én, és sajnos 2008-ban ez még nem megy szolgáltatás-kiesés nélkül. Ezért a következő időszakban bizonytalan a net elérésem, enyhébb idő esetén a kert végéből, létráról látom a szomszéd WIFI-jét, így néha olvasok leveleket. Egészen addig, míg vissza nem adom a cégnek a laptopot, az új ugyanis csak januárban érkezik meg (durva gép lesz).
Van itthon egy asztali gép is, de azt nem viszem ki a kertbe. :)
Szóval ha valami fontos kérdés van, kérem, telefonon keressetek, egyébként meg pihenjetek.

Boldog Karácsonyt.

soci

Update: alaptalanul ironizáltam a magyar helyzeten. Tegnap jött az SMS, hogy kész az új accountom. Kipróbáltam, és tényleg. Most párhuzamosan megy a két előfizetés. Mégis csak zökkenőmentes volt a váltás. Valószínűleg a belső embernek köszönhetően, ugyanis előtte este még csak nem is volt rögzítve a megrendelésem a thome webshopban. :)

Taposással termelnek energiát a japán metróban

Tuesday, December 16th, 2008

Zindex.

Imádom ezeket az eszement ötleteket.
Fizika alapozó kérdés: nálunk nem használják ki a léptekből származó energiát. Mi lesz Budapesten azzal a sok energiával, amiből a japánok a plazmákat üzemeltetik? Ezt is ellopják? GYF fűti vele az anyja lakását? :)

Debugolás a .NET fw. forrása segítségével

Thursday, December 11th, 2008

Kaptam egy igen nehezen megközelíthető problémát, amelyben a fókusz a TAB-ra átlépett egyes controlokat. Nem egy triviális TabStop=false probléma volt.
VS 2005-ös projektekről van szó, átkonvertáltam őket 2008-ra, hogy tudjam a fw. forráskódját is debugolni. Az _NT_SYMBOL_PATH= nekem be van állítva a gépen a publikus os szimbólumokra (elsősorban ahhoz amikor WinDbgozok), emiatt nem tudtam a vsből .net fw.-öt debugolni, mert előbb lehúzza a stripped szimbólumokat, a teljeshez már hozzá se nyúl. Ezért egy bat-ból indítom a vs-t, előtte kiütve az eredeti _NT_SYMBOL_PATH-t.
Így már ment a fw. forrás debug, de mivel a clr az ngenelt optimalizált kódot töltötte be, ezért nagyon sok típus belseje nem látszik normálisan. Erre megoldás itt található. Le lehet tiltani, hogy a CLR az ngenelt kódot töltse be, így már rendesen lehet debugolni.
Lehetne, ha nem lenne elcsúszva némelyik forráskód a pdb-ben található sorszámoktól. Ilyenkor van az, hogy teljesen más sorokon lépkedünk végig, mint amit a source ablakban látunk, pl. kommenteken lépked végig a debugger.
A megoldás erre egyszerűbb volt, mint gondoltam volna: próbaképpen kitöröltem 3 sort pl. a Control.cs elejéből, így visszaállt a szinkron.
Maga az alapprobléma egyébként abból adódott, hogy egy kompozit Third Party Contol explicit letiltotta
a TAB-olást, a ControlStyle-ból kivéve a Selectable flaget.

Vigyázni az XPathDocumenttel

Tuesday, December 2nd, 2008

Egyik régi ismerősöm keresett meg egy elég húzós problémával. Egy webszerviz egy saját típusból két példányt kap paraméterül, ám csak az első megy át, a második null lesz. Ha tömbben adják át őket, akkor is. Ha felcserélik a kliens proxy oldalán, akkor is a második null.
A típus saját XML Serializálást használ, ez már eleve gyanús volt, azonban elsőre nem tűnt fel benne semmi ravaszság. Beraktam egy kis WebService Trace Extension kódot, hogy lássam, rendesen elküldi-e a kliens a SOAP csomagot, de igen, a boríték sértetlen és teljes volt.
A szerializáló kódot figyelmesebben megnézve aztán előbukkant a probléma. A saját serializálásuk nem direktben használta a kapott XmlReader-t, hanem egy XPathDocumenten keresztül. Így magasabb absztrakciós szinten lehet programozni, ami ebben az esetben nagy könnyebbség. Igen ám, de az XPathDocument cache-el. Nem csak simán, hanem előreolvas a drága, ami neki jó, mert így pl. meg tudja mondani van-e gyermekeleme egy elemnek, stb. Csakhogy esetünkben annyira mohó volt, hogy a kapott XmlReader-t teljesen végignyalta, így az első paraméter deserializálása után a reader már a SOAP csomag végén állt, így a következő deserializálás megkapta a nagy semmit.
Persze belegondolva semmi panasz nem lehet az XPathDocumentre, senki nem mondta, hogy nem olvashat előre. De elsőre ez nem esett le nekem se.
Mi a megoldás erre a problémára? Pőrén az XmlReadert kell használni, kínosan ügyelve arra, hogy minden típus és beágyazott típus pontosan csak annyit tekerje előre a readert, hogy a saját adatait ki tudja olvasni, egy centivel se előbbre. Disciplined programozó kell ehhez, mint ahogy a tőzsdei kereskedéshez is, Elder szerint. :)

Windows Internals vizsga sikerült :-)

Tuesday, December 2nd, 2008

Egy MVP-s papírhoz kellett az MCP vizsgáim listája, ezt lemásolva véletlenül vettem észre, hogy közben a beta vizsgát feldolgozták, és sikerült a Windows Internals vizsga is. Juhéjj. :)
Nem számítottam rá. Ettől persze nem száll el a pofám, már megjött az amazontól az Advanced Windows Debugging és a Memory Dump analízis, jövő év elején ezek kerülnek sorra, talán addigra a Windows Internals újabb kiadása is kijön. Ütős kombó lesz.
Egyelőre viszont WPF-et tanulok, ezt már régóta halogatom, de most találtam egy házibarkács problémát, tőzsdei automatizált kereskedési algoritmusok backtest-jét, ehhez nem árt némi vizuális infó az árakról, indikátorokról, stb., ehhez meg pont jó a WPF. A WPF-et egyelőre nehezebben fogom, mint a low-level Windows cuccokat, fogjuk ezt a koromra. :) Valójában valószínűleg azért nehezebb átlátni, mert az XAML miatt is és maga a WPF frameworkje miatt is nagyon magas absztrakciós szinten kell gondolkodni, ehhez meg idő kell, meg kell szokni az új fogalmakat, absztrakciókat. Mint amikor új nyelvet tanul az ember.

És végül, ha már bementem az MCP site-ra, itt az aktuális vizsgalistám. 2 beta még nincs rajta, mert még nem értékelték ki. Jövőre az a tervem, hogy megcsinálom az összes hiányzó vizsgát, ami nekem még fontos, azaz a 3.5-ös vizsgkákat, WCF, WPF, WWF. Magas labda, majd meglátom mennyi idő meg lelkesedésem lesz hozzá.

Exam ID  	Description  	 	Date Completed
	451 	PRO: Designing Database Solutions and Data Access Using Microsoft SQL Server 2008 		Sep 30, 2008
	660 	TS: Windows Internals 		Aug 05, 2008
	432 	TS: Microsoft SQL Server 2008, Implementation and Maintenance 		Jul 31, 2008
	620 	TS: Configuring Microsoft Windows Vista Client 		May 09, 2007
	431 	TS: Microsoft® SQL Server™ 2005 - Implementation and Maintenance 		May 03, 2007
	442 	PRO: Designing and Optimizing Data Access by Using Microsoft® SQL Server™ 2005 		Dec 19, 2006
	554 	UPGRADE: MCSD Microsoft® .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft® .NET Framework: Part 2 		Mar 06, 2006
	553 	UPGRADE: MCSD Microsoft® .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft® .NET Framework: Part 1 		Mar 06, 2006
	551 	UPGRADE: MCAD Skills to MCPD Web Developer by Using the Microsoft® .NET Framework 		Mar 03, 2006
	552 	UPGRADE: MCAD Skills to MCPD Windows® Developer by Using the Microsoft® .NET Framework 		Mar 03, 2006
	447 	UPGRADE: MCDBA Skills to MCITP Database Administrator by Using Microsoft® SQL Server™ 2005 		Dec 16, 2005
	443 	PRO: Designing a Database Server Infrastructure by Using Microsoft® SQL Server™ 2005 		Dec 16, 2005
	444 	PRO: Optimizing and Maintaining a Database Administration Solution by Using Microsoft® SQL Server™ 2005 		Dec 02, 2005
	441 	PRO: Designing Database Solutions by Using Microsoft® SQL Server™ 2005 		Dec 02, 2005
	229 	Designing and Implementing Databases with Microsoft® SQL Server™ 2000 Enterprise Edition 		Dec 21, 2004
	340 	Implementing Security for Applications with Microsoft Visual C#® .NET 		May 03, 2004
	306 	Developing and Implementing Windows®-based Applications with Microsoft® Visual Basic® .NET and Microsoft® Visual Studio® .NET 		Aug 22, 2003
	300 	Analyzing Requirements and Defining Microsoft .NET Solution Architectures 		Nov 07, 2002
	305 	Developing and Implementing Web Applications with Microsoft® Visual Basic® .NET and Microsoft® Visual Studio® .NET 		Jul 12, 2002
	310 	Developing XML Web Services and Server Components with Microsoft® Visual Basic® .NET and the Microsoft® .NET Framework 		Jun 25, 2002
	228 	Installing, Configuring, and Administering Microsoft® SQL Server™ 2000 Enterprise Edition 		Oct 11, 2001
	100 	Analyzing Requirements and Defining Solution Architectures 		Oct 13, 2000
	176 	Designing and Implementing Desktop Applications with Microsoft® Visual Basic 6.0 		Sep 07, 2000
	175 	Designing and Implementing Distributed Applications with Microsoft® Visual Basic 6.0 		Jun 21, 2000
	029 	Designing and Implementing Databases with Microsoft® SQL Server 7.0 		Mar 01, 2000
	079 	Implementing & Supporting the Microsoft® Internet Explorer Admin Kit for Microsoft® IE 4.0 		Nov 16, 1999
	059 	Internetworking with Microsoft® TCP/IP on Microsoft® Windows NT™ 4.0 		Oct 27, 1999
	058 	Networking Essentials 		Aug 17, 1999
	067 	Implementing and Supporting NT™ Server 4.0 		Mar 03, 1999
	068 	Implementing and Supporting NT™ Server 4.0 in the Enterprise 		Feb 23, 1999
	073 	Implementing and Supporting NT™ 4.0 Workstation 		Dec 21, 1998