Archive for November, 2006

A ganajtúróbogár hasaalja

Tuesday, November 21st, 2006

Érdekfeszítő magyar cikk a fúziós kutatások állásáról.

Outlook 2007 rehabilitálva

Monday, November 20th, 2006

Úgy néz ki a korábban írt sebességprobléma oka a smartphone sziknronizációs izé miatt volt. Ennek ellenére teszek egy próbát, milyen a gmaillel élni. Amit még nem tudom hogyan lehet abban a levlistás leveleket rendesen olvasni? Hozzá vagyok szokva a szabályokhoz, le kell szoknom róluk, ha gmailezni akarok.

A másik kérdés a céges levelezés, azt nem hiszem, hogy ki lehene vele váltani.

Töltögetem a Vistát, csak ki van borulva a szerver

Friday, November 17th, 2006

Mivel még pár tízezren hasonlóan tesznek.

vistadl.JPG

Részmunkaidős távmunka a feleségemnek

Friday, November 17th, 2006

Hátha valaki hallott már ilyet. Feleségem gyesen van itthon, de már szeretne napi 4 órában valamilyen számítógépes munkát csinálni. Informatikus mérnök a végzettsége és Exchange felügyelettel foglalkozott, míg dolgozott, de nem ezt akarja folytatni távmunkában. :)

Valami olyan munka feküdne neki, amihez kell használnia az eszét, de nem igényel 500 óra felkészülést. Szóval nem valami szöveggépelés papírról, vagy ilyesmi, hanem valami kissé komolyabb elfoglaltság kellene.

Ha ismersz valami lehetőséget: zsolt.soczo@gmail.com. Előre is köszönöm.

GDS indexer

Friday, November 17th, 2006

Imádom a GDS-t, a CTRL-CTRL-ra feljövő keresőjét naponta több tucatszor használom, forráskódokban keresésre, programok indítására, stb.

Viszont az indexere valamiért időnként lemarad. Csináltam már teljes reindexet, az megoldja a kérdést, de az egy napig nyúzza gépet. Itt is írják, hogy ez van, néha lemarad.

Az új Office 2007

Friday, November 17th, 2006

2 napja felraktam. Szép, semmit se találok, amit megszoktam, de nem baj, legalább nem öl meg az unalom, amikor offiszolok.

Egy valami viszont nagyon dühít, ami miatt lehet, hogy visszatérek a 2003-ra: az Outlook. Eddig percenként szinkronizáltam le a leveleket 3 accountról, pop3-mal. Az új Outlook óta viszont ez azt jelentette, hogy percenként megállt a gép. A vinyó ledje elkezdett világítani, és 10-20 mp-re még az egér is alig mozdult meg, a skype hangja megszakadozott (ez munkaeszköz a távmunka miatt), és egyáltalán, a gép használhatatlanná vált.

Mondom biztos fragmentált szegény pst (600M), ezért a sysinternalsos contig.exe-vel defragmentáltam. 1 darab lett az egész. Ennek ellenére is beszakad a gép tőle. 4 órai működés után 550 megát olvasott és 150 megát írt a vinyóra. Az a 3 mega levél, amit letölthetett ennyire megdolgoztatta szegényt.

Csak az én gépemben van a hiba?

Arg_BogusIComparer

Friday, November 17th, 2006

Ezt a resource-öt az mscorlibben találhatjátok meg, és az olyan lámáknak rakták bele, mint én:

Arg_BogusIComparer=IComparer (or the IComparable methods it relies upon) did not return zero when Array.Sort called x. CompareTo(x). x: ‘{0}’ x’s type: ‘{1}’ The IComparer: ‘{2}’.

Egy intelligens(nek tervezett) kollekcióban írtam saját IComparert, ám elfeledkeztem arról az esetről, amikor mindkét összehasonlítandó elem null. Erre false választ adtam, ettől behülyült az Array.Sort, de szerencsére felkészültek az olyan majmokra, mint én, és nem egyszerűen túlcímezték a tömböt, hanem szóltak, hogy kolléga, bugos a Comparer.

Tanulság: tessék lekezelni minden lehetséges esetet a Comparerben, a rossz bemeneti típusokat és a nullokat is. Ha persze lehet, használjatok IComprer-t, akkor nem már csak a nullokkal kell külön foglalkozni.

Hogyan mozgatnád el a Fuji hegyet?

Friday, November 17th, 2006

Annak idején Zoxigén ajánlotta ezt a könyvet:

How Would You Move Mount Fuji? Microsoft’s Cult of the Puzzle – How the World’s Smartest Company Selects the Most Creative Thinkers

Most a cégnél a DP tanfolyam közben eszembe jutott a könyv, kiírom ide is, hátha valaki nem hallott még róla. Egy nagyon érdekes olvasmányról van szó, nem csak a benne levő ms és más cégek felvételi kérdései és fejtörői miatt, hanem mert beszél a céges felvételi módszerekről, döbbenetes történetek vannak a hp és a sony kialakulásáról (nekem a sony a legdurvább), az intelligencia méréséről és annak lehetetlenségéről, stb. Nekem nagyon bejött annak idején.

Addig is, míg nem olvassátok, lehet róla gondolkodni, hogy:

  • Hogyan tesztelnél egy liftet? És egy kenyérpirítót?
  • Miért kerek a csatornafedél (általában)?
  • Ha egy államot el kellene venni az USA-tól, melyik lenne az?
  • Hány zongorahangoló van a világban?
  • Hány WC-re van szükség egy 20000 fős koncerthez?
  • Miért a bal és a jobboldalt cseréli meg a tükör, miért nem a fel-t és a le-t?
  • Miért van az, hogy a jobb helyeken azonnal jön melegvíz a csapból, nem kell megvárni, míg felmelegszik?

Érdekes rezonancia kísérlet (video)

Wednesday, November 15th, 2006

Az elektro levlisán postázta be valaki, érdekes videó.

Egy lemezt rezgetnek egyre növekvő frekvenciával, a rászórt liszt kirajzolja a rajta kialakuló állóhullámokat. Szeretem az ilyen egyszerű, de hatásos demonstrációkat. Ha az iskolákban több hangsúly fektetnének a kísérletekre, lehet, hogy több gyereket fogna meg bármely természettudomány bája. Igen, pl. a fizika lehet bájos. Nekem zseniális, ahogy a Temészet összerakta a világot, és tetszik, ahogy a fizika megpróbálja lemodellezni. Végtelen magasan van a léc, így legalább lesz munkája még egy darabig a tudósoknak.

Update: másik nagyon érdekes rezonancia video, lángokkal, Rubens csővel.

Új Crypto API a Vistában; Cryptography API: Next Generation, CNG

Sunday, November 12th, 2006

MSDN Docs.

Röviden:

Cryptography API: Next Generation (CNG) API is the long-term replacement for the CryptoAPI. CNG is designed to be extensible at many levels and cryptography agnostic in behavior.

CNG has the following features.

  • CNG supports cryptography in kernel mode. The same API is used in both kernel and user mode in order to fully support the crypto cryptography features. Both SSL/TLS and IPSec operate in kernel mode in addition to boot processes that will be using CNG.
  • Federal Information Processing Standards (FIPS) 140 Certification. CNG is aiming at getting FIPS 140-2 level 2 certification together with Common Criteria evaluation on selected platforms. Other platforms will have FIPS 140-2 level 1 certification. These will be the same implementation, just different certifications.
  • CNG complies with Common Criteria requirements by storing and using long lived keys in a secure process in order to comply with Common Criteria requirements. Audit appropriate actions in the CNG layer.
  • CNG provides support for the current set of algorithms in CryptoAPI 1.0. Every algorithm that is currently supported in CryptoAPI 1.0 will continue to be supported in CNG.
  • CNG provides support for Elliptic Curve Cryptography (ECC) algorithms. A number of ECC algorithms are required by the United States government’s Suite B effort.
  • Key Isolation & Storage: Any machine with a Trusted Platform Module (TPM) will seamlessly provide key isolation and key storage in TPM

Szóval kernel módú a játékos. Érdekes, ahogy egyre több dolgot lenyomnak kernel módba. Ez valahol érthető számomra, mióta az Inside Windowsban a GDI-vel kapcsolatban leírták miért léptek így, de azért egy kicsit mindig aggódok, amikor a TCB-t nyomják tele sok, pontenciálisan bugos cuccal. Lelkük rajta.

Windows Vista for Developers, Part 6, The New File Dialogs

Saturday, November 11th, 2006

http://weblogs.asp.net/kennykerr/comments/903624.aspx
Minden interface COM alapú (hallott valaki olyat, hogy .net alapú lesz a Vista?). Persze gondolom a 3.0-s fwben vannak wrapperek hozzá. Vagy a WPF-ben. Nem tudom, megnézem majd reflectorral, de még csak most megy fel a 3.0-s fw.

Aki tudja, segíthet.

Update: rájöttem, hogy nem voltam eszemnél, hisz a Windows Forms rész a 2.0-ás a 3.0-ban, így abban biztos nincsenek benne az új dialogok. Már csak a WPF-ben lehetnek.

Vista Protected mode

Friday, November 10th, 2006

Huncut dolog ez az IE7 védett mód, illetve a mögötte levő technológiák (csak Vistán, XP-n nem).

Ha egy process Integrity Levelje mondjuk 100, pl. egy protected módban futó IE7-ben futó kódé ennyi, akkor az hiába ír ki OutputDebugStringgel valamit, nem látszik a DebugView-ban, mert a debugview 200-as szinten fut. Minden user processz, amit az explorer indít alapban ezen a szinten fut, mert a child processzek öröklik a szülő integrity leveljét.

Nem tudom az OutputDebugString illetve a DebugView belül hogyan működik (pont most jól jött volna a DebugView forráskódja…), de a jelek szerint messagekkel, mert pont azokat blokkolják az integrity levelekben különböző processzek között.

Ezért ha Low Integrity alatt futó folyamat OutputDebugStringjét akarom megnézni, akkor Low-ban indítom el a Debugview-t. De hogyan? A korábbi cikkben van egy kis kódrészlet, ami megmutatja hogyan kell Low-ban elindítani egy új processzt. Az ott található kódot beraktam egy kis console appban, így LI ize.exe-vel máris bármit el tudok indítani low integrity levelen.
Pontosan a következőket befolyásolja a protected mód a User Interface Privilege Isolation (UIPI)-re építve:

A lower privilege process cannot:

  • Perform a window handle validation of higher process privilege.
  • SendMessage or PostMessage to higher privilege application windows. These application programming interfaces (APIs) return success but silently drop the window message.
  • Use thread hooks to attach to a higher privilege process.
  • Use Journal hooks to monitor a higher privilege process.
  • Perform dynamic link library (DLL)–injection to a higher privilege process.

With UIPI enabled, the following shared USER resources are still shared between processes at different privilege levels.

  • Desktop window, which actually owns the screen surface
  • Desktop heap read-only shared memory
  • Global atom table
  • Clipboard

Szóval a clipboard még oszott, szép is lenne, nem lehetne másolni az IE-ből pl. notepadba kopipasztával.

Ez úgy néz ki, hogy ha létrehozol pl. egy megnevezett mutexet egy 200-as szálban, és azt el akarod érni egy 100-as integrity levelű kódból, akkor access denied-ot kapsz. Azért, mert ha nincs ACL az erőforráson, akkor azt úgy értelmezi a Vista, mitha egy 200 vagy e fölöttieket beengedő ACL lenne rajta (részben írtam már erről).
Csak úgy férhet hozzá a 100-as szál a 200-as által létrehozott globális erőforráshoz, ha az erősebb szál kézzel rárak egy olyan ACL-t, ami beengedi a 100-asokat. De miféle ACL ez, hisz tudjuk, hogy csak DACL van, ami Józsinak ad read jogot mondjuk egy file esetén, vagy az SACL, ami az auditok igényét tárolja. Nos, az SACL-t bővítették ki, az Integrity leveleket itt tárolják.

Szopatós a Vista, beleköp több ponton az appok életébe, de jól teszi, végre látszik, hogy komolyan vették a secut az msnél. Persze, a Windows 2003 az XP SP2 már jól láthatóan ebbe az irányba ment el, de most befoltoztak olyan arhitekturális likat is, mint amilyen a mindenki küldhet mindenkinek üzenetből fakadt.

Ja, és még egy tapasztalat. Low, azaz 100-as Integrity level esetén virtualizálják a file és reg hozzáférést is, ezért számít, hogy ha neked csak read jog kell valamihez, akkor tényleg azt kérj, ne read write-ot. Gyakori, hogy az ember lazán lekér egy all accesses handle-t, pedig csak read kellett volna. Az ilyen akciók könnyen büntivel végzik Vistában. Még jobban észnél kell lenni programozáskor, ez a secu ára. De legalább precízebb munkára kényszerít.

Le vannak maradva a magyarok – én is

Friday, November 10th, 2006

Putaboutnál olvastam, hogy nem ismeri a magyar a különböző újkeletű fogalmakat. A Set Top Box számomra is ismeretlen volt, rontottam volna én is a statisztikát, ha megkérdeznek.

SQL Truncation Attacks

Wednesday, November 8th, 2006

Ez a téma számomra új volt. Persze az injectionhöz hasonlóan ez is csak azokat érinti, akik stringkolbászolják az sql parancsokat.

Az ötlet egyébként az, hogy kellően hosszú inputtal az összerakott sql parancs adott esetben nem fér el a cél változóban (pl. varchar(50), így lemarad a parancs vége. Ez azért lehet szivatós, mert bár kiszámolod, limitálod, stb. a bemeneti string hosszakat, de amikor normalizálod a stringet, pl. az aposztrófot kicseréled 2 aposztrófra, akkor máris 2 hely kell egy karakternek. Ezzel aztán jókat lehet hekkelni.

2005-ben tessék nvarchar(max)-ot használni, és ha lehet, nem stringkolbászolni. Tudom, van, amit csak így lehet (hatékonyan) megoldani.

SQL Server diszk kezelés

Wednesday, November 8th, 2006

Az sql listára írtam az alábbi szösszenetet, hasznos lehet másnak is, beeditálom hát ide is.

Ha a guideline-okat nézzük sok vinyó kellene már egy adatbázishoz is (külön, a windowsnak, page filenak, adatnak, lognak, stb.), pedig sok cég 5-10 adatbázist is tart egy sql serveren.

Az a fajta bűvészkedés, amit régebbi doksikban lehet olvasni, szerintem egyszerűen nem működik, mert nincs elég hdd hozzá. Ha van, persze akkor ok.

Ami legnevetségesebb nekem, amikor 10 log file-t ráraknak egy hdd-re, vagy egy mirrorrra. Ha elég aktívak az adatbázisok, össze-vissza reszel a fej a log hddn, pont a szekvenciális írásból származó teljesítmény előny veszik el.

Sokan nem tudják miért sokkal gyorsabb a szekvenciális log írás (ha nem rontjuk el, mint az előbbi példában.)

Tegyük fel a hdd átviteli sebessége 100MByte/s. Azért ez elég gyors hdd. Legyen az átlagos elérési idő 5 ms.

Ha az sql server az adatokat mondjuk 8 kByte-os blokkokban olvassa, akkor ugye másodpercenként 200 x 8 = 1.6Mbyte-ot tud olvasni (a 200 az 5 ms reciproka).

Azaz a szuper 30000-en pörgő drága hdd még 2%-ig sincs kihasználva! Mit lehet tenni? Növelni kell a blokkok méretét. De az sajnos az sql server magánügye, viszont szerencsére ő próbálja elég nagy harapásokban olvasni az adatokat, így azért nem annyira rossz a helyzet, de ha belegondolunk, még 128k-s blokkoknál is csak 128×200 25 Mbyte/seccel olvas, azaz még a vinyó negyedét se használja ki.

Ez van tehát az adat vinyókon. Mit lehet tenni? Több vinyó kell, egymástól függetlenül mozgó fejekkel (tehát nem partíciók, hanem hddk). Ezeken vagy szét kell osztani az adatbázist file groupokkal, vagy valamilyen értelmes raidbe szervezve egyben látni és használni őket (1+0, pl.). Ebben az esetben ugye a raid kártya osztja el a terhelést.

A log esetén teljesen más a helyzet, ha csak egy log file vagy egy hddn (vagy egy mirroron, kettőt egyszerre írni ugyanolyan gyors, mint egyet), akkor elvileg ki lehet használni mind a 100 Mbyte/secet.

Szóval realisztikus esetben, pl. 4 vinyó és 5 adatbázis esetén nem marad más, mint raid 1+0-ba bekötni őket, és az egész bagázst, operendszert, page filet, data filokat, logokat, mident erre a raidre rakni.

Szerintem egyszerűen nincs elég vinyó szétbűvészkeni a kérdést.

Ha persze egy nagy teljesítményű OLTP adatbázisról van szó, dedikált géppel, akkor érdemes filózni a beosztáson. A logot akkor mindenképpen külön kell venni, a többi szerintem nem kritikus, ha egy bagázsba kerül.

Ez egy pozitív nap volt

Tuesday, November 7th, 2006

Joep bejegyzését örömmel olvastam a megtalált pénztárcájáról.

Én ma reggel nem vettem parkolócetlit, mert csak 10 percre mentem el a kocsitól. Mire visszaértem ott volt egy jegy a szélvédőn plusz két órára. Önsegélyező szolgálat, nagyon jólesett. Én is kerestem hát egy másik kocsit, és továbbadtam. Na, mégis csak van némi összetartás a magyarban? Nem kell nagy dolgokkal kezdeni, nekem is nagyon nagy dolognak számít.

Sysinternals TechCenter

Tuesday, November 7th, 2006

X-Comnál olvastam róla, remélem nem nyirbálják meg őket, mint a forráskódokat. Nem, mintha nekem sokat számítanak, de aki valami drivert ír, annak biztos jól jön. Persze még le lehet mirrorozni a sysinternalsról.
Main site.

Blog: http://blogs.technet.com/sysinternals/

Van pl. új debugview Vistara, holnap pont erre lesz szükségem, az előző verzió rendre betojik Vista alatt.

SQL 2005 SP2 CTP

Tuesday, November 7th, 2006

Readme.
Ami nekem érdekes:

Added new functionality in the SQL Server 2005 Enterprise Edition to provide an alternate storage format that can be used to minimize the disk space needed to store existing decimal and numeric data types. No application changes area are required to use its benefits. This new storage format, known as vardecimal storage format, stores decimal and numeric data as variable length columns and can be enabled or disabled at a table level on new or existing tables. If you have declared a decimal or numeric column with high precision but most values do not require it, you can potentially save the disk space needed to store the table. A new stored procedure is provided to estimate the reduction in average row size with the new storage format.

A Vistához kell majd az SP2.
Letölthető verziót még nem találtam.

Ha üres egy chm belseje

Tuesday, November 7th, 2006

Lehet, hogy az xp sp2 védelme okozza, itt a megoldás. Én azt hittem az ie7 miatt jött elő, de ezt sp2-es fícsörnek mondják.

Könyvajánló: Gribbin, John Schrödinger Macskája – Kvantumfizika és Valóság

Saturday, November 4th, 2006

Mostanában újra ráálltam a fizikai témájú könyvekre (több más műfaj, pl. pszichedelikus irodalom, spirituális művek és persze szakmai könyvek mellett).

A fenti könyv nagyon jó bevezető a bizarr tulajdonságokat felmutató kvantummechanika világába. Az is megértheti, akinek csak középiskolai fizikai alapjai vannak, delta stílusban fogalmaz a könyv, és bár vad dolgokat állít mentes azoktól a túzásoktól, amelyekbe azok a szerzők esnek bele, akik csak ugatják a fizikát, és aztán a kvantumfizika furcsaságai alapján igen messzire menő ezoterikus következtetéseket vonnak le.

Az az igazság a kvantummechanika ordít, hogy ráhúzza az ember a saját hiedelemvilágát, hisz olyan furcsa dolgokat állít, amelyeket általában nem a fizika, hanem a filozófiai és a vallásos művek terén talál az ember.

Ott van mindjárt a címadó macska, akiről nem lehet tudni milyen állapotban van, egészen addig, amíg meg nem figyeljük. A megfigyelő is kell ahhoz, hogy a Schrödinger Pszi hullámfüggvény összeomoljon, és megjelenjen a valóság. De ha a macskát meg kell figyelni egy embernek, hogy kiderüljön él-e vagy hal-e, akkor ki figyeli meg az embert, hogy az valóssággá válhasson? Ki figyeli meg a világegyetemet, hogy az valóságossá váljon, ne csak egy baszott nagy Schrödinger hullámegyenlet legyen? Itt van az a pont, ahol bajban van pl. Hawking is, és azt mondja, hogy a kutya fáját, kényelmetlen azt mondani, de valakinek meg kell figyelni ezt a francos világot, hogy létezzen. Vagy nem, elvégre egy fizikus nem szeret Istenről beszélni. Durva, nem? Ezért érdekel engem a mai fizika, mert abban bízok, hogy még a mostani életemben eljut odáig, hogy magyarázatot adjon sok -materiális ember számára irracionális vagy nem létező- jelenségre. Mint már írtam engem a két oldal, a spirituális tanok által mutatott kép és a fizika által leírt világ közötti szintézis érdekel, amelyben tulajdonképpen semmi nem lesz misztikus, megmagyarázhatóvá válik?

Miért? Mert én nem tudok hinni. Nekem hiába mondja meg a pápa vagy akárki más, hogy ez vagy az így van, én nem hiszem el. Én magam akarom megtapasztalni. Ez hajt, ezt élvezem. Féldd Istent – mondják a katolikus papok. Féli a faszom, és most szándékosan voltam vulgáris. Féljek attól, akit előtte egy perccel a legnagyobb, a végső szeretetként írtak le? Ugyan már, ne bosszantsanak.

Naszóval, visszatérve az eredeti témához, akit érdekel a kvantummechanika, az olvassa el a fenti könyvet, nagyon jó.

Közben egyébként már a könyv tíz évvel később íródott második részét olvasom, Schrödinger kiscicái címen, amelyet a szerző 94-ben írt, ebben az előző könyv óta eltelt évtized felfedezéseivel foglalkozik. Úgy néz ki ez még meredekebb dolgokat állít, illetve arról ír, hogy sok dolgot, ami az előző könyben még csak hipotézis volt azóta már kísérleti úton bebizonyítottak.