Contact Me!
This morning, I returned from the DevConnections conference in Las Vegas. DevConnections is actually many conferences held simultaneously at the same venue. I signed up for the a pre-conference HTML5/CSS workshop and for the ASP.NET Connections conference, although I did take in some talks from the Visual Studio Connections track.
This was my first time at a large conference like this, unless you count the FoxPro DevCon conferences I attended 20 years ago. I learned a great deal and was able to connect with a lot of the thought leaders in the industry. I attended Keynotes, sessions, open space, vendor Expo, and the aforementioned workshop.
My trip was enhanced by speaking with some of the smartest people in the software industry. I had a chance to meet and talk with a number of people whose writings and other work had helped and influenced my work over the years, including Mark Minasi, Julie Lehrman, Scott Hunter, and Stephen Walther. I also got to know much better some people I had met in the past. I really enjoyed the time I spent with Suzanna Moran, Paul Litwin, and Joe Guadagno. Of course, I also reconnected with old friends like Jim Holmes, Brian Prince, Seth Juarez, and Kevin Griffin. I met and interacted with many others and I hope they are not offended that I didn’t list them here.
I’m still trying to process everything I learned and I’ve already committed to deliver an HTML5 presentation at Sogeti. In the meantime, here are the notes I took at some of the sessions I attended:
HTML5 & CSS3 Bootcamp for ASP.NET Developers Todd Anglin, Microsoft I thought I had a pretty good idea what HTML5 was, but Todd Anglin dove deeper into areas that I barely understood. He packed a ton of information into this 6-hour workshop. He covered a lot of the new semantic markup tags and attributes; He spent quite a bit of time talking about JavaScript APIs to access the new features of HTML5. Then he covered CSS3, which eliminates the need for much code and complex CSS in order to achieve some stunning visual effects. Keynote: Evolving To The Cloud Steve Fox, Microsoft Theme = Data, Services, UX Steve jumped around a lot in this presentation. He described in general terms the power of the cloud; then invited others on stage to demo these concepts. Scale up: Task Parallel Library Scale Out: Job Scheduling algorithm to distribute workload across multiple nodes "The Internet of Things": Communication between .NET Micro Framework code deployed onto a small device with sensors, communicating with Azure, which can process and analyze that information. New features in VS11 -new sharepoint item templeate (Silverlight web part; List) -Auto publish to SharePoint -Color picker -HTML: Auto-update end tag when begin tag is changed -Support for CSS3 styles Office 365 -Admin portal to manage user security -SharePoint online Windows 8: A Reliable Windows, Equipped with Charm — or, Rather, Charms Mark Minasi Mark pretended to be a visitor from the future, reviewing the impact of Windows 8. (His most scary future revelation was that in April 2014, Microsoft extende support of Windows XP for the next 5 years). After decades of Win32, those apps simply don't work. WinRT. Windows Server 8 -Server 8 will give the ability to turn the GUI on or off. -Server Manager is Powershell under the hood. Doesn't emit Powershell but does emit XML, so you can configure one server like another. -2300 Powershell commandlets -NIC Teaming. Works with cheap NICs. -DNSSEC. Speedier configuration in Win8. Secure DNS or AD. -DHCP knows about clustering. -IPAM (IP Address Manager) keeps track of static addresses -DirectAccess. Much faster setup configuration. -DCPROMO replaced by Powershell commands -Domain Controllers work better as VMs -Active Directory Users and Computers (ADUC) retires. -Dynamic Access Control steps up (claims-based auth) --e.g., Only those users with title="Doctor" can access files tagged with "MRI". --Can add 'and' and 'or' rules -Active Directory will manage keys. No need for Key Managment Server (KMS) -Disk deduping. Eliminate duplicate files, even across network. -Less RAM required because Win8 dedupes RAM. -CHCKDSK is less intrusive. Runs in background to find problem areas; Doesn't always require unmounting a drive to fix problems. -Hyper-V --Host can support 2TB of RAM --Each VM can ahve 512GB of RAM Windows 8 -Start menu => Start screen -Minimum resolution=1024x768 (recommend 1366x768) -Asynchronous commands -Charms. Related to contracts. Allows apps to communicate with one another. -Hyper-V on Windows 8 desktop -Wi-Fi Direct. Connect 2 PCs. -Windows To Go. Save Win8 on a USB drive & boot from it. -Reset. Installs Windows. Leaves apps & data. -Refresh. Resets everything to factory settings. Delivering Breakthrough Insight with SQL Server 2012 Kamal Hathi, Microsoft Power View -BI Tool -multiple axes (e.g., size of data points in scatter diagram) -Use gestures to sort -Image recognition to determin search / filter criteria -Graph animates to show trend over time Visual Studio -New project --Multi-dimensional --SSIS --SSRS Performance -Filter 2 billion rows in less than 1 second Top 20 NuGet Packages that a Web Developer Should Know Scott Hanselman install-package <packagename> ELMAH. "TIVO for ASP.NET errors" http://www.hanselman.com/blog/ELMAHAndExceptionDrivenDevelopmentFTW.aspx NewtonSoft HTML5Setup. Video, audio and font setup. Updates web.config Entity Framework modernizr Running your own nuget server -Copy packages into a shared folder. Change Visual Studio settings to add that folder install-package nuget.server Creates a service that acts as a nuget server Bigger, Faster, Stronger: Optimizing ASP.NET 4 and 4.5 Applications Mads Kristensen whyslow.com gzip compression <Cache ... cacheControlCustom="public" /> Allows proxy servers to cache. Image Optimizer. VS extension. Adds menu item; Tools | Optimize images. WebMatrix 2: Love the Web Again Scott Hunter Starter site @Recaptha() Uncomment in web.config to enable Twitter, Facebook Umbraco New in WebMatrix 2 -Intellisense -Full support for HTML5 Scripts.Add("jquery.validate.js"); Validation.RequireFields("firstname", "lastname"); Validation.Add("age", Validator.Integer); Developer Preview: Deep Inside the Microsoft Stack of Love Scott Hanselman Markup mode -click on server controls to see dialog box -HTML5 support. Intellisense and new attributes of controls that emit HTML5 Validation. C# Design Patterns Seth Juarez Decorator pattern Extend without extending i.e., Extend without subclassing Power of decorator pattern is that you can chain decorators Proxy pattern ctor if (_foo == null) {_foo = new Foo();} Bridge pattern Bridge vs Decorator: Bridge does not implement interface Cannot chain Bridge allows you to inject functionality Entity Framework Validation Julie Lehrman [MaxLength(50)] [MinLength(2)] [RegularExpression("...")] [CustomValidation(typeof(xxx),"rule")] IValidateableObject ValidateEntity Not called explicitl. Called automatically on savechanges() Can override Keynote: The Future of Software: NUI: A New Genre of UX Tim Huckaby Mostly videos of cool things being done with .NET Windows 8: Metro vs Desktop. 2 modes exist side-by-side but don't communicate. Windows Build architecture diagram showed .NET as a tiny square. Misleading. .NET is a major player in Windows 8. Virtual objects interacting with other virtual objects Virtual objects interacting with real-world objects Hardware allows you to manipulate software by thinking. Functional Programming in C# Oliver Sturm Currying (Haskel Curry) Convert a function w/ multiple params into a chain of 1-param functions. Each fn returns a fn. Composition Create a new function to combine 2 functions Function Construction Creating functions out of existing functions e.g., composition DevConnections 2011 Photos
HTML5 & CSS3 Bootcamp for ASP.NET Developers Todd Anglin, Microsoft I thought I had a pretty good idea what HTML5 was, but Todd Anglin dove deeper into areas that I barely understood. He packed a ton of information into this 6-hour workshop. He covered a lot of the new semantic markup tags and attributes;
He spent quite a bit of time talking about JavaScript APIs to access the new features of HTML5. Then he covered CSS3, which eliminates the need for much code and complex CSS in order to achieve some stunning visual effects.
Keynote: Evolving To The Cloud Steve Fox, Microsoft Theme = Data, Services, UX Steve jumped around a lot in this presentation. He described in general terms the power of the cloud; then invited others on stage to demo these concepts. Scale up: Task Parallel Library Scale Out: Job Scheduling algorithm to distribute workload across multiple nodes "The Internet of Things": Communication between .NET Micro Framework code deployed onto a small device with sensors, communicating with Azure, which can process and analyze that information.
New features in VS11 -new sharepoint item templeate (Silverlight web part; List) -Auto publish to SharePoint -Color picker -HTML: Auto-update end tag when begin tag is changed -Support for CSS3 styles
Office 365 -Admin portal to manage user security -SharePoint online
Windows 8: A Reliable Windows, Equipped with Charm — or, Rather, Charms Mark Minasi Mark pretended to be a visitor from the future, reviewing the impact of Windows 8. (His most scary future revelation was that in April 2014, Microsoft extende support of Windows XP for the next 5 years).
After decades of Win32, those apps simply don't work. WinRT. Windows Server 8 -Server 8 will give the ability to turn the GUI on or off. -Server Manager is Powershell under the hood. Doesn't emit Powershell but does emit XML, so you can configure one server like another. -2300 Powershell commandlets -NIC Teaming. Works with cheap NICs. -DNSSEC. Speedier configuration in Win8. Secure DNS or AD. -DHCP knows about clustering. -IPAM (IP Address Manager) keeps track of static addresses -DirectAccess. Much faster setup configuration. -DCPROMO replaced by Powershell commands -Domain Controllers work better as VMs -Active Directory Users and Computers (ADUC) retires. -Dynamic Access Control steps up (claims-based auth) --e.g., Only those users with title="Doctor" can access files tagged with "MRI". --Can add 'and' and 'or' rules -Active Directory will manage keys. No need for Key Managment Server (KMS) -Disk deduping. Eliminate duplicate files, even across network. -Less RAM required because Win8 dedupes RAM. -CHCKDSK is less intrusive. Runs in background to find problem areas; Doesn't always require unmounting a drive to fix problems. -Hyper-V --Host can support 2TB of RAM --Each VM can ahve 512GB of RAM
Windows 8 -Start menu => Start screen -Minimum resolution=1024x768 (recommend 1366x768) -Asynchronous commands -Charms. Related to contracts. Allows apps to communicate with one another. -Hyper-V on Windows 8 desktop -Wi-Fi Direct. Connect 2 PCs. -Windows To Go. Save Win8 on a USB drive & boot from it. -Reset. Installs Windows. Leaves apps & data. -Refresh. Resets everything to factory settings.
Delivering Breakthrough Insight with SQL Server 2012 Kamal Hathi, Microsoft
Power View -BI Tool -multiple axes (e.g., size of data points in scatter diagram) -Use gestures to sort -Image recognition to determin search / filter criteria -Graph animates to show trend over time
Visual Studio -New project --Multi-dimensional --SSIS --SSRS Performance -Filter 2 billion rows in less than 1 second
Top 20 NuGet Packages that a Web Developer Should Know Scott Hanselman install-package <packagename> ELMAH. "TIVO for ASP.NET errors" http://www.hanselman.com/blog/ELMAHAndExceptionDrivenDevelopmentFTW.aspx NewtonSoft HTML5Setup. Video, audio and font setup. Updates web.config Entity Framework modernizr Running your own nuget server -Copy packages into a shared folder. Change Visual Studio settings to add that folder install-package nuget.server Creates a service that acts as a nuget server
Bigger, Faster, Stronger: Optimizing ASP.NET 4 and 4.5 Applications Mads Kristensen whyslow.com gzip compression <Cache ... cacheControlCustom="public" /> Allows proxy servers to cache. Image Optimizer. VS extension. Adds menu item; Tools | Optimize images.
WebMatrix 2: Love the Web Again Scott Hunter Starter site @Recaptha() Uncomment in web.config to enable Twitter, Facebook
Umbraco
New in WebMatrix 2 -Intellisense -Full support for HTML5 Scripts.Add("jquery.validate.js"); Validation.RequireFields("firstname", "lastname"); Validation.Add("age", Validator.Integer);
Developer Preview: Deep Inside the Microsoft Stack of Love Scott Hanselman
Markup mode -click on server controls to see dialog box -HTML5 support. Intellisense and new attributes of controls that emit HTML5
Validation.
C# Design Patterns Seth Juarez
Decorator pattern Extend without extending i.e., Extend without subclassing Power of decorator pattern is that you can chain decorators
Proxy pattern ctor if (_foo == null) {_foo = new Foo();}
Bridge pattern Bridge vs Decorator: Bridge does not implement interface Cannot chain Bridge allows you to inject functionality
Entity Framework Validation Julie Lehrman
[MaxLength(50)] [MinLength(2)] [RegularExpression("...")] [CustomValidation(typeof(xxx),"rule")]
IValidateableObject
ValidateEntity Not called explicitl. Called automatically on savechanges() Can override
Keynote: The Future of Software: NUI: A New Genre of UX Tim Huckaby
Mostly videos of cool things being done with .NET Windows 8: Metro vs Desktop. 2 modes exist side-by-side but don't communicate. Windows Build architecture diagram showed .NET as a tiny square. Misleading. .NET is a major player in Windows 8. Virtual objects interacting with other virtual objects Virtual objects interacting with real-world objects Hardware allows you to manipulate software by thinking.
Functional Programming in C# Oliver Sturm
Currying (Haskel Curry) Convert a function w/ multiple params into a chain of 1-param functions. Each fn returns a fn.
Composition Create a new function to combine 2 functions
Function Construction Creating functions out of existing functions e.g., composition
DevConnections 2011 Photos