Thursday, May 08, 2008 #

dotTrace Profiler 3.1 - Support for Visual Studio 2008, Vista and Windows Server 2008

dotTraceJetBrains has unbelievable tools. ReSharper, dotTrace, and TeamCity are at the top of their game. They really know how to deliver meaningful software to developers.

JetBrains released dotTrace Profiler 3.1 which has a few bug fixes, performance improvements, but most importantly supports Visual Studio 2008, Vista and Windows Server 2008. You can find a complete list of what is new in dotTrace Profiler 3.1 here.

Per JetBrains Tool Blog these are the highlights:

  • “Support for Visual Studio 2008 and .NET Framework 3.x. You can now launch dotTrace from Visual Studio 2008 and profile solutions running under latest versions of .NET Framework.
  • Support for Windows Vista and Windows Server 2008.
  • Support for web-based JetBrains License Server, a utility that serves as a central source of license tickets and distributes them between workstations seamlessly.
  • A new floating license that any member of your development team can use.
  • Stability and performance improvements.“

Seriously, if you haven't used dotTrace, download an evaluation copy.

 

Recent .NET Developer Tool Posts

 

posted @ 5:12 PM

CodeRush and Refactor! Pro v3.0.8 Download Available - Visual Studio 2008 Add-Ins

CodeRush Refactor! ProIf you are using Developer Express' CodeRush and Refactor! Pro in Visual Studio 2005 or Visual Studio 2008 or any one of the free versions of Refactor! for ASP.NET, C++, or VB.NET, you will definitely want to download v3.0.8 which includes a large number of bug fixes and a few new features.

You can find a complete list of what is new and improved in CodeRush, Refactor!, and DXCore here.

I just uninstalled v3.0.7 and installed v3.0.8 without issues.

 

Recent .NET Developer Tool Posts

 

posted @ 4:26 PM

Wednesday, May 07, 2008 #

Download Zune 2.5 Software - Gapless Playback - Smart Playlists - Multiple Device Syncing...

I pretty much come from the camp of if it ain't broke, don't fix it. Or, at least, don't fix it right away until everyone else experiences all the bugs and problems :)

That being said, there is a new Zune 2.5 Software Update that you can download now.

As far as what appears to be new:

“We've updated the Zune software with features our community's been asking for, including gapless playback, smart playlists, new sorting options, multiple-device syncing, and advanced song info editing, including drag-and-drop functionality. If you have Windows Live Messenger running, it'll let your contacts know what you're playing. And when you go to Zune Marketplace, you'll now find over 800 episodes of popular TV shows to download, plus more than two million DRM-free MP3s.

Great news for members of the Zune Social: the discovery experience is now fully integrated into this update. Send messages and listening recommendations directly from the software. Zune Pass subscribers: sync your friends' Zune Cards with your device and their music comes along—their recent plays, favorite tracks, and top songs from their most-played artists[3]. Even if you don't have a Zune Pass, you'll still see their play data on your device, so you can choose what you want and buy the songs next time you sync.“

Download it here.

posted @ 4:27 PM

Download XNA Game Developer Studio 3.0 CTP - Zune XBOX 360 Windows

If you want to develop games for Windows, Zune, and the XBOX 360, download the latest XNA Game Developer Studio 3.0 CTP.

Per the download description:

“This release represents the Community Technology Preview of Microsoft XNA Game Studio 3.0, which enables hobbyists, academics, and independent game developers to easily create video games for Windows and the Microsoft Zune digital media player using optimized cross-platform gaming libraries based on .NET.

Targeting the Xbox 360 console is not supported in this CTP release. It will be supported in the final release version.

This CTP release of the 3.0 version contains support for the Visual Studio 2008 family of products and for developing games that run on the Microsoft Zune digital media player. In addition, there are enhancements to the XNA Framework API for media support and sound effects.”

Download it here.

posted @ 4:19 PM

Sunday, May 04, 2008 #

Expression Web 2 - FTP Explorer to Publish Websites Should be a TreeView

I think Microsoft misses the subtle UI things that make a web designer or web developer's day easier. I am re-evaluating the products in Microsoft Expression Studio 2 this weekend:

  • Expression Web 2
  • Expression Blend 2
  • Expression Design 2
  • Expression Media 2
  • Expression Encoder 2

I just mentioned the fact that Microsoft Expression Design 2 is missing some ever important bitmap tools and is not a replacement for Adobe Fireworks let alone Adobe Photoshop.

And, although this is probably more of a nit-pick, who on Earth designed the FTP interface you find in Expression Web 2?

 

Expression Web 2

 

 

Why isn't the FTP Explorer a TreeView with collapsible folders so that I can see the entire directory structure at a glance without having to navigate in and out of folders? Am I missing a setting somewhere? I know this is the same ugly FTP Interface that is in Visual Studio 2005, but I dare not want to look to see if it still exists in Visual Studio 2008. Quite frankly, I don't deploy and publish websites like this anyway. I use a proper build process, etc. However, somebody is probably using this FTP interface to publish their sites and this is way behind the times.

Again, I am using an old copy of Adobe Dreamweaver from the Macromedia days, and it's interface for publishing files is a sweet looking treeview that makes the experience wonderful. Coda, which is a Mac web development tool I mentioned earlier for $79, uses a TreeView to view and publish web pages:

Expression Web 2 is the only web development tool that I know of that uses this old-style navigation of your web site such that you cannot see all the pages you want via a TreeView. I realize this is a bit of a nit-pick, but it drives me crazy. Thankfully I don't need to use it, but you might want to fix this in Expression Web 3.

posted @ 11:15 PM

Expression Design 2 Needs Some Bitmap Graphics Tools like Crop Lasso Magic Wand Marquee

Expression DesignI mentioned the release of Expression Studio 2, Microsoft Expression Studio 2 Released, which is a release of several products by Microsoft:

  • Expression Web 2
  • Expression Blend 2
  • Expression Design 2
  • Expression Media 2
  • Expression Encoder 2

This weekend I put Expression Design 2 through my Adobe Fireworks tests to see if I can move away from my older version of Adobe Fireworks and move to the newer Expression Design 2.

The first time I played with Expression Design when it came out in version 1.0 I didn't like it that much. Although I do a decent amount of vector graphics, I also do a heck of a lot of bitmap graphics, too. There are some tools that are traditionally thought of as bitmap tools that are indepensible for day-to-day graphic work: Crop, Lasso, Magic Wand, and Marquee to name a few. Most of the time I need one of those tools and need it bad.

Sadly, this is where Expression Design 2 still misses the mark, because it doesn't have those bitmap graphic tools mentioned above. I realize that Expression Design is focusing on vector graphics, but you have to have the stock set of bitmap tools in Expression Design for when you need them. I'll be dang if I want to keep a few tools around, one for vector graphics and one for bitmap graphics.

I personally feel that Microsoft has mis-read the needs of the web design and development community. You can't just ignore the bitmap graphics needs. Expression Design is in version 2.0 now and you would expect the Crop, Lasso, Marquee, and Magic Wand tools to be in the toolbox now, but they aren't. Sigh. My old version of Adobe Fireworks still kicks Expression Design 2's butt, and I am talking about the older Fireworks that was a part of Macromedia in 2004 :)

That being said, Expression Design 2 is really nice for vector graphics. Thankfully version 2.0 provides slicing, because seriously, I cannot imagine having a graphics package that cannot do slicing. It has the expected really nice non-destructive visual effects and all the things you would expect in a decent graphics package if you didn't have the needs for Adobe Photoshop ( but so does Adobe Fireworks ).

If you had absolutely no need for bitmap tools, Expression Design 2 is sweet. However, if you find yourself working with both vector and bitmap graphics equally, Expression Design 2 might drive you nuts :)

Hope this helps.

Dave

posted @ 10:38 PM

Saturday, May 03, 2008 #

Popfly Game Creator Alpha Released - Online Tool for Creating Web-based Games

PopFly Game CreatorLooks like the folks who play work on PopFly have released an alpha version of an online tool for creating web-based games.

Apparently, the PopFly Game Creator has over 15 pre-built game templates for you to try, hundreds of images, animations, backgrounds, and sounds for you to use in the games you create, and a way for you to write code if you reach the limits of what the user interface can do for you.

There are quite a few videos and how-to's already created to help you tweak existing games or create your first online game using PopFly Game Creator.

  • PopFly Game Creator Main Page here.
  • How To Create A PopFly Game Tips here.
  • PopFly Game Creator Videos here.

 

Just swing over to PopFly and take a shot at creating a game.

posted @ 5:25 PM

Coda - Mac Web Design and Web Development Tool

Ever since I bought the MacBook Pro I like to look around for web design and development tools that I can run on a Mac. I am not expecting to find a replacement for Visual Studio 2008, but perhaps various tools on the Mac that could be used in replace of Dreamweaver, Fireworks, Expression Web, Expression Design, etc. I use in Windows. I don't need a web design and development tool on the Mac since I can run these other Windows applications via VMware Fusion, but I would like to start using Mac-native applications for more day-to-day work.

Coda

One of the tools I found to be thought of quite highly by other Mac web developers is Coda, which is described as a one-window web development tool that provides a Text Editor, FTP application, CSS Editor, etc. It feels like a slim-down version of Adobe Dreamweaver to me with a very usable and attractive user interface that I would love to see in more applications I use:

 

Coda

 

If you have used Adobe Dreamweaver, you will find this application very easy to use. You essentially add a new site by specifying the FTP address, username and passwords, local and remote folders, etc. Shown above I added my own website. You then just select the website and connect to it. There is a tab to view local files and remote files. Clicking on a remote or local file opens up the file in the editor for you to modify or view it. It comes complete with syntax highlighting, some pretty cool search-and-replace, dom inspection, preview, split windows where you can view and edit at the same time, clips where you can drag and drop common code snippets from your list of clips into the editor, spell checker, etc. The CSS Editor is pretty nice, similar to what you get from say Expression Web. All in all, Coda is pretty darn functional for only $79.

Mac web design and developmentCoda lacks a toolbox, however, so if you are expecting a toolbox where you can drag and drop various ASP.NET and HTML tools to the editor, you aren't going to find one. You could use the clips, but I don't know how functional that would be on a long-term basis. You would have to try it out. Coda doesn't seem to know or realize too much about ASP.NET, too. When I chose ASP-HTML as my default page to be created, it ended up creating a “.asp” page as opposed to “.aspx”. It also won't validate the HTML in an ASP.NET Page as well. That being said, this would probably work pretty well for ASP.NET MVC Framework Views, but then so would any editor.

Coda does have some pretty cool change tracking for one-click publishing to the web server. Essentially if you are changing many web pages in your site, Coda will keep track of them and mark those web pages that have changed with an arrow. Once you are done making all your changes, you can either publish those pages to the web server one at a time or click the “Publish All” button that will FTP all the changed web pages to the server.

Mac web design and developmentAs someone who normally uses Visual Studio 2008, Adobe Dreamweaver, and Expression Web, Coda is definitely lacking a lot of bells and whistles. For me, it probably doesn't make sense parting with the $80 as much as I really dig Coda's interface and simplicity. However, if you don't have other tools, I could definitely see purchasing Coda.

You can learn more about Coda from Panic here.

 

Related Posts:

 

posted @ 4:54 PM

Friday, May 02, 2008 #

Free VMware Fusion 1.1.2 Update - Better Support for MacBook Air and Time Machine

VMware FusionVMware Fusion  is an absolute joy to work with on my MacBook Pro.

There is a new VMware Fusion update that has better support for the MacBook Air, Time Machine, as well as a number of bug fixes:

According to the release notes:

"VMware Fusion 1.1.2:

  • Corrects a problem in which the remapping of keyboard shortcuts in Full Screen or Single Window view could not be disabled. Deselecting Enable Mac OS keyboard shortcuts now works as expected.
  • Fixes a problem that could arise when the user attempted to run a virtual machine with the virtual CD drive connected but without a drive connected to the Mac. This problem was most likely to happen on a MacBook Air. The virtual machine no longer fails in this situation.
  • Adds support for Windows XP SP3 when importing a Boot Camp partition as a virtual machine.
  • Fixes a problem that prevented the user from being able to burn CDs with a USB Superdrive on the MacBook Air.
  • Fixes a problem that caused VMware Fusion to fail when the user pressed some newly introduced keys on the new slim Apple keyboard, if the Enable debugging checks preference was set.
  • Corrects a problem in which VMware Fusion occasionally would not return a USB device to Mac OS control when a virtual machine was shut down. VMware Fusion now makes sure to disconnect the device from the virtual machine, making it available to the Mac.
  • Fixes a compatibility problem with wireless bridging and DHCP/routing behavior that could prevent a virtual machine from getting an IP address in certain cases.
  • Corrects a sound problem in which only the default speaker worked in certain cases.
  • In some cases, VMware Fusion, after being upgraded to Version 1.1.1, would fail with a Signal 10 error when the user tried to use the keyboard. This problem has been fixed.
  • Virtual Machine Communication Interface (VMCI) no longer causes memory corruption. Version 1.1.2 contains a fix for the problem described in security advisory VMSA-2008-0005.html, section i.
  • VMware Fusion 1.1.2 and Mac OS X Leopard Time Machine Issue Resolved."

Learn more here.

 

posted @ 5:35 PM

Microsoft Hires Adobe's Former Chief Architect of Photoshop

There is a great write-up on Mark Hamburg leaving Adobe and pursuing opportunities at Microsoft.

“Mark Hamburg, founder of Adobe Photoshop Lightroom and former architect of Photoshop is leaving Adobe for a post at Microsoft. Mark, who was the second engineer hired to work on Photoshop after Thomas Knoll, has been at Adobe for over 17 years. He joined Adobe in the fall of 1990–the year Photoshop 1.0 shipped.“

What is interesting is that Mark will apparently be leading a team that will be working on the future of OS User Experience at Microsoft.

“Mark was invited by David Vaskevitch to come lead a team working on the future of OS User Experience at Microsoft. This is the way Mark phrased it: Now, given that I find the current Windows experience really annoying and yet I keep having to deal with it, this opportunity was a little too interesting to turn down. I can’t imagine doing serious imaging anywhere other than Adobe, but, I needed to do something other than imaging for a while.“

Check out the article and pictures on the PhotoshopNews.com - Mark Hamburg’s Going Away Party

posted @ 4:55 PM

Thursday, May 01, 2008 #

Microsoft Expression Studio 2 Released

Microsoft Expression 2 StudioMicrosoft released Expression Studio 2 today, which is a combination of

  • Expression Web 2
  • Expression Blend 2
  • Expression Design 2
  • Expression Media 2
  • Expression Encoder 2

Some of the features as mentioned on the features page, include:

  • "Design for Windows and the Web - Use a full range of new professional design tools to bring your creativity to the world of the .NET framework and Silverlight. Design the next generation of user interfaces for Windows and the Web.
    Designer Developer workflow Combine Expression Studio for designers with Visual Studio for developers for a powerfully integrated solution for designing and coding innovative applications.
  • Design for Silverlight 1.0 - Expression Studio 2 is the essential design resource for Microsoft's newest web technology Silverlight 1.0 - use a combination of Expression Blend 2 and Design 2 to create your Silverlight application and Expression Web 2 to integrate it into your website.
  • Standards Based design with Expression Web 2 - Design for today's web standards with Expression Web 2, built to translate your visual layouts into fully compliant pages using your choice of versions of XHTML, CSS, XML and XSLT.
  • Harness the power of ASP.NET and PHP with Expression Web 2 - Expression Web 2 is the first web design tool to offer deep support for both ASP.NET 3.5 and PHP which allows designers to collaborate with developers on web projects to make compelling sites.
  • Design UX with Expression Blend 2 - Collaborate with developers to produce applications with great user experience that both look great and function well. Design application skins with interactivity and animation without needing to type a line of code.
  • Design for XAML - Design graphic elements for Blend and Silverlight and export them in XAML format to retain absolute fidelity through the life of the project. Have confidence that your design lives on.
  • Create Artwork with Expression Design 2 - Create artwork for your desktop and web applications using an exciting drawing tool then either export as XAML or slice your images for the Web.
  • Manage your design assets with Expression Media 2 - Keep track of your graphic and video files using Expression Media, a team asset management tool that lets you sort, keyword and find them with unsurpassed ease.
  • Encode Video for Silverlight with Expression Encoder 2 - Prepare your files for delivery with Silverlight using the Expression Encoder to crop and add markers enabling your websites to interact with your video content."

I am going to install this latest version over the weekend and see if Expression Design and Expression Web are a little bit better than the previous versions. Personally, I think Dreamweaver and Fireworks are better, but I need to do a little bit more investigation on these new versions before I make up my mind.

You can learn more here.

 

posted @ 11:09 PM

SQL Server 2008 Management Studio Gets T-SQL Intellisense

SQL Prompt from Red Gate has been absolutely indispensible in my day-to-day database development for its intellisense features when it comes to creating queries, stored procedures, etc. Having SQL Prompt and other Red Gate Tools, like SQL Refactor, is critical for doing real database work. I can't imagine not having code completion / intellisense as well as code formatting that I get from SQL Prompt. For those of you not getting the benefit of intellisense in SQL Server 2005 Management Studio, you will be happy to know that SQL Server 2008 Management Studio will have intellisense!!

Just like Visual Studio, as you are entering T-SQL into SQL Server Management Studio it will provide intelligent code completion - automatically filling out proper syntax and keywords, database objects, and variables. I am sure this will excite quite a few developers. Heck, I am excited for everyone and I have been enjoying intellisense for quite some time with Red Gate's SQL Prompt :)

posted @ 10:45 PM

Wednesday, April 30, 2008 #

Composite ASP.NET MVC Applications WCSF, SCSF, and Prism Style

I put together a wholesale e-commerce site for a client using the ASP.NET MVC Framework instead of the usual ASP.NET Webforms. If using ASP.NET webforms, I probably would have used the Web Client Software Factory because the website itself is a classic composite web application. Daring to be bold, however, this website was also a perfect candidate for the ASP.NET MVC Framework and I really like the simplicity of MVC and the ability to create your own ControllerFactory and then use your favorite IoC Tool to inject dependencies into those controllers.

 

ModuleInitializers

Like the WCSF, I use the concepts of Business Modules and ModuleInitializers:

 

public interface IModuleInitializer
{
    void Init();
    void Load(IContainer container, RouteCollection routes);
}

 

Each module has the ability to register its controllers and services into the module container as well as add routes. You might do the following:

 

public EcommerceModule : IModuleInitializer
{
    public void Init() {}
    
    public void Load(IContainer container, RouteCollection routes)
    {
        container.Register<IProductCatalog,ProductCatalog>();
        container.RegisterController<ProductsController>("Products");
        
        // Add Any Routes...
    }
}

 

If you are interested in understanding ModuleInitializers from a WCSF point-of-view, you can check out the following screencast:

 

 

Hierarchy of IoC Containers

Just like in the WCSF, there is a root IoC Container that essentially contains global services and then each business module has its own IoC Container, which is a child container of the root container. Therefore as shown above, the EcommerceModule has its own IoC Container that gets passed in for controller and service registration. It is that IoC Container that is used in the Custom Controller Factory to inject dependencies into the ProductsController. Of course any dependencies that are not fulfilled by the module IoC Container will try to be fulfilled by the root IoC Container.

As it so happens I am using Unity from Microsoft Patterns & Practices in the background, but I could easily replace it with Windsor or Spring at the drop of a hat ( it is pluggable ). You can read more about Unity Hierarchy here:

 

Unity IoC

 

If you are interested in using Unity in the ASP.NET MVC Framework, you can check out these screencasts:

I will note that the way I show creating controllers and injecting their dependencies in the screencast is not the same way I do it with my Composite ASP.NET MVC “Framework”. When you are getting into registering controllers in separate modules and a hierarchy of IoC Containers you have to do things a bit differently :) That being said, most ASP.NET MVC Framework Applications can use Unity as mentioned in the screencasts.

 

Check out SCSF, Prism and Caliburn Examples - Similar Techniques

I haven't looked at the Fourth Drop of Prism yet, but previous examples showed off good use of Unity for composite WPF Applications. I also found out about Caliburn - An MVP Framework for WPF Composite Applications that apparently shows off composite WPF Guidance. And, of course, you can always look at the newly released SCSF for Visual Studio 2008.

A lot of really nice inspiration for developing your composite applications, whether they be smart clients, ASP.NET Webform, ASP.NET MVC, or WPF.

posted @ 10:38 PM

Apple iWork '08 Keynotes for Presentations - Simply Stunning

KeynotesI get a call on Monday afternoon from a new client to do a couple of presentations on Tuesday on the Web Client Software Factory and Unity from Microsoft Patterns & Practices. No big deal technically as I have given many presentations on those subjects. The question going through my mind is do I want to do this on the new MacBook Pro which is untested for presentations or do I want to go back to the old reliable, but slow Dell XPS laptop? Hmmm...

A smarter person would have opted for the Dell, but I decided to go boldly with the MacBook Pro :) I then decided to go one further. How about I use iWork Keynotes instead of Microsoft Powerpoint? I forsee myself running vmware Fusion in Unity Mode with Visual Studio 2008 and Keynotes running together flawlessly on the desktop. Of course, I also didn't no squat about Keynotes and already had some perfectly good Powerpoint Presentations on WCSF and Unity done.

Again, a smarter person would have stayed with Powerpoint, but I am a sucker for a little challenge, so I fired up Keynotes and started to move a lot of the content I had in Powerpoint to Keynotes by hand. While doing this, a few things struck me:

  • Keynotes is incredibly simple to use. Without reading the help file, I was instantly productive.
  • Keynotes creates gorgeous presentations. Using the stock templates and settings created a nice set of presentations.
  • Creating transitions, build ins, build outs, and actions was easy enough for anyone to create more animated presentations.

Keynotes actually made putting together a presentation enjoyable! I always hated using Powerpoint. Always. I am not sure what is different, but Keynotes just made it fun. Maybe it is because the interface is simple and more intutive to use. Maybe it is because the templates, assets, and tools just deliver nicer results more easily. Maybe it is because I just feel a bit more creative now that I have a Mac. I don't have a clue, but what I can tell you is that for the first time I felt really proud of my presentation slides. There weren't a lot of slides as no developer, especially myself, wants to be in Keynotes when he can be playing in Visual Studio. However, those slides that were there looked really, really good if I do say myself.

If you do a decent amount of presentations and have a Mac, I recommend checking out Keynotes if you haven't already. From now on when you see me at a presentation, it will be the MacBook Pro and Keynotes all the way baby :)

Related Posts

posted @ 6:55 PM

Monday, April 28, 2008 #

New iMac from Apple - Now up to 3.06 Ghz - New Intel Chipsets

iMacApple released a new iMac today based on the new chipsets coming out of Intel. If you can wait on your purchase of a new laptop or computer, I would wait for these new chipsets as they are faster than the previous generation that are in my MacBook Pro. I think the new MacBook Pro comes out in June. No way I would have lasted until then :)

“Just when you thought iMac had everything, now there’s even more. More powerful Intel Core 2 Duo processors. And more memory standard. Combine this with Mac OS X Leopard and iLife ’08, and it’s more all-in-one than ever. iMac packs amazing performance into a stunningly slim space.”  “The latest Intel Core 2 Duo processors run at speeds up to 3.06GHz with advanced 45-nm process technology and 6MB of shared L2 cache. Translation: iMac runs your applications faster and more efficiently than ever before.”

Learn more.

 

Recent Posts on Apple

posted @ 11:27 AM

Smart Client Software Factory for VS 2008 Released

Patterns & PracticesIf you are interested in the Smart Client Software Factory, Microsoft Patterns & Practices just released a new version that supports Visual Studio 2008 and includes a few bug fixes. You can download the guidance package, source code, and documentation:

You can also grab a copy of the newly released Smart Client Software Factory ( SCSF ) Contrib Project that was released as well:

The SCSF Contrib project was updated to support Visual Studio 2008 as well.

The new versions require the Guidance Automation Extensions ( GAX ) 1.4:

 

Hope this helps.

Dave

 

Patterns & Practices Tutorials

posted @ 11:07 AM

NHibernate and Castle ActiveRecord Tutorial for the Uninitiated

Speaking of O/R Mappers, if you are into the ActiveRecord Design Pattern and want to use an O/R Mapper that uses the ActiveRecord Pattern, don't forget about Castle ActiveRecord:

”The Castle ActiveRecord project is an implementation of the ActiveRecord pattern for .NET. The ActiveRecord pattern consists on instance properties representing a record in the database, instance methods acting on that specific record and static methods acting on all records. Castle ActiveRecord is built on top of NHibernate, but its attribute-based mapping free the developer of writing XML for database-to-object mapping, which is needed when using NHibernate directly.”

I have talked about ActiveRecord and Castle ActiveRecord quite a bit in the past:

If you are interested in Castle ActiveRecord, The NHibernate FAQ has a new tutorial here on getting started with Castle ActiveRecord.

posted @ 9:24 AM

Retina.net O/R Mapper for the .NET Framework - Data Access Layer Generation

I played with Retina.net quite a bit when I first started looking at O/R Mappers to help generate a data access layer for my ASP.NET and Winform applications.

It showed a lot of promise, but eventually got placed on the back burner by the main developer as so many of our personal projects do as other opportunities and project work comes about. Andres moved the Retina.net O/R Mapper to CodePlex and is now finishing the .NET 2.0 Framework Version. He mentions it being released in about 3 weeks. As far as why you might want to use Retina.net over other O/R Mappers, Andres points out the following benefits and features:

"Just to name a few [interesting capabilities]: support to all kinds of relationships (composition, aggregation), support for all kinds of relationship multiplicity (1-1, 1-n, n-m), support for all three types of inheritance mapping, supports all major database engines, supports all kinds of primary keys (autogenerated in the db, compound, etc), supports a RQL (Retina Query Language) and Criteria objects for queries, supports lazy loading of child collections and entities (using dynamic proxies), paging and sorting in results, support for stored procedures, very easy to use with no complex XML config files, and many more.

Some unique, or first seen in, Retina.NET features:
- Supports the creation of entity "triggers" and "constraints".
- Extensible data type system.
- Support for data binding (including navegability of child entities and collections).
- Support for autogenerated edit forms (Web or WinForms).
- Very easy to implement a new database support."

Even though I know LINQ To SQL is out and the ADO.NET Entity Framework will soon be available, you may want to peek at Retina.net for your O/R Mapping needs.

Check it out on CodePlex.

posted @ 8:54 AM

Wednesday, April 23, 2008 #

Windows XP SP3 Released to MSDN Subscribers - Soon the World!

I have not made the move to Windows Vista, so I sure do appreciate Windows XP SP3 to avoid the 80 to 90 Security Updates one needs to install after installing Windows XP SP2.

Windows XP Service Pack 3 (SP3) includes all previously released updates for the operating system. This update also includes a small number of new functionalities, which do not significantly change customers' experience with the operating system. This white paper summarizes what is new in Windows XP SP3.

You can check out the white paper with a summary of the changes in Windows XP SP3 here.

You can learn more about how to grab Windows XP SP3 if you are an MSDN Subscriber here.

Hope this helps.

Dave

posted @ 8:57 PM

Apple Reports Record Second Quarter Results

MacBook Pro Visual Studio 2008"Apple today posted revenue of $7.51 billion and a net quarterly profit of $1.05 billion, or $1.16 per diluted share, for its fiscal 2008 second quarter, which ended March 29. “We’re delighted to report 43 percent revenue growth and the strongest March quarter revenue and earnings in Apple’s history,” said Steve Jobs. During the quarter, Apple shipped 2,289,000 Mac computers (representing 51 percent unit growth and 54 percent revenue growth over the year-ago quarter), sold 10,644,000 iPods, and reported quarterly iPhone sales of 1,703,000."

Yeah, I really dig the MacBook Pro :) And although I think the Airport Extreme may be a bit overpriced, I dig it, too!

Learn more.

 

posted @ 7:54 PM

Airport Extreme from Apple is Pricey But Works Well and Easy to Set-Up

There definitely has to be something said about the higher prices Apple charges for their computers, laptops, and other hardware. I just bought the Airport Extreme Base Station ( Wireless Network Router ) to replace my 4 year old Netgear router which was still plugging along, but sadly lagging behind the new standards that increase the throughput and security of a wireless network. Although there are plenty of well-performing, secure, and respected network routers on the market for 1/3 the price, I went ahead and bought the Airport Extreme just to complement the MacBook Pro I recently purchased for Visual Studio 2008 Development.

It was more of a curiosity thing, really. I wanted to see just how easy and plug-n-play the Airport Extreme was and whether my other laptops and PCs could connect to it effortlessly. I was also curious about the ability to attach a printer and/or external hard-drive to the back of the Airport Extreme and share them as well.

 

Airport Extreme

 

Installing and Configuring AirPort Extreme

Let's just say that it was easy to install and configure as advertised, which it better be for $180 :) Seriously, despite some of the reviews you read where people had problems with it ( which is either user error or a defective unit ), it is embarassingly easy to install and configure the AirPort Extreme. I did the following

  1. Installed the Aiport Utility on my MacBook Pro and got it up and running.
  2. Connected the old Western Digital External Hard-Drive to the back of the Airport Extreme
  3. Connected the Aiport Extreme to the Cable Modem
  4. Turned on the Airport Extreme and waited for it to finish initializing
  5. Connected to the Airport Extreme via the Airport Utility on the MacBook Pro
  6. Plugged in some passwords and pretty much accepted the network configuration defaults
  7. Saved the configuration

The only extra thing I had to do because the cable modem did not like me removing the old router and connecting a new one is unplug the power to the cable modem and re-connect it as a way of resetting it. As soon as I did that, the Airport Extreme went solid green and away we go!

As far as other laptops connecting to it wirelessly, they worked flawlessly without installing any software.

 

Sharing External Hard-Drive and Printer

There is a USB Connection on the back of the Airport Extreme that you can either connect a printer or external hard-drive to, or via a USB Hub, apparently connect both at the same time. This works as well with no effort. I don't have a USB Hub to attach both an external hard-drive and printer at the same time to the back of the AirPort Extreme, but I have tried them individually and got it to work flawlessly from the MacBook Pro.

I haven't tried sharing them from the other PC laptops yet as they are going through a reformatting as we speak. I will probably try it tonight or tomorrow.

 

Conclusion

Unless you are big on Apple Products, curious as I was, or could really put to use the printer and hard-drive sharing via the external USB connection on the back of the AirPort Extreme, you can definitely save a few bucks and get a good quality wireless network router for less money. That being said, it was pretty dang easy to get up and running.

 

Recent MacBook Posts

 

Hope this helps.

Dave

posted @ 5:01 PM

ReSharper vs. CodeRush and Refactor! Pro Is Always an Interesting Discussion

Unlike a number of developers that tend to be very religious about the tools and technologies they use, I keep an open mind. I have been a huge fan of ReSharper for some time and enjoy the code analysis, unit test runner, deep refactorings, and the code generation via templates. I have actually been using ReSharper more than most, having used them since ReSharper 1.0 when most people complained about their slowness, which was prior to them introducing better caching which I believe happened back in ReSharper 1.1.

However, as you know, I am also a big fan of CodeRush and Refactor! Pro. Their UI is much better than ReSharper and their code generation through templates is much better. Period. Their refactorings and code analysis are not as good as ReSharper, however, and those were too important to me to make the complete switch to CodeRush and Refactor! Pro. However, this didn't stop me from using them in my test environment, where I enjoyed using them daily.

However, with ReSharper 4.0 we have hit a snag. JetBrains may have miscalculated the amount of effort to support Visual Studio 2008 and the new language features, because several months after the release of Visual Studio 2008 we still do not have a beta let alone production version of ReSharper 4.0. The brave have been using the EAP's, but JetBrains has never been good about releasing stable pre-release software in my opinion, and numerous comments about their EAP's in the community tend to support my thoughts.

While presenting and attending the Orlando Code Camp, I got the opportunity to catch-up with Mark Miller from Developer Express. [ By the way, much thanks to Developer Express for sending Mark out our way and your continued support of the Florida .NET Developer Community. ] While talking with Mark, I mentioned how impressed I was at how quickly Developer Express supports new version of Visual Studio and Language Features, and how once they catch up ( or get close ) with JetBrains on Code Analysis, I will probably completely make the switch to Code Rush and Refactor! Pro. That is unless ReSharper surprises me with something, of course :)

Given that we saw a little bit of Code Analysis ( tease actually ) from Developer Express in previous versions, my only guess is that this is their focus right now. If in the next couple of months they sneak in a new release of CodeRush and Refactor! Pro that is stable, performs well, and has a decent set of code analysis features before ReSharper 4.0 comes out, I think this will send a huge shockwave through the .NET Developer Community. I think even some of the Alt.net community, who tend to be a little less open-minded about looking at other tools and technologies than they admit, may have to give Developer Express a little look. You may want to head for solid ground when that day comes :)

However, that being said, Developer Express has been a little slow to get a new release of CodeRush and Refactor! Pro out the door as well. Their last public release has been something like 3.0.5 or similar back in Dec 2007. I know they have a few newer builds internally that they have shared with some developers, but I think it is due time to get a new release out the door. I am sure they are working on it and hope they are close, but I have been personally waiting for the next release to install in my development environment perhaps as I am just using Visual Studio 2008 in production with the help of no add-ins. This is quite a painful experience.

In conclusion, I am curious as to who will release a new version first, the upcoming Code Analysis features that will be released from Developer Express, and the reaction of the .NET Developer Community. The Hot Buttered Popcorn is waiting :) Either way, I want to thank both Developer Express and JetBrains on their tools. They make Visual Studio usable and continue to improve my code and productivity.

posted @ 1:12 PM

ASP.NET Dynamic Data Routing and Registering the LINQ To SQL DataContext Model

A couple of other interesting changes to the ASP.NET Dynamic Data Websites Framework found in the latest Dynamic Data Preview on Code Gallery that differs from the previous drop that I presentated to the Sarasota .NET Developer Group.

 

Registering the LINQ To SQL DataContext as the Model

Previously in ASP.NET Dynamic Data Previews, the DataContext to be registered as the Data Model was either magically found via reflection ( if only one ) or registered im the web.config file. As you can guess, this was rather limiting as it did not give you the flexibility of specifying the DataContext programmatically at run-time. The good news is that they have now changed the way the DataContext in LINQ To SQL is registered, you now specifiy it programmatically at run-time.

Here is a bit of code showing the simple registration of the DataContext Class in the Global.asax file:

 

public static void RegisterRoutes(RouteCollection routes) {

    MetaModel model = new MetaModel();
    
    model.RegisterContext(typeof(NorthwindDataContext),
        new ContextConfiguration() { ScaffoldAllTables = true });
}

void Application_Start(object sender, EventArgs e) {
    RegisterRoutes(RouteTable.Routes);
}

 

Similar to the ASP.NET MVC Framework there is a RegisterRoutes Method that is called from Application_Start. By default, there is now code in the RegisterRoutes Method for specifying the LINQ To SQL DataContext to be used for the model as well as to set the ever important ScaffoldAllTables = true. Note that in the case of the code above, I added NorthwindDataContext as the type of DataContext.

Interesting enough, if you instead build your ASP.NET Dynamic Data Website using the new ASP.NET Dynamic Data Wizard Project Template, the registration of the model is a bit different, but logically the same:

 

public static void RegisterRoutes(RouteCollection routes) {
    MetaModel model = new MetaModel();
    
    Register_NorthwindDataContext(model);
}

private static void
Register_NorthwindDataContext(MetaModel model) { ContextConfiguration config = new ContextConfiguration(); config.ScaffoldAllTables = true; model.RegisterContext(typeof(NorthwindDataContext), config); } void Application_Start(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); }

 

 

Routing via System.Web.Routing

Speaking of routing as mentioned above, there is an obvious similarity in routing between the ASP.NET Dynamic Data Framework and MVC Framework, since both use the new System.Web.Routing Assembly to handle routing. The new routing mechanism as compared to ASP.NET Webforms will probably take a bit getting use to as the path to your pages is no longer physical, but completely logical.

Here is a bit of code from the Global.asax file in a ASP.NET Dynamic Data Website associated with routing:

 

public static void RegisterRoutes(RouteCollection routes) {

    routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {
        Action = PageAction.List,
        ViewName = "ListDetails",
        Model = model
    });

    routes.Add(new DynamicDataRoute("{table}/ListDetails.aspx") {
        Action = PageAction.Details,
        ViewName = "ListDetails",
        Model = model
    });
    
}

void Application_Start(object sender, EventArgs e) {
    RegisterRoutes(RouteTable.Routes);
}

 

In this case model is the MetaModel instance we specified above as being the LINQ To SQL DataContext class called NorthwindDataContext. I could be wrong, but I don't believe routing has changed from previous versions of ASP.NET Dynamic Data. I just thought it was worth mentioning for those of you not using the ASP.NET MVC Framework that this new System.Web.Routing Assembly is shared between Dynamic Data and the MVC Framework, giving you much more flexibility in the routing scheme you use in your web applications.

 

Conclusion

So now when you want to set the LINQ To SQL DataContext Class as your data model and enable scaffolding of all tables do not look in the web.config. Instead, check the global.asax file.

 

Hope this helps.

Dave

 

ASP.NET Dynamic Data Tutorials

 

posted @ 10:33 AM

Sunday, April 20, 2008 #

vmware Fusion Unity - Windows Apps Running Alongside Mac Applications on MacBook Pro

vmware Fusion UnityI feel like I have been living under a rock until now ever since I bought my MacBook Pro and vmware Fusion and have been running my Windows developer applications in a virtual environment. Now granted, my old Dell XPS gaming laptop was pretty old and nothing compares to the Core 2 Duo Processor that my MacBook Pro and other laptops are running now.

However, vmware Fusion is pretty freaking cool. One of the options it has is to run your Windows Applications in the virtual desktop in Unity Mode. In Unity, the virtual desktop goes away and your windows application run on the desktop appearing like native Mac applications. Hence I will have Visual Studio 2008, SQL Server 2005 Management Studio and other Windows Application appearing right next to my Mac Applications as if they were running natively on Leopard.

As I type this blog post in Windows Live Writer, the untrained eye would probably think it is a Mac Application since it is sitting right next to other Mac Application. However, it is being run in a virtual environment, and yet the look, feel, and performance wouldn't make you think so. I also have both Expression Web and Design running virtually and they run just like all my other Mac Applications. In fact, I actually have two virtual environments running simultaneously. The development tools are being run from the development virtual environment and the blogging is being done from the test envirornment, but you can't tell the difference. They all flow together as if running on the same Mac OS and there isn't a virtual desktop in sight.

I am still getting used to the environment, the keyboard differences, layout, etc., but all I can say is that it is fun. It is cool to get this new perspective. It is neat to have choices between running applications in Windows and Leopard on the same PC. It is amazing to see how well vmware Fusion brings it all together. For the first time, I feel that virtualization is doable and, in fact, I am depending on it for my day-to-day development.

So far... so good! I hope it stays that way :)

posted @ 4:36 PM

JetBrains TeamCity Doesn't Support SourceGear Vault ?

I thought I would mix things up a bit and switch back from Subversion to Vault and use TeamCity as opposed to CruiseControl.net, but apparently TeamCity does not support SourceGear Vault. I thought Vault was fairly popular in the .NET Developer Community to warrant inclusion as a Version Control System, but apparently that is not the case. I can't complain since I am using the free single user license of Vault and wanted to use the free professional version of TeamCity, but it sure is disappointing.

It was kind of a wild ride to get everything working together the other day. I first installed SourceGear Vault on my server with no problems ( or so I thought ). I then thought I would try out FinalBuilder Server, which comes with one free license if you own FinalBuilder. FinalBuilder Server was easy enough to set-up, but it kept giving me an error when it tried to connect to Vault. The error coming from FinalBuilder Server was not clear to me at the time, so I assumed it was a problem with FinalBuilder Server and removed it accordingly.

I then went to download JetBrains TeamCity to give it a try only to look at the Feature Matrix and see that Vault is not supported. Ugh.

This, of course, leaves me no choice but to go back to CruiseControl.net, which I have used in the past successfully. When I tried to connect to SourceGear Vault from the CruiseControl.net Windows Service I started getting authentication errors similar to what I received from FinalBuilder. Turns out I needed to uninstall and re-install the Vault Server and make a few changes to affect authentication, which cleared up the problem with CruiseControl.net, and of course, was the reason why FinalBuilder Server was having issues as well. Didn't feel like re-installing FinalBuilder Server at that point, so maybe I will try it another time.

When all is said and done, I am now running Vault and CruiseControl.net and all is fine, but I sure wanted to move to TeamCity, too.

Which reminds me, if you are looking for source control, build tools, and continuous integration for free, you have a lot of great free tools out there.

My original configuration was Subversion, FinalBuilder, and CruiseControl.net.

For kicks I thought I would change things up a bit and run Vault, FinalBuilder, and TeamCity. However, since TeamCity does not support Vault, I am now running Vault, FinalBuilder, and CruiseControl.net.

Both Vault and Subversion are pretty easy to use. NAnt is okay, but I prefer FinalBuilder's GUI interface for creating build files. If you choose Subversion for source control, I recommend trying JetBrains TeamCity as opposed to CruiseControl.net. TeamCity has more bells and whistles integrated into the system which will allow you to get up and running quickly.

If you are into testing, you may want to try XUnit.net, which is new and has integration into the ASP.NET MVC Framework as well as ReSharper. NCover will go nicely with the package as well.

A lot of cool things to play with. They can be distracting at first, but once you learn them they will make your life a heck of a lot easier.

More .NET Developer Tools.

posted @ 12:15 PM

My Links

Post Categories