September 2003 Entries
It never ceases to amaze me the lengths to which Spammers go to get you to read their dumb emails...
Some however are just deeply dumb and to be gullible enough to read them would put you into a category of stupidity which would automatically (or should) preclude you from owning a credit card - I mean "Government FREE Cash Program" who would read that!
To be honest Spam doesn't bother me much, I get around 100 spams a day, cause by the fact that I have a VERY old email forwarding address and I used it a fair bit in...
Looks like the FeedValidator people have finally fixed their tool...my feed now validates:
I believe this should apply to any .TEXT users.
Just discovered this, a collection of links to amazingly interesting C# projects.I love the idea of SourceFTP which essentially gives you 'SourceSafe - like' access to FTP - so you can share stuff stored on an FTP server with a form of versioning (and looking at the source which is provided gives me some very cool ideas :-))Also, Bindows looks very interesting - rich client side web app stuff...I'm going to be having a play with the IISLog sample pretty soon...well maybe...
Sorry...don't have much to post about right now...I'll get back to it soon enough.
I love my little Mini-ITX server (you're using it right now :-)) but this is just insane...a Nano-ITX board!
Wonder how long before someone comes up with a consumer version of an array of these things...could sort out the heat problems of bigger chips...just lots and lots of smaller ones. A user level supercomputer...finally!
My interests include .NET, Sci-Fi, trashy TV and Whisky...(surprisingly I'm single - go figure! :-)). Anyway, thought I'd give all non Scots (yes, Scots...Scotch is a whisky...not a nationality) a recommendation on what Scotches are worth checking out...
The Macallan - a gorgeous, smooth single malt Scotch, ideal for people who think they don't like Scotch. Probably the most drinkable whisky around; it also improves with age which can be a bit touch-and-go with some malts - one of the best is the 10 year old...
Johnny Walker Black Label - a cask blend, though not a malt, it is one of the...
I Just thought this was a great article for anyone interested in developing WinForms in C# (or indeed and .NET language)
If you have an office like this in Scotland - I WILL come and work for you...I've said it before, but would you really want to bet against Joel Spolsky for anything - I mean, this guy has some of the best ideas on the planet...Microsoft, how did you let this guy get away???
If you have a few hours and are interested in making the best software you can, read some of the articles on his site. I haven't read a single thing on his site that I've disagreed with (I am very opinionated when it comes to this...
Today the Design Preview of new versions of ASP.NET happens in London...but I have a prior engagement and can't go...wahhhh!!! If anyone from the ASP.NET design team is reading this - I love travel - and the Residence Inn in Redmond is lovely ;-)Anyway, from what I've seen of Whidbey (and I can't even talk about that!) it is looking stunning...well done...oh man, it is going to be fun getting the new stuff into production,,,
The Amiga has a special place in my heart...so, reading this news is fantastic - you will (soonish) be able to get an Amiga ONE (kind of a 'super' amiga) in Mini-ITX form...I am SO getting one when they come out...wonder if MONO will work on it - they have a PowerPC port underway...
I wrote here complaining about the (in my opinion) pretty poor treatment of Architecture (especially) for ASP.NET. Well, here's a suggestion of a solution - I've just read the whitepapers for ALL of the starter kits - some people have mailed me to say that they have 'great' coverage of architecture...umm...no... I think it's pretty poor (verging on really poor) - in most cases the whitepapers say what they did - but not why they did it here's the basic architecture precis from the Time Tracker Starter Kit:
Data access, business logic, and user interface logic is separated into different classes. N-tier...
How did I miss this - a whole lovely article on blogs in ASP.NET in the October 2003 edition of MSDN magazine. As usual, you can download a CHM of it here. But MSDN will you PLEASE RELEASE A MS READER VERSION - would it really be that hard...?!
Found on the Scobleizer... Salam Pax gives an interview - streaming in WMP9 & (crappy) RealPlayer...
In case you didn't know...Salam Pax is a blogger who writes one of the single most interestng blogs ever - he lives in Iraq, was there during the war and seems pretty independent...worth a read and a listen...
I find some really interesting stuff on Roy Osherove's blog (I suspect he's a bit of an internet packrat like myself :0).
Anyway, today he has a link to Brian Jackson's Blog, funny, interesting stuff - which incidentally has a great tagline to one of his posts - 'Nasty tricksey XmlSerializer bug. We hates it forever.' not sure why but I found this incredibly funny...
http://rss.com.com/2010-7345_3-5079603.html?part=rss&tag=feed&subj=news
Gotta love this quote... "Unlike J2EE middleware, .Net doesn't do much beyond connecting information to the Windows desktop. Companies have moved beyond merely connecting applications but now also require software that manages high-volume transactions and all kinds of customer data. They need to integrate complex business processes and centrally automate the management of IT environments. These are all areas where Microsoft continues to fall short. "Huh...I came from a J2EE middleware environment, is this guy insane? In my experience, J2EE is MUCH harder to get to integrate successfully with 'other' systems (i.e., don't natively use JAVA) than .NET - oh, and...
Linked to the other 3, here's part 4 , very interesting stuff about Virtual methods in C#
This is really interesting stuff (well, I think it is!)...here's a section on 'contracts' and virtual methods...the Java bit is SO true!
Bill Venners: What do you mean by incoming and outgoing contract?
Anders Hejlsberg: The incoming contract is what I use when call a method. It enables me to reason about what I am required to do before I call into the method and what has happened after the method returns. The outgoing contract is what I use when I override a method. If...
Can anyone actually code productively when they're tired? My brain does not function at all well in this state and unfortunately, good coffee is a foreign concept in my workplace...
THe problem with being tired is that I tend to make dumb decisions in code which is especially dangerous since I am the only architect in our company. Unfortunately due to some recent events of an endocrine nature, I'm likely to be tired for some time to come...anyone have any tips on how to code whilst being so weary?
Looks like 411ASP.NET (a mediocre ASP.NET information / links site which used to be really good) has been defaced by a script kiddie...as of 10am (GMT) 22/09/2003
Just discovered a fantastic new Web Stats package SmarterStats...freeware for single site & non-comm looks very nice, much better than Analog (and much easier to set up...)
UPDATE: Just installed it, it is written in .NET, simple to configure and has really nice reports - we have a winner!
Found here: http://www.cs.cornell.edu/vogels/Papers/CLI-sc2003-final.pdf for those who hate PDF (I am not a fan..) here's clever little Google's HTML copy...the HTML version loses the pretty graphs though...:-(
Though I'd post this...basically it'll take an RSS (or other any XML) feed from an external source and transform it using a specified XSLT script (try this one for a basic RSS transformer... rssTransform.xslt)
Usage is pretty simple...for example :
Response.Write(getXML("http://weblogs.asp.net/mainfeed.aspx","../xslt/rssTransform.xslt",120))
will parse the ASP.NET weblogs main feed...with a 120 second cache time
Function getXML(sourceFile,xsltFile,cacheTime)
'On Error Resume Next
if((DateDiff("s",Application.Value(sourceFile + "_Expr"),Now())>cacheTime) Or len(Application.Value(sourceFile))=0) then
dim styleFile
dim source, style
styleFile = Server.MapPath(xsltFile)
Dim xmlhttp
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
xmlhttp.Open "GET", sourceFile, false
xmlhttp.Send
set source = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
source.async = false
source.loadxml(xmlhttp.ResponseText)
set style = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
style.async = false
style.load(styleFile)
outputHtml = source.transformNode(style)
if(err.number = 0) then
Application.Lock
Application(sourceFile) = outputHtml
Application.Value(sourceFile + "_Expr")...
Though I'd point to an excellent article on Indexed Views. For those who don't know what these are, well, if you have a fairly complex database schema, you can gain a great deal of performance benefits by aggregating the output of common queries into indexed views. Unlike normal views, these are authomatically updated when the underlying data changes (normal views are pretty much just running another query when you call them).
They're best suited when you perform frequent queries on relatively static underlying data (kind of a database level cache)...
Okay, I realise that probably everyone and his / her mother knows this already, but if you want to log ALL errors in an ASP.NET application, the simplest way I've found to do it is in the Global.asax.cs (or whatever codebehind)...simply do this:
protected void Application_OnError(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if ( ex is HttpException )
{
if (((HttpException)ex).GetHttpCode() == 404)
return;
}
ExceptionManager.Publish(ex);
}
In this instance, ExceptionManager is the Microsoft Exception Manager application block...you can (and really should) use this in conjunction with CustomError. The reason I do it here is that I prefer to make my error page flat...
I have to admit a slight obsession with the concept of Zero Point Energy...now I am the first to admit that what eveidence there has been so far has been mostly hokum but what if...clean, free energy forever that would be pretty useful. For one of the current 'front runners' have a look here...
http://jnaudin.free.fr/meg/megv21.htm looks a pretty heath-robinson contraption but, you never know!
@Stake have just released a study looking at the relative security of .NET vs. WebSphere (WebSphere is probably the most secure App Server for J2EE). I have to say, I trust @Stake more than most, having have a good deal of involvement them in years gone by...
Free XML editor...http://www.xmlcooktop.com/
UPDATE: Sorry, forgot to mention where I found it...via John Mandia's blog
On Dave Winer's Test Site...fantastic picture of Hurricane Isabel - now my new wallpaper :)
I was asked if I was going to the PDC this year...I would love nothing more than to go...but with a $2000 registration fee, and close to 3500 for travel and accommodation...let's just say I won't be going. Would it really be so hard to hold one of these in Europe?
Most employers will cough up for the registration, but the travel to LA is a bit much. I guess it just means that us European developers lose out again...
Further to my earlier bit on Threading, this site has some brilliant (fairly advanced) examples on various things...including a custom Thread Pool
Now this is very cool...why VS.NET doesn't have this built in is beyond me...Visual XSLT pretty much all you need for XSLT development within Visual Studio .NET...costs $295 for commercial users but they have an educational license (which I think is always a good idea!) see here for pricing...
I have recently been having a look at threading in ASP.NET, found this excellent article from June 2003 which is a pretty good introduction to the whole thorny issue. Also found a useful example from the 'always worth a look' C# Corner...here
The following is via Roy Osherove's blog..
Interesting research
aoccdrnig to a rscheearch at an Elingsh uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. The rset can be a toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae we do not raed ervey lteter by it slef but the wrod as a wlohe.
UPDATE: Oh cool, this is one of those cool little viral things on the net...wonder who started it?
Though I'd provide an update of stuff I'm working on for this site; which will be finished eventually finding time to do it is pretty tricky. Anyway, I've been delving deep into the core of .TEXT and working out how things fit together. Plan is to develop a Search component using Full-Text search which returns results as a DayCollection the same as the current .TEXT. One plan for this is to have an 'improptu' categories type function, where entering a search word with a querystring will provide a page similar to the way categories works already.
I'm also working on a...
Found this on the Furrygoat site, this is a truly excellent site on the GoF design patterns (you'll see this alot, it refers to this book - the original book on design patterns). If you're creating applications in any language, I really recommend you get at least a passing knowledge of what patterns are and how they can be used.
Have a read at this article on implementing the SIngleton pattern in C#. No idea what I'm on about? Well, the Singleton Pattern isn't a knitting method for the lonely, it's one of the most important techniques for ensuring that two people - on the web its' mostly separate people - for instamce, don't try to read and write a resource at the same time. A Singleton is defined as an object which is allowed only a single instance within an application context - so all uses of the functionality provided by that object are handled by this single instance.
As an...
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS03-039.asp From Patrick Steele, this looks like a pretty serious problem, patch now to avoid another Blaster...
UPDATE: Thought I'd include the technical details...this could be even more serious than the flaw which allowed Blaster to propogate...hopefully everyone turning on their Internet Connection Firewall / getting a hardware firewall after blaster will prevent spreading (I still see incoming Blaster / Nachi attempts on 135 every couple of minutes...)
Technical description:
The fix provided by this patch supersedes the one included in Microsoft Security Bulletin MS03-026.
Remote Procedure Call (RPC) is a protocol used by the Windows operating system. RPC provides an inter-process communication...
Reproduced here for your delictation...from here
Scott Hanselman's Ultimate Developer and Power Users Tools List
Roy Osherove suggested that I post a list of the contents of my C:/UTILS folder. Everyone collects utilities, and most folks have a list of a few that they feel are indispensable. Here's mine. Each has a distinct purpose, and I probably touch each at least a few times a week. For me, util means utilitarian and it means don't clutter my tray. If it saves me time, and seamlessly integrates with my life, it's the bomb.
Here are most of the contents of my C:/UTILS folder. These...
I wrote on Brian Desmond's blog about how good a C# (open source of course!) statistics system would be...this got me thinking - it wouldn't be that hard to write one based on an HttpHandler. I don't really want to log accesses to graphics etc...and if I did, I can just 'wildcard map' to the aspnet filter... A nice simple Asynchronous write to a Sql Server DB (avoiding the overhead of parsing log files) should do the job...hmm...interesting! Oh,and of course there's lote of free components for doing charts in .NET - this suddenly looks very possible :-)
UPDATE: Of course...
I love the articles which Joel Spolsky writes, I already linked in an earlier post to an interview he did about social software and forums in particular (I'll dig out the link tomorrow - and the search function is almost ready :-)). Found a link via Scoble and Paul Vick about interviewing techniques "The Guerilla Guide to Interviewing" is pretty interesting and provides some useful advice on hiring.
I have to admit to being the worst person at hiring who has ever lived - ironic considering that I trained as a clinical psychologist...I find it really tricky to adequately assess skills,...
I linked to the other two...might as well think to this one. It is another really interesting article and provides further insight into the reasons for some of the decisions taken in the design of C# by a guy who is probably the finest language designer on the planet...(I still love Delphi, which he also designed!)
I currently use a batch job with analog for the stats for this site, but it isn't perfect (I like to see a list of visitors in chronological order for instance, which analog doesn't provide...). Brian Desmond has published a handy little article on the set up of AWStats on a 2003 server...very interesting - will be trying this tonight...
Now my main computer has gone odd...connecting up a telephone line has caused Windows XP to require reactivation. Microsofts' product activation doesn't let me get straight through to a human, so I have to go through entering a long number in the full knowledge that I'll have to talk to a person in the end anyway! Ho hum, just having a 'gremlins' weekend I guess...
RIght gotta go to bed...
The saga continues, I can recieve mail OK, but I can't send it from my server; now, it works from the smtp local server on my main machine so I don't think it's a Firewall thing - I'm very confused! So if anyone has any idea why,please let me know!
Anyone trying to send me an email on this address, please use scott@mostlylucid.net or trak@psynet.net instead until further notice (stupid SMTP server is throwing random DNS errors...preparing to abandon the Win2003 mail functions and installing Mercury MTA instead - which is incidentally,awesome, reliable and free!)
UPDATE:- Instaled Mercury, seems to be good now...
This one drove me nuts for a while, I have an smtp server running on my server, but occasionally, the SMTP administration snapin would disappear for no particular reason. This is needless to say VERY annoying - as there's not other effective way to administer SMTP and the snapin doesn't appear in the normal list. Well, forget where I found the solution but here's the fix - just run this command - regsvr32 c:\windows\system32\inetsrv\smtpsnap.dll and you'll magically see it's back!
That got your attention - the biggest usability problem in my opinion is the horrible single form you're usually forced to deal with - I know Paul Wilson has a multiple form control for sale, and it is really cool but there is an easier way for most people. To see an example of what I mean, have a look at the ASP.NET site, enter a search term then hit 'enter' - nothing happens! Now, this is only a pain because its' not the expected behaviour - see Steve Krugs' excellent book on web usability, Don't Make Me Think for...
I am in the middle of developing a couple of new controls to work with this site (first up is a booklist which works with the amazon.co.uk web service), as part of this I need to have data access. I was having a look at the current SQLHelper class in the DotText.SqlDataProvider namespace - it is basically the same as the Data Access Application block but has a couple of useful methods missing (e.g., the SqlParameterDataCache which I use a LOT - cuts down on typing :-)). As a result of wanting to use these methods whilst still using the same...
In light of the hideous SoBig and a couple of other nasty email based virii, my company decided to implement a virus checker on our Exchange box (before we were depending on client based ones - too easy to switch off!), anyway, small company, expensive products so we wanted to try one out first - I came across the GFI product which is just about perfect for us, they are also offering a freeware version which offers a limited (but still secure) virus checking facility. Anyway, you can get it here and I really do recommend you install it...
This is just the coolest thing! I currently use my iPaq with a 512mb compact flash card as a portable music player - using pocket music (I like OGG!). But this little thing looks really cool, much smaller that my current setup and it holds more (1.5gb). I also have an old Archos Jukebox (10gb), but it's pretty bulky and not great on the move...
Everyone probably knows about this, but I still think that IrfanView is the single best image viewer ever made...oh, and its' free...and REALLY fast!
Looking at the Salam Pax blog, sound these stunning pictures from one of the links
Noticed in my local bookstore that Salam Pax has a book out. I started reading his blog pretty early on (my first blog!), he gives a unique perspective on the situation out there. Salam Pax seems relatively unbiased and gives the views of someone who actually lives there - which is a rare and precious thing in my opinion....click on the link below to visit Amazon and buy it! In the interests of full disclosure, this includes my new associates ID - mainly used to accrue back some of my own spending on books!
If you don't think this is a start of a trend...well...the last true marketing opportunity. I'm aware that there's a few schools in the states which are already basically sponsored by corporations but this is quite sad...Anyway, have a read of Jennifer Government by Max Barry if you want to get a feel for the way things may be going. It's basically a story of what can happen if corporations become more powerful than governments (so, your kids get names like Kate MacDonalds and John Hasbro etc...)
Hmm...have to look at some way of differentiating pasted cotent, the previous entry wasa from here. It's not by me!
Pretty clever little function...can't think of a use for it right now :-)
Find words NOT IN text
I'm currently writing a series of articles (that will hopefully get published {grin}) titled "Regex Reminders" that will provide dozens of code snippets that demonstrate how to perform common - and some not-so-common - operations using regex.
In the first article titled "Replacing" I came up with a script that shows how to highlight a word when NOT found within another piece of text. The following code snippet highlights that...
Match "foo" not in ANCHORS using MatchEvaluator
[C#]string source = sourceTextBox.Text ;Regex re = new Regex(...
Just a quick link to an excellent icon resource site...FOOOD's Icons. THe photoshop templates are incredibly handy.
Realy for my own memory, Thomas Johansen's site with the marvellous Aylar Highlight, a source code highlighter
Noticed this article on making ASP.NET output valid XHTML...looks pretty complicated - maybe the next version will have better support ;-)
Again with the useful tools! Anyway, Sam Gentile provides some info on some tools by Jonas Blunck which I haven't seen before and look very useful...anyway, must get to bed!
Hmm...this seems pretty cool! Now that I have all this stuff working, I just have to figure out how to intergrate some other toys...
If you notice any problems, please let me know...this is now running on my own little server - and I'm not entirely sure it'll work. If you have problems, please let me know at scott@mostlylucid.net. Anyway, this is the .Text version and it's pretty good apart from a problem I had with categories...hmm... So, I'm working on a few littlebits and pieces for this site now that I have full control of it (yay!)
It is REALLY worth doing this, dialup users will love you long time for doing this!
(Oh, and you'll effectively quadruple your bandwidth :-))
This is an excellent article from
a techie with a cat
Driving me nuts, I'm trying to remember the name of the guy who is producing a complete
CGI movie from his front room...think he's ex-ILM...any ideas???
Just spent almost an hour trying to get my SourceSafe DB backed up...then discovered this freeware
utility which does it for me :-)
I've been getting a few new toys of late, one has been a little BEFVP41
VPN router from Linksys- this is an incredibly cool, easy to use IPSEC VPN
router which lets me connect to my office (where we have another one of these installed)
to access out sourcesafe, email etc... You can use little software clients like the
lovely SSH Sentinel (no
longer free unfortunately, if anyone knows a free one, please let me know). I have
a feeling that these...
I'm having one of my 'I should have gone to work for Microsoft' moments...As you may
have read before, I had an interview a few years ago (is it really four years...damn!!!)
and long story short, I didn't take the job. My problem at the moment is that what
I like doing (playing with new technologies, architectures etc...) is not the most
commercially vaible thing for my employer - doing the same old thing over and over
unfortunately is... I can't see any other employer who...
I am a huge Douglas Coupland fan...so bear
that in mind when reading this reviewlet!
The story of Hey Nostradamus! is about
a high-school massacre in Canada in the year 1988. The first chapter concerns the
story of a girl who is killed in the massacre, Cheryl Anway - it really is one of
the most touching...