Welcome to MSDN Blogs Sign in | Join | Help

May 2004 - Posts

Ok, for the past two weeks I've come back to my computer only to notice that HelpSvc.exe is taking up 100% of one CPU and System is taking up about 60% of another. I'm not the only one who had this happen to him. Kevin has the same problem but he got Read More...
Or, in this case, the lack thereof. It sucks when you've coded everything out in your mind and you're stuck waiting for your tools to catch up to you. My mind starts getting antsy and the amount of time it takes to do something simple balloons out endlessly. Read More...
I seem to be in some sort of state where if I ever touch this one file I trigger a complete rebuild of all our source. I'm in the middle of taking some of our core types and doing the dual job of making them Immutable objects Good const citizens I'm trying Read More...
Charles Miller wrote one of the funniest analogies I've ever seen comparing Apple/MS/Linux. I couldn't have said it any better. Read More...
I'm not sure if this is an issue for everybody, but battery life is a serious issue with me and my laptop. This is compounded by the facts that: The PowerBook's battery life isn't that great. About 3 hours max if i turn my screen brightness is at the Read More...
Turns out there's another way that VB tends to make Office development nicer. And that's because office uses late binding in a few places (dialogs were mentioned as one of those places). So in VB you could type something like: Dim dialog as OfficeDialog Read More...
I'm at a Tech-Ed cabana session entitled "VB.Net vs. C# for Office development with Visual Studio .NET". It's going over a few reasons why it's nicer to use VB for developing for office. The first version that is mentioned is that many methods in office Read More...
I'm watching the current Tech-Ed session on the new additions to the debugger to help simplify understanding what's going on when debugging complicated applications/structures. Everything was going great, and then BOOM VS fell flat on it's face. Not a Read More...
Chris asks : Simple productivity question. Why doesn't C# intellisense expand enum values like VB.NET? I'm primarily a C# programmer, but I use VB.NET for some functions, and it's one thing I really miss. --- Chris, Visual C# 2005 now includes a similar Read More...
I noticed a question on the C# faq by David who asks: --- Is it possible when you type {, (, [, etc. to have the IDE automatically insert the corresponding }, ), ] etc.? Does this exist in VS.NET 2003? Am I just blind? Would it be possible to have intellisense Read More...
Someone took my pic at tech-ed and put it up for all the world to see. That's really not what I look like. I actually look like this: Read More...
The C# team has a FAQ where you can ask questions and have the answers posted for all to read in the future. I bring it up because someone asked on an internal list the question (in a nutshell) "Why can't you have generic properties?" I believe that these Read More...
Rick, a member on on the C# team responded in the feedback section of another post. It was interesting enough that I thought i'd bring it up as a post. He wrote: --- Hi all, I'm a usability engineer that's been working on Visual Studio for the six years, Read More...
Look at these stats: On Tuesday mine was the only PowerBook that I could see here On Wednesday I saw another Today I saw two more That's exponential growth right there. I also think with the people leaving Tech-Ed the number of Windows machnies has been Read More...
Last post indicated a gotcha that can occur when reordering parameters in a signature. Here's one that can come up with Extract Method. Like the last example this one occurred during actual coding and it would have been prevented had I had these refactoring Read More...
One of the refactorings we're including in C# 2.0 is "reorder parameters." Strangely enough, it doesn't do what you think it might do. Wait... nevermind. It does exactly what you think it might do, it allows you to reorder the parameters in a signature. Read More...
That's basically the message we got today concerning the work we're doing in the C# IDE for VS 2005. I ended up not being able to show people the new stuff on a person by person basis because we ended up getting too much of a backlog of people while that Read More...
Scott brought up an interesting idea for how completion lists could work: He says: "ArrayList someList = new I would expect "ArrayList" to pop-up in a list, already highlighted, and any other known sub/supertypes of ArrayList to be close to the highlighted Read More...
11,000 people sharing a 56k connection. 5,500 laptops, but only 2 power plugs. Read More...
I had an attendee come up to me today asking if they could talk to someone from VS-Core. 'Core' is the name that we use for the team that is responsible for the VS infrastructure that is shared amongst all languages. An example of this would be the editor. Read More...
I was dissapointed with a choice made yesterday at the SteveB keynote. We got to the room at about 8:45 (15 minutes before it started). However, we were turned away. Speakers/Staff/Attendees all have different badges and any non-attendees were told they Read More...
My last post was actually going to be what this post is, but then i ended up getting distracted and figured that it made more sense as two posts. (This seems to be a fairly common issue when i write posts). As I've already mentioned, I'm incredibly excited Read More...
There's a fairly common industry term that gets used at MS a lot. It's called Eat your own dog food (or dog fooding for short). I've heard that the term arose when a dog food producer was trying to convince stores to sell its product. Iin order to so Read More...
Disclaimer: OMG it's early. (and i don't have a spell checker) I'm going to start the today by going to the keynote. It's supposedly going to have a very long demonstration of the new Team System environment with demos that I'd really like to see. After Read More...
It's interesting how sheltered one can become working in a small team that owns one part of an incredibly large system. You tend to see everything you are doing as the most important thing for your customers and everything else is some nice fluff that Read More...
Dear god it's early! This is a bit of a change from my normal routine of waking up in the afternoon and working until the wee early morning hours. Going to go to the Keynot and then try to spread some Whidbey love amongst the developers out there (37% Read More...
Watched The Ring tonight with Luke to help pass the time before I get on my flight (at 6:30 am) to San Diego. He went back to his apt and now I'm completely freaking out. I've turned on all the lights and I'm going to start watching the PowerPuffs movie Read More...
I'm going with the C# team to Tech-Ed 2004 in San Diego. I'll be in the Vistual Studio.Net and Visual Studio 2005 booths and hopefully getting enough time to check out many of the breakout sessions. You'll know if I'm there because I'll be the one in Read More...
Jay posted some of the code we wrote on the lazy loader and weak references. An astute reader pointed out that there was a flaw in my implementation. Specifically I was messing up how I interacted with “null” and “None<A>.Instance”. Read More...
Theo and I were talking about places where you might use lazy loading and the singleton pattern. We were thinking about WeakReferences and how they were valuable but didn't allow you enough control over when the reference might be released. An example Read More...
Theo posted a short article on singletons and difference ways to achieve them in C#. It's a good preface and shows why encapsulatin ghtat logic in something like a lazy loader can be beneficial so you dont' end writing the same boiler plate code repeatedly. Read More...
Go crazy? Don't mind if I do! BLEAGHLEIGW)(#@QDLKJW*@( &$@$ @(*&# I have so rarely ever dealt with something so clearly designed to make you as unproductive as possible. Ughhhhhhhhhhhhh. Ok, back to fighting with ref counting and other fun memory Read More...
I was wondering today if ICollection should declare an Equals method on it and state what the semantics of it would be. This came around because I currently have 3 implementations of ICollection: ArrayCollection (an ICollection backed by an array) EmptyCollection Read More...
I've updated ICollection<A> in the following manner: public interface ICollection <A> : IEnumerable <A> { /// Previous stuff /// <summary> /// Iterates over the members in this collection applying 'p' to each element. /// The return Read More...
I just got back from dinner with another friend ( The-oy ) who schooled me on the OO mistakes I made in the lazy loader . The problem stemmed from the fact that I was trying to conver the following functional type into an OO one. # type 'a optional = Read More...
Prelude: Here's what my current array based implementation of ICollection looks like. It builds upon a lot of suggestions as to the tradeoffs of perf vs. memory and uses delegates to place control in the person who creates the collection for how certain Read More...
Sorry for the poor quality (formatting wise) of the post last night. I was enjoying writing it but then Aqua Team Hunger Force came on on Adult Swim and totally sucked me in. I didn't even both to see what it looked like after I hit “post”. Read More...
Didn't get to work on any of the Unit-testing/Collections work today. Instead I worked on redesigning a design pattern (which i have no name for) into something reasonable. It's hard to describe but it involves several objects (lets say 3 for example) Read More...
Kinda frustrated trying to blog from home. Firefox tends to get caught in infinite loops and Safari crashes. Luckily safari has a good system where crashes get sent back to apple. So i am confident that these will get fixed. However, i'm not sure how Read More...
Jay linked to me from his blog and had some nice things to say. Unfortunately, I'm new to this blogging stuff and already I'm running into issues balancing the needs of work versus the desire to communicate and discuss. Note: this is a problem even outside Read More...
Mike, another dev on the C# took issue (aka slapped me around) with the way my current interface is being built. He doesn't approve of an Add method that can possibly fail. He thinks that if the interface declares it then it's something that should be Read More...
Imagine the following bit of code: public void ImFeelingStandardToday( int i, int j, int k) { } public void ImFeelingWhimsicalToday ( int i, int j, int l, int k ) { } The first is the method as formatted by the standard rules we have in the formatting Read More...
One of the issues with our formatting engine is that it isn't really extensible. This is because we've done the following: We've gone through and marked all the places where you have a formatting choice and we've defined a (unmodifiable) set of options Read More...
Anson and i were discussing formatting last night (at around 1 am). He'd received some feedback from some customers about the new formatting engine Kevin has written for Whidbey. The issue that the feature (like many others added in whidbey) tends to Read More...
Ended up with the following for my ICollection interface: namespace Testing.Collections { public interface ICollection <A> { /// <summary> /// Attempts to add an element into this collection /// </summary> /// <param name= "element" Read More...
Anson and I chatted last night about the very interesting work done my MS research to advance langauge theory and incorporate recent innovations into our process of designing software. These include the ASML project and Polyphonic C# (most likely iwth Read More...
Gunnar posted a very interesting problem . I gave it two mental stabs before running into walls. So I'm going to break out a good pad of paper and see if I can get it. Read More...
In the last post i dicussed the issue of interface invariants. I'm currently enforcing interface invariants by writing them up in code and then running the concrete implementations of that interface against those tests. However, that seems somewhat clunky. Read More...
I was thinking about the clear method on my ICollection interface. i.e: /// <summary> /// Removes all the elements contained in this collection. /// </summary> void Clear(); Now, it's interesting that that method takes no arguments and returns Read More...
Just added the following delgate: delegate bool Authenticator <A>(A a1, A a2); It's purpose is to take two obejcts of type A and return if they are equal or not. Of course, this is equivalent to: Function <A, Function <A, bool >> However, Read More...
Ran into an interesting problem while trying to implement the latest function on my ICollection interface: /// <summary> /// /// </summary> /// <param name= "element" ></param> /// <returns></returns> bool Contains(A Read More...
Turns out there was an even simpler way to write a concrete implementation of ICollection: namespace Testing.Collections { public class EmptyCollection <A> : ICollection <A> { public EmptyCollection () { } #region ICollection<A> Members Read More...
I've already made the design decision that my collections will not be inherently threadsafe. If you want to use them you will need to provide your own locking mechanism to ensure that multiple threads don't cause a problem. However, i do believe that Read More...
I realized with my last bit of coding/post that i was following one of the rules that jay had told me about: “Once you've written the tests, provide the simplest implementation that makes them pass”. However, when writing a library it's a Read More...
I wrote in a pervious post about my inability to use NUnit, and my want to avoid my own unit testing engine. I felt caught between a rock and a hard place. I want to test, but i don't have to the testing tools available. I mentioned that i would need Read More...
Wrote my first concrete implementation of my ArrayCollection class: namespace Testing.Collections { using System; public class ArrayCollection <A> : ICollection <A> { private A[] array; private int count; public ArrayCollection () { array Read More...
Anson and i had a pretty interesting argument about the need to ship working versions of the tools with the platform we're releasing. His take on it was that when a new platform shipped we had to provide tools that worked with it at that moment. i.e. Read More...
I got NUnit to run by telling VS to copy the NUnit.Framework dll locally. However, when i tried starting nunit i got the following exception: --------------------------- Exception Details --------------------------- System.BadImageFormatException: The Read More...
NUnit install seemed to go off without a hitch. But when i try having it open my dll i get the following exception: --------------------------- Exception Details --------------------------- System.IO.FileNotFoundException: File or assembly name nunit.framework, Read More...
Do I want a Count property on my collections? If so, it seems like I'm fundamentally limiting my collections to represent collections of finite elements. What if i want something that represents the set of all rational numbers? ISet <Rational> would Read More...
I haven't decided if i want to my collections totally functional or not. However, it's clear to me that they will have some functional properties to them. For example, people need to be comfortable using folds or maps over these collections as they are Read More...
Another principle that i think I will be following is to design around interfaces. Because I am attempting to write a library, I feel that it's important not to tie people down to classes. If i do this then people are forced to use my implementations Read More...
I've started writing up a collections library in C# and I know from the start that it is going to share some similar features with other collections APIs out there, including functional ones. People who know me know I find the BCL collections a bit lacking. Read More...
The C# IDE team talks a lot about the issues that arise when a team doesn't dogfood it's own product. It's very easy for us to get a false sense of confidence in the quality of the product and not realize problems we have caused until they start affecting Read More...
Tried to get my code to compile but i got this error: cyrusn@Foo ~> /opt/local/bin/gmcs foo.cs Mono C# Compiler 0.91.0.0 for Generics System.NullReferenceException: Object reference not set to an instance of an object in Mono.CSharp.CSharpParser:yyparse Read More...
Installed nano so i could edit my fink.conf file (to add unstable packages). Unfortunately when i run it it segfaults :-( Guess I'm going to be using pico instead. Anyone know if nano doesn't play nicely with Panther? Read More...
Installed the mono beta without a hitch. Had no idea where it ended up in (thank god for OSX HD indexing and searching). Eventually found it in /opt/local/bin (didn't even know that directory existed). Tried to compile some of my code and got: cyrusn@Foo Read More...
Looks like Mono isn't available under Fink (yet). I'm crossing my fingers for Apple to release it in the next version of OSX along with the other great Open Source projects they include like Perl and Python. Read More...
A pretty standard functional data type is the Stream. It behaves similarly to a list (in that it has a head and a tail), however with a stream the 'rest' of the list is lazily generated on demand. This allows one to create a data structure that can represent Read More...
When coding in OCaml (one of my favorite languages) there are a few things available that i find myself missing in C#. These include free structural equality and an automatic printed form. Structural equality For example, given the following definition Read More...
Chris Okasaki has the following example in his book of lazy evaluation: $-notation $ is a constructor for a new datatype called a suspension. In other words: datatype 'a suspension = $ of 'a the constructor $ takes an argument that is an expression to Read More...
I just got Purely Functional Data Structures by Chris Okasaki. I read his Thesis when I was in college and I wanted to check out the expanded print version. There were several nice things about the data structures presented in the book. Besides being Read More...
A couple of week ago I worked with Jay and Kevin on a little mental exercise. It was a lot of fun to do and you can read about it here: LazyLoader After that I found myself responding to several posters about design decisions we made and the usefulness Read More...
 
Page view tracker