Next time you write a worm, perhaps you may want to ommit the address of the website you run from your bedroom from the code! Jeffrey Lee Parson must have been absent the day they taught that. His variant of Blaster, Blaster.B phoned home, literally. This led investigators to his front door. I hope that the courts throw the books at this idiotic moron ($250,000 fine and 10 years in a 6 X 9). Also, based on this looser’s pic, it appears as if his only other way of gaining noteriety, would have been a donut eating contest.
Monthly Archives: August 2003
When The Lights Went Out in NJ
Checkout NOAA POSTS IMAGES ONLINE OF NORTHEAST BLACKOUT. The have satellite imagery day before, and day of the blackout.
ISO The Ultimate Design Pattern
I have been (re)working the Time Tracker sample app for some time now. I want to move the app to a WinForms app and I have been looking at the TaskVision sample app for ideas. I personally do not care for its use of web services, and I am partial to remoting. I also want to make use of the Microsoft Data Access Application Block.
I was wondering if anyone had a good sample of a solid UI/Business Rules/Data Access n-tier architecture that makes use of the app block and is in use in a WinForms app. Thanks.
Everyone Needs a Vacation
So, after surving the Black-Out of 2003, I packed up the family and headed south. We just got back from spending a week on Long Beach Island, NJ. I have to say we had an awesome time. I’m a little tired to go into details now. We have video and pics on the way.
Just a note, this is a generator backed up blog! w00t!
My Feelings Toward The Web
From a coding perspective, I still think the browser as a viable application frame is bunk. Yes, MS has done a fine job of “stateful-izing” HTTP, but it still not a viable replacement for a Windows (WinForms to be exact) application. I have been customizing Time Tracker (an ASP.NET sample app from MS) for use in our organization. I am about to split the middle tier, and data tier components away from the UI, and recode the from in WinForms.
There are enough really good 3rd party controls available, so I can just simply plug-n-play my front end together. The logic and the business rules are all in place already. Also, the concept of tabs that the web app makes use of can be implemented way easier in WinForms. To further ease ongoing development, I can achieve real DataBinding in a WinForms app that I can’t get in ASP.NET.
Hey, not to put down ASP.NET, but I need my app to do exactly what I want it to do, and not have to settle for the idiosyncratic behavoir of a web browser. I will however continue to develop the mobile portion of the app. I plan on breaking the middle tier away using remoting. The ASP.NET app can speak to the middle tier the same way. I assume I will be using GenuineChannels for the remoting underbelly. Dmitry Belikov has done extensive work with streamlining .Net remoting for effeciency. The commercial vesion includes source and is only $99.95 (Dmitry, you should sell it for $105, people would pay it).
I’ll put up some screenshots when I’m ready.
Dynamic Update for a Caching-Only DNS
The public interface of my ISA Server is configured for DHCP. It is in turn attached to a cable modem. The problem that this presents is that the cable provider could change the DNS server addies, and the caching-only DNS server installed on the ISA Server would no longer have correct addresses for its forwarders.
The solution I implemented is to dynamically update the forwarder addie whenever there is a lease expiration on the public interface. I achieve this using two tools. The first tool is William Levra-Juillet’ s DirectUpdate. The second app is a custom C# app that I wrote.
DirectUpdate serves two functions. First and formost, it updates dyndns.org with the public IP addie of the ISA Server. The second responsibility that it has it launch my custom app. DirectUpdate has the ability to start a script/console app when it detects a change. Therefore, I have directed it to call my app.
The function my app has it update the DNS forwarder addies with the ones assigned from the cable provider. The is achieved utilizing WMI (which is Microsoft’s implementation of WBEM). The app first loops through each interface on the ISA Server until it reached the interface that is configured for DHCP. Then it reads the DNS addies from the interface. The second step is to again use WMI to connect to the DNS server running locally and update its forwarder addies.
My custom app can be found here, along with some setup info.
If you don’t d/l this, you need your head examined.
Goto DevExpress and download the free XtraNavBar Suite. This thing is H00K3D UP! For one, you can change the style from Windows XP Explorer to a myriad of MS Office styles. Also has a VS.NET look available too. Now, what are you waiting for?
Just When You Think You’re On Top
So, I sent my resume over to Stephen Forte after I met him at VSLive. First I reminded him I was the guy in the orange shirt asking a lot of questions. I then attached a most recent resume. Here’s clip from his response:
Hey David, where the hell were you when I was CTO over at Zagat?? 🙂
Well, to answer your question, I was working at another .com, Capital IQ, for a punk ass bitch of a CTO. Entirely unlike Stephen. Not to rant, but when you’d ask him a question, and he would answer starting at step C, he’d get pissed when you would re-ask him about steps A and B.
Anyway, maybe things’ll happen. Who knows.
Making My Life Just A Little Easier
I tend to use Meg’s laptop after she rolls over to goto sleep. I don’t care for using the stylus, and I need to keyboard, so tablet mode is out of the question. So I just won a USB-PS/2 adapter from eBay so I can use an old trackball
I also solved another problem. When Meg rolls over, she wants me to turn off the light. This makes using the keyboard a little difficult. Enter eBay win #2. I won a Kensington FlyLight. This is a goose neck light with a USB connector at one end and a hyper-bright blue LED at the other end. I am feeling a little stoked.
Total was $15.49 plus some shipping. Weee!