Skip to content
Archive of posts filed under the Community category.

VS Live 2012 Las Vegas

I will be speaking at VS Live in Las Vegas in March 2012.

Visual Studio Live is five days of practical, Microsoft-supported training for developers to help solve your tough .NET development challenges. You’ll find how-to advice and the tips and tricks that you’ll be ready to implement as soon as you get back to the office. Our expert faculty – including many Microsoft instructors – makes each session interactive so you can discuss your particular development roadblocks and come away with actionable solutions.

Visual Studio Live Las Vegas offers in-depth training in:

  • Cloud Computing
  • Cross Platform Mobile
  • Data Management
  • HTML5
  • Silverlight / WPF
  • Visual Studio 2010+/.NET 4+
  • Web
  • Windows 8/WinRT
  • Windows Phone 7

Visual Studio Live Las Vegas – Expert Solutions for .NET Developers

You can keep up with a conference using one of the following

Twitter: http://twitter.com/vslive – #vslive
Facebook: http://www.facebook.com – Search “vslive”
LinkedIn: http://www.linkedin.com – - JOIN “vslive” GROUP

Attendees who register for Visual Studio Live Las Vegas using priority code VLSPK2 will receive all-access Best Value Conference Package for just $1,595, a savings of $500.00 off the standard price of $2,095

I will be presenting on two topics

Entity Framework Code First – Beyond the Basics

This session will cover scenarios beyond the basics. Topics such as creation of object hierarchies and complex types will be discussed. Performance tips will be covered as well as usage scenarios in services. Techniques to handle schema changes will be discussed. High level overview of how to handle various RDBMS with Entity Framework will be part of the conversation.

Building Data Driven Applications Using WinRT and XAML

This session will help attendees understand data access techniques in WinRT. The talk will highlight various ways to persists the data locally and via services. Topics will include data binding implications in regard with data usages, asynchronous access to data, and binding to various XAML controls.

Post to Twitter

Reflections on Past Year

I got a notification today that my Microsoft MVP status has been extended for one more year.  This is a great news for me, and makes me feel even more proud of the work I do in the community.  I have always loved participating in the local Microsoft focused user groups and gatherings.  I enjoy hanging around my peers and learning from them, exchanging honest opinions, and presenting on occasion.  I believe that sharing knowledge is vital for any developer to stay current with technology, and I think this equally applies to attending events, presenting and volunteering alike.  Atlanta has a vibrant Microsoft focused developer communing, and there is always something going to match any programming interest.

I think working for Magenic Technologies has been instrumental in keeping me involved and learning.  Magenic as a company highly encourages its employees to be learners and teachers, awarding and encouraging everyone who participates in community events.

I see blogging as an activity that serves multiple purposes as well.  I blog mostly about topics that interest me, and as part of writing I also learn various aspects of Microsoft developed technologies.  The fact that some people find my writings useful just motivates me even more.  Here are the visitor stats on my blog since I moved it here after purchasing DotNetSpeak.com.

image

Thanks and Happy New Year.

Post to Twitter

VS Live Orlando 2011

As I mentioned before, I presented at VS Live conference in Orlando, FL Thursday, 12/08/2011. I presented the following two talks

Working with Data on Windows Phone 7
I will talk about various approaches to work with data on Windows Phone 7. I will cover all major concepts, such as local storage, OData/WCF Data Services and custom WCF services. I will demonstrate how to retrieve data and save changes locally or to a remove web server. I will build demos for all technologies step-by-step.

You will learn:
• About options to persist the data on Windows Phone 7
• About pros and cons of each technologies
• Knowledge to build a Windows Phone application that publishes and/or consumes data

You can download the materials for this presentation here.

Using Code First (Code Only) Approach with Entity Framework
Session will include high level overview of Entity Framework and how various approaches to use it fit into application development lifecycle. Then I will build POCO classes that entity framework can use to create database as well as perform CRUD operations against the database. Various attributes that are included out of the box will be covered. This will include columns constraints, relationships, etc. I will show you how ASP.ENT MVC 3 can utilize entity framework code first metadata to build automatic validation of user input.
You will learn:
• How to build data access layer with Entity Framework Code First
• About validation approaches using POCO classes
• Fluent API and attribute based configuration option

You can download the materials for this presentation here.  I spent a lot of time answering questions, which I really enjoy, so I ran a bit short on time covering MVC.  On a positive note, you can still see the project in the download zip file.

Feel free to ask any questions related to the presentations in the comments or email me directly.  You can find my email address on Contact Me page on this blog.

Post to Twitter

VS Live Orlando

I will be speaking at VS Live conference in Orlando, FL on 12/08/2011. I will be presenting the following two talks.

Working with Data on Windows Phone 7
I will talk about various approaches to work with data on Windows Phone 7. I will cover all major concepts, such as local storage, OData/WCF Data Services and custom WCF services. I will demonstrate how to retrieve data and save changes locally or to a remove web server. I will build demos for all technologies step-by-step.

You will learn:
• About options to persist the data on Windows Phone 7
• About pros and cons of each technologies
• Knowledge to build a Windows Phone application that publishes and/or consumes data

You can download the materials for this presentation here.

Using Code First (Code Only) Approach with Entity Framework
Session will include high level overview of Entity Framework and how various approaches to use it fit into application development lifecycle. Then I will build POCO classes that entity framework can use to create database as well as perform CRUD operations against the database. Various attributes that are included out of the box will be covered. This will include columns constraints, relationships, etc. I will show you how ASP.ENT MVC 3 can utilize entity framework code first metadata to build automatic validation of user input.

You will learn:
• How to build data access layer with Entity Framework Code First
• About validation approaches using POCO classes
• Fluent API and attribute based configuration option

I hope to see you there. 

Thanks.

Post to Twitter

Code Mastery Event

I participated in Code Mastery event yesterday.  The event was put on by my company Magenic as an all day free community training event.  It was all about CSLA.  The author if this widely used framework, Rocky Lhotka himself was in attendance.  He presented on two topics.  Yours truly spoke on CSLA and XAML technologies.  I talked about advantages on CSLA in XAML world, and documented big code savings that CSLA brings to the table.  I am planning to upload my project to CSLA web site in the next few days, as there have been some requests to show how to use CSLA in conjunction with Prism to build Silverlight or WPF applications.  I will blog once that happens, and you should be able to take advantage of that sample.  The sample is using an extensive technology stack, including Entity Framework Code First, CSLA, Prism for Silverlight, SQL Server.  You can download PowerPoint presentation here.

Thank you.

Here is the full agenda of the event.

1. CSLA .NET intro – Rocky Lhotka

Topic will give attendees a high level overview of CSLA as an application framework. Key moving parts of CSLA will be covered, along with answering the most important question: Why use CSLA? Roles of business objects, data portal, rules, authentication and authorization will be covered in principal.

2. Business object design – Eric Blackwell

Session will concentrate of best practices for designing business objects. Single responsibility principal and maintainability will be covered in light of using CSLA. Key aspects of good CSLA business layer will be covered in detail, including properties, rules, data portal, data access, business method and validation. Particular attention will be paid to structuring classes and relationship between classes. Designing based on use cases will be an important aspect of the session.

3. Business, validation, and authorization rules – Tim Price-Williams

This session will be a deep dive into the world or rules. Topics such as validation rules, user authentication and authorization will be covered. Distinction between validation and business rules be drawn. Important key scenarios will be covered, such as synchronous and asynchronous rules, client / server rules, object creation and save scenario from rules perspective. Custom and built-in rules be covered in detail. A pattern for typical business rule/methods will be illuminated.

4. Data portal and n-tier architecture – Rocky Lhotka

This topic will cover in details all possibilities that CSLA provides when abstracting communication channels between client and server components. Difference between local and remote data portal will be discussed. Various configuration patterns will be highlighted along with usage scenarios for each one. Multi-tier deployment as it relates to data portals will be covered, as well as using external data sources instead of CSLA data portal in client only scenarios.

5. Data access – Travis Brown

This session is all about data access technologies and how they relate to CSLA data portal access. The topic will include patterns for abstracting data access for business objects to promote maintainability. Discussion of Microsoft technologies for data access will take place as well.

6. XAML and MVVM – Sergey Barskiy

This session will concentrate on using CSLA as business layer in XAML based user interfaces. Taking Silverlight as an example, session will highlight how CSLA base classes can be used to facilitate communication between UI and business objects. Adaptability of CSLA business layer to seamlessly alter user interface based on rules be will covered. Patterns for wiring business objects for Silverlight environment will be part of the discussion.

7. ASP.NET MVC – Mitch Gordon

This session will concentrate on using CSLA as business layer in ASP.NET MVC based user interfaces. The discussion will include CSLA provided base classes that will allow developers write less code. The session will illuminate patters for maintaining authentication and authorization rules between server calls. Patterns for adapting UI based on user rights will be discussed.

Update 10/12/2011

Rocky wrote a blog post about the event that includes a link to a downloadable file with all the material enclosed.  You can find the blog post here.

Post to Twitter

Code Mastery Event

I am going participate in Code Mastery event that Magenic is sponsoring next week, on October 8th.  Code Mastery is a series of community events that my company puts out to help developers learn more about various programming topics.  The upcoming event in Atlanta is dedicated to CSLA.NETRocky Lhotka, author of CSLA will be coming to Atlanta to speak at the event.

You can register for Code Mastery here.

Our agenda consists of the following topics.

Sessions:

1. CSLA .NET intro – Rocky Lhotka

Topic will give attendees a high level overview of CSLA as an application framework. Key moving parts of CSLA will be covered, along with answering the most important question: Why use CSLA? Roles of business objects, data portal, rules, authentication and authorization will be covered in principal.

2. Business object design – Eric Blackwell

Session will concentrate of best practices for designing business objects. Single responsibility principal and maintainability will be covered in light of using CSLA. Key aspects of good CSLA business layer will be covered in detail, including properties, rules, data portal, data access, business method and validation. Particular attention will be paid to structuring classes and relationship between classes. Designing based on use cases will be an important aspect of the session.

3. Business, validation, and authorization rules – Tim Price-Williams

This session will be a deep dive into the world or rules. Topics such as validation rules, user authentication and authorization will be covered. Distinction between validation and business rules be drawn. Important key scenarios will be covered, such as synchronous and asynchronous rules, client / server rules, object creation and save scenario from rules perspective. Custom and built-in rules be covered in detail. A pattern for typical business rule/methods will be illuminated.

4. Data portal and n-tier architecture – Rocky Lhotka

This topic will cover in details all possibilities that CSLA provides when abstracting communication channels between client and server components. Difference between local and remote data portal will be discussed. Various configuration patterns will be highlighted along with usage scenarios for each one. Multi-tier deployment as it relates to data portals will be covered, as well as using external data sources instead of CSLA data portal in client only scenarios.

5. Data access – Travis Brown

This session is all about data access technologies and how they relate to CSLA data portal access. The topic will include patterns for abstracting data access for business objects to promote maintainability. Discussion of Microsoft technologies for data access will take place as well.

6. XAML and MVVM – Sergey Barskiy

This session will concentrate on using CSLA as business layer in XAML based user interfaces. Taking Silverlight as an example, session will highlight how CSLA base classes can be used to facilitate communication between UI and business objects. Adaptability of CSLA business layer to seamlessly alter user interface based on rules be will covered. Patterns for wiring business objects for Silverlight environment will be part of the discussion.

7. ASP.NET MVC – Mitch Gordon

This session will concentrate on using CSLA as business layer in ASP.NET MVC based user interfaces. The discussion will include CSLA provided base classes that will allow developers write less code. The session will illuminate patters for maintaining authentication and authorization rules between server calls. Patterns for adapting UI based on user rights will be discussed.

 

I hope to see you there.

Post to Twitter

What I learned at the Build Conference

I returned from Build conference Friday night.  It was a really exciting conference in my opinion with a lot of new ideas revealed.  Microsoft had kept a very tight lid on upcoming changes for many months, and none really knew what was going to be announced at the event.  There were a number of speculations, but nothing concrete showed up on the internet.  The only exception was a 5 minute video that was put out by Microsoft a few months back, giving viewers a glimpse of the new operating system, Windows 8.  In retrospect, I cannot disagree with Microsoft decision, as the changes that were announced are designed to differentiate Microsoft as an operating system provider, thus giving revealing the information prematurely would lessen a competitive advantage over rivals.

So, what was unveiled at the conference?  Microsoft demonstrated in a significant level of details its new operating system, Windows 8.  At the high level, its user interface carries over the investments Microsoft has made in the area of design for Windows Phone 7.  Windows 8 conforms to Metro design principles.  The opening screen in Windows 8 is very similar to Windows Phone 7, consisting of a number of live tiles, grouped into a number of areas.  Those groups are user defined, and this was demonstrated as well.  User will be able to use gestures of course to control the appearance of the OS.  They will be able to zoom out of the detailed view, find a group they are looking for, and zoom back into that group.  Of course they will also be able to re-arrange any part of any group or groups themselves using similar gestures to the ones on the phone.  What about old look and feel you ask?  The new OS is built on top of Windows 7, and one can drop back to classical look and feel by clicking on Desktop tile. 

There are also a number of new features that exist in Windows 8.  One of them is “charms”.  Charms are located in the right hand area of the screen, and are typically hidden.  The user can bring them into view by swiping from right hand edge to toward the center of the screen.  Charms are common features to all the programs, such as printing, devices, networking, sharing, search, etc.  All software written for Windows 8 should incorporate these charms to provide seamless user experience.  Not only charms allow developers to integrate their applications deeply with Windows 8 OS, but also with each other.  There is a number of contracts in WinRT that one application can implement, that other applications can utilize.  For example, you can write a photo editor application, that implements search contract, and another application such as family tree can search photos and show them in its UI.  Pretty cool, hah?  Similar contracts also exist for devices such as printer.

Now let me talk about programming for Windows 8.  Developers will be able to use C#/VB.NET, C++ and JavaScript to write Windows 8 applications.  Sounds strange at the first sight doesn’t it?  Beforehand browser based application were not able to reach deeply into operating system.  This broad functionality is being enabled view new Windows runtime for writing applications, WinRT.  Unlike .NET, this new run time is built into Windows itself, and it not an additional layer on top of existing Windows functions, as it is the case with .NET.  As a result, WinRT will have better performance.  To ensure highly responsive applications, all the functionality in WinRT that is not instantaneous contains asynchronous methods.  This would include things such as file I/O, networking operations, such as internet client, etc.  I heard phrase “fast and fluid” to describe Windows 8 UI and applications dozens of times during the conference.  Of course, not everything is contained within WinRT, thus .NET is also an integral part of building applications for Win 8.  As a matter of fact, new version of Microsoft.NET, 4.5 will ship with Windows 8, and will be available as part of the operating system.  There is a difference however between traditional .NET and new Metro style applications.  When a developer builds Metro applications, only a subset of .NET is available to this person.  For example, file IO functionality is greatly limited in preference to new WinRT pickers.  These pickers such as open file or save file pickers replace traditional IO in favor of safer and asynchronous operations, where entire file system is not exposed to a Metro style application.  You get the idea right?  Metro apps run in a sandboxed environment.  So, if you want to build Metro apps, you will use .NET and WinRT, but your tooling will remain the same.  You will use Visual Studio v. next and your favorite language to build those applications.  What about UI, you ask?  You have options there as well.  If you opt for JavaScript as your language of choice, you build UI in HTML.  If you pick C#, VB.NET or C++, you will build UI for your applications in XAML.  No, not Silverlight or WPF, but XAML.  Your XAML skills transfer over, but namespaces you used will change.  There will also be some new controls, such as GridView and FlipView.  If you ever saw Windows Phone 7 applications, you understand that in order to enable Metro style UI and more importantly touch based UI, you need new set of controls, and Windows 8 is all about touch interfaces. 

A few words about legacy software.  Microsoft pledged that all the software that successfully ran on Windows 7 will run on Windows 8.  This would include platforms such as WinForms, WPF, Silverlight, HTML, etc.

There were a number of devices shown that will run Windows 8.  In addition to tablets, laptops and PCs, which all will incorporate traditional processors and likely solid state hard drives, there will be another class of lighter devices, running Windows 8 on RISC processors.  This is drastically different from Apple’s approach that uses different OS for tablets.  As a result, Microsoft tablets will be more functional, and will contains software such as Microsoft Office and other PC based applications. 

New version of Visual Studio, Expression Blend and Microsoft.NET will all ship to help developers build Metro style applications.  Visual Studio will contain templates for Metro apps, Expression Blend will enable UI design, but not just XAML.  Blend gets new set of functionality, enabling it to design HTML as well.  Cool new editing features found their way into Blend.  Because Blend actually runs your XAML and HTML, you actually see your applications running with data.  All changes you make will update either XAML, HTML or even CSS in your Visual Studio project.  Visual Studio got new XAML designer.  It appears that old designer code name Cider is gone, and is replace with Blend designer!!!  Yeah, it is about 4 times faster now.  Personally, I always hated Cider’s performance and hardly ever used XAML view in studio because of that.  Power tools for studio previously available on NuGet only, will be integrated into Studio directly when it ships.

Another huge news that will interest developers is new Windows 8 App Store.  If you create Metro style application, you will be able to sell it through new app store.  I can only guess that the model will be largely similar to Windows Phone 7 app store.  Potential market though is thousands of times larger.  According to Microsoft, Windows is being run on almost half a billion computers.  If you can imagine, one dollar app can make you a millionaire.  Not that this will happen to too many people, but the promise is certainly there.

Another software release was announced, and that is TFS in the cloud service from Microsoft.  Beta has been released, and attendees all got beta account free of charge. 

Live Services will be an integral part of Windows 8.  It looks like SkyDrive will enable many cool features, such as roaming profiles that will enable users to have exact same desktop on many computers.  Developers will be able to use that feature as well, roaming state of their software across multiple computers, for example making sure that users of a software have the same state of the software available on all machines.

 

In summary, here is are the most important points (IMHO).

  • Windows 8 is all about modern consumer experience.  This includes touch based Metro UI.
  • Developers carry all their existing skills over to Metro applications, including XAML, .NET languages, .NET Framework, HTML and JavaScript. 
  • NET is not dead Smile, it is integral part of Metro applications along with WinRT.
  • Developers get to utilize new WinRT, making applications faster and highly integrated with OS and each other.
  • New tools will be shipped to enable developers to create applications faster with a uniform look and feel.
  • Money making opportunity is there for all developers.

You can watch all the online content, including keynotes and sessions, from the conference on www.BuildWindows.com

Please let me know if you have any questions, I would like to kick off a discussion that would benefit all of us, including me.

Post to Twitter

VS Live Redmond

I am going to be speaking at VS Live conference in Redmond this year.  If you never attended this conference, I encourage everyone to do so.  You will have a week packed with sessions covering a variety of topics presented by top-notch developers.

As a speaker, I get a promotional code to give to anyone who registers before September 7.  You can use code VRSPK2 to get a ticket discount to the conference.  You can click on the link below to go straight to registration page with the discount code prefilled.

https://www.1105events.com/VisualStudioLive/2011Redmond/registration/reg_general_discount.php?priorityCode=vrspk2

I hope to see you there.

General Conference Information:

Visual Studio Live! Redmond

The Commons @ the Microsoft Redmond Campus

October 17-21, 2011

Event web site: http://vslive.com/redmond

Visual Studio Live is five days of practical, Microsoft-sponsored training for developers to help solve your tough .NET development challenges. You’ll find how-to advice and the tips and tricks that you’ll be ready to implement as soon as you get back to the office. Our expert faculty – including many Microsoft instructors – makes each session interactive so you can discuss your particular development roadblocks and come away with actionable solutions.

Visual Studio Live! Redmond offers in-depth training in:

  • Silverlight / WPF
  • Programming Practices
  • Visual Studio 2010 / .NET 4
  • Cloud Computing
  • Data Management
  • Web / HTML 5
  • Simplification Tools
  • Mobile Development

Visual Studio Live! Redmond – Expert Solutions for .NET Developers

Post to Twitter

ReMIX South is at August 6th in Atlanta

 

August 6th marks the 20th anniversary of the World Wide Web. Coincidentally, it is also the day of the Second Annual ReMIX Conference in Atlanta, Georgia.

The past year has seen many changes in Microsoft strategy as well as new innovations in web and mobile development outside of Microsoft. ReMIX will catch you up on those changes and prepare you for the next year of development and design trends.

In the spirit of bringing developers and designers together, organizers are proud to announce Albert Shum as our keynote speaker. Albert Shum is the General Manager of the Windows Phone Design Studio, the team that formulated the Metro Design Language used on Windows Phone and Windows 8.

There are four tracks this year: User Experience, Web, Mobile & Tablet, and Kinect. Our handpicked speakers come from both the Microsoft community and beyond it. Please register as early as possible at http://remixsouth.eventbrite.com/ so that organizers can make proper accommodations for all attendees.

The UX Track will cover design practices for an increasingly complex world that includes websites, interactive, mobile, tablets and traditional desktop apps. Speakers include James Chittenden (UX Architect at Microsoft), Rick Barraza (Principal UX Architect at Cynergy), Matthias Shapiro (Veracity), and Zach Pousman (Director of Strategy at IQ Interactive), and Jenn Downs (Design Researcher at MailChimp).

The Web Track is made up of web experts from outside the usual Microsoft fold. They will walk you through the HTML5 buzz and the core technologies that make it work: CSS3 and JQuery. J. Cornelius, VP Operations at CoffeeCup Software, will talk on HTML5. Josh Netherton of Mailchimp will talk on “CSS3: More Than Just Rounded Corners.” John Agan of Epic Labs will walk us through our paces with JQuery. Mark Barilla of Home Depot will introduce us to HTML5 Design Principles, while Theo Rasendorf of Matador will school us in “Type 101”.

In the Mobile & Tablet Track, Shawn Wildermuth (Agilitrain), Rob Cameron (Microsoft), Luke Hamilton (Creative Director, Razorfish) and Jeremy Likness (Wintellect) will teach us about phone game development, design best-practices for multitouch, the new Windows Phone Mango release, Silverlight Development for Tablets and Windows 8.

Finally, in the Kinect Track we will celebrate Microsoft’s surprise hit of the year by bringing together some top players from the Kinect Hacking world for a day of talks, teach-ins and expert panels. Speakers and panelists include Zahoor Zafrulla of Georgia Tech, Steve Dawson of Razorfish Emerging Experiences, Rick Barraza of Cynergy and Josh Blake of InfoStrat, the founder of the OpenKinect forums and co-founder of the OpenNI forums.

Additionally, Microsoft will be providing all-day labs on Windows Phone development while our Commons room will be set up for impromptu conversations, hands-on opportunities with new technologies and general networking with businesses, new friends and old friends.

Post to Twitter

Atlanta Code Camp

Atlanta Code Camp 2011 took place yesterday, Saturday, June 25 2011. I was one of the organizers of the event.  The event was a success based on some preliminary feedback we gathered during the vent itself.  We have over 250 people attending 54 different sessions.

I did one talk – Using Code First (Code Only) approach with Entity Framework

Since I would like to share my slides and sample code, you can download the zip file by clicking on the title above.

Thank you.

Post to Twitter

ESRI Developer Meet-up Keynote

As I already mentioned, I delivered keynote at ESRI Developers Meet-up in Atlanta last week.  I wanted to post my short speech, as it expresses some very important points.  I talked about Microsoft developer landscape and importance of learning.  Here is the speech.  Please let me know what you think.

ESRI Key note

My name is Sergey Barskiy. I live here in Atlanta, and I work for Magenic Technologies, a Microsoft technology focused consulting company. I appreciate the opportunity to express my opinion on Microsoft technology landscape as it currently stands, with focus on Windows Phone 7, Silverlight and cloud technology stack.

Let me start with a quote attributed to Buddha. “Everything changes, nothing remains without change.”

Let’s start with the Windows Phone 7. The first phones were sold last November time frame. So far more than a million phones have been sold, which some think is a success and some a failure. Instead of talking about subjective opinions on the WP 7, let’s discuss what this release did for Microsoft. This release is arguably the first consumer oriented phone device that Microsoft put out. It is in direct completion with iPhone and Android phones. Marketplace has become very important on that market, and Microsoft put very heavy focus on that aspect of the phone. Microsoft tools have always been very good, but tools for phone were extremely well done, considering that was the first release of the tool set. So far there are over 12,000 applications in marketplace, and much more by some estimates, maybe as many as 20,000. There are tens of thousands of developers registered with the marketplace. It is hard not to say that this is not a success for Microsoft. New beta release of tools for the next revision of the phone, dubbed Mango, shipped a few weeks ago. It contains many consumer oriented as well as developer oriented features. Consumer features ultimately matter more, because phone needs to make users happy before making developers happy. Out of those features IE9 and HTML 5 support is probably the most important. Along with it users will enjoy fast application switching, better office integration and improved multi tasking. These feature set demonstrate ongoing commitment and maturation of the platform. Developers’ features include background tasks, SQL CE with ORM, better camera integration, compass access and better tooling, specifically emulator features such as GPS and accelerometer support. There will also be better integration between two developer platform on phone, XNA and Silverlight. Of course, ESRI has its own powerful API for the phone.

Let’s now move on to Silverlight. There has been some controversy about future of Silverlight, especially after comments by Bob Muglia last fall. In response to this negativity, Microsoft announced Silverlight 5 features a while ago, reaffirming its commitment to Silverlight platform in general. The beta shipped a a few weeks ago. Having said that, Microsoft’s message around Silverlight has changed since Silverlight 2 was released. It changed from cross platform cross browser application development platform to just developer platform for media applications and business applications. Since there is no mentioning of cross platform any longer, one could deduce that the focus is now on Windows development. Let’s take a look at the Silverlight 5 features and see how the next version of the platform and see how they fit into that message.

First of all, media related features. There is a lot of improvement in how media, such as videos are handled. There are performance improvements for hardware decoding and h.264 playback, including low power devices. Trick play was added, allowing the user to play videos at high speed, while correcting sounds for pitch changes. Improved power awareness keeps screen saver from coming up while media is playing. Remote control capabilities were added as well as some DRM enhancements. Enhancements to text presentation were added, allowing for text flow around images; text layout speed was increased. Performance across the board was also a focus. Graphics engine also improved, providing for more GPU acceleration as well as 3D support.

On the other hand, developer experience was taken into account. Default templates for types are now supported, allowing UI to automatically pick a template when a view model is injected into the visual tree. Additional binding options are appearing in this release, namely DataContextChanged event, XAML binding debugging, relative source binding to ancestor, proving more power for creating custom controls and custom templates. Profiling features allow for better troubleshooting of slow parts of a complex system.

There are some Windows related features as well, such as 64 bit plug-in availability. There are enhancements to out-of-browser functionality, such as multiple windows in out-of-browser mode. There is more support for process launching and PInvoke, enabling developers to write applications that integrate better with Windows desktop.

Of course, we cannot talk about Silverlight without mentioning HTML, the 10,000 pounds gorilla in the room. Based on announcement and comments from various Microsoft folks and public blogs, HTML 5 is now the official Microsoft answer for cross platform development. As to what tools can be used, those would include ASP.NET and ASP.NET MVC from Microsoft perspective. Does this mean Silverlight is dead? By no means, it just has different goals from the ones 3 years ago. It is still very much a viable platform for business applications, as long as requirements support the usage of the platform. Let’s chat about MVC 3.0, since it was also released this year.

In general, ASP.NET MVC is very powerful platform for web development. It addresses some of the issues that plagued ASP.NET. MVC gently enforces separation of concerns and improved testability of applications. Its output is platform independent. It results (one could hope anyway) in clean applications. There is no ViewState in those applications, hence in theory they should perform faster. There is no easy way to put code behind into views, although not necessarily impossible. Developers are very close to the metal, HTML in this case and JavaScript. Razor view engine that is new in version 3.0 improves view creation experience, resulting in less overall code.

Now let’s chat about cloud. In general terms cloud refers to delegating maintenance of some parts of your application, sometimes hardware, sometimes also run time to a third party provider. There are a few types of cloud platforms. IAAS – infrastructure as a service means that hardware is provided by cloud provider, and the consumer is responsible for setting up their applications and maintaining them. In typical sense this means running virtual machines in the cloud, otherwise known as some data center full of computers maintained by a cloud company. Another type is SAAS or software as a service. This means you rent the software from a company, and they are responsible for everything. An example would be SalesForce. Third and arguably most interesting aspect is PAAS or platform as a service. In this approach cloud provider supplies virtual machines preloaded with software and supplies tools for the developer to deploy and monitor software that utilizes all aspects of the platform, such as operating system, additional software and resources.

Why use the cloud? There are a number of reasons that vary from product to product. Typically reasons would include cost of entry, scalability, availability and geo-proximity. Say you wrote a brand new exciting web product, but you are not sure how many customers you will have. Could be one, could be 1 million. So you struggle with the question how much hardware and software to provision. Both under and over-provisioning are problems. If you under provision and your software’s performance is bad, the customer will run away from you. If you over provision you may spend millions for no reason. Cloud aims to solve this problem by providing on demand growth opportunity, otherwise known as pay-as-you-go model. Hand in hand with this goes scalability. Properly written software is easily scalable, usually with a couple of button clicks. Cloud vendor usually guarantees uptime of your system, thus insuring your software is available to be used. Geo-proximity allows you to position servers closer to customer, including abroad.

Let’s take a look at Microsoft presence in this space. Microsoft has offering in both SAAS and PAAS sectors of the market. SSAS includes a number of products. The most prominent one is Office 365, which include Office Professional, Outlook on line, Link which is the successor to Communicator and Live Meeting and SharePoint online. This offering allows you for just a few bucks per person per month remove a lot of pains from organizational activities that do not directly contribute to overall value of the company. This is really simple offering, and not very interesting if you are a developer.

Much more interesting is PAAS or Windows Azure. Let’s take a closer look at what Azure offers to developers, and as a result to your customers.

At a high level Windows Azure comes with a number of options to develop applications with. First and foremost, it is Windows itself and .NET framework. You further utilize the following roles available in Azure: Web role and Worker role. Web role is designed to host web applications, such as ASP application. Worker role is akin to Windows services. Its purpose is to provide sheer computing power and processing power. You have a number of storage options on Azure. You can utilize SQL Azure which is relational database in the cloud, build on SQL Server 2008. It has all the familiar features to all the developers. Furthermore you can use blob storage, suitable for storing large files, such as videos or documents. This storage is http addressable via a URL, and can be used as a result in all web applications. Developers also have table storage available. It can be used to store structure, but non-relational data. It is much cheaper than SQL Azure and much more scalable, but it is up to you to maintain transactional integrity. And finally you can also use message queues, which are durable messages that can be used to communication information between parts of one application or multiple applications. SSRS is already in beta as well, providing a complete solution for business applications.

Another very important part of Azure offering is AppFabric. AppFabric is an umbrella term used to describe a number of helpful technologies. They include Service Bus, Access Control, Caching, Integration, and Composite App (WCF/WF Hosting). Let’s break them up and take a closer look at each one.

The Service Bus provides secure messaging and connectivity capabilities that enable building distributed and disconnected applications in the cloud, as well hybrid application across both on-premise and the cloud. It enables using various communication and messaging protocols and patterns, and saves the need for the developer to worry about delivery assurance, reliable messaging and scale.

Access Control provides an easy way to provide identity and access control to web applications and services, while integrating with standards-based identity providers, including enterprise directories such as Active Directory® (ADFS 2.0), and web identities such as Windows Live ID, Google, Yahoo! and Facebook. The service enables authorization decisions to be pulled out of the application and into a set of declarative rules that can transform incoming security claims into claims that applications understand. These rules are defined using a simple and familiar programming model, resulting in cleaner code. It can also be used to manage users’ permissions, saving the effort and complexity of developing these capabilities.

Caching provides a distributed, in-memory, application cache service for Windows Azure and SQL Azure applications. It provides applications with high-speed access, scale, and high availability, to application data. These capabilities are provided entirely as a service (no installation or management of instances, dynamically increase/decrease cache size as needed).

Integration provides common BizTalk Server integration capabilities (e.g. pipeline, transforms, adapters) on Windows Azure, using out-of-box integration patterns to accelerate and simplify development. It also delivers higher level business user enablement capabilities such as Business Activity Monitoring and Rules, as well as self-service trading partner community portal and provisioning of business-to-business pipelines.

Composite App provides a multi-tenant, managed service which consumes the .NET based AppFabric Composition Model definition and automates the deployment and management of the end to end application, eliminating manual steps needed by both developers and IT Pros today. It directly executes application components to provide a high-performance runtime optimized for cloud-scale services and mid-tier components. It also delivers a complete hosting environment for web services built using Windows Communication Foundation (either natively developed or using WCF Data Services and WCF RIA Services) and workflows built using Windows Workflow Foundation.

Finally, we cannot really end without mentioning Windows 8. I am not sure how many of you follow current rumors and have seen a video put out by Microsoft that shows a glimpse of Windows 8. They showed Metro or Windows Phone 7 interface with live tiles, full gesture support and touch friendly user interface. Moreover, there are various hints as to new programming model for Windows. Does it mean none of the existing applications will run on Windows 8? Of course not. This new functionality has to be additive. Having said that, there are rumors on Mary-Jo Foley blog and WinRumors.com that mention Jupiter as the new API (the best one could decipher) that will be available in Windows 8. There is uproar already in Silverlight community, stating that Microsoft again is abandoning Silverlight. If you could look at Jupiter as new and better API and user experience, then the question is why fight it?

Let me end with another quote by Eric Hoffer, American philosopher.

“In times of profound change, the learners inherit the earth, while learned find themselves beautifully equipped to deal with a world that no longer exists.”

The moral of the story is that Microsoft will never stop inventing new technologies, as this would spell the end to them as a company. So that a developer to do? The answer is never stop learning.

Post to Twitter

Reflections on Blogging

I started my blog here in November 2009 after moving it from Live Spaces, that since died as a project.  My primary goal of starting that is to share my thoughts and experiences with other folks, vet some new ideas, and hopefully help a person or two solve the same problems I found solutions to at some point in time.  Blogging also gives me a place to document my experiences.  In addition any time I research a topic, I like to write about it because the process of writing things down helps me remember better.

This month I hit what I consider a milestone of 100,000 views on my blog!

image

 

Woo-hoo!  I think that is pretty cool!

 

image

This chart shows some steady growth in views over the last 20 months.  I guess I am doing something right if that many folks can find tidbits of useful information in my writings.

Thank you.

Post to Twitter

CodeStock Talks

I am doing two talks at CodeStock event on Saturday, June  2011.  Tomorrow in other words Smile.

I am talking on two topics. 

Since I would like to share my slides and sample code, you can download two zip files – one for each session.  You can download each one by clicking on the title above.

Thank you.

Post to Twitter

Atlanta Code Camp 2011 is Almost Here

This event is unique in that it is “for the community, by the community” and is free for all that desire to attend. In past years, the Atlanta Code Camp has provided free training and networking opportunities for 300 of the best, most motivated development professionals. With our larger facility, we’re expecting this year to be even bigger and better.

Please check out Code Camp web site for more information.  There are links there for registration, sponsors and volunteers.

Thank you.

Post to Twitter

Atlanta Code Camp 2011

Atlanta Code Camp 2011 is in the planning stages.  The event will occur on June 25th.  If you would like to volunteer at the event, please contact me using Contact Me page on this blog.  We are also looking for sponsors.  Please email me if you are interested.  More information will be forthcoming in a few days.  Please stay tuned.

Thank you.

Post to Twitter

ESRI Developers’ Meet Up in Atlanta

I will be delivering keynote at the local ESRI development meeting in Atlanta, GA next month.  Meeting will be held at Maggiano’s in Buckhead at 5 pm.  I will be talking about current application development landscape using Microsoft technologies.  I will be touching on Azure platform, phone development, Silverlight 5.0,  ASP.NET MVC and data platform landscape.

You can register to attend here http://www.meetup.com/DevMeetUpSoutheast/events/17703001/

Thanks.

Post to Twitter

Microsoft Tech Ed 2011 Keynote

Today’s keynote was about two topics – Cloud and Devices.

Cloud topic was first.  Here is what Microsoft Corporate VP talked about.  He relayed Microsoft’s perspective as to why cloud is important and why it will continue to grow and play an important role for many companies.  Three primary reasons are agility, focus and economics.  Agility refers to companies’ ability to scale on demand, utilizing pay-as-you-go model. Focus refers to concentration of corporations on core software products and technologies instead of worrying about infrastructure.  And economics refers to decrease need to invest large amounts of money into hardware and licenses.  All these ideas are valid and important. 

Next announcements underscored Microsoft’s realization that private cloud is just as if not more important than public cloud.  The rest of the talk applied equally to public and private cloud.  Presenters talked about Microsoft System Center 2012 codename Concero as the next generation product that will enable users to manage and maintain their cloud offerings.

Next they talked about BI and data.  They underscored two important concepts the next generation of Microsoft software is going to address – insight and oversight.

Insight means allowing users, mostly business users to slice and dice the data as they see fit to gather important information from tons of collected data points.  PowerPivot, SharePoint and project Crescent that will ship with next generation of SQL Server were mentioned.  Crescent looks like PowerPivot which shipped a while ago on steroids, with ability to visualize data in many ways in addition to ability to view it.  Crescent will be integrated into SharePoint to give other users insight into gathered data via report / Crescent project sharing as well as oversight, since user actions will be captured in SharePoint.  Developer will be able to convert these business users’ created project into Visual Studio projects.

Next set of topic points refered to devices.  Average number of connected devices per adult in the US is 4.3.  Microsoft sees this number growing in the future, and growing rapidly.  The range of devices vary, and includes phones and tablets.  Mango, the next version of OS for Windows Phone 7 has many features that are intended to entice not only general public, but also corporate users.  These features include Lync (next generation of communication software, which includes some features of Communicator and Live Meeting) on the phone as well as corporate security features and Office 365 integration.

Kinect was also mentioned with World Wide Telescope being a flag ship product that identifies strengths of the Kinect platform in education.  Also a medical product was showcased that uses Kinect in an operation room.

Windows Phone was the next topic.  Windows phone toolkit for Azure was mentioned as the tool that can speed up development quite a bit if you are coding that type of application.

TFS v. next was the next topic.  One of the goals for the next release is to bring stakeholders and operations folks into the conversion.  Stakeholders will be able to prototype features using PowerPoint.  Operations manager will be able to create TFS work items directly from system center software using system center connector, and include relevant information such as stack trace.   IntelliTrace will be available in production as the integration point between operations and development.  Developers also get some new features, such as My Work tab that identifies the work items assigned to developers.  Developers will be able to handle interruptions better via “Save / Restore My Work” feature.

OK, at a high level this is what Microsoft guys talked about in the key note.  Now it is the time for my personal opinion.  After all, why have a blog if you cannot express yourself.

One thing that jumped at me was low energy level of all presenters.  Maybe they were tried after travel?  Also, there were very few announcements that I have not heard before at different events or have not read on blogs.  Ideally I would have liked to hear a little more about other technologies, such as web or Silverlight.  I know that TechEd is supposed to be about IT as well as Dev, but one could hope for more pertinent information.  Some of the jokes were a little stale to my taste, the usual “I am your boss, so drop everything and do this” jokes get old.  Maybe Microsoft should hire a comedian to help them next time.

Now some takeaways.  One message that was pretty clear was directed toward IT professionals.  They need to be up to speed on Azure, or they will be left behind.  Private cloud is coming, and companies need to consider if that technology suits them.  IMHO, private clouds are diminishing the value of cloud in general, but with the right tooling the gains are still there, although investment into hardware is still pretty big.  Message for developers regarding TFS is clear as well.  This product will continue to grow to help companies to collaborate, develop, test and operate software.  In devices marker Mango version of the Windows Phone OS will provide a number of cool new features that will undoubtedly advance its standing amongst consumers and enterprises.  Now we just have to wait and see if Microsoft marketing can do its job to let masses know what is coming soon.

Thank you.

Post to Twitter

Windows Phone 7 Unleashed Hackathon

Monday, May 16, 2011

6:00p.m. to 11:00 p.m.

Register:  http://bit.ly/RegWP7Hackathon

Don’t miss this opportunity to get hands on help with your Windows Phone 7 app, from the experts!

This is a "hands on" hackathon where you will learn from Windows Phone 7, XNA and Azure experts how to build, scale and publish your Windows Phone 7 app or game.  If you are just a beginner, or already have apps in the Marketplace this event will should not be missed.

BYO Laptop! 

RSVP early, space is limited to 300 attendees:  http://bit.ly/RegWP7Hackathon

Food, beverages and refreshments will be provided.

Omni Hotel At CNN Center

Grand Ballroom (A,B, C)

100 CNN Center

Atlanta, Georgia  30303

Post to Twitter

CodeStock – Voting for Sessions is Now Open

The CodeStock website is now open for registrations and the voting on sessions has begun.  Selections will be announced after March 21st, 2011.

I submitted a number of sessions.  If you would like to see me speak at CodeStock, vote for my sessions please.

Here is my full list:

  • Using Code First (Code Only) approach with Entity Framework
  • Testing SL applications with Microsoft Unit Testing Framework and Coded UI
  • Using LightSwitch for Visual Studio to Quickly Build Silverlight 3 tier applications
  • Working with SQL Azure
  • Using CSLA 4.0 to Build Powerful Enterprise Applications
  • Building ASP.NET MVC 3.0 Applications with Razor View Engine and EF Code First.
  • Working with Data on Windows Phone 7

 

Thank you.

Post to Twitter

MVP 2011

I got my Happy New Year present from Microsoft this morning.  They gave me Microsoft MVP award for the second year in a row.  I feel honored and humbled that my efforts in promoting Microsoft technology are appreciated.  I will continue doing my best in showcasing great technologies that Microsoft puts out year in and year out.

Happy New Year, everybody!

Post to Twitter

Blog Stats

I moved my blog to this site in November 2009, a little over a year ago.  I did that based on an advice of fellow programmer, urging me to find a domain that is easier to remember and spell than SergeyBarskiy.Windows.Live.com. Of course, blogging was recently removed from features of Windows Live and transferred to a third party.  So, there came www.DotNetSpeak.com.  It took a few hours to try to find a domain name that was not taken that had a way to convey my programming interests.

Today I checked the stats, and my blog had over 50,000 views in a little over a year!  Woo-hoo!  Here is a screenshot of the stats

image

Thank you, everyone.  I never thought that my posts would attract that much attention.  Either that of my dad is really active on the internet Smile.

On another note, I often use my own blog as a source of information.  I try to blog about all interesting work that I do, and I encourage everyone to do the same.  Chances are, if you did some work in the past, you are likely to encounter similar circumstances later.  Wouldn’t be nice to just search your own blog and find an answer in a minute.

 

Happy Holidays, everybody!

Post to Twitter

ReMix Talk

As I posted previously, I talked at Atlanta ReMix 2010 conference past Saturday.  Entire event was a a success, we had over 200 people there.  We had great presenters and good topics.  My topic was “Microsoft Silverlight and Windows Azure: A Match Made for the Web”

You can download PowerPoint presentation here.  You can download solution here.  To get solution up and going, you need to have Visual Studio 2010 installed, along with Silverlight 4 tools and Azure tools.  You will also need to sign up for an account on Azure and SQL Azure.  You will need to update web.config file and ServiceReference.ClientConfig file.

Please let me know if you have any questions.

Thank you.

Post to Twitter

ReMix 2010 in Atlanta

If you have not registered for this fine event I blogged about previously, you have a week left.

You can register for it here: http://reMIXatlanta.org.  You can also check out the list of session that will be presented there.

Yours truly will be presented a session there as well.  The title will be “Microsoft Silverlight and Windows Azure: A Match Made for the Web”.

Here is what they session is about:

By combining the rich user experience of Silverlight with the scalability of Windows Azure compute and storage, you can build some incredible end-to-end web applications. In this session we will discuss the business advantages of running Silverlight applications in the cloud. We will cover the steps necessary to build Silverlight applications for deployment in Azure including: data access with SQL Azure, cloud storage, communication mechanisms and data access options. We will also demonstrate how the same approach works for Windows Phone 7 development.

I am just as excited about speaking as I am about attending other sessions.  One can always learn a ton at the community events.

Post to Twitter

reMix Atlanta 2010

image

Mark your calendar and purchase your ticket now for Atlanta’s premiere Design & Developer Event

THE WEB BELONGS TO US, AND MOBILE WILL BE NEXT.

reMIX LOCATION

Saturday May 8th 8:00AM-5:00PM

Atlanta Marriott Perimeter Center

246 Perimeter Center Pkwy NE

Atlanta, Georgia 30346

Phone: 770-394-6500

reMIX Atlanta is the one-day conference for developers and designers who want to take their skills to the next level. Come out to see the exciting new technologies and techniques that can be used to build the next generation of interactive websites and mobile applications.

This is a “Don’t Miss Event” with only 400 seats. Get yours today!

REGISTER TODAY!

http://reMIXatlanta.org

Tickets only $25 until 4/27, then $35

Limited seating, filling fast! Act Now!

SPECIAL BONUS

A very awesome FREE pre-event:

Friday May 7th 6:00PM-9:00PM

Hosted by Carl & Richard, this is a .NET Rocks! fun evening about Visual Studio 2010 & .NET 4

image

http://dotnetrocks.com

 

What to Expect:

Learn about the completely new Windows Phone 7 and the excitement about quickly developing applications using Silverlight and building 2D/3D games using XNA.

Learn about the Designer/Developer workflow used to create great user experience (UX) in your applications.

Learn about building next-generation web applications with the new Silverlight 4 features, how to build with Windows Azure, and the improved ASP.NET MVC 2.0

image

Post to Twitter

Atlanta .NET Talk on Windows Phone 7

I had a privilege to present on Silverlight development for Windows Phone 7 at local Atlanta.NET Users Group today, March 29th 2010.

You can download PowerPoint presentation here.  Please email me any questions you have regarding the presentation.

Thanks.

Post to Twitter

CodeStock Talk

I submitted sessions to this year’s CodeStock event.  You can vote now for all sessions here.

If you would like to see my session, please vote for them.  Here is my list

 

Thank you and I hope to see you there.

Post to Twitter

Community Events

I often forget about different conferences I would like to keep an eye on, so I decided to make a list of them on my blog.

Post to Twitter

The MSDN Southern Fried Roadshow

Glen Gordon, our local evangelist is doing another road show.  Here are the event details.

Thursday, February 25, 2010 1:00 PM – Thursday, February 25, 2010 5:00 PM Eastern Time (US & Canada)
Welcome Time: 12:30 PM

Atlanta Marriot Alpharetta

5750 Windward Pkwy
Alpharetta Georgia 30005
United States

Language(s):
English.

Product(s):
Azure Services Platform, Microsoft technologies, Windows and Windows 7.

Audience(s):
Pro Dev/Programmer.

Presenter(s):
Glen Gordon, Joe Healy

Event Overview

MSDN Events presents: Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform

Join your local MSDN Events team as we take a deep dive into cloud computing and the Windows Azure Platform. We’ll start with a developer-focused overview of this new platform and the cloud computing services that can be used either together or independently to build highly scalable applications. As the day unfolds, we’ll explore data storage, SQL Azure, and the basics of deployment with Windows Azure. Register today for these free, live sessions in your local area.

If you register and attend this event, you will be placed in a raffle to win a chance to bring home one (1) free copy of Windows 7 – you could be the lucky winner! Register today!

SESSION 1: Overview of Cloud Computing and Windows Azure

The Windows Azure platform is a set of high-performance cloud computing services that can be used together or independently and enable developers to leverage existing skills and familiar tools to develop cloud applications. In this session, we’ll provide a developer-focused overview of this new online service computing platform. We’ll explore the components, key features and real day-to-day benefits of Windows Azure.

Highlights include:

· What is cloud computing?

· Running web and web service applications in the cloud

· Using the Windows Azure and local developer cloud fabric

· Getting started – tools, SDKs and accounts

· Writing applications for Windows Azure

SESSION 2: Survey of Windows Azure Platform Storage Options

Durable data storage is a key component of any cloud computing offering. The Windows Azure Platform offers many options, which can be used alone or in combination. Windows Azure itself offers ready-to-use and lightweight storage in the form of tables, blobs, and queues. Another choice for storage is SQL Azure, a true relational database in the cloud. In this session, we’ll explore the highlights of these implementations and how to both create and use storage in each form. We’ll give you guidance on choosing the right forms of storage for your application scenarios.

Highlights include:

· Understanding table & blob storage

· Programming against table & blob storage

· Working with queue storage

· Managing credentials and connection strings

· Scaling and configuration

· Understanding SQL Azure databases versus local SQL Server databases

· SQL Azure firewall, logins and passwords

· Database creation, deployments and migrations

· Database management using SQL Management Studio

· Programming against SQL Azure databases

SESSION 3: Going Live with your Azure Solution

Windows Azure features a powerful, yet simple deployment model. By focusing on your application and abstracting away the infrastructure details, you can deploy almost any app with minimal fuss. In this session, we’ll walk you through the basics of Windows Azure deployment, including site monitoring, diagnostics and performance issues.

Highlights include:

· Start-to-Finish Visual Studio demonstration of a realistic XML data driven business web site from the desktop to the cloud.

· Windows Azure Deployments

· Start-to-Finish Visual Studio demonstration of a realistic SQL Server data driven business web site from the desktop to the cloud.

· Configuration of your application in the cloud

· Guidance and Suggestions to ensure your success

*Be sure to learn more about the TechNet event happening on the same day at the same location from 8:30am–12:00pm. If you are interested in attending, please register separately for that event here: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439495&Culture=en-US

Registration Options

Event ID:
1032439974

Here is the link to this event:

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439974&Culture=en-US

Post to Twitter

Speaking at Atlanta .NET Users Group

I spoke at Atlanta.NET Users Group yesterday, My topic was Azure Step-by-Step.

I talked about why someone would use Windows and SQL Azure, then I built a Silverlight application from scratch.  The application was designed to run in Windows Azure and use SQL Azure as database.  I demonstrated how to get maximum code re-use between traditional .NET web application and the same application developed for Azure.  At the end, I had an application that could run on either platform with just web.config change.

You can download the zip file with PowerPoint slides with useful links as well as the sample project I built here.

Please let me know if you have any questions.

Post to Twitter

Microsoft MVP

I have just been selected to receive the Microsoft MVP award!  This is an awesome news!  I feel honored and humbled that Microsoft recognized my efforts in learning Microsoft technologies and being active in local Microsoft oriented developer communities, user groups and events.  At the risk of making cliché comments, I would like to recognize a few people and organizations that encouraged me to strive to do my best.

As much as I learned by working at Horizon Software, there is no way I would have gotten where I am without Magenic Technologies.  This the most awesome company to work for.  Great environment and great people too numerous to mention encouraged me to work hard every day.  Participating in local users group has been invaluable experience for me as well.  I have met many people smarter than me over the last number of years that helped me out a lot.  Special thanks to Glen Gordon, local Microsoft developer evangelist for nominating me.  I am very much looking forward to many exciting years learning and (hopefully) teaching Microsoft technologies.

Post to Twitter

Upcoming talks

Somehow (I am not exactly sure how) I ended up with a lot of talks that I am doing in January.  Between that and two projects I am working on simultaneously at Magenic, I have been extremely busy lately.  Those two projects will continue through end of January.

In January I will talking at Gwinnett Georgia Microsoft Users Group on SQL Azure, at Atlanta Leading Edge Microsoft Users Group on Velocity, and at Atlanta .NET Users Group on building an Azure application step-by-step.  I am also wiring an article on Entity Framework for a magazine that is due on December 31st.  Also, I am going on vacation this Saturday – my wife and I are talking our kids to Washington, DC.

I will probably be doing much blogging for a few weeks as a result.

Could I possibly have more fun than this?  Not likely.

Post to Twitter

Rocky Lhotka is Talking Oslo at ALEMUG

At out next Atlanta Leading Edge Microsoft Users Group Rocky Lhotka will be talking about Oslo.  Please visit ALEMUG.NET home page to register for this exciting event!

Here are the details of this event.

Microsoft code-name “Oslo” includes the ability to define your own domain specific  language (DSL), a metadata repository hosted in SQL Server and a graphical tool (“Quadrant”) to edit that metadata. One part of the Oslo vision is that you might define a DSL, build code in your language, compile that code into the repository and then create a runtime to dynamically execute that metadata. Taking this vision and combining it with the popular CSLA .NET framework, the result is MCsla. This is a prototype DSL grammar, repository schema and runtime that dynamically creates and executes CSLA .NET business objects with a WPF UI. The result is a fully functional application that you can create with a fraction of the code you’d need to write with traditional programming techniques. Learn how MCsla was created and how it works in this rapid-fire walk through the depths of the Olso technology.

Rockford Lhotka is the creator of the popular CSLA .NET development framework, and is the author of numerous books, including Expert C# 2008 Business Objects and Expert VB 2008 Business Objects. He is a Microsoft Regional Director, MVP and INETA speaker. He contributes to several major magazines and regularly presents at major conferences around the world. Rockford is the Principal Technology Evangelist for Magenic (www.magenic.com), a company focused on delivering business value through applied technology and one of the nation’s premiere Microsoft Gold Certified Partners. For more information go to www.lhotka.net.

Post to Twitter

C# 4.0 (.NET 4.0) Features

As part of our first ALEMUG meeting I did a presentation on some of the new features in C# 4.0.  Here is what I talked about.

First topic was on optional and named parameters in C#.  Here is how you would define a function with optional parameters:

public static int AddTwoOrThreeOrFourNumbers(int numberOne = 0, int numberTwo = 0, int numberThree = 0, int numberFour = 0)

{

    int returnValue = numberOne + numberTwo + numberThree + numberFour;

    return returnValue;

}

All you need to do to define optional parameters is to provide a default value for each one. Here is how you could call this function by providing values only for some parameters:

ClassWithOptionalParameters.AddTwoOrThreeOrFourNumbers(1, 2)

As you see, I only supplied two out of three parameters.  All the magic is preformed by the compiler.  If you look at disassembled code, you will find that call to the function actually has all three parameters defined, just the last one is zero.

Another related feature is named parameters.  You can actually specify the name and the value for each parameters explicitly and out of order even:

ClassWithOptionalParameters.AddTwoOrThreeOrFourNumbers(numberOne: 1, numberFour: 4)

 

There are a few great uses for named / optional parameters.  One is COM Interop, specifically Office Interop.  Many functions in the Office take a number of optional parameter.  Right now you have to specify all of them.  With C# 4.0 you can specify just the ones you need.  Here is an example for SavedAs:

var format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument97;

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();

var doc = word.Documents.Add();

doc.SaveAs(FileName: fileNameSaved, FileFormat: format);

In general, there are many features in C# to make Office development easier.  One of them (pointed out by Jim Wooly)  is No PIA – No Primary Interop Assembly distribution. To use this feature just go to properties of office interop assembly in the references window and set Embed Interop Types to True.  If you do, you do not have to distribute Interop assembly! 

Another features I talked about is dynamics.  Here is you declare a dynamic variable:

dynamic person = ExpandoClass.GetExpando();

Looks very similar to var, doesn’t it?  There is a big difference though between vars and dynamics.  The key difference is the resolution time.  Vars are resolved at compile time, and they are actually strongly typed in the running program.  Dynamics on the other hand are resolved at run time.  As a result, you can compile pretty much any code that refers to dynamics.  For example, you can type

dynamic thing = GetSomeDynamicObject();

thing.SomeProperty = 1;

SomeProperty actually does not exist anywhere in the source code, it is called dynamically at run time and it will succeed as long as whatever object is returned by GetSomeDynamicObject function has this property.  Very powerful feature when it comes to interacting with objects unknown at compile time.  You can use it to interact with dynamic languages such Python or COM objects or even other .NET objects.  Here is some code I came up with (not that I would write something like this, but it demonstrate the power of the feature) – universal sorter that can sort any collection:

    public static class DynamicDemo

    {

        public static IEnumerable<dynamic> GetSortedData(IEnumerable<dynamic> initialCollection, Func<dynamic, dynamic> sortExpression)

        {

            dynamic retVal = (from one in initialCollection

                              orderby sortExpression(one)

                              select one);

            return retVal;

        }

Dynamics is a very powerful features, but can be easily abused.  Also, anything can be dynamic, not just objects.  You can also have dynamic properties and methods and their parameters.

Another related feature is ExpandoObject.  This is a dynamic object that can be “expanded” at run time to contain custom properties and values:

dynamic expando = new System.Dynamic.ExpandoObject();

expando.Name = "Sergey Barskiy";

expando.Age = 18;

Seems pretty weird – I actually define the object at run time.

You can download sample solution (requires VS 2010) here.

Post to Twitter

ALEMUG.net meeting

Atlanta Leading Edge Microsoft Users Group is meeting tomorrow.  Our topic will be new features in C# 4.0 and .NET Framework 4.0.  Some of the topics are contra-variance and co-variance, dynamic types, office interop, named and optional parameters, code contracts.

Please join us tomorrow for an exciting meeting.  See the website for directions and times – www.alemug.net.

See you tomorrow.

Post to Twitter

SQL Saturday #25

I spoke yesterday at SQL Saturday event in Gainesville, GA.  My topic was CLR Integration in SQL Server. 

CLR stands for Common Language Runtime or .NET Framework.  This SQL Server 2005 or higher feature allows developers to write .NET assemblies and deploy them in SQL Sever.  You can implement scalar and table-values functions, stored procedures, triggers, user defined types and aggregates.

In my talk I spoke of features that I worked or had a need for.  Those included interacting with OS, such as file access or registry access.  I also talked about implementing fuzzy matching logic, creating custom bitmaps and utilizing them in SSRS reports.

You can download the sides and sample project here.

Thank you.

Post to Twitter

I will be talking at GGMUG on Thursday, September 10th

I will be presenting at the next Gwinnett Georgia Microsoft Users Group this coming Thursday.  The topic of my presentation will be Entity Framework in general and its applications to Silverlight development.  I will be posting the zip file with slides and sample application immediately after the presentation.

I hope to see you there!

Post to Twitter

Atlanta Silverlight Fire Starter Event

Atlanta Silverlight Fire Starter event yesterday was awesome!  There were over 100 people attending.  The vast majority stayed there for the entire length of the event that lasted from 8am until 6pm.  All presenters did a great job.  All attendees were great.  They actively participated in all discussions, asking many questions.  Many thanks to all the event sponsors who helped make Fire Starter possible,  The event was truly a communal effort pulled off by many people excited about the technology and willing to share their knowledge and experience.  Please see Silverlight Atlanta site for more details about the event and its sponsors.

I posted my presentation about Deploying Silverlight Applications that I presented at the Fire Starter here.  The zip file contains sample project, database backup and PowerPoint presentation.

I was also going to chat for a couple of minutes about reporting in Silverlight and localization in Silverlight, however we of ran out of time by the end of the day.  I pushed an example in localization into the zip file above.  Just look at how title is setup on the main screen.  If you are interested in reporting in Silverlight, just find the blog entries on this topic on this blog.  There is also a sample project here on that showcases reporting in Silverlight.

I’d like to thank again to all involved in Fire Starter event, presenters, attendees and sponsors alike.

Post to Twitter

SQL Saturday Presentation

My talk at SQL Saturday just ended. My topic was CLR integration – Integrating CLR assemblies to support custom image creation and encompassing complex business logic in SQL server/SSRS.  I posted all the code and slides here

As always it was a pleasure to talk in front of my fellow developers.

Post to Twitter

SQL Saturday

I will be speaking at the upcoming SQL Saturday in Atlanta on April 25, 2009. 

What is SQL Saturday?  It’s a one day free training event for SQL Server professionals organized by a local user group. It takes a lot of work and a lot of volunteers, but it’s also a lot of fun!  It is held at Microsoft’s offices in Alpharetta, GA.

My topic is CLR integration – Integrating CLR assemblies to support custom image creation and encompassing complex business logic in SQL server/SSRS.

Here is the link to the event: http://www.sqlsaturday.com/eventhome.aspx?eventid=17

Post to Twitter

Introduction to Silverlight

I just posted the sample project I used for “Intro to Silverlight” presentation at the Atlanta .NET Users group meeting yesterday on SkyDrive.  Please follow this link to get the sample project:

I would like to thank everyone who attended the meeting.

Post to Twitter

Atlanta .NET Users Group

It is official now.   I will be speaking at the next Atlanta .NET Users Group (http://atldotnet.org/).  The topic is Introduction to Silverlight.  It has been a while since I got an opportunity to talk in front of Atlanta users group, and I am quite excited about it.

Post to Twitter

Happy Twittering to Me

Yep, I broke down and joined the Twitter.

www.twitter.com/SergeyBarskiy

Post to Twitter

Atlanta Code Camp

had a ton of fun yesterday at Atlanta Code Camp.  I always enjoy hanging around fellow developers.  In this instance Magenic also had an impressive showing at the event.  Colin Whitlatch, James Ashley, Jason Rainwater , Whitney Weaver and I had presented at the code camp.  I would like to thank everyone who spent their Saturday at this happening, and particularly those who attended my session :-)

Post to Twitter

Atlanta Code Camp 2009

This year’s code camp is upon us.  I have volunteered to speak at this code camp.  My topic is “Building Silverlight Business Applications using CSLA.NET for Silverlight”.  Please check out the Code Camp web site for more details.  As always, I am excited to speak in front of my fellow coders.

Download presentation and sample project here.

Post to Twitter

More on designer / developer collaboration

I encountered one more aspect of collaboration, and I would like to elaborate on.  This involves communication with the user.  Here is how the story goes.  A designed lays out the UI.  Proposed UI is discussed  with the user, who subsequently approves the design.  At this point the UI is given to developer to work on.  Well, developer finds that the UI is not workable within the constraints of the development environment.  For example, UI design results in highly inefficient communication between UI layer and business layer or database layer.  Or, the sample UI lists a handful of items on the screen, but database has hundreds, and the full list does not even fit on the screen and looks unreadable.  So, what is the solution you ask?  Involve a developer in review process prior to demonstrating UI to the user.  I think this procedure should minimize the changes to UI after the user’s sign-off.

Post to Twitter

Atlanta’s .NET Users Group

We now have a new site for Atlanta area .NET users’ group.  The group’s focus is more broad than just .NET.  It actually focuses on all Microsoft development technologies.   Here is new address: http://www.atldotnet.org/default.aspx.  There is also an RSS feed on the new site so that you can stay current with what is going on at the users group.

Post to Twitter

Code Project

Yeah to me!!!  My first article on Code Project just got published.  Click here to see it!   I wrote a POP3 email client in .NET, utilizing TcpClient, NotifyIcon, Browser Control (for email preview) and other classes.  Check it out.

Post to Twitter

SQL Server Users Group

Yesterday I went to my first SQL Server Users Group meeting in Atlanta.  There were about 50 people there, way more than I expected.  I went to see Whitney Weaver’s, my colleague at Magenic, presentation on dynamic management views.  I enjoyed the presentation as well as overall environment of the users’ group.  I am definitely planning to attend more of their meetings whenever I have a chance.

Post to Twitter

First meeting of Gwinnett, Georgia Microsoft User Group

Yesterday I attended the first meeting of GGMUG.  There were about 30 or so people there, which is really more than I expected for the first meeting.  Both Microsoft developer evangelists in Atlanta, Glen and Doug, attended the meeting.  Doug presented on WCF.  There was one more presentation by Noah Subrin on WF.  Overall I was very pleased with how the first meeting turned out.

It is sometime hard to make it all the way to Alpharetta from Gwinnett to attend Atlanta .NET Users group.  It is much easier to stay in  Gwinnett.  Having said that, I will probably keep on trying to attend meetings at Microsoft headquarters anyway.
joomla visitors

Post to Twitter

Magenic Technology Summit

The first ever Magenic Technology Summit is being held on Friday June 20 in Downers Grove near Chicago, and yours truly is invited.

This is a full day of Magenic-provided training, available by invitation only to customers and potential customers of Magenic. We have lined up an impressive array of speakers and topics in two tracks, .NET development and Microsoft servers. And we have lined up two keynotes.

Our first keynote speaker is Jay Schmelzer, who is the Group Program Manager for RAD tools. This basically means he runs the teams for all the Visual Studio designers and related RAD tools. He’s an excellent good speaker and should provide some great insight into the present and future of RAD development tools from Microsoft.

Our second keynote speaker is Rockford Lhotka, Magenic’s Technology Evangelist and the creator of the very popular CSLA .NET development framework.

But more importantly, two tracks of in-depth technical content straight from the experts at Magenic. Topics covering the present and future of .NET development and key Microsoft server products. An event like this doesn’t come along every day, and shouldn’t be missed!

The event is FREE to customers (though they’ll need to cover any travel costs), and includes lunch and a reception at the end of the day.

Click here to see the agenda.

Post to Twitter

Heroes Happen Here Launch Event

Today I went to Microsoft Launch Event.  It was dedicated to the launch of Windows Server 2008, Visual Studio 2008 and SQL Server 2008.  I registered for developers’ track and attended three training sessions as well as keynote address.

Here are the sessions I went to:

1. Breakthrough Challenges with Visual Studio 2008

This session was not impressive.  The presenter seemed unprepared, and no running code samples were shown.  The presentation seems to be very marketing-oriented.  The presenter’s demeanor seemed inappropriate, as he kept “begging” for a round of applause almost constantly.  I have not learned anything at this session.

2. Reach End-Users with Next Generation Web Applications

This was a good session in my opinion.  The presenters were familiar guys that I have meant on numerous occasions at the user group events.  The key features that were shown were:  Java script debugging and intellisense, various asp extenders object, such as watermark extender, password strength extender, etc…  Update panel feature was also demonstrated, although it is not really “new.”  Linq was part of presentation.  I found it easy to understand conceptually, although I have looked and “played” with Linq already.  Presentation overall was good.  Split code/preview screen for ASP applications was shown.  This feature looked pretty cool.

3. Exploring Business Intelligence and SQL Server 2008

This session I have to admit went over my head a bit.  It was oriented toward BI folks though, so the result was not at all unexpected.  Ability to predict future results based on existing data I found super cool.  This feature actually could be used by itself inside Excel as long as there is SQL server SSAS is running somewhere.  Performance Point and Excel applications also looked impressive.  I can see why many companies would spend a ton of money on this technology.

4. New guidance documents.

If you would like to review new Microsoft guidance documents, now called Software plus Services blueprints, here are the links:

Software Plus Services Blueprints on Channel 9

Software Plus Services Blueprints on CodePlex

Post to Twitter

Atlanta Code Camp

On March 29th I had my first ever talk at Atlanta Code Camp. You can click on Speakers menu to see my name.  It really was a fun experience for me. I enjoyed spending the entire day with my piers. There were quite a few folks at the code camp who work with me at Magenic. I attended as many sessions as I could in time allotted.
My own presentation went pretty well, based on the feedback that I got after it.  I taught a session on CSLA.  You can download the Power Point presentation here

I certainly hope that I will get an opportunity to talk more in front of other people. I guess I am a glutton for attention…
joomla visitors

Post to Twitter