Andrew Stopford's Weblog

poobah

News

Articles

Family

Old Blogs

Posted: by

Comments

Dan said:

I'm probably not going to respond directly to the dynamic language stuff in that thread--I don't know enough about .NET to really argue the details on my side, and Miguel pretty obviously doesn't know enough about the performance characteristics and implications of dynamic languages to argue on his.

All I can say is that of the very few attempts I know of, they're either really slow (python) or require machine-code hacks to .NET (S# which, BTW, nobody public's actually played with, though I have seen Dave give demos).
# May 14, 2003 1:29 AM

Frans Bouma said:

Obviously he hasn't looked deep enough in HotSpot :)
# May 16, 2003 12:11 AM

TrackBack said:

Scott Hanselman's Weblog : Scott Hanselman's Weblog
# May 16, 2003 7:34 AM

Andrew Stopford said:

and he does....

http://www.bradsoft.com/topstyle/blog/index.asp

:D
# May 19, 2003 4:15 AM

Andrew Stopford said:

After going through Chris Brummes post on value types my post is incorrect. System.Enum inherits from System.ValueType but is in fact not a value type but a base class from which all Enum types are derived. I am still unclear as to how Enum types are typed as value or referance types but Chris's post does include the following.

>Now is probably a good time to address one of the glaring differences between the ECMA spec and our implementation. According to the ECMA spec, it should be possible to specify either a boxed or an unboxed value type. This is indicated by using either ELEMENT_TYPE_VALUETYPE <token> or ELEMENT_TYPE_CLASS <token>. By making this distinction, you could have method arguments or array elements or fields that are of type “boxed myStruct”. The CLR actually implemented a little of this, and then cut the feature because of schedule risk. Presumably we’ll implement it properly some day, to achieve ECMA conformance. Until then, we will refuse to load applications that attempt to specify well-typed boxed value types.

So as I read it while the ECMA spec says that a Enum can be referance or value type the CLI only allows Enum types to be value types. Thus it seems the Enum structure its self cannot be boxed but all of its containing values (GetValue to return an array for example) can be boxed. I am off the mark with this train of thought anyone?
# May 19, 2003 4:28 AM

Wally said:

I went to high school with Nick Bradbury.
# May 19, 2003 6:55 AM

Royo said:

Use the C# books then. Any decent VB.NET programmer should know how to at least *read* C#, since its here to stay, and, currently, is the most used language for examples on the web and in books.
Besides, its all about the framework classes anyway, so reading the coding and writing it in VB.NET should pose no real problem.
I think most C# books could have a parallel book about .NET. I don't see how publishers havn't see the money in this yet.. Write the book in either language - then translate it to the other. Its the simplest thing in the world and the ROI on this in huge.
Programmers such as yourself would love to get those books mentioned above in a VB.NET edition. Basically I think publishers are negelcting a key audience here. Too bad.
# May 28, 2003 11:08 PM

Sam Gentile said:

> As VB.NET handles things in a different way to C# (as we know) it means that while these books are useful it also means more work translating the code.

How so? I can't understand your post at all. C# and VB.NET are only vaneers over the CLR and BCL, with syntax. I have been trying to make this point for 2 years. *Nothing* in .NET is the language - the CLR does it or its a call into one of the library functions of the BCL. This is a fundamentally different world than Win32/COM/VB6 where it was completly different, I don't know of *anything* in the ASP.NET namespaces that doesn't work exactly the same with C# or VB.NET. 99% of the two languages overlap and the 1% of differences betwen VB.NET and C# does not include anything in ASP.NET. If the call to System.Foo.Bar is the same, just take out the semi-colon and add 60% more verbosity for VB.NET. I don't get at all why you can't use the C# book.
# May 29, 2003 5:46 AM

Andrew Stopford said:

Thanks for the comments Royo and Sam :)

Royo - my point exactly, I agree VB.NET programmers should be able to read C#. You hit the nail on the head though, C# books should also have VB.NET editions. Heck if the languages are not so different then surely it would be easy to do and it means another audience that the book can sell to.

Sam - I am with you on that one. No matter what the language, usage of the BCL stays the same. So using either C# or VB.NET does not change how you use the ASP.NET namespaces. Agreed. My point is that when you have your boss, his boss and his boss breathing down your kneck you want a book with the answers (and indeed code) in front of you and not have to translate it. Easy to do, sure enough, but it means I am spending time translating, and thats time I don't have.
# May 29, 2003 10:42 PM

Dare Obasanjo said:

There is a "Mark All As Read" feature. It's the "Catch Up On All" menu option.
# June 8, 2003 7:03 AM

Andrew Stopford said:

Ah cheers Dare :D
# June 8, 2003 7:27 AM

Dare Obasanjo said:

No problem. By the way, my last name is spelled "Obasanjo" with two As.
# June 8, 2003 7:49 AM

Andrew Stopford said:

Opps sorry about that Dan I'll correct it ASAP.
# June 8, 2003 8:03 AM

rick said:

Rent the game first. Despite the poor AI/graphics/plot, it was fun for a minute being able able to fight in 'bullet time.' It doesn't add too much to the whole matrix experience IMO.
# June 24, 2003 7:52 AM

Robert Hurlbut said:

I concur that Sam would be great:

http://samgentile.com/blog/Story/2046.aspx
# June 24, 2003 10:07 AM

Alex Hoffman said:

A much better idea than "currently listening to"!
# June 25, 2003 1:42 AM

Frans Bouma said:

"Rotor, Mono, Dot GNU"
What about them? Rotor is Shared source and utterly slow (not designed for that), mono is not near a finish and dot gnu... don't get me started.

.NET is miles and miles away from what java already offers. Not in all bad, but I get a little tired of all the hail and praise about .net when there is so much lacking and the api's design offers design flaws every day. The day .NET gets a system like EJB and application servers which can span multiple boxes, that day .NET is truely up to par.
# June 26, 2003 11:13 PM

Andrew Stopford said:

Nothing like friday fight club :D

Why would you say Rotor is slow, where is your proof? Mono is finished enough to be used in three cross platform commerical applications already and dot gnu is work in progress (but getting there). The point here is not .NET vs Java (because that fight will go on and on...and on...zzzz) but rather that .NET is not tied to Microsoft and other folks ARE making it cross platform, sure that work is work in progress but the point is that its happening. You don't like it, fine, but there is no doubt its happening.
# June 27, 2003 12:55 AM

Frans Bouma said:

I like .net, I develop in it 10 hours a day, it's just that it's a technology, it's not a thing that makes everybodies life incredibly more valuable. .NET is tied enough to MS, believe me. Check the .data namespaces and the winforms namespace. Winforms implementation on f.e. linux is very hard if not undoable due to the WM_* and other messages ties under the hood.

Benchmarks run on rotor are considerably slower than the .NET sdk runtime. However I don't see why that's a bummer, after all it's a release for educational purposes.
# June 27, 2003 1:03 AM

Sam Gentile said:

Happy early birthday!
# June 27, 2003 1:49 AM

Wes Haggard said:

Then the next day is my birthday(6/29) I will be 25.
# June 27, 2003 2:37 AM

Alex Hoffman said:

Happy Birthday!
# June 27, 2003 2:54 AM

Andrew Stopford said:

Thanks Alex and Sam :D

Happy birthday to you Wes for Sunday :)
# June 27, 2003 3:15 AM

Andrew Stopford said:

I don't disgaree its just a technology but the point was that .NET is JUST a Microsoft technology, my point is....its not.

Rotor is slower than the commerical product because Rotor has no JIT but the source is available so adding a JIT would (although not easy) be possible. As you say Rotor is not for commerical use but they point is it's running on lots of platforms not just windows.

The namespaces you mention are work in progress in Mono. The data namespaces are almost done and WinForms being created in a combination of Wine and GTK#. Its been a lot easier to do in Mono because they were able to approach it from a fresh angle, Rotor would be harder but not impossible (the fact the source is there means someone can).
# June 27, 2003 3:24 AM

Anon said:

Don't feed him. He does this everywhere and on the DM lists too.
# June 27, 2003 6:29 AM

Phil said:

I have been thinking about this exact thing for a little while now. I am not a big ColdFusion developer (I barely got past the tutorials for it), but it was VERY easy to get up and running and easier to make a simple database-driven web page. I'm not sure if creating a CF engine for .NET, but a language similar to .NET which would be simpler than the .NET languages, yet easier to do DB related tasks could be interesting.
# June 30, 2003 12:56 PM

Jesse said:

There is already a .Net edition of Coldfusion under development by a 3rd party under the name of BlueDragon. It allows you to compile a cfm application to a native .net assembly (pretty cool eh!) They also have a version that compiles to true Java code which does not require the original sources on the server...
# June 30, 2003 11:08 PM

Robert Hurlbut said:

If I remember correctly, it is pretty well known that Amazon runs on a Unix/Apache site, as opposed to Barnes & Nobles and Borders, which are Microsoft based sites.
# July 7, 2003 8:42 AM

Andrew Stopford said:

See I am one of the few people that did'nt know that so what a guess :D
# July 7, 2003 9:05 AM

Scott Mitchell said:

I recall hearing on /. that they use a custom library built using Perl...
# July 7, 2003 9:47 AM

Robert Hurlbut said:

I do know they use Oracle for their database (and not SQL Server -- duh, if they are running on Unix!).
# July 7, 2003 10:04 AM

Lawrence Oluyede said:

We're developing something like that (a skin feature) in our internal custom control library. It's something like predefined skins...
# July 7, 2003 10:23 AM

rick said:

Most of the settings in simple forms (textbox, dropdownlist, etc) can be set with CSS. I never use the webcontrol properties except for CssClass.

There are a few properties (mainly with the more complex controls like the calendar or datagrid) that override CSS settings.

Technically you shouldn't style your form elements in the HTML or ASP.Net syntax. That should all be done in CSS if possible.
# July 7, 2003 11:16 AM

Kenneth LeFebvre said:

Yeah, I think that day will come when content searching and organizing is better.

I've often told my peers that I think blogs are the tip of the next iceberg... their eyes glaze over and they look for an excuse to go do something else!
# July 15, 2003 8:18 AM

HumanCompiler said:

Unlike talking to someone or chatting with someone, blogs are permanent and a place in history...there's a lot to be said about that.
# July 15, 2003 9:06 AM

Dumky said:

There is so many forms of communication and communities: mailing lists, newsgroups, irc, forums, blogs, wikis,...
All have different models and advantages. I will be glad when more appear, but on the other hand I hope for some consolidation (not every variant merits a name or fame) or at least integration. Integration would mean you can have a conversation over different mediums and still have a "smart" tool display it to you as a conversation.

The one problem I see with blogs is that you don't always want to read somebody's full blog: only some topics may interest you. How to balance having so many sources of information and avoiding information overload or spam?

Cheers,
Dumky
# July 18, 2003 11:35 AM

Dan said:

I should point out that I put up the bet originally (which started at $10 and a round of beer. The ante was upped later) and Guido took me up on it. Not a big deal certainly, and since he was the challenged party and it was the Python Lightning Talks that it was announced at, it seemed gracious to let Guido take the lead.
# July 21, 2003 6:39 PM

Roy Osherove said:

I usually put on some matrix music in the background to keep me focused.....
I know the feeling. isn't it awsome?
# July 23, 2003 12:14 PM

Andrew Stopford said:

IL, more IL, Coffee...more IL...

Music is a great idea, sadly I am still at work and music is not allowed. I'll get some humming going.
# July 23, 2003 12:27 PM

Scott Watermasysk said:

Did you see the date: ( Dec. 20, 1999) :)
# July 23, 2003 6:19 PM

Paolo Molaro said:

It's not the point of Mono to hold off other people writing free software. Parrot will continue as long as its developers and users are having fun writing it, regardless of Mono running dynamic languages or not.
Languages like python and perl won't run faster on the CLR than with their respective C implementations, for the same reason that C code won't beat hand-optimized assembly code. So the question is: how much slower? Of course if it's too slow it's unusable. Jython is said to run from .70% to 10 times slower than CPython. A python running on the CLR is expected to run at least the same and probably quite a bit faster. The activestate implementation might have been a false start or there was not enough time for them to optimize it.
The perl slowdown factor would probably be a little higher, since the perl internals are really complex and require tons of special case handling code.
Changes to the CLR or otimizations in the dynamic languages runtimes could improve the numbers with time. At the end of the day a mean slowdown over the C implementation less then 2-3x is perfectly acceptable, for the same reason we accept that C code is slower than asm: easier coding, better interoperability. If more speed is needed, critical routines can be written in C# or IL: since C# code is 10 times faster than the perl/python one the overall run time won't change much.
So, performance is not the only issue, though it's important, if you need speed the existing C implementations are the best bet (and certainly parrot will be the fastest way to run perl 6 code).
The key issue is interoperability between different languages. Now, given this assumption, what is the best way to allow interoperability between dynamic languages and static typed ones? Parrot will probably be able to run both python and perl code, but what about C, C# and the like? If (and this is a really big if) Parrot will be able to C# code, it will be at least 10 or 30 times slower than the CLR (because of the complexity required by IL code). This is assuming Parrot maintains the current architecture (which I think it will). Will that be more acceptable than a 2-3 slowdown you'd get on the CLR for languages like python and perl that are already slow? Consider than in the CLR, if subsets of the existing python/perl code are too slow, you can use another high level langauge that is very fast like C#. On Parrot you can only go with a loadable extension implemented in C, losing portability and ease of deployment.
In the end I think Parrot will have perl and python implementations running together, maybe with the python code beating the CPython engine (we'll see who takes the cake on his face:-). The CLR will have somewhat slower python and perl implementations, but they will interoperate with C#, IL, VB.NET, mercury etc.
# July 24, 2003 10:39 AM

Andrew Stopford said:

Thanks for the commnets Paolo, don't get me wrong its not that I was saying that Mono will hold off other people writing free software but that as a VM Parrot seems to offer more than the CLR (now I am not saying that for certain but the dynamnic languages issue is a big one and one the CLR has yet to address). I would love to hear Dans comments on the points you raised, Dan if your listening.....
# July 24, 2003 11:08 AM

P T Withington said:

Laszlo uses XML format plus a DTD that defines the syntax of our object-oriented language, so any XML-aware tools can be used to manipulate our sources. Our scripting language _is_ ECMAscript, not just ECMAScript-based. We are working on supporting SVG as one of our media formats. The parts of our language that are not standard are the parts where we are innovating. We surely hope thes become a standard some day!

P T Withington
Software Architect
Laszlo Systems
# July 29, 2003 8:27 AM

TrackBack said:

# August 1, 2003 4:01 AM

Jesse Ezell said:

one of the laszlo guys stopped by my blog when I brought this up. He noted that you can actually use laszlo with .NET, it is just there server which is Java. I couldn't quite determine what he was trying to say, because what use is the app without the server? But, maybe the server isn't required for your apps or something?
# August 1, 2003 4:04 PM

Tim Sneath said:

Thanks!
# August 6, 2003 12:42 PM

Jesse Ezell said:

But that would take more talent than Macromedia currently has working for them ;-)
# August 8, 2003 2:42 PM

rick said:

Doesn't ASP.Net go ASP.Net -> C#/VB.Net -> MSIL?
# August 8, 2003 4:13 PM

Chris Martin said:

Yes. But, ASP.Net *IS* C#/VB.Net.
# August 8, 2003 7:45 PM

Andrew Stopford said:

Jesse, interesting point, interested in the challenge, I know I am ;-)

Rick, good point, but you could say its true and false. If you take ASP.NET as a framework (for example libaries to work with cookies etc) or the ASP.NET runtime then its written in C# and compiled to IL, however its delivered as compiled (that is you never see the source). As ASP.NET is desgined to be language independent you can then make further use of the libaries using any managed language that you choose (C# and VB.NET are just two of many).

Is this the same as CF? The reason why some parts are compiled and other parts you write the source for is that you don't need to see the source of the compiled parts but others you need to write the source for. If your going to write CF source in (if we were working with .NET) C# then you write it in C# but to compile first to C# amd then to IL makes no sense what so ever (an example of this is the Mono JScript.NET compiler JANET, it currently follows this model but is being to changed to compile stright to IL, the reason :- its a lot faster). Your making the compiler do more work as it as to first walk the tree to generate source (in the orginal case Java) and then walk the tree again to convert it to another source (JVM).
# August 11, 2003 3:50 AM

Phil Costa, ColdFusion Product Manager said:

Actually, ColdFusion MX 6.1 <u>does</u> compile directly from CFML to bytecode. That's the reason it is now much faster. The fact that we used to compile to Java then to bytecode is explained in the article only to provide a contrast with what we're doing now.
# August 11, 2003 9:00 AM

Andrew Stopford said:

Phil, many thanks for the info, I did think as much. As a side note as this model is now being used the translation to the CLR from the JVM is easier (I am not saying its easy by a long way just *easier* :)
# August 11, 2003 9:10 AM

Jesse Ezell said:

I was under the impression that it was just some PIAs, not fully native .NET... pretty cool stuff though. I've been debating putting together a C# version of SWFSource for a while (for which we have, internally at least, integrated XML support and an actionscript compiler). Too many projects, not enough hours...
# August 11, 2003 1:38 PM

Marc LaFleur said:

Have you tried any of the GUI mono tools? I'm wondering if they work very well.
# August 15, 2003 9:17 AM

Stephane Rodriguez said:


Nobody has implemented XForms, or at least not aware of. The spec itself is sloooooooooowwww to be updated, which shows the interest of commmunities behind it.

MS is pushing their own standards in this regard, as usual (infopath).
# August 19, 2003 4:15 PM

Kris said:

I was wondering about C# Builder.
Care to post some screenshots?
# August 20, 2003 1:49 AM

jt said:

I think you can find screenshots and info below. You can also download a free version from borland.
http://www.borland.com/csharpbuilder/
http://www.csharpbuilder.info/
# August 20, 2003 3:37 AM

anon said:

I take it you mean RedHat 9?
# August 20, 2003 9:51 AM

Andrew said:

I did anon, thanks :)
# August 20, 2003 9:58 AM

Robert Hurlbut said:

This might help (or at least start some discussions/testing):

http://www.gotdotnet.com/team/xmlentsvcs/espaper.aspx

"All serviced components have an associated COM+ context, which is stored
as a reference in the SCP (or RSCP in the remote case). The reference is
released only when the GC takes place or if the client calls Dispose(). It
is better not to rely on the GC to clean up the context: The COM+ context
holds onto one OS handle and some memory possibly delaying the release of
these handles until a GC occurs. Also, although ServicedComponent does not
have a finalizer, the SCP does implement a finalizer, meaning that the COM+
context reference will never get garbage collected on a first collection.
In fact, when the finalizer on the SCP eventually gets called, the context
is still not destroyed by the finalizer thread, instead, the work of
destroying contexts is removed from the finalizer thread and placed on an
internal queue. This was done because it was found that the finalizer
thread can get consumed by work in certain stress environments where
serviced components are being rapidly created, used and go out of scope.
Instead, an internal thread services the queue, destroying old contexts."
# August 20, 2003 11:14 AM

Andrew Stopford said:

Thanks Robert :)

This is quite interesting, Dispose is recommended as its the only way that the system knows that an object is finished with in a COM+ pool. I still think this has an impact on heap and GC cycles (heap getting full = GC cycle). Calling dispose does remove COM+ context but the next effect is that its not really removed but placed into a finalizer thread. My next task is to see if this thread can be monitored as it will be interesting to see what work this thread and the GC is doing under stress tests.
# August 20, 2003 11:30 AM

Robert Hurlbut said:

Tomas Restrepo had a tool on GDN that actually did this kind of analysis. I tried to find it earlier (from an older link), but it must have moved. If you find it, let me know.
# August 20, 2003 12:02 PM

Robert Hurlbut said:

Andrew --

My mistake. Tomas refered to this tool: AllocationProfiler.zip:
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=36a3e666-6877-4c26-b62d-bfd7cb3154ac

AllocationProfiler Source at:
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=3254325d-a4aa-4bb3-aa86-c72d5104ec74

Allocation Profiler is a tool for visualizing and analyzing allocations on the GC heap. It presents the data from this log file in a variety of interesting and useful views. It can be used to verify program execution (e.g. ensure you've allocated only the objects you thought) and to detect possible memory leaks. Simply launch AP, point it at your EXE and click a button.

# August 20, 2003 1:26 PM

TrackBack said:

# August 27, 2003 10:37 PM

Robert Hurlbut said:

My initial thoughts are to work through the PAL code because that is essentially what allows the Rotor to port to other OSs. Sounds like a good project -- definitely count me in.
# September 2, 2003 5:38 PM

Sam Gentile said:

Good stuff! I look forward to reading about your journeys.
# September 2, 2003 6:35 PM

TrackBack said:

# September 2, 2003 8:15 PM

Andrew Stopford said:

Good idea, I wanted to approach it from the other side though and track changes to the kernel between 7.1 and 8.0/9.0 before approaching the PAL. I suspect its the kernel thats causing the PAL build to fail so by knowing whats changed we can apply that to the PAL. I have yet to fully understand the kernel (hench the book) but its going to be fun :)
# September 3, 2003 1:27 PM

Robert Hurlbut said:

Very true. I was making a more general statement in regards to what needs to change. But, I agree, the initial work will probably in the kernal changes. I ordered the kernel book as well.
# September 3, 2003 4:31 PM

TrackBack said:

# September 7, 2003 10:45 AM

Chad Allbritton said:

Interesting. Some time ago, I prototyped a very similar app using C++.NET to produce a managed CFX extension framework for CF 5.0.
# September 10, 2003 7:46 PM

TrackBack said:

# September 13, 2003 5:09 PM

Robert Hurlbut said:

Andrew,
Out of curiousity, I compared the files/folders from the latest Linux/Rotor port (08/21/2002) to the original Rotor release. I found 7309 files that matched exactly, and 1301 files that didn't match. I am looking at the unmatching files to get an idea regarding the changes needed to port from FreeBSD code to Linux code.
Robert
# September 15, 2003 8:43 PM

TrackBack said:

# September 20, 2003 2:42 PM

Robert Hurlbut said:

Seems difficult to find new information on Rotor. I have been watching the reults of the SSCLI 2003 conferance with great interest, though.
# September 20, 2003 3:41 PM

Andrew Stopford said:

Where can I find the results of this conferance, do they have them on DVD?
# September 21, 2003 12:46 PM

TrackBack said:

# September 21, 2003 1:14 PM

Robert Hurlbut said:

Hopefully, they will do the same thing that was done after the Rotor Conferance in Europe last year: http://research.microsoft.com/programs/europe/rotor/workshop.aspx#Download%20Presentation
# September 21, 2003 1:45 PM

Robert Hurlbut said:

Isn't Gyro from Microsoft Research based on an older version of Rotor? If memory serves me, it breaks if you try to build it with the latest version of Rotor.
# September 24, 2003 10:51 AM

Andrew Stopford said:

The most current Gyro release is for Rotor v1.0 so everything should be fine to run Gyro in Rotor.
# September 24, 2003 10:56 AM

Robert Hurlbut said:

Great! I will take a look. Thanks.
# September 24, 2003 11:05 AM

TrackBack said:

# October 1, 2003 1:07 PM

Ben Maurer said:

I would love to see .Text working on Mono. I already got BlogX working, .Text couldn't be that much harder. I haven't taken a look at the .Text source code, so I am not actually sure: if it uses System.Data stuff, it might be a bit harder, but if it can work with pure xml storate (like BlogX does), then it would probably be fine. (if you are interested in working on porting, please contact me, I would be interested)

We probably won't get the LameBlog'ers (Miguel and Jackson) off their software, but the rest of us might move.


Thanks for the complement on my hacking skills ;-).

-- Ben
# October 2, 2003 12:31 AM

Ben Maurer said:

Just took at look at the source code this morning -- it looks like it uses alot of SQL, but that the sql is designed to be pretty replacable. Am sure an XmlSerialization data source provider could be created. (this is from me taking a 5 min bird's eye view, using Notepad here at school [can't install a real editor on these damn computers], so I may be wrong, please tell me if I am)

Depending on how busy I am that may be doable (I would be really excited if we were able to do it).
# October 2, 2003 8:18 AM

Andrew Stopford said:

Its a pleasure Ben, I am deeply impressed by what you are doing with the XML stuff in Mono, hats of to you :)

A .Text port will really rock, let me know if you do this :) I am sure he will really expand where .Text is hosted (and I am sure Scott would love to see it ported).
# October 2, 2003 6:16 PM

Matt Liotta said:

While Macromedia has annouced no plans to offer ColdFusion on .NET, New Atlanta offers a competing product to ColdFusion named BlueDragon that is currently available for J2EE and they have annouced plans to support .NET as well. See http://www.newatlanta.com/promo/bluedragon/bluedragon3_01/BDemail.html for more information on that.

In regard to integrating .NET with CFMX; web services is clearly not a bright idea from a performance stand point. My company, Montara Software offers an alternative; Black Knight. It allows you to create ColdFusion Extension (CFX) tags using .NET. See http://www.montarasoftware.com/go/9d58a59e-df02-1157-affb-e87c411e1c8f for more information on that.
# October 8, 2003 10:36 PM

Andrew Stopford said:

Thanks Matt, I am aware of the New Atlanta offering and Macromedia may well see there market share in that sector taken from under them. I do feel that a certain "wait and see" factor is being taken here, should the market for this take off then I am sure Macromedia will go for it but I get the feeling others are being left to take the risks.
# October 9, 2003 3:53 AM

Paul said:

WIth all due respect, what does this have to do with "Info and thoughts on .NETA, Rotor, Mono, Dot GNU, Parrot, PHP and Flash MX"? For that matter what is this doing on weblogs.asp.net, and is there any way I can have this clearly OT post eliminated from the main weblogs.asp.net RSS feed?

Again, this is meant as respectfully as I possibly can. I'm nearing a point of just deleting the main RSS feed from weblogs.asp.net because it is being overwhelmed with OT posts concerning the PDC, movie reviews, thanks for PDC shirts, stupid things like what kind of OS or blogger you are, etc. I enjoyed having this feed 4-5 months ago when the overwhelming amount of posts helped me learn aspects of .NET. But this no longer is the case.
# October 19, 2003 3:24 PM

Andrew said:

Good point, now marked as OT. If your fed up of the content within the RSS feed then you are flaming the wrong person. I suggest you drop Scott an email or better still drop by the .Text workspace and either get the developers to add a feature to filter out OT posts or sort it out you self.
# October 19, 2003 6:50 PM

Robert Hurlbut said:

I actually wondered the same!
# October 19, 2003 10:23 PM

Paolo Molaro said:

I think you misunderstood how the mono JIT is designed: ahead of time compilation is just an additional capability that can be used instead or alongside the normal JIT compilation process.
# October 20, 2003 4:43 AM

Andrew said:

Thanks for the comment Paolo, I will rephrase the post accordingly.
# October 20, 2003 7:26 AM

Sam Gentile said:

Paul, I can sympathize with you on the problems with weblogs.asp.net and have posted on this many times but you have picked on the wrong person here instead of many others. Andrew is one of the most technical CLR bloggers and one of the most significant contributers to the CLR community. He has posted months of great technical content and now he posts one movie review and you jum on him. This is unacceptable. If you have problems with the main feed, then its that problem, not Andrew. There are dozens of people there you could have picked instead who write inane things. Andrew has consitently had higher signal to noise than most people. Andrew as owner of his blog has a right to post on whatever the heck he wants.

I fully stand behind Andrew.
# October 20, 2003 1:14 PM

Robert Hurlbut said:

Paul, I agree with Sam on this. There are many, many others that post items that have little value to the .Net community. Andrew is certainly not one of them.
# October 20, 2003 1:16 PM

Robert Hurlbut said:

Thanks for the link.
# October 21, 2003 11:52 AM

Robert Hurlbut said:

Hopefully someone will blog this. Sam and I were just talking and wondering if there would be another drop of Rotor. I don't believe there has been one since the 1.0 code release (except for the work on Gyro).
# October 22, 2003 2:52 PM

Andrew Stopford said:

I suspect so, at a guess they will include all the announced changes to the CLR (Gyro being just one change). I understand that Sam is attending so hopefully he will Blog it :)
# October 23, 2003 3:54 AM

Scott Watermasysk said:

Jason Tucker pointed this out earlier today. I will try to post a fix today. Sorry.
# October 26, 2003 11:17 AM

Scott Watermasysk said:

Aggviews are not turned on yet for your server. Might be today.
# October 26, 2003 11:17 AM

Andrew Stopford said:

No need to apologise Scott, I am sure you will get to it when you can.
# October 26, 2003 1:26 PM

Kingsley Idehen said:

I presume OpenLink Virtuoso (http://www.openlinksw.com/weblogs/virtuoso) which delivered CLR Integration last year has certainly validated the concept, especially the fact that this can be achieved via the .NET CLR and Mono variants of the ECMA-CLI (plus .NET FCLs like ASP.NET) :-) Our one year old Demos and Tutorials re. CLR Integration (what we call Runtime Hosting) are also available as RSS feeds etc.
# October 26, 2003 6:20 PM

Andrew Stopford said:

Hi Kingsley, thanks for the comment. I would say OpenLink did just that. Lets hope we see many more apps support follow suite.
# October 26, 2003 6:41 PM

Robert Hurlbut said:

Hey, Andrew, you are listed on my recommended blogs as well as in my aggregators. I am sure you will be pleasantly surprised.
# October 26, 2003 8:59 PM

Sterling Hughes said:

Rotor is "shared source." ;)

There are open source implementations of the spec, but
what we (Thies gets blame too) mean is that the IL/Java specs are rather closed. If we wanted a change in the specification, what process would we have to go through?

Does it mean I would have to wait for a large commitee to agree on something, and then wait even longer for the respective implementations to catch up? Would they even meet for lunch with me?
With Parrot, the folks are dedicated and extremely helpful, and there is very little death by committee... Its open source, we make our case to the community, and it seems the Parrot people are very dedicated in providing a solution.

Also, Mono and .NET don't run on nearly as many platforms as Perl and PHP. There capabilities to host IL and the full CLR are much less than Perl or PHP.
# October 26, 2003 11:13 PM

Paolo Molaro said:

Sterling: as both Miguel and me have pointed out a few times on the mono list when the discussion came up, ECMA will standardize existing implementations: if you need changes to the CLR to better support PHP or other dynamic languages, you can propose them on the mono lists. We can also implement them in mono or help you implement them (of course once people agree the changes are good and useful). Mono is free software and it's an excellent platform to test implementations of changes to better fit the CLR for dynamic lanaguages.
As for hosting, mono has a fairly complete embedding API that is already used also by commercial programs.
What is currently missing in the CLR is the input of the dynamic language developers about what changes would be needed. If you're still in Italy and want to hop on a train to Padova one of the next weekends, I'd love to discuss issues with you and meet for lunch (I'm not on the standard committee, but Miguel is and we can make him push the proposals:-).
# October 28, 2003 11:15 AM

Andrew Stopford said:

Thanks for comments Sterling and Paolo, Paolo how about that blog ;-)

If you do discuss then please share your thoughts and conclusions with world. Its important that in order to make the CLR better that we take on this kind of feedback. Indeed I feel it would be good that this kind of feedback is fed in other CLR implementations, I am sure Rhys and P.Net folks would be interested and I can help out on getting it into Rotor.
# October 28, 2003 1:10 PM

Dumky said:

The Mono people were discussing the ORP on some forums. They are investigating whether to use this and how.
# October 28, 2003 5:32 PM

Christophe Lauer said:

Well, to say the truth, I must say that I've had access to a beta version, which allowed me to test some legacy Delphi3 and Delphi4 projects recompilation. Worth trying.
# November 10, 2003 8:19 AM

David Mendels said:

Hi Andrew,

The beta is limited but will be expanded over time. I don't know who/how many will be added with this week's drop, but the group will get larger and larger with subsequent beta drops.

Since your preferred platform is .NET, you may have been prioritized later in the cycle, but if yu can and want to invest time in testing on Java (one can of course interact with .NET through Web Services) let me know and I will let the team know.

-David
Macromedia
# November 18, 2003 11:02 AM

Andrew Stopford said:

Hi David,

Thanks for your comment, the web services support would be interesting to see so yes I would invest time in testing on Java if thats possible :)

Andrew
# November 18, 2003 12:42 PM

Robert Hurlbut said:

Does Call of Duty help the Linux/Rotor port? :) Nice relaxation tool, I am sure.
# November 19, 2003 3:54 PM

Andrew Stopford said:

LOL Robert :) Gotta get some frag time in ;-)
# November 20, 2003 7:39 AM

SBC said:

In my school years in England, I took up cricket instead. Too many teeth were lost playing rugger... :-)
# November 22, 2003 5:57 PM

Robert McLaws said:

Why would you want to run Mono on Windows when you have the .NET Framework? The point of Mono is that it is a Linux version of the Framework.
# November 22, 2003 7:56 PM

Andrew Stopford said:

Sorry Robert I could not disgaree more. The point of Mono is to create an implementation of a CLI according to the ECMA specs, yes the Mono folks have added a whole lot more to that but then so too has Rotor and P.Net. Mono is intended to be cross platform and useable across those platorms, be they Windows or Linux. Yes you can use the commerical MS .NET Framework on Windows but then so too you can also use Mono, can you all of the same things in either CLI? No not yet but Mono is still in work in progress, a time will come when you can use either framework and use Windows or Linux.
# November 23, 2003 11:03 AM

TrackBack said:

# November 26, 2003 2:09 PM

JosephCooney said:

Joel Pobar is a friend of my brother. He is a PM on the CLR team focusing on ROTOR. He sometimes blogs about ROTOR stuff, and suggested that there would be a ROTOR forked from Whidbey at some stage. http://blogs.gotdotnet.com/joelpob/
# November 26, 2003 9:50 PM

Andrew Stopford said:

Thanks for the link Joseph. The CLR team that looks after the commerical CLR (and so that means Whidbey as well) are now also looking after Rotor. Subsetting the code makes a lot of sense but I feel that more than that will be in Rotor 2.0, the Phoenix research for example. If anyone is interested in where Rotor is heading the slides and vids mentioned in the post are worth checking out.
# November 27, 2003 4:00 AM

Andrew said:

I want to run mono on windows.
I would really like to get asp.net running on windows with mono, it would let me see if mono can support my apps.

I've tried to get the stuff rolling, but the instructions I find tend to be for linux/oss people only...

Do you have an really simple guide?

# November 28, 2003 11:11 AM

Chris said:

I think the slides just might be theese ones:
http://www.cs.cityu.edu.hk/~hwchun/nsolver/download/CPIntro.pdf
# November 28, 2003 6:07 PM

rxm said:

Build Your Own .Net Language and Compiler
includes a complete QuickBasic compatible compiler with source code. Not only does this illustrate the techniques taught in the book, it provides a great new .NET language ideal for teaching kids, simple scripting, or just for fun.
# December 3, 2003 2:45 PM

Robert Hurlbut said:

Great list! Another to add: Simon Robinson's Advanced .Net Programming
# December 3, 2003 3:46 PM

Sam Gentile said:

Dude this is *the* bible. Everyone should own a copy and read it multiple times.
# December 3, 2003 4:50 PM

Fabrice said:

# December 10, 2003 5:14 PM

Fabrice said:

Maybe not supporting .NET though.
# December 10, 2003 5:15 PM

Robert Hurlbut said:

This is great!
# December 12, 2003 7:28 AM

Robert Hurlbut said:

Thank you for your encouragement!
# December 14, 2003 8:39 AM

Anonymous said:

Ummm... I'm actually working on (inside) rotor, it does have a JIt, i know, i spend 8 hours a day rummaging through this code to make the generics protion work on the PowerPC... rotors JIT is just slower and it's output code is not remotely optimised...
# December 16, 2003 4:35 PM

Kent Sharkey said:

As a research project...

From Ken's post:
"our team VS Data is responsible for helping get the good things from that research project into VB, C#, and the .NET Framework classes."

TTFN - Kent
# December 17, 2003 12:47 AM

Andrew Stopford said:

I know, this is already in my post. My point is can OTHER research projects achieve the same goals and as a dead project it would do harm to outline the goals of the project.
# December 17, 2003 2:21 AM

TrackBack said:

# December 29, 2003 10:24 AM

TrackBack said:

# December 29, 2003 10:44 AM

Robert Hurlbut said:

Congratulations on the marriage plans! Rotor, Linux port, C++, and Assembly may be the easier goals, though. ;)
# December 29, 2003 7:03 PM

TrackBack said:

# December 30, 2003 5:48 AM

naveen said:

pls send me this tool asap
# January 2, 2004 7:12 AM

Joel Pobar said:

There's another really great book on CLR/CLI internals, the Shared Source CLI Essentials book. <a href="http://www.amazon.com/exec/obidos/tg/detail/-/059600351X/qid=1074043314//ref=sr_8_xs_ap_i0_xgl14/002-7490122-2192800?v=glance&s=books&n=507846">Find it here</a>. Lots of fun!
# January 13, 2004 8:24 PM

Andrew Stopford said:

Thanks Joel, got that one on my other list :) I agree a great book !

I did'nt include that one for Cesar as he is working on Mono so a book on Rotor while useful in background won't really help him learn the CLR (its more an internals book).
# January 14, 2004 7:58 AM

TrackBack said:

# January 15, 2004 11:29 AM

Paschal said:

Hmmm Andrew it's not Zen but Xen ?!?!?
# January 17, 2004 10:04 AM

Andrew Stopford said:

LOL thanks I will correct that :)
# January 17, 2004 10:25 AM

Paschal said:

No problemo you're welcome !
# January 17, 2004 10:36 AM

peter said:

I found one called Visual Paradigm SDE. Its community edition is free of charge for vs.net. I played with it for a couple days, found it pretty nice. you can download one at:

http://www.visual-paradigm.com

hava fun!

PETER
# January 19, 2004 2:05 AM

TrackBack said:

# January 19, 2004 11:15 AM

Dolly said:

Well..I must say You couldn't be more wrong :)

"Please, whatever you do, stay away from .NET"
Like I saw in a video I would also say if you are my competitor stay that way!

And for those who believe .NET is tied to Microsoft, they do so coz they want to.

"NET is miles and miles away from what java already offers"

and Java is miles away from what .NET already offers. So??

If you are so concerned about speed/performance, go downlaod the .NET framework SDK and work with it.

As for Rotor and Mono, I think they have done a fantastic job and will continue to do so. Hopefully Portable.NET will get there soon.

Friends, it would help if you stopped this mud slinging.
# January 20, 2004 5:35 AM

César López Natarén said:

Hey Andrew!

Thanks for the suggestions, I think I'll go for Don Box's one and the annotated standard.

Greetings.

César
# January 21, 2004 2:32 PM

aaa said:

a
# January 28, 2004 10:19 PM

Asbjørn Ulsberg said:

Me too. :-)
# January 29, 2004 8:57 AM

Michal Cierniak said:

Andrew, I've just posted more Rotor annotations. I agree that making something like that in a more complete resource would be cool. Let's see how my blogging goes. I wonder if there are more people who find this useful.
# January 29, 2004 9:38 PM

Andrew Sopford said:

Thanks for the heads up and indeed for working on these Michal :)
# January 30, 2004 12:31 PM

LOTONtech said:

The problem with many tools like Rational Rose, and even Visio for Enterprise Architects, is that they do not provide a base model containing the .NET framework classes.

The RE.NET utility helps you create such a .NET framework model in Rational Rose, Visio EA, and some other tools.

http://www.lotontech.com/visualmodeling/RENET.html
# January 31, 2004 9:12 AM

TrackBack said:

# February 1, 2004 2:29 PM

bbb said:

.net
# February 5, 2004 9:28 PM

Andrew Stopford said:

It was'nt that one Frans but thanks for the link all the same, interesting to see natural language in search engines
# February 8, 2004 11:07 AM

Kartal Guner said:

I;m not sure about which post you were referring to, but I found these very informative. I hope they help.
http://www-db.stanford.edu/~backrub/google.html
http://www.computer.org/micro/mi2003/m2022.pdf
# February 8, 2004 1:13 PM

Kartal Guner said:

Just actually looked at the link you were referring to, so you got the first one :)
# February 8, 2004 1:19 PM

Cameron Reilly said:

# February 8, 2004 4:20 PM

Dumky said:

Google has a pretty interesting architecture, to achieve its target performance (under .5 second per request). I posted some more info and pointers, a couple of months back, at: http://blog.monstuff.com/archives/000044.html
# February 9, 2004 8:35 PM

TrackBack said:

Take Outs: The Digital Doggy Bag of Blog Bits for 18th and 19th February 2004
# February 19, 2004 8:12 PM

Guy said:

If you look at the benchmark for JPython, they're not a million miles apart except for function calls, and JPython performs ok.

When ActiveState did their abortive CLR implementation of Python the question was always why their implementation performed so badly when JPython was doing ok.

The lingering idea that "CLR sucks for scripting" comes from ActiveState. It exists nowhere else when considering dynamically typed languages on CLR.
# February 21, 2004 1:59 PM

TrackBack said:

# February 23, 2004 7:05 PM

Jim said:

> when code has the updated JIT added to it

What is this updated JIT you are referring to and where is it located?

Thanks!
# February 27, 2004 2:24 PM

Andrew Stopford said:

The updated JIT is the JIT that Chris and his team have modified to create the ref counting implementation. The download to this JIT is in the post.
# February 28, 2004 6:52 AM

Dan said:

I suppose it depends on what you think the different levels of support are for CLOS, Ruby, Java, or C#. (Though from my perspective that list is from most to least difficult and feature-rich) Ultimately, though, we'll go all the way to Ruby-level support, having made sure to touch on C++, Perl 5, and Python. I think this'll get us Java and C# as they both are reasonably simple as object systems go. Not that any object system's been complex yet. (Annoying, yes, but not complex)

The edge conditions'll be the killer, I expect, along with some of the side-effects of mixing schemes. (Ruby, C++, and Python all have *completely* different ideas on how to properly do destruction, for example, so building a class that mixes base classes from the three schemes may be... interesting)
# March 1, 2004 4:32 PM

Andrew said:

Dan thanks for the comments. Interesting that the intended scheme of support will be go all the way up to a Ruby style object support. By different levels I mean that CLOS and Ruby include the levels of object support in say C# or Java but also allow for more object features.
# March 3, 2004 12:34 PM

TrackBack said:

# March 4, 2004 4:21 PM

TrackBack said:

# March 5, 2004 10:23 AM

TrackBack said:

# March 5, 2004 10:23 AM

TrackBack said:

Macromedia and .NET: I was wondering whether CNET's heavy play on the Linux part of Kevin's presentation yesterday would raise more discussion like this... I don't know if there's a direct connection, but I'm on the lookout for it. 8)...
# March 5, 2004 11:14 AM

John Dowdell said:

Hi Andrew, I highlighted your piece here over at my place, because I suspect others may have the same concerns right now too. I don't have solid info on either request, just some context of why they're not here already, if that's of help.

(I also checked out that Laszlo thread you linked... may not be good to put a whole lot of credence in what they say another group will or will not do, huh...? ;-)

jd/mm
# March 5, 2004 4:26 PM

David Mendels said:

Hi,

Flex on .NET is planned for not long after the Java edition. If you are interested in testing, let me know.

-David
Macromedia
# March 5, 2004 4:33 PM

TrackBack said:

# March 7, 2004 7:38 AM

Allen Bauer said:

Andrew,

Sorry for the mixup. I tried to clarify the relationship between class helpers and IDisposable here:

http://homepages.borland.com/abauer/archives/2004_03_07_archive.php.
# March 8, 2004 11:24 AM

Robert Hurlbut said:

Hey Andrew, there is a problem with the link to Sam's post.

http://samgentile.com/blog/archive/2004/03/08/11372.aspx
# March 8, 2004 9:25 PM

Andrew said:

Hi David,

Yeap I would be interested.
# March 9, 2004 4:02 AM

Andrew said:

Thanks Robert, corrected that :)
# March 9, 2004 4:04 AM

David Mendels said:

Andrew,

please email me offline so I can get to the PM for Flex .NET.

-David
# March 10, 2004 1:01 AM

Andrew said:

David - I have mailed you. If you don't receive that mail can you contact me using the conact form. Thanks - Andrew
# March 10, 2004 5:17 PM

TrackBack said:

# March 10, 2004 7:11 PM

TrackBack said:

# March 10, 2004 7:14 PM

Doug Reilly said:

Jason Nadal (http://weblogs.asp.net/JNadal) knows as much about Monad as anyone I know. I am sure there are some posts there about it, as well as links to articles he has done.
# March 15, 2004 2:14 PM

Jason Nadal said:

You should really check out some of the sample scripts that show just how "programmatic" it can be...

I believe this is referring to the lack of a true piping interface in the current command shell packaged with windows, and the ability to develop cmdlets using the full scope of the .net framework. It also provides non-developers a scripting language to fully pipe existing cmdlets together (the "programmatic" part).
# March 17, 2004 10:20 AM

Jegan said:

Thatz a great idea to marry two excellent things the software dev has ever seen.Will defenitely give birth to better s/w for future.

Check http://www.visual-paradigm.com/vpuml.php
# March 18, 2004 11:56 PM

TrackBack said:

You have been Taken Out -- see comments in the linked document. Thanks for the post!
# March 20, 2004 6:16 AM

ali said:

very good topic
# March 22, 2004 9:35 PM

Jonathan de Halleux said:

Hi, the projet is now hosted on tigris.org (gunit.tigris.org).
# March 24, 2004 6:52 AM

Jeff Julian said:

what is your gamertag, mine is "jjulian2"
# March 24, 2004 8:13 AM

Andrew said:

Its 'LilHobo' anyone wants a game just hollar... :)
# March 24, 2004 8:28 AM

Jonathan de Halleux said:

Hi, the project has been renamed to MbUnit and moved to http://mbunit.tigris.org Cheers
# March 24, 2004 12:41 PM

Alice said:

Other dynamic-language.net also suffers when compared to dynamic-language.class...
check it out...
http://www.manageability.org/blog/archive/20030408%23the_leaky_jscript_compiler/view
# March 25, 2004 2:33 AM

César López Natarén said:

:-)

Thanks for the comments dude!!!

César
# March 25, 2004 8:08 PM

murat said:

thanks
# March 26, 2004 1:43 PM

beaudetious said:

Andrew,

I've got a question regarding how you plan to set up your Nunit scripts in this build system you are working on. I've been tasked with a similar situation using Subversion, Nant, Nunit and CruiseControl. Before all of this, we developers would put our unit tests in an inner class inside of the class we're testing in order to get to the private functions. We'd wrap this inner class in preprocessor directives so that we can keep them out of release builds. However, (and keep in mind that I haven't yet worked with Nant yet), I think I'll have to change this since I don't want to have to make a build via Nant just to test the unit tests, then make one for releases or debugs or whatever configuration I'm intersted in. I'd like to run the unit tests whenever I make a build no matter what configuration. How do you structure you unit tests? If its different than mine, how do you do blackbox testing on your private functions? Or should you? Call me confused!
# March 29, 2004 1:51 PM

Yves Lorphelin said:

beaudetious,
In all the projects I've been working on, we've never putted our unit test code into the code (with the notable exception of internal classes) but well in apart projects, or tried to test private methods.
What you really want to have unit test on is everything that has a public/protected access.

If you want to be sure wether all your private/internal member are hits when testing, you'll have to use a code coverage tool.
I know of two of them:
Ncover on http://workspaces.gotdotnet.com/ncover. I've been blogging about this lately and Ncover (yes the same name ) on http://ncover.sourceforge.net
The first one uses the profinling interface of the .Net runtime, the second one adds instrumentation code into your source files.
# April 1, 2004 2:51 PM

TrackBack said:

SUN - Microsoft peace: possible implications
# April 4, 2004 11:54 AM

TrackBack said:

# April 5, 2004 7:31 AM

TrackBack said:

Stopford on .NET Flex: Andrew Stopford has a couple of articles on using .NET web services as inputs to a Macromedia Flex application. (The 1.0 still runs atop a J2EE system, and although a native .NET version is announced as...
# April 5, 2004 1:02 PM

TrackBack said:

# April 9, 2004 8:19 AM

TrackBack said:

# April 12, 2004 3:56 AM

TrackBack said:

# April 12, 2004 5:59 AM

TrackBack said:

# April 12, 2004 5:59 AM

TrackBack said:

# April 12, 2004 5:59 AM

TrackBack said:

# April 12, 2004 10:08 AM

TrackBack said:

# April 12, 2004 10:08 AM

TrackBack said:

# April 12, 2004 10:08 AM

TrackBack said:

# April 16, 2004 7:34 AM

Dan said:

Any language would work out to build the compiler, though some are easier to do it in than others. (A good selection of medium-to-high level data structures certainly makes it easier, though) I used perl for the article because, well, that's what the version I'm working on for work's written in. :) Having a fully capable language parser, good freeze/thaw capabilities on hand, and excellent text handling capabilities made the initial decision really easy.

Emitting MSIL code shouldn't be a problem, assuming I'm remembering it right. (That's .NET assembly, yes? Object modules are more of a pain) Actual assembly for real hardware's a bit more trouble, mainly because then you have to do real register lifetime tracking for non-pathetic performance, something you don't have to do for Parrot (as IMCC does that for you) or .NET (since it's stack based)
# April 16, 2004 1:02 PM

Andrew Stopford said:

MSIL is the intermediate language that the CLR runs (the CLRs eq of PIR code). To complete an assembly you also have metadata and a manifest.

I am wondering about writing a compiler in say C# (and thus running on the CLR) but targeting the CLR or Parrot. Of course as you say there are various factors in that decision, C# certainly the capabilites.
# April 17, 2004 4:28 PM

Randy H. said:

Thanks for the mention Andrew.

One of the things that I like about MS already is that they're heavily investing in resources outside of Redmond that can be more responsive to customers. Sure, there is a sales benefit to doing so, but I'm excited to be a part of it and hope to make a big impact. Please let me know if I can help you in any way.
# April 18, 2004 7:41 PM

Dan said:

Non-optimizing compilers are reasonably simple to retarget, and having multiple pluggable back ends isn't that big a deal. (You can actually wedge the optimizer into the back end if you want, and thus have traget-specific optimizations)

Writing it in C# shouldn't be a problem, as long as you've got good tools around (having a good parser/lexer generator's at least half the battle, and I'd choose a crappy language with an excellent parser generator over a swell language with no parser generator at all) but I'd expect that isn't a problem--worst case you play games with the Bison source. :) Certainly worth a go to see what happens.
# April 19, 2004 1:09 PM

Andrew Stopford said:

Thanks Randy, the role and microsofts postion sound very exciting. I am UK based so not sure you could help, many thanks for the offer all the same :)
# April 19, 2004 7:02 PM

TrackBack said:

Monad -MSH Shell - Microsoft's new command line system
# April 20, 2004 2:26 PM

Phil Winstanley said:

Can't make it this year, too busy at work and just spent a Week in Seattle at the MVP summit, though will really miss not being able to make it! :(

Let us know what freebies I'm missing ;)
# April 20, 2004 5:07 PM

Andrew Stopford said:

Will do Phil, nice to see a fellow .NET blogger in my kneck of the woods :)
# April 20, 2004 5:09 PM

TrackBack said:

# April 21, 2004 3:34 AM

Ian Dixon said:

I am going, it looks like its going to be diffrent this year with all the diffrent sessions
I bet it takes half the morning to work out which room we should in :)

The bonus is its 15mins drive away for me!
# April 21, 2004 6:15 AM

Andrew Stopford said:

No doubt :) its a 5 min drive for me :)
# April 21, 2004 6:22 AM

BeesKnees said:

http://medialab.di.unipi.it/Project/visualstorms/ sounds interesting too - compiling C#, etc. down to stuff that runs on the RCX... (Disclaimer: haven't actually used it.)
# April 23, 2004 2:00 AM

TrackBack said:

# April 28, 2004 1:02 PM

Tim Sneath said:

Thanks Andrew - I'm very flattered! My wife's due to give birth with our second child any day now, so I'm just starting my paternity leave and am therefore unable to be involved :-(

I'd love to hear a more detailed write-up of your thoughts on the roadshow though for those who weren't able to make it... like me!
# April 28, 2004 2:29 PM

Andrew Stopford said:

I talked with the chap (sorry I have forget his name) who did the Whidby demo and he mentioned about your baby, congratulations !!

I have posted my thoughts on day 1, need to do the same for day 2 and overall. Really hoping to get to Tech Ed Europe.
# April 28, 2004 5:52 PM

t3rmin4t0r said:

It's not DotGNU and Qt ... If look carefully, you'll see the source file is named DefaultThemePainter ...

DotGNU's building a lightweight toolkit all right , but the default windows buttons suck ... :) .. So just use Qt's theme engine to draw on the X11 Pixmap and blit it over to WinForms control paint.

So all the ControlPaint.* methods are done using qt themes.

(does mono have a Qt winforms ?.. I thought that was pure Wine and GDI+ implementation).
# May 1, 2004 2:06 AM

Andrew Stopford said:

Thanks for the feedback, edited the post accordingly. Mono I am not sure on, had thought a QT was in the works but as you state its Wine, P/Invoke.
# May 3, 2004 9:13 AM

Stefano Demiliani said:

I agree with Scott opinion... managed code was absolutely better, not only for business applications. I believe a lot on Mono project.
# May 4, 2004 8:56 AM

Andrew Stopford said:

So do I, Managed code is great..and Parrot does just that. For the moment its target languages are Perl and Python but its a runtime just like the CLR so there is no reason why languages like PHP and Ruby etc etc won't in time be managed code.
# May 4, 2004 9:03 AM

Michael Giagnocavo said:

Why go for their own VM (Parrot)? Why not instead leverage the CLR or Java (assuming it's possible to create a decent Perl/Python/whatever compiler for Java bytecode)?
# May 4, 2004 11:23 AM

Jesse Ezell said:

Scott's comments really have to do with developer productivity and little (if anything) to do with managed code. Simply porting perl or php to managed code does nothing for developer productivity. Increased developer productivity with existing managed languages is a result of:

1) the language features
2) the base class library features
3) availability of third party class libraries

Yes, there are a few things that a runtime can add to help productivity (like code access security). However, to a large extent the features of a runtime like the CLR aid language developers more than anyone else, because the runtime provides built in support for things like classes and garbage collection.

Perhaps language upgrades in Perl 6 or the next version of PHP will take it a bit in the right direction, but that still only solves 1/3 of the problem.
# May 4, 2004 2:07 PM

Matthias Cavigelli said:

php with pear and Perl with cpan both have installers for base class library features, which solves the second third.

When it comes to productivity they both don't need to be compiled, which _is_ more productive then the Java or .NET way! Don't know how that's going to be with Parrot though.

Plus they are both open source and run on many platforms today.

When it comes to Mono, I simply don't see the sense of copying the functionality already existing.
# May 4, 2004 2:31 PM

Jesse Ezell said:

C++ had a base class library too. Just having a BCL isn't enough. You need the kind of features that you find in something like the .NET framework's standard libraries. Perl or PHP on top of .NET or Java would solve 2 and 3, but cpan and pear don't even come close.
# May 4, 2004 4:04 PM

Andrew Stopford said:

Glad we have a little debate going on here :) Jesse has a point that the BCL help increase productivity, stating that CPAN or PEAR don't help even the balance I will leave to someone with more know how on the subject. Porting PHP or perl to the CLR would bring about the other steps that Jesse mentions so is it not a mute point?

To adress the points raised by others, Perl and PHP on the CLR won't run well however. The dynamnic nature of the languages means that performance is poor (see the activestate.com experiments for more on that), changes to the CLR in .NET 2.0 and increased awareness of how to write a compiler for the CLR to allow for dynamnic languages (i.e. IronPython) will all help CLR adoption for such languages.

However Parrot is being designed up as a runtime for dynamic languages, and will I am sure run PHP, Perl, Python just as fast as the unmanaged versions. In time the range of dynamic languages from Perl to Ruby will have a managed code base.

Will they create a common code base such as the BCL, who knows, the Perl,Python and PHP communities are best placed to answer those questions. The point is that they are making the start down the managed code route and my point to scott is that its a little early to cast Perl, PHP or the like aside against managed code.
# May 5, 2004 4:10 AM

TrackBack said:

# May 11, 2004 3:21 AM

Robert Hurlbut said:

I blogged about some of the latest patches for Rotor 1.0, including Mac OS X 10.3. Not sure if this will help, but nice to have the patches in one place on sscli.net.
# May 15, 2004 9:44 AM

TrackBack said:

# May 15, 2004 11:16 AM

Sean Corfield said:

I guess I don't know enough about the different aims of Mono and Rotor to see why comparing them is "never a good idea" - could you elborate? Mostly I just want a way of running C# and ASP.NET on my Mac...
# May 15, 2004 4:58 PM

Andrew Stopford said:

Sure, both Rotor and Mono (and P.Net) are implementations of the CLI and C# standards. Both implementations add additional code.

In Rotor terms, its a research tool. A look at how Microsoft implement the standards and how the commerical code works (from which Rotor is branched). In addition to the standards Rotor also includes the JScript compiler code and code for several tools. It differs from the commerical code in that the ASP.NET and Win Forms code is not included (its worth noting that some research has been done to add Win forms using GTK to Rotor). Performance enhancements (for example the GC and JIT are simpler models than the commerical code) are also not included.

The Mono aims are different in that like Rotor it aims to implement standards (and indeed is a research tool also) but is intended to a commerical grade tool. For example, Mono implements the rest of the .NET Frameowork i.e. ASP.NET and Winforms etc (which Mono calls the Microsoft Stack).and includes commercial grade JIT and GC code.

As ASP.NET is not included in Rotor then Mono is indeed your best bet. Running C# on the Mac however can be achieved with both Mono and Rotor.
# May 15, 2004 7:17 PM

TrackBack said:

# May 17, 2004 3:37 AM

TrackBack said:

# May 18, 2004 8:20 AM

TrackBack said:

# May 18, 2004 8:22 AM

TrackBack said:

# June 10, 2004 1:41 PM

TrackBack said:

# June 10, 2004 1:41 PM

Roshan James said:

# June 15, 2004 5:31 AM

Scott Galloway said:

Though I'd just mention that you can get the CHM (so, for offline use) here: http://msdn.microsoft.com/msdnmag/issues/03/10/MSDNMag0310.chm
Anyone know why this seems to be a secret, I never see this mentioned anywhere!
# June 17, 2004 6:31 AM

andrew stopford said:

404's for me ?
# June 17, 2004 6:53 AM

Scott Galloway said:

# June 17, 2004 6:59 AM

Sam Gentile said:

Happy Birthday my friend!

Geez, you're complaining about 28? This old fart turns 42 Friday!
# June 28, 2004 9:05 AM

Robert Hurlbut said:

Happy Birthday! My big 36 is around the corner ...
# June 28, 2004 11:15 AM

Robert Scoble said:

Who would you like us to interview?
# June 30, 2004 5:34 PM

Alex Papadimoulis said:

Wouldn't it suck if Microsoft built a new version of the framework, rendering Mono obsolete ...
# June 30, 2004 6:20 PM

Jerry Pisk said:

If Microsoft built a new version of the framework (I'm assuming Alex meant a new, incompatible version) then not only Mono would be obsolete, but also Microsoft's own .Net framework and all the apps written for it. Not going to happen. And even if it did - CLR and other parts of .Net are ECMA standards, so Mono would go on with its own life... That's what you get when you open up :)
# June 30, 2004 7:19 PM

Andrew said:

Glad you asked Robert...Joe Pobar, Peter Drayton,Michael Stanton...
# July 1, 2004 6:19 PM

lynn said:

Flex is too darn expensive.
# July 2, 2004 1:21 AM

bodrul haque said:

Great article.
# July 6, 2004 9:55 AM

Edward G. Nilges said:

Build Your Own .Net Language and Compiler is now out as of May 2004.

It demonstrates that language is as Microsoft ways, under the CLR, a "lifestyle choice".

I like C# but elected to use Visual Basic because the key isn't the language it is using the right approach.

This is neither hacking some crude solution nor is it mindlessly using yacc and lex. It's instead being able to implement an overall simple but at times tricky set of approaches from computer science.

I do recommend that the compiler writer use BNF. But I then point out that IF you have understood enough, it becomes another lifestyle choice to use an automatic parser generator. This is true unless you need elaborate diagnostics, where automatic generation of handle sets becomes a convenience.

However, using an automatic tool without the understanding that comes from doing the job by hand is rather like using a chain saw or a gun without proper training.

In my opinion.
# July 8, 2004 11:59 PM

John Lim said:

Andrew,

Thanks for the compliment, but i'm not sure whether i'm the right person. I don't even use Perl nowadays.
# July 14, 2004 2:01 AM

Andrew said:

Hey John - no where does Dan mention you need to be using Perl. Simply your a thought leader and got what it takes to get Perl 6 running on Parrot. Thats you all over ;-)
# July 14, 2004 3:45 PM

Melchior said:

Please,
Wow I return more than one datatable from de dataset
# July 14, 2004 4:41 PM

Chima Igiri said:

none
# July 16, 2004 3:46 PM

TrackBack said:

# July 21, 2004 1:19 PM

E4X Roolz said:

Absolutely interesting.

Now the question would be how long before it gets implemented in the major browsers?

Mozilla and Safari will be up to speed but how about IE ?
We all know that the next version of IE will come out in the longhorn days.

hmm
# July 21, 2004 11:26 PM

pauline meyer said:

tomorrow is my birthday. please send me a card a small donation would help thank you 4868 n. overlook av. cincinnati ohio 45238
# July 25, 2004 11:45 PM

Dan said:

The bet didn't start parrot--we'd started up years before that. (Which is, itself, a scary thought) The bet more spurred us to action of a sort, which is a useful thing in itself.
# July 26, 2004 6:31 PM

TrackBack said:

# July 30, 2004 4:20 PM

TrackBack said:

# July 30, 2004 4:29 PM

TrackBack said:

# August 2, 2004 2:56 AM

TrackBack said:

# August 2, 2004 2:58 AM

Mike Isbell said:

Hi guys.

I'm a .net developer who's just done his first Glade/MonoDevelop gui. Tres cool.

I'm 45. I know Ben is 16 or so, so this is a chance to get to know yer granpappys. Been programming since 1978 (fortran, stack of cards, mainframe room, all that jazz).

I'd love to work on a port of .Text. Where do I download it?
# August 5, 2004 10:59 AM

Danilo said:

Just to clarify, you really should be saying CF (ColdFusion) above, not CFMX (ColdFusion MX server). Similar to how the Zend engine isn't PHP, but PHP runs through the Zend engine.
# August 7, 2004 12:07 AM

Andrew said:

Thanks for that, however, Ben is comparing CFMX not CF as as a language. If he was then the point on CF on .NET would take into account Blue Dragon, as it happens Ben is talking about JVM only...a la CFMX. So I should be saying CFMX not CF.
# August 9, 2004 3:48 AM

Robert Hurlbut said:

Yes, it is Indigo -) (I have one like it from PDC 2003).
# August 10, 2004 9:36 AM

Joe Stagner said:

Discussing your book got me thinking today ....

So I spent some talking with Andi Gutmans at Zend later in the day .

..... I'm more convinced than ever that Windows can be a GREAT platform for PHP.

I've got a great interop project in mind. I'll let you know when I have a POC done. I've be veryinterestedin your perspective.

Cheers,
Joe
# August 18, 2004 7:55 PM

Jay said:

I was dissapointed in the Village. For me the plot was obvious after 15 minutes.
# August 23, 2004 5:02 PM

Jason Bock said:

Which is exactly the problem with Night's movies. You KNOW there's a twist somewhere, so you loose the joy of watching the film to revel in the story. Instead, you're analyzing everything to find clues as to what's going on. If this was Night's first picture, I'm sure my reaction would've been different, but since I was expecting a twist I started reading into the characters and the setting (hmmm, the houses look rather modern and sturdy, and...hmmm, the plates look really nice, and...hmmm, the elders all seem like they're hiding something...hmmmm....)

Night needs to stop making the "twist" movie for his next five movies - show that he's diverse enough to do something else. Otherwise, he's gonna fade big-time.
# August 24, 2004 12:21 AM

Andrew Stopford said:

I have to agree with you Jason. The twist expection is what spoiled Unbreakable (I am hoping the trilogy gets made at some point) and Night manged to really submerge it for Signs.

Much of what Night does can be done with the out need for a twist, once he says look no twist but this will scare the bejesus out of you, the audience will stop looking and just be scared witless. Personally I would love to see one of Steven Kings books be adapted (I _rate_ his writing skills and would have confidence he could write the screen play with Steven) and directed by Night. No twist but scary and suspenseful...
# August 24, 2004 4:13 AM

Robert Hurlbut said:

A big, big congratulations! Enjoy your time away!
# August 26, 2004 4:12 PM

Frans Bouma said:

Congratulations! :)
# August 26, 2004 4:43 PM

Stefano Demiliani said:

Congratulations... :)
# August 26, 2004 4:50 PM

Wally said:

Excellent! Congratulations! My wife Ronda is a great person and I am so glad that I am married to her. I hope Emma is the same for you!

Wally
# August 26, 2004 4:56 PM

Sam Gentile said:

Wow! Is she a Rotor buff too? -) Congrats!
# August 26, 2004 6:27 PM

marko rangel said:

Damn! beat me by 1 week! I'm getting married on the 3rd of September in Playa del Carmen, Mexico.

Good luck and congratulations!
# August 26, 2004 9:19 PM

John Lim said:

Congrats Andrew. Have a nice honeymoon.
# August 26, 2004 11:37 PM

Robin Debreuil said:

Hey Andrew,

While I haven't been running it under mono, that is certainly a goal. There will probably be a few issues, but I've been coding with neutral in mind where possible (targeting swf will do that ; ).

Awesome to hear you are getting married! I always think of the Bertrand Meyer quote that goes something like, "Hollywood movies always ends as the main characters are about to live happily ever after, but that is actually when the interesting part starts".

Of course he was talking about the chaos of object instances at runtime vs the clarity classes at design time -- then again that is a pretty good analogy too : ). All the best to you two...

Cheers,
Robin
# August 28, 2004 6:35 PM

Dmitriy said:

Congrats
# August 30, 2004 3:53 PM

TrackBack said:

# September 13, 2004 10:14 AM

Robert Hurlbut said:

Welcome back! Would love to see some of those sunrise shots.
# September 13, 2004 3:52 PM

cesar lopez nataren said:

Congratulations Andrew!

Cheers
Cesar
# September 16, 2004 4:16 AM

Erik Arvidsson said:

I'm a bit afraid here due to the fact that JScript 7 is not compatible with ECMAScript ed 4 aka Javascript 2.0. Since Mono is supposed to be more than .NET it might make sense to implement JS2 instead of JScript.NET, or at least have some compiler options here.

For the latest public draft see http://www.mozilla.org/js/language/js20/

# September 22, 2004 6:48 AM

rick said:

Dive Into Python by Mark Pilgrim is awesome. It's available in many electronic formats for free, or in print if that's your thing.

http://diveintopython.org/
# September 22, 2004 7:05 PM

Robert Hurlbut said:

This is hilarious!
# September 25, 2004 9:00 AM

Robert Hurlbut said:

And scary if ever true ...
# September 25, 2004 9:00 AM

TrackBack said:

# October 5, 2004 3:08 PM

TrackBack said:

# October 6, 2004 12:34 PM

Weston Weems said:

You know, I've had my eyes on FLEX and LASZLO for a long time. I'll be the first to jump on this bandwagon. No sense in requiring two runtimes to achieve such a simple goal.

Also, I think building this out in .net would absolutely provide a tighter integration. You have any word of when they were scheduled for open source deployment? I'll jump right on it =)
# October 6, 2004 5:56 PM

TrackBack said:

# October 7, 2004 5:27 AM

Andrew Stopford said:

Thanks for the comments. I saw your post on the mailing list Weston, I have updated my post with that. I really do think that we should do a port.
# October 8, 2004 8:43 AM

Andrew Stopford said:

I left this a week, see what happens... I have no idea who reads this and I don't doubt that anyone who knows or cares about Indigo does. So the fact no-one weighed in with a response to my post comes as no suprise. The road to Indigo will be a long one for many, not everyone will make the jump to light speed for it, getting ready, and helping folk to get ready plays as bigger part as the technology its self. So to all the Indigo players, don't forget the little man, lots of us.
# October 8, 2004 9:06 AM

David Temkin said:

Andrew -- One thing we're doing at Laszlo in the near term is decoupling the compiler and the presentation server; it will soon be possible to compile a Laszlo app into a SWF, and deploy it on a Web server without deploying the (Java) presentation server. This gets you part of the way there, since Java will no longer be a required portion of the deployment stack.

However, funcitons like SOAP, XML-RPC, proxying, transcoding, real-time push, and Java RPC (or its .NET equivalent) would need to be reimplemented for apps that need them, since they rely on the server. See

http://www.davidtemkin.com/mtarchive/000007.html

Separately, what are your thoughts on .NET client integration (compile to CLR, rather than SWF) and Visual Studio integration? I'd appreciate your take on these issues as well as the server issues.
# October 9, 2004 9:41 PM

William Luu said:

Interesting read, I also wondered about a .NET version of Laszlo to replace the J2EE component.
# October 11, 2004 5:24 AM

Weston Weems said:

You know, I was one of the people that was interested in starting a .Net port of laszlo...

I've recently spoken with laszlo devs, and had several leads, however if I understand what your getting at, you'd like it to be "language independant", like the .net CLR in general. Or do I understand you wrong?

# October 11, 2004 11:37 AM

Andrew Stopford said:

Hi,

Thanks for the commments.

William your welcome to join the effort if things get moving.

Weston, I mean any language that can compile to the CLI (C#, VB.NET etc). Choice of language and common ground across them is a key strength of the CLI, it gives you the flexability to cover the points I outlined.
# October 11, 2004 5:39 PM

TrackBack said:

dr dreff - andrew-stopfords-weblog
# October 14, 2004 12:12 PM

Scott Galloway said:

Good news is that compression is is v.next of .NET. So far as I am aware SharpZipLib is fully compliant with the requisite RFCs (being a port of the Java implementations of these libraries which certainly were...)
# October 30, 2004 7:33 PM

veejay said:

could Xamlon be a flash killer?!...earlier stages...but..
# October 31, 2004 4:19 AM

Jesse Ezell said:

I use the SharpZipLib lib in SwfSource.NET for ZLib compression. It works quite well and isn't that difficult. The hardest part was locating the proper classes, they are nested somewhere inside the Zip namespace, which is a little confusing, since you would expect a ZLib namespace or something.
# October 31, 2004 1:56 PM

Andrew Stopford said:

Thanks for the comments. As much I am aware ZLib will be in ASp.NET and will be included in a set of FTP classes for Whidby. But a set of namepaces for compression (such as Zlib) in Whidby I can't find any referance to.

Jesse if you could let me know what those classes are that would be really great.
# October 31, 2004 2:20 PM

Jesse Ezell said:

InflaterInputStream and DeflaterOutputStream are what you are looking for. They are found at ICSharpCode.SharpZipLib.Zip.Compression.Streams
# November 1, 2004 12:23 AM

Brenton House said:

I think you will like Subversion. Let me know if you have any questions.
# November 5, 2004 4:49 PM

Jeff Lewis said:

About three years ago, I convinced our development team to move to CVS from RCS. It has been great except for the time it takes to tag - about 1 hour!

I use and love subversion, but we are in the middle of a long development cycle and just can't switch over right now.
# November 5, 2004 5:07 PM

Shannon J Hager said:

I don't think Avalon is shipping before Longhorn. I may be wrong (and would be happy if that is true) but I have not heard that from any official sources.
# November 5, 2004 8:35 PM

Christian Romney said:

The only thing I don't like about Subversion/Visual Studio combo is the funky thing that happens with web projects (they don't load properly).
# November 6, 2004 11:14 AM

Andrew said:

Thanks Shannon, I was off on ship dates. I have altered the post to reflect a true indication of current ship dates on Avalon.
# November 8, 2004 4:05 AM

Howard van Rooijen said:

I don't think you should have too much of a problem compiling this on the 1.0 framework - the main 1.1 requirement is post build events and it has workarounds (C++ project that do the pre and post events). The only dependency to 1.1 you might have is the new BizTalk 2004 tasks.

You might want to take a look at a post I wrote today about VS IntelliSense and SDC:

http://blogs.conchango.com/howardvanrooijen/archive/2004/11/09/229.aspx
# November 9, 2004 5:47 PM

Adam Hill said:

Go check out MutantBuild from the TestDriven.Net guy.
# November 10, 2004 12:31 AM

Andrew said:

Thanks for the comments guys.

Howard there is no source for the SDC build tools that I can locate?

Adam, MutantBuild requires .NET 2.0 b1, running it from home is fine. But in a commerical enviroment, impossible.
# November 10, 2004 3:58 AM

Howard van Rooijen said:

There is a GotDotNet workspace for the SDC tools:

http://www.gotdotnet.com/workspaces/workspace.aspx?id=0e85439d-91f7-47bf-bbba-c12b3917cfb0

You'll need to apply to be a member to get access to the source (I think there is a problem with GDN at the moment).

One important thing to remember with SDC is that there is a roadmap to MSBuild - the tasks you use today in SDC will be valid for MSBuild (as they will be available as a separate assembly you can reference).

I'm in the process of writing a document about SDC and CC.NET. I wrote about integrating SDC and Draco.NET a while ago:

http://www.1succeeded0failed0skipped.com/PermaLink.aspx?guid=f3dc048b-9557-4a93-b2c1-29ec869318b1

But in the past 2 releases CC.NET has really surpassed Draco in functionality.
# November 10, 2004 4:46 AM

Brian LeRoux said:

Our team's been using SVN very successfully for some time now. Great for .NET dev.
# November 10, 2004 6:37 PM

TrackBack said:

Regurgitated build stuff and more
# November 12, 2004 2:34 AM

TrackBack said:

# November 12, 2004 2:36 AM

TrackBack said:

# November 12, 2004 2:42 AM

Chris Martin said:

Thanks for the heads up. I really dig on Miguel lately.
# November 12, 2004 4:17 AM

Howard van Rooijen said:

I can send you a copy of a SDC script I wrote that does code coverage with NCover and NUnit. If you're interested ping me. You should be able to copy it across to NAnt pretty simply.

I spent all of last week setting up a similar projects with CC.NET, SDC, NCover, NUnit, FXCop, NDoc and ILMerge for an 18 project solution.

/Howard
# November 12, 2004 12:14 PM

TrackBack said:

# November 13, 2004 2:59 PM

Darrell said:

Not yet, but if you check it out make sure to post it!
# November 14, 2004 6:52 PM

Howard van Rooijen said:

No, but I have integrated Vil - http://www.1bot.com/
# November 15, 2004 3:48 AM

Sam said:

I wonder if this can be add-in for .NET Reflector and show information in browser?
# November 15, 2004 4:30 AM

TrackBack said:

# November 16, 2004 12:21 PM

Jonathan de Halleux said:

Hi Andrew,

I'm currently addind tests for the NAnt task. I finished the tests for MSBuild yesterday and I hope to fix this damn to fix this damn NAnt task tonight.

When I introduced assembly dependencies, this was a major refactoring and I did not have tests, so now the first step is takened, my tests are red. Just need the time to make them green again.
# November 16, 2004 1:14 PM

Jonathan de Halleux said:

This page might also interrest you: http://blog.dotnetwiki.org/archive/2004/08/29/856.aspx
# November 16, 2004 1:18 PM

Jonathan de Halleux said:

MbUnit works with CruiseControl but you need to add a xsl template to CC.NET. I'll put a xsl template in the next release that integrates nicely in CC.NET.
# November 16, 2004 1:54 PM

Jonathan de Halleux said:

I have finished the refactoring of the NAnt and MSBuild tasks (it will be available on builds greater that 1.0.861d). They now look the same and have been simplified to the maximum.

The wiki has been updated:

NAnt: http://www.testdriven.net/wiki/default.aspx/MyWiki.TestExecutionUsingNAnt

MSBuild: http://www.testdriven.net/wiki/default.aspx/MyWiki.TestExecutionUsingMSBuild
# November 16, 2004 10:39 PM

Jonathan de Halleux said:

For source access, you need to contact Jamie Cansdale.
# November 16, 2004 10:40 PM

Jonathan de Halleux said:

# November 16, 2004 10:43 PM

Roy Dictus said:

Great news Andrew! This confirms that porting utilities from NUnit to MbUnit is indeed quite a snap.

I guess we can send the sources to Jonathan or Jamie so that they can be included in the TestDriven.Net installation...

Roy
# November 17, 2004 9:33 AM

TrackBack said:

# November 17, 2004 11:22 AM

TrackBack said:

# November 17, 2004 2:23 PM

Jonathan de Halleux said:

Hey Roy and Anders,

I don't think branching is a good solution, we need to keep the source in one place and that is the sourceforge CVS.

Did you contact the authors of those projects ?
# November 17, 2004 4:28 PM

Andrew Stopford said:

I have left a note on Johns blog as to my next steps with this. Its as follows.

I have emailed the NUnitASP group and shared my experiences with them. I agree a fork is not a good idea and given the relative ease of switching between NUnit and MbUnit a fork makes no sense. Hopefully the exercise will prove useful for anyone moving from NUnit to MbUnit etc.
# November 17, 2004 7:35 PM

TrackBack said:

# November 18, 2004 7:21 AM

Jonathan de Halleux said:

# November 18, 2004 7:49 PM

Jonathan de Halleux said:

Looks like I need a test for that damn gui. Sorry, forgot to add the xsl template for CruiseControl. On the next build...

I strongly suggest that you avoid using the GUI, it is generally much slower that 'Run Tests...' in Visual Studio using TestDriven.NET
# November 18, 2004 7:51 PM

TrackBack said:

# November 19, 2004 1:35 AM

TrackBack said:

# November 20, 2004 9:02 AM

TrackBack said:

# November 20, 2004 9:40 AM

TrackBack said:

# November 20, 2004 9:44 AM

TrackBack said:

# November 20, 2004 10:03 AM

TrackBack said:

# November 20, 2004 10:05 AM

Howard van Rooijen said:

This link doesn't seem correct.
# November 21, 2004 6:10 PM

Jonathan de Halleux said:

Did you try to launch NCover from NAnt as a command shell instruction?
# November 21, 2004 11:45 PM

TrackBack said:

# November 22, 2004 12:54 AM

TrackBack said:

# November 22, 2004 12:54 AM

Andrew Stopford said:

I did'nt use NAnt I tried this manually in the command shell. I am profiling a class lib so to do that I need to profile NUnit as it runs the unit tests on the lib. Interestingly it raises the error but clicking continue finishes the profile, however coverage data includes NUnit but not my lib.
# November 22, 2004 4:30 AM

Melvin Lee said:

I use the following commandline to execute ncover for my lib

"c:\Program Files\NCover\NC
over.Console.exe" /c "c:\Program Files\TestDriven.NET 1.0\MbUnit\MbUnit.Cons.exe" MyAssemblyToProfile.dll /a MyNamespaceToProfile /v

You have to run this command line in the debug directory since NCover requires the pdb files.

I use the following Nant script snippet to do code coverage in a automatic build

<property name="test.include.pattern" value="./Tests/**/bin/debug/*Tests.dll" />
<property name="ncover.executable" value="c:\Program Files\NCover\NCover.Console.exe" />
<property name="mbunit.executable" value="C:\Program Files\TestDriven.NET 1.0\MbUnit\mbunit.cons.exe" />

<target name="code-coverage">
<foreach property="assembly.name" item="File">
<in>
<items>
<include name="${test.include.pattern}" />
</items>
</in>
<do>
<property name="assembly.namespace" value="${string::replace(assembly::get-name(assembly.name), 'Tests', '')}" />
<exec program="${ncover.executable}" commandline="/c &quot;${mbunit.executable}&quot; ${assembly.name} /a ${assembly.namespace} /w ${path::get-directory-name(assembly.name)} /v" />
</do>
</foreach>
</target>
# November 22, 2004 8:45 AM

Howard van Rooijen said:

# November 22, 2004 10:36 AM

Howard van Rooijen said:

I've never had a problem using SDC with ASP.NET projects - what are you trying to do?
# November 24, 2004 1:41 PM

Howard van Rooijen said:

Oh and have you seen this?

http://blogs.conchango.com/jamessimmonds/archive/2004/11/24/322.aspx

Send MSN Messenger notifications from the command line - used to notify developers to check in source before they go home :)
# November 24, 2004 1:44 PM

TrackBack said:

# November 24, 2004 2:20 PM

Jonathan de Halleux said:

Are you problems MbUnit related ?
Why not trying to compile with MSBuild ? You can even launch MSBuild using the exec task.
# November 24, 2004 8:54 PM

TrackBack said:

# November 25, 2004 12:05 AM

Andrew Stopford said:

MSBuild requires 2.0 beta1 which I can't run in the commerical enviroment. If I could then Jamie's MutantBuild/MsBuild combo might have done the trick. As it is the SDC Build tools are a build up to MSBuild. Should these work, I do have some larger issues to solve, compiling to different .NET 1.0 or 1.1 etc.
# November 25, 2004 4:05 AM

Dana Epp said:

Andrew, this was an awesome post. I have been pulling hairs out trying to use the <solution> tag in nant to no avail. Being able to call devenv within an <exec> is an AWESOME idea to get nant to build the entire solution from the command line.

I totally forgot that cmd was there. Thanks for the tip!
# November 25, 2004 10:20 AM

John Hardin said:

Is the license compatible with use in a closed-source app? (in other words, is it LGPL or GPL?)
# November 28, 2004 4:59 PM

John Hardin said:

Duh. Read the links first.

Ignore me.
# November 28, 2004 5:00 PM

Howard van Rooijen said:

Very nice - will try doing this with my build. At the moment I use the CommandLineBuilder:

<build type="commandLineBuilder">
<executable>SDCBuild.exe</executable>
<baseDirectory>..\</baseDirectory>
<buildArgs> /c:DailyBuild.config</buildArgs>
<buildTimeoutSeconds>30000</buildTimeoutSeconds>
</build>

and have used in the past, modified the NAnt Task:

<build type="nant">
<executable>SDCBuild.exe</executable>
<baseDirectory>..\</baseDirectory>
<buildArgs></buildArgs>
<buildFile> /c:ContinuousIntegration.config</buildFile>
<targetList>
<target>run</target>
</targetList>
<buildTimeoutSeconds>30000</buildTimeoutSeconds>
</build>
# November 30, 2004 8:34 AM

Andrew said:

Some cool ideas Howard. If you want the source/assembly for this task let me know. I am thinking about creating a gotdotnet workspace for SDC tasks etc.
# November 30, 2004 9:17 AM

Niki said:

I am trying to figure out which tool is good for .Net framework. There are many available online like NUnit, MbUnit and csUnit. Can please give me advantages and disadvantages of each.
# December 1, 2004 11:32 AM

Niki said:

I am trying to figure out which tool is good for .Net framework. There are many available online like NUnit, MbUnit and csUnit. Can you please give me advantages and disadvantages of each.
# December 1, 2004 11:34 AM

Jonathan de Halleux said:

Sidenote: my nickname is Peli, feel free to use instead of 'John'.

Beer Driven Development is a little game we have with Jamie Cansdale :)
# December 1, 2004 11:35 AM

Jonathan de Halleux said:

From the limited exploration I did in SDC, it seems that their tasks are hard coded (see XmlParser) which makes it very difficult to implement a MbUnit task without recompiling.

Moverover, it seems that the SDC team has totally moved their tasks to msbuild (seee the 2.0 build). Why not considering using msbuild instead of SDC ?
# December 1, 2004 11:37 AM

Andrew said:

Sure, I prefer Andrew to Andy but hey :) I have changed the post, will note the preferance in future posts. Another congrats BTW :)
# December 1, 2004 12:37 PM

Andrew said:

Hey Peli,

The problem with MsBuild is that you need .NET 2.0 beta to run it and in a
commerical enviroment thats out of the question.

Therefore I am working in the bounds of 1.0/1.1 and as such need to find
build tools for that .NET version. This is the reason I am using SDC over
MsBuild.

If a recompile is needed then its something then thats something that can be
done with out an issue. Could you provide some further data on say the wiki
or your blog on doing this so rather than actually providing the code you
just give us some ideas to go with that we can use to DIY it.
# December 1, 2004 5:28 PM

TrackBack said:

# December 7, 2004 9:05 AM

Howard van Rooijen said:

Thanks very much!

One of the things I hope I got across was that your Engineering Practices should be independent of project methodology – each one of the EP’s brings merit to the end product, regardless of how you manage getting to that point. Even if you’re not doing Scrum – there is no reason not to do the daily stand-up meeting – it’s just good common sense. The major point being that in Agile projects you need to be more rigorous with your Practices to offset the risks of developing solutions in an iterative and incremental way.

Make sure you take a look at Colin’s post his part of the presentation:

http://blogs.conchango.com/colinbird/archive/2004/12/07/401.aspx
# December 8, 2004 9:21 AM

Howard van Rooijen said:

I've been doing the same, I started off going down that path, using Wise and MSI, then got really frustrated and swapped to NSIS (Nullsoft Scriptable Install System) - job done! NSIS is excellent; lightweight, powerful and most importantly rapid to develop with.

Within an hour I had written 2 installers that register items in the GAC, create Virtual Directories, install a windows service and kick off a code gen process.
# December 9, 2004 3:18 PM

Andrew Stopford said:

Hi Howard,

Just started looking at NSIS, a few articles on creating the things such you mention would be great to see.
# December 10, 2004 6:55 AM

K said:

I agree, this is a pain where I work too. We work locally for development, post to another development server for content edits, a web-accessible staging server for client review and then finally live for one of our bigger .NET projects.

One solution that has been in use here is that there is no web.config stored in SCM, but instead a STAGIN-Web.config and a LIVE-Web.config which mirror the staging and live environment (respectfully). I cannot take credit for this as I am not actually on this project generally.

I would like to find another solution, something that is more dynamic. In most of our ASP [Classic] code we have code that dynamically determines where the code is being run from and adjusts pathing and datasource information accordingly but I haven't been able to find a way to do that with the static (and readonly) web.config file.
# December 10, 2004 8:16 AM

H. said:

We used to use configsections for each machine we need a web.config for. In app settings we then had machine names point to the right configsection like
<add key=webserver value=live/>
<add key=stagingserver value=staging/>
<add key=dev value=dev/>

In code we ask the machinename using system.environment, and with that we get the appropiate configsections.

To bad we use a ORM mapper now that want its connectionstring to be placed in the appsettings as well, so we are looking for a different solutions.
# December 10, 2004 8:25 AM

Scott Galloway said:

User.config files let you set these for each environment - appSettings at least take a look at http://dotnetjunkies.com/WebLog/seichert/archive/2003/06/03/194.aspx
For more info.
Whatg you'd do is have a common web.config and individual user.configs
# December 10, 2004 8:34 AM

AndrewSeven said:

I really take the the philosophy of config to heart.

The configs in dev and prod are different.

The person who deploys, does not dump the dev config into prod, he uses a tool to compare to previous versions and verifies new additions.




# December 10, 2004 9:39 AM

lorenh said:

I have written an command line XmlPreprocessor tool that lets me have a single source of truth config file that gets preprocessed at deployment time. The comments are non-invasive, so the development copy stays working for developers right out of source control.

Essentially it lets you do things like this:

<configuration>
<appSettings>
<!-- ifdef ${PRODUCTION} -->
<!-- <add name="someserver" value="s1"/> -->
<!-- endif -->

<!-- ifdef ${TESTING} -->
<!-- <add name="someserver" value="t1"/> -->
<!-- endif -->

<!-- ifdef ${DEV} -->
<add name="someserver" value="t1"/>
<!-- endif -->
</appSetting>
</configuration>

Although there are more ways to define values like on the command line, or in an external environment settings file (that has a tool useable by an operations person). We run the preprocessor as part of our MSI's as a custom action.

I am putting the tool out as open source (if I can ever figure out how to set up CVS access so I can check it into sourceforge) in case you are interested. The project will eventually be located at http://sourceforge.net/projects/xmlpreprocess

Scott Colestock has just released a BizTalk deployment script that uses it (http://www.traceofthought.net/PermaLink,guid,b9c45d34-85c8-449f-b1a6-deafc2d89084.aspx) so you can get the executable from there if you are interested in playing with it.
# December 10, 2004 10:04 AM

AJ said:

We keep different versions for each environment.... dev-web.config, staging-web.config, and prod-web.config. The build/deploy script takes care of renaming the correct one when necessary.
# December 10, 2004 7:50 PM

TrackBack said:

# December 11, 2004 7:36 PM

Jonathan de Halleux said:

You should definitely have a look at Wix, xml based MSI generator.
# December 11, 2004 9:24 PM

Wayne Allen said:

Patterns are moving from a hot topic to assumed knowledge. Although there will always be rediscoveries of current knowledge.
From my point of view patterns are a communication mechanism (i.e. jargon) that lets developers talk in short hand. You shouldn't be setting out to use Observer, rather you discover you have a need for something like Observer so you may change your code to conform to the Observer design or not.
# December 20, 2004 7:03 PM

TrackBack said:

# December 23, 2004 10:17 AM

Charles Chen said:

try

http://www.dofactory.com/Patterns/Patterns.aspx

"Patterns are moving beyond a hot topic to assumed knowedge"

Far from it. When I was at Factiva, a few of my team member's were *really* into design patterns and really worked to implement what I would describe as an elegant OOP solution. On the other hand, the self proclaimed "architect" (by seniority) of the team had no idea what design patterns were. Ugh, it was so frustrating working with the guy; every time we'd have a discussion on the design of some component, he would walk by, inject some bs like he knew it all, and we would do it his way, even though it was clearly *NOT* the best way of doing it. What's worse is that he had no desire to learn about design patterns, good OOP practices, or UML. I don't know how many times I sent the guy links, but he never looked at them. One of the team members even purchased several books including the "Gang of Four" Design Patterns book...he never cracked it open once.

He would hand us these quasi-UML diagrams that used UML notation in incorrect fashion. You can guess how much confusion that caused. Bottom line: design patterns are still a ways off from being "assumed knowledge". Design patterns should be one of the first courses they teach in any college level computer science curriculum. It's entirely absent in some curriculums and, in my case, was relegated to a short blip in one of the highest level CS courses which was not required for the major (meaning not many people in my graduating class were even exposed to it).

Sad, but true.
# December 23, 2004 3:54 PM

css said:

College curriculums are (usually) part of a big beauracracy which move slowly. Patterns are still a new thing to explore in my school's CS program. Of course it would help if some more of the profs had actual real industry experience in the last 5 years. I know one of my clasess (this is a grad level class) is the only class to ever discuss design patterns because I forced the prof to do it. We only spent 2-3 weeks on the topic at the end of the semester which is definately not enough time.
# December 23, 2004 4:04 PM

css said:

# December 23, 2004 4:04 PM

Charles Chen said:

I would also like to add another bullet to the above, which is the point that design patterns are more than just a way of communicating a design, more than just a way of thinking; if you think about it, each pattern is a kind of partial, generic solution to some problem that other's in the industry have encountered in the past.

In that sense, they are a starting point in solving common problems encountered in building software. A familiarity with the standard design patterns can help you avoid pitfalls that you would encounter if you were to try to go about "discovering" them for the first time.

As for college curriculums, I really feel that design patterns should be taught alongside of an introductory programming course (along with software engineering). I've never understood why software engineering (at Rutgers, this was a course focused on _how_ to develop software, how to work in teams, how to manage projects, how to write documentation, etc.) is a senior level elective.
# December 23, 2004 4:21 PM

Wayne Allen said:

OK, in my universe design patterns are assumed knowledge. Certainly I know of developers who have never heard of them, but they aren't what I consider to be "senior".

Design patterns are _a_ general solution to a general problem. My issue with teaching people to code to patterns is that they don't know why they are using the pattern. If you do know when to use a pattern (and more importantly when not to) then patterns are just shorthand for communicating design intent.

Tool support for patterns in IMHO a "bad" thing. I've seen to much code that has every GoF pattern in it because "patterns are good".
# December 23, 2004 5:12 PM

Drew Marsh said:

Avalon UI, which what you'd really be testing (not XAML), has an entire automation API[1].

HTH,
Drew

[1] http://winfx.msdn.microsoft.com/?//winfx.msdn.microsoft.com/winfx/accessibility/overviews/uiaccess_ovw.aspx
# December 24, 2004 1:09 AM

TrackBack said:

# December 28, 2004 8:29 AM

TrackBack said:

# December 28, 2004 1:09 PM

TrackBack said:

# December 28, 2004 10:58 PM

TrackBack said:

# December 30, 2004 11:06 PM

Robert McLaws said:

You might try out my MSBuild Compatibility Toolkit. It lets MSBuild compile to both 1.1 and 1.0.

http://www.interscapeusa.com/Downloads/Download.aspx?File=MSBuildToolkit.msi

Microsoft won't support MSBuild with 1.1. If you want it, this is how it's going to happen... through the community.
# January 1, 2005 4:47 PM

Torkar said:

Well my supervisor and I supervised an thesis work regarding a ruby2cil compiler.

At the moment my supervisor has a prototype working and he and others plan to publish their work in DDJ and .Net Developer's Journal.

Interested? Mail me in that case.
richard dot torkar at htu dot se
# January 2, 2005 8:39 AM

Jonathan de Halleux said:

5. is part of my 2005 'good intentions', I promess.
# January 3, 2005 3:29 AM

kj said:

Yeah I'm looking for the same thing.

KJ
# January 15, 2005 9:52 PM

SBC said:

there was a XML/.Net Workflow engine effort a few months ago -
http://dotnetjunkies.com/WebLog/lamont_harrington/archive/2004/04/27/12225.aspx
# January 15, 2005 10:30 PM

Andrew Stopford said:

Thanks, I was looking at this but it appears to be for SharePoint and uses its hooks. How simple it would be to make it generic I don't know.
# January 15, 2005 10:45 PM

Arun Puri said:

Rockford Lhotka had written a very simple, sort of proof of concept, Rule Engine in VB. It should give you some good ideas. Regarding extensibily, you can always modify it to loading rules from XML source or provide a UI to do that.
# January 16, 2005 4:33 AM

Dave said:

Why don't you just use a java engine? Its kinda like calling a webservice ain't it?
# January 16, 2005 11:55 AM

BradC said:

Link to the article Arun mentioned is here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet12232003.asp

Haven't read it yet, but it looks interesting. I am going to be implementing one of these for an upcoming project, too.
# January 16, 2005 5:44 PM

TrackBack said:

# January 16, 2005 10:14 PM

TrackBack said:

http://dotmark.net/default.aspx
# January 24, 2005 8:15 AM

TrackBack said:

http://internetnews.com/ent-news/article.php/3462271
# January 24, 2005 8:17 AM

TrackBack said:

# January 25, 2005 12:55 PM

TrackBack said:

# January 26, 2005 5:33 AM

TrackBack said:

<p>&lt;ul&gt;&lt;li&gt;Nehéz és hosszú szülés után... ami főleg időhiánynak köszönhető... kérjük azokat, akik szívesen olvasnak (=azt a keveset), hogyha talál vmi érdekeset, akár el is küldheti :)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;ht
# January 27, 2005 12:17 AM

sudhi said:

I have written something in c# for .NEt.
Best part is it is open source.
In a nutshell, it does not use any webservices..
Here is the summary

Create Task Nodes
Create system defined and user defined tasks and assoicate with TaskNodes.
Each task Nodes will have a task container which can be customized for any operations..
Then a Thread will start and execute the tasks (System Defined as well as user defined. in sequence.
If any task has dependencies, then you have to attach a wait task as "Next Task Sequence".
For more details.. Pls. contact ,e

My email is sudhi_bs@yahoo.com
# January 30, 2005 9:15 AM

TrackBack said:

# February 7, 2005 3:30 AM

TrackBack said:

# February 7, 2005 11:26 AM

Jonathan de Halleux said:

Andrew could you reformat the tables ? It is barely readable in my browser...
# February 7, 2005 11:16 PM

Mischa Kroon said:

It was released into the public domain.

Aka do with it what you will license :P
( trough the comments on that post )
# February 8, 2005 8:12 AM

CATALONIA NOT IS SPAIN said:

la gente k hace negocio cn las pulseras deverian meterlas en la trena!
# February 10, 2005 4:44 AM

TrackBack said:

# February 14, 2005 3:09 PM

TrackBack said:

# February 14, 2005 3:23 PM

TrackBack said:

# February 25, 2005 3:38 AM

TrackBack said:

# February 25, 2005 3:39 AM

Chris Szurgot said:

My biggest gripe about Unit Testing ASP.NET is the startup time involved. Because it doesn't precompile the actual aspx pages (just the code-behind), there's a considerably delay for each page. Hopefully, this will get better in Whidbey with the ability to compile everything.
# February 25, 2005 8:56 AM

Alex said:

Have you seen SWExplorerAutomation(http://home.comcast.net/~furmana/SWIEAutomation.htm)? The application allows to create an object model for any Web Application. The object model can be used for writing NUnit tests.
# February 25, 2005 11:55 AM

TrackBack said:

Interesting finds this week
# February 26, 2005 3:36 AM

TrackBack said:

# February 26, 2005 4:17 AM

Howard van Rooijen said:

The application is intrinsically linked to the Netron Project which is Open Source, so I have no problem with it!

I have made a start on the MSBuild version, but my current project is eating up all my time - so I've had to shelve development :(
# February 26, 2005 2:10 PM

Jonathan de Halleux said:

Andrew, would you consider pushing on the CC.Net team to have the template integrated in to CC.NET as part of the default distribution ? ;)
# February 26, 2005 5:50 PM

Carlton Nettleton said:

I am not sure if I follow you here - are your changes going to be incorporated into NUnitASP? Or maybe my question is: can you use NUnitAsp with MbUnit?

# March 1, 2005 7:07 PM

Andrew Stopford said:

The version that sits in CVS is easier to adapt to frameworks other than NUnit. However the changes noted are for versions earlier to this. With that version these changes would have ment branching NUnitASP and so they were not adopted into the code base. However you can easily make the changes your self, the post notes on how you can do this.
# March 3, 2005 7:38 AM

Mark Levison said:

Those are two interesting articles - however both rely on reflection. This appears to make the tests time consuming to write and very fragile -- the smallest rename and the tests break in very mysterious ways. Is the API you mentioned in the previous post likely to be less fragile? Is there anything in the way of an overview?

I've been playing with NUnitForms (http://dotnetjunkies.com/WebLog/mlevison/archive/2004/04/14/11415.aspx) for nearly a year now - while it does the job, its been hard work. Again the resulting tests are very fragile. So fragile I've stopped developing new NUnitForms tests for now.
# March 4, 2005 12:30 PM

Carlton Nettleton said:

OK. I understand now - you wanted to change the NUnitASP source so it was more generic to other frameworks, but that would have caused a branch. It was decided not to do that.

As a result, you checked out your own version of NUnitASP, did all the "find and replaces" on your own copy, compiled it and are using a "custom" version of NUnitASP that uses MbUnit.
# March 4, 2005 12:31 PM

Robert Hurlbut said:

Congratulations -- you ARE famous! :)
# March 18, 2005 10:20 AM

Howard van Rooijen said:

Excellent - great news. I hope the transition goes well.
# March 21, 2005 11:26 AM

Tim Drinkhill said:

Awww bless, Andrew - you're too kind! :-) It was a pleasure working with you.
# March 22, 2005 6:07 PM

Jeffrey Palermo said:

"User interface lead design I would consider in the agile world/RAD world."

Are you a RAD coder and an agile coder? I don't understand how you can make that comment? In agile, if you have a UI mockup but no user stories or specs, how can you develop a system?

As far as RAD goes, there are no rules. Get it out fast, period.

For CMM, the SRS is king. Nothing gets done without it. The SRS can be a big, bloated bunch of no value in the hands of the wrong project manager, or it can be used effectively with agile methodologies if it is trim and to the point and includes the relavent user stories.
# March 28, 2005 1:20 PM

Andrew Stopford said:

"Are you a RAD coder and an agile coder?"

I do them all thanks. However I am commenting on the world of BPUF/CMM.

"In agile, if you have a UI mockup but no user stories or specs"

At what point did I say anything about no stories or specs. I know full well that UI mockup in the world of agile is as important as any other methodology.

# March 29, 2005 12:41 PM

Brennan Stehling said:

I have done mostly .NET development this past year after doing Java for years. I would really like to see some smooth integrations between these two runtimes.

I have found some very "low tech" methods of providing that integration. Many people are focusing on placing the logic into Web Services with WS-I but in real world use I am finding people are using proven technologies, such as a database. You can place data into a table which Java, .NET, Perl, Python or Ruby can access and simply use the database as your communications medium. You could use Web Service communications to signal remote services to trigger events to check the database to make it highly responsive, but you can also use a simple socket and send a specific byte value over the wire to indicate a status which the remote system can handle.

That sort of integration you can get today without WS-I or XML involved at all.

The project I am on now has a mix of classic ASP/VB and Delphi developers along with new ASP.NET 2.0 software in the mix. We are finding stored procedures are an excellent mechanism for these 3 technologies to work well together.
# April 5, 2005 1:45 PM

Jonathan de Halleux said:

He should ;)
# April 9, 2005 1:36 PM

Robert Hurlbut said:

I discovered MbUnit a couple of days ago after much, much prodding from Andrew and it is a fantastic tool! Looking forward to showing it to the group ...
# April 11, 2005 8:29 AM

Duncan said:

Well, I guess he (Peli) decided not go OSS right now according to his latest blog entry (http://blog.dotnetwiki.org/archive/2005/04/15/1568.aspx)

I cross my fingers for MbUnit really going OSS again but the TestDriven.NET license and the page on the TestDriven.NET wiki suggests otherwise :(

# April 17, 2005 12:22 PM

TrackBack said:

# April 22, 2005 12:22 PM

Atul said:

Assert.IstTrue(True)
Its the future :-)
# April 22, 2005 12:28 PM

Steve Willer said:

Great!

Can't wait til we finally get an Assert.IsFalse(), or Assert.Contains()

:-)
# April 22, 2005 9:15 PM

Andrew Stopford said:

While we can help build the framework we can only encourage people to write unit tests correctly.
# April 23, 2005 4:19 PM

Andrea Sansottera said:

Glad to hear that Andrew. I'm going to join the mailing list. If I can, I will help you improving this great tool!
# April 25, 2005 9:37 AM

TrackBack said:

# April 25, 2005 10:55 AM

TrackBack said:

# April 25, 2005 11:08 AM

TrackBack said:

# April 27, 2005 3:28 AM

TrackBack said:

Previously I posted my thoughts around deciding on a unit testing framework. There was some discussion in that posted that voiced concern about the future of MbUnit as Jonathan de Halleux (Peli) had given up working on MbUnit and that...
# April 27, 2005 10:45 AM

Tim said:

# May 1, 2005 4:43 AM

TrackBack said:

# May 5, 2005 2:35 AM

Robert McLaws said:

weblogs.asp.net will be converted over to CommunityServer soon.
# May 5, 2005 1:54 PM

Haacked (aka Phil Haack) said:

Subtext will start off as a single user blog only engine. It's geared towards a different market than Community Server and thus ASP.NET.
# May 5, 2005 4:51 PM

TrackBack said:

Link Dump - 2
# May 5, 2005 7:21 PM

Rich said:

Excellent. A QuickGraph forum or community is much needed like the BGL community. Hopefully I can get my QG questions answered in this MBUnit ML.
# May 13, 2005 10:38 AM

TrackBack said:

# May 17, 2005 7:54 AM

Charlie Poole said:

The page is probably misnamed, since there really is no comparison of features.

The discussion really has to do with somebody's opinion that we should abandon development on NUnit, because MbUnit is so great. An obvious troll, and I fell for it. :-(

One interesting discussion topic to take up somewhere is "Are there intrinsic differences between the two projects and, if so, why?" I'm not sure where to have that discussion though.
# May 22, 2005 7:50 PM

amy said:

Hi Andrew, I looked at your gardening blog but I can't post a comment there because I don't have a blogger account, are you going to change that?
# May 27, 2005 12:27 AM

Andrew said:

Public comments are now enabled :)
# May 27, 2005 3:22 AM

Serge van den Oever [Macaw] said:

But I assume you can install the 1.1 framewortk next to .net 2, and use ccnet on that.
# May 30, 2005 6:36 PM

Vurg said:

I agree. The current TFS is so unreliable. I wouldn't even use it for testing.
# May 30, 2005 6:56 PM

TrackBack said:

# May 31, 2005 12:10 PM

TrackBack said:

# May 31, 2005 12:11 PM

Andrew said:

Hi Alex,

Thanks for the comments. I checked out Parabuild, got a few questions.

1) Does it have community license support for OSS projects?

2) Does it support runnings testing software (unit, functional, coverage etc) and reporting for that software?

3) Does it have a web service or API so it can be expanded, new plugins created, other SC providers or bug trackers plugged in etc?

Cheers

Andrew
# June 1, 2005 3:15 AM

TrackBack said:

# June 3, 2005 5:57 AM

TrackBack said:

# June 3, 2005 6:00 AM

TrackBack said:

# June 3, 2005 6:06 AM

Peter Ibbotson said:

One potential reason is to execute code paths for invalid states easily (makes checking that an invalid value in a switch does throw an exception). Ideally you shouldn't need to do this but it can be quite useful, particularly for regression testing.

You have to remember that the Unit Test stuff in here isn't just designed for TDD. TDD as a development model is pretty good for some things, but I don't think it's very good at the throw random data at an object kind of testing that good testers do.
# June 3, 2005 6:53 AM

Jerrad Anderson said:

Another good reason to test private methods is that sometime they are class helpers. Methods that are used internally to do some sort of repetitive class task. Testing these method then becomes just as important as testing public methods
# June 3, 2005 10:51 AM

TrackBack said:

Visual Studio Team System


Bill Sheldon from InterKnowlogy has an item in the June 3rd edition of...
# June 4, 2005 9:06 PM

TrackBack said:

Visual Studio Team System


Bill Sheldon from InterKnowlogy has an item in the June 3rd edition of...
# June 4, 2005 9:06 PM

TrackBack said:

Visual Studio Team System


Bill Sheldon from InterKnowlogy has an item in the June 3rd edition of...
# June 4, 2005 9:06 PM

TrackBack said:

# June 6, 2005 10:19 PM

Ernie Booth said:

You should check out Xamlon www.xamlon.com it is .NET support for flash. It also is Avalon programming support for flash.
# June 8, 2005 11:03 AM

Scott C. Reynolds said:

Ideally we'd like to support a number of unit test packages...drop me a line and we can discuss.
# June 13, 2005 10:21 AM

TrackBack said:

# June 14, 2005 5:56 PM

Atul Thakor said:

By setting a essential use policy:

Turn off viewstate EVERYWHERE... then as its needed turn it back on. It would have been great if you could set the default viewstate to off at a solution/project level.

To optimize client page loads theres a useful tool you can use which can be found here:

http://www.flesk.net/fleskviewstate.aspx

It woulds by setting the viewstate to an id and actually storing the viewstate at the server.
AT
# June 22, 2005 5:58 AM

Wilco Bauwer said:

Atul: as of 2.0, you can use the (out-of-the-box) session page state persister. See also http://www.wilcob.com/wilco/Default.aspx?NewsID=153.

Atul's approach makes sense to me. Turn viewstate off by default and enable it at places where it is desired (client/server load trade-off, etc.).
# June 22, 2005 8:14 AM

RichB said:

There are two issues, ViewState and Postbacks. ViewState in .Net v2 is very very compact. I'm totally impressed by what the ASP.Net team have done.

Secondly, the issue of Postbacks. It turns out that making every single web request a POST is not nice when it comes to search engines or bookmarks. Therefore, you have to make the judgement of how many GETs and how many POSTs it makes sense for your site to use. Is it any wonder that you won't find a single PostBack web request on the Ask Jeeves website, despite it being written in ASP.Net?

# June 22, 2005 8:56 AM

Atul Thakor said:

Wilco Bauwer: Cheers for the link on State.

Persister sounds like a pretty good idea. Just wondering does it persist over a server farm too? Just wondering if the session server will need to be upped a little bit.
# June 22, 2005 10:00 AM

Brennan Stehling said:

In response to that last comment about when to use POST or GET...

I like to use RewritePath to allow the base URL to provide necessary information. Like if it is a product, in Global.asax I could do...

If HttpContext.Current.Request.Url.AbsolutePath.Contains(WebConfig.ApplicationPath + "Product/") Then
HttpContext.Current.RewritePath("Product.aspx")
End If

With this code I map a pseudo path from /Product to resolve to Product.aspx. From there I can use a regular expression to get the name of the product.

/Product/Chair.aspx

In this case it is Chair, but it could be anything. It still has to end in aspx because that is registered to be processed by IIS as an ASP.NET page.
# June 22, 2005 10:18 AM

Andrew Stopford said:

Thanks for the comments.

Atul good point on policy, a hard one to police on any scope though. Lets say your web app is some 300 pages/700+ controls there is nothing to say the view state on this page is too big unless you physically go and look at every page.

Does not farming the viewstate off just present performance problems, round tripping to a database to obtain that data.

Also if asp.net 2.0 is follow accessability standards then surely setting a control to a accessability level (lets for example say level 3) then will this alter the way a control renders and indeed how it uses viewstate.

Thoughts welcome....
# June 22, 2005 12:36 PM

Jeremy Miller said:

Andrew,

I concur all the way around. I put up a similar post at http://jeremydmiller.blogspot.com/2005/06/learning-lessons-can-you-make-mistakes.html after doing a (shockingly) pleasant and productive project retrospective at my new job.
# June 22, 2005 2:29 PM

Atul Thakor said:

Happy Birthday!
# June 28, 2005 2:40 AM

Brennan Stehling said:

29 is not such a bad year, but 30...
# June 28, 2005 1:36 PM

Ron Scott said:

MbUnit has been driving me insane. I don't want to leave it behind; I love the additional functionality it offers when running via TestDriven.NET, and the output is very pretty.

However there are so many problems with the project right now that I don't know where to begin--I'm at my wits' end and am ready to go back to NUnit myself.

1) There's a project homepage at tigris, but it's hopelessly mangled and difficult to read, appearing to also be a page for QuickGraph and ReFly. The page doesn't even offer a download of its own product!

2) There's no standalone installer. What if I don't want TestDriven.NET?

3) The code doesn't appear to be public. At least if it is, I can't find it. So, it's effectively closed-source.

4) The GUI is ridiculously slow. I have a project consisting of around 60 binaries (exes and dlls) and the GUI takes a good ~5 minutes to load the project. Meanwhile, the only clue I get that something's going on is in the status bar--I can feel free to interrupt the background thread by messing around with the menus and get exceptions if I want. Hint: a UI where you effectively can't do anything else during a process doesn't need a background worker. It needs an hourglass.

5) It's impossible to tell who's in charge. First it was this one guy, then it was this other guy, but none of this is clearly communicated, ANYWHERE.

6) There's no operating Wiki (I know there's one but it's dead and full of dead links and nobody contributes.) The only community appears to be mailing lists. What century is this, again?

7) There is absolutely none, zero, zip documentation. Anywhere. Originally I guess you could get some off-the-cuff stuff from some guy's blog, but that blog appears to be dead at the moment.

8) And lastly, it appears that the console app--get this--can't find it's own dependencies unless it is both executed from, and the test project file (.mbunt) resides in the actual MbUnit application folder.

So, yeah. It's a great idea but it doesn't appear that the execution is there. It's just, basically, impossible to use.
# June 28, 2005 7:52 PM

Ron Scott said:

Amended notes to my previous comment:

So it looks like you can get the code. If you want to use an SVN client. I take it back about the code not being available--change that to "very very hard and annoying to get."

And about the console app--I still can't get it to work. My most recent attempt had me actually copying mbunit.cons.exe into the folder that had all of the assemblies to be tested, and running it from there. At that point the app was able to at least find its own DLLs--but it still didn't test. It just threw an exception about not being able to assembly "tests" or one of its dependencies, "tests" being the name of my .mbunit project file.

So, still unusable, since I can't integrate with CruiseControl this way.
# June 28, 2005 8:21 PM

poker games site said:

You are invited to check some relevant information on texas hold em site http://www.allabout-poker.com/texas-hold-em.html
... Thanks!!!
# June 29, 2005 2:24 AM

Andrew Stopford said:

Ron,

Since you did'nt leave a emaill address I can't contact you directly to help you overcome your issues. I strongly advise you to join the MbUnit mailing lists and voice your concerns and issues there, MbUnit has a community and the best way to get advice and help on problems and issues is to be a part of it. Updates on what is happening with the project is shared to the mailing lists so its important that you join them.

Before I address the issues you are experincing let me remind you that MbUnit is coming away from a closed source model to a open source model and this is still a work in progress. As such there is still a lot of work to do and the more people help the easier this will become.

1) The homepage does need updating and this is being worked on.

2) For the moment you will need to compile the MbUnit source. This is an added level of complexitity for a lot of folks and we hope to offer a MbUnit installer ASAP.

3) The code is opensource on Tigris under CVS not SVN, the license is available from

http://www.testdriven.net/wiki/default.aspx/MyWiki.MbUnitLicense">http://www.testdriven.net/wiki/default.aspx/MyWiki.MbUnitLicense

A SVN branch has been available but this is not being used. Updates to the source will be made to CVS until such time as we can make the Tigris SVN workable with CCNet.

4) If you feel this is a defect then please share with other users, see what they have done to overcome this issue. Also raise the issue on the Tigris issue tracker, if the defect is not raised it cannot be dealt with.

5) This has been the net effect of the move from a closed source model to a open source model. A lot of administration remains but if you have any doubts, MbUnit is opensource under my leadership with Peli offering advice and guidence to the community. My involvement was blogged here.

6) The wiki is available from http://www.testdriven.net/wiki/default.aspx/MyWiki.MbUnit and is updated. Community contributions are very welcome.

7) While Pelis blog and the wiki remain a good source of documentation there is still a lot of work to do I agree, the more people help out the more documentation we will have.

8) Again cast this to the lists.

On your CCNet point, have you tried the NAnt or MSBuild tasks.
# June 29, 2005 4:13 AM

Ron Scott said:

Okay, well here's the deal.

I am going to have to go back to NUnit. I eagerly await the time that I can use MbUnit--I like it, I really do, it's an impressive piece of work, and I *want* to use it so badly I can taste it, but at this point in the project's lifecycle, it's just not ready for production use.

Let me tell you what finally tipped me over the edge (and you're free to duplicate these comments anywhere you want.) Please keep in mind that these comments are meant to be constructive. I apologize for the somewhat irascible tone my comments took yesterday--I'm sure you can understand, being a developer, riding a wave of frustration until you wipe out.

On your advice, I got the latest code from the CVS repository at Tigris.

First of all, the fact that the guest password is "guest" may be some kind of standard convention to people who use CVS a lot, but I didn't know this, and this fact was well-hidden at the bottom of the instruction page.

After I got the source, I looked through it. It appears that the standard build method is MSBuild. This is fine and good, but I don't have access to MSBuild--I do production work, and we use Visual Studio 2003. I have no access to 2005--even if I did, I wouldn't use it, because it's a beta. It's unreleased software and I write mission-critical production data analysis code.

So, I figure, I can write an NAnt script for it, but before I do that, I decide I'll open the solution and look it over.

The solution files are all Visual Studio 2005 solutions. So I can't open them with the most recent Visual Studio, which is 2003--I would have to actually muck up my development environment by installing a beta version of VS 2005.

I'm really trying here--I really want this to work--so I just decide I'll go ahead and build it with NAnt anyways.

Except that the product actually has a .NET Framework 2.0 dependency. A beta, non-production version of .NET. It doesn't just SUPPORT 2.0, it REQUIRES it. At this point, if I want to use MbUnit, I have to actually pollute my production build environment with .NET 2.0. And that is simply not going to happen. Even if I were willing to ride the bleeding edge like that, which I'm not, but even if I were, my company has policies specifically forbidding the use of beta production environments like that.

I'm stymied, at this point. I've spent over a day of my time trying to get this to work, and I consider this time well spent. MbUnit is an outstanding product which I really want to use, and which I will use when it's ready for production use, but at this point it's simply unusable for me for the reasons detailed above.

Thanks for your hard work and I encourage you to continue developing MbUnit to the point where I (and, I imagine, others) can use it.
# June 29, 2005 1:06 PM

Jay Flowers said:

Some good ways to get in touch with us are:
Mailing Lists @ http://mbunitframework.tigris.org/servlets/ProjectMailingListList

or

IRC @ irc://irc.freenode.net/MbUnit

The mailing list may be changing service provider soon. Support options are maintained at http://www.mertner.com/confluence/display/MbUnit/Support.
# July 2, 2005 8:47 AM

Robert Hurlbut said:

I agree -- it's been a great book/resource to have!
# July 11, 2005 6:55 PM

David Stone said:

I just bought it the other day and have been working through it a bit. Glad to know that it's worth it. :)
# July 12, 2005 12:53 PM

Robert Hurlbut said:

Congratulations, and great article!
# July 19, 2005 3:40 PM

Hannes Preishuber said:

Web admin is only available on WebDev Server
and not with iis
# July 21, 2005 4:47 AM

Kevin Dente said:

I worked around this bug by building the referenced projects individually, using the Copy task to copy the built DLLs into the web site bin directory, then building the web site. It's not pretty, but it works.

The trickiest part is figuring out the right target names for the various projects in the solution. I blogged about that here:
http://weblogs.asp.net/kdente/archive/2005/06/05/410432.aspx
# July 21, 2005 11:14 PM

Kevin Dente said:

Oops - I wrote that comment before I read Simon's post. So, uh, what he said.
# July 22, 2005 12:38 AM

scottgu@microsoft.com said:

Hi Andrew,

Can you send me email describing the issue you are having with MSBuild and web projects? I can then follow up to see if it is fixed.

Thanks,

Scott
# July 27, 2005 12:57 PM

Matthijs van der Vleuten said:

I think the default zeroes are correct, unless you want a Small, a Medium, a Large, a X-Large AND a XX-Large T-shirt by default.
# August 10, 2005 7:52 AM

Ron said:

Don't think this is a usability issue. When I hit add to card, how do I know what size I am adding to card? By defaulting to zero, the user can pick which size and quantity they want.
# August 10, 2005 9:45 AM

Andrew Stopford said:

These are qty of 0 so by having a default of 1 means I can still change size and not be confused when I then try and add to my basket, who has a qty of 0...come on.
# August 10, 2005 11:46 AM

Matthijs van der Vleuten said:

By having a default of 1, by just clicking Add to Cart you suddenly have five items in your basket (one for each size), instead of one. I'd imagine that's more confusing than the current situation!
By the way, one person able to order multiple sizes DOES make sense. He might buy them for his family or his friends.
# August 11, 2005 1:46 AM

Andrew Stopford said:

Lets agree to disgree on this one ;-)
# August 11, 2005 4:22 AM

Thomas Freudenberg said:

IMHO the page should be rewritten with two comboboxes: the first listing the sizes (with maybe Large as default), and a second one for the quantity (default: 1). In 95% people want to order just 1 t-shirt, so there's no reason to order different sizes simultanously. However, IF you want to buy different sizes, add them size by size to your cart.
# August 11, 2005 12:57 PM

Jesse Ezell said:

According to Dave Mendels, "one area we are late on has been the native .NET version of Flex. We've had an early beta in the labs for a long time but have not gotten it out the door yet." So, Macromedia is figuring .NET into their plans, but Flex seems to be more of a competitor to ASPX / ASP.NET than it is to XAML / Avalon, as the SWFs it generates can't stand on their own without giving up a good chunk of important functionality. To me, it seems that Macromedia has a lot of great ideas that fail due to poor execution. They are fighting the wrong battle. They don't need to make a better version of ASPX, they need to make a more accessible version of XAML. They missed the chance to beat Microsoft to the punch when they failed to deliver that with Flex and version 7 of the Flash player.
# August 14, 2005 6:48 AM

david Mendels said:

Hi,

MXML and XAML are similar approaches to solving similar problems--both are declaritive mark-up languages for describing front end UI and data binding, and work together with procedural languages for client logic (ActionScript/ECMAScript with MXMXL, C# or other .NET languages with XAML). MXML is not designed to compete with ASP (or JSP or CFML or PHP or Ruby) but to integrated with it and solve the client tier problem.

Regards,
David
# August 14, 2005 2:49 PM

Jesse Ezell said:

I wasn't claiming that MXML competes with ASP.NET, I was claiming that it competes with ASPX/ASP.NET. Obviously MXML can't compete directly with ASP.NET, since ASP.NET is much bigger than MXML and a huge chunk of ASP.NET deals with server side concerns, not client side concerns. An Avalon/XAML solution would also integrate with ASP.NET or Java or some other server technology, but not in the same fashion as an ASPX or MXML solution.

MXML and XAML both do a nice job of solving the problem of declaratively building UIs and handling databinding concerns, as does ASPX. However, XAML/Avalon does it without the added server side dependancies of Flex or ASPX. XAML/Avalon retains 100% of its power when you are running in a disconnected mode. Flex does not. ASPX does not. The very fact that you need to integrate with PHP / ASP / JSP to solve the "client tier problem" is the most disturbing fact. In this way, Flex is more similar to an AJAX solution than it is to a XAML/Avalon solution. I don't think this is something that would be all that hard to solve. However, until that server side dependancy is removed entirely, Flex applications aren't quite ready to compete against a full smart client application developed with competing client side technlogies (whether that be Java, .NET, Win32, etc.). It will just be an in-between solution like AJAX. The applications will be better than traditional HTML pages for sure, but not quite ready to fully function in occasionally connected environments, to use the Macromedia terminology. In any case, that is why I say that the current iteration of Flex really competes against ASPX as the client tier technology, not XAML.
# August 15, 2005 6:04 AM

Andrew said:

Hi,

Thanks for your comments Jesse and David. I agree with Jesse that MXML competes with ASPX and that Avalon as a client side technology is a different bread to Flex as a server side model.

It's worth noting that Flex has a command line compiler but I think thats just a way of invoking the server. Laszlo may be following this model or may be up to something different (anyone from the Laszlo team listening?)

I would say that the issue I can see is that .NET in an enterprise sense is not (as much as I can tell) on the radar. When we consider that Avalon will be tightly coupled to the CLI (and all the languages that support the CLI) as well as Indigo it has a real place in the enterprise heart and mind of .NET. I am not at all sure that AS will convince .NET developers that Flex is worth considering when they can use the same language they use everyday (be it C# or VB.NET) with Avalon. While AS may be in a syntax sense like C# its still a new language and how much more productive will a developer be when they are coding in a language they now, not one they have to learn (not to mention the costs of that).
# August 15, 2005 8:06 AM

Loren said:

Another one I think shows promise is Alex Furman's SWExplorerAutomation http://home.comcast.net/~furmana/SWIEAutomation.htm

I think Alex eventually plans to make it commercial and charge a small amount for it, but for now you can download and play with it freely.

It only works on Internet Explorer, but does have the record feature you mention.

I've used QuickTest Pro too, and it is a good tool but holy crap is it expensive! We are investigating free or very cheap alternatives like SWExplorerAutomation, ieUnit, ieTest, NUnitAsp so we can tuck functional "smoke" tests into our CruiseControl.NET build process. Right now SWExplorerAutomation seems closest. We just take its recorded script file (which happens to be simple XML) and use an XSL stylesheet to transform it into an NUnit test class, compile it with NAnt, run it with NUnit console. It runs IE non-interactively on the build server with no problems, and can even be made to dump out screen shots of the browser window if a failure occurs so you can see what went wrong (very important in an automated build). Neat stuff.
# August 16, 2005 11:37 AM

yawl said:

Does Microsoft VSTS do Web functional test? I checked their website and seems they only do performence test for web application.
# August 16, 2005 11:38 AM

John said:

Loren, Have you got an example of the code generation for nunit and the screen dump functionality or is it under ip?
# August 16, 2005 2:16 PM

Alex said:

John,

The script files recorded by SWEA (*.htc) are in XML format and can be easily transformed into code. I am planning to add the NUnit code generation to the next release.

You can dump the IE screen by using the following code:

explorerManager.GetExplorerWindowImage(scene.RuntimeSceneInfo.HWND).Save(@"c:\temp\image.bmp");

# August 16, 2005 5:26 PM

Srdjan said:

Andrew,

Castle Monorail is another such approach:
http://www.castleproject.org/index.php/MonoRail_Reference_Manual

There is more to Castle framework too...

# August 18, 2005 9:45 AM

Jeff Gonzalez said:

The castle framework is very nice. I haven't fully understood all of the intricacies of it yet, but I was able to get a dynamic site up and running in about 20 minutes using MonoRail.

NVelocity isn't that great imho, just because the project seems to have languished, but I think hammett does a great job abstracting and inverting his architectures in a way that you could add your own dynamic templating system in without too much effort.
# August 18, 2005 11:03 AM

Guy Murphy said:

I'm not sure why one wouldn't strongly consider IronPython.
# August 18, 2005 12:27 PM

Andrew said:

From a users point of view its what they prefer in syntax and features. From a compiler writers point of view that fact Ruby is yet to be supported (when Python has all the fun in IronPython and Boo) means writing a compiler that targets the CLR is a new challenge.
# August 18, 2005 3:32 PM

hammett said:

The goal is to provide a dynamic language but with a smart compiler that uses type checking whenever possible and all syntatic rules of Ruby - which I'm passionate about.
# August 19, 2005 9:52 AM

Matthijs van der Vleuten said:

Don't you mean a PCI card?
# August 20, 2005 4:40 PM

Trent said:

"While the card would not be used as much as a graphics card it would appeal to game fans.."

That's the problem. There is no certainty that the card will be adopted outside of the high-end gamer circle. One thing that is certain is the high cost in developing the device and the long period of time to come up with a standard. I said standard because there should be a common interface on this AI module. What can happen this module will appear in software form. An example of this is the Havok physics engine, and there had been discussions that physics calculations in future games will be so intense that a separated dedicated GPU will be put into place.
# August 20, 2005 11:17 PM

Eric Newton said:

This is awesome! THanks for reporting the link.

I've always loved ColdFusion's simplicity in outputing HTML. There's so many times when I'm working with a datagrid/gridview and thought "Man I could do this in freaking 10 minutes with CF."
# August 22, 2005 5:04 PM

Eric Newton said:

...And I'm not talking about simply spitting out values from a database table. I'm talking about being able to update a range of values without having to figure out "Page Lifecycle events" and all that crap.

Maybe for the guys in ASP.Net that dont want to tackle understanding CFML, there could be a set of web controls that more closely mimic the simplicity of CF, but since you're still in ASP.Net, you can leverage both.
# August 22, 2005 5:06 PM

Jay Flowers said:

Don't forget http://FitNesse.org. It is a great functional testing tool. As well as a requirements tool.
# August 22, 2005 10:16 PM

John St. Clair said:

I think its more likely that this would be a specialized application within a physics processing card, which appear to be arriving soon:

http://www.ageia.com/technology.html
http://www.theinquirer.net/?article=21648

# August 23, 2005 3:31 AM

Tim Drinkhill said:

According to this post from Wired, some researchers from the University of Southern California have come up with an interesting twist using a mixture of Wifi, motion detection and AI...

http://www.wired.com/news/games/0,2101,68548,00.html
# August 25, 2005 3:40 AM

Joe said:

> Here's to 12 more
Only 12 more? Hope she doesn't read this blog or you're un big trouble ;)
# August 26, 2005 6:44 AM

Robert Hurlbut said:

Congrats, my friend!
# August 26, 2005 7:21 AM

mike chambers said:

> different bread to Flex as a server side model.

Seems to be a lot of conclusions based on Flex being a server side model.

However, as I posted here:

http://weblogs.macromedia.com/mesh/archives/2005/08/will_zorn_requi.cfm#more

we are working to expand the reach of the Flex Framework, and Zorn will be able to compile applications based on that Framework, and not have any restrictions on how those compiled applications are distributed.

Hope that adds some more context...

mike chambers

mesh@macromedia.com
# August 27, 2005 1:50 PM

Andrew said:

Thanks for the post Mike, as I under this the Flex Framework can allow SWF's to be genearted using Zorn and can stand alone from the server. However the server is needed for more enterprise features (and Jesse states that this will mean loosing a 'good chunk of important functionality'). The arguements that Jesse makes and indeed my concerns are not that Flex/Zorn will standlone from the server (although this was a question that you have answered). My concerns is what the whole Flex/Zorn package holds for .NET teams. On that note I will have to wait and see what Mistral can do but my concerns remain.
# August 28, 2005 2:21 PM

Nat said:

There are an eclipse C# ide project. Check it out at http://www.improve-technologies.com/alpha/esharp. However, it's not as good as VS.NET though.
# August 28, 2005 8:04 PM

scottgu said:

Viewstate is a hidden field in the page, so is accessible compliant.

Note that most ASP.NET controls don't require javascript -- so if you restrict yourself to only using those that don't use it, you will be 100% accessible compliant.

Hope this helps,

Scott
# September 4, 2005 1:30 AM

Barry Dorrans said:

The reason it produces "junk" is that asp.net 2.0 doesn't understand the w3c validator and gets it very wrong, by treating it as a downlevel browser and trying to spit out something it thinks will render.

If you add a specific browser file (which I documented and made available for download at http://idunno.org/displayBlog.aspx/2005080101 ) it all works.

You can also tweak the browser file so it overrides the default behaviour so all browsers get XHTML regardless.
# September 4, 2005 1:45 AM

Andrew said:

Thanks for the comments guys. While viewstate may be hidden its still not acceptable to have that (and other) junk on the page when aiming for the most accessable page possible. While the features in asp.net 2.0 are cool and a major step forward I still think that there is much more work to be done to help asp.net be a strong choice for developers with accessability requirements.

While viewtstate is a hidden field the whole arguement of mismanaged viewstate and massive page size rears it's head. When developing accessable content you don't want hidden tag's not do you want the page size it incurs.

While most controls won't require javascript a lot remains to do and I do feel that if the framework helps developers create pages and controls with accessability in mind then its making their life easier. For controls that do require javascript, what then? The framework must allow for developers to design controls to respond to accessability requirements.

I feel that aspx must allow a developer to completely dictate a pages output by it's accessability level and controls can repond to that. They don't spit a load of viewstate out, they do serve valid xhtml, the use of javascript is careful etc. When accessability is a requirement I often see pages developed in languages such as classic asp, coldfusion, php and perl/cgi etc because a developer can completly dictate the output of a page and be sure it will pass acessability testing, aspx must install the same faith.
# September 4, 2005 5:56 PM

John Robbins said:

Andrew,

I'm doing my best to get the word out! MbUnit is wonderful and we appreciate you jumping on the code since Peli isn't able. Thanks!
# September 5, 2005 2:53 PM

Brian Keller said:

Sorry to hear about your cat :-(
I have a pet and can relate to the grief you must be experiencing. It was sad to watch on TV the stories of all of the people being rescued who had to leave their pets behind.
# September 6, 2005 5:49 PM

Wallym said:

Ouch. Yeah, pets become a part of the family. We lost our 12 year old cat a couple of years ago. He had been with me since I was in graduate school. He had kidney failure and was put to sleep.
# September 6, 2005 6:32 PM

Raymond Lewallen said:

Been there. My deepest sympathy.
# September 6, 2005 7:04 PM

Ernie Booth said:

Sorry to hear about your cat Andrew. Loosing a pet especially like that is hard. It's been a hard year for you, hope this is the end of your troubles.
# September 6, 2005 8:18 PM

Eric said:

Andrew, my thoughts and sympathies are with you. During an 8 month period last year, my wife and I lost 3 dogs (due to old age) that had been with us for 14, 13 and 11 years. For many people, an animal is just that, an animal, but for my wife and I, these were our children.

The good and bad thing is that little things will happen that will suddenly bring back a memory that hits you like a freight train. Sometimes it is a good thing, and you smile or laugh, and those around you look at you like you are crazy. Other times, the memory will be so painful you will cry, and those around you will think you are crazy.

There is no telling when or why these memories will surface. A while back, I opened a can of tuna (I don't have Tuna sandwiches often) for the first time since loosing Mika, and WHAM! it hit me that Mika wasn't going to come running. The strangest thing is that she did not care much about "people food", other than tuna. But when she smelled tuna, she came running and would "kick" your leg until you gave her at least one bite.

The one thing that helped me work through the initial loss, was to sit down and write a "eulogy" for the dog that had moved on. I talked about what they were like, their good points, their bad habits, when I thought I would miss them the most (curling up on the couch to watch tv/nap with the chihuaha), how they came to be part of our lives, funny memories, etc. For me, this was a great way to get my feelings out to begin to deal with them. I think the tears are what did in the "trackpad" on my old laptop.

We decided to put up pictures of the dogs. We got picture frames with multiple sub-frames (like you find at Target) that we put pictures of them in (one frame per dog) at various stages of thier lives, and fun pictures in them. Above the fireplace, we put up picture of each of them in matching frames along with a framed version of the poem "Rainbow Bridge" that we got from our vet when we lost the first dog.

I encourage you to share your thoughts, feelings and memories with those around you, there is no better help than to have a friend or loved one help you to bear your sorrow, and to remind you of the good times you had.

Again, my thoughts and feelings are with you.

Eric
# September 6, 2005 9:02 PM

Robert Hurlbut said:

So sorry to hear about your loss, my friend. Pets really are part of the family, and the loss is deeply felt. You are in my thoughts.
# September 6, 2005 9:55 PM

Andrew said:

Thanks for all your kind words, I unable to sleep at moment (I guess that will pass). I have come across a list of poems.

http://www.petloss.com/poems/poems.htm

Its had me crying for an hour now, this one is one that really effects me the most.

http://www.petloss.com/poems/maingrp/poemfcats.htm
# September 6, 2005 11:04 PM

John Walker said:

Andrew,

So sorry. My cat died of cancer a few years ago. Hit me like a brick. They really are our buddies. Sorry for your loss.
# September 7, 2005 12:33 AM

Hywel said:

I'm really sorry to hear about this, Andrew. We suffered the same back in February this year and I still miss him terribly.

We took on two cats from the Cats' Protection League in 1999, and have lost them both; Erin to cancer, and Bertie in a road accident. They were our family for five and six years respectively, and we loved them both dearly.

When Erin died Bertie was really depressed - they were not related but were together since they were six months old and we each other's "comfort blankets". A few months later we got him a little friend, again from the CPL, to keep him company. Otto, at the time, was, in Bertie's words, "far too small far too fast, and he won't leave me alone!" They became great friends within a couple of weeks.

A week after Bertie went my brother moved abroad, so we took in his cat. Now we have a new family, but still feel our losses. We're grateful for the time we had with Erin & Bertie, and we know that they chose to stay with us.

We've got photos all over the place of them, and every day I stop to talk to them. Stupid, perhaps, but it keeps them alive to me.
# September 7, 2005 4:26 AM

DJ said:

Andrew - I lost my dear friend Mr. K. (short for Kitty) a couple of months ago. He was my best friend; always ready to give love and support. I will always miss him, but the poem you referenced was right - our friends will always be with us.

DJ
# September 7, 2005 5:39 PM

Shawn B. said:

I have fish and even though they aren't the same type of animal that you "bond" with, when you slave over their aquatic environment for 3 years and one dies (when moving them to a larger 80 gal tank) it really gets to you.

I can't imagine what people are feeling having to leave their pets behind in New Orleans.

I wept over my pet duck when it died after 5 years from gardner poisoning.
# September 7, 2005 7:17 PM

Wallym said:

Glad things are a little bit better. How about a pic of the new family member?
# September 13, 2005 9:19 AM

RichB said:

We picked up a kitten from the RSPCA last week aged 10 weeks. He likes to stand in his own poo :-(
# September 13, 2005 9:44 AM

Raymond Lewallen said:

That would be awesome. I'm the one who asked the question and really like MbUnit and would like to use it with NUnitAsp.
# September 13, 2005 10:41 AM

Tek Boy said:

I couldn't get to it using Firefox v1.0.4.
# September 14, 2005 5:05 PM

Jason Row said:

They're up to Z now ... just yesterday I was trying to figure out what X# was.
# September 21, 2005 3:27 PM

Hannes Preishuber said:

i agree, sometimes we still needs results
# September 26, 2005 9:40 PM

hammett said:

I do believe in this, but it's still difficult to convince managers and directors about that.
# September 27, 2005 12:14 AM

Williams said:

Agreed,
the total time is less,
but managers only see the time when the product is delivered. And ofcourse this timespan is lower without unittests than with unittests.

# September 27, 2005 7:52 AM

Andy Stopford said:

Williams you have just stated what I explained in my post. Timespan's may seem higher with unit tests but without them how much time do you spend fixing bugs and with them how much time to reduce your bugs. Compare them and you'll find at first its the same and with progress, pratice and development you get quicker. So in sort unit tests making your project take longer is a myth.
# September 27, 2005 8:22 AM

Atul Thakor said:

Pretty good analogy which can be applied to the development stage and when a project is released.

As bugs and errors start cropping up you shood get them sorted for future releases or before you release.

I can imagine sometimes stuff can go ignored which seems insignificant at the time but if left unchecked could come back and bite you in the arse.
# September 27, 2005 8:32 AM

Atul Thakor said:

Or you could use a happy medium and just unit test the critical sections rather than everything?
# September 27, 2005 8:58 AM

BigJim in STL said:

With regards to your statement

"ASPX is not unit testable"

Have you not tried NUnitASP? I use it to unit test all of my aspx pages - including the code-behind, data retrieval logic, etc. Give it a look, you might be pleasantly surprised!
# September 27, 2005 9:34 AM

Brian said:

I couldn't agree more with you Andrew. WebForms have too many limitations when you look at how apps are built on RoR, Django and related toolkits. Unfortunately, Microsoft don't provide proper guidance on building maintainable ASP.NET applications. It would be contrary to the 'no code' datagrid/dataset approach.

I build my apps with server controls and an HttpHandler framework derived from Brad Wilson's approach at http://www.dotnetdevs.com/articles/AttributeBasedURLDispatch.aspx. Deployment is also a lot easier with fewer dependencies to manage.
# September 27, 2005 11:32 AM

P Jones said:

You've got my vote
# September 28, 2005 2:04 PM

M Lee said:

You also got my vote.
# September 28, 2005 3:29 PM

Chris Slatt said:

I'd buy it.
# September 28, 2005 4:15 PM

Atul Thakor said:

I'd trade you my sister and a curly wurly for the book?

oh btw... Got my Vote!
# September 28, 2005 4:45 PM

Vincent Decrauzat said:

Where can I buy it ?
I want it today :-)
# September 29, 2005 5:34 AM

John Schroedl said:

Count me in + at least 3 others from our company
# September 29, 2005 9:05 AM

John Robbins said:

Absolutely! This would be a great addition to cannon. MbUnit is amazing and the more information that can show folks how to use it the better. I'd buy copies for everyone on my team.
# September 29, 2005 10:33 AM

Scott Reynolds said:

I would totally buy it. Online refs are great but every developer loves a tangible reference.
# September 29, 2005 10:41 AM

Doug de la Torre said:

If it included more advanced topics, I'd buy it. Lots of examples, using the various attributes and testers available. Go light on the basic attributes ([Test], [TestFixture]), but go more in depth with some of the less-known features to make it really exceptional.
# September 29, 2005 12:21 PM

Marc Stober said:

I would like an MbUnit book. I already find MbUnit useful but it would really help MbUnit become more established, and make my Mbunit skills all the more valuable.
# September 29, 2005 1:06 PM

Simon said:

I've found unit tests particularly useful in regression testing. It's also handy for catching bugs in requirements or spotted by testers, and proving they have been fixed.
# September 29, 2005 2:36 PM

Simon said:

# September 29, 2005 2:39 PM

ADam said:

I'd Buy it
# September 29, 2005 2:46 PM

David Brabant said:

Might be related to the stuff I mentioned here:
http://www.xhovemont.be/archive/2004/10/20/310.aspx
# September 29, 2005 4:18 PM

Tim Drinkhill said:

It gets my vote - go for it!
# September 30, 2005 3:32 AM

Edwin said:

Hey thanks for the link to the Joel test. I now have more arguments to convince my bosses on the importance of working in a quiet environment, using the best tools money can buy, among other things.
# September 30, 2005 10:56 AM

Morten Mertner said:

I'd buy a whole bunch of them! And I'm not even kidding :-)
# September 30, 2005 1:45 PM

Morten Mertner said:

I'd also like to 2nd the post from Doug. Unit testing with MbUnit can do so much more than other frameworks, yet there is virtually no documentation on how to use those features. Would be great with a book exploring those..
# September 30, 2005 2:22 PM

czmuchuf said:

I'd buy it too, of course at a resonable price.
# September 30, 2005 5:07 PM

Brett Veenstra said:

You got my vote!!!
# October 3, 2005 12:10 AM

sex galerie said:

Hello
Pretty good a website, great job !
Regards sex galerie
# October 3, 2005 3:05 PM

Michael Dorfman said:

Definitely interested.
# October 6, 2005 9:14 AM

Alex Papadimoulis said:

I've found that developers are no longer suited for what my operation needs. I say, "Solutionologists, not Developers."

* See COMPUTER PROGRAMMER INFLATION on my blog
# October 6, 2005 5:04 PM

RichB said:

Microsoft always said that for Whidbey, ROTOR was being compiled in parallel with the standard Whidbey builds (as part of their standard build lab)

It makes no sense that it's so late.
# October 7, 2005 10:30 AM

Andy said:

Rotor has extra development not just the CLR, CTS or FCL. These are parallel but Rotor has further requirements to ensure it builds on Windows, OSx etc. As in my post this means work on the PAL etc. As also mentioned MS may be introducing other features into Rotor such as LINQ which would also explain the delay.
# October 7, 2005 10:57 AM

Graeme Foster said:

Sounds like a great idea to me! :)
# October 12, 2005 5:33 AM

Frans Bouma said:

So, you're saying in XP you need a proper design up front as well? There are situations thinkable where 'ongoing' design is not usable, especially because inproper research up front will overlook issues which will make you have to re-design the whole system.
# October 13, 2005 6:14 AM

Andy said:

No Frans, I am agreeing with whats being said about XP and the false pretense that you have no design at all with XP. What I am saying is, don't use XP as an excuse to being a sloppy coder.
# October 13, 2005 7:12 AM

Martin Woodward said:

I've started work on a version of the CruiseControl plugin that uses the command line (tf.exe) to check files etc. Using the command line it is more sensitive to locale's etc but would be relatively easy to port to CruiseControl Java version (provided it was running on a Win32 box with the TeamFoundation client installed on it).

Once 100% Java API's become available for Team Foundation we'd be able to have a 100% java CruiseIntegration. There are a few people out there working on Java integartion with Team System, most notibly Teamprise (http://www.teamprise.com) and of course [shameless_plug] VSTSEclipse (http://www.vstseclipse.org) - only a matter of time...

# October 13, 2005 9:46 AM

Howard van Rooijen said:

I think you need to look at the VSTS Extensibility Kit - the only problem is that it's a bit out of date - the last release was for BETA 2 - but the core info is there. Namespaces etc have changed.

You'll need a username & password:

http://www.vsipdev.com/signin.aspx?ReturnUrl=%2fdownloads%2fvs2005tsekBeta2.aspx
# October 17, 2005 9:15 AM

I shot the sheriff but I did not shoot the deputy. said:

I shot the sheriff but I did not shoot the deputy.
I shot the sheriff but I did not shoot the deputy.
All around in my home town
they're trying to track me down.
They say they want to bring me in guilty
for the killing of a deputy,
for the life of a deputy.
But I say
I shot the sheriff but I swear it was in self- defence.
I shot the sheriff and they say it is a capital offence.
Sheriff John Brown always hated me,
for what I don't know.
Every time that I plant a seed
he said, 'Kill it before it grows'.
He said, 'Kill it before it grows'.
But I say
I shot the sheriff but I swear it was in self-defence.
I shot the sheriff but I swear it was in self-defence.
Freedom came my way one day
and I started out of town.
All of a sudden I see sheriff John Brown
aiming to shoot me down
so I shot, I shot him down.
But I say
I shot the sheriff but I did not shoot the deputy.
I shot the sheriff but I did not shoot the deputy.
Reflexes got the better of me
and what is to be, must be.
Every day the bucket goes to well
but one day the bottom will drop out,
yes, one day the bottom will drop out.
But I say
I shot the sheriff but I did not shoot the deputy.
I shot the sheriff but I did not shoot the deputy.
# October 18, 2005 6:25 AM

Robert W. Anderson said:

Was that random spam or an astute insight into the project-management blame game?

Project managers too often fall into the trap of believing that if it is written in the plan everyone must have bought into it. Developers must also take some responsibility for this. Too many developers ignore the project plans feeling that they will get done what they can. Their experience may tell them that the plan won't be followed anyway; however, they need to pushback on unreasonable plans at every opportunity.
# October 18, 2005 9:29 AM

Dylan Marks said:

Do you know if MbUnit integrates with TestDriven.Net? (This is the plugin for Visual Studio allowing you to Right Click>Test, for those who might not know.)

# October 18, 2005 6:41 PM

Haacked said:

Dylan. MbUnit is packaged with TestDriven.Net as far as I know.

Andrew, I tried to downolad the latest bits from the wiki a couple days ago and I couldn't. I ended up getting it through TestDriven.NET. That may have contributed to the problem.

In any case, I've been tracking MbUnit for a long time (Ask Peli) but have finally made the switch. I wrote an article about it...

http://haacked.com/archive/2005/10/18/10856.aspx
# October 18, 2005 8:20 PM

css said:

I agree with Gustavo Guerra:
http://groups.google.com/group/MbUnitDev/browse_thread/thread/5ce2f73f4fc4ace4/098f5507407390b9#098f5507407390b9

Everyone is familiar with NUnit but not with MBUnit. It is hard to tell how active the project is. You need a roadmap page at least (not the Jira one) that has a schedule with some dates, features, and milestones. It is hard to tell what is going on with the project.
# October 18, 2005 9:50 PM

Frans Bouma said:

Is MbUnit still maintained? I can't download the final bits from its website as the download link gives a 404.

# October 19, 2005 4:26 AM

Melvin Lee said:

Hi Andrew,

I'm using MbUnit for almost a year now and I'm happy with it. However now that Visual Studio 2005 is almost RTM I wonder how MbUnit wil fit in. I like what I get currently from MbUnit, but I also like how unit testing is integrated in Visual Studio 2005. So what are your plans regarding to integrating MbUnit into Visual Studio 2005.
BTW, I have downloaded the latest MbUnit msi yesterday and after installation I've noticed that the MbUnit.Core.dll file is missing.
# October 19, 2005 5:11 AM

Andrew said:

Hi Melvin,

VS2005 plans will appear on the road map, MbUnit and TD.net work with out a fault on VS2005.

The MbUnit.Core.dll should be removed from your bin folder when you install the latest version. You need to remove the referances from your project and dll's from your bin folder. Referance the new MbUnit.framework.dll in your project and alter your code to remove the referance to MbUnit.Core.dll. The code for MbUnit.Core.dll is now factored into MbUnit.Framework.dll.

HTH

Andy
# October 19, 2005 5:37 AM

Ian Ringrose said:

I just done a quick test (on www.jobserve.co.uk) to see if the market values MbUnit skills. E.g. should I try to get nUnit or MbUnit on my CV. Agents and HR departments are not capable of doing more then counting keyboard, therefore having the wrong keywords means no interviews and therefore no job!

MbUnit -- No jobs were found to match your search.
nUnit -- 48 Matching Jobs

Someone could put nUnit there CV, even if they are using MbUnit, but that is not being truthful. Can truthful people get anywhere in IT?

Now if MbUnit was a set of extensions for nUnit rather then a replacement there would not be the above problem.
# October 19, 2005 7:37 AM

Haacked said:

I made the switch recently.
http://haacked.com/archive/2005/10/18/10856.aspx

The main reason it took so long, despite being impressed with it, ends up being a dumb reason.
# October 19, 2005 10:53 AM

Andrew said:

Cool stuff :) would be great to get RSSBandit using MbUnit, its my rss feeder of choice :)

Andy
# October 19, 2005 11:48 AM

Robert W. Anderson said:

I used to use it but stopped in April or May when I ran into an issue and found the project seemed to be rudderless. The wiki was in pretty bad shape and I couldn't find actual reference documentation on many features that I found interesting.

That is when I switched back to NUnit.

I'm currently porting all of my company's projects to VS2005 and have yet to decide if/when/how we'll integrate with Team System. At that point I'll re-evaluate MBUnit.

One comment I'll make about the docs: They are in much better shape (ala CCNET); however, they are no match for actual API reference docs like what you can create with NDoc. That stuff can be integrated with VS and then the documentation experience is much better for the developer. Excuse me if this is supported and I missed it :)

Believe me, I do understand the advantages to wikis, but would still prefer definitive documentation in the proper format.
# October 20, 2005 10:04 AM

susan said:

Sweet!
# October 20, 2005 10:57 AM

Greg Wojan said:

Is there a problem with the build server? I have been unable to dl either MBUnit or TD.NET. :-(

--Greg
# October 23, 2005 6:09 PM

Andrew said:

The build sever is up and running, may have been some downtime over the weekend but I can confirm its up and running ok.

Andy
# October 24, 2005 4:46 AM

Srinivas said:

I have few questions on TestFu, which is a part of the mbUnit. Please somebody answer these, as it is very crusial for my project, which is to delivered by next week.

Scenario 1:
I have two tables in my dataset, say Orders and OrderDetails (with a Parent-Child relation defined). Is it possible to populate the Orders table manually(without using TestFu), and ask TestFu to populate the OrderDetails table only? I tried a bit, but iam getting errors like "Key set is empty".

Scenario 2:
I have two tables in my dataset, say orders and employees. Th Parent-Child relation is defined. However, the EmloyeeId column in the Orders table(Child Table) can be null, and the Master table was not populated. Now, TestFu gives the same error as above.

Any Solution?
# October 26, 2005 10:00 AM

Andy Stopford said:

hi, I would send this question to the MbUnit mailing lists. A list of support options and how to subscribe to the lists is available on the MbUnit wiki home page.
# October 26, 2005 10:10 AM

Haacked said:

Hi Andrew, I posted some items to Jira and the DEvs mailing list. But Peli told me that noone reads the bug tracker and that I posted to the wrong list. Have you seen my bug reports?
# November 2, 2005 12:22 PM

Andrew said:

Hi Phil, not sure why Peli would say that when its incorrect. I have seen your bug reports, if your subscribed to the dev group listed here [1] then you get an idea of its progress.

[1]- http://groups-beta.google.com/group/MbUnitDev
# November 2, 2005 2:30 PM

Johan Appelgren said:

Possibly a very silly question, but what is the latest version of TD.net, and where can I find it?
# November 3, 2005 3:13 AM

Andy Stopford said:

The latest and greatest version of TD.net is in the same build directory as MbUnit (link in the post).
# November 3, 2005 5:03 AM

Johan Appelgren said:

Well, now I feel really dumb. Sorry for the useless noise.
# November 3, 2005 5:56 AM

Haacked said:

Hi Andy. The builds page shows an MbUnit installer with the filename

MbUnit-2.1.424.msi

However, according to MbUnit I am running version 2.24.0.0.

How do I resolve the discrepancy there?
# November 3, 2005 1:11 PM

Andy Stopford said:

Thanks for raising this Phil, the following issue has been created to look into this.

http://www.mertner.com/jira/browse/MBUNIT-20
# November 4, 2005 3:54 AM

Haacked said:

I use MbUnit. Subtext also uses it (http://subtextproject.com/). Fluid Audio also uses MbUnit to test code for the American Idol Underground site (http://idolunderground.com/).
# November 6, 2005 4:01 PM

RichB said:

How did that page get past PubWiz? I mean, the title of the page is only 2 characters.
# November 10, 2005 7:55 AM

BradleyB said:

A better approach would be to use the new Web Deployment Proejcts for VS2005. It's a full MSBuild project file for website projects. and it's free.

http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/default.aspx
# November 10, 2005 3:30 PM

Carlton said:

Can you still just use a C# library project like you do in VS.Net 2003?
# November 10, 2005 3:42 PM

Andy Stopford said:

The deployer project does'nt fix this as its more to do with sln structure and how VS maintains it.
# November 11, 2005 9:23 AM

Hannes Preishuber said:

why you dont use location element in web.config?
# November 11, 2005 10:16 AM

BradleyB said:

You can use the aspnet_compiler to compile each vitrual directory individually. To do this pass the -m opition with the metabase path. Web Deployment projects support this same option but you'll need to open each vitraul directory as a seperate web and compile seperately.
# November 11, 2005 10:18 AM

BradleyB said:

I should qualify my last comment. I'm assuming that the vdir you created was a app root not just a vdir.
# November 11, 2005 11:12 AM

Plip said:

Are you compiling directly on the command line or from within VS.NET ?
# November 18, 2005 10:29 AM

Plip said:

Are you compiling directly on the command line or from within VS.NET ?
# November 18, 2005 10:29 AM

Robert W. Anderson said:

Definitely bugs. I haven't been able to figure out what causes this, but something triggers:
referenced DLLs being ignored (i.e., deleted from web.config)
DLLs being added when they are not explicitly referenced.
DLLs being added to the project (for source control) when they shouldn't be.
Certainly frustrating.
# November 18, 2005 10:31 AM

Andy Stopford said:

Running from the command line Phil.
# November 18, 2005 10:38 AM

Robert W. Anderson said:

BTW: I don't think it matters how you are building it -- I think the IDE is messing up the web.config file.
# November 18, 2005 11:05 AM

BradleyB said:

You might want to checkout Web Deploymnet Projects. http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/default.aspx

It does integrate into the IDE but it also fully supports command line MSBuild. It will honor the .refresh files and any project to project references that are part of the website.
# November 18, 2005 1:28 PM

Richard Jonas said:

In another essay, entitled "Five Worlds" (http://www.joelonsoftware.com/articles/FiveWorlds.html), Joel Spolsky describes that there is a difference between creating shrinkwrap, internal and throwaway software. Different build processes and quality standards are required for an application that is likely to be upgraded in future.

Maybe "software engineers" are required for shrinkwrap systems, "smart programmers" for internal systems that are built once but not upgraded. The problem occurs if someone is working on the wrong type of system for them and does not realise its different requirements.

# November 23, 2005 4:16 AM

james off ] said:

good comment
# December 1, 2005 3:28 AM

Haacked said:

Rather than use SourceGear, I highly recommend Subversion. Takes a bit of getting used to if you've grown up on Visual SourceCrap, but once you get the hang of it, it's great.
# December 1, 2005 11:21 AM

Scott Prugh said:

I agree. We just converted from Visual Sourcesafe to Subversion. It is great, and free.

Make sure to check out the Tortoise Shell integration. It makes it really easy.
# December 1, 2005 11:39 AM

Andy said:

Don't get me wrong, avid SVN fan my self. MbUnit and the day job uses it. I am keen to see other SCS for OSS though, always nice to choose when your setting up a OSS project.
# December 1, 2005 3:46 PM

Tate Needham said:


We do occasionally donate FinalBuilder to OSS projects - and we're open to suggestions (email me at tate [at] finalbuilder dot com).

We also have CC.Net integration for FinalBuilder being worked on (but it's a bit Alpha atm). We're also happy to give this to anyone who doesn't mind the odd bug ;)
# December 1, 2005 10:19 PM

Peter Norton said:

# December 13, 2005 12:36 PM

ytu said:

its not a race.
# December 16, 2005 9:49 AM

Robert W. Anderson said:

I've had the same problem. Blog on!
# December 16, 2005 1:21 PM

Mr. Bungle said:

I got this when I renamed my C# project then tried to publish it. To solve, I went to the "Signing" tab of the project properties and unchecked "Sign the ClickOnce manifests". Good luck!
# December 20, 2005 5:35 AM

Jason Nadal said:

Try this one out for size:

http://weblogs.asp.net/jnadal/archive/2004/05/27/143504.aspx

Also, ms has suggested trying to disable IPv6, as that MAY help. Oh, and if you've got a dlink brand router, disable SPI (stateful packet inspection) under the firewall settings as it throws away Vista packets (badly formed?).
# December 29, 2005 10:59 AM

Ziolrooski said:

totally agree.
# January 14, 2006 6:05 AM

css said:

I missed my launch event too but we did get 8 inches of snow so that messed up the morning commute.
# January 17, 2006 1:01 AM

Mike Gale said:

It would be convenient if this came in the standard distribution. Looks promising. (Though I'll give SWEA a try first.)
# January 19, 2006 4:09 AM

Erik Porter said:

The Channel 9 team (the team I'm on) will be there. We'll probably have a get together, but nothing is set in stone yet. Glad you're coming! :)
# January 23, 2006 7:25 PM

Joel Lyons said:

I am very interested to see what companies do with WPF. With Windows in such proliferation, you can currently gain a lot of ground on the usability front by making sure your GUI looks and acts like typical Windows applications. If your user is familiar with using Windows, they will feel at home with a typical menu (File, Edit, View, Help) and typical controls (listview, radio buttons, etc). With WPF, what will happen to this "usability through familiarity" advantage we have now? The usability testers and usability researchers will have a lot more work to do, me thinks.
# January 27, 2006 12:08 PM

chris hammond said:

Link dead dude
# February 1, 2006 7:01 PM

Andy said:

Peli's blog is weird number, perma links don't work and his blog takes ages to load when you use hypelinks. The link folks need is - http://blog.dotnetwiki.org/
# February 2, 2006 4:04 AM

Jason said:

Hi,

Try disabling the Indexing Service or at least configure it not to scan your applications directory.

I had this once before and that seemed to do the trick!
# February 3, 2006 5:05 AM

David Taylor said:

Yeah....It is possibly this problem, although sounds like it might be slightly different.

Note that Jason's comment was intended to say stop it from scanning the ASP.NET Temp directory inside the c:\windows\Microsoft.NET\Framework\V.....\? directory.

What happens is that indexing server can happen to *lock* the DLLs in that directory at the same time ASP.NET tries to copy new files or clean things up.

# February 3, 2006 5:43 AM

http://www.ifreelance.com said:

We have had similar problems in the past. Is this v2.0? If it is, you should make sure all of your classes with the same type name are in a unique namespace to avoid resolution problems.
# February 3, 2006 6:07 AM

freelance programmer said:

We also have this problem (even with the proper name resolution) after several changes have been made without cleaning the asptemp directory. Now, we just make it a habit to delete all temp files whenever we deploy to prod (to be safe).
# February 3, 2006 6:10 AM

Andy said:

Index server is disabled so its not that, any more ideas folks?

Andy
# February 3, 2006 7:40 AM

Marc Hoeppner said:

Virus checker? - We had similiar problems with various anti-virus packages...
# February 3, 2006 9:07 AM

scottgu said:

Hi Andrew,

If you want to send me email (scottgu@microsoft.com) we can have someone investigate. It does sound like something might be locking the files -- we can have someone investigate and figure out why.

Thanks,

Scott
# February 3, 2006 10:50 AM

Adam Weigert said:

Did you leave the DEBUG flag on in the web.config? This has some serious performance problems in a production / high use environment ...
# February 3, 2006 10:51 AM

Chris said:

Same here. MY only beef at the moment, is the End Ifs listed as not visited when there is a Return in that else..end if block.

I know it's technically correct that it isn't visited, but it throws off stats for no good reason.
# February 3, 2006 11:11 AM

Andy said:

Debug is set to false and no virus checker, so can rule those out.
# February 7, 2006 5:32 AM

Robert Hurlbut said:

You should! :)

I have ideas for topics based on your latest interests ...
# February 14, 2006 9:09 AM

Jeff said:

How was the experience for you overall? Was it worth your time? While I'm sure you didn't get rich from it, did you make enough money that it was worth it?

I'm not happy with the sales of my book, but it's not quite a year old...
http://www.amazon.com/exec/obidos/asin/0321294475/coasterbuzz-20
# February 14, 2006 10:01 AM

Rob Relyea said:

<Paragraph>
<Run>some text</Run><LineBreak/><LineBreak/>
</Paragraph>
should be the xaml equivalent to that code.

The following will also create the same set of objects in memory. (Runs are implied wrappers of text nodes):
<Paragraph>
some text<LineBreak/><LineBreak/>
</Paragraph>

LineBreaks work inside of TextBlocks as well.
Thx, Rob Relyea
WPF, PM
# February 15, 2006 7:44 AM

Todd Carter said:

We have a fix for this that we are testing internally. If you want to test this fix please contact me.

Todd Carter, MCSE, MCSD
Senior Escalation Engineer
ASP.NET Escalation Services, Microsoft Corp.
email: toddca@microsoft.com
phone: 469.775.7918
cell: 972.743.6424
blog: http://blogs.msdn.com/toddca
# February 15, 2006 5:24 PM

Jarno Peschier said:

This is not a 100% completely fair comparison, showing colorful coverage from VSTS and not in NCoverBrowser (or NCoverExplorer, another application that shows you Coverage.xml graphically). And in VS2003 its all very easy as well (=right click in a test) if you use TestDriven.NET, which install NUnit, NCoverBrowser/NCoverExplorer (I'm not sure from memory which one exactly) and adds VS integration of running tests, getting coverage overviews and debugging test, right in the IDE.
# February 23, 2006 3:14 AM

Scott Galloway said:

You may want to have a look at this video: http://channel9.msdn.com/Showpost.aspx?postid=128231
This certainly suggests that you can use WPF for sidebar gadgets.
# February 28, 2006 3:54 AM

Scott Galloway said:

I take that back...just seen this post.
http://microsoftgadgets.com/forums/3125/ShowPost.aspx
Bit of a shame really!
# February 28, 2006 4:01 AM

Brandon said:

i think they are not enabled with this build but WILL be enabled with the final build.
# February 28, 2006 11:34 AM

Haacked said:

Thanks man! MBUnit r00lz!
# March 2, 2006 6:52 PM

jp said:

there are three places that controls remote desktop connection.

1) Control Panel > System > Remote Settings
2) Control Panel > Windows Firewall > Exceptions
3) Control Panel > Network Connections > right click your network card > Configure > Share > Settings
# March 3, 2006 1:31 PM

Jason said:

Any word on this? I'm having the same problem on a simple site with nested user controls. The error goes away if I make an edit to the offending control (something a simple as adding a new blank line) and resave. On the next load the error is gone.
# March 3, 2006 7:08 PM

Scott Van Vliet said:

Hey Andrew,

I've worked a lot with the Swift3D Plug-in for 3D Studio Max and it's worked fantastic. I too am running the Feb CTP, and was thinking about the export to XAML - perhaps you could just run the export against Rob Relyea's XamlMigrate tool (http://robrelyea.com/tools/XamlMigrate/) to make it work?

All the best,

Scott
# March 6, 2006 11:19 AM

Scott Van Vliet said:

Hey Andrew,

I've worked a lot with the Swift3D Plug-in for 3D Studio Max and it's worked fantastic. I too am running the Feb CTP, and was thinking about the export to XAML - perhaps you could just run the export against Rob Relyea's XamlMigrate tool (http://robrelyea.com/tools/XamlMigrate/) to make it work?

All the best,

Scott

(Sorry, first submitted on the wrong post!)
# March 6, 2006 11:20 AM

er said:

ed
# March 8, 2006 2:22 AM

chris donnan said:

I have been bitten by source safe many a time. I eventually helped move now 2 organizations towards Perforce :). I DO love perforce - but it costs real $$. That being said - I mentioned the other day <a href="http://chrisdonnan.com/blog/2006/03/14/eclipse-and-subversion-nice/">here</a> that I have been using subversion for my personal stuff the past few weeks. I must say - it is great on linux and on windows. It has 'just worked'. I am now a fan of subversion....

-Chris
# March 14, 2006 2:39 PM

Chris Martin said:

I'm game! ;)
# March 15, 2006 2:37 AM

Sander said:

I've had no problems at all with installing. The only problems that I did encounter were with the installation order of the various SDK's (WinFX, Workflow, ATLAS, etc)
# March 15, 2006 4:31 AM

Andrey Skvortsov said:

No problems here,it seems that's problem of previous build.
# March 15, 2006 1:51 PM

Haacked said:

It was great to meet up with you too. I'll be sure to pimp MBUnit more on my blog as it is really deserving of recognition.
# March 23, 2006 3:20 PM

Andrew Whiddett said:

Andrew; well thank you, lets set up a forum for the advanced WPF'ers.

Maybe us brits have a place in the WPF world.

Andrew Whiddett
# March 23, 2006 8:16 PM

John Dowdell said:

ah! I didn't know you were there, Andrew, would have been good to meet face-to-face.

(For WPF/E, I sez, "Ship it!" ;-)
# March 27, 2006 7:39 PM

Andy Stopford said:

Hey John,

You Adobe guys kept a really low profile ;-) I notice Mesh was also there. I think I may have spotted you at the final day network session, I was unsure if it was you but someone was lerking about that looked a lot like you :)

Andy
# March 28, 2006 3:41 AM

Andy Stopford said:

"For WPF/E, I sez, "Ship it!"

I am sure they will John.
# March 28, 2006 4:24 AM

Jesse Ezell said:

Yeah, JD is definately a cool guy. I wish I could have made it to MIX, sounds like a really cool conference... alas, product release schedules don't give a bunch of extra time for play lately.
# March 28, 2006 2:28 PM

Simon said:

Sounds like a good idea in principle. Obviously the details need working out, but still worth exploring further.
# March 30, 2006 9:23 AM

Stefano Demiliani said:

EID is my company name, it's under copyright eheheh :))) (I'm joking)
# March 31, 2006 5:29 AM

AndrewSeven said:

While there are other factors too, for a long time I thought along the line of:
"I can never get a job at MS, they ask you how to write a linked list and a doubly linked list. I've never written either."

I doubt I will ever write either, its been done and done well.

Google's tests are less obvious, you need to be reasonably smart and like puzzles, maybe the code to find it has never been written.
# March 31, 2006 12:15 PM

TrackBack said:

Sam Gentile
# April 3, 2006 8:22 AM

Mike said:

this looks to sux major I rather prefer having to maintain a piece of code that looks like

for (i=0, j=0; i < 1000; i++)
if (IsPrime(i))
j++;

than the ugly declartive and unnecessary verbose Xml equivalent.
# April 3, 2006 10:32 AM

Mike said:

man I am too stupid! ... April 1, 2006 :)
# April 3, 2006 10:34 AM

Plip said:

You'll enjoy it - great venue and the staff are wonderful.
# April 5, 2006 9:22 AM

Ben said:

Oh come on, I don't think they were skipping sessions to play Xbox. Here is a pretty thorough review from the tournament's runner-up.
http://www.gskinner.com/blog/archives/2006/03/microsoft_mix06.html

And another Flasher http://www.waxpraxis.org/article/2/we-finally-see-the-flash-killer-from-microsoft

# April 5, 2006 5:16 PM

Andrew said:

I am sure not Ben, I do wonder just what was wrong with the 42 inch plasma and 360 that Microsoft made available to make Adobe hire a room to do the same thing. All good intentions, oh come on.
# April 5, 2006 6:11 PM

foobar said:

If there's one thing Macromedia people like to do, it's to not "understand" their competitor's products. That way, when MM's products get crushed in the marketplace, they can feign ignorance.
# April 5, 2006 11:39 PM

Ben said:

ROFLMAO foobar. Flash will never get crushed in the marketplace. It has done nothing but dominate in recent years. I personally don't know enough about WPF to make a totally informed comment, but the little I do know leads me to believe that Flash and WPF will not even compete in most segments. Haha, get crushed, thats funny.

Andrew, would you rather have a 360 to share between 20 people, or 2000? Also, I am pretty sure the room was Mike Chambers' hotel room and the tournament was an ad hoc type of thing. Adobe didn't rent a room specifically for that purpose.
# April 6, 2006 8:52 AM

Andrew said:

I was there to learn in the sessions and not play games during them Ben. I question what was the point of all of this, after hours I could have understood Mike throwing a party but during session times.....
# April 6, 2006 9:45 AM

Ben said:

Andrew, as I suspected, Mike has confirmed that the 360 fun was in fact after hours, not during sessions.
# April 6, 2006 3:09 PM

Robert Reinhardt said:

I stand corrected that Adobe was hosting tournaments during session times, and I know that the folks from Adobe bring their Xboxes to most of the conferences they attend, so it wasn't necessary a ploy on their part. It was an assumption (or deduction) on my part since I didn't see many of Flash invitees at the conference sessions. There's a strong possibility that many of them were just hung over from each night's festivities.
# April 6, 2006 3:22 PM

Andrew said:

Ben I appreicate you getting the clear facts on this, I was a little shocked on reading Roberts post and it was good of Robert to own up to an assumption. I have updated the post accordingly and I hope that we can all move on.
# April 6, 2006 6:04 PM

Ben said:

Thanks Andrew. No, I am not Forta :), just a Flash developer that had a hard time believing Adobe would that. Hopefully each technology will be judged on its merits and find their appropriate places in the market. I appreciate Robert's clarification and your update as well. Have a great day.
# April 6, 2006 7:12 PM

Mike Downey said:

Hello -

Interesting thread. Maybe I can help bring an end to the madness... ;-)

1) It was my room (5-306, if I recall)
2) It was a suite just like every other room at the Venetian (a nice one, too!)
3) We had two 42in displays w/ an Xbox (for 4 player Halo 2) and an Xbox 360 on each (no Sony Playstations!).
4) Most gaming was done whenever anyone felt like it, which tended to be in the evenings.
5) The people that enjoyed the Xbox fun were friends of ours and probably preferred the "private" room because they knew all of their friends would be there.
6) We've been holding these Xbox tournaments since Microsoft (who gave us the idea) did the same thing at the MXDU conference in Sydney a few years ago (which included many of the same people).

Let me know if you have any questions. My email address is below.

Regards,
Mike Downey | Flash Product Manager | mdowney --at-- adobe.com

BTW - I attended all of the sessions related to Expression and WPF, WPF/e. I even took pictures and notes... ;-)

# April 10, 2006 1:19 PM

Plip said:

If only!
# April 12, 2006 4:02 AM

Justin said:

What would this solve that web services or RSS can't already solve?

Give us an example of how it can be used.
# April 12, 2006 4:40 AM

SBC said:

MSMQ has a HTTP interface that can be a good starting point (foundation).
# April 12, 2006 10:34 AM

Andy said:

Hy<a href="ht">.</a>
# April 13, 2006 6:32 AM

Chuck said:

"What would this solve that web services or RSS can't already solve?"

Ditto.

A bit of clarification, if you don't mind. Are you proposing a common bus on the client side which mutiple types of objects could hook into and use it to interop? If so, isn't this just another JavaScript object since JavaScript can itself already manipulate applets, HTML, Flash objects, and what not.

If your proposal is for a remote bus, then isn't that what a web service is? Wouldn't it just be another webserivce that allowed clients to register messages for consumption? Isn't this what many web based chat clients do already? (Send message to a common service, store the message, message is consumed by others listening on the "bus", if you will).

Or am I totally off kilter and missing your intention by a mile?
# April 13, 2006 1:28 PM

Jon Galloway said:

I read this as a common bus on the client side, which could be a JavaScript object as long as there was a common interface and protocol for access. It's conceptually similar to RSS in that the RSS standard allows for communication between many disparate systems; in this case client side objects could support this standard which would allow them to be contextually aware.
# April 13, 2006 1:35 PM

Frans Bouma said:

I'd suggest you to mail Alex Lowe at Telligent. He can tell you more about the upcoming migration.
# April 18, 2006 6:30 AM

Alex Lowe said:

Most of the upgrade work has now been completed. We're doing alpha testing (with about 10 curent weblogs.asp.net bloggers) now to identify showstopping issues so we can proceed with the upgrade. I'm hopeful that we'll have all of the currently identified issues resolved this week which means we are no more than "weeks" away from a go live.
# April 18, 2006 10:16 AM

Nikhil Kothari said:

Thanks Andrew!
# April 18, 2006 10:28 PM

Peter said:

How about SubText project? Is there an open way to select the platform here? I'm a big fan of SubText!
# April 18, 2006 11:35 PM

Phil Winstanley said:

Mmmmmm chillies.
# April 20, 2006 2:39 PM

Pete said:

Hi. Would be interested to know what topics AKQA and Flow will be covering.
# April 24, 2006 10:28 AM

Motorola Razr said:

# April 26, 2006 2:34 AM

Plip said:

I had something similar happen a few weeks ago - someone broke in looking for something to steal but found nothing.

http://www.flickr.com/photos/plip/sets/72057594099311281/
# April 26, 2006 6:39 AM

Wim Hollebrandse said:

Andrew - you don't think they'll launch an extensive DNA investigation, do you?
# April 26, 2006 7:18 AM

Bypassing Dotnetter said:

> Dumb because they left blood behind and and dumb because when the power goes out from the stero you need the access code to get back into it.

I am pretty sure it is hackable though.
# April 26, 2006 7:48 AM

Car auction said:

# April 26, 2006 7:49 AM

dude said:

I'm sure they'll put their "top man" on it right away. ;)
# April 26, 2006 9:09 AM

Josh said:

I thought you were going to say the door was unlocked. I had a friend who had her rag top slashed to get to the radio and the door was unlocked. Oh well, pretty sad that people find it better to destroy and steal instead of working.
# April 26, 2006 9:39 AM

Andy Stopford said:

The finger prints guy has been to dust and take swobs so a promising start. The women on the phone when I rang it in asked me if I had CCTV, I almost replied "yes I also have machine gun nests and land mines" :D this is this the suburbs not the middle of terrible.
# April 26, 2006 9:50 AM

Andy Stopford said:

Oh and once again car insurance amazes me. By law you have to have it yet to replace my radio costs me 150 quid (it was'nt worth that) and a hike in insurance costs next time, pretty dam pointless then.
# April 26, 2006 9:53 AM

Dave said:

That sucks :(
# April 26, 2006 2:03 PM

Aimee said:

hi i am aimee i don't know what slip means?
# April 28, 2006 4:26 PM

Rob said:

Nice logo!
# April 28, 2006 4:50 PM

Anoymous said:

have you tried the Visual Studio 2005 Web Application Projects?

http://msdn.microsoft.com/asp.net/reference/infrastructure/wap/
# May 8, 2006 9:21 AM

Bilal Haidar [MVP] said:

Hi Andrew:
I usually create an Empty Solution at for example:
C:\Projects\Project1
Then I will have the .sln file inside the Project1 folder.
Then when I add a class library, I add it to:
c:\projects\project1\classlibrary1

Want to add a website?
c:\projects\project1\website1

This way you will have this Tree:
Project1
|--> .sln
|--> ClassLibrary1
|--> Website1

All combined in one single folder called Project1.

Is this what you are after?

Regards
# May 8, 2006 9:51 AM

scottgu said:

Hi Andrew,

You should be able to just use the File->Save Solution As Option to pick the location on disk it is saved at.

Hope this helps,

Scott
# May 8, 2006 10:20 AM

Andy Stopford said:

Thanks for the comments guys. The problem with Scott's work around is when you try and compile the project using MSBuild (as required by a CI server like CCNet or VSTS for example) then this breaks. The aspnet precompiler seems to enforce the policy of not allowing the precompiled code in the same directory as the webcode. If you save the sln in the same directory then this then takes effect.

Andy
# May 9, 2006 4:12 AM

Andy Stopford said:

Here's a way around this if you want the structure

Project1
|--> ClassLibs
|--> .sln
|-->-->Controller
|-->-->Model
|-->-->Etc
|--> Website1

Create an IIS virtual directory that maps to Website1.

Create a new web project and set the URL to match the virtual directory

Close VS and move the sln file from “your settings” to the Website1 folder

Open the project in VS and add your libs, when prompted select “Add to solution”
# May 9, 2006 7:16 AM

yag said:

Not exactly what you're looking for, but may apply well.

http://bethmassi.blogspot.com/2006/01/binary-serialization-of-datasets-in.html
# May 11, 2006 11:40 AM

Steve Maine said:

Hi Andrew. I'm afraid I don't have any links for you, but I can talk in broad terms.

In our lab, we have a comparison that pits WCF Named Pipes against both Remoting 1.0 and 2.0. WCF wins in all cases.

For the off-box case we compare against Enterprise Services (which is faster than remoting), and secure WCF is faster than secure ES cross-machine.

If you're doing your own comparison of WCF's TCP binding to Remoting TCP, be aware that the WCF NetTcpBinding is secure by default while Remoting's isn't. It's an important variable to keep in mind.

(BTW, I'm the perf PM for WCF)
-steve
# May 11, 2006 4:32 PM

Andy Stopford said:

Hi Steve,

Do you have any white papers or other info that you could share on these perf tests. It would help us prove that WCF is a better choice moving foward. Any chance you could email me?

Thanks

Andy

# May 12, 2006 3:52 AM

Plip said:

Hmmm My initial review (over the past few days) is that the product has some issues.

All in all, I'd say give it a shot, but be aware it's very ropey in places.
# May 15, 2006 10:59 AM

Phil Winstanley (On his Mac) said:


I watched the WPF\e vidio earlier in the week and my eyes lit up - it looks very promising and I can't wait to see what the end product ens up looking like!
# May 20, 2006 9:34 AM

bob_chauvin said:

I have yet to get this working too!
# May 23, 2006 10:59 PM

ace said:

i usually leave the car door unlocked and it never get smashed or stolen.
# May 24, 2006 2:37 AM

ace said:

i usually leave the car door unlocked and it never get smashed or stolen.
# May 24, 2006 2:37 AM

Mabsterama said:

The other day Andrew Stepford blogged about InfoCard, asking what happens if your PC is stolen. Does...
# May 24, 2006 6:14 AM

David Stone said:

Eclipse actually has JUnit built in. I know that's a poor substitute for TD.NET (Believe me. I do .NET development at work and Java development at School. I'm very aware of the pain of moving from VS to Eclipse), but running JUnit tests isn't actually that hard from within the IDE.
# May 24, 2006 11:36 AM

bob_chauvin said:

#3 Did it for me.  Thanks jp.
# May 25, 2006 4:58 AM

Matt Hamilton said:

Oops! StOpford! Sorry, Andrew!

Have you found a satisfactory answer to this question yet?
# May 26, 2006 4:16 AM

julia Miller said:

iBloks beta is now available if you want to let your readers know - both for Vista and XP.  thanks J
# May 28, 2006 2:59 PM

Motorola RAZR said:

# May 29, 2006 3:21 AM

Water Filter said:

# May 29, 2006 7:57 AM

RAZR said:

# May 29, 2006 12:47 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

rape stories said:

Best of the text i read about a problem.
# May 31, 2006 12:11 PM

pai said:

check out "nxbre"
# June 2, 2006 6:55 AM

Andre said:

Very nice blog and good template
# June 5, 2006 2:20 PM

Plip said:

Who is this "other Phil" ?

I dissaprove.
# June 6, 2006 7:28 AM

Sam Gentile said:

I had a nice New and Notable yesterday but the web ate it – I hate having done an hour’s worth of work...
# June 7, 2006 1:33 PM

RHurlbut said:

Nice find, Andrew!

Robert Hurlbut
# June 7, 2006 3:54 PM

JenniferL said:

is it possible to make the build fail if there is an mbunit test failure?
# June 8, 2006 7:16 AM

Jason Haley said:

# June 8, 2006 10:51 AM

Kevin D. White said:

The ObjectBuilder inside The Microsoft CAB & Enterprise Application Library is another example of a Dependency Injection framework. Unfortunately Object Builder is not well documented.
# June 8, 2006 11:42 AM

David Findley's Blog said:

Andrew makes some obversations about MVC in the .NET world.I too have been delving into OO principles...
# June 8, 2006 12:28 PM

Jeffrey Palermo said:

I would strongly recommend StructureMap.  It is another open-source dependency injection library, and it's available for .Net 1.1 & 2.0 (with generics).  It uses attributes or xml for the mapping meta-data, and it's a cinch to use.

Just google "StructureMap" for all the details.  There are several people who have blogged examples of it.
# June 8, 2006 1:18 PM

Govert van Drimmelen said:

There is some more info here:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=273738&SiteID=1

Jon Cole (Microsoft?) says:

"I have verified the improper use of that parameter to WSAGetOverlappedResult and have filed a bug to track the issue.  We will try to get a fix into the next release. "

I'm not sure what this means.

(I don't know how to post a comment on the TestDriven.NET site, but it would be nice to have this pointer there too.)
# June 8, 2006 2:22 PM

sral said:

Spring.net offers some cool functionality. However, the framework lacks a loot of the "killer" features the java version has. You should def play arround with it if you can
# June 8, 2006 2:56 PM

Bryan said:

I've had problems wiring up runtime dependencies with spring.  If I have to wire up the dependencies based on data provided by the user at runtime, I'm still falling back to coding it myself.  Spring is better for static dependencies.

That being said, the XML file is unwieldy and isn't typesafe.  After adding only a few 10's of objects, I had to break it up into multiple files and even then it was hard to manage.  The format is not information dense, so you have to look at sceen upon screen upon screen of verbose XML to have any kind of a clue as to what's going on.  That's a big problem.

The concepts behind central configuration and IoC are fantastic, but I'm not sold on Spring's implementation of it myself.  

These days, I follow IoC religiously, but use a simple runtime loaded Python or Boo script to wire everything together.  I much prefer this to the current iteration of Spring.  The scripts are turing complete and information dense, but can also be as simple as a config file.  The only drawback is loss of compile time safety, but that is a reasonable tradeoff when you want to configure things more readily at runtime.  Besides, if you want the compile time safety you can always write an assembly in C# that does the same and load it into it's own app domain. Best of both worlds, and no XML anywhere.  :)

Bryan
# June 8, 2006 5:27 PM

hammett said:

I'd recommend Castle Windsor, obviously ;-)

Bryan, I didn't get your requirements, and neither your proposal. Aside from that, boo is statically compiled. Anyway, feel free to contact me and I'll try to see if Castle is able to fulfill this kind of requirements and if not, put it on the road map.
# June 9, 2006 4:02 PM

Messaoud OUBECHOU said:

Well,
I have asked myself the same question several month ago.
Here is the link for a simple / beginner exemple :
http://fr.www.prettyobjects.com/content/en/POCMock/Walkthroughs/WT1/POCMockWalkthrough1.html

The fmwk is POC Mock, from PrettyObject vendor.

Hope it helps,
mess
# June 12, 2006 11:04 AM

Julien Couvreur said:

Actually, testability is a great indicator of good design.

And having tests and unittests means that you'll have less bugs, you'll be able find the root cause for bugs more easily and find when you break some code by accident.

In my opinion, a common use for Mock objects is when you have a DB layer to persist your business objects. That means that to test the business logic, you may need that DB layer with an actual DB. With Mock objects, you don't need that DB and you'd create a mock DB layer...

An argument for testability and introduction to mock objects:
http://www.netobjectives.com/streamzines/MockObjectsAndMockTurtles/player.html
# June 12, 2006 11:46 AM

Fredrik Normén said:

Hi,

I wrote an "answer´" to this post on my blog:

http://fredrik.nsquared2.com/viewpost.aspx?PostID=364&showfeedback=true
# June 12, 2006 1:30 PM

Mike Gale said:

The issue with mocking is that many implementations only work with some code.  Forces you to code differently.

If it's essential then so be it but the ideal is not to refactor (and maybe deform) your code too much for testability.

I like the look of POCMock, though I've never tried it.  Seems like a good way to go.
# June 12, 2006 4:47 PM

RoyOsherove said:

I have code samples from my "Design for testability session in DevDays" here:
http://weblogs.asp.net/rosherove/archive/2006/03/13/440121.aspx
and also this article might help:
http://weblogs.asp.net/rosherove/articles/Design4Tesatbility1.aspx
# June 12, 2006 6:47 PM

hammett said:

Since SoC is applied you'd have a testable design.
See http://www.codeproject.com/cs/design/introducingcastle.asp
# June 12, 2006 6:56 PM

Jason Haley said:

# June 13, 2006 9:38 AM

G. E. Sutton said:

Another alternative that I like is the Presentation-Abstraction-Control pattern, but the truth is that the .Net framework has posed a number of challenges to my implementation. It could be my own skill limitations or simply trying to fit a square peg in a round hole.
# June 15, 2006 10:57 AM

Curtis Menzies said:

I wanted to let you know I am highly experienced and can create many different internet applications, as well as web design and various programming. I have knolage of ASP, PHP, CFM, CFC, JAVA, AJAX, CSS, HTML, XML, and a few others. If you like I could start working immediatly and even for free because I know you will like my design & programming to start eventually paying me. Let me hear what you think, I would love to share ideas with you.

Curtis Menzies
Web Programmer/ Designer
email: mailadmin@kwontemtek.com
# June 18, 2006 3:25 AM

Fyodor Sheremetyev said:

Have a look at VisualSVN (http://www.visualsvn.com)! It's lightweight and reliable Subversion plugin for Visual Studio. Uses TortoiseSVN as UI.
# June 21, 2006 3:32 PM

Wraith Daquell said:

So, what needs to be changed to set it up?
# June 22, 2006 2:35 PM

Andrew Stopford's Weblog said:

No avoiding it but tommrow I turn the big 30.
# June 27, 2006 11:53 AM

Haacked said:

Don't avoid it, embrace it!  30 is the new prime age for men. ;)
# June 27, 2006 1:18 PM

Rob said:

Look at it this way Andy:

On the day you were born there are two possibilities -- you either make it to 30 or you don't.  You are lucky enough to have made it :D
# June 28, 2006 4:48 AM

Raymond Lewallen said:

Welcome to the big 3 - 0 !
# June 28, 2006 7:59 AM

Kevin said:

ZLIB for .NET is available for download here:

http://www.componentace.com/zlib_.NET.htm

The license is BSD.

# June 29, 2006 3:00 AM

dfghdfgh said:

dfghdfgh

# July 4, 2006 6:59 PM

Perica said:

   [WebMethod]

   public Northwind.CategoriesDataTable CategoriesDataSet()

   {

       Northwind.CategoriesDataTable tbl = new Northwind.CategoriesDataTable();

       NorthwindTableAdapters.CategoriesTableAdapter ad = new NorthwindTableAdapters.CategoriesTableAdapter();

       ad.Fill(tbl);

       return tbl;

   }

....

<mx:DataGrid id="tbl" dataProvider="{ws.CategoriesDataSet.lastResult.diffgram.DocumentElement.Categories}">

           <mx:columns>

               <mx:DataGridColumn headerText="Column 1" dataField="CategoryID"/>

               <mx:DataGridColumn headerText="Column 2" dataField="CategoryName"/>

               <mx:DataGridColumn headerText="Column 3" dataField="Description"/>

           </mx:columns>

       </mx:DataGrid>

# July 4, 2006 7:00 PM

foobar said:

Well, you should never actually render the "&" character directly anyhow.  It should always be &amp;.

# July 6, 2006 9:27 PM

Pawel Pabich said:

Hmmmm,  I posted this bug a few months ago at asp.net forum and the Atlas team replied that it will be fixed in the next release.

# July 7, 2006 4:09 AM

Jerry Gorkin said:

Have you seen what Midnight Coders are doing with their WebORB for .NET? It appears to be a native implementation of Flex Data Services in .NET. See their website at: http://www.themidnightcoders.com

# July 7, 2006 10:25 AM

Rob said:

Do you have any posts on your Macromedia stuff?

# July 7, 2006 12:11 PM

Jason Haley said:

# July 7, 2006 10:41 PM

Luis Abreu said:

well, no, it's nota causing a string concatenation to break. the problem is that the head element is included in a partial postback response (if it has  runat="server") and its content is not escaped on a cdata section. since the partial postback response is an xml message and you're using one of the "forbidden" xml chars...yep, you'll get a badly formed xml message on the server which won't be processed by the client portion of the framework.

# July 8, 2006 6:16 PM

Todd Carter said:

This fix was released a while back. : http://support.microsoft.com/?kbid=915782

Just call MSFT support via the toll free number and the customer service rep will send you the fix.

# July 8, 2006 6:22 PM

Andy Stopford said:

# July 9, 2006 6:32 PM

cs said:

Even though I don't have to, I will gladly pay $95 to use TD.Net for my personal development projects.

# July 10, 2006 9:18 PM

Jason Haley said:

# July 10, 2006 11:47 PM

Arnon Rotem-Gal-Oz said:

Daron explanation is nice...but wrong

see Marting Fowler's explanation @ http://www.martinfowler.com/eaaDev/ModelViewPresenter.html

Arnon

# July 11, 2006 5:15 AM

Haacked said:

I contributed some sections to the book too, so you can add me to the list of contributors you know. ;)

# July 13, 2006 7:51 PM

Jason Haley said:

# July 13, 2006 11:44 PM

you've been HAACKED said:

# July 14, 2006 2:32 AM

Leslie said:

No what you mean. Take a look at doxygen http://www.stack.nl/~dimitri/doxygen/

If you point it at your source code it produces great documentaion. It also has some other rich features and custom tags

# July 14, 2006 8:15 AM

Simone Busoli said:

I contributed too with a chapter about BusyBoxDotNet. Is it really a a life's ambition to write in a O'Really book?! That sounds very good ;)

# July 14, 2006 8:29 PM

Andrew Stopford's Weblog said:

After my post on documentation tools and the news that MS had a NDoc style tool up it&amp;#39;s sleeve comes

# July 20, 2006 6:54 AM

Anand Raman said:

Andrew,

For this CTP release we will not include any MS Build task. We are look at this as feature for future release. Please feel free to email me directly (aramATmicrosoftDOTcom)if you have additional questions or feature requests.

Anand..

# July 20, 2006 10:42 AM

Brenton House said:

You can follow the posts in this thread, but I know a *lot* of people are anxiously awaiting the release

# July 21, 2006 8:24 AM

Brenton House said:

I will build one as soon as I can get my hands on a copy of it.

# July 21, 2006 8:26 AM

haacked said:

I'm not so sure I entirely agree with you on this one.

Like you, I don't publish my blogroll as a permanent fixture on my blog.  No point in saying "This is my clique".

However, I do find value in occasionally highlighting blogs that catch your attention above the norm.  For example, that was one reason I tried to start a meme around that: http://haacked.com/archive/2005/09/23/Top10RecentBlogs.aspx

I think it is a good way to help others find blogs they wouldn't otherwise find.  Although, I do like trying to take the appproach of highlighting blogs *other* than just your top 10.

# July 21, 2006 11:14 AM

Jan Van Ryswyck said:

I'll cover you ;-)

# July 21, 2006 4:40 PM

Sam Gentile said:

I'm pretty suprised by your comment. Did you listen to the show? He clearly said that he had 1500 blogs, had gotten it down to 600 or so and just wanted to give an example of some he reads ever day in order to highlight a few. He didn't publish it as a "list"

# July 22, 2006 1:45 AM

Andy Stopford said:

Phil\Sam,

Thanks for the comments, Scott may have a mighty blog list, he may gotten it down to 600 and he may have shown the list as key examples but....I don't believe in trying to show key blogs when every blog has value. Like you both I believe in showing items from blogs from all over the blog world that have value, rather than any one blog. I understand that Scott was showing some key examples of what he reads and that's cool but my preferance would have been showing key posts from his blog list, bringing focus to those posts.

Andy

# July 24, 2006 3:47 AM

Sam Gentile said:

> don't believe in trying to show key blogs when every blog has value.

Does it? There a lot of blogs that talk complete ***. In fact, the noise drafs the signal and for many people they need a guide to blogs that provide consistent signal value. I'm not saying it was the ultimate list of that but someone's observations unformally.

# July 25, 2006 2:20 PM

Jeff Brown said:

The FxCop add-in now lives on Tigris.  I agree there's much to be improved.  I'll be looking into it more this week.  I hope to release a new version soon.

Please let me know if you have any suggestions for improvement.  =)

# July 25, 2006 3:56 PM

Jason Haley said:

# July 25, 2006 11:10 PM

Jason Haley said:

# July 25, 2006 11:11 PM

Andy Stopford said:

Sam,

The nature of blogging is to blog what you want when you want, different people obtain different values from posts. Some folks may find it *** others may find it useful, different levels of ability exist within our community and not everyone is elite. Let me bring to attention the one guy that values posts from as many sources that he can.

http://jasonhaley.com/blog/

# July 26, 2006 4:15 AM

Sam Gentile said:

I value everyone in the community's blogs. I link to everyone and I was doing it way before Jason. I don't understand the reference to elitist. I have spent the last five years trying to build community.

All, I was saying is that Scott just had 20 minutes or so to informally mention some fave blogs that he goes back to every day. It wasn't meant to de-value any one else or their contributions. For instance, you weren't on it but does that make your blog any less? Of course not. You have been one of the biggest contributers to the community and I have linked to you consistently through the years.

I feel like we may be talking past one another. I appreciate *anyone* who takes the initative to start writing about their experiences.

# July 28, 2006 9:35 AM

Aaron said:

Do have any examples where the web service returns XML?

# July 29, 2006 1:04 AM

Merrion said:

The folks over at TheCodeproject have a rudimentary GUI for sandcastle --> http://www.codeproject.com/lounge.asp?msg=1602333#xx1602333xx

# July 31, 2006 5:22 AM

Albertito said:

hi!

I've tried this IDE and I think Web Designer is better than Aptana, and I don´t know where Atlas is in Aptana. furthermore, Aptana is based in Eclipse, and I don´t like it. :-)

bye!

# July 31, 2006 2:08 PM

Anders Ljusberg said:

I decided to take on the task of writing a MSBuild script for Sandcastle. Have a look at it if you're interested!

http://blog.ljusberg.com/2006/07/msbuild-script-for-sandcastle.html

/Anders

# August 1, 2006 3:56 AM

Mischa Kroon said:

An IDE without Asp.Net support and you would like to see Atlas support :)

That kinda sounds funny :P

Seriously though, it looks nice for a javascript IDE and thats basicly what it is.

# August 1, 2006 4:25 AM

Merrion said:

Yes - Sandcastle on Codeplex is a brilliant idea.  Every time you check in a change to your class library it updates the documentation..I like it!

# August 1, 2006 6:30 AM

drew said:

looking forward to it

# August 1, 2006 1:21 PM

Jason Haley said:

# August 1, 2006 10:43 PM

Jason Haley said:

# August 1, 2006 10:45 PM

Marius said:

I have found something on www.netbpm.org. I would appreciate your feedback on trying to use it.

# August 2, 2006 5:53 AM

Team System News said:

Thomas Murphy on Team Edition for Database Professionals CTP5 is around the corner. Eric Jarvi on...

# August 2, 2006 11:44 AM

Anilesh said:

Thanx it worked

# August 2, 2006 1:39 PM

Thomas Tomiczek said:

There is no impact.

There is an impact on the agile approach to the remote worker. Remote work just does not work.

# August 3, 2006 6:47 AM

Andy Stopford said:

Thomas can you expand on what you mean, what impact and why does remote work not work?

# August 3, 2006 9:04 AM

Anders Ljusberg said:

I just added a Visual Studio plugin to the above-mentioned build script. Try it out if you're brave!

http://blog.ljusberg.com/2006/08/sandcastle-visual-studio-project.html

/Anders

# August 3, 2006 9:27 AM

David Findley's Blog said:

Andrew raises the question: What is the impact of the remote worker on Agile approaches?A couple of months

# August 3, 2006 10:12 AM

Thomas Tomiczek said:

One point you have with people in one room is the informal information exchange. Overhearing conversations, meeting for a coffee. That simply gets eliminated. Tools like VNC do not work properly on a multi monitor setup - you can share basically one. Plus chat is a lot slower than audio, and struggling for keyboard control for virtual pair programming is a pain - you miss all the feedback of the otherguy just taking the keyboard.

In my experience is just does not work. We are eliminating remote work for most positions as a result. Agile methods work best if you have - well - a TEAM that has all these informal communication channels open.

# August 3, 2006 10:17 AM

Ryan Anderson said:

I really think it depends on the size of the dev team, and the level of communication with the remoters. I have had a lot of experience with this and it has seemed that it is all too esy to forget the remote folks. In agile, change is a constant as we all know.

I think the remoter takes the brunt of work fallout when communication is "sub par", yet the team feels it in the end. What I mean by this is that without solid communication a certain amount of retooling could occur on the dev side for the remoters if the had missed something through the products evolution. This is all to easy to do. In the long run, the entire team could take a hit due to this incurred cost of retooling in lost time.

It really depends on how good of a project manager, if there is one, is at the reins. They typiclly are the one that needs to be flying at full bore to assure that everyone is on the same page.

I have witnessed it work in many cases, but have seen and felt a lot of frustration with virtual teams as well. It definitely requires a lot more of a team than if you are sitting right next to everyone else. It is all to easy for something to get "lost in translation" when you are not face to face.

I regards to the impact of time, you really can't gauge it without project scope clearly identified. In a perfect scenario, it has no impact, but more likely than not, the timeline will be longer without a doubt due to the additional energy that needs to go into communicating.

Some rules of thumb that I have found that helps:

1) don't forget the remoters (obviously)

2) for agressive projects, daily status meetings are critical.

3) Instant Messanger... nuff said...

4) GoToMeeting, or the like (they are money well spent). Far more people are visual not conceptual.

5) To address Thomas Tomiczek comment, implement a Time Tracking application. I like using one purely for a CYA purpose.

Here is a good read,

<a href='http://72.14.203.104/search?q=cache:6kO0qt50-wYJ:www.agiledevelopmentconference.com/2003/files/R12Paper.pdf+development+agile+virtual+teams+remote&hl=en&gl=us&ct=clnk&cd=1'>Agile Development and Remote Teams: Learning to Love the Phone</a>

If you do a search for 'development agile virtual teams remote' you will find that many have pondered this subject before. I think all it comes down to is streamlined and constant communication (which is a requirement of agile anyway but remote scenarios IMO require more).

# August 3, 2006 10:50 AM

Thomas Tomiczek said:

Let me add that for the last 3 years I have been running projects that involved people on up to 4 locations, distributed over multipel countries (in the same timezone)

We are now consolidating teams two locations and eliminate the majority of remote work.

# August 3, 2006 11:00 AM

Ryan Anderson said:

Thomas, you stated that in your opinion, "it just doesn't work"

In your opinion, what do you believe to be the source of the failures. Your statements point toward technology and its shortcomings are resposible for the failure, but in all honesty, I don't believe that technology could be held accountable here. It sounds like in the experience you have had is a simple communication breakdown. I couldn't agree with you more on the "coffe talk" that is missed, but if a team has solid communication, those things don't slip through the cracks.

I have been working in agile virtual teams for almost six years now in one capacity or another (on both sides as well), it works IMO, but must admitt it can be painful if communication is not held on a pedistal and aggressively pursued.

Remoters are to easily held as scapegoats for failures, which is one of my biggest peeves in virtual teams and see it in almost every project. It is a TEAM. If I have the choice, when building out a team, I steer clear of virtual teams at almost all costs. But, the fact of the matter is, sometimes they are unavoidable.

# August 3, 2006 11:03 AM

Thomas Tomiczek said:

::I couldn't agree with you more on the "coffe talk"

::that is missed, but if a team has solid

::communication, those things don't slip through the

::cracks.

The problem, though, is that this COSTS MONEY again. It costs lots of time, lots of effort. And eliminates most of the gains you had in the first place.

It works very well on the non-programmer level (i.e. separating project management from the team), and it works if you can cut down tasks. It may also work for stuff like graphics, web design. In fact ,we do use it here (note: web DESIGN, not programming).

But when you ask about real programming, the loss is just not worth it, imho.

# August 3, 2006 11:59 AM

byron walker said:

hey andrew,

Ben Hogan of ThoughtWorks recently did a talk at Agile 2006 on running a distrubuted Agile project.

The project was a success although not without its difficulties according to Ben.

The question that needs answering is why would one opt for a distributed project?

He offers some great tips for easing the troubles associated wth the approach.

# August 3, 2006 11:27 PM

Richard Jonas said:

You have to make sure you think of yourself as one team, not as two teams. If you think of yourself as two teams, you will blame the other for any problems.

It helps if you make sure you always think of the "other team" as a group of people with similar strengths and weaknesses and competing priorities to yourself and have regular communications with them to reinforce this.

# August 4, 2006 3:24 AM

Andy Stopford said:

Thanks for the comments guys, interesting debate opening up here and it's good to see two sides of an arguement developing.

I really should add that one of the reasons I ponder this is because OSS projects tend to spawn large development teams that spawn mutiple locations across the globe. Now if Agile does not work for remotely then will it ever see adoption in OSS projects or should a more micro-team per feature approach be taken to make a remote appoach work better.

My take on the costs of remote working is such that sometimes you cannot always ship the talent your need to the places you need and the cheaper option is to work remotely with this folks. Relocation costs are far more than some decent hardware/software for remote working. While coffee talk is missing here, I disagree that during daily meeting and pre-start informal IM chats that you cannot have this. Nor does the phone have to be ignored ;-)

Your thoughts as ever are very welcome.

# August 4, 2006 4:53 AM

Valentin Kipiatkov said:

Which testing framework do you use?

# August 4, 2006 7:00 AM

Andy Stopford said:

Valtentin, I am lead on the MbUnit project so I use MbUnit everywhere I can.

# August 4, 2006 8:21 AM

Anders Ljusberg said:

If you're interested in knowing a bit more of the inner workings of Sandcastle, but don't have the time to figure it out for yourself, come have a look:

http://blog.ljusberg.com/2006/08/sandcastle-under-hood-part-1.html

http://blog.ljusberg.com/2006/08/sandcastle-under-hood-part-2.html

I'm working on part three, let me know if there is something specific you'd like me to include!

/Anders

# August 5, 2006 7:56 AM

Luke Melia said:

I think distributed agile can work, but would guess-timate it at 2x to 5x less effective than a co-located (warroom) team. I lead a colocated team that occassionally have team members work from home. We compensate those days by doing more structured work planning in our morning stand-up and by using a Skype room (easy to chat and hop in out of voice) that the whole team, including ScrumMaster, is in all day.

It's not ideal but, if there's a good reason to take the effectiveness hit, you can still be successful (by which I mean build working software in a predictable way). If you have a growing product line, however, I would look at the possiblity of creating multiple co-located teams instead having a strategy of distributed teams.

I also agree that "coffee talk" can very much happen in a team chat room over the course of the day.

# August 6, 2006 11:59 AM

C-Man said:

Distributed agile does work.  I have been the project manager for agile projects for the past two years.  Yes, the communication with the remote team is a challenge, but not a show stopper.

Remember the original question of this post, "Do you think all the team need be in the same place or can some be remote and some be with the client in the war-room?"  Well, what do you want the role of the remote team to be?  That will drive the answer to the original question.

# August 7, 2006 11:24 AM

Hector Correa said:

Remote workers do have an impact on any team and management structure. Some of this impact is positive while other is not. Just like having active and passive personalities, rigth-brain and left-brain types, boys and girls, different backgrounds, et cetera.

In general it's harder to communicate with remote workers. If the remote people have strong "remote" communication skills this is probably a non non-issue. Not everybody is suited to work remote which I guess goes both ways: not everybody knows how to work with remote co-workers (this second part might be easier to address, though.)

It's also a matter of the percentage of people that will be remote and the reason for it.

On the upside you can hire the best of the best when you don't have a geographical location restriction. Even if your office it's in the middle of nowhere you can hire the best C# developer for high performant systems that lives near the beach and won't move to the middle of nowhere (again, certain conditions need to be met first but it's an option that you might not have otherwise.)

In SCRUM, and agile in general, the need for frequent communication is a key ingredient. If you can get the level of communication that you need from the remote workers and/or the rest of the team that will work with the remote coworkers then go for it.

# August 7, 2006 2:58 PM

Louis-Philippe Perras said:

Process Academy made a Visual Studio plug-in that works quite well with Sandcastle.  It is free and you can easily select which projects you want to build.  Read the readme.txt and you should be all set.

Louis

# August 7, 2006 5:53 PM

Йордан Димитров said:

C# Best Coding Practices Naming Conventions for UI ControlsStringBuilder vs. String / Fast String Operations...

# August 8, 2006 5:28 AM

Йордан Димитров said:

C# Best Coding Practices Naming Conventions for UI ControlsStringBuilder vs. String / Fast String Operations...

# August 8, 2006 5:30 AM

Albert Weinert said:

The World is small :)

# August 8, 2006 8:50 AM

Greg Belanger said:

We've done agile in a variety of remote locations for a variety of projects. It works but it isnt without its difficulties. We use the phone for daily scrum with remote team members. Each team member has one remote day each week. We have one full time remote team member. To date we havent had issues with being less agile but rather issues with things like reception on the phone being poor, people not being a assigned phone numbers, or online for chats, etc.

We've also done agile with a hearing impaired staff member via IM for daily meetings. Again, with proper, aggressive moderation this is completely viable.

Its not without its challenges but its completely do-able. Personally, I look for growth in the collaboration space with things like Skype, Groove, etc being more heavily used in the future.

# August 8, 2006 2:17 PM

Frank Kroondijk said:

"I'll say it again that a community Sandcastle codeplex\SF project for all this stuff would be great to see."

I allready submitted a project request on codeplex last week, but still no project generated. The project wont only contain the sandcastle functionality but also other helpfull stuff.

The sourcecode of the add-in is freely available allready.

http://dotnetpret.blogspot.com (look 4 sandcastle)

cheers,

Frank

# August 9, 2006 7:31 AM

Ram (Ramanathan S) said:

I am also looking at the same tool for an ERP implementation. Any takers? I looked at nxbre - but it does not meet all requirements.

Regards

Ram

# August 9, 2006 8:42 AM

Frank Kroondijk said:

Well, here you are, now on Codeplex:

http://www.codeplex.com/Wiki/View.aspx?ProjectName=SandcastleAddIn

For those interessted also my GoogleDotMaps project:

http://www.codeplex.com/Wiki/View.aspx?ProjectName=GoogleDotMaps

gr

Frank

# August 10, 2006 1:27 PM

henry said:

can flex objects have customized ways to be serialized? if yes, how to do?

# August 11, 2006 3:36 AM

AndrewSeven said:

Some interesting comments and some really unusual colors on some of the linked blogs.

# August 11, 2006 12:06 PM

JIRA: MbUnit said:

See - http://weblogs.asp.net/astopford/archive/2006/07/27/MbUnit-Asserts.aspx We need Asserts AreNotEqual IsEmpty IsNotEmpty IsNaN. Less - dupes existing LowerThan Contains - dupes existing In Greater - dupes existing GreaterThan Typ...

# August 15, 2006 7:12 AM

Plip said:

Big Geek ;-)

# August 15, 2006 8:59 AM

Anders Ljusberg said:

Just to let you know, I've added MSHelp 2 support to the above-mentioned build script:

http://blog.ljusberg.com/2006/08/sandcastle-help-compiler-2-support.html

/Anders

# August 15, 2006 9:15 AM

MarcLaFleur said:

I personally find the basic tenets of Agile improve both the quality and the speed of development. If nothing else breaking up a project into smaller chunks makes things dramatically easier to manage.

I'm not however all that enamored with TDD. It is great for some things, but it isn't the /only/ reliable method to develop software. And for things like UI it doesn't make an sense at all (you can't assert ugly).

The keys to me are keep things simple, keep things small, and keep every pieces of code "fresh" by constantly refactoring both the code and the comments.

# August 15, 2006 11:15 AM

Haacked said:

It's a love/hate thing man.  If you are only running your code in one context (ASP.NET), what's the point of abstracting your context to another class that is simply a passthrough?

Problem is, I do run my code in 2 contexts.  ASP.NET and MbUnit (what! what!).

I wouldn't even consider this IContext if Microsoft had done so with ASP.NET.  Or if they had at least not sealed HttpContext.  Because it is sealed, I can't use RhinoMocks to mock it.  Grrr!

That leaves me this monstrosity that handles 80% of my cases.

http://haacked.com/archive/2005/06/11/4617.aspx

But is complicated and hard to maintain.

Phil

# August 23, 2006 11:44 AM

Jesse Ezell Blog said:

Andrew Stopford asks:One of the comments in Phil&#39;s post on using the MVP patten ismappingthe Context

# August 23, 2006 1:06 PM

Travis said:

I simply dont use sprocs anymore.  With a good OrMapper, you dont need them. That is a layer I dont have to *deal* with anymore in my apps.

Now there are arguments that have been re-hashed a billion times, but in the end the OrMapper's benefits out weigh sprocs by far. I wont argue sprocs do have some benefits.

Also there are some OrMappers that can use sprocs, http://www.ormapper.net comes to mind for the best of both worlds.

# August 23, 2006 6:02 PM

Andrew Stopford said:

This post by Paul Wilson is interesting - http://weblogs.asp.net/pwilson/archive/2004/09/18/231188.aspx

but in a real world query what about several tables with several joins or variables from one table to serve another query etc?

# August 23, 2006 7:07 PM

Mike Gale said:

Depends what you're doing.

If it's pure CRUD, where your OO and the relational model have clear correspondence there's one answer.

If the sprocs do some relational work that will take a lot of OO code to emulate it's another.

Neither is there a good reason for an OR-mapper not to encapsulate sprocs!

I feel the real problem is languages that have big blind spots.  (Think C# vs. T-SQL for example.)  COmega looked on the surface to have a much smarter language design, though we won't (unfortunately) see all of that any time soon.

To repeat.  It depends what you're doing (and how things are architected).

# August 23, 2006 7:45 PM

sean said:

nhibernate... kickass...

# August 23, 2006 11:09 PM

Matt Smith said:

I agree with Travis. We use LLBL Gen Pro (http://www.llblgen.com) on our site (http://www.myhomepoint.com) and it is great to leave the majority of our DAL up to the O/R mapper. Occasionally we've had to go outside of it, but he includes strongly typed methods for calling sprocs.

# August 23, 2006 11:11 PM

Ayende Rahien said:

One of the major source of power for most ORM is that they have a great amount of flexibility in generating SQL.

SP limit you to a predetermained set of operations, often very hard to handle.

If you need do present a different view to the world than your real tables, use views.

# August 24, 2006 12:59 AM

Udi Dahan - The Software Simplist said:

The place where I still use SPs for even when using an O/R mapper is for triggers - especially in cases of updatable views.

After doing O/R mapping for quite some time now, I have found that updatable views are a required abstraction. On the one hand, you want to allow the DBA (sometimes myself) to reorganize or partition tables (for example horizontally) for improved performance, while on the other hand you don't want to have to redo all the mapping work. Views give you just what you need.

# August 24, 2006 2:09 AM

Andrew Stopford's Weblog said:

In my last post I pondered for how a ORM and Sprocs fitted in, for mea database that is in at least 4nf

# August 24, 2006 5:24 AM

Colin Ramsay said:

Castle Active Record gives you access to all of the query stuff in NHibernate if you want it. So whatever features are in Hibernate, you've got them in Castle Active Record.

# August 24, 2006 6:07 AM

Ayende Rahien said:

You can do quite a bit with AR, including joins, etc.

The framework is smart enough to know about the associations between objects and query for them effectively.

# August 24, 2006 6:19 AM

Andrew Stopford said:

Ayende, any examples that show this ?

# August 24, 2006 6:33 AM

Sarah said:

O/R mapping tools are becoming more popular each day and people are realizing the productivity gain they provide to developers. Yet, many people don’t know enough about O/R mapping to consider using these tools and many others are weary of using any code generators (including O/R mapping tools).

In this article, Iqbal Khan try to educate people about the various important features that a good O/R mapping tool would provide us and how it can be beneficial to us.

# August 24, 2006 7:06 AM

Sarah said:

O/R mapping tools are becoming more popular each day and people are realizing the productivity gain they provide to developers. Yet, many people don’t know enough about O/R mapping to consider using these tools and many others are weary of using any code generators (including O/R mapping tools).

# August 24, 2006 7:07 AM

Wim Hollebrandse said:

I've written a CodeSmith template which along with data access entities generates the sprocs for me, and have integrated this step into the VS.NEt 2003 build using Nant.

# August 24, 2006 8:49 AM

Scott said:

They have an excellent page describing the many ways you can map your objects to your data

http://www.castleproject.org/index.php/ActiveRecord:Mappings

# August 24, 2006 5:35 PM

Will said:

# August 24, 2006 5:52 PM

David Parslow said:

Sprocs != bad

O/R Mappers can work with sprocs to generate a strongly typed result (O/R Mapping) of the sproc as well as make the sproc look more like a function in that the syntax you call the sproc is also strongly typed.

# August 24, 2006 7:02 PM

Tim Barcz said:

There are several features you can use.  HasMany, BelongsTo, HasManyAndBelongTo (for many to many relationships).

I recently looked at ActiveRecords and with the options provided (ie lazy loading) you can really get what you want, when you want it.

I applaud the Castle people though I have yet to use their AR in a real world setting, we're considering it for some upcoming stuff.

# August 25, 2006 12:56 PM

hants said:

you should add report file attribute:

<project>

   <target name="tests">

     <mbunit

         report-types="Text;Html;Dox;Xml"

         report-filename-format="myformat{0}{1}"

         report-output-directory="put\it\there"

         >

         <assemblies>

             <includes name="*.Tests.dll" />

    </assemblies>

    </mbunit>

   </target>

 </project>

hope that can help you

# August 27, 2006 11:00 AM

ADS said:

bro, the link is dead, can you tell me another link

thx

# August 28, 2006 2:32 AM

byron walker said:

Hi Andrew,

I have used both AR and nHib, and I moved away from AR because that pattern proved more difficult to test (mock) than using nHib directly.

The reason for using AR was the abstraction and no XML files, both very bad reasons NOT to use nHib.

Although Ayende did solve the AR testability issue, nHib is much cleaner and doesnt mess with your domain model like the AR pattern does.

# August 28, 2006 8:12 AM

bungle said:

ASP.NET is not the problem. Web Forms is the problem. ASP.NET without Web Forms works just fine with MVC and MVP. I have never liked Web Forms... leaky abstraction, that is.

# August 28, 2006 5:20 PM

Tom Krueger said:

Hey,

There is a DotNetRock TV show by John Paul Boodhoo on Model View Presenter that would be worth checking out if you are just getting started.  

Here's the link.

http://www.dnrtv.com/default.aspx?showID=14

Have Fun,

Tom

# August 28, 2006 7:47 PM

ScottGu said:

Send me email describing how you are building the app and I'd be happy to help.

thanks,

Scott

# August 28, 2006 10:26 PM

Arnaud said:

If you use an XmlDataSource, you should write :

MyXmlDataSource.EnableCaching = false;

Hope this will help you! :)

# August 29, 2006 3:32 AM

JM said:

All you need to check is the second option (in 5536 that is) to allow any RD viewer and either make an exception in the firewall or disable it.

Worked fine after those two tweaks, thanks for the info :)

# August 29, 2006 7:56 AM

nesz said:

where is more the pdfs :)

# August 29, 2006 3:22 PM

Plip said:

Is that the right link?

# August 30, 2006 9:22 AM

Hank Evans said:

Ya, don't look rite

# August 30, 2006 10:01 AM

astopford said:

Doh, fixed.

# August 30, 2006 10:46 AM

AndrewSeven said:

The thing about pushing things into "The Framework" is that it is very difficult remove them.

I would rather have a bunch of extensions than a monolith.

# August 30, 2006 2:08 PM

Karl said:

For $249 USD, you can buy a full-featured treeview from Telerik or ComponentArt. Not only are they fully cross-browser friendly, but they come loaded with a bunch of other goodies - and you'll be up and running with them within minutes.

The $249 probably has a much greater return than spending your own time on it.

# August 31, 2006 8:05 AM

Boris Yeltsin said:

I don't know if yours is a real bug - it has been replied to now.

There do appear to be several bugs in the CollapsiblePanel though, judging by the number of posts on the forum.

The one I'm hitting is definitely real:

http://forums.asp.net/thread/1384934.aspx

# August 31, 2006 9:33 AM

astopford said:

Thanks for the head-up Karl however this kit does the job for my needs and it's a freebie.

# August 31, 2006 12:03 PM

astopford said:

It is worth mentioning that the cssadpters are going to break a lot of properties e.g.

http://forums.asp.net/thread/1285603.aspx

This could prevent you from using them.

# September 1, 2006 12:06 PM

Luke Melia said:

Hi Andrew, I was surprised to hear Scott say this, too. However, a developer I was interviewing recently mentioned that he had tried to download and check out MbUnit after I'd mentioned it, and couldn't figure out how to download it. The relationship between MbUnit and TD.NET is confusing and it's hard to get a clear understanding of where to go to get started with MbUnit by googling it right now.

Thanks for all your work on MbUnit. We use the heck out of it with Rhino Mocks and TD.NET and love it!

Cheers,

Luke

# September 2, 2006 11:53 PM

aditya said:

I think instead of using TestApp.GetTitleData.result it should be TestApp.GetTitleData.lastResult

# September 6, 2006 9:42 PM

ScottGu said:

I should have also mentioned that this CSS Adapter Toolkit update fixes reported bugs/issues people had with older adapters -- so hopefully any issue you found was fixed.  If not, send me mail and I can help hook you up with someone to investigate.

Thanks,

Scott

# September 9, 2006 12:38 PM

bonder said:

The best OR/Ms let you use sprocs where you want to and entities and collections everywhere else.

I've used LLBLGen Pro generate a DAL included storngly-typed stored procedure calls that enabled my team to start out by calling all of our legacy procs, and then deciding where to refactor to entities and collections.  That was years ago, and today that project still have some procs, but they just turned out to be not productive use of anyone's time to refactor (and in one case, would not have been performant to do so).

I'm now looking at SubSonic which does everything through ASP.Net 2.0 build providers to produce the OR/M objects at build and run.  This cuts down generated DAL code to ZERO (although there is a utility to generate the classes for you since you can't use build providers in medium trust by default).

# September 9, 2006 4:18 PM

Vikram said:

Try the new beat version

# September 9, 2006 10:54 PM

Joe said:

I ran into this bug a few days ago. I ended up using the javascript method from this message: http://groups.google.com/group/microsoft.public.dotnet.framework.aspnet/msg/f2234ba565b8effa?dmode=source&output=gplain as a workaround.

# September 12, 2006 12:57 PM

mike said:

I recently used the fix you mentioned. What I'm having trouble grasping now is how to determine which radiobutton was selected. There is no "CommandName" to set on radiobutton so you cant use itemcommand of the datalist or repeater right?

# September 12, 2006 1:31 PM

William said:

Simply loop through the controls as in the javascript function and instead of setting each radiobuttons checked state, see if it is checked or not. If you hit a control with a checked state, that is the selected control.

i.e.:

if (re.test(elm.name))

{

if (elm.checked)

{

// elm is the selected radiobutton.

}

}

# September 12, 2006 4:11 PM

Hugo Zapata said:

it's been a long time..

However i have implemented what i consider a very flexible workflow Engine,its 100% in C#, it uses most of the artifacts defined by the YAWL languaje, so it can handle very complex scenarios. I still havent implemented some of the funcionality like Cancel Sets, and other things, but most of the control flow is done (Parallel, Sequence, AND, OR, XOR splits and joins), also there is support for Atomic and composed Tasks (Sub process). There is some work to do, but its a very decent start. i think its not ready to be open source,but if there is someone interested in the project feel free to contact me ( hugozap @ gmail ).

good luck

Hugo

# September 12, 2006 10:11 PM

AndrewSeven said:

Would it not be simpler to use an html control with runat=server in some sort of repeater (or build a control that does this) and take control of the html output rather than fiddle with the html's state on the client side?

# September 13, 2006 9:12 AM

mike said:

I'm talking about is determining which repeater item is selected on the server side. Client side doesnt really help me unless I can do some sort of callback in the method...

Possibilities for server side...

Loop through the controls in the repeater and look for a selected radio button. Determine the repeater item from there?

# September 13, 2006 10:30 AM

Partha said:

Hi,

I was trying the above example, but didn't succeeded. The webservice which I have created in VB.Net is working fine(individually). But when I post any value from the flex application, it is getting submitted but returning nothing. No error message displayed. Can I have further help on this?

# September 18, 2006 9:00 AM

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# September 19, 2006 12:39 PM

Sam Gentile said:

Too busy to comment. Here is what I'm reading... SOA/WCF/BPM/Workflow My good friend Tomas has a sample

# September 19, 2006 1:17 PM

Andrew Stopford's Weblog said:

Scott has previously mentioned MbUnit in a pod cast, that lead to this post, as such he did say and he

# September 21, 2006 8:11 AM

Scott said:

Now that MBUnit is getting a lot of attention, it might be time to give the documentation a little more attention. It's a little sparse and assumes a little too much prior knowledge about unit testing.

Since I can't go to a bookstore and pick up a book on MBUnit, yet, I feel the online documentation really needs to step up.

# September 21, 2006 11:42 AM

Plip said:

I wanted stick fighting, how dissapointing.

# September 21, 2006 11:47 AM

Scott Hanselman said:

:)

It's HanSELman, not Hansleman.

# September 21, 2006 12:20 PM

Dave Bost said:

Last night we had a reception at Trader Vics in Bellevue. To say the drinks at Trade Vics are strong,...

# September 22, 2006 4:17 PM

Andrew Stopford's Weblog said:

Mentioned the dinner before but Dave Bosthas a some more details and a picture of me and Scott :)

# September 22, 2006 4:51 PM

Albert Pascual said:

Where was that? San Jose?

# September 23, 2006 11:49 AM

fabian said:

Hi.. I have de same sample and not work, I recive the error:

HTTP Response Error

Error #2032: Error de secuencia

Some Idea ?

thx, great article

# September 23, 2006 2:27 PM

ISerializable - Roy Osherove's Blog said:

MbUnit is gaining some momentum as one of the nicest unit testing frameworks for .NET out there. I just

# September 23, 2006 8:51 PM

Mikki said:

new site <a href=http://japan-restaurant.blogspot.com/>chilis restaurant</a>

# September 24, 2006 3:31 PM

ISerializable - Roy Osherove's Blog said:

After I posted that I still recommend NUnit over MbUnit, and reading Andrew's response regarding how

# September 25, 2006 6:36 AM

Haacked said:

Andrew, doesn't MbUnit run NUnit fixtures without recompile?

At the very least, there's non much you have to change to convert an NUnit test to an MbUnit test. Just change some using statements, right?

# September 25, 2006 1:22 PM

jokiz said:

> a few things are different but on a whole you have the same asserts and fixtures

i'm kind of new to MbUnit and i love it.  i would love to hear about these different things sir, thanks!

# September 26, 2006 7:18 AM

vikram said:

Have hear that the beta SP1 is very slow to install. What about. Was it fast enough

# September 27, 2006 1:35 AM

westernclothingusa said:

Just stopping by to say hi ;) this site rocks!

[url=http://www.western-clothing.us]western clothing[/url]

# September 28, 2006 4:46 AM

Gilbert said:

I have the same exact issue as the above.

# September 28, 2006 5:38 PM

airline ticket said:

<a href="http://-airlineticket.blogspot.com">airline ticket</a> [url=http://-airlineticket.blogspot.com]airline ticket[/url] http://-airlineticket.blogspot.com

# September 30, 2006 3:22 PM

David Taylor said:

I have also run into a few issues where I though generics would be a solution, but ended up running into this same problem.

I would love it is this became possible.

However does it cause any problems when using value types as in:

List<object> list = new List<int>();

I would need to think through the ramifications, given the way the CLR implements generics.

# October 3, 2006 12:16 PM

.net DEvHammer said:

I want to thank everyone who came out for our first FAQ Friday devBrainPick event last week. I especially

# October 3, 2006 12:46 PM

FransBouma said:

IMHO this is called co-variance. Contravariance is the opposite:

http://blogs.msdn.com/rmbyers/archive/2005/02/16/375079.aspx

# October 3, 2006 2:18 PM

astopford said:

Frans, from reading that post types in generics in C# as it stands right now can be considerd invariant. Contravariance seems to be stricter on how types relate, to qoute:

it means that the subtype relationship of the generic type varies inversely with the relationship of the type parameter.  Or formally, G<T> is a subtype of G<U> if and only if U is a subtype of T.

Arrays in C# are already contravariant, to qoute.

For example, since you can convert a string to an object, shouldn’t you also be able to convert a List<string> to a List<object>?  After all, you can convert a string[] to an object[], why should List<T> be any different?

More formally, in C# v2.0 if T is a subtype of U, then T[] is a subtype of U[], but G<T> is not a subtype of G<U> (where G is any generic type).  In type-theory terminology, we describe this behavior by saying that C# array types are “covariant” and generic types are “invariant”.

# October 4, 2006 4:23 AM

Eric said:

Yes it is very slow to install (at least it was for me). Dunno what's up with that, but in my case it did succeed.

# October 4, 2006 8:02 AM

diet pills said:

<a href="http://-diet-pills-.blogspot.com">diet pills</a> [url=http://-diet-pills-.blogspot.com]diet pills[/url] http://-diet-pills-.blogspot.com

# October 6, 2006 7:38 PM

ativan said:

<a href="http://-ativan-.blogspot.com">ativan</a> [url=http://-ativan-.blogspot.com]ativan[/url] http://-ativan-.blogspot.com

# October 7, 2006 10:16 AM

Robin said:

new site <a href=http://gunsafe.blogspot.com/>gun safe</a>

# October 8, 2006 9:47 PM

andrex said:

Try Nemerle: http://nemerle.org/

Contains all best of many languages. Based on C#. Support functional and imperative styles. Features like: functional values, lambda expressions, variants, pattern matching, powerful macros (not с++ macros!) and more...

Now some peoples hard work on VS2005 integration for this language.

# October 9, 2006 9:25 PM

Sajid said:

Hi ...

I want to do same thing in flex 2.0 ??

# October 11, 2006 5:14 AM

Sascha said:

# October 11, 2006 7:25 PM

Bob said:

Hei! Visit my new site <a href=http://peritonealmesotheliom.blogspot.com/>peritoneal mesothelioma</a>

# October 11, 2006 7:59 PM

Stefan said:

Hei! Visit my new site <a href=http://medical-malpractice-overview.blogspot.com/>medical malpractice overview</a>

# October 12, 2006 7:20 PM

Bhavana said:

Hi,

I am using Ajax for the first time to create my Web Application. But what I observe is, even on mouse over for any Ajax-enabled control, the entire page starts blinking. Probably, there is an Ajax Call back that occurs.

Please Help.

# October 16, 2006 6:23 AM

Sascha said:

Hei! Visit my new site <a href=http://ivr-ivr.blogspot.com/>ivr</a>

# October 16, 2006 7:53 PM

Harry M said:

I've done the above, and have a <mbunit> node in my nant build script which is run by ccnet (and runs the tests) but i was hoping that after doing this the summary resutls would show up on my ccnet dashboard - what else do i need to do? Here is my nant ccnet section

<mbunit

report-types="Text;Html;Dox;Xml"

report-filename-format="mbunitReport"

report-output-directory="AppTests\Results"

>

<assemblies>

       <include name="AppTests\bin\AppTests.dll" />

       </assemblies>

</mbunit>

# October 17, 2006 12:13 PM

Harry M said:

I think i need to merge the XML. I will be back if i'm wrong :)

# October 17, 2006 1:10 PM

Martin Z said:

Imho, the best way to add covariance and contravariance to generics would be to add "Readonly" and "WriteOnly" to the Type arguments.

That is ReadOnlyList<Readonly T> (in which no method in ReadOnlyList can be defined as taking an object of type T as an argument, nor can any return-value, out-parameter, or exception throw a Generic Object that involves type T except as Readonly.

ReadOnly would be the way to make sure you never have the type violation of trying to insert an "Object" into a list of "strings" because we're using List<string> in a variable typed as List<Object>.

WriteOnly is the opposite, and handles the reverse concept of substitution - cases where we want to treat a List<Object> as a List<String> - sine you can insert Strings into a list of OBjects, but you can't read strings _out_ of a list of Objects.

# October 20, 2006 5:34 PM

James Vastbinder said:

Send me a note when MBUnit 2.3 ships and I'll post it on InfoQ.  I'm the new editor at InfoQ for the .NET section.  

cheers,

James

# October 25, 2006 12:20 PM

Marcus Griep said:

It might be due to the way that .NET handles strings, too, though.  Under normal conditions, I believe .NET holds onto strings (since they are immutable), and reuses them (GoF Flyweight style) if it is created again.  The == operator compares the references (unless it's overloaded), so it might be that DLinq somehow messes with that default behavior causing the references to be dissimilar.

# October 26, 2006 12:45 AM

Ron Buckton said:

You should take a look at Deblector:

http://www.felicepollano.com/archive/2006/05/12/93.aspx

It combines Reflector with the managed debugging API and lets you step through the IL and quickly switch between the IL debugger and the language views.

I'd love to see a tool like deblector get more polish and end up an add-in for VS2005, but that's just wishful thinking right now.

# October 26, 2006 8:32 AM

Mike said:

I agree on the Rotor stuff - I used to single step that source when it first came out but I've not revisited it lately (time mostly) but it's a really great learning tool when combined with Stutz's book.

Thanks for the deblector link - going off to look at it now.

# October 26, 2006 9:25 AM

Luke said:

When comparing strings, the CLR first checks for reference equality, then for exactly one instancing being null, then for the same length, then for the same characters using the appropriate StringComparison enumerated value.  Andrew, perhaps you could dig into the disassembly and look at the raw data?

# October 26, 2006 1:37 PM

Rob said:

Hope you bought him a cake.... :)

# October 31, 2006 4:15 AM

chad said:

Mine was working - no new changes... and then it crapped out! No idea what the deal is!

# October 31, 2006 3:22 PM

Elsa said:

Which forums do you recommend?

# November 1, 2006 8:59 AM

Rob said: