My articles on PC Magazine

Some months ago I published some articles on the Greek version of PC Magazine , on behalf of Microsoft Hellas and dotNETZone.gr community site. Here are the articles: ASP.NET Starter Kits .NET Compact Framework (Mobile development) XNA Studio Express (Game development) Apparently the articles are in Greek!

Διαβάστε περισσότερα »

My first article on CodeProject.com

I'm happy to present my first article on CodeProject.com! It's the last article of my blog, regarding Progress Indication when transferring files with 'Windows Communication Foundation'. I never new that there is such immediate response by readers in CodeProject. I already got some very useful comments on my code! The article in CodeProject.com... The article in this blog...

Διαβάστε περισσότερα »

File transfer with progress indication using Windows Communication Foundation

This article examines the implementation of upload and download functionality with progress indication (progress bar feature) using the Windows Communication Foundation. Here is a list of what you need: Visual Studio 2005 .NET Framework 3.0 Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF) Sample code consists of three C# projects bundled in a solution. A brief description of these projects follows. Download the Code FileService This is the main server project. The Server Contract File Server

Διαβάστε περισσότερα »

Throw command difference in C# and VB.NET

Have you ever noticed that throw command behaves somewhat differently in VB.NET and C#? See the following two code parts. It's the same thing written in VB.NET and C#. DummyMethod throws an exception (line 12) that is caught by a try/catch statement in the Main method. Line 7 writes the exception into the console window. 1: static void Main( string [] args) { 2: try 3: { DummyMethod(); } 4: catch (Exception ex) 5: { Console.WriteLine(ex); 6: } 7: Console.ReadKey(); 8: } 9: 10: private static void DummyMethod()

Διαβάστε περισσότερα »

DotNetNuke did it again!

In general, I'm a great fun of DotNetNuke , the free, Open Source Framework for creating web portals. It is very powerful and easy to use. However it is full of bugs! Yes, it is. Most propably this is because the DNN team releases a new version once every couple of months! No to mention the intermediate relaeses of specific modules. You don't have to take my word for it. See the downloads page of the project. From January of 2007 there has been 5 releases! That is one release every 37 days ! Currently, in my

Διαβάστε περισσότερα »

ResEx - The composite, translation friendly .NET Resource editor

I have just released version 1.00 of ResEx , the composite, translation friendly .NET Resource editor. ResEx has been in beta version for some months to ensure some level of quality in the implementation of supported features. Here is a quick list of feature supported: Translate values side by side (just like the old time classic VB6 resource editor) Lock specific strings so that translator does not translate them Restrict length of translating strings Ensure correct translation of strings with placeholders

Διαβάστε περισσότερα »

A maniac serial killer may maintain your code!

Recently I decided to dig up an old small project I created long time ago. It was a small tool I needed to fulfill a very specific requirement. It's name was something like 'SpecialUtility.ToExportThreeColumns.FromASpecialTable.OfAnNonPayingCustomer.csproj'. Fortunately, I tend to keep such tools. Unfortunately, I discovered that I coded that project so fast, that it is now difficult to maintain and reuse. I hadn't used enough classes, I used arrays instead and I hadn't spent enough time to rename variables

Διαβάστε περισσότερα »

Getting started with Windows Communication Foundation

Yesterday, I presented WCF in the 8th dotNETZone.gr event, in Microsoft Hellas building in Athens. Here is a list of resources that may help you get started with Windows Communication Foundation. Software: Visual Studio 2005 .NET Framework 3.0 Redistributable (preinstalled in Vista, else available for Windows XP SP2 and Windows 2003 Server) Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP Microsoft® Windows® Software Development Kit for Windows Vista and .NET Framework 3.0

Διαβάστε περισσότερα »

Windows Communication Foundation - The basics

Windows Communication Foundation (WCF - formerly known as Indigo) encapsulates all previous microsoft technologies for remoting and messaging. It's layered architecture consists of a base that handles asynchronous calls and message handling and a top that handles security, transations, transport and encoding capabilities. WCF acts as a wrapper of preceding remoting technologies like: ASP.NET Web Services : The Microsoft's implementation for XML web services . NET Remoting : Supports .NET to .NET tight coupled

Διαβάστε περισσότερα »

Create Virtual PCs using images from Norton Ghost

Norton Ghost is a very popular backup tool, as you propably already know. The feature that distinguishes Norton Ghost from it's competitors is that it is designed to get a complete system backup, relieving yourself from the burden of selecting individual folders or features to backup. This also makes recovering a very simple and straighforward procedure, since you get your hard disk back with all programs working in just a few clicks. Something you may not know is that Norton Ghost can create a virtual hard

Διαβάστε περισσότερα »

Mix07 Keynote Impressions

Some really cool thigs were shown in keynote of Mix07 event in Las Vegas . I watched almost the complete opening event and here are my impressions. First of all, the event opened with some very cool videos , created using thw new Expression Studio . They reminded me the good old days (and nights!) I spend with my friends during the university days playing EA Sport's Fifa (do you remember that cool intro videos the game had)! Ray Ozzie , Microsoft's chief S/W Architect entered the event with music and light effects

Διαβάστε περισσότερα »

Catch... When

Here is a tiny detail in the try/catch syntax of VB.NET you not be aware of - I wasn't until I recently discovered it in the documentation by accident : Try Catch ex As Exception When [Expression] End Try I recently needed this for a generic function which I was calling both synchronously and asynchronously (separate thread). I wanted this function to handle the exception by displaying a dialog box in case it was executed asynchronously only. So I just added a parameter to that function called 'handleException'

Διαβάστε περισσότερα »

IndexedDictionary. Access a dictionary using item index.

.NET Dictionary object can hold a collection of keys and values. It allows you to iterate through these values using enumeration and you can also retrieve a value by using it's associated key. But what if you want to create a collection of items and access them both using their associated key or numeric index in the collection? I created a VB.NET class that I named IndexedDictionary that does exactly that. The class implements the generic IDictionary interface. Internally it contains an instance of a generic

Διαβάστε περισσότερα »

Forcing people to backup their data

Perhaps it would be a good idea to change the text of every 'Save' button in all software of the world to 'Unsafe Store'. Maybe this way people can finally understand that backup really saves their data and 'Save' button just stores them temporarily. Here is how Microsoft Excel™ would look! Don't you think it is now more obvious?

Διαβάστε περισσότερα »

Write dataset contents to zip file

Assume that you want to write the contents of a dataset to xml, in order to send that data via e-mail or any other means. Have you noticed how verbose xml files are? However, if you try to compress one, you will notice that size of the compressed file is only a small fragment of the original! Just for testing, I compressed an 200MB XML file into a zip file, to see that the resulting file was 9MB only! So, is it possible to write the contents of a dataset into an xml but include that xml directly into a zip file,

Διαβάστε περισσότερα »

Clean up IIS and SQL Server and make your websites portable

Do the following mean anything to you? Is your IIS full of test web projects that you once created and you keep them... just in case? Do you have old projects that you want to look once in a while but you don't have the time to create virtual directories for them? Do you have dozens of databases on your SQL Server for all that projects? Do you find the procedure of copying files, IIS settings and SQL Server database to create a copy of a web site tedious? Would you like your web sites to be easily portable by

Διαβάστε περισσότερα »

Hello World from my Development Blog

I decided to create a separate blog for my development activities. I will post development tips & tricks and other useful stuff. In the past there was several things I wanted to post but didn't exactly fit in with the rest of my blog posts, on the home page of this site. For instance, a piece of code that handles wait cursors in windows forms doesn't exactly fit with my sister's wedding! So... my development-oriented blog is here to host all my ...geek anxieties!

Διαβάστε περισσότερα »

Περισσότερες Δημοσιεύσεις « Προηγούμενη