David Kearns Central RSS 2.0
# Monday, September 21, 2009
Enabling CLR Integration:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
Very exciting T-SQL script used today...
Monday, September 21, 2009 2:18:55 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Thursday, September 10, 2009
LINQ to XSD - Home:
The LINQ to XSD technology provides .NET developers with support for typed XML programming. LINQ to XSD contributes to the LINQ project (.NET Language Integrated Query); in particular, LINQ to XSD enhances the existing LINQ to XML technology.
Still not native, even in .NET 4.0, but no longer seems to be in alpha.
Thursday, September 10, 2009 9:18:49 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Wednesday, December 17, 2008
Yes, I am redoing my work site. ColdFusion 5 to ASP.NET 3.5, so there is lots of potential for improvement. One such improvement is localization. The last time I tried localization I was on ASP.NET 1.1 I think, and it seems some improvement was made in ASP.NET 2.0/VisualStudio 2005 (and it all still works with 3.5/2008).

CodeProject: Globalization and localization demystified in ASP.NET 2.0. Free source code and programming help:
Globalization and localization are two important processes which every developer should be aware of while creating global products or applications. Though there are many articles which explain the subject well, I did not find a single resource which explains all important concepts regarding globalization/localization, practically and comprehensively. This article aims to provide practical step-by-step approach to globalizing a web application in ASP.NET 2.0.
Relatively painless so far, though I am taking shortcuts by only using language and not culture, so I'm not going to be changing symbols or currency markings, etc. Plus I'm not tackling support for RTL languages, I'll worry about that later...
Wednesday, December 17, 2008 4:55:07 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Monday, November 24, 2008
Forms Authentication, Identities and Roles from a Database:
One of the most useful and perhaps most misunderstood authentication schemes built in to the ASP.NET runtime is Forms Authentication. Useful, because it is highly extensible and flexible (as we'll see in a moment). Misunderstood, because most developers don't get past the default setup described in the documentation and therefore never find out how to extend and customize it.
I still don't understand why I have to roll my own Forms auth with Roles, I would expect that everyone would want to use roles, but oh well...
Monday, November 24, 2008 10:58:07 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Wednesday, November 19, 2008
DPWT - Highway Maintenance: Leaf Vacuuming:
The Leaf Collection Program will be conducted for approximately 6 to 8 weeks, and includes postings for 2 scheduled pick-ups. We will post green signs throughout the work areas several days before our crews' arrival. We will attempt to allow a weekend for residents to rake their leaves to the edge of the road for vacuum pick-up. Signs will be removed after our crews complete each street. The second and final fall collection will begin after Thanksgiving. The timing will depend on weather conditions. Red signs will indicate that this is the final collection. The same procedure of posting, collection, and sign removal is used for the final vacuum collection.
I saw people collecting leaves, I never saw any green signs...
Wednesday, November 19, 2008 3:14:40 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Tuesday, November 18, 2008
Like buying a new 50″ TV each year and tossing it in the dumpster. — CancelCable.com:
What if you could eliminate your gas bill and still drive 95% of the places you currently go? Or stop paying for heating by keeping your thermostat two degrees cooler? These aren’t possible, but you can stop paying for TV and still watch most of your favorite shows.

Budgets are tight. But most people are still reluctant to give up cable. Even when it may be financially crazy to keep it. Paying $95/month for cable? That’s over $1100 a year. Or enough to buy a 50″ HD Plasma TV each year.

Save the money or put it towards that new big screen TV. Then use free digital broadcast TV and avoid paying monthly cable tv fees. Save the money and earn interest on it. With a 6% rate of return…

  • After 3 years you will have saved $3747
  • After 5 years you will have saved $6648
  • After 10 years you will have saved $15,621
  • After 20 years you will have saved $44,083

Congratulations! You have now turned a major expense into an investment.

What are you missing? Not much. We did it and still watch all our favorite shows. Most were broadcast (Lost, 24, etc.) . Using a $16 digital antenna our picture quality is actually better than our old digital cable. Most of our favorite cable shows (Daily Show, Colbert Report) are available for free on the Internet. Our kids watch videos on Disney.com and Nick.com and we get current movies and HBO shows with a Netflix subscription.

Props: CancelCable.com via Washington Post via Lord Scarlet

Tuesday, November 18, 2008 10:30:32 AM (Eastern Standard Time, UTC-05:00)  #    Comments [7] -
.net
# Tuesday, August 26, 2008
Umbraco - The Friendly CMS:
Who would believe that there would be an open source CMS based on Microsoft's ASP.NET? A CMS that can support any modern browser and that even allows editing with Microsoft Word. One where designers can create accessible and valid xhtml with their markup left intact. Where developers can integrate any .net based control right out of the box. If someone tells you "wont' happen", then they have never used umbraco..
Well I haven't done 1/2 of that yet, but I'm only a day in and already seeing progress on implementing a design given to me without knowing the platform ahead of time, and I can say I like what I see so far. I'm going to have to learn a few new skills (XSLT, XPath, etc.) but this is CMS done right, and you can't beat the price.

Props to Fire Pig Partners.
Tuesday, August 26, 2008 1:25:58 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net
# Saturday, June 28, 2008
Applications are coming soon to iPhone and iPod touch.* And they’ll be unlike anything you’ve ever seen on a mobile device. That’s because the world’s best developers are creating applications to leverage the amazing technology in iPhone and iPod touch, such as the Multi-Touch interface, the accelerometer, GPS, real-time 3D graphics, and 3D positional audio. It’s all part of the iPhone 2.0 Software Update — coming soon.

I really love my new iPod touch. I hope this upgrade won't be more than $20, or I should have just waited to get my iPod. I just got all excited at the announcement...

Saturday, June 28, 2008 10:31:15 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Friday, June 27, 2008

I believe that my wife's cultural lens and mine see "Karma" in extremely different lights, which makes me question: What do people think "Karma" means?

karma: Definition and Much More from Answers.com (excerpt):

  1. The explanation of karma can differ per tradition. Usually it is believed to be a sum of all that an individual has done, is currently doing and will do. The results or "fruits" of actions are called karma-phala. Karma is not about retribution, vengeance, punishment or reward; karma simply deals with what is. The effects of all deeds actively create past, present and future experiences, thus making one responsible for one's own life, and the pain and joy it brings to others. In religions that incorporate reincarnation, karma extends through one's present life and all past and future lives as well. It is cumulative.
  2. karma is referred to as karmic dirt, as it consists of very subtle and microscopic particles i.e. pudgala that pervade the entire universe. Karmas are attracted to the karmic field of a soul on account of vibrations created by activities of mind, speech and body as well as on account of various mental dispositions. Hence the karmas are the subtle matter surrounding the consciousness of a soul. When these two components i.e. consciousness and karma interact, we experience the life as we know it at present.
  3. The idea of karma was popularized in the Western world through the work of the Theosophical Society. Kardecist and Western New Age reinterpretations of karma frequently cast it as a sort of luck associated with virtue: if one does good or spiritually valuable acts, one deserves and can expect good luck; conversely, if one does harmful things, one can expect bad luck or unfortunate happenings. In this conception, karma is affiliated with the Neopagan law of return or Threefold Law, the idea that the beneficial or harmful effects one has on the world will return to oneself. Colloquially this may be summed up as 'what goes around comes around.'

Which is your take? Or do you have all together different one?

Please think about your answer before reading mine...

I think I'm very much in the #3 camp. I think Karma has entered the Western group conciousness as a quick explanation of "what goes around comes around" without placing any emphasis on the force behind that concept: IE: God, Nature, Majik, etc. And that the entire concept of reincarnation is absent in the Western (though possibly just American) basic understanding.

Discuss.

Friday, June 27, 2008 9:26:05 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] -
.net | english | survey
# Tuesday, May 06, 2008

Publishing and testing a Windows Communication Foundation Service in IIS7 on Windows Vista is pretty straightforward, but there are a few pitfalls to look out for along the way. This post is designed to compliment the screencast ‘Creating and consuming your first WCF Service’ which I will publish here soon. I hope sharing this with you saves you some time when deploying your first service.

[ Hosting a WCF Service using IIS7 and Windows Vista Nick Kewney’s Blog ]

Since my last .Net web service was pre-WSE and this is at least 3 iterations later, I have a bit to catch up on. They've certainly complicated things via abstraction, which is probably a great help to many, but seems like overkill for my purposes, but this post helped a lot. Since I need authentication WCF "wants" me to use transport security, ie SSL, so people can't snoop on the credentials. Nice that the framework is enforcing such standards, bad that I have to do that in my development environment. Well, WCF doing a SOAP "basic" webservice via HTTPS is set up on my machine. Now I have to figure out how to implement the authentication headers...

Tuesday, May 06, 2008 4:56:43 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Thursday, April 03, 2008

I'm primarily a web-based interface programmer, I haven't done non-web-based applications for my main gig for a while, though in the before web age I did dial-up applications (in ansi!). They, however, didn't need multi-threading for updating the GUI while doing the work in a separate thread. This is one thing that has always daunted me with Windows applications, perhaps VB and c++ programmers just like dealing with all the threading issues for fun. Finally I found this:

The BackgroundWorker Component allows a form to run an operation asynchronously. This is very useful when we deal with such kind of operations as database transactions, image downloads etc. In this case our user interface can hang (or not appear until loading will be finished). In this article I will show (step-by-step) how you can use the BackgroundWorker Component in .NET 2 applications to execute time-consuming operations. The examples are written using C#.

[ Using the BackgroundWorker Component in .NET 2 applications ]

Perhaps I was supposed to know that was there all along, of course since much of what I do in .net happens so quickly that multi-threading is useless, and the interface is all sent via HTML, etc., I've just never run across having to do this right, until today. Doing a DB import of 25K+ records from access into a local SQL server requires more time than the GUI updating would like, and this was the easy-peasey-lemon-squeezey way of doing that, let me tell you. Just drag this tool onto the playing field, and then double-click a few auto-stubbed event handlers, plus toggle the property "WorkerSupportsProgress", wire up what I want to get done with a call to notify the progress bar, wire in the progress bar updater, and voilà! it's almost like I know what I'm doing...

Thursday, April 03, 2008 3:03:43 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] -
.net
# Tuesday, November 27, 2007

So many people are hatin' on the Vista these days, I still like it. However, as with anything, there are a few irritances. In my case I program in .NET on my computer, and sometimes I send emails with my code. I could easily test this in XP using the IIS SMTP server that was included with XP. For security reasons Microsoft decided to not only not pre-install the SMTP server, but make it disappear. This means you need an external SMTP server to test any code that uses email, or it throws errors. Erg. So I went searching for a replacement (since Microsoft isn't bringing one) that will allow me to get my test environment back, and today I found one:

SmarterMail Free Edition is limited to 10 email users on a single domain, and includes all the functionality of SmarterMail Enterprise Edition.

Unlike trial software or shareware, free SmarterTools products contain no time limits, popup nag screens, or functionality limits (besides the user limit mentioned above).

[ Free Edition | SmarterMail 4.x | SmarterTools Inc. ]

After installing I had to find the settings and move the SMTP to 127.0.0.1:25 so I didn't need to do odd settings on my programs, but since I no longer have any other SMTP server, that should be fine.

Tuesday, November 27, 2007 11:49:12 AM (Eastern Standard Time, UTC-05:00)  #    Comments [2] -
.net
# Friday, October 27, 2006

At Doceus, our Solutions Architects design and deliver solutions for small to midsize businesses, associations, and non-profit organizations. Duties include writing technical specifications and developing web based applications, and maintaining said applications, over their life cycle, for our clients.

Our Solutions Architects are a key part of the Doceus professional services team and are expected to provide an exceptional level of customer service, and assist in strengthening our development and service delivery processes and practices. As a member of Doceus' professional services team Solutions Architects are often required to liaise with clients, so strong written, oral communications and analytical skills are essential.

[ doceus :: accelerate success ]

And we're a telecommuting operation, so you must:

... have access to a broadband connection, have a home telephone and the ability to travel into Washignton DC or Rockville, MD for team meetings. Doceus will consider candidates outside of the Washington DC region if the candidate has access to a major metro airport.

Apply Online ]

So if you've been itching to work with me, now's the time...

Friday, October 27, 2006 4:00:20 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net | work | www
# Saturday, September 30, 2006

Delegates and Events can be a bit confusing, especially to Nate's favorite instructor. Personally I do them so seldom that I find I need an example each time I write one. This time I googled and found the following:

All of us have been exposed to event driven programming of some sort or the other. C# adds on value to the often mentioned world of event driven programming by adding support through events and delegates. The emphasis of this article would be to identify what exactly happens when you add an event handler to your common UI controls.

[ Delegates and Events in C# / .NET ]

Saturday, September 30, 2006 10:01:40 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net

Symptom: When saving a file in Visual Studio 2005, the entire IDE becomes non-responsive (ie. freezes) for about 10-15 seconds. Meanwhile, the save icon in the status bar is animated. After 15 seconds, the file is saved and the IDE is responsive again.

Solution: "With the help of a network packet analyzer I was able to find out what stalls Visual Studio. I found that whenever I saved a file, in my web project, Visual Studio did a DNS lookup on a host on my local network. This host was offline so although it managed to resolve it's IP address, there was no response from it. After a timeout period Visual Studio stops trying to connect to this host and goes on with it's business of saving the file.

I searched my registry to find the source of this host name and found it to be present in: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList. This registry key is where Visual Studio stores all recent projects that have been opened. In that list a project, located on a remote computer, was found. When I removed that item from the registry, Visual Studio no longer took 20 seconds to save it's Web project files."

[ Slow VS.NET 2005 Editor is driving me nuts - Rick Strahl's Web Log ]

Not only has my IDE been freezing up like crazy when I saved, it was also doing it on a regular basis due to the "auto recover" saving every 7 minutes. This fix has brought my VisualStudio back to where I expected it to be, but just deleting the offending items from this "ProjectMRUList". In my case a project that I loaded remotely off of Nate's laptop, which now that we are working remotely, is no where near me or my home LAN.

Saturday, September 30, 2006 1:41:13 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net | admin
# Tuesday, July 18, 2006

Personally I don't think so. Master Pages are very similar to the system I had devised in ASP.NET 1.1, but with the added benefit of integrating nicely into VisualStudio and ASP.NET. I find them very easy to understand and straight-forward. However it is nice to have a good page that explains them.

A professional web site will have a standardized look across all pages. For example, one popular layout type places a navigation menu on the left side of the page, a copyright on the bottom, and content in the middle. It can be difficult to maintain a standard look if you must always put the common pieces in place with every web form you build. In ASP.NET 2.0, master pages will make the job easier.

[ Master Pages In ASP.NET 2.0 ]

Master pages are seriously flexible too. The only bug I've found so far is that not all HREF or SRC attributes of controls that are "runat=server" will allow you to use ~ to home them, so far I've found that the <link> tag requires you to leave off the ~/ to do the same thing. Rather odd, but it is what it is.

Tuesday, July 18, 2006 6:49:40 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net | www
# Wednesday, June 28, 2006

Or alone:

One of the things that I’ve been missing in Visual Studio 2005 is the user-configurable sound that played when the build succeeded or failed. In VS 2003 I had set up the sounds so I could switch over to another process while the build happened, and the sound would tell me when it was done.

From reading newsgroup posts, blogs, etc, it seems that the VS2005 just doesn’t support these sounds (even though the sounds can be set via Control Panel | Sounds). It just makes for a quiet build.

[ Silent Visual Studio 2005 > Codefez > Blogs ]

At least not on this subject. It drives me bonkers, I just want my "ta da" when it is successful and a "buzz" when it isn't. Not too much to ask I don't think. I had to alter the macro a tiny bit. I used the commenters suggestion to use the registry settings, which seems more finesse; and I altered the replacement to replace "==========" with "~~~~~~~~~~". I'm not sure why replacing 10 equals with 11 would do anything but loop endlessly (which is what mine seemed to do).

Update: I see now why they altered the 10 ='s to 11, but that doesn't explain why it just hangs with 11 =, but with my modified code it will not hang until the 3rd build or so. Any which way the code eventually (and usually quickly) causes my IDE to freeze, so I am on the hunt for another method to "fix" this.

Wednesday, June 28, 2006 2:56:51 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net
# Sunday, April 02, 2006

With ten minutes of cleanup, you can use a DTS package generated by SQL Server 2000 within the Visual Studio .NET framework. You'll have all the benefits of running in the Visual Studio .NET framework, and be able to programmatically control the behavior of the DTS package. This article will get you there quickly while navigating a path that isn't always straight forward.

[ How to run a DTS VB package in the .NET framework ]

This will, however, require some serious skillz to maintain these scripts if any changes need to be made...

Update: Gruskada points out that it is not really SQL Server 2003, except in my heart...

Sunday, April 02, 2006 3:19:29 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [3] -
.net
# Thursday, February 02, 2006

Apparently I didn't fully understand the licensing of MSDE, since Microsoft advises us on how to...

Build dynamic, data-driven Web applications with Microsoft ASP.NET and MSDE 2000 using the Workload Governor to limit the number of concurrent operations that the database engine can perform.

[ Using MSDE 2000 in a Web Application (MSDE 2000 Web Resource Kit) ]

This continues with SQL Server 2005 Express, but the connection pool limit seems to have been increased to 25 simultaneous connections.

Thursday, February 02, 2006 10:36:09 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net | www
# Thursday, January 12, 2006
Microsoft now has a free version of SQL Server:

SQL Server 2005 Express Edition is an easy-to-use version of SQL Server 2005 designed for building simple data-driven applications. The following is a list of features that help make Express Edition the right choice for your needs.

[ Microsoft SQL Server: SQL Server Express Edition Features ]

But it must be limited in some way. I had assumed that you couldn't use it to host websites due to some CAL restriction or something, but my initial research seems to contradict that. It seems to lack DTS, I'm sure it lacks scheduled maintenance, perhaps there is no granular restoration via transaction logs, surely something needs to be missing.

Props to Jonny SQL for not assuming that it couldn't be used for websites...
Thursday, January 12, 2006 9:13:47 AM (Eastern Standard Time, UTC-05:00)  #    Comments [6] -
.net
# Wednesday, January 11, 2006

I'm headed to the launch:

Join Microsoft CEO Steve Ballmer* and key Microsoft Executives for the launch of Microsoft® Visual Studio® 2005, SQL Server™ 2005, and BizTalk® Server 2006! This all-day event offers an opportunity to learn how the Microsoft application platform offerings enable organizations to gain better business insight and deliver faster results by easily connecting people, processes, and information.

[ Launch Tour 2005 ]

Of course we don't get Cheap Trick and Steve Ballmer like San Francisco did, but I look forward to getting excited about the new tools I'll be using soon...

Wednesday, January 11, 2006 8:18:15 AM (Eastern Standard Time, UTC-05:00)  #    Comments [2] -
.net
# Sunday, November 06, 2005

Many ISVs have questions about their MSDN subscriptions. All in all this is not surprising. Where there was one product before, there is now several.

Basically it all boils down to two very simple questions:

  1. If I have MSDN Universal subscriptions now, what am I entitled to in terms of Visual Studio Team System SKU’s?
  2. What Visual Studio Team System SKU is right for me?

[ W^3 ]

And, once I read it, I'm sure I will have a better feel for which way our subscriptions need to go.

Sunday, November 06, 2005 1:04:42 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
Sunday, November 06, 2005 12:51:54 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Wednesday, November 02, 2005

We're looking for a few good coders at my day job:

At Doceus our Developers architect and deliver solutions for small to midsize businesses, associations, and non-profit organizations. Duties include writing specifications and coding web based applications, generally database driven; and maintaining said applications, over their life cycle, for our clients.

[ doceus :: accelerate success ]

If you, or anyone you know, is interested, you, or the person you know, can apply on our site, or via Monster.

Wednesday, November 02, 2005 3:55:10 PM (Eastern Standard Time, UTC-05:00)  #    Comments [4] -
.net | www
# Thursday, October 27, 2005

After a long wait VS.NET and SQL 2005 have been released to manufacturing.

[ Miguel Campos Blog : VS.NET and SQL 2005 RTM ]

Thursday, October 27, 2005 3:54:10 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [3] -
.net
# Sunday, October 16, 2005

Numerous times over the years I stumble across something that requires the use of LDAP. In the past I've tried to locate a program to assist me in exploring LDAP from the perspective of the program that will be doing the same thing. I found a weak one developed by whichever University used to be so very involved with LDAP, but it still confused me to no end.

Once again I have come across LDAP. This time, however, I found the program that I wanted all along. And it's free:

LDAP Browser is a lightweight version of LDAP Administrator with limited functionality.

[ Softerra LDAP Administrator/Browser ]

Do I understand LDAP any more than before? Not really. Does this tool help me to stave off that requirement? It seems to. I can continue along in my bliss, not truly knowing what LDAP is, all because the LDAP browser can easily show me the info that I need, and provide me with URLs that correspond to branches on a directory tree.

Sunday, October 16, 2005 4:53:32 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net

For those interested in the freeware version of CodeSmith, the 2.6 freeware version will continue to be available here.

[ CodeSmith Tools: CodeSmith 2.6 Freeware ]

The reports of your death were greatly exaggerated.

3.0 may be "all that", but until I can tell how 2.6 differs from 3.0 and 3.0 from 3.0 pro, I'll be continuing to sponge off of the good nature of Eric J. Smith and his fine free code generator.

Sunday, October 16, 2005 1:57:28 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Monday, May 02, 2005

David Kearns III thinks so:

It appears that what Apple has done is to take meaningful, desirable third-party services and applications and "roll their own" inside the operating system, thus presenting users with a fuller package of features. Of course, the third parties that had been providing these services as add-ons now are left out in the cold.

When Microsoft does this, it's denounced as a predator and a monopolist. When Apple does it, it's praised as an innovator. Still, if Microsoft didn't have Apple to point to as "competition," there might be more calls for government regulation of monopoly operating systems. We certainly don't want government bureaucrats designing our server and desktop environments.

[ Apple: Predator or protagonist? ]

And I have to agree. Of course I have little choice being focused on Microsoft development tools. Even if someone gave me a Mac to replace every PC in my network, I couldn't use them to deliver Microsoft solutions, and I have to relearn my staff in the ways of PHP and Java (instead of the ColdFusion and .NET that we use now). Still resulting in a loss.

Monday, May 02, 2005 4:33:56 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net | www
# Sunday, April 24, 2005

You would think that by now we would have a good technical solution to the question "when can you fit me in?". For my coworkers Exchange and Outlook work like a charm. Outlook even has the ability to post my free/busy data to the 'net via ftp, webdav, or locally. However only Outlook understands that file (even though it is part of the iCalendar standard).

I did find a few people at the fringes who deal with this sort of stuff. The most helpful was iFreeBusy.com, but they seem to have a good system for letting my Outlook know if someone who uses iCal is busy, and not for publishing my free/busy data to the web.

One guy who works for a church rolled his own solution, which is downloadable, but requires perl, which I didn't feel like messing with. Not to mention that it doesn't really detail what version of perl, or what modules are required.

Frustrated, I turned to the only possible solution left: hacking. Witness the newest page to davidkearns.com: free/busy. I simply set my outlook to publish my free/busy data to my website, and then load that file, parse it out, build the object, and render it all purty. Add a calendar to select which day, and voila. I spent less time on the solution than all the research that determined I needed to build it myself. Oh well, I now know quite a bit about standard calendar formats...

Update: iFreeBusy.com is already on top of a solution. Try subscribing to my calendar in Sunbird, or another Mozilla type jobby with the calendar add-on. (Though since Outlook can only publish automatically to one place, my homepage wins out and this data will get old).

Sunday, April 24, 2005 11:06:46 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [7] -
.net | www
# Tuesday, March 22, 2005

But he did name it. And I think it works:

Q. Why did you feel the need to give this a name?

A. I needed something shorter than “Asynchronous+JavaScript+CSS+DOM+XMLHttpRequest” to use when discussing this approach with clients.

[ adaptive path ajax: a new approach to web applications ]

Props to Gibson for pointing out the "new" name for this approach.

Tuesday, March 22, 2005 10:24:07 AM (Eastern Standard Time, UTC-05:00)  #    Comments [10] -
.net
# Friday, January 28, 2005

And jumped over to SourceForge:

dasBlog Community Edition is an ASP.NET weblogging application. It runs on ASP.NET 1.1 and is developed in C#. dasBlog, an evolution of the BlogX weblog engine, adds lots of additional features like Trackback, Pingback, Mail notifications, full Blogger/M

[ SourceForge.net: Project Info - newtelligence dasBlog Community Edition ]

Not having worked on these open source projects, I'm not sure what the difference is between SourceForge and GotDotNet, but I do know that SourceForge has always seemed quicker. From what I read previously on the GotDotNet forums for dasBlog this release should have quite a few fixes in it. I guess I'll be WinMerging some code this weekend.

Friday, January 28, 2005 4:04:41 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Tuesday, January 25, 2005

...perhaps. At least this looks very interesting. I keep meaning to read it in depth, but never seem to have the time. Perhaps if I blog about it I'll get around to it...

Consistently delivering high-quality technology solutions on time and on budget is challenging for any business. The Microsoft Solutions Framework (MSF) provides people and process guidance—the proven practices of Microsoft—to help teams and organizations become more successful in delivering business-driven technology solutions to their customers. MSF is a deliberate and disciplined approach to technology projects based on a defined set of principles, models, disciplines, concepts, guidelines, and proven practices from Microsoft.

[ Visual Studio: Microsoft Solutions Framework (MSF) ]

Tuesday, January 25, 2005 7:40:28 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Wednesday, December 22, 2004

I'm confused, I see 4 pros for c# followed by 3 cons against VB:

The differences between C# and Visual Basic .NET are mostly to suit different programmer's backgrounds. Unfortunately, there are some other differences. The following is a list (other than those that were mentioned when I discussed Microsoft's "going back") of some examples of the differences between C# and Visual Basic .NET:

  • C# warns you if a function is missing a return statement—This catches a few bugs automatically.

  • C# requires XML-tagged documentation to be written in the code—Seems to be a good idea to drag out the comments from the code and use it for different scenarios.

  • C# can switch to Unmanaged mode—This can easily be achieved in Visual Basic .NET by just calling a C# class that takes care of it. Still, I find it nice to have the same possibilities in both environments.

  • You can use Using() in C# to tell that an object should be automatically Dispose()ed when going out of scope—That is very handy, for example, for connection and file objects that you don't want to wait for being garbage collected.

To be fair, Visual Basic .NET has some advantages over C# too:

  • Visual Basic .NET differs Inherits from Implements—In C#, it's written in both cases with a colon.

  • The event syntax is simple in Visual Basic .NET—It's as clean and intuitive as in VB6. In C#, you have to take care of more by hand.

  • Visual Basic .NET is not case sensitive—This is a matter of taste, but I prefer non–case sensitive. Otherwise, there is always somebody that will have two methods in a single class named something like getData() and GetData().

[ Introduction to COM and .NET ]

Inherits and implements are so similar concepts, why not use :, yet when doing events the extra code is deemed a pain? When it gives more flexibility? And case sensitivity is a plus, not a minus, doesn't everyone know that yet?

Wednesday, December 22, 2004 9:01:23 AM (Eastern Standard Time, UTC-05:00)  #    Comments [1] -
.net
# Thursday, December 16, 2004

Version Four of their Web Service, and still none work with VisualStudio smoothly.

After a bit of research I came across this helpful post on the official Amazon.com Web Services discussion board which explains how to fix the issues I was having

[ Amazon Web Services and .NET ]

Can't Microsoft just send them a copy for them to test with?

Thursday, December 16, 2004 12:58:18 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] -
.net
# Thursday, December 09, 2004

On October 4th, 2004, we released version 4.0 of the Amazon E-Commerce Service (ECS), previously referred to in beta as AWS 4.0. ECS 4.0 provides unprecedented access to Amazon’s product data and E-Commerce functionality allowing developers, Web site owners and merchants to leverage the data and functionality that Amazon uses to power its own E-Commerce business. It provides access to detailed product and pricing information for all items across all Amazon product categories – this information includes detailed product attributes, product images and customer-supplied content such as reviews, Wish Lists and Listmania lists. In addition, ECS 4.0 provides advanced search, remote shopping cart and enhanced Wish List search capabilities for enhancing and personalizing your Web site or application.

[ Amazon.com ]

I'm a bit put off that I didn't get the memo. I've been irritated with the 3.0 AWS for a while now, my updates frequently get a 530 error, wish lists stopped working so long ago, their entire catalog is old or unavailable through 3.0. Good to see they have the replacement. Bad to see that they didn't send out an email.

Thursday, December 09, 2004 7:58:35 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Monday, July 26, 2004

This sounds rather nifty to me:

New Atlanta Communications, a leading producer of advanced server-side technologies, is pleased to announce a technology preview of BlueDragon for the Microsoft .NET Framework, the newest version of its BlueDragon product family for deploying ColdFusion Markup Language (CFML) web applications, is now available for download and testing. Deployment options now range from BlueDragon Server, a standalone CFML application server, to any Java 2 Enterprise Edition (J2EE™) and Microsoft .NET application server.

[ New Atlanta Corporate News ]

I did try and get the 6.0 release, standalone version, running with some code, and I had a few issues, but none that would make me question any of their claims (it was a half hearted attempt). Running on top of .NET sounds interesting, but I am curious how it works in reality. And what ability do I have to extend my code with .NET?

Anyone with a bit of extra time on their hands could feel free to research this, and let me know what you think. Really, go ahead, I won't stop you.

Monday, July 26, 2004 7:38:52 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [5] -
.net
# Tuesday, July 20, 2004

Web.config and App.config have can have many different configuration options but it is difficult to remember what some of the less commonly used options are. This article provides a schema definition for .NET configuration files such as Web.config and App.config. The schema makes Visual Studio .NET help you out by displaying intellisense when working in these files.

[ Get Intellisense for Web.config and App.config in Visual Studio .NET ]

The one caveat of removing the xmlns just before saving is a small price to pay. What I don't understand is if it is this easy, why wouldn't the architects of VS.NET have put this in but with a bit more finesse?

Tuesday, July 20, 2004 9:02:03 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [11] -
.net
# Tuesday, July 13, 2004

Here's a somewhat interesting article:

MARS

When you select a set of rows using a SQL SELECT statement, either as a stand-alone or inside a stored procedure, SQL Server doesn't automatically produce a cursor over the set of rows as some databases do. Instead, it uses an optimized method to stream the resultset across the network, on occasions reading from the database buffers directly as the network library pulls the data in packet-size chunks. This is known as "the default resultset of SQL Sever" in SQL Server Boks Oline, or "the cursorless resultset". In versions of SQL Server prior to SQL Server 2005, there could only be a single cursorless resultset active on a single connection at a time.

[ Data Access and Storage Developer Center: ADO.NET 2.0 Feature Matrix ]

But the real reason for pointing out this article (besides MARS technology) is the new SQL Server Boks Oline. I've done a bit of research and no one has any details about this new feature of MS SQL. But it sounds pretty spiffy if you ask me...

Tuesday, July 13, 2004 7:35:27 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [2] -
.net
# Thursday, July 08, 2004

Anyone else dislike CDOSYS (née CDONTS) as much as I do? Anyone else have a preferred substitute?

FreeSMTP.Net is a free SMTP component for the creation and sending of e-mail messages in .Net. Written in pure C#, FreeSMTP.Net is fully managed and incredibly fast. It is totally object oriented and flat out the easiest way to create and send Internet email. Best of all, it's free.

VB.Net, ASP.Net, C#... ]

Thursday, July 08, 2004 9:15:40 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net

Now that my .NET skills are decent enough, and I know what I can do an how fast I can do it, I'd love to use some of that in legacy code. Black Knight might be the answer, but how can I tell. It is an obscure enough “thing” and I'm not even sure exactly what it is. I have noticed that I can still build CFX tags in VisualStudio 2003 just as I could in VisualStudio 6, but since I've never written any c++ code, and everything that I disliked about c was increased 10 fold in c++, I don't think I'll be doing that any time soon.

Black Knight™ is the first extension to allow CFML developers to make full use of native .NET objects without having to build a custom COM bridge. This alone can save an IT shop dozens of hours of development time.

[ Black Knight™ ]

What would be awesome is if someone familiar with this product just happened to stumble across my site, and offered up their opinion. Since I doubt that will happen, the idle speculation of current and previous coworkers will have to suffice.

Thursday, July 08, 2004 9:05:08 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net
# Friday, July 02, 2004

Hind sight is 20/20, isn't it?

When you access a page after an AppDomain load, for example, when you modify the Bin directory or the Web.config file on computers running Microsoft Index Services, you may receive the following error message:

Server Error in '/MyWebApp' Application

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Access is denied: 'mydll'.

[ Microsoft Knowledge Base Article 329065 ]

I'm thinking that every time I had an error that looked like this, it was the friggin' Indexing Service.

Friday, July 02, 2004 8:42:14 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Thursday, June 24, 2004

I now have a single feed (the old ones are redirected to it) that has the entire body of my entries. Enjoy, LiveJournal people and other syndicated readers!

[ Joe Grossberg  ]

And this is the first of many blog entries that I can't syndicate.

Since I have rolled my own Aggregator, it only does RSS and not ATOM. I wasn't aware that ATOM was so far ahead in acceptance that people were thinking of ditching RSS completly...

And, of course, it may be quite a while until I find a way to pull the ATOM code.

Though if anyone has a clue where to find an open source .NET ATOM consumption library, or one that does RSS and ATOM and I'll just replace the code I use, feel free to comment and let me know.

Thursday, June 24, 2004 4:43:10 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [4] -
.net
# Friday, April 30, 2004

I'm back from training, and I have seen the light. Jerry asked the other day, “Has anyone else used Sharepoint Services yet?” and was looking for some feedback, and I think I've got the skinny.

SharePoint is not just one thing, and it's not even the same thing all of the time. Currently SharePoint is 2 things:

  1. Windows SharePoint Services 2.0 (WSS)
  2. SharePoint Portal Server 2.0 (SPS)

And they are both a bit different than v1.0, which was very different than Team SharePoint YadaYada or whatever it was called before that. WSS 1.0 stored it's bits in file shares and in Exchange, and SPS 1.0 used SQL Server. SPS 2.0 still uses SQL server, but now so does WSS, although WSS can use MSDE instead. Therefore WSS is licensed along side of Windows 2003, and with a MSDE implantation doesn't cost anything above the server OS.

What is WSS? It's more than a place to put documents, it's a place to put documents, event details, lists of stuff, conversations, surveys, etc. as well as a web GUI that lets you access all of these bits. And it's all integrated into Office 2003. You can schedule a meeting in Outlook, and create a “workspace” for that meeting in WSS. This allows you to store documents for review, and revision as well as other collaboration information all in one place, totally dedicated to your meeting. You can pull in users from ActiveDirectory and give each their own “MySite” for storing and sharing documents, thoughts, conversations, etc. You can customize the site with your own templates, or using an SDK make custom widgety things that WSS calls “Web Parts”. In a nutshell it is “Intranet in a box” and mostly free. Add on a SQL license and you can use free text searching.

But then, you may ask, what the heck is SharePoint Portal? SPS allows you to much easier create WSS sites, much easier integrate with AD, search across all of these sites, and aggregate data from across sites into sites setup for aggregation purposes. It rounds out the solution making it the only Intranet that many companies might need. In addition you can use other MS servers like Project Server that integrate right into WSS and create a site for each project on the server.

Or, you can boot up VisualStudio.NET and use the WSS services without using their GUI, or use part of their GUI and create your own Web Parts, and get 1/2 of your solution done up front (if your solution involves collaboration and communication).

Friday, April 30, 2004 1:41:36 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [4] -
.net
# Tuesday, April 13, 2004

Expounds the merits of weblogs as a means of sharing knowledge, and describes the lessons learned from designing and implementing a weblog engine built using Microsoft .NET technologies.

DasBlog: Notes from Building a Distributed .NET Collaboration System ]

Not much here that you probably don't already know, but it is nice to see a white paper on freely available software “written” in .NET

Tuesday, April 13, 2004 3:37:57 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Saturday, April 10, 2004

.NET Webservice Studio is a tool to invoke webmethods interactively. The user can provide a WSDL endpoint. On clicking button Get the tool fetches the WSDL, generates .NET proxy from the WSDL and displays the list of methods available. The user can choose any method and provide the required input parameters. On clicking Invoke the SOAP request is sent to the server and the response is parsed to display the return value.

[ GotDotNet User Sample: WebServiceStudio 2.0 ]

Sure you can do some testing with the interactive pages that ASP.NET creates for you, but in my case authentication was done via extra SOAP headers, which cannot be tested in the auto generated webpages. In addition some of the methods took complex objects as attributes, which also cannot be tested in the auto generated webpages.

This tool will get the WSDL and write the same wrappers that you would get in a .NET program, then (through reflection) allow you to specify the parameters passed in and interactively call each method. Without this tool the Web Service that I worked on today would have take 2-5 times as long, since I always do in depth testing of my work. ;-)

Saturday, April 10, 2004 1:10:56 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Thursday, April 08, 2004

I am back in compliance with Bill Gates' One World Order, by once again achieving MCP status by nature of passing test #70-315 (Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET).

Thursday, April 08, 2004 9:53:57 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [3] -
.net
# Wednesday, March 10, 2004

Microsoft Corp. Director of Product Management for SQL Server Tom Rizzo confirmed that Microsoft expects to ship both Yukon—Microsoft's code name for the next major update of its SQL Server database—and Whidbey—the coming update of Visual Studio—in the first half of 2005. In the meantime, a third beta has been added to the current beta schedule of Yukon, with 15 beta customers from across all major vertical industries signing up to run Yukon Beta 3 live in production settings before giving the thumbs up for Microsoft to make the product generally available.

[ Yahoo! News ]

It's great that Microsoft wants to get it right, but they should stop hyping the future so much. Most articles in .NET mags these days at least mention what Whidbey will do, if not only cover what Whidbey will be doing. I'm rather anxious to get it, but if they keep pushing it back, I'll be sick of it by the time it gets here.

Wednesday, March 10, 2004 7:41:08 PM (Eastern Standard Time, UTC-05:00)  #    Comments [3] -
.net
# Thursday, March 04, 2004

Here's what my day is going to look like:

Building secure Web sites is a top priority for developers today. To do this it is important to understand Web security fundamentals and the nature of threats to applications. In this track we will explore Web security basics and the methodologies for determining at-risk aspects of Web applications and how to defend them. We'll walk through the Microsoft security best-practices reference application for OpenHack throughout the track and see how you can put those same best practices to work for you.

[ DevDays 2004: Web Development Track ]

There's been a lot of focus on testing and security these days, I hope we'll get into a good bit of detail in these sessions.

Thursday, March 04, 2004 6:47:24 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Tuesday, February 24, 2004

Visual C# “Whidbey” will include several IDE enhancements including a first-class code editor with rich editing features, a powerful debugger, and drag-and-drop visual designers.

[ MSDN TV ]

I am so freaking jazzed. Generics alone will save hours, the new RAD tools will boost productivity, the new debug visualizations would have saved me many hours of debugging, and the refactoring tool is part “bells and whistles“ and part “God send“. The one new item that seems weak is anonymous methods, it smacks of a crutch to me.

He doesn't actually discuss partial classes or site templates, but they will be in Whidbey as well.

Tuesday, February 24, 2004 4:12:42 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2] -
.net
# Friday, January 30, 2004

My IE Power Toys have a seriously weak installation process, so I whipped up a little install for the whole set of toys. If figure if I gots the toolz, I should use them.

Friday, January 30, 2004 10:51:53 AM (Eastern Standard Time, UTC-05:00)  #    Comments [2] -
.net
# Tuesday, January 13, 2004

I've frequently thought, that for all intents and purposes, ildasm is nothing more than a curiosity.

I've just proved myself wrong. In addition to having my own personally blog, I run a community blog at http://geekprime.com/, which runs the .Text package. Although I've heavily modified the code for this site, I am running a “binary only” installation of .Text.

I've recently upgraded to the 0.95.X.X version of .Text, and couldn't remember how I previously altered the pages to publish geourl/geotag information. A bit of research and I determined the aspx file that needed the new code (DTP.aspx) but how to get the information from the code behind, into the places I wanted, without fetching the source code version and altering it.

Enter ildasm. It was quite happy to tell me all of the properties of each class, the base case of DTP.aspx.cs had blog configuration data, and it's class definition was in a 2nd dll. All right there. All easy to find. A few <%= %> tags later, and the info I wanted was nicely inserted into the header that I wanted, without fetching the source code version of .Text.

Thanks ildasm!

Tuesday, January 13, 2004 6:39:13 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Wednesday, December 10, 2003

Or, I should say, I've integrated that version into my site, since I do have a somewhat modified version of dasBlog running.

Not a tremendous amount has changed that is noticeable from the public functions of the site. Just a few items admin-wise have changed. The GotDotNet site claims that there are numerous bug fixes, but I didn't notice too many.

I did see that it now supports NewsGator, and categories in the MetaBlog API. And the “shadow boxes” are used in more places in the admin.

It seems that a search has been added, but since I've just integrated the Google API for my searches (which will search my entire site), I'm not using the dasBlog search.

And it appears that the system now differentiates between last updated content and last updated comments, but I'm not sure where that information is published.

There is one bug that I had noticed yesterday, regarding stories missing from the comments page at times, this appears to have gone away with this upgrade, so I won't have to go looking for it. Yea!

All-in-all it was a rather painless process.

Wednesday, December 10, 2003 7:51:33 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net | admin
# Monday, November 24, 2003

A search function has been added to davidkearns.com, courtesy Google's GoogleApi.

Monday, November 24, 2003 11:47:36 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] -
.net
# Monday, September 29, 2003

dasBlog v1.3.3266 has released, and I've merged changes into my code. Not much except a bit more standardized, a few more options, a couple of interface tweaks, well worth my time, and certainly well worth yours if you're not tweaking the code like I am.

Monday, September 29, 2003 9:14:16 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Wednesday, August 27, 2003

The web is a ever growing, increasingly sophisticated medium. Blogging is certain to change the face of the web, and now I've stumbled on GeoURL.

GeoURL has informed me about other websites that are "near" me, and I've checked out a few. One of which is VSBabu's blog which, details his experience with c# after a few days of learning, and his comparison with other oo languages, java and python.

I know I like c#, but it's my first foray into oo programming. Being a Microsoft invention, I've assumed (perhaps unjustly) that it wouldn't appeal to people familiar with other oo languages. V's blog entry seems to contradict that assumption, which I think is a good thing.

Update: He's a he, so I've updated the his/hers...

Wednesday, August 27, 2003 7:06:41 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net
# Tuesday, August 26, 2003

And every month on the 4th Tuesday.

But I'm tired, so maybe I'll go next month.

Tuesday, August 26, 2003 4:41:09 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Sunday, August 24, 2003

No doubt no one will notice, but the navigation section of my site, which previously had links to what appeared to be a web based aggregation of my blog roll, has disappeared. It seemed to me that, with the inclusion of the blog roll, there is little reason why anyone but me would use that navigation, and therefore, it seems like it should be removed. Plus, it aggregated each feed individually, without decent sorting of unread vs. read, it didn't aggregate until the page was hit and the cache was old, and it didn't work on my sidekick.

So it's all been redone. There is now a background process that aggregates all feeds listed in my blog roll, and stores them in my SQL database, which then drives a reworked aggregation reading page. That page, unavailable to everyone but me, only displays unread articles, in reverse order to when the were first discovered by my aggregation code. The page also has "mark item as read" or "mark all as read" functions, and should work swell from my sidekick.

If, for some odd reason, you were using my page to read these feeds, feel free to ask me for some recommendations for a replacement RSS aggregator for you.

Sunday, August 24, 2003 4:31:55 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [1] -
.net
# Saturday, August 23, 2003

It uses extra spawned threads to handle extra things related to the website. It has a thread that pops for mail to allow blogging from email, and a thread that handles pingbacks. The threading system also has a logging system viewable from the web interface, so you know what's going on.

I've taken my code for collection of Amazon Products that drives the "games on amazon" page and moved it into a background thread as well, previously it was a scheduled task, but that never seemed quite right. I had wondered how Microsoft had envisioned this sort of thing happening, since .Net lacks a scheduler like ColdFusion, but I see now that I wasn't thinking about my site as an application, and now it seems clear that a background thread is the perfect way to handle this.

Now my concern is that my development platform will have background threads running to support every site I've ever developed, and over time erode the resources on my machine. I know it's silly, since I do reboot my machine, and these background threads won't start until the first page is hit, but I can still imagine needing more RAM for my development machine.

Saturday, August 23, 2003 2:25:34 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
# Friday, August 22, 2003

dasBlog v1.2.3230 is out, and I've upgraded my code to it.

In this version, time zones are taken in to account, and multiple language support has been added. Image attachments are allowed in mail-to-weblog posts, complete with thumbnailing.

And I've added a "coffee cup" icon, for the folks with standardized rss aggregators.

Friday, August 22, 2003 5:53:27 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.net
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Blogroll
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions.

© Copyright 2010
David Kearns
Sign In
Statistics
Total Posts: 1300
This Year: 1
This Month: 0
This Week: 0
Comments: 1761
Themes
Pick a theme:
All Content © 2010, David Kearns
DasBlog theme 'Business' created by Christoph De Baene (delarou)