June 2004 Entries
Got one of those Nigerian bank scam things through the 'Contact' page on this here blog...which either means that a bot is currently submitting to .TEXT blogs or someone is doing this manually (interestingly, the IP was faked...a 192.x.x.x one)
Just noticed
this in a
comment on
Paschal's blog, looks like there's a new service pack on the way for .NET 1.1, don't see anything about what it includes but I'd guess it at least covers the
June 2003 hotfix pack that handles the accessibility stuff. This is pretty big news and to be honest ikt makes more of a difference to my daily existence than the VS.NET 2005 stuff does right now!
I'm currently in one of those periods where I've got too much to do for the time available to do it. First, I've been working in VBScript / ASP for this site - which is in itself due an overhaul soon...hopefully to ASP.NET...this has involved using an address verification system...which is, how shall I say...fiddly. At the same time, I'm also planning what I have to do for the move to our new offices; I'm stuck with doing the network, server rebuilds,phones etc...as usual; writing a framework upon which all our future products will be based (which of course needs to be ready last week - so I have the fun of explaining 'interface definition' to an ASP coder...).
Ah well, at least I got my new bike to amuse me - I do have a really sore butt at the moment though (which is totally bike related!) - cobbles and hills are evil, as are all car drivers .So that's about it, also been playing with VWD 2005 Express Beta 1 and SQL Server 2005 Express - which both look pretty cool. Hopefully my Visual Studio 2005 DVD will arrive soon as well - at which point I'm going to snag a new 'messing around' machine...
Yeuch...in my continued attempt to stave off a cold my body's been trying to promote to 'full blown plague' status for the past few weeks, I'm currently trying to down
Echinacea Tincture - which oddly Boots don't mention on their website...I may be the victim of a joke and have been drinking slightly diluted yak urine or somesuch for the past couple of days...oh, also been downing
Allimax Allicin - which has a NASTY website...come on, flash gradients!
OK, I get sick of it too...but time for the customary moan about how I've run out of stuff to blog about. Complete nonsense of course, like everyone else, blogging goes in phases for me, I'll get back to it soon enough. I've got an absolute ton of stuff I have to finish; the Amazon localised server control, FreeTextBox .TEXT integration, Nested Repeaters article etc...Anyway, today I had plan ned to buy a bike but Scotland is currently being ruthlessly irrigated and my roof has sprung a leak (I mean, flat rooves, just me or was that a dumb idea from the get-go). Also reading a bunch of new(ish) books,
Coder To Developer (
US) from
Mike Gunderloy - which is a very 'book of now' but right now is pretty essential reading for and .NET developer. Also re-reading
How Would You Move Mount Fuji (
US) - you know, wallowing in nostalgia and 'what-ifs', man I wish I had read that book before interviewing at Microsoft : if you have one I really recommend you read it!
I have a decision to make, currently this site is hosted on my
littile mini-itx server on my highly suspect 512k ADSL line, this has been perfect for my needs for a while now but now my traffic is really starting to ramp up - 15000 hits today and 150mb data transfer (that's with
IIS 6.0 Compression at full tilt), so here's my dilemma: I want to keep the responsiveness of this site whilst retaining my ability to mess around with the bits on it with relative ease. The messing about with part is pretty important to me and essentially rules out hosting my site on something like
weblogs.asp.net - as does the proliferation of users over there, the main feed (HTML) is something like 400k now and practically unusable on a dial-up- compression would help
a LOT! Other options, upgrading my line and server...the line bit is pretty much out, my provider tells me I'd have up to 14 days downtime for that - and it doesn't even allow the upgrade of my upload speed -stuck at 256k! The server...hmm...well it's fine really, I need to up the memory (currently at 512mb - which I need to at least double) but I've realy been impressed with Windows Server 2003 for it's reliability and speed and the little server machine itself has just been perfect.
So, that leaves me with hosting, this site used to be on
Brinkster...hmm...well it was mainly because they offered .NET hosting before almost anyone else but to be honest their uptime sucked (I was at around 70%) and with them being across the water, support and basic response time from here was an issue. So, that leaves third party hosting - here's where you cpme in, I'm looking for a reliable, preferably UK based hoster which really supports .NET (as opposed to having installed it at one point but don't really know anything about it) - so farthe best candidate seems to be
OneAndOne - but I have no experience of this company - do you?
Andy Smith published a phenomenally
handy code snippet on his blog which does a lot of the grunt work for generating DesignTimeHtml for Templated server controls for ASP.NET.
One of our developers had a problem where his VS.NET 2003 installed on Windows Server 2003 was greying out all of the options under the Source Control menu - took a little while to find the solution but eventually discovered it
here - so if you have this problem, run a tool called SSINT.exe from your VSS\Win32 directory.
This is a really handy little add-in which lets you examine the content of XML bearing variables during debug sessions. I just discovered Ben Lovell's blog , lots of useful stuff over there...
I
posted earlier about the MSDN Magazine
CHM downloadable, just found a little
CHM reader (in .NET yay!) on
Codeproject, mobile MSDN magazine! (OK, so technically, always been mobile!)
I don't know why this isn't mentioned more, maybe a link or something! Anyway, as usual you can get the latest version of MSDN magazine
here - this is a CHM, so whole magazine in a single file (makes mobile use MUCH easier).
I don't mind, 'Testing please delete' or other such comments (I don't welcome them, but I don't really mind) but random typing is just annoying...that decides it, I'm going to finally complete my 'ultimate comments validation' solution...
From
Ted Graham, basically you just stick a conditional item into AssemblyInfo.cs - very neat tip! See
his post for more details.
In my opinion at least, the blogs to be found here have got to be some of the best around - you have; in no particular order:
Keith Brown
Fritz Onion
Aason Skonnard
Mike Woodring
Don Box
I mean, good god! Those are 5 of the high priests of .NET - look, just read their stuff!
Basically,
Joel covers a whole bunch of ground in
this article, including issues like why it's not in Microsoft's best interest to support DHTML and advance Internet Explorer (which actually explains a WHOLE LOT!), and the basic problem around Windows - including why he thinks Avalon / Longhorn is a mistake...you really have to
read it, as usual it's a measured approach and very thought provoking!
My opinion (as if you care :-)), it's tricky territory for Microsoft, as Joel points out, the Web is probably never going to be a big earner for Microsoft; desktop apps like Office etc require separate licenses (and these are now REALLY enforced) web applications typically don't.
One thing I do think is interesting is the development of rich WebUIs using tools like Flash (take a look at
this for a brilliant example of what I mean) -
click-once in Whidbey also seeks to exploit this model by allowing users to retain rich UIs whilst also ensuring (enforcing?) realtime updates from the web; I also think that pay-for-use software may just make a comeback...
Anyone know a good book on writing ISAPI filters? I really can't find one; that's less than 7 years old - and therefore hopelessly out of date). I wrote a couple of filters in Visual C++ (umm...5 I think) a few years ago and I really want to get my skills in this area updated...I don't really fancy trawling through MSDN to do it...
There, I said it...even though they cruelly turned me down, though they are monopolists; which I don't see as as problem - let me ask, would you rather Scott Mcnealy was in charge? Even though they cruelly tease us with their Whidbey loveliness; I like the name Whidbey, VS.NET 2005 seems so impersonal. I don't care about any of these things, I have never enjoyed working in a language as much as I do with C#, ASP.NET is a joy to work with and I love being able to contact the developers directly - and get replies. Quite simply I feel part of a community and that is important to me.
I toyed with moving back to J2EE - the fact is that being an ASP.NET devotee is doing my career more harm that good - but I just enjoy ASP.NET better than JSP. Well, it could be the wine talking (Australian Grenache Rose..tasty!) or just my Kate Humble (I mean she's the Geek goddess) infatuation...but hey..let's enjoy it while it lasts!
One of the applications I wrote a while ago is currently undergoing a security / privacy audit...god I hate this stuff. Problem is that even with the best intentions, unless you spend trime specifically designing and developing your application from scratch to be secure - it just won't be. So tip for the day - go through your application, anywhere you have an external input (so, for instance user inputs text), do you check for string length, do you filter out html / html encode the output (obviously if you have RequestValidation enabled this bit won't be an issue). What are your password p;olicies like, do you enforce length and strength criteria - do you store the password in plain text in your Db?
Anyway, just food for thought (oh, and don't get me started on web.config and Code Access Security policies :-))
If like me you've got a severe deficit in your design skills you can probably tell when colours don't go together but can't for the life of you figure out which ones do...well, salvation is at hand in the shape of
this site - pretty nice really, gives you a set of colours which complement each other. I found this on a random trawl which took in
this site
Just noticed this at
secretGeek's site, on his
RSS feed he specifies an xslt and css file for the feed page - result, his users only see a nicely formatted page instead of the nasty XML view you usually see...I'll put
this on mine tonight, it's always annoyed me that some visitors here just see the horror of XML...
From
secretGeek - the ultimate
Gift Bag for new programmers - very funny...and unfortunately very true...
I use
SourceOffSite a fair bit to access my company's SourceSafe DB, just noticed that it's had
a few upgrades - which looks like it'll improve things a lot (like the old 'adding projects' bug which has caused me so many problems!)
This is a *really* interesting issue for me - basically if you're using
VSS and Realtime antivirus scanning you can REALLY slow down SourceSafe operations - this is especially true if you try to use VSS over a remote connection (like over a VPN). I first saw this issue mentioned on the
MSWebDev group - and I can confirm it REALLY makes a different in access times.
It also seems to cause problems for
SourceOffsite (though it's nowhere near as bad). Current suggestions seem to be to disable real-time scanning - for me this is NOT an option. Anyone have any other suggestiong - can I just exclude a particular directory / file extensions?
I
posted previously about this, but this is just an update,
Resharper is approaching it's release date and there's lots of
improvements and changes still happening - I don't know whether
JetBrains have a fantastic development methodology or they're effort isn't going that well - as a fan of one of their
previous tools (which is probably the best IDE out there for any language IMHO) - I suspect the former is true!
Phil Winstanley just posted
this to the MSWebDev list - for all UK peeps,
this will find all 'amusing' place names near your postcode (hint, mine is EH3 7QA) :-). Oh, the guy who runs that thing also has a
pretty cool weblog.
Lorenzo Barberi posts this story of a guy trying to introduce agile methodologies into a traditional corporate 'Waterfall' management culture. What's really interesting in this story are the 'lessons' he mentions:
1) I wasn't very good at defending agile practices, which probably made me seem less competent and less professional than I would have if I had been able to rattle off responses to challenges immediately. That's partially a matter of education, an area where I have gotten better, and partially a matter of my personality (INTP) where I almost effortlessly try to adopt the frame of reference of my opponent.
2) I should have been more gradual in my introduction - I should have started with more up front planning and structure, if for no other reason than it would have made the agile thing easier to swallow.
3) I didn't adapt well to the corporate culture, try as I might (and again, because I am an INTP, I tried _very_ hard).
4) I was in a situation where I had very little control over the inputs to my team (in terms of work, etc), but I was expected to keep everything flowing smoothly and sedately down the river of delivery. This was essentially impossible, and rather than ruin my mental health, my car and my home life, I should have walked away sooner.
It is DEFINITELY worth reading the whole post though. I can totally identify with this, although I haven't been through this myself I've always taken issue with the 'Waterfall' approach (to the point of having left previous jobs because this system caused so much hassle).
So,
search for "mostly lucid" you get all sorts of strange results!
Well, it's almost 3am and I can't sleep - very annoying! Anyway, thought I'd briefly post about what I've been up to of late, well here goes...
1. Work wise - mentioned previously we were using the SCRUM process at work now - so I'm just smoothing out the details of how we implement this, re-read the books I got on it, Agile Project Management with SCRUM (US) and Agile Software Development with SCRUM (US), these are both pretty short and give you a real feel for what SCRUM does for you as well as how to use it - one major issue I've not yet totally solved though is how to scale the process down (scaling UP is covered, just not scaling down) to the typically 1-2 men teams we work with at my company - there is a PDF covering a smaller approach though.
2. Framework - I've also been busy at work developing a more advanced version of our community framework application - this has been a really interesting excercise as it's allowing me to flex my architectural muscles for a change, currently working on some Provider Pattern (part 2) stuff to allow interop with CMS2002 as well as enabling us to easily extend the framework by 'plugging in' new chunks of functionality (think lots of Abstract Classes and Interfaces :-))
3. Home Projects - well, I have some articles which I HAVE TO FINISH - I currently have 4 half completed articles hanging around, which so far cover stuff I haven't seen anyone else touch upon (yet!). As usual these are driven by things I've encountered at work (we have a couple of ASP developers transitioning over to .NET - it's really fascinating to see the things they find tricky - which reminds me, mus put together a list of articles for beginners to ASP.NET!)
4. Community stuff - this is an idea I've been toying with - I really have to get more involved with my local developer group; I've been more of an Aspergery lone-coder type in the past. So...might try to go along to some sort of talk at some point...maybe...
5. Gym...hmm...kind of went through a phase of going to the Gym every night (3 months which seems pretty average) - was losing a stone (14lbs) each month...I really have to go back (if for no other reason that I sleep better!). Currently at the end of a reading phase (averaging 3 fiction, 1 non-fiction books a week right now) sso we'll see what comes next in this wild ride I call life.
6. Women...well...self explanatory...life of a lonely coder...
Anyway, going to have some Cocoa (with Splenda - the choice of the choosy diabetic :-))..and might try to get some sleep (or not...and just load upo with caffeine and annoy the hell out of my workmates tomorrow.)
You've probably noticed the links and ads on the Right-hand column of the site: for the few of you who actually visit the site using a browser that is, the vast majority use RSS readers so won't see them at all... I'm really just experimenting with these things to see:
1. if they actually generate any kind of income
2. to see how the schemes work
They're actually pretty interesting and I don't think they're that obtrusive, the Google adsense ones work as an IFrame and are targetted towards what they see as the site content - which seems to be RSS inclined at the moment...guess it's just a blogging thing, surprised there's not more ASP.NET stuff really. The Amazon ones are not that popular (the Google ones have had WAY more clicks in the one day they've been there) - which is a shame because they took more effort to get up there. Anyway, sorry if anyone finds the concept of this type of ad offensive...but...umm...I get some things up here for download to make up for it (once I get the aforementioned code formatting stuff sorted...)
I tried Resharper a few months ago - and to be honest it was interesting but none too stable. In short, the tool didn't meet my 'more trouble than it's worth' test. Anyway, I just downloaded the latest version (0.84) - it's now pretty awesome, used it in a coding session today and it does make things a lot easier, the 'namespace' insertion stuff is awesome - so you no longer have to remember namespaces - for example, just type StringCollection and a little popup appears with the right namespace and it sticks in a 'using' statement in your class.
So, long story short this is one of only two tools I allow near my Visual Studio .NET - the other being QuickCode (I can generate a Strongly Typed Collection class by just typing 'collection NewsItem' + Alt-Q - which is pretty useful!).
Oh, to get the Resharper download, use eapuser, eapuser as uname / pwd.
UPDATE (09/06/2004): Just noticed that Scott Densmore metions that a new version - 0.85 was released today - also reading the Resharper site it mentions that the final version is due for release in just 11 short days (20th June 2004 for the numerically impaired)...so that's good then! (Oh, Jetbrains - if you want someone to review the final version I volunteer :-))
Typical, I had a method all sorted which let me past code into Dreamweaver in a nice formatted way not perfect but ...now the stupid thing has stopped working...hmm...OK, here's what I need - anyone have a method to do this? I need a tool or some other way to past code straight into Dreamweaver which meets these criteria:
- Fixed Stylesheet - so not dozens of <p> or <font> tags.
- Does not use <pre> tag - this is important, pre just sucks for page flow
- Dynamically converts 'tab' code indents to tags
- Makes 'clean' HTML - so no dodgy namespaces etc.
I've tried Roy Osherove's Macro - suffers from using the whole MS word stuff - so plain awful HTML, I can't believe there's not a really elegant solution for doing this - well, not one that I can find. My real ideal would be some sort of button which lets me just copy source into the clipboard - click the button - anywhere you paste it now uses the ultra-clean HTML - no auto-sensing (which has currently messed up for me), nothing, just pure HTML... Any ideas anyone???
More out of interest for how it works rather than in the expectation that I'll make any money, I've added an ad box in the right-hand-column of the site. Pretty interesting stuff really, I'll leave it there for a while to see if 1. anyone ever clicks on an ad and 2. how many people get annoyed by it (though I fail to see how you can, the ads it's currently showing are mostly for RSS services and RSS Readers...)
UPDATE (08/06/2004): To date I have made $0.59!
This is one of the things I never remember - the strings used to format DateTime strings in .NET - well
here it is...
I've been using
Scott W.s little
Amazon book control on this site for a while now - and it's pretty damn good, haven't made any cash from it as yet...but...well, it always bugged me that it was .com only as written - so if you were in the UK, by default it directed you to
Amazon.com. The version of this control on my site of course directs you to
Amazon.co.uk - not much use if you're not in the UK. What I have now done is incorporate the "
Extreme Optimized IP to Country Lookup" stuff on
Codeproject into this control so the little control now detects a few (umm, 6 at the moment) countries and directs you to the correct (hopefully!) site for your country - try it out, let me know if it works for you (slight issue of my being in the UK only :-)). I'm trying to hack together an independet control using this, I'll put this up for download from this article as soon as I can (currently lives in a single 'ExtraControls' namespace with my View tracking module,a web service and a whole lot of other gubbins...)
As I
posted previously, the
company I work for is looking at improving out development process, with this in mind we're currently trying out
SCRUM - thing is, I've yet to find a tool perfectly suited for managing projects using this method. My criteria are - free (or as near to it as possible), ideally .NET based and able to use the SCRUM process (so, Product Backlog, Sprint Backlog, possibly some integration with VSS).; So how about it, anyone know of a tool that can do this?
Was perusing the ASP.NET Forums earlier when I stumbled across
this post by Revjon (of
FreeTextBox fame), his question was on whether plans exist for integrating FTB 2.0 into .TEXT. Well, I went ahead and did this for 0.95 - not perfect (there's a Javascript popup which I'll have to figure out how to get rid of) but gets the job done (and is cross-browser compatible). If you want to have a play, the files you need are in
this archive - should (fingers crossed, I haven't tested this much!) just be a copy into your .TEXT directory (back up your original just in case though!).
Just noticed a new article on MSDN from Scott Mitchell which pretty much covers everything you need to know about ASP.NET Viewstate. This is one of these ones which will become my first suggestion for people who have questions on this most mysterious and misunderstood of ASP.NET topics. If you are an ASP.NET developer you just have to read this article - I promise you'll learn something from it!
Oh, he also links to one of my blog entries on compressing Viewstate...which I am sadly chuffed about :-)
UPDATE: Just noticed that Scott posted on his blog about this article - also interesting stuff on Google AdSense
Had mine ordered for months now...but the big day finally approaches -
Code Complete (
US) is simply the single most essential book for any coder. I read the
Draft a few months ago and have to say that the second edition is even better -
buy it, read it, love it!
This post by
Scott Hanselman is just a brilliant starting point for beginners in application architecture (in any language actually). In my experience a good basic structure can solve so many problems in an application - and in many cases is a 'freebie', i.e., it doesn't really add any more development time. He does make an interesting point about DataSets in the Business layer...which I'd tend to go along with in the most part - if however you start to get objects which almost exactly replicate the structure of your DataSet...the benefits can be non-obvious - but decoupling your layers by having no reference to underlying back-end stores is almost always a good thing (unless you're doing a DB admin app of course :-))
Back from my (admittedly short) break - Dad's birthday which I really wanted to be at home for this year. We're trying to get a bit more structure going at my
place of work, well we had some before but as we get busier and busier we need to get a more intelligent approach going. So, the approach we've gone for is the
Agile approach using SCRUM - which basically provides a good fit for the approach we need - it's flexible, reduces distraction and works for single developers (many don't and are really based around team development). We're also starting to use the
ToDoList application which is really pretty cool (we previsouly used various apps for this from Project to Outlook to simple text files).