Archives / 2007 / May
  • Expression Studio not for everybody, the saga continue...

    Well a lot of interesting comments about the post from yesterday. Some I received privately, some in the comments, but the question remains, why Expression Studio is available only to the top MSDN Premium subscription?

    I don't get the logic behind this decision, and a lot of developers are sharing the same thing.

    If I didn't choose to be part of the top MSDN subscription it's because I didn't need all the Team Foundation and Architect stuff, not because of a cost issue. So I find sad that Microsoft decide what I should get in my downloads and not :-(

    Now for the comments:

    From Daniel:

    Microsoft seem to be doing everything they can to push developers to open source products.

    I remember when MSDN Universal gave you everything, now that only Team Suite does this, which is out of the reach of a lot of  companies(due to cost). The only way now to get some of the high end source management/project management features is use open source products with VS2005.

    For new developers(students,hobbyists,small business) it is now too expensive to write programs for the Microsoft platform. Microsoft's pricing polices with MSDN are pushing people towards open source and Java. Once these people have been lost they are unlikely to return and the door being opened slowly but surely to Mac's and Linux.

    Due to the attitude of unaffordable development software the mind share is moving towards open source and Java. Hopefully Microsoft wakes up before it is too late.

    If anything Team Suite should be part of the MSDN Premium bundle and pricing. Most Java IDE's , Source Control,Project Management, etc software is free. This is price level Microsoft really needs to compete against.

    Come on Microsoft, help us developers make the Microsoft platform the place to be.

    Daniel I agree with you on this one. Microsoft also seems to give in one hand and take back on the other one. Look at all the fuss aout Silverlight. How I am supposed to promote those technologies in my company if I can't have access to them (and I am not saying for free here, I pay a hefty sum for MSDN).

    From Brennan:

    I am able to see Expression Web and Expression Blend. Is there also a studio version which includes everything in one application?

    Yes Brennan I can see them too but it's not the full package, just about half of it. You miss Expression Media and Design, the key stones of Expression tools.

    Now my next move will be to contact Scott Guthrie and see what can be done to change things. Well I can dream!



  • BlogEngine.NET 1.0 released

    The BlogEngine.NET team made a first official release of BlogEngine.NET.  The first release has a whole boatload of features including:

    1. A nice variety of cool widgets
    2. A very sweet commenting system
    3. Great syndication support (RSS, Atom, and Feedburner)
    4. Support for Metaweblog API
    5. Trackbacks / Pingbacks
    6. A nice blog search
    7. Referrer stats
    8. Easy theme creation.


    There is a bunch of other good stuff in there as well.  Please take a moment to check it out.  You can get it here.

    Interesting project to follow, to see if they can compete with SubText!



  • Script#: Past, Present, Future...

    A new build of Script# is now available, complete with full support for creating Microsoft ASP.NET AJAX components, controls and behaviors... this post includes a video demonstration of building a script watermark behavior, and gives a chance to reflect on the project exactly a year since its initial release...


  • File Upload & Compression in ASP.Net

    In this article Bean Software look at how to upload a file to the web server and compress it using the compression methods provided in .Net. They use the open source compression method to compress to a .gz file. The method is available in System.IO.Compression.




  • Expression Studio on MSDN today - not for all subscribers !! :-(

    Update 1: This story now start to be like a bad joke. Scott Guthrie and Tim Heuer answers sounds like an Abbott and Costello routine, yes you need to be MSDN Premium subscriber, but yes I am, no you aren't, we tell you, you need to be an MSDN Premium subscriber, etc... !! Come on, can we get some "intelligent" answers ?

    I heard Microsoft Expression has been released for MSDN Premium subscribers.

    So I checked with excitement the download page. What? It's not there?


    I am an MSDN Premium subscriber, well that what I thought, but apparently maybe I am not part of the elite, with access to the full Team Suite, but the one just under with Team Suite for Software Developers!

    If this is true, this is a scandal! I subscribed to MSDN Premium to have access to all Microsoft technologies but apparenty it's not enough.

    I remember that my subscription to MSDN Universal gave me at the time an access to almost everything.

    Microsoft, if you want me to promote and use your products, you need to review your marketing!

    It's true I can get Expression Web and Blend, but what's about Expression Design and Media ?!?

    I want to see Expression Studio as part of MSDN Premium at least for the three levels of subscription. I knew by splitting the MSDN subscriptions in different layers, some day it would cause some grief. This is the day my friend it's happening, we are not good (pay) enough for Microsoft products.


    If someone from MSDN read this can you give shed some lights on this matter?



  • IronXSLT: Changing the Way You Work with XSLT in Visual Studio

     Nice! New development by Oleg Tkachenko

    From the author:

    Yes, I'm trying to change the way you work with XSLT in Microsoft Visual Studio. It must be a pleasure to develop and rocket fast at runtime. Yes, Visual Studio already supports editing, running and even debugging XSLT, but it's still a painfully limited support. So I'm started building IronXSLT - Visual Studio plugin aimed to provide total integration of the XSLT language in Visual Studio IDE.

    Current list of planned and already implemented IronXSLT features includes:

    1. XSLT Library Project (Visual Studio project type for compiling XSLT into DLL)
    2. XSLT Refactorings
    3. Multiple XSLT engines
    4. XSLT Profiler
    5. Extensive library of XSLT code snippets
    6. XPath Intellisense
    7. Visual XSLT builder
    8. XSLT2XLinq and XLinq2XSLT converters




  • XML Debug Type Visualizer

    Derek Smyth has created a XML debugger visualizer for Visual Studio 2005 which you can download here. Just unzip and place the DLL in 'C:\Program Files\Microsoft Visual Studio 8\Common7\Packages\Debugger\Visualizers'. You can view the XML as text and as a DOM like tree as well as run XPath expressions as a filter mechanism.




  • Top 15 free SQL Injection Scanners

    While the adoption of web applications for conducting online business has enabled companies to connect seamlessly with their customers, it has also exposed a number of security concerns stemming from improper coding. Vulnerabilities in web applications allow hackers to gain direct and public access to sensitive information (e.g. personal data, login credentials).

    Web applications allow visitors to submit and retrieve data to/from a database over the Internet. Databases are the heart of most web applications. They hold data needed for web applications to deliver specific content to visitors and provide information to customers, suppliers etc.

    SQL Injection is perhaps the most common web-application hacking technique which attempts to pass SQL commands through a web application for execution by the back-end database. The vulnerability is presented when user input is incorrectly sanitized and thereby executed.

    Checking for SQL Injection vulnerabilities involves auditing your web applications and the best way to do it is by using automated SQL Injection Scanners. We’ve compiled a list of free SQL Injection Scanners we believe will be of a value to both web application developers and professional security auditors.





  • Bitjuice: Ajax bitmap API

    Bitjuice is a little library to do bitmap/raster graphics in the browser. The aim is to make it easy to write “Ajax graphics” - graphics you can update real-time in the browser. And at the same time, maintain compatibility with all major browsers and old browsers too. That’s why it doesn’t use any new-fangled SVG/Canvas APIs. Just a plain-old HTML table, where we manipulate the CSS cell background style.

    Here’s an interactive Scratchpad, where you can play around with programming against the API. I think it’s neat that Ajax lets us make it this easy to get your hands dirty with a new API - no download, no install, no fuss!




  • Working with Transactions

    A transaction is a group of operations combined into a logical unit of work that is either guaranteed to be executed as a whole or rolled back. Transactions help the database in satisfying all the ACID (Atomic, Consistent, Isolated, and Durable). Transaction processing is an indispensible part of ADO.NET. It guarantees that a block of statements will either be executed in its entirety or rolled back,( i.e., none of the statements will be executed). Transaction processing has improved a lot in ADO.NET 2.0. This article discusses how we can work with transactions in both ADO.NET 1.1 and 2.0 versions.




  • Refresh module

    Most of you are familiar with the feature of all web-browsers that when you press the F5 button, the content of a page is refreshed. After the F5 button is pressed, the browser repeats the previous request to the page. Nothing wrong will actually happen when the previous request is made by the GET method. However, problems appear when the last request is made by the POST method. Let's consider an example where a user is transferring money to a shop to pay for some goods. Having completed this operation, the user refreshes the page and as a result the server code is executed once again with the same data. Thus, the user may accidentally pay twice.

    Valery Minsk propose to use an HTTP module to intercept the refresh.



  • Autolist

    This small web application has following features:

    1. Auto suggest list box [AutoList.js]
    2. Auto select text.
    3. Scrolling list item either one by one or on the basis of defined page size.
    4. Multicolor list item.
    5. Getting result in the xml form directly from SQL Server using ‘FOR XML’ and to process it to populate list box or to send back to client.
    6. Client side population of list box from xml.
    7. Getting result in xml form by using callback function (AJAX).
    8. Client side XML transformation using XSLT.
    9. Client side wait/process message while processing data [ProcessMonitor.js].
    Read more...  


  • Top 10 .NET Framework Technologies to Learn in 2007

    Peter shares what he believes are the top 10 .NET Technologies to focus on for developers, starting this year.

    I don't know but I think this list is already old after the avalanche of announcements by Microsoft (Silverlight is one or example).

    What do you think?

    From Peter Bromberg:

    Everybody has an opinion, and yours may differ based on your personal observations and experiences.

    I've been working with the .NET Framework since the first BETA in 2000, and I've seen a lot of stuff come and go.  The following are what I consider to be my Top 10 List of things about .NET you must learn, going forward with the technology from 2007 on:

    1) WCF (Windows Communication Foundation):  While WCF is certainly less "sexy" than say WPF / Silverlight, it is going to represent the backbone of solving business problems with .NET going forward from here. Big organizations are starting to embrace it, and it provides a cohesive framework for solving business problems in a distributed, integrated way. WCF integrates Remoting, WebServices, EnterpriseServices and Transactions, WSE, MSMQ, and much more into a cohesive programming framework. If you intend to make it your business to study just one new .NET technology this year, make it WCF.

    2) ADO.NET (and LINQ): ADO.NET is how you talk to a data store, and databases are such a ubiquitous part of what you will do as a developer that you have NO CHOICE but to become extremely competent in this area. The next big thing in how to talk to data is LINQ with language extensions and entity objects that "represent" mappings of data and its relationships. If you don't become at least familiar with all this stuff, somebody else is going to eat your lunch.

    3) WPF (Windows Presentation Foundation): Everything you learned about Windows Forms, pages in a browser, and UI elements is going to go out the window, because Microsoft has already declared that WPF is the new way we're gonna do this stuff. Its already built in to Windows Vista, and the XPS (XML Paper Specification) is already built into the printer subsystem. Don't hang on to the old- get with the new just as fast as you can get your little tushy in gear! And besides that, WPF is just so friggin' cool, it will knock your socks off in hi-def streaming video!

    4) SQL Server 2005 (and on): I understand this isn't really .NET, but then again it really is. SQL Server 2005 hosts CLR integration of managed code. That's not only revolutionary, it provides a power to the programmer that you cannot get on other platforms. You have to learn everything you can about SQL Server 2005 including Service Broker, because it will help you to be a better programmer and problem - solver.

    5) ASP.NET 2.0:  Even non "web programmers" need to understand how this works. The feature set has grown and matured, and you are looking at dynamic languages, LINQ, AJAX, and much more being integrated into the ASP.NET Framework (not to forget Silverlight - the sexiest technology of all of them!).

    6) Security. Developers are notoriously weak on security ("Who cares about permission sets - I'm just a Code Monkey"). Unfortunately, we do not live in a perfect world and there are evil people out there who jump with glee when they can mess up your day. The more you become an expert about security, the higher your pay will be: expert security consultants make upwards of $300 / hr.

    7) TDD (Test Driven Development): Unit, regression and integration testing aren't a luxury - if you want to develop robust systems then you must  have a test protocol. And to do testing right, you need to study how to write tests and what tests to write. There are several excellent books on TDD and at least one that specifically focuses on .NET.

    8) Networking (System.Net and related): Networking -- TCP, UDP, HTTP, FTP, and on -- are an integral part of what you need to know how to do in order to glue programs together and make them be able to talk with each other and your data. The more you know about this area, the better equipped you'll be to make the right kind of choices when you are tasked with creating business logic through code.

    9) Threading:  When asked to develop a multi-threaded object or to use a ThreadPool, 95 out of 100 programmers who claim to be professional .NET developers fall flat on their faces! You need to study all the threading primitives, know how they are used, be able to use the .NET or a custom ThreadPool, and manage threads in your applications.

    10) Learning. That's right, I classify learning as a technology. People need to become smarter about how to learn, and especially, WHAT to learn. Just as you become a better programmer when you learn to use the Google or other search engines more effectively, you become a better programmer when you can detail for yourself what you need to learn to be better at your craft, and write down a plan for implementing that learning process.



  • Role of HTTP Modules in .NET Security

    Today, one of the important goals is to provide high security to the distributed Web Applications. The security is designed throughout the .NET Framework like Code Access Security, ASP.NET Integrated Security and Cryptography, which can be optimally used to develop Secure Applications.

    However, in scenarios where one has to perform Authentication or Authorization by the database and give appropriate privileges to the users (or) the permissions have to be provided at the runtime for specific operations (or) in scenarios like where no web browsers are used , it becomes crucial to develop Custom Security.
    The ASP.NET Framework has defined set of Http Modules which takes care of the basic Authentication and Authorization mechanisms. The Custom Security (Custom Authentication or Authorization) can be performed in Forms Authentication or Windows Authentication by coding in the Global.asax file, which is not a reliable (or) reusable solution. The .NET Framework gives the flexibility to develop custom Http Modules and plug them into the ASP.NET Application,hence enabling to develop highly scalable, reusable and reliable .NET Security Components.

    This article explains in detail about the HTTP Modules and the steps to create custom Http Module with an example. The article also gives a brief how to create a custom Http Module in developing a custom database authorization module.




  • HTTP Compression check

    Are you using HTTP Compression for your web applications?

    I do, but if you don't you miss really something. Check your compression with this online tool.

    See what I got with my main project Scoilnet.



  • Free Microsoft E-Learning on Ajax

    Title: Clinic 5230: Developing Enhanced Web Experiences with Microsoft® ASP.NET AJAX Extensions

    Course Type: Self-paced Course

    Available Offline: Yes

    Estimated Time of Completion: 2 Hours

    Language: English

    In this 2-hour clinic you will learn about the rich functionality that ASP.NET AJAX Extensions provides for building highly responsive and enhanced web applications. In addition to learning about the different server and client components of ASP.NET AJAX, you will also learn how to build new ASP.NET AJAX applications and how to upgrade existing ASP.NET applications to take advantage of ASP.NET AJAX.
    This clinic is appropriate for experienced .NET Web Developers and Software Architects who are looking to incorporate ASP.NET AJAX within their existing and future solutions.




  • .NET Cheat Sheets

    Nice posters collection by Jihn Sheehan. Now I need more walls in my office!

    .NET Format String Quick Reference

    Current Version: 1.1
    » Download Now (PDF, 123 KB)

    ASP.NET 2.0 Page Life Cycle & Common Events

    Current Version: 1.0
    » Download Now (PDF, 64KB)

    Visual Studio 2005 Built-in Code Snippets (C#)

    Current Version: 1.0
    » Download Now (PDF, 56 KB)

    More to come!

    Other Cheat Sheet Links



  • WWF and WPF E-Learning for free!

    Here's your chance to learn about WPF and WWF free-of-charge:

    Collection 5134: Developing Rich Experiences with Microsoft® .NET Framework 3.0 and Visual Studio® 2005

    This collection of 3 2-hour premium clinics teaches about the new capabilities provided by the .NET Framework 3.0. These clinics are for experienced Developers and Software Architects who are looking to adopt Microsoft's next generation technology within their solutions.
    Topics covered within the collection include:

    • Windows Presentation Foundation
    • Windows Workflow Foundation
    • Windows Communication Foundation


    • Experience (2 years) as a full time developer using Visual Studio 2005 / Visual Studio 2003
    • Experience developing one or more of the following:
      • Web Applications
      • Windows Forms Applications
      • Server Components
      • XML Web Services

    This offer includes the following:


    Clinic 5135: Introduction to Developing with Windows® Presentation Foundation and Visual Studio® 2005

    Clinic 5136: Introduction to Developing with Windows® Workflow Foundation and Visual Studio® 2005



  • Webcast Series on and Orcas

    The Visual Basic Team has put together a webcast series about the next version of Visual Basic and Orcas.

    Here's the schedule (check the VB Developer Center for updates): 

    UPDATE: The VB Team has added more webcasts for June! 



  • SQL Server 2005 Paging Results

    With SQL Server 2005 it is now a lot easier to use paged queries than in previous versions. I will be using NorthWind db (mostly) so you can also use the examples I have provided. I will keep the examples simple; anything complex will only cause confusion. I will start with "traditional" methods such as SELECT, TOP, and then move onto the specific SQL Server 2005 paging examples.

    By Frank Kerrigan



  • WPF and XAML Tutorials

    An excellent series on WPF by Josh Smith is available on CodeProject:

    • Part 1 (XAML): Learn about XAML and how it is used in WPF applications.
    • Part 2 (Layout): Learn about layout panels and how they are used to construct user interfaces.
    • Part 3 (Data binding): Learn how WPF data binding works and how it can be used.
    • Part 4 (Data templates and triggers): Learn how data templates and triggers work and how they can be used.
    • Part 5 (Styles): Learn about how UIs can be styled in WPF.



  • First Steps with ADO.NET Synchronisation Services

    ADO.NET Synchronisation Services is a technology for helping with those online/offline applications where you need to get data down to be stored on a laptop to enable mobile working (device support isn't something that it's in the first version AFAIK).

    Here's some links;

    Download the bits ("Orcas" beta 1)

    Download the docs ("Orcas" beta 1)

    Subscribe to the "Synchronizer" blog





  • Thanks Rob!

    Sad news, Robert Burke is leaving Microsoft Ireland :-(

    Robert was one of the best speakers I ever met in the different community events I organized. Maybe sometime we disagreed, but he is one of the very few Canadians who can insert easily some Irish words in the conversation.

    So long, Robert , hope to meet you somewhere sometime :-)



  • Ireland Microsoft Conference - June 7th - Dublin

    Ireland Microsoft Conference

    Dublin 07/06/2007

    Sign-up for IMTC! The Irish Tech-fest you won't want to miss!

  • When? June 7th, 9am till late.
  • Where? Cineworld complex , Dublin
  • Cost? 50 euros (to help cover costs). 

    With 18 sessions from amazing speakers, this is one event that you will not want to miss! They are covering everything from the new Silverlight and Expression products to WCF, Biztalk, SQL Server, Longhorn Server, Security, mobile dev, Infocard, game development with XNA. Have a look at the list below to get an idea of the sessions you will get to choose from.

    visit to know more!

  • Here is the list of sessions – you will get to attend six.

    •  Building Silverlight Applications using .NET (Part 1 of 2)  - by Tim Sneath
    • Building Silverlight Applications using .NET (Part 2 of 2) - by Tim Sneath 
    •  Visual Studio "Orcas" and AJAX - by Steve Marx 
    •  Exploring Ajax Patterns - by Steve Marx 
    •   Designing Ultimate Experiences with Expression Studio - by Carrie Longson
    • Hacking Websites for fun and profit - by Barry Dorrans 
    •  CLR User-Defined Types in SQL Server 2005 - by Hugo Kornelis
    • How to Use Indexes to Speed Up Your SQL Server Database - by Hugo Kornelis
    • Service Broker - processing work asynchronously - by Simon Sabin
    • Windows Server Code Name ‘Longhorn’ - by Dave Northey
    •  Visual Studio for DB Pros (aka Datadude) - by Alan Crowley
    • Microsoft’s Virtualisation Strategy and Products - by Dave Northey
    • Forget Passwords! Implementing CardSpace in Web Apps & Services - by Dominick Baier
    • Windows Mobile Development - by Andy Wigley
    • Game development with XNA - by Robert Burke
    • BizTalk and RFID - by Gar Mac Criosta
    • WCF Basics - by Paul Fallon
    • WCF Advanced - by Paul Fallon  

    Cineworld, Parnell Street, Dublin - 9am

    Sponsored By


  •

  • Microsoft ASP.NET 2.0 Membership API Extended

    Microsoft ASP.NET 2.0 shipped with a complete membership API that allows developers to manage the application’s users and their roles. However, this API best suits small to medium Web sites due to their limitation in expressing a detailed member record.

    This article discusses one of the techniques that you can use to overcome this limitation and extend the Microsoft ASP.NET 2.0 Membership API to accommodate custom member records with a solution that works on top of the Membership API without requiring any change in the API.



  • Build an AJAX Based Map Viewer in ASP.NET 2.0

    This is really cool stuff. Always wanted to mimic Google Maps or Microsoft Maps? So check this article by Xianzhong Zhu.

    Nowadays, AJAX has become one of the coolest features for building interactive browser-based client applications. The famous Google Maps show a distinct advantage over traditional map service systems in availability and response speed. In this article I will show you how to build an Ajax.NET based map viewer in ASP.NET 2.0.




  • Who's in charge of ??

    For God sake, whoo's in charge of Telligent, Microsoft, the Pope, Madonna?

    This is very unprofessional to upgrade a software without consulting its users! We had the same problems last year when the blog engine moves from dotText to Community Server, and was sure this will not happen again.

    Now can we have once for all a face to blame (or to punch in this case) for all the misery we have today. Who has decided to upgrade deserve to be slap!

    Looks like we are bloggers again the guinea pigs of some invisible corporate company (sorry just my conspiracy theory paranoia)

    Please enbale again Javascript in the blogs, and check why the engine is now so slow. Also the main aggregator page is empty.



  • Examine and Resolve XHTML Compliance Issues

    By default, Visual Studio 2005 generates and validates XHTML-compliant markup. This helps you build Web applications that are standards compliant and helps minimize issues with browser-specific rendering. Visual Studio .NET 2003 did not generate XHTML-compliant markup, so you might see validation and rendering issues with pages created in Visual Studio .NET 2003.


  • Get All URLs on a Page

    In this article, I show a class that can be used to find and display all of the urls on a web page. What for you may ask? Well, in my experience as a web developer, I have found a class like this to be very useful. Sometimes, you may want to use this class a a basis for a more complex application that crawls your site checking for bad or broken links. In other cases, you may simply want to check an individual page to make sure your links are formatted correctly, or don't contain any obsolete pages. You could also easily change this class to look for other items within your page, like specific text or tags. Who knows, this may be the start of a specialized spider that crawls sites on the internet looking for something specific.


  • Better Entities with Nullable Types

    There is an impedance mismatch between objects and normalized relational databases. Everyone knows this. Almost everyone has tried to fix it—think object-oriented databases—and some people have gotten famous off of proposed solutions. (Deservedly so or not.) Well, truth be told Microsoft is working on an ADO.NET Entity Framework to address this issue. The issue phrased using my words is getting data from databases into objects makes for better programming but is time consuming, tedious, and not altogether convenient. From what I know of LINQ, LINQ for Data, and the Entity Framework, they may really be on to something.


  • Consuming Web Service Using ASP.NET AJAX

    ASP.NET AJAX provides the power of asynchronous JavaScript and XML to your web sites. AJAX makes web pages more responsive and interactive by reducing page refreshes or postbacks. It harnesses the power of client-side JavaScript and the XML HTTP object to provide these features.


  • Maintaining Fixed Headers in GridView

    One of the commonly asked question by developers is how to maintain headers of GridView in a fixed position. You must have observed that in Excel you can freeze top cells of your spread sheet. When you scroll down the headers are always visible making your sheet more readable. The same effect is often needed in GridView control especially if you are displaying many records at a time.


  • What ASP.NET Developers Should Know About JavaScript

    This article approaches JavaScript from the perspective of an ASP.NET developer who is comfortable with the paradigms and patterns of either C# or Visual Basic. The article doesn't look at how to use JavaScript from ASP.NET exactly, but it does look at why JavaScript is so different from the two languages we commonly use with the .NET CLR. The article assumes you already know that JavaScript is a loosely-typed language (because you don't have to declare the type of data you store in a variable), and that the syntax is similar to the C family of languages (with charming curly braces and stunningly beautiful semi-colons).