June 2004 - Posts

Dru!
30 June 04 05:32 PM
Dru sent me a mail via this blog containing only this text: Does it generate x86 or CLR only? I can't be sure that this isn't a troll, so I'm posting this blog. Dru, what's up? What are you talking about? Read More...
Postedby jaybaz_MS | 1 Comments    
Filed under:
PDB always
29 June 04 11:51 AM
In my last post , I wrote: “ Debugging information (pdb). Set with ‘csc /debug[+|-]’. It doesn’t affect codegen, so it’s really not very interesting.” In my opinion, this should always be on, and compilers shouldn’t Read More...
Postedby jaybaz_MS | 8 Comments    
Soma on Express
29 June 04 09:34 AM
Somasegar, my boss's boss's boss's boss, talks about Express . Read More...
Postedby jaybaz_MS | 0 Comments    
Announcing MSDN Product Feedback Center
29 June 04 09:33 AM
I wish they had picked a name that was easier to say with a mouthfull of breakfast. Maybe we'll call it “Da PFC”. See Dan's blog , again. Now you have a chance to reach in to our internal bug database. Enter a bug, vote on what you want to Read More...
Postedby jaybaz_MS | 2 Comments    
Filed under:
Announcing C# Express
29 June 04 09:28 AM
See Dan's blog . We've just announced the C# Express SKU. It's like a lightweight Visual Studio. It downloads quickly, and doesn't take a lot of disk space. I hope this expands the base of C# developers, and will increase the quantity of feedback we get Read More...
Postedby jaybaz_MS | 2 Comments    
Filed under:
debug vs. release in C#
28 June 04 09:19 PM
A question came up on an internal DL about checking if an assembly was debug or release. I’m always looking for something to spout about, and this seemed like a good one. There are 3 things people typically identify as the difference between debug Read More...
Postedby jaybaz_MS | 2 Comments    
Filed under:
Looking for small programming problems
28 June 04 04:34 PM
Suppose I have some new crazy idea about development. I'd like to try it out on a problem big enough to be interesting, but small enough to be doable in a short time. Got any favorite small programming problems? Read More...
Postedby jaybaz_MS | 4 Comments    
Books
28 June 04 04:31 PM
Object Thinking I think I'm giving up on Object Thinking. I enjoyed it for a while, and it has had an important impact on my thinking: The four fundamental assumptions in Object Culture. ( e.g. : “Everything is an object”) When designing a Read More...
Postedby jaybaz_MS | 9 Comments    
Another attempt at Functions as objects.
25 June 04 09:14 AM
One of the challenges in the Method class is that C# doesn’t let me apply generics as signatures all over the place. I would have liked to make the delegate type a type parameter, and somehow specify that Method.Invoke matched the signature of the Read More...
Postedby jaybaz_MS | 1 Comments    
In training
24 June 04 01:48 PM
I'm in training for all of the afternoon. I'm in an auditorium in the fabulous Microsoft Conference Center. Nice digs. The rows of seats are separated by rows of small desks, which include a small loudspeaker every 10 feet. As a result, I can understand Read More...
Postedby jaybaz_MS | 5 Comments    
Thinking about objects; thinking about C# editing
23 June 04 07:10 PM
I’ve read the first 7 chapters of Object Thinking. I’ve still got a lot of questions, but I’m liking it so far. Today I talked with Renaud about some of the ideas & the problems we work on. The first step, says West, is to understand Read More...
Postedby jaybaz_MS | 3 Comments    
What are my goals?
23 June 04 02:45 PM
Today one of my tasks is to state my goals for the coming year. I did something unusual today. I showed my goal list to the people who work for me, and asked them for feedback. This is an opportunity for them to say what we should be working on as a team, Read More...
Postedby jaybaz_MS | 10 Comments    
Filed under:
I great day to blog.
23 June 04 02:13 PM
So far, I've had a heated discussion of the value of TDD, an enjoyable lunch, chatted with my team, and had a meeting with some other managers about our execution of Whidbey plans. I'm now writing this blog. What I haven't done is started my review, which Read More...
Postedby jaybaz_MS | 2 Comments    
Filed under:
New hair, step 1
22 June 04 05:17 PM
I did it. I cut my hair. It's long enough to rest on my shoulders, but that's about it. I also shaved the back & sides of my head, just above the tops of my ears. If I had the time, I would keep it in a french braid. But that's just too hard to keep Read More...
Postedby jaybaz_MS | 2 Comments    
Filed under:
Safer on a bike
22 June 04 04:56 PM
On Eric's Blog, a debate is raging on the topic of safety on a motorcycle. It's an old debate, and we're not about to end it here. I have some thoughts from my experience, and they're too verbose to stuff into a comment on his blog, so I'm writing them Read More...
Postedby jaybaz_MS | 9 Comments    
Filed under:
The clothes make the man
21 June 04 11:47 PM
It's too hot in my house. The ventilation is pretty bad, so it just stays hot late into the evening. (In the winter it's drafy. Go figure.) My kiddo is wearing some water sandles. It's the perfect outfit for the situation. Fashionable. Not too warm. My Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under:
HTPC & ME
21 June 04 11:32 PM
Discussions about Windows XP Media Center Edition are always a little odd for me. They center around TV PVR scenarios. I don’t watch TV. I don’t have cable or satellite or an antenna or anything. I don’t want it. The primary reason for Read More...
Postedby jaybaz_MS | 1 Comments    
Filed under:
Half-Life 2
21 June 04 05:16 PM
I have to admit, I'm looking forward to Half-Life 2 . My wife was a tester on the Half-Life: Day One. She had to play through with only a crowbar, because they hadn't finished coding up the firearms or first-aid stations. Even when they added the pistol, Read More...
Postedby jaybaz_MS | 5 Comments    
Filed under:
RANU: smarter CPL and MSC
21 June 04 01:43 PM
I wish that .CPLs and .MSCs were smarter about normal users. I want to be a normal user, open a Control Panel applet , and have it prompt me for credentials if needed. Same thing for the administrative tools. Here's what I do instead. I create a set of Read More...
Postedby jaybaz_MS | 7 Comments    
RANU: Give me another TS session
21 June 04 01:32 PM
If you want to user Windows Terminal Services, Microsoft says you need a server OS . Seems like overkill. I don't need my Windows XP-based email machine to support 500 concurrent users. I shouldn't need a licensing server & a $1500 OS. Here's what Read More...
Postedby jaybaz_MS | 1 Comments    
RANT: Run as Normal User
21 June 04 11:48 AM
AKA “Run as non-admin”. We call it “RANU” around here, or sometimes “why would you do that?” I have a Linux background . There it seemed obvious to run as 'jbazuzi' sometimes and 'root' other times. But making it work Read More...
Postedby jaybaz_MS | 8 Comments    
No castes!
21 June 04 10:42 AM
Actually I mean “no casts”. Cyrus says : I hate casts. They usually indicate to me that something is being wrong. However, in this case I need them because the language won't allow me to express this completely safe concept. Me too. Which Read More...
Postedby jaybaz_MS | 8 Comments    
Interface implementation & casts.
18 June 04 04:07 PM
Interface implementation & casts. I’ve previously blogged about this unusual habit when implementing an interface: Use explicit interface implementation . interface I { void F(); } class C : I { void I .F() { //... } } I prefer my code to say Read More...
Postedby jaybaz_MS | 9 Comments    
The C/C++ casting codundrum.
18 June 04 02:20 PM
In C, casting is simple. “See that thing on the right? It’s really a thing on the left.” The compiler was perfectly willing to consider any set of bits as whatever you like. With no inheritance & no casting operators, types generally Read More...
Postedby jaybaz_MS | 10 Comments    
Safely firing an event, Part 2
17 June 04 02:27 PM
A while back I wrote about Safely firing an event . I come to you now with another solution to the problem, which I like quite a bit more. In Properties with events: another attempt , we tried initializing an event with an empty anonymous method. It works, Read More...
Postedby jaybaz_MS | 12 Comments    
Properties with events: another attempt
16 June 04 05:05 PM
See also: Properties as objects The goal here is to have a class with a property that implements the Observer pattern , based on a statement in Object Thinking that all classes should support this. (I’m not sure I agree, but I’m exploring Read More...
Postedby jaybaz_MS | 13 Comments    
Wheel Transitions
15 June 04 09:50 AM
3 bikes that aren’t in usable condition. With a toddler. Wife & kid use the car, and I take the bus. I sometimes dream of fixing up the bikes & cruising around on them. But I don’t have the time, and I can’t include my kid (yet). Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under:
A use for old motorcycle helmets?
14 June 04 05:21 PM
Motorcycle helmets are pretty expensive, but they're cheaper than a new brain. So, I've always used good helmets in good condition. After crashing I have helmets that may not be safe to use. So I sent them to Shoei to have them X-Rayed. They use the latest Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under:
Methods as objects, again
14 June 04 05:10 PM
Suppose we continue along the same lines , but with methods . I want to make a class that represents a method. There are several problems I ran in to: You can’t constrain a type parameter to System.Delegate. It’s just not allowed. I can’t Read More...
Postedby jaybaz_MS | 4 Comments    
using (start/end)
14 June 04 05:04 PM
I'm trying to build something similar to the TimedLock class , but for start & end events. I want to be able to use it like this: using ( this .StartEndEvent.Open( this )) { // ... do something } Which would mean: this .StartEndEvent.OnStart( this Read More...
Postedby jaybaz_MS | 9 Comments    
Properties as objects
14 June 04 02:42 PM
I was thinking about two items from Object Thinking : Everything is an object . Every object should provide events for when its attributes change. There's the idea that objects can collaborate without top-down control, if they provide & register events Read More...
Postedby jaybaz_MS | 18 Comments    
The most extreme thing that could possibly work
13 June 04 09:39 PM
I've recently gotten used to the idea that extreme ideas are an important part of learning . It seems that when trying to understand an idea, it helps to consider the idea in its most extreme form. For example, consider the idea of coding in C# with Short Read More...
Postedby jaybaz_MS | 22 Comments    
On Learning
13 June 04 07:34 PM
When I was a kid, I liked learning, but didn't recognize it because I was going to school. Somehow schools seem to distract you from any possibility of learning, supplying instead discipline and memorization. Computers saved me. In my teens I explored Read More...
Postedby jaybaz_MS | 5 Comments    
Filed under:
More Knots
12 June 04 09:24 PM
Today I took another knot-tying class at CWB , entitled “ Boarding Mats ”. I was looking forward to it, but it the experience still exceeded my expectations. It turns out there were two rope classes going on. The Dennis teaching boarding mats Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under: ,
Knots
11 June 04 08:47 PM
To get my sailing fix while on land, I’ve been learning to tie knots. Somehow I never got into it before. I could tie an overhand knot, but didn’t know the name. I could tie it on a bight if I needed a loop, but didn’t know what a bight Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under: ,
No private methods
11 June 04 05:54 PM
I’m heading off into the deep end here. If you want to come with me, make sure you’re wearing your SCUBA gear. One of the first questions that come up in TDD with NUnit is “ How do I test private methods?” Usually the answer looks Read More...
Postedby jaybaz_MS | 22 Comments    
Other language features as objects
11 June 04 04:42 PM
So, continuing on the thread of Everything is an object , let’s look at other items in the C# language that you might want as an object. References . See our previous work on IReference & friends for an example of how this can be powerful. Expressions Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under:
We love you too, Matt
11 June 04 02:05 PM
http://weblogs.asp.net/mattwar/archive/2004/06/11/153839.aspx Don't forget to send us your feedback & bug reports! Read More...
Postedby jaybaz_MS | 0 Comments    
Filed under:
Unexpected Error
11 June 04 10:43 AM
How many times have you seen this error? Or "The operation could not be completed." Or "Catastrophic Error" "Unexpected Error" is the message for E_FAIL. It comes out of code like this: HRESULT F() { // oops, I messed up my resources & this string Read More...
Postedby jaybaz_MS | 1 Comments    
Triumph!
11 June 04 08:50 AM
After a few years of working at Microsoft, I finally decided to spend some real money. I bought a 2000 Triumph Sprint ST , with heated grips and hard bags. A beautiful bike, great handling, plenty of storage. I sent the zip-in liner of my jacket to Gerbing Read More...
Postedby jaybaz_MS | 9 Comments    
Filed under:
An example of mutable-struct-pain
10 June 04 02:41 PM
Sean asks How does a mutable struct get me into trouble in my C# code? I guess that's a fair question, so I went look for some examples. Here's one that a co-worker (Renaud) shared: Actual example that bit me. This used to be a struct (because I thought Read More...
Postedby jaybaz_MS | 4 Comments    
Design a Refactoring Extensibility API
10 June 04 02:03 PM
This is an experiment. I'm going to give a rough outline of a feature that is the C# IDE Wish List. You get to talk about how you'd like to see it work. If it's really successful, I'll transfer the rest of my responsibilities to the blog-reading community, Read More...
Postedby jaybaz_MS | 4 Comments    
Filed under:
Thoughts on Immutable Types
10 June 04 09:39 AM
If you use a C# struct , it should be immutable. Mutable structs cause all kinds of nasty problems; don’t do it . If I had to design the C# language over, I’d say that mutable structs would have to be marked with the ‘mutable’ Read More...
Postedby jaybaz_MS | 23 Comments    
Pavlov
10 June 04 09:14 AM
I eventually upgraded to a 1982 Kawasaki KZ1000P Police Special (overpriced at $1200). These things are so cool to ride. Cars move out of your way as you approach, so I named it “Pavlov”. It has excellent low-speed handling, hard bags, crash Read More...
Postedby jaybaz_MS | 0 Comments    
Filed under:
I need a new look
08 June 04 06:55 PM
This is how I looked in 1999 . My hair had a few more inches on that at its longest. When I shaved the back of my head, I sent a 21“ braid to Locks of Love . I also sent two braids from the main part of my head. This past December I sent the septum Read More...
Postedby jaybaz_MS | 13 Comments    
Filed under:
2-4-6-8 Motorcycles are really great
08 June 04 02:29 PM
I liked being on two wheels, but wanted to be lazy. As a Microsoft Intern , I took MSF’s RiderCourse . It’s great if you’re curious about motorcycling & want to learn to ride. It’s also great if you’re already riding, Read More...
Postedby jaybaz_MS | 11 Comments    
Filed under:
functions as objects
07 June 04 10:00 PM
More from Object Thinking , on the everything is an object thread. In an object thinker’s programming language, the elements of the language can also be objects. So, a method on a class should be objects. Given a class ‘C’ and a method Read More...
Postedby jaybaz_MS | 12 Comments    
Test-Driven Debugging
07 June 04 09:52 PM
So, you're doing TDD. You're pretty happy with the results. You have confidence. You're refactoring. You're having fun. Then someone finds a bug. In your code. Your ego deflates, you collapse in depression. Maybe this TDD thing isn't going to work. Better Read More...
Postedby jaybaz_MS | 2 Comments    
Test-Driven Development & Code Coverage
07 June 04 09:41 PM
On an internal email discussion, someone asked for some help applying Code Coverage tools to evaluate their Unit Tests. So, I blog: Is it really important to you to get Code Coverage on your TDD’d code? From http://c2.com/cgi/wiki?UnitTest : Are Read More...
Postedby jaybaz_MS | 3 Comments    
2 wheels good, 4 wheels easy
07 June 04 02:12 PM
3 days before our wedding we bought a then-new 1996 Saturn SL2 . It has served us very well, including protecting my wife very well in an accident. It took 7 years for things to start breaking. The family is growing, and now we might replace it. I want Read More...
Postedby jaybaz_MS | 11 Comments    
Filed under:
Your expectations of Refactoring.
04 June 04 07:00 PM
Your expectations of Refactoring. Cyrus posts about what you expect from Refactoring. The particular issue he’s dealing with is Extract Method when the result will pass a generic argument to a method. He offers these three choices: Don’t add Read More...
Postedby jaybaz_MS | 0 Comments    
everything is an object
04 June 04 02:21 PM
I’m really enjoying reading Object Thinking . I’m only reading about a page a day, but it’s all good. I’m currently in Chapter 3, reading the section titled “Four Presuppositions”: To those already part of the object Read More...
Postedby jaybaz_MS | 6 Comments    
Jay on wheels
04 June 04 02:09 PM
I used to be an avid bicycle commuter. That is, I rode my bike to high school every day, refused to get a driver’s license, and told everyone that cars are evil. I worked in a bicycle shop for a couple years. It was a miserable business. I learned Read More...
Postedby jaybaz_MS | 3 Comments    
Filed under:
What is TDD?
02 June 04 10:41 AM
It took me a while to figure this stuff out. Maybe most people already know this, in which case I’m the last one to the party. Unit Testing is not the only way to do Test-Driven Development . All you need is 1) don't write any code without a failing Read More...
Postedby jaybaz_MS | 9 Comments    

This Blog

Syndication

Page view tracker