Dan Maharry

Writing about web development since 1997

The Client Side #002

Hope everyone’s good today. We seem to be enjoying the hottest day of summer so far…

To Read

  • Downloading resources in HTML5: a[download]
    Eric Bidelman looks at the new download attribute on a elements, its purpose, benefits and what browsers currently supports it
  • HTML5 Part 2: Canvas
    Jennifer Marsman presses on with this week’s post series looking at HTML5 features, taking a look in this post at the HTML5 Canvas, showing a simple drawing example using the canvas, and looking at canvas compared to SVG.
  • Return of the Loading Bar: Are CSS3 and HTML5 the New Flash?
    Joshua Johnson looks at CSS3 and HTML5 as replacements for Flash and discusses why in some regards they are coming a little close to hitting the same pain points as their predecessor
  • The future of CSS layouts
    Peter Gasston looks at what CSS3 has to offer for content layout beyond floats and relative positioning. He looks at the multi-columns module, the flexible box layout module, the grid layout module, the template layout module, positioned floats, CSS exclusions and CSS regions
  • 7 Chrome Tips Developers & Designers May Not Know
    Elijah Manor shares 7 tips for working with Chrome as a Web developer or designer, looking at modifying JavaScript and CSS in browser, unminify JavaScript source, Break points triggered by DOM changes, inspecting CSS pseudo-class selectors, keyboard shortcuts, and customising the browser developer experience.
  • jQuery CSS3 3D Animation
    Richard Leggett documents the sticking points he encountered while building a jQuery extension which adds support for modifying and animating CSS tranformations in 2D and 3D. He covers browser support, filters, blend modes, performance, animation and transitions. A demo of his extension is also available.
  • Techniques, Strategies and Patterns for Structuring JavaScript Code–Revealing Module Pattern - Dan Wahlin's WebLog
    In part 3 of his series on writing neat javascript, Dan Wahlin looks at the Revealing Module Pattern, a cleaner alternative to the Prototype pattern.

To Watch

To Try

  • Columnal
    A CSS grid framework supporting up to 12 columns using media queries to promote responsive web design in its users. Columnal is a cross between cssgrid.net and 960.gs. Version 0.7 has just been released

The Client Side #001

The first post – hopefully some sort of groupings will become apparent in time.

Standards Related

  • End of HTML5 Last Call
    The WhatWG Weekly notes that the HTML5 Last Call review period ends tomorrow and highlights the various changes that happened to the spec last week.

To Read

Demos

  • The Expressive Web
    Adobe releases its own showcase for HTML5 and CSS3 features and functionality

Utilities and Downloads

Calling for Writers and Reviewers at DeveloperFusion

It’s taken a little while to write this, but I’m happy to say that I’ve been offered and accepted the job of editor at DeveloperFusion. My new role will be to commission, edit and write new weekly – perhaps twice weekly if all goes well - articles for the site to go along with the news and roundups that are already put out frequently. Initially, I’ll be concentrating on .NET development topics as that’s what I know, but shortly I’ll be looking for articles and authors on many more topics – Apple, Ruby, Python, Perl, Architecture, Databases, Java and more.

I’ve already released two articles which you may be interested in:

These are the first two of a series of articles on Azure coming out in the next few weeks. We’ll also have some Windows Phone 7 stuff, F#, and a good helping of ASP.NET as well. Keep tuned to @developerFusion on Twitter and the article feed to keep pace with new articles as they are released.

We Need You

Of course, it goes without saying that we need your help to keep DeveloperFusion going.

If you’re a writer, experienced or wanting to write your first article, please get in touch and let me know. All the articles we publish are reviewed and edited before release so you’ll get some good feedback on your writing style, content and coding in return, as well as exposure to some 50,000 users who subscribe to our newsletter plus many more who come visiting in through the front door. And if you’d like to write but haven’t any preconceived ideas as to what to write about, we can help you with that too.

If you’d like to help but don’t want to write, perhaps you’d care to review an article or two for us. No matter your knowledge level, there’s likely to be something in the pipeline which your help will make better. You might be able to improve a writer’s code or say whether or not their article succeeds as a tutorial from your point of view as beginner yourself. Those who can, do, as they say.

Either way, please do get in touch. The email address is hello@developerfusion.com. I look forward to hearing from you.

Reflector Giveaway Wrap Up

Well, all 50 Reflector 7 VS Pro licences have been sent off to their new owners. Thank you to everyone who entered and to those of you who didn’t, well it may have been worth your while to jot down some notes. First some stats about the giveaway.

The giveaway started on Friday Feb 11 and was publicized almost exclusively by twitter and those reading my RSS feed. Key people like Scott Hanselman and Jon Skeet retweeted its existence which helped no end, with 804 day 1 page views to the giveaway entry by the end of play. Chris Alcock was also kind enough to point out the giveaway the following Monday leading to another spike in interest of 204 page views that day. In total, there were some 1990 page views between start and finish of the giveaway with 1866 unique views according to Google Analytics.

So nearly 2000 people read about it and yet only sixty (yes, 60) people entered. You missed a great chance here everyone.

So What Is It Used For?

From those entries received, it seems that the most popular use for reflector is trying to figure out how Microsoft’s own code works. As one entrant wrote,

I am a SharePoint Developer.  ‘nuff said.

Indeed, this was not the only SharePoint developer entering the giveaway, although it was definitely the most succinct. Here’s a full list of those DLLs and applications that were mentioned in entries.

  • .NET Framework (unspecified) – 16
  • Non-MS Third Party Components – 9
  • ASP.NET – 7
  • SharePoint – 2
  • MS Dynamics – 2
  • WCF - 1
  • WPF – 1
  • Surface SDK – 1
  • Expression Blend – 1
  • Azure SDK 1.3 - 1
  • PowerGUI - 1
  • Telerik Sitefinity – 1
  • nHibernate – 1
  • MS Commerce Server – 1
  • MS Unlocker for WinPhone7 \ ChevronWP7 Unlocker – 1

Granted sixty people isn’t very representative of all developers out there, but maybe Microsoft are realising there is actually a call for good API docs and in-depth articles on how stuff works. I noticed that the ADO.NET team mentioned this apropos the forthcoming release of Entity Framework 4.1

We’ve held off on extensively documenting the CTPs because the API surface has been changing so much. RC will have intellisense and online documentation.

Something that Microsoft.Web.Helpers could do with for sure.

But figuring out a third-party DLL isn’t the only reason for using reflector. A number of you replied that Reflector had saved the day after a hard drive crash or disaster by source control failure of some kind. CW for example wrote,

I walked in to a new job a couple of years ago, within a few days I noticed that they had an issue with version control. There were 3 VSS databases and some other guy had decided to use CVS – just to add to the mix.

It became clear that the ‘old’ developers were happy with VSS and when it got a bit slow or crashed too much they would just setup a new VSS databases do some copy / paste of files and carry on. The CVS guy knew this was all bad and was trying to force everyone to ditch VSS and move to CVS. To add to the fun people had not used labels in VSS and there was also a culture of checking-in weeks or months after something was put into prod.

So – trying to work out where the current production code was held – or IF it was even held was a nightmare. Luckily for me everything was C# and they had not obfuscated any code.

Reflector to the rescue – every time I needed to make a change in production to something I had not worked on before I would reflect the current production binaries and then compare with what I could find in VSS or CVS. Even 3 years later I am still finding odd bits of code that I need to reflect – none of this would have been possible without Reflector.

Several entries also highlighted one or several of the plug-ins that Reflector now has via http://reflectoraddins.codeplex.com/ and the integration into Visual Studio that the recent Pro versions of Reflector have included.

Reflector has also used in a couple of more innovative ways by entrants.

  • It disassembles IL code back into C#, so a few developers use it to translate their VB code into C#.
  • As an obfuscation check. If Reflector crashes while trying to disassemble a DLL’s code, the developer takes it to mean that they have a good level of obfuscation applied to their code to hide it from casually prying eyes.

And to conclude, here is a list of useful projects that reflector has influenced and helped:

Reflector 7 Giveaway

There’s been a great deal of discussion online recently about Redgate Software's decision to move their stewardship of Lutz Roeder’s Reflector software from a free \ premium model to a not-free \ premium model. The company’s Reflector forum is full of pleads, cajoles, reasonings and answers as to why a Reflector 7 licence will cost you $35 rather than $0 for v6. But when you come down to it, if you use Reflector in anger - and I’m sure many of us do – $35 is a small price to pay for the fantastic functionality it provides. And if you don’t already use it, then maybe I can help out.

Back on Feb 3, Jay Grieves bought ten Reflector 7 licenses with his own money to give them away. Redgate saw the post and offered another 50 licenses for his giveaway. If you didn’t notice it, that giveaway ends today so I’ve got in touch with Redgate and they’ve agreed to give me another 50 licenses to give away. However, rather than just post a comment below, I’d like to help others appreciate how useful Reflector can be.

So, please email me your favourite use for Reflector with examples and screenshots if you have the time and fifty people who send an email will get a Reflector 7 license free of charge. The address to send it to is HeresWhyILove-Reflector@yahoo.co.uk and the deadline is Monday February 28. I’ll post the best and most popular examples here next month.

Good luck