Rants
Personal opinion rants that I probably shouldn't share.
I’m sure you’ve heard the term “law of leaky abstraction”, apparently put forth by Joel Spolsky (if you’re unfamiliar, please go read it – it’s worth your time). Lots of people have blogged about what leaks, what doesn’t leak, why things leak and so on.
To deal with this, people often are in search of creating a “cleaner” abstraction layer that doesn’t leak. And how many times have you seen an internal framework that took way too long to create – time spent refactoring to keep it “clean” by hiding the underlying system ? I think this is a big mistake…
Let’s...
Back in February of '04, I posted “.Net says - multiple languages supported. VS.Net says - don't try it“. A quick response by Paul Vick showed that it would probably never be fixed for Visual Studios 2002 and 2003 - but that they'd work on it for Whidbey.
Alas, the beta 1 and multiple CTPs came and went, and the bug continued. However, I am happy to report that in VS.NET 2005 Beta 2, the problem seems to have been resolved. My test case now works, and I'm a happy camper.
Thanks to the background compilation teams for c# and vb.net! While...
I really do like the “Whidbey” generics for both C# and VB.net. In my opinion, they bring a good solution to some problems with gaps in strong typing to the .net family. Great stuff, really.
However, I'm not happy with one of the constraints on constraints. I'll endevor to explain. Hopefully this is either addressed or (at the least) acknowledged by those in the know. (Or, if I'm an idiot, feel free to let me know in comments)
For a good background on C# generics, see this article on MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/csharp_generics.asp
Okay, so let's say I have a generic collection that sorts items:1public class SortEx<T>2{3 ...4 public void...
Due to mass comment spam, I'm turning on moderation (that I got from Don XML, with his .text moderation modifications entry). I did not enable the CAPTCHA stuff yet (from Miguel Jimenez’s HIP-CAPTCHA Control), because I hate to annoy anyone who may want to comment, but I will turn it on without further hesitation if need be.
However, the thing that's most important to me is now done - I will no longer give Google Juice to spamming losers. (The regular kind of loser can comment here and get juice if they want, as long as it's on topic)
Rob Caron and Buck Hodges discuss a newsgroup post by Ajay Sudan discussing how Microsoft subscribes to one of the multiple-universe theories... That is, MSDN Universal subscriptions will become “most” of the software a developer needs, and then you can buy additions to make it complete.
Huh? Let me look up the term “Universal”.
Now, I'm not whining about the cost (well, maybe I am) - I pay for a universal subscription out of my own pocket because it's worth it to me - I know that with that yearly fee, I can go into any client site and have the software...
I am sure that VS2005 will improve before release, but I'm fearful that smart tags are the way its going to be.. I've been trying to say it in comments, newsgroups and Ladybug, and I'll say it again here:
SmartTags are not productive in the code window. Bold ( and italic) statment? Perhaps, but true as well.
The Smart Tag has one great feature - it's a visual cue that some action is available on a piece of text. However, actually using that action takes way too many steps. 1) click the text. 2) Hover over the tiny sliver of an icon under...
[Update 12/14/04] - Because I get a lot of Google referals where I'm a #1 or #2 result looking for how to give a network share full trust with CAS, I'm adding how to actually do it, rather than just complain about the name.
So, to give a network share or mapped drive full trust, execute the following at a .net command prompt:
caspol -q -machine -addgroup 1 -url file://z:/* FullTrust -name "Z Drive"
This will give anything on the “Z“ drive full trust, make the name of the rule “Z Drive“, and put this at the machine level (applies to all users). You must...
I'm uninstalling the MSN Toolbar Suite Beta. Not only am I not happy, but I'm actually annoyed. I tried the reviewers guide by Scoble, but I don't trust a guide of questions by a maker of one of the products. They give you the questions they want you to ask, but not what is really meaningful to you.
So much potential, wasted. For those that don't want to read the entire “review“ below, it boils down to me saying this:“Yes, I get it, you want me to use MSN for everything. There's a point where that stops being convenient and...
I have a problem with Intellisense (no, I love intellisense, I just want it to quit making me type more at times)
Create a new windows project. Add a textbox to the default form. In the code for that form, create a method. In that method, do the following:
Type “TextBox1.TopLevelControl“.
Press Enter
Delete the line that we just typed in.
Type “TextBox1.Top=“.
There's the problem. Note that when you hit “=” (or space, or whatever), your line was changed to “TextBox1.TopLevelControl”
Ack! Top is short. I can type it in. But now I must hit “.Top<escape>“ or “.Top<up arrow>“ instead. Makes it really annoying when you're...
[Updated again 8/12/04 (yes a bit late)] - added beta 1.[Update 5/30/04] Versions affected by this bug:
VS2002 (all betas and RTM)
VS2003 (all betas and RTM)
Whidbey PDC bits, VS2005 CTP1, VS2005 CTP2 and also VS2005 Beta 1
Here's to hoping they can fix it. I know it's not easy (kudos to Paul Vick for admitting that it was a mistake, and thanks for the extensive explanation) - so I'm not sure if they'll have the time. But I still hope.
It's beta 2 of the new visual studio, soon to be VS.Net 2002. It's awesome, and I'm blown away. In all ways, I...
I really like the new XPSP2, especially on my Tablet. However, there are more than a few problems on my desktop machine. No, not stability or security problems, but application compatibility.
All of my problems are a result of the new support for the "Non-Executable" memory protection that some processors (such as my amd 64) offer (The support in XP is called “Data Execution Prevention“ or DEP) This feature ensures that programs don't try to run data segments as code (stopping lots of types of common virus and worm attacks). The problem is, there are many applications that use data segments to...
Okay, this is all about exceptions... as in try/catch. This is not a technical post, but a subject that I have pretty strong feelings on. Please let me know if you disagree -- It may be hard to change my mind, but I'm glad that people still try.
Here's the meat: I'm really sick of seeing and hearing people claim that exceptions are for exceptional cases. I'm equally sick of people claiming that exceptions are for errors. I believe strongly that neither is the case. What an exception means is that something happened inside a section of code that was...
So there's that petition going around, and lots of people have “agreed” (see the trackbacks section on that comment for lots of people who agree)
Now, don't get me wrong, I want it there for all versions too. But saying “Microsoft should put this feature in all versions” is like saying “Macromedia should include flash mx with dreamweaver”. Sure, it'd be nice. But it's not like this is some taxpayer-funded initiative.
VS2005 is a product put out by a business. Having different versions with different featuresets at different prices are one way that they try to make sure to maximize thier sales...
On the persistent menu on a web site I’m working on, I have a menu item – “View / Search Lists”. Every time I look at this item, I feel bad… why? It’s a lie.
What it really does is show the user the name of the lists they have. So shouldn’t it be “Show available lists”? You can’t search them. You don’t view the details. In short, the menu item is a lie.
I see this in a lot of software – like the blatant “Go to my email inbox” in Windows Messenger that really means “Click here to get pitched ‘add-ins’,...
It's not bad enough that there's remote code execution exploits with the “more secure than ever” windows 2003 server... but to fix them, we have to take our sites down and reduce reliability numbers as well. Got any more salt for that cut?
If you hit my blog (here), or the VS 2005 “community readme” last night at 5:13, you may have noticed that you didn't get a response. That's because there is apparently no possible way to copy new files to my machine without rebooting it.
So here's a wish for the longhorn server team (whoever you may be): figure out your...
Think your software runs great in lots of situations? You've tested multiple monitors, all sorts of resolution, and even 16 color mode. Good for you.
But did you try putting the taskbar at the top of the screen?
That's right, people. Not everyone has the start menu in the lower left corner. I do on many machines, but on my tablet I put it at the top (It's much easier to reach up when your hand is resting on the screen). But many (many) of the applications I use don't work right with that placement. What can happen?
The application appears under the taskbar
The app saves...
Visual Source Safe. I cringe whenever a client site is using it. Let's face it, when VSS 6.0 came out it was an acceptable product for its time (what was that.. 6 years ago? 7?). It was pretty good for VB6 developers working alone or in small teams. But VS.NET isn't VB6. The methodologies of development are different... unfortunately VSS treats them as the same.
One of the things I hate most about VSS is actually issues with VS.NET's SCC integration -- the crud that VS.NET puts inside project and solution files when using source control. (Unfortunately, VSS's standalone client does the same thing for...
SOA and SOE sound great. I love the goals, and I think that this approach may be
able to accomplish them. In fact, I'm trying to adopt these philosophies
myself and explore the benefits and drawbacks. However, instead of discussing if
SOA is going to work, I've been wondering what happens when you do SOA
half-assed.
That's right - what happens when you use SOA approaches but do them poorly, or
without understanding? Now that you've quit reading, let me explain why I ask...
Perhaps not ever. Chris Pratley (the “One Note owner”, Group Program Manager of Office) posted a quick bit about using OneNote to organize blogs. It's great, isn't it? I used to do the same. In fact, I thought “Hey, I'll just make a quick OneNote plug-in to post directly to .Text and I'll be sitting pretty. Perhaps I can even use Ink occasionally.”. Alas, that was not meant to be.
You see, as many of you may know, OneNote has no automation facilities. At all. The API is not public, and can't be used. So if you put your blog notes...
I was looking in my junk suspects folder this morning, and found that SpamBayes had made a terrible error -- it had classified a note telling me that I had one the “International Lotto Programs” lottery and would receive $2.5 Million US if I contacted my claims agent.
Is this too good to be true? Looks legit to me. Lets ignore the fact that I have to keep my winnings strictly confidential (shh, don't tell), and even the existence of this lotto must be hush hush. It doesn't worry me that I didn't enter it. It doesn't worry me that they have...
[Updated below]
I'm sure many people have heard of experts-exchange.com -- a question/answer forum site with a twist. People ask questions and assign “points” to them, based on how hard they think the question is. “Experts” (anyone) can look at the question, and answer it if they wish - if the questioner accepts the answer, the expert gets the points.
So the expert can say to himself “Self, this question is hard, and only worth 10 points. I'll answer this easy one worth 500 instead” -- the intent being that the more points a qestioner gives to the question, the more likely...