Thursday, September 25, 2003

Java as SUV




Via Don
Box's Spoutlet
, I read about Philip Greenspun’s take on how
Java is the SUV of Programming Tools
. I find it interesting for a number of reasons:



1)      I’ve
taught short courses at about 15 universities around the country, including MIT. There
was a huge range of general competence amongst the undergrads I encountered. MIT had
the best students I ran into, although Stanford and one or two others were also excellent.
To hear Philip saying that the MIT students had a hard time with a technology does
not bode well for its general applicability at other schools. You may want to take
that with a grain of salt coming from me, though, because:



2)      I
went to MIT. :)



3)      From
the outside (of Java), Java looks almost exactly like C#/.NET to me – someone
pointing out differences in productivity is a bit surprising.



4)      This
is far from the first time I’ve heard someone describe LISP as an advanced language.
Given that I’ve been doing a bit of Emacs hacking lately, I might have to move
really learning LISP well up on my TODO list.



 



Wednesday, September 24, 2003

Trillian Won't Break, MSN Still Free, and Craig Still Clueless

So. Trillian has been updated - the latest version of Trillian and the patches for version 1.0 fix the issue with MSN. I still think it's an interesting shift in the landscape, but I guess I should research a bit more carefully before posting next time.

MSN IM Still Free, But Trillian May Break

Several readers pointed out to me that the Washington Post article refers to MSN Chat, not MSN IM, a completely separate service. Color me unaware - thanks to those that set me straight. But my memory was correct - there is an unrelated move to block Trillian from the MSN network: http://www.infoworld.com/article/03/08/28/HNmicrosoftim_1.html

MSN IM No Longer Free?

A sharp-eyed friend of mine spotted an article
in the Washington Post (availble
here ). It looks like MSFT will be limiting
use of MSN Instant Messenger. What I can't figure out is how this
affects me - if I have to start paying for it,
I'd rather use AIM or ICQ, which are still free AFAIK. Especially
since I use
Trillian, since that means my UI won't change at
all. But if all
the people I want to talk to are going to be on MSN IM, then that makes it a harder choice...



Does anyone know more about this?



Here's the article text:



Wednesday, September 24, 2003; Page E02



Microsoft said it is shutting down Internet chat services in most countries outside the United States and limiting U.S. service to help reduce criminal solicitations of children through the online discussions. The changes will take effect Oct. 14, Microsoft said. MSN will require U.S. users of its chat service to subscribe to at least one other paid MSN service. That way, the company will have credit card numbers to make it easier to track down users who violate MSN's terms of use.



Monday, September 22, 2003

DirectX SDK Summer Update Available




The DirectX SDK Summer Update is available now here…in
theory. I haven’t been able to download it yet. I’ll keep trying.



Supposedly, the managed docs got an update. They could certainly use it – there’s
basically nothing right now.



Thursday, September 18, 2003

Isabelle Passes Us By




I live near Washington DC, so we were right in the path of the hurricane that came
through last night. I wound up staying home from work on Thursday because I had to
help my wife make a few preparations (trimming branches that were close to windows,
for example) and I didn’t wind to get caught out at work if things got nasty.



Fortunately for us, things didn’t get nasty at our house. The power bounced
for a few seconds four or five times, but that was about it. I even felt comfortable
driving out later in the evening to return some movies to the video store. Along the
way, I saw a lot of lights out and two huge flashes that I think must have been transformers
exploding – I think close to two million people in the area are without power
right now. Yikes! Guess we were lucky on that count. Hope all of you were similarly
fortunate.



Wednesday, September 17, 2003

MSDN TV: Rebuilding MSDN with Angle Brackets, Pt. 1




I just noticed that the following is on MSDN TV. If you want to know what I’ve
been up to over at MSDN, this is it: we’re implementing Tim’s vision.
It’s been a blast, and has fundamentally changed the way I think about XML-based
systems.




Tim Ewald tours MSDN's new XML pipeline, examines how we use schemas, XPath, and
XSLT to implement logic declaratively. He concludes with a look at our next steps,
including more generic plumbing and exposing XML content through RSS and Web services.

[MSDN
Just Published
]




Sunday, September 14, 2003

DirectX Graphics Pipeline Diagrams




I hang out on the Managed
DirectX Newsgroup
, as it’s a good way to see what people are dealing with
in their Managed DirectX  applications. The guy that almost always answers questions
is an MVP by the name of Rich. I wandered over to his website today and found his
book site
. The most interesting part of it (to me) was the diagrams
of the graphics pipeline
he’s come up with. I’m only now getting a
clear understanding of everything that goes on here – this should be helpful.
I’m printing it right now.



Saturday, September 13, 2003

Advanced 3D Sound Tutorial Available

The trip back from Taiwan was slightly brutal – I always have a harder time going east than west. I’m not sure why. But I was smart, and I charged up all four batteries for the trip. One of the things I was able to get done when I wasn’t sleeping was to write the last in the DirectSound tutorial series. You can find it here. It talks about how to add listener-relative positioning and velocity, which gives you control over things like Doppler shift.

I think after this I’ll go back to writing the Direct3D series. There seems to be more interest in it, and since I did a bunch of reading while waiting for various conversations in Chinese to complete, I have some more knowledge of the areas I’d like to explore.

Tuesday, September 9, 2003

Windows Forms Validation Broken

Recently, on one of the internal DevelopMentor mailing lists, someone asked, “Hey Ian, you say that the Windows Forms architecture is busted. Why?” (Ian Griffiths is one of our Windows Forms experts.) Ian’s response was great, and since he doesn’t maintain a homepage at the moment, he’s allowed me to post it here. If you’re into Windows Forms at all, once you read this, you’ll probably want to run out and grab his book.

Here’s what Ian had to say.

 

 

Tag

While in Taiwan, I got laid up with an allergic reaction to fruit. Because I couldn’t go outside or walk around much, I spent a lot of quality time with the computer, finally getting around to a lot of things that I wanted to do. One of the things that’s been on my list for a long time is to write a game. I sat down, and over the course of the next day and a half, finished Tag version 1.0.

Read more here.

Friday, September 5, 2003

Delegate -= Bugaboos

Mark Taparauskus is the author of DevelopMentor’s Programming C# course. As you might expect of someone with those credentials, he knows a lot about C#. He’s been making a habit recently of posting interesting little tidbits he finds to one of the internal mailing lists. This one concerns the use of the “-“ and “-=” operators on delegates. You may have see this usage before, as in:

delegate void Blah(int i, string s);
Blah b1 = new Blah(Foo.Bar);
Blah b2 = new Blah(Foo.Quux);

Blah b3 = b1 + b2;    // Chain two delegates together: b3 = (b1 b2)
Blah b4 = b3 - b1;    // Remove b1 from the chain: b4 = (b2)

As Mark has no homepage or blog (yet), he’s given me permission to repost his findings here:

Here are two random facts about op- and op-= with delegates that I think are interesting.

 

1. The *last* occurrence is removed:

(a b a) - (a) = (a b)

 

2. The right hand side has to be a contiguous sublist of the left side or nothing happens. A contiguous sublist just means the same elements in the same order.

 

So this one works as expected:

(a b c d) - (b c) = (a d)

 

But nothing gets removed here:

(a b c d) - (a c) = (a b c d)

 

Thursday, September 4, 2003

XML Eye for the Object Guy




Tim Ewald is one of the people at DM who has changed the way I think about software.
In fact, he has a tendency to do so just about every time I talk to him. So it’s
great to be working with him at MSDN.



One of the things that Tim has really taken to heart is what he (and others) call
“the XML lifestyle”. Among other things, Tim has been evangelizing an
aspect of this viewpoint that is definitely against the mainstream thought, that XML
is not primarily – or even generally – a serialization format for
objects. Just as he did for transactional systems back in the COM+/MTS days, Tim is
pointing out that OO viewpoints have a serious impedance mismatch with the properties
of the systems we actually need to build.



To that end, Tim has relaunched his
blog
(RSS here)
and named it “XML Eye for the Object Guy”, a very intentional take on
the popular TV show of similar name. Just like the show, Tim will be providing advice
and insight based on his minority tendencies to the masses. His goal is to get us
all dressing a bit more XML, and a bit less Object. Subscribed!