/egilh

Learning by doing

February 2005 Entries

My server was sympathetic with me lately as it was getting sicker by the day: Its cough CPU noise was loud enough to hear in a different room with two young kids in the house! The secondary HD on my server had several bad sectors and Win2k decided to unmount it whenever it was unable to flush the write operations to the disk. I blame it on the case design as the HDs were too close. The second HD mounted directly over the first one in the case got way too hot. The HD container I bought worked like a charm so the HD still worked. Sort of. Rebooting the server each time it lost the HD was a pain so I decided to fix the HD problem first. This weekend I scheduled a ...

Not satisfied with the official way, I went looking for a simpler way. The Component Services Console displays the data so the information must be there somewhere. It is a waste of time and resources me to collect the data and calculate the call times when the information I want is already available. As it turns out the unofficial way is a lot simpler to implement than the official way. Step 1: include the comsvc.dll library// ComSvcs library for internal com+ method call tracking#import "c:\windows\system32\comsvcs.dll" exclude("IAppDomainHelper") Step 2: get the statistics Get an instance of the internal com+ tracker: COMSVCSLib::IGetAppDataPtr ptrAppData(_T("{ecabafb9- ...

As the title suggests, there are more than one way to get access to the COM+ call timers. This post gives and overview of how to get the call times using the official Microsoft COM+ Instrumentation APIs. Why mess with the COM+ call timers?I had a serious problem with components accessing an Oracle DB using OLEDB. In certain cases we queries never ended. Query timeouts are not supported in the Oracle OLEDB nor Microsoft OLEDB provider and changing the resource constraints in Oracle did not improve the situation. If the query went in tilt, it stayed in tilt -forever-. That is a bad, bad, thing in a system with hundreds of calls per second.. We tracked down the problem ...

SysInternals does it again and delivers another impressive tool: RootkitRevealer RootkitRevealer is an advanced root kit detection utility. It runs on Windows NT4 and higher and its output lists Registry and file system API discrepancies thatmay indicate the presence of a user-mode or kernel-mode rootkit. RootkitRevealer successfully detects all persistent rootkits published at www.rootkit.com, including AFX, Vanquish and HackerDefender (note: RootkitRevealer is not intended to detect memory-based rootkits like Fu that don't survive reboots). Via [Sysinternals]

The Device Command Shell (DCS) is a very useful tool if you do Pocket PC, aka Smart Device, development using Visual Studio 2005. DCS is a Command Window addin that gives you command line access to the most common operations during PPC development: copy files, edit the registry, list/start/stop processes, install DLLs etc. The list of commands continues to grow with each release: CE Batch CE Certs CE Config CE Connect CE Copy CE CreateRegKey CE CreateRegKeyValue CE Del CE DeleteRegKey CE DeleteRegKeyValue CE Depends CE Get CE GetRegKey CE HelpCE Install CE IP CE List CE MD CE Ping CE Query CE RD CE RegSvr (new in 0.98)CE SetPolicy CE SetProxy CE SetRegKey CE Start ...

Community Server 1.0 was released this weekend. The source code is not available yet but I have downloaded the binaries so I can try the various components: blog, forum and photo gallery. I will post my experience with the .TEXT migration as soon as the migration tool/scripts for Community Server 1.0 have been released. Via [Duncan Mackenzie]

Citibank must be one of the most common targets of phishing scams around. I have lost track of the fake mails I have received and forwarded to Citibank security. The Citibank on screen keyboard described by BetaNews smells like a publicity stunt to show that they take security seriously and that they are doing something. Or are they really clueless enough to think that this online keyboard will improve security? It is true that some basic keyboard loggers do not work with an on screen keyboard but it is lot less secure than a normal password field: It is easer to see which password the user enters as you just have to follow the mouse on screen as it clicks the ...

We went to see the Scatole (boxes) exhibition with the kids the weekend before I got sick. A bunch of boxes may not sound like a lot of fun but the kids enjoyed it. The exhibition is targeted at kids between 4 and 10 years. It is by reservation only and each session lasts about 75 minutes. The English description sounds more artistic than it is: It presents a double aspect: a scientific one, the exploration of bidimensionality and tridimensionality, and a creative one, boxes are seen as containers to be explored or filled with ideas, wishes, secrets, and therefore they are to be imagined, built, decorated, and transformed. The exhibition is open until 14 May 2005 ...

It has been one long week with high fever 24x7, feeling like I was living in a world of cotton. Everything was slow and fluffy, including my speech. Not that I normally mind fever as it makes me sleep 24 hours a day. But walking around in a permanent state of confusion is not an option when you have to do something useful like watching the kids so I have pretty much lived on paracetamol, vitamins, water and the love of my family. The fever is gone but some bugs took advantage of my condition to give me a nasty airway infection. A few days on antibiotics and I will be back in business. I thought all the time relaxing doing nothing would give me plenty of time to think ...

What can I say: the Process Explorer from SysInternals is a great tool for understanding what is happening on a system. Version 9.0 has several new features: System information dialog has per-CPU graph option with hyperthreaded and NUMA processor information A Users menu duplicates the functionality of Task Manager's Users tab, showing Terminal Services session information and supporting logoff, disconnect, and sending messages On XP SP2 and higher the TCP/IP tab displays the thread stack at the time an endpoint was opened The tray icon context menu includes the shutdown menu Search engine option to use Google or MSN Search Object address column is available ...

The Daily WTF just cracks me up sometimes . Todays code sniplet, Yet Another "Hex To Ascii", is a perfect example of how a simple task can be made complex with goto. It is difficult to be the worst though as this example shows: look at me, I know how to write loops. One of the worst sql statements I have seen in a production environment does a simple date filter: CREATE VIEW dbo.V_News_DetailsASSELECT TOP 100 PERCENT dbo.Details.idDetail, dbo.Details.sTitle, dbo.Details.sText, dbo.Details.dValidFrom, dbo.Details.dValidTo, dbo.Details.dNewsHour, dbo.Details.dValidHour, dbo.Details.idService, dbo.Details.lPos, dbo.Details.idImage, ...

The Ask Jeeves blog has the official announcement that they have bought Bloglines after the rumors started this weekend. According to Ask Jeeves: There will be no short-term changes to Bloglines that weren't already on their roadmap. Over the long-term, Mark will now, as general manager of Bloglines for AJ, Inc., be responsible for that roadmap in the future. I threw out my old RSS reader and imported all my feeds to Bloglines before going on Christmas vacation. Never looked back again. It is just great to be able to read my feeds any time, any place using Skweezer when I'm on the road. Better search in Bloglines would be cool, but what worries me is this section: We ...

You can if you want is one of my mottos. The amazing story of Alison Wright in Outside Magazine shows what people can accomplish when they really put their mind to it. "My God, someone do something! This woman is bleeding to death!" I silently prayed that someone would help her. I turned my head to look at my watch and saw the gashes. My arm looked like it had been attacked by a shark, the denim shirt soaked red. It was then that I realized the woman they were yelling about was me...He stopped counting the broken ribs after six. He confirmed that my lungs were collapsed, and my diaphragm punctured. I had fractured teeth and sustained huge contusions all down the left ...

The Extracting files from a remote ZIP archive article on Code Project is both interesting and useful. It explains how you can download only the files you are interested in from a large .zip file on a remote server. The program explains how to implement it using HTTP, but the same approach can be used for FTP or files hosted on a file server. The beauty of the program is that all the logic is on the client so it works with all web servers that supports HTTP resume. The program downloads the header part of the .zip to know which files are in the archive. It then uses the HTTP Range header (RFC 2616) to download only the parts of the zip it needs for the file(s) you want. Via ...

This is not a happy post. You better skip reading this if you're a Java fan or otherwise don't feel like listening to my gripes Java. There is one thing I love about programming for Microsoft platforms (client/server/web/PDA/…): Microsoft's online documentation is vastly superior to anything else out there. It used to be true of Borland and it is the reason I taught myself programming from the Turbo Pascal help and examples files. There are tons of example code available in the various SDKs, MSDN and other online forums. Microsoft knows that the success of Windows depends of a horde of happy developers spewing out solutions using easy to use tools like VB. Being ...

Interview with a vampire link spammer on The register It is sad that link spamming pays off so well that people can make a good living out of it. PPC (Porn, Pills, Casino) pays off as people keep searching for it and clicking the links. Comment spamming is not a large scale business like eMail spam yet. The link spammers post links to their own sites which in turn direct the user to sites that sells the goods. Why not just buy a Google ad, Sam? "You don't get anything like the same click-through ratio. Jakob Nielsen's studies and my own show you get six or seven times more click-throughs from 'organic' search results. And pay-per-click on search engines costs money! ...

Moore's law has blocked the CPU at 4Ghz so Intel is working at other approaches to give more bang for the buck. After hyper-threading it's time for Vanderpool. Intel's Virtualization enhanced by Vanderpool will allow a platform to run multiple operating systems and applications in independent partitions. With virtualization, one compute system can function as multiple "virtual" systems. Very mainframe like. I can see the use for it on server systems as long as the rest of the hardware structure is upgraded as well to support "virtual" systems so you can hot plug all parts of a system with 0 down time. Things have definitely moved ahead since I did some serious low ...