Archive

Archive for the ‘DevConnections’ Category

Top 10 Takeaways from DevConnections Day Four

November 13, 2009 2 comments

November 13th 2009 | Jimmy Bosse

Top 10 Takeaways from DevConnections Day Four

Whew! Day Four (officially day Three, but I am counting the pre-conference workshop)came to a close with the famous “64-bit Question” session where .NET Rocks! hosts Carl Franklin and Richard Campbell gave away some fantastic swag, like $10,000 Team System licenses. Too bad I didn’t win one. It was a great final day and I chose a well rounded set of sessions:

  • It’s the Least You Can Do: Improve Security in Your ASP.NET Applications by Rachel Appel
  • Understanding Efficient User Interface Design by Markus Egger
  • Performance Isn’t Optional – Making Web Services Work by Richard Campbell
  • Building a Rich Web UI at the Speed of jQuery UI by Dino Esposito

And from our home office in Walla Walla, Washington…

  1. Read the SANS Institute Report, “…25 Most Dangerous Programming Errors…”

    We can’t be 100% secure, but reading the report will help you think about the most obvious concerns and direct you to resources for addressing these concerns.

  2. Use White Lists instead of Black Lists.

    You can’t think of everything even if you try. If you are protecting a file upload, compare how many types of files a user might attempt to upload vs. the specific few you want them to actually upload. White List those few and reject the rest.

  3. The UI is how your users will judge your application.

    Most of our work as developers goes into the back end but we are judged on the front end. When was the last time a user said, “Your data model is fantastic and I love how you have separated your concerns?”

  4. Don’t confuse Learnability with Usability.

    Usability is a measure of how productive and intuitive the UI is for the average user. Learnability is a measure of how quickly a user can learn a new application.

  5. Most of your users are “Good – Average” level users.

    A user will quickly transition from a beginner user to an average user while very few will ever become expert users. Yet, as developers, we often program to those two extremes. Refocus your efforts on the majority of users who are somewhere in between. Note that for a public site this paradigm is a little different as the majority of users may very well be beginners who only visit occasionally

  6. Performance Tuning comes after development.

    You will never really know what areas of your application will be bottleneck until people are actually using it. If you attempt to tweak your application for performance in advance, you will just be guessing, and often incorrectly.

  7. Decompose your performance problems.

    By creating tests for each tier independently you can determine which tier is your bottleneck or if your problems are elsewhere, like a 10Base-T hub between your server and firewall.

  8. Sometimes you need to cache less for better performance.

    Cached items are low priority so they can be thrown out by the garbage collector when resources need to be freed. If you are caching
    too much you could actually be forcing the system to run out of resources thereby forcing the system to purge your caches. Only cache things that have high usage.

  9. Go download jQuery UI.

    This framework can help you do some amazing things with the UI, from tabs to modal dialog, this framework is slick.

  10. jQuery is better with ASP.NET MVC.

    Because MVC developers are often in a bare metal HTML frame of mind, not because of any technical limitations.

    My first DevConnections has been a fantastic experience. I heard some phenomenal speakers, met new developers from all over the world, and sharpened my saw. I am excited to bring the things I’ve learned back to our team. But first I am going to have a restful weekend – I never thought a conference could be so exhausting.

    If you have any questions about this series of posts or about DevConnections, feel free to send me an email (jimmy.bosseATthycotic.com) or message me on Twitter @jimmybosse.

    Jimmy Bosse is a Team Lead at Thycotic Software, an agile software services and product development company based in Washington DC. Secret Server is our flagship password management software product. On Twitter? Follow Jimmy

Categories: DevConnections

Top 10 Takeaways from DevConnections Day Three

November 12, 2009 1 comment

November 10th 2009 | Jimmy Bosse

Top 10 Takeaways from DevConnections Day Three

Wednesday seemed to go at a breakneck pace. The sessions I attended on Tuesday were all given by Microsoft employees and only one
presenter used VS 2008. These presentations were all about how I was going to get things done when VS 2010 launches (allegedly in March 2010.)
The sessions I attended on Wednesday had more to do with how to get things done, today (or when we get home from the conference), and everyone was using VS 2008.

My biggest complaint about DevConnections is there are too many good sessions. There were several sessions that I wanted to attend that were in conflict with one another.
The sessions I managed to settle on were:

  • What ASP.NET Developers Should Know About JavaScript by Scott Allen
  • Introduction to jQuery with ASP.NET by Rick Strahl
  • WCF the Manual way… the Right way by Miguel Castro
  • .NET Rocks!- SQL Server Reporting Services by Carl Franklin & Richard Campbell with guest Paul Litwin
  • Refactoring Today’s .NET Code to Good Design Practices by Dino Esposito

And so, without further ado, the top 10 takeaways from day three:

  1. Get the FireBug plug-in.

    It seems like every presenter uses FireBug in Firefox, even the Microsoft team. It is very useful when working with your web UI. Go get it if you haven’t already.

  2. Use $.fn to create your own jQuery plug-ins.

    jQuery is such an amazingly fluent framework and so easy to extend to your own needs.

  3. You can create pseudo namespaces in JavaScript.

    For example, if you want to create a Point object in a Geometry namespace:
    var Geometry = {};
    Geometry.Point = function(x, y) {…

  4. Use “JavaScript-Behind” for your pages.

    It is easy to inline your JavaScript, but for anything other than the most trivial tasks you should move your JavaScript to .js files.

  5. Don’t make any new .asmx pages.

    Use WCF. Microsoft no longer supports WSE (.asmx) web services. Your existing services will work, but don’t make any new ones.

  6. Write your own WCF services without the project templates.

    Although the WCF project types are helpful to get you up and running quickly, they are full of stuff you don’t need and can make your job harder in the long run. Miguel Castro has a good article on this topic here.

  7. Microsoft has merged the Matrix , Table, and List regions into a Tablix.

    A silly name but a very useful change. How many times have you wanted to add a static column to a Matrix or otherwise mix a table with a Matrix? Many times, I know. Now it is possible with the Tablix.

  8. The Code window in Reporting Services still sucks.

    Sorry, I wish I had better news.

  9. Single Responsibility Principle is a Principle, not a Law.

    You are striving to give a class one reason to change, not extract every line of code into its own class. A Principle means that you aim to code towards a goal but have to also balance that with the needs and design of your system and the problems you are trying to solve.
    Shameless Plug: Dino Esposito, IDesign software architect and author,  asked me about our Single Responsibility blog post by my colleague David Cooskey.

  10. Service Locator is good. Dependency Injection is better.

    With service locators, the “injection” of the dependency is being done from within the class itself. This makes it hard to identify
    these dependencies from outside the class. With dependency injection, these dependencies are easy to identify.

    Today promises to be another flurry of fantastic sessions. Check back tomorrow for more highlights from DevConnections.

    Jimmy Bosse is a Team Lead at Thycotic Software, an agile software services and product development company based in Washington DC. Secret Server is our flagship password management software product. On Twitter? Follow Jimmy

Top 10 Takeaways from DevConnections Day Two

November 11, 2009 1 comment

November 10th 2009 | Jimmy Bosse

Top 10 Takeaways from DevConnections Day Two

Tuesday at DevConnections (#devconnections) was a whirlwind of excellent sessions by the Microsoft ASP.NET team. It started with the Keynote by Scott Guthrie (@scottgu) and went on to feature what’s new in ASP.NET 4.0 and VS 2010 Web Development. Shortly after were four great sessions:

  • The Future of C# by Charlie Calvert.
  • What’s New in ASP.NET MVC.
  • What’s New in the AJAX Control Toolkit and Microsoft Ajax Library (#devconnajax) by Jim Wang (@turanuk) and James Senior (@jsenior)
  • Testing in ASP.NET by Federico Silva Armas

After so many enlightening sessions, my Evernote notebook is filled with many amazing things that I learned, even with my laptop battery dying twice. It is hard to whittle them down to ten but here goes, again in no particular order.

  1. VS 2010 supports multiple monitors.

    You can finally move a document off the tab and onto a second monitor. Now you don’t have to waste that beautiful 24” monitor just filling it with palettes!

  2. The Web.Config file of a new web project is empty.

    Ok it has a few lines of XML, but it is no longer War & Peace.

  3. C# will now have named parameters.

    At first this gave me flashbacks of Objective-C, but I have come to embrace this new feature. While today’s IDEs make it easy to see the
    signature of methods to understand what the parameters of a method call are, it is great at quick glance to see explicitly what each one
    is without having to dig into the code, like in a printout or blog post.

  4. C# and VB will have access to the DLR.

    Sitting on top of the Dynamic Language Runtime will allow your C# code to create a variable of type dynamic to hold references to objects
    (like COM Interop) and call methods you know exist on those objects, without the compiler complaining.

  5. Say goodbye to

    And hello to . Isn’t that better?

  6. Areas will help you with your giant Controller directory

    A new feature called “Areas”, will allow you to divide your giant MVC projects into more logical directory structures.

  7. Microsoft Ajax Minifier

    If performance is paramount in your website, this tool will squeeze every last byte out of your JavaScript libraries.

  8. Ajax Library Preview 6.

    The demos from this library were really slick. Go get it and make your website sparkle.

  9. Lightweight Test Automation Framework

    While there are too many automated UI testing frameworks out there, experience has shown that each one is good for different
    testing scenarios. You can quickly tack LTAF on to your website and get started with UI testing.

  10. Custom Logging for LTAF

    Extending logging in LTAF to meet your needs is nice. Federico even mentioned a custom logger that would screenshot
    the browser when the test failed. Now that is a great idea!

  11. BONUS!!! WebSiteSpark

    If you are and independent developer or a small shop, check out WebSiteSpark (http://www.microsoft.com/web/websitespark/).
    For $100 you get access to an amazing set of Microsoft tools and technologies to help get you started.

  12. Today promises to be another flurry of fantastic sessions. Check back tomorrow for more highlights from DevConnections.

    Jimmy Bosse is a Team Lead at Thycotic Software, an agile software services and product development company based in Washington DC. Secret Server is our flagship password management software product. On Twitter? Follow Jimmy

Top 10 Takeaways from DevConnections Day One

November 10, 2009 1 comment

November 10th 2009 | Jimmy Bosse

Top 10 Takeaways from DevConnections Day One

Yesterday I attended the pre-conference workshop, “SharePoint Jump Start: Reimagining Collaboration” hosted by Dan Holme. This workshop was a great tour on getting your first SharePoint site up and running, with an expert guide warning you of the pitfalls and gotchas you might encounter; the best way to introduce your users to collaboration; and some basic business intelligence to wow your boss, without any code.

There were many tidbits of information that I thought were important to remember and at the lunch break I decided that I would post for you the Top 10 things (in no particular order) I took away from Dan’s presentation.

  1. Use the “Advanced” installation option.

    The basic option is a quick choice for when you are evaluating SharePoint, but installing from the Basic option will prevent you from scaling your installation in the future.

  2. Create a SharePoint Administrator account to use for installation.

    SharePoint will embed the account in several locations, and a dedicated administrative account for SharePoint will avoid headaches in the future.

  3. Ensure the Host Headers you use for your Sites are A Records, not C Records.

    The C Record aliasing will cause problems down the road. If you are using C Records, convert them to A Records.

  4. Enforce Check-In/Check-Out on all your libraries.

    Ensuring your users are locking files they are editing will prevent conflicts.

  5. Give managers “Override Check-Out” permission.

    Someone will check out a file and then not be available to check it in when you need it. You won’t have to field calls from
    managers needing to unlock a file if you create a role for the permission and assign it to your managers.

  6. The names of objects you create are often their URLs.

    Most of the time when you are creating Libraries, Sites, etc. in SharePoint, the name you give it in the creation
    forms will also be the URL for that object. Make sure your keep the name short and avoid spaces. You can usually edit the “friendly name” that is displayed in the UI later.

  7. Limit the number of versions in your Document Libraries.

    SharePoint does not diff the changes when storing your versions. Every version is a complete copy taking
    up space in your database. If you do not cap the number of versions, you will quickly run out of space in your database.

  8. Most of the “Workflow” requests of your users can be handled with alerts.

    If a workflow request starts with, “I want to be emailed when…” then an alert will probably be the simplest option.

  9. You can use SharePoint lists as data for your Excel pivot tables.

    This can enable you to provide some basic but impressive “Business Intelligence” functionality quickly and easily.

  10. Folders are obsolete in a Metadata world.

    You don’t need folders to organize your documents. If you collect the proper metadata about your documents
    it is easier for your users to find information than even the best intentioned folder structure. I loved Dan’s
    example of this, “Say you have a photo library with a directory for beach photos, sunset photos, and dog photos.
    What do you do with the photo of a dog at the beach during sunset?”

The session was extremely useful and Dan is a great speaker. I recommend you attend a session with him if you get the chance. If Day One was an indication of the rest of the conference, it will turn out to be great week.

Jimmy Bosse is a Team Lead at Thycotic Software, an agile software services and product development company based in Washington DC. Secret Server is our flagship password management software product.

Categories: DevConnections