Tuesday, 12 June 2007
Live Writer - on/off-line publishing to your blogs
http://writer.live.com/
Talks to Windows Live Spaces, Sharepoint, WordPress, Blogger, LiveJournal, TypePad, Moveable Type, Community Server plus others. I've not tried it in 'offline mode' yet but online seems to work fine. Just got it working easily with blogger and community server (which needs a little more work, see http://wlwplugins.com/how-to-configure-windows-live-writer-for-community-server.php).
Great for managing multiple blogs.
IIS6 app pools and session state
http://blogs.msdn.com/david.wang/archive/2005/09/19/Why_do_I_lose_ASP_Session_State_on_IIS6.aspx
If you use in-proc session state (which is the default and very popular), your application pool's "shut down worker process after being idle" setting in IIS6 is likely to be 20 mins. Thus ignoring your web app config setting if your application pool is *idle* for 20 mins or more.
Easiest solution is to increase this idle timeout value. The other option is to store state out of process.
Wednesday, 23 May 2007
ViewState improvements in ASP.Net 2
Anyhow, I thought it would be interesting to see how much of an improvement I would get on some 'heavy' DataGrid driven data entry intranet pages. Here’s the stats in bytes:
ViewState Size ASP.Net 1.1 (ASP.Net 2)
Page 1: 9892 (7456 75%)
Page 2: 44492 (25696 58%)
Page 3: 39900 (24800 62%)
Page 4: 46300 (23500 51%)
So my worst case was ‘only’ a 75% reduction, but on some pages my ViewState was 51% of the original. Not bad. My advice of course is still to turn off ViewState when not needed ;-)
Monday, 30 April 2007
.Net 3.5 beta 1 is here
As expected it includes LINQ (Language Integrated Query) and ASP.Net AJAX.
Friday, 20 April 2007
WPF/E becomes Silverlight
I like the direction this vector-based technology is going in - decarative XAML markup all nice and separate from the code (I'm a big advocate of decarative UI building). I also like the way it can be embedded into existing HTML/ASPX pages, thus offering a doorway for developers to use the technology in existing ASP.Net apps (it does not have to be an all or nothing approach).
Wednesday, 11 April 2007
Usefulness of Code Reviews
I've just recently completed a code review of a medium sized project written in ASP.Net/Oracle. I did it 'paired' with another developer and was a joint effort. We concentrated on the following points:
- The Solution and how it was organised into projects and subdirectory structures.
- Shared libraries and their usage
- Consistency in 'style of development'
- Source control/versions. How Visual Source Safe (VSS) is used for (e.g. source code only or some docs too?)
- Coding style and conformance to coding standards (and are the standards we have in place up to date/suitable?)
- Any areas where it would benefit from refactoring
- Upgrade comments (recently undertaken) from .Net 1.1 to .Net 2/VS 2005. Where could the project benefit from refactoring/rewritten using .Net 2 features
- Use of the N-tier approach, coupling and possible compromising of layers (e.g. SQL in code behind files?!)
- Stored procs (Oracle) and adopted standards
- Pass thru SQL vs Stored procs
- General concerns and feedback on development so far
Here's the outputs from our session:
- the project could have benefited from being broken down into more sub-projects
- our coding standards need updating to bring in new .Net 2 features, new controls, app_themes etc, and JavaScript coding guidelines.
- N-Tier approach used very well in most places by developers although some SQL present in 'higher layers' from earlier coding (!).
- There were some areas where standards were not followed but mostly affecting 'early code'. Most of latest code followed guidelines and best practise
- Would benefit from the use of Web Services in the shared 'site list' library:
- Source control working well. Oracle stored procs, views etc also in VSS.. but would be better if integrated with TOAD. To investigate.
- Better versioning needed of shared libs.
- Some of the system would benefit from some .Net 2 enhancements (eg master pages, themes, new .net 2 menu tree) but decided to only bring in new .Net 2 features on either brand new modules or where a significant change is needed on an existing part of the system. Consistency important though.
All of this I think is good positive feedback and result in actions where necessary. It was a joint effort, which is important. Even if you are reviewing a new starter's code, there is still opportunity to learn from their past experiences.
If anyone else has experience of doing such reviews, do let me know.
Thursday, 29 March 2007
SPA 2007 Conference
Held across 4 days (Sun-Wed), it consisted of a mixture of workshops, tutorials, case studies and more open ‘think tank/gold fish bowl’ type sessions.
I presented on ASP.Net / Oracle including lessons learned from a global intranet project I’m currently working on. It triggered some good discussions, both during and after the session, especially regarding the backend platform used (i.e. Oracle rather than SQL Server), state management, along with data and workflow modelling.
Here are some of the other sessions I attended too:
Strategies and Patterns for Systems Continuity
Lessons Learned from Scaling XP
Agile modelling practices on innovative projects
The whys and wherefores of Web 2.0
Effective error handling
Architecting the next generation of .Net applications
Quality of the sessions varied but most were well run and worth attending. I didn’t perhaps ‘learn’ as much as I’d hoped, but two points I did take away were:
1) Web 2.0 is not clearly defined (you don’t say!). I don’t like the term anyway. To me the web is constantly evolving, with new tools appearing and becoming established all the time. To label a ‘moment in web time’ like this does not make sense. There was no clear agreement on details at the conference but most did agree that Web 2.0 will/is having a significant impact on the Internet and business.
2) Agile development (XP, Scrum, Lean) is becoming more widespread and is being used to good effect. I’ve not yet used any of these methods ‘formally’ yet but do already use some of the techniques they encompass. Armed with the knowledge I’ve gained (and some new books!), I’m definitely going to see if I can make use of more Agile techniques in the future.
For me though, the session that I remember most was the plenary by the infamous Professor Tony Hoare… acknowledged widely for his Quicksort algorithm, Hoare Logic, CSP (for formally describing interacting concurrent processes) and his research leading to the Z specification language.
He’s a scientist whom I have looked up to since at University. His plenary was on ‘Assertions and Test driven design’. The talk maybe did not contain as much ‘brilliance’ as his stature and background deserves, but nevertheless none of this matters – just to see him present in person was more than enough for me. A man worthy of his Turing Award (1980) and Knighthood (2000).