Sunday, February 27, 2005

I've been meaning for quite a while to upgrade the firmware on my main router for sometime - so when visiting the Linksys site I was pleased to see that they have made the source code available under GPL. I spent some more time looking around and happen upon a good site for Linksys owners - www.linksysinfo.org These guys lead me onto a group - www.sveasoft.com - which have extended the firmware with features which blow the standard router away - for $20/year you can get as many firmware upgrades as you can handle. I choose the second most recent which had several thousand downloads - Alchemy- 6.0rc6a. Took all of 10 minutes to flash the box and setup my existing configuration. Sweet.

As for the extended features - I'll write another article soon about those that I setup. It will be interesting to see if my reliability suffers or approves with this firmware. One thing that has immediately improved - my Xbox live connection - whilst my Internet connection is being used by others thanks to a powerful QoS engine. Looking forward to extending my wireless domain with WDS and the option to increase the radio signal by 900% - well beyond the legal UK limit.

2/27/2005 8:35:24 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


FA Cup 

League Cup

Champions League

Premiership

Ten Men Went To Mow 

Wallpaper Here 

2/27/2005 7:38:37 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Saturday, February 26, 2005

Now I can continue gaming without fear of my XBOX overheating during a Halo 2 session and burning my house down. My free power cable arrived yesterday and its huge - more like a cut-out circuit you use for your lawn mower!

2/26/2005 6:38:40 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Friday, February 25, 2005

At last some decent snow - about 3 cms. Probably sounds stupid to any Americans but in the UK this much causes gridlock - glad I'm working from home today.

 

2/25/2005 10:37:12 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Thursday, February 24, 2005

The IrishAfrican departed today for the sunny climate of his homeland - South Africa. I hope my readers will join me in wishing him all the best in his future ventures. All the best mate. Bowling.wmv

2/24/2005 7:28:13 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Wednesday, February 23, 2005

Here are some great interview questions for would-be .NET developers. Via Scott.

2/23/2005 11:03:23 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Tuesday, February 22, 2005

I have yet another USB toy on order to add to my collection of completly useless gadgets.

Just hope it doesnt leak in my laptop bag!

2/22/2005 11:19:52 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Taken from the infamous Suzanne Cook blog:

If you having problems with assembly binding, try looking at the Fusion logs.

Retrieving the Fusion log

If the exception message isn t enough for you to determine what the problem is, try getting the Fusion log. It will describe the binding failure (if this is due to an assembly binding failure, instead of a loading failure after the file is found). The exception may already include the log. If not, to get it, run fuslogvw.exe. If you don't have fuslogvw.exe already, install the Framework SDK.

  • For pre-v2.0: click on "Log Failures." If this is an ASP.NET or .NET Windows service app, select the Custom option, and in regedit, set [HKLM\Software\Microsoft\Fusion\LogPath] to point to an existing directory (like c:\mylogs, not c:\). If you need to log all binds, not just failing ones, set [HKLM\Software\Microsoft\Fusion\ForceLog] as a DWORD value, to 1.
  • For v2.0: click on "Settings," then choose "Log bind failures to disk" if you only care about the failures, or "Log all binds to disk" if you want to see all binding requests.
  • To turn on failure logging during a test run instead of by hand, have your script set [HKLM\Software\Microsoft\Fusion\LogFailures] as a DWORD value, to 1 in the registry.

Then, click "OK." Now, re-run the process. Next, click "Refresh" in fuslogvw, and a line should appear for each binding failure (or for each bind, if ForceLog is set). Now, double-click on the line in the "Application" column for the interesting bind, and a web page should come up with the Fusion log.

If the file was found, it was loaded from the last path probed in the log (or from the GAC, if there is no probed path shown).

Note: Unless you are explicitly debugging the failure of a resource to load, you will likely want to ignore failures to find assemblies with the ".resources" extension, with the culture set to something other than "neutral". Those are expected failures when the ResourceManager is probing for satellite assemblies.

2/22/2005 11:11:10 PM (GMT Standard Time, UTC+00:00)  #    Comments [1]  |  Trackback


Today i tried to do some remote debugging on a VM machine from my laptop and quickly released that it no longer works out-of-the-box with XP service pack 2. A few searches later and I got it working again. Here's your shortcuts. BTW i would always recommend using the remote debugger over installing VS.NET on a test box.

Windows XP Service Pack 2 (SP2) for Developers

Description of the DebuggerFirewall utility that makes the Visual Studio Remote Debugger work through the Windows XP Service Pack 2 firewall - this tool must be on your pen drive (dont leave the lab without it!)

How to configure Windows XP Service Pack 2 (SP2) for use with SQL Server - for all you db devs.

 

What I'm Listening To: Trancequility (community playlist)
2/22/2005 11:08:13 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Friday, February 18, 2005

Ring Ring... Hello. Is our mail server not working?

I normally only get phone calls on my work mobile when something is badly wrong. Its never good news. And when its the mail server i just know its gonna be a long day.

Despite what some people think about email and its importance, once companies take things for granted all hell can break loose when those same things are taken away from them. We all rely on email. Period.

OK, take it easy. Reboot the mail server. It will be back up and running whilst i drive into the office.

3 phone calls along the M3 later and I realised today was not going to be a very productive day coding. I was gonna spend the day with Exchange.

The last sentence I wrote may sound very calm yet when this happens on one of the Exchange servers you are responsible for you will be anything but calm. Once the stores in the storage group are dismounted, users are disconnected from their precious information (mail, calendars, contacts) and they will come waving pitchforks.

I find Exchange server to be a very complicated system and as in most complicated systems the most "trivial things" may bring it to its knees. And today when I discovered the eventual reason that our Exchange database was corrupt and wouldnt mount I nearly cried out with pain & laughter.

A very oversimplified analysis of an Exchange server may state that that an Exchange server is nothing more then a database server that has some exotic extensions through which users can manipulate their data. This analysis (even though oversimplified) is not far from truth, and it emphasizes the importance of the database that stores the user's information on an Exchange server.

Exchange server uses a database technology called ESE (Extensible Storage Engine), this database technology is based on the JET (Joint Engine Technology) database engine.

The ESE engine employs several files upon which the database is built (I have only specified the ones that are relevant to our topic):

  1. Store files- The store files hold the information that is already committed to disk. Each Exchange store (Private and Public) consists of two files:
    1. EDB- Rich-text database stores information in a proprietary format called Microsoft Database Encapsulated Format (MDBEF) that is submitted by MAPI clients.
    2. STM- Native Content Database holds all data that is submitted by non-MAPI clients.
  2. Transaction Log files- the log file stores altered data before it is committed to the database. A set of log files is unique to a storage group. The log files name begins with a prefix that identifies the storage group they belong to- E00XXXXX.log (belongs to the first storage group). The suffix for each log files name is a hexadecimal sequentially assigned number.
    The active log file for a specific storage group is always called: EX0.log (X represents the storage group), once it is filled (5MB) it is renamed using the next sequential hexadecimal number and a new EX0.log is created. Since by default log files are not erased (by default storage groups do not use circular logging) the space on a log disk will eventually be depleted. The standard procedure for removing unused log files is backing the system up (full or incremental).
    As mentioned earlier the size of a log file is 5120KB, if you find that the size of the files is different you may be looking at a corrupt log file.
    Each set of log files has two placeholder files called: res1.log and res2.log. These files are used by the storage group when it runs out of disk space to store altered information before dismounting the storage group.
  3. Checkpoint File- The checkpoint file is used to track which transactions have been committed to the database and which transactions have to be committed to the database. The name of the file is EX0.chk (X stands for the storage group) and its size is 8KB.

The symptoms our mail server was displaying were that the stores would not mount and all the event log messages seem to indicate that we had run out of disk space. Now as I know this can spell certain death to an exchange box I regularly check disk space - we had plenty of space - another dead end. Google?

http://support.microsoft.com/?id=819553

This gave me the exact error messages being reporting. But the E00.log it mentions was not missing. Another dead end. The article also warns about Anti-virus. Now I knew this and when I installed our server I setup server rules to exclude the exchange folders from scanning. Another blank.

Ok onto the next Google search

How to test Exchange transaction log files for corruption - http://support.microsoft.com/kb/248122

A good few hours later - no corruption detected. People were starting to wonder if they'd ever see they mail again. I wondered that myself, and let slip that the database maybe lost.

At this point, I needed a cool head. Despite pressure from all sides, I knew I shouldn't set an unrealistic time for completing the restoration of service. Based on my experience, I recommend that you follow these steps.

  • Find the last backup.
  • Take a copy of the mailbox and public folder stores (Exchange and streaming databases) .
  • Make a copy of the transaction logs
  • Disable inbound mail connections
  • Keep a log of the restore process

OK, backups werent an option here as our backup scheme had failed since mid-December. Dont let this happen to you. Dont get me started talking about backups.

Although a database might be corrupt, you must take a copy of the existing databases. Don't forget to take a copy of the streaming database.

A restore can overwrite the corrupt database, so you need a way back to the state of your database when the corruption occurred. If the restore is unsuccessful, you might be able to repair this database. In this scenario, you want the most recent version of the database, even if it's damaged. If the files are large, you can save time by renaming them to something meaningful (e.g., priv1.oldedb, priv1.oldstm). Remember to leave enough disk space on the database drive for the restore.

Making a copy of the transaction logs is crucial because the transaction logs enable recovery up to the moment of the outage. Check the dates of the transaction logs, and verify that you created them since the last backup.

A server recovery might require several restore attempts, and you don't want queued inbound messages delivered until you're satisfied that the restore process was successful and everything is running normally. Therefore, you need to disable the default SMTP virtual server.

I now tried to remove the transaction logs - giving these up as lost. Now can I mount the db? No.

I used the Eseutil utility to examine the database header and learned that the database was in an inconsistent state.   ESEUTIL /mh <path to database file> ==  Dirty Shutdown

OK, now I had to recover the database using eseutil to get the db back to a clean shutdown but this just gave errors.

Last chance saloon. Repair the db using the same tool even though recommend strongly not to do this in dirty state. Seems to work?

Can I mount the stores?

YES! Horray. Even before I got up to get a fresh cup of tea, people started noticing their mail arriving.

OK, I sit down and open my mail. And sitting there in my Alerts folder is a virus alert on the mail server. Reading, everything started to make sense. The anti-virus software had located some data in the exchange log files that matched a known virus signature. And deleted it! No wonder Exchange collapsed. All the times tied together - I had found the cause.

Then I remembered that I had ruled out anti-virus software being envolved because I had setup exclusions on the exchange data folders - why hadnt that worked?

Checked the settings - missing! Damn it! My exclusions had been lost somehow. OK - i put them back.

On the way home I suddenly realised that the settings must have been lost when the anti-virus upgraded itself recently after a major bug was found

I chuckled as a wondered how many people world wide had just had a day just like mine!

 

2/18/2005 2:56:58 PM (GMT Standard Time, UTC+00:00)  #    Comments [2]  |  Trackback


Now I know playing Halo 2 gets me hot under the collar but I dont expect my machine to melt or my house to burn down. If you have an early Xbox like me, order your free replacement power cable.

 

2/18/2005 12:21:08 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Tuesday, February 15, 2005

I'll try to keep this post updated with my position in WoW.

15/02/2005: I'm currently a level 10 rogue in the Deathwing Realm. I'm staying in the Lion's Pride Inn, Goldshire which is central Elwynn Forest.

I've put some WoW images onto my wallpaper site, which is gaining popularity.

2/15/2005 11:12:23 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Sunday, February 13, 2005

Join me online - gamer tag in all games solidstore

Currently playing (see also my xbox live reputation - top left of my web site):

  • World of Warcraft [PC] on Deathwing (Rogue)
  • Crysis [PC] (Single player demo)
  • Halo 3 [XBOX 360]

Recently Completed:

Occassional Melee:

2/13/2005 12:12:02 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Thursday, February 10, 2005

Apparently we all about to be flooded with even more spam mail. Spammers have developed a tool that once run on a compromised machine will distributed mail via that machine's ISP mail servers - effective making black-list net block filtering useless. They cant exactly blacklist all ISPs now can they! One of the tools available is allegedly being hosted on an MCI WorldCom network. That claim made me chuckle :-)

A novel way of making spam less profitable is to help shutdown the scammers who send these mails by driving up they costs. Check out how you can help Artist Against 419

While reading this page you've stolen 41076 bytes already!

A fake banks imageA fake banks imageA fake banks imageA fake banks imageA fake banks imageA fake banks imageA fake banks image
2/10/2005 12:44:17 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


From Zdnet: http://news.zdnet.co.uk/0,39020330,39187253,00.htm

Microsoft's AntiSpyware product is threatened by a Trojan horse that also tries to steal online banking details.

Antivirus experts, who are calling the Trojan Bankash-A, say it is the first piece of malware to attack Microsoft's anti-spyware product, which is still in beta.

"This appears to be the first attempt yet by any piece of malware to disable Microsoft AntiSpyware," said Graham Cluley, senior technology consultant for Sophos. "As Microsoft's product creeps out of beta and is adopted more by the home user market, we can expect to see more attempts by Trojan horses, viruses and worms to undermine its effectiveness."

The Trojan is said to suppress warning messages displayed by Microsoft AntiSpyware, and delete all of the files in the program's folder.

Like many other Trojans, Bankash will also steal passwords and online banking details from Windows users. The program targets users of UK online banks such as Barclays, Cahoot, Halifax, HSBC, Lloyds TSB, Nationwide, NatWest, and Smile.

Sophos called the Trojan Bankash because it attacks banking customers and installs a file called ASH.DLL onto a victim's hard drive.

Microsoft's UK press office was awaiting comment from the US headquarters at the time of writing.

 

2/10/2005 12:17:12 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Bored with sending flowers & chocolates - light up your other half's life with some sparkling stuff - and I dont mean diamonds. Uranium Ore

2/10/2005 12:09:09 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Wednesday, February 09, 2005

Thought I'd make a quick mention to the open-source project I've just started on SourceForge. Its called 'solidstore' after my gaming tag.

 solidstore is an web based community multimedia jukebox written in ASP.NET. Multiple users can upload & publish their own collections of music, video, document & pictures either for private, shared and/or public access.

Anyone interested in helping out checkout SourceForge for details. Once things are more fleshed out we'll need more sexy artwork and translators. I'm hoping to have a working demo hosted here soon.


SourceForge.net Logo  Support This Project 

 

.NET | Hosting | Music
2/9/2005 11:39:33 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


The bungie site seems dead at the mo. And on the error screen they want you to direct errors to a Micro$oft email - are they running bungie's web app now?

2/9/2005 11:29:04 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Maybe your not l33t enough to play games for a living but how about commentating? I like the idea of this - also i'd like to see the best games between top clans with commentary recorded and available for viewing, maybe as a video stream or better still something that could be loaded back into a game engine and explored as a spectator after the fact. Learning from others is the best way to improve and some of us just don't have the time to dedicate to training with a top clan.

2/9/2005 11:24:25 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


2/9/2005 11:12:19 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


id software has confirmed that Doom3 will be released on Xbox in April. Also an expansion pack Resurrection of Evil is planned around the same time for the PC. The Xbox port will have full Live support (hopefully as good as Halo 2). I hope however the multi-player games are better than the PC, which sucked! My guess is that Doom3 wont port well to the Xbox, the Doom3 engine was too complex even when run on a top end system - how will all the lighting effects run on the xbox hardware - slowly?

2/9/2005 10:03:41 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


For those of you travelling to the states - try out Google Maps - persumably coming to the UK soon too! What else are Google going to develop? And for the geeks how it works.

2/9/2005 9:04:11 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Friday, February 04, 2005

Here is an article on speeding up Firefox. I tried all the recommendations and Firefox now flys - IE6 doesnt even compete!

2/4/2005 11:45:26 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


  1. IWillLinkToYouIfYouLinkToMe.com
  2. AnotherSendentaryHobbyThatKeepsMyGiganticAssFromExercising.org
  3. MyCompulsivelyUpdatedLinksToTheNewYorkTimes.com
  4. YoungFatherDrowningInDiapersWantsLife.com
  5. QuantityOverQuality.net
  6. GayRepublicanSellOut.com
  7. MyExpertInsightsIntoTheIndustryThatWontHireMe.com
  8. PicturesOfMyTaintInLowLightConditionsPlusEssays.com
  9. IAmBoringAndIfYouAreReadingThisSoAreYou.com
  10. MyVehicleAndItsManufacturerTotallyKickAss.net
  11. EmotionallyStuntedPolemicist.com
  12. Snarkette.com
  13. BecausePetRocksArentInStyleAnymore.org
  14. PuttingMyLiberalArtsDegreeToSomeUse.com
  15. users.pimplecream.com/sirpopzalot
  16. IHaveAnEntertainmentIndustryJobAndYouDont.com
  17. PottyMouthedRichCollegeGirlPrattlingAboutFucking.com
  18. WatchDogWatchDog.com
  19. GeorgeWBushMakesMeSoMadIStartedABlog.org
  20. FailedJournalist.com
  21. UnwittingToolOfCorporateMarketing.org
  22. IronicPopCultureReferencesObscuringAnUtterLackOfInterestingOpinions.com
  23. CelebrityBungLeech.com
  24. ElectronicManifestationOfMyStruggleToBeRelevant.com
  25. RegurgitatingShitIJustHeardRushLimbaughSay.us
  26. RegurgitatingShitIJustHeardAlFrankenSay.us
  27. HotNewConsumerGadgetAdvertisement.net
  28. TragedyBuzzard.com
  29. 300LbBoilCoveredSocialCriticInADoublewide.com
  30. TheOnlyWayAnyoneWillEverReadMyHorriblePoetry.org
  31. HookingUpWithFatProtestorDykes.com
  32. DeconstructingFartJokes.com
  33. BecauseGeocitiesIsTooComplicatedForMe.blogger.com
  34. WhatHappenedAtWorkAndWhatIAteAndWhatIWatchedOnTVToday.net
  35. HalfAssedCryForHelp.com
  36. BourgeoisBohemianHipster.com
  37. TheSameKookyKrazyStuffEveryoneElseIsLinkingTo.com
  38. UglyNewYorkMediaInsiderCircleJerk.com
  39. DepressedEmotionalExhibitionist.ws
  40. UpdatesFromYourFavoriteCelebritysWebmaster.com
  41. VelvetClad.ChunkyGothGirls.com
  42. PompousRuminationsOnMinutia.org
  43. PageAfterPageOfBitchingAboutMyMother.com
  44. ThePissyPontificatingProfessor.com
  45. MyMostIntenselyPrivateThoughtsAndSecretsForAllTheWorldToSee.com
  46. PrimalHowlsOfASnivelingCoward.net
  47. CantDo-CantTeach-CanBlog.org
  48. BlurryDigitalPhotosOfMyHomelyChildrenAndPets.org
  49. ProcrastinatingOnMyBrilliantNovelAboutAGiftedWriterAndHisCrazyAdventuresChangingTheWorldFromDeepInsideTheUltraSignificantBlogosphere.com
  50. MyBlogAboutHowLameIThinkBlogsAre.com

From Chicken Head

2/4/2005 12:17:35 AM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Wednesday, February 02, 2005

Half Life 2 is now done, onto my next Christmas game - The Battle for Middle-Earth. Good bye Combine - Hello Orcs? Wonder if theres a shotgun?

2/2/2005 7:34:59 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback


Tuesday, February 01, 2005

The new enterprise library has been released and on the whole it looks excellent. Even the documentation has improved. Is this the first Microsoft library to even include unit tests? On the subject of unit tests, one downside is that (not for the first time) they only run correctly on a US English system. Hey guys - not everyone formats dates etc... like the yanks. Also case sensitive sql servers always tends to cause Microsoft written code problems. But hey some working unit tests is way better than none. Good job. Now just make it more portable!

Update: String Resource Tool - Thanks

Top Enterprise Lib blogs

2/1/2005 7:52:51 PM (GMT Standard Time, UTC+00:00)  #    Comments [0]  |  Trackback