Ken Robertson's Blog

Ramblings of a .NET developer

November 2003 - Posts

Windows Small Business Server 2003 Premium

Got my copy of Windows SBS 2003 Premium today!  Not bad turnaround.  TS2 conference was last Tuesday, ordered it Wednesday, shipped Monday, and arrived today. :)  And they said it'd take 6-8 weeks for delivery.

Too bad I won't be able to install it until next week though, since heading out of town for Thanksgiving.  Can't take the server with me... don't think anyone would like that.

Pretty nice though.  I can see why it costs $1500... all the damn CD labels are holographic!  Doesn't matter though, free to me. :)  Thanks Microsoft, I love you guys!

Posted: Nov 26 2003, 04:53 PM by qgyen | with no comments
Filed under:
Governor Schwarzenegger

Today I got a memo from the new Director of the DMV (Schwarzenegger replaced the old one) commemerating some people for swiftly making some changes and stuff (all the vehicle registration tax things were reversed in under a week... good turn around for coding, testing, and releasing... lot of stuff involved).  Anyway, was kind of weird when it says, “...their work is greatly appreciated by Governor Schwarzenegger” and now the letterhead on all the official documents say “Arnold Schwarzenegger, Governor”.  Weird.  Hrm, wonder if this goes against my NDA?

Guess there won't be any more 3x a week emails of “Humorous DMV Stories” from the former Director.

nGallery v1.5 released!

nGallery v1.5 is now available for download!

Visit the nGallery site at http://www.ngallery.org to download!

nGallery is a FREEWARE, OPEN SOURCE implementation of a image gallery written purely in managed .NET and C#.

nGallery provides a solution to store and display your image galleries on your own Web site, as well as providing means for customizing and extending nGallery to your own personal likings.

This release features many new enhancements include sub-albums, picture ratings, slide shows, picture view counts, an improved admin interface, image scaling enhancements, and much much more!

System Requirements:

  • Microsoft Internet Information Server (IIS)
  • Microsoft .NET Framework 1.1 *
  • Ability to manage directory-level permissions
  • Ability to configure a directory as an application directory (for global.asax processing)
  • While a database is not required, if you wish to run the SQL Server data provider you obviously must have access to Microsoft SQL Server 7.0 or above.
* = nGallery is currently untested with Mono.

Features:
  • Allows creation and customization of Albums to contain your images
  • Provides automatic thumbnailing, and caching, of your images for faster loading
  • Allows users to comment or caption images
  • Allows users to select a specific picture within an album to be used to highlight the album's contents
  • Contains a full Web-based administration tool for managing your albums, images, comments/captions, including uploading
  • Allows you to quickly send an e-mail with a link of your gallery, a specific album or a specific image to a friend or list of friends
  • The look and feel of your nGallery is fully customizable, without touching any code
  • Supports the concept of "skinning" where users can customize the look and feel of nGallery and then easily share those with the community
  • Integrates with Shutterfly so that you can transfer and print images
  • Allows you to customize the album-listing page to be either in line or a grid layout
  • Configures almost all features in one central text file
  • Allows you to secure the administration tool
  • Allows you to password protect your entire photo gallery
If upgrading from v1.0 and using SQL Server, be sure to run the update script in the 'sql' directory. Also, it is recomment that you clear the pictures cache to take advantage of the improved thumbnailing. To do this, log into the admin interface and click "Clear Picture Cache" on the left hand menu under "Actions".

We encourage you to grab a copy, subscribe to the mail list (ngallery-discuss-subscribe@ngallery.org) and contribute!

If you find any bugs, please send a detailed description to bugs@ngallery.org!


Thanks, and hope everyone enjoys it,
  The nGallery Development Team

Need book suggestions!

With Christmas around the corner, my family has been pestering me with the question, “What do you want for Christmas?”  For a while, I've been wanting to build up my technical book shelf, since it is kind of small.  I'm mainly looking for books into networking and databasing (or XML, basically application data storage).  I'm also interested in extreme programming.  Heard a little bit about it, but don't know too much, so I figure I could read a book on it learn more.

I've already told her I wanted a copy of Professional .NET Network Programming and XML in a Nutshell (I like the 'Nutshell' series).  Anybody have any other good suggestions so everyone stops bothering me?

Posted: Nov 19 2003, 12:28 PM by qgyen | with 2 comment(s)
Filed under: ,
Sacramento TS2 Seminar

Yesterday I went to the Microsoft TS2 seminar here in Sacramento.  Originally, I found out about it because I heard they were going to be giving out a free copy of Windows Server 2003 Standard.  I didn't know what TS2 was about or anything, I just saw “free” and was drawn to it.

Overall, I found the seminar very informative and got more out of it than free stuff (though I don't have any free stuff yet).  The seminar was actually an overview of Windows Small Business Server 2003, not just Windows Server 2003.  It looks very nice... so nice I want it for the network at home.  I've been wanting to setup something more secure and and use a VPN to login from school and allow my senior project members to get remote access for when we start development.

The seminar started out by a substitute presenter.  The speaker we were supposed to have was flying in to Sacramento that morning from Portland, but the plane got to Sacramento and couldn't land because of the fog, so it flew back to Portland and she had to take another flight.  Anyone from the Valley knows how fog can get around here.

The sub was the TechNet presenter, and he was pretty good since the first part was on security and kind of crossed with the TechNet information.  He was mainly focusing on the advantages of the Trustworthy Computing campaign and how it has worked on SQL Server SP3 and Windows Server 2003 compared to earlier versions.  He also went over all the patching techniques like Windows Update, SMS, MBSA, etc.  One very interesting item was the changes coming in patching techniques.  Right now, there are like 8 different types of patching methods and about 3 different places to get patches (Windows Update, Office Update, MS Download Center).  In the next 12 months, Microsoft is going to be converting to just 2-3 patching methods and one central place to find patches for everything called Microsoft Update.

After the first break, our intended speaker showed up and was able to finish off the rest of the seminar.  She went over the main points of Windows SBS 2003 Premium and started into Office 2003, but only got through InfoPath.  Since the seminar is geared towards consultants, they mainly focused on the new features in 2003, demonstrating how easy it is to use, and how to sell it to your clients.  She showed how it comes with a basic “To Do” list for setting up the server, the new Remote Web Workplace portal, etc.  I found it very interesting and effective how she was using Virtual PC.  The host OS was handling the Powerpoint presentation and then she had 4 VPCs running.  One with SBS 2003, one XP client, one XP standalone (not in the domain), and an XP system to demo InfoPath.  She could easily switch from one to the other to demonstrate how to set things up on the server and then connect on a client.  Very interesting.

InfoPath caught my eye as well, since I had seen it, but never bothered to look into what it was.  She put it very well.  InfoPath is to forms as what Crystal Reports is to reporting.  It is a nice, streamlined way to enter data that can go into many repositories... whether it is XML, SQL Server, Oracle, or web services, it can send the data to any number of sources.  I had gone to the seminar with one of my roommates and he was wide-eyed during that presentation.  He's going to talk his boss into getting Office 2003 at work so he can re-write their timesheets and expense reports using InfoPath.

But now, to the free stuff.  I didn't really get anything.  The presentation was supposed to come on a DVD for you to view later, but it was a new presentation and the first time they were showing it, so they didn't have the DVDs yet.  The presenter said that in our packet, there would be a timebombed version of SBS 2003.  There wasn't.  We were also supposed to get a certificate to order a free copy of SBS 2003 online.  My roommate tried his and it said the code was invalid.  I had to register my company and was supposed to be emailed an authorization number, but it never came.  I emailed MS and they forwarded it to the right area, but said it could take 48-72 hours.  Oy.  The presenter said that she heard the copy they were going to give away was SBS 2003 Premium... I hope so, since that would be sweet.  Could use SQL Server and wouldn't mind setting up ISA Server.  But, none the less, it was very informative and I got a nice little Office 2003 book and a cool bag that says Microsoft on it. :)

Posted: Nov 19 2003, 12:22 PM by qgyen | with 2 comment(s)
Filed under:
Answer was staring me right in the face.

Been making a lot of progress on Outlook.Sync.  Infact I just got it to successful send and recieve appointments, contacts, and tasks all at once, while paying attention to private items and configured through the Outlook options menu.

Took me quite a while to get support for ignoring items.  At first, I tried setting up a user property called “DoNotSync”.  That was working ok, but then I tried to change it from a text property to a yes/no (bool) and it wouldn't let me.  Tried deleting that one and creating a new one, but it was always saying one already existed by that name, even though it couldn't find it.  So then I just started using an ArrayList to track them (much like I'm doing for deleted items), but the problem there was that you could not mark a brand new item to not send.  It doesn't have an EntryID yet.  You have to create it, reopen it, and mark it.  Minor problem, but I just had the button not show on new items.  I spent hours getting it all right, trying the different methods, figging out why it would run the function multiple times (kept adding the event handler, doh).

Finally, I was testing synching contacts and I noticed a little “Private” checkbox in the corner.  I looked on the other screens and it was there too.  Hrm.  Little cloud formed above my head.  Where would it store that?  Duh, in the “Sensitivity” setting, something I've had right in front of me the whole time.  Much better now.  Mark it private in Outlook and it doesn't send it.  No need for the ArrayList, no “Do Not Sync” button, no need to watch for new inspectors (detail screens).  Perfect.

Should be ready for a release later this week or next week.  Have a final Thursday, presentation next Monday, and test next Tuesday... so we'll see.  Everything is almost done.  This is all I have left:

  • Clean up code (little disorganized/debuging comments)
  • Document some of the functions better
  • Take out some of the pointless properties (if you have first name, middle name, and last name, you don't need to set full name or initials, etc. Outlook does it for you.).
  • Test
  • Maybe create a webpage for the thing? My site is non-existent right now.
  • ADDED: SQL Server/MSDE support.
Posted: Nov 17 2003, 04:29 PM by qgyen | with 5 comment(s)
Filed under:
Laptop Power Management and Operating Systems

Do different operating systems play a major role in a laptop's battery usage?

Monday I got my new-to-me IBM Thinkpad A22m and right away put Windows 2003 Server on it and set it up as a workstation.  I'd wanted to use Win2k3 because I had it on my desktop for a while and found it very stable, good memory management, and IIS6 right there.  Also, wanted it so my development environment is the same as my server's environment (no biggie though).

The battery on the not-so-new laptop has been not-so-hot.  The system is only 2 years old, but the battery hasn't been maintained too well and fully discharges in about 1.5 hours.  What I'm curious about is if the battery would perform better in WinXP Pro as opposed to Win2k3, even though I have all the APM drivers installed and setup.

Posted: Nov 12 2003, 12:53 PM by qgyen | with 1 comment(s)
Filed under:
Update on Outlook.Sync

Got a lot done on the project Thursday and Friday night, though I was out of town Saturday and Sunday, so didn't get anything done then.  But, it is working!  I've only got support for appointments right now because I figured it would be the most used and complicated.  The web service right now only has XML support, but I'll be adding SQL Server soon.  All I really have left is adding contacts and tasks to it, add some sort of user security, adding in a “do not sync” option for items, and do some sort of configuration panel.

The “do not sync” option was suggested and it had crossed my mind as well.  I don't really need to know all of my work tasks at home, so I wouldn't want to send them.  It appears on the detailed information page as a button on the toolbar.  Click it, it'll mark it to not sync, and the button will be depressed.

Going to need a configuration panel for setting the security options and the location of the webservice.  Problem is, I think add ins to the configuration screens have to be ActiveX controls, so I'll have to look into that some more.

Ended up using SOAP for the web service instead of XML-RPC.  XML-RPC.NET was having a problem serializing the classes, and I didn't really want to change them to structs, so I tried out just a SOAP service and it was able to transfer them with no problem.  Don't know which is “better“, SOAP or XML-RPC, but my main is that It Works For Me(tm).

Probably the biggest pain Friday night was getting recurring items to work right.  When it was creating a brand new item in Outlook, it was always marking it recurring, even though it wasn't.  Eventually figure out that when you create an item, it marks it recurring (or creates a recurring pattern) after you save it, so you have to save it, clear the recurring pattern, then save it again.  Another pain was getting recurring items to transfer right.  They were always coming back wrong and often times locking up when adding them.  I was just setting all of the properties for the recurrence pattern and eventually realized I maybe only want to do the ones particular to the type.  Bingo.  Also, found that you don't need to set everything like start time, end time, and duration.  You should just set the start time and duration, because it'll then calculate the end time and if you try and set it, it could bomb.

Posted: Nov 10 2003, 12:11 PM by qgyen | with no comments
Filed under:
XML-RPC.NET Question
With XML-RPC.NET, is it possible to send/recieve a class, or only a struct?  Both the client and server are using the same definitions, so the class is identical.
Posted: Nov 07 2003, 01:30 AM by qgyen | with 3 comment(s)
Filed under:
New Project: Outlook.Sync

Since I have a new laptop on the way to replace my aging Powerbook (and so I can use Visual Studio on the go), I've been wanting something allows me to keep my appointments, contacts, and tasks in sync between two different computers.  This is one thing I love about my PDA, but I'll probably be getting rid of it since I am not using it for what I intended to do (note taking).

I've been looking around for ways to do this, but to no avail.  I could use an Exchange server, but don't want to.  Exchange took up 300mb more ram on my server when I had it on (also do to Active Directory).  It also didn't let me get mail for multiple domain names (needed to be in another domain, but can only have a machine be a single domain controller).  Exporting and importing information was not the way I wanted to do it either.  Then it dawned on me.  If you can't find something to do it for you, make it yourself!  Thus, Outlook.Sync was born.

Outlook.Sync is an addin for Outlook that gives you a “Sync” button on the Outlook command bar that will send and recieve appointments, contacts, and tasks to/from a web service.  With this, when you make changes to data on one machine, you hit the “Sync” button to send them to the web service.  The next time you hit the “Sync” button on another machine, it will get the new information and send back any new data it has as well.  This allows you to have the same information at your fingertips whether you're on your home machine, at work, or on a laptop.

The Outlook.Sync addin will support Office XP and Office 2003.  The web service will allow data storage in either XML or SQL Server, with support for MySQL and Access further on.  I'll probably be creating a GDN workspace for it once I'm closer to a release, which will hopefully be next week.  Right now, I have the addin all done and just have to implement the web service.  Though at the moment it is only storing appointments, but once the service is done, adding contacts and tasks will be quite easy.

If people are actually interested in something like this, let me know and I'll be sure to post when it is done.

Posted: Nov 06 2003, 11:43 PM by qgyen | with 26 comment(s)
Filed under:
More Posts