Wednesday, November 26, 2003

What is wrong with Google

Of course I love to google and I google more times a day than I breathe. The Internet wouldn't be what it is without Google.

Even when I am a dittohead, I can swear I don't get rewarded for bashing Google in anyway, not in this world, nor in geeks heaven. I am not actually going to bash Google. I am about to voice a very personal complain.

Some posts ago I talked about Peter Golde accountring for his position in Google after searching for Golde. It occurred to me today to search for "Diego Vega". I cannot find my blog and I have passed position #600 in my search. Of course if I look for "Microsoft Dittohead" I come in position #18.

What is wrong about that is that I own my name. I am Diego Vega, or at least I am claiming to be Diego Vega. I also write a public blog using Blogger which is a company that "blongs" to Google. I assume this fact should give them enough metadata to know I am Diego Vega. It is ok for me if I see “DJ Diego Vega� before my blog entry. It is ok if I see Anthony Hopkins or even Douglas Fairbanks or Guy Williams before me (they all played "Don Diego de la Vega" in different versions of "Zorro"). But I think my blog should appear before something like "I love Suzanne Vega, and I live in San Diego".

Pagerank is a pretty clever and useful heuristic. It just has room for improvement I guess. I am aware of the semantic web and the very smart people that are both against and in favor of it. But I think I am asking about something simpler.

Of course I have a secret plan to get in the top 10!

Tuesday, November 25, 2003

System.Collections.Generics

To keep up with the dittohead practice of writing down my comments to real Microsoft blogs as my own blog entries, I have to add this one:

So Brad Abrams said this about the new generic collections in Whidbey. And I wrote comment # 59!

Ok, with some luck this is going to be comment number 59 (I guess that means Brad Abrams won't ever see it!).

I though I had something new to say but after reading from the beginning trough Don Box comment, I just have to agree with Kenneth Brubaker.

In addition, I think I read once that for G<T> to be interpreted as G<System.Object> when no T was supplied there was no need for facades and was completely automatic (even compatible with the CLS). That could mean that you can forget creating the System.Collections.Generics namespace. You just dump the non generic collections and put the new generic collections in place. In the process, you help keeping the API clean and make everybody happy (including legacy code).

The alternative is to put Generics namespaces everywhere. Please, don't do it if you can avoid it. Let's make the framework look as if it was designed with generics in mind from the beginning!

Obviously I have been reading too much angle brackets, becacause Brad Abrams wouldn't be asking us for feedback on this if it was that simple. So why isn't it so simple Brad?

Sunday, November 23, 2003

Gustavo Cerati

Tonight I missed the Santo Domingo concert of one of my favorite musicians. I have been listening to his music for more than 15 years. Life goes on. I just don't want to think it was the last chance so see him in a live concert. The reason we decided not to go was that the tickets were too expensive for us three to go. The fact that the prices was as high as half the monthly income of a typical Dominican family also got me in a rebel mood.

In the afternoon my wife got her wallet stolen in a big store. A credit card, some ID's, health insurance and driving licenses were taken.

Fortunately she and our son are ok.

Amazingly the amount of money in the wallet was just enough to pay a couple of tickets to the concert.

Should I take this like a message? ;) Yes, somebody wants me to be upset, but I am too tired.

Thursday, November 20, 2003

Little thing I asked Paul Vick

Paul Vick has an "ask a language designer" feature in his blog. I've just used it:

Dear Paul,

I got the other into some sample code from Microsoft. It included things like:

Public Class Foo
...
Public Overloads Overrides Function Bar(...) As ...
...
End Function 'Bar
End Class 'Foo

I immediatelly noticed the commented function and class names along the End statements. I though it was nice. Somebody tought it was useful to document then End statements with labels. I think it would be also nice to be able to remove the comments, like in:

Public Class Foo
...
Public Overloads Overrides Function Bar(...) As ...
...
End Function Bar
End Class Foo

It would be nice that the compiler checked the names are correct as it does with For foo... Next foo.

What do you think? Do you see value in this?

Diego

Salam Pax is in London

I think I forgot to tell Salam Pax is one of my favorite bloggers. I don't go to read him every day, but everytime I do, I like it a lot.

Of course I began reading him a few weeks before the war like everybody else. Salam is famous for being an Iraqi blogger who was blogging from Baghdad during the war. His blog has plenty of hits those days.

I was one of the guys that was worried for Salam life when he stopedd blogging after the bombings.

I am reading it today. It is so good!

My first time

Everybody in my side of blogsphere did it. And I am a dittohead, so how could I resist writing about my first programming experience in my blog?

Well, before I begin... Are you sure you want me to do this?

Ok then... My first programming experience was with my father programmable calculator. He bought a refurbished TI-59 for U$S 200 in 1980 during our visit to Miami. It had a PC100C thermal tape printer, an embedded magnetic card reader and a socket in which you could plug a microchip (mostly ROM I think) to add some library programs. I learned its programming language, which was some kind of assembler mixed with AOS (Algebraic Operating System) math. It had 960 (or was it 959?) programming steps (bytes) and 100 memory registers.

Writing programs in the calculator was one of those tasks that my son would never believe. You had to press the calculator keys in LRN (learn) mode. Usually you had to go back and change some codes, or even do some tricks to input some undocumented instructions. But the display was only numeric so you had to learn the codes.

The thermal printer was a lot of help in debugging because it was able to print the instruction mnemonic along the numeric code in program lists. I remember always having several meters of paper tape and a blue pen around when programming. I even remember writing really long programs on paper during long car trips so I could input them to the calculator when I got back home. If I just could remember what the programs were about! ;)

I really loved to program the TI-59. I was happy to answer that I was already a programmer when asked what I would like to do in the future. Jeez! I was only 11 years old!

While I was that young, I had had the word COMPUTER in my mouth (and in my mind) since several years before.

After that, my father bought a TRS-80 Pocket Computer 1. For me, it was a piece of art. With it I got versed in the ways of BASIC, which soon felt so second nature to me. This time the computer had a single line alphanumeric display and a cassette interface to save programs in tape. It was impossible to get any graphics from it. In my recollections I don't remember my father ever buying the printer (I will ask him for help). Maybe he bought it but it was stored at his office in the University. The little computer didn't belong to my father alone. He shared it with some other teachers so one day he had to take it to his office and I never saw it again.

Fortunately my brother began studying Electronics. So I had a change to visit the computing laboratory at his University. They had a few TRS-80s model II and model III. I got to touch one of them. For that occasion I wrote in paper a one page BASIC program that could play 0-X against a human player without ever loosing ;) I can't recall what happened with the program, but I think one visit to the computer wasn't enough to get it finished. I only remember how fun was to delete program characters in the BASIC editor!

I got access to a LOGO book by then. I was fascinated with recursiveness. I can tell that I never got to program in LOGO with a real computer but I digested every line of code in that book. I am looking foward for MonoLOGO progress. It is good to know what my son first programing experience will be :-)

After that I began to develop a nasty jealousy feeling for the guys that got their hands on more serious hardware, like the TI-99s, the Spectrums and the Commodores of the time.
Only seldom I had the chance to touch things like that. Of course the Mac and the IBM PC were already in the market, but almost nobody had them. I have some remembering of a friend of mine that had a Compaq clone with a really small CRT, and was able to run MS Windows 1.0. But I am not sure of the time being.

By that time my brother got some borrowed TK85 computer from his girlfriend for several months. It was a Brazilian version of a Timex TS1500. The alphabet soup of Z80 based computers those days was a real mess. We had the ZX made by SINCLAIR, the TS made by TIMEX, the CZ made by CZERWENY in Argentina and the TKs made by MICRODIGITAL in Brazil. Then there was the MSX!

I learned some more BASIC with the TK85, and enjoyed browsing the contents of the computer ROM in my TV, but I never got to master PEEK and POKE. I had to wait until the University to learn some Z80 Assembler language in an emulator program.

Then my father bought and IBM PC Convertible. I remember it was the first computer with 3½" floppy disk drives in town (it had two of them, but no hard disk), so we could not share anything with anybody. The first night we had the computer at home my brother Fernando learned how to use the format command by formatting our only PC DOS 3.30 disk! Of course we were clever enough to remove the physical write protection!!! :-) From there we could only boot on the tools disk for several days.

Then I got my first job. On my first week I got PC Tools to print the full HEX code for a 10KB chess game that was in one of the computers. Back in home I typed it using PC Tools again, on the PC Convertible. Remember I said nobody had 3½" disks? Well, it didn't work very well. The chessboard got drawn, and the first piece started flashing, but from then I made a typo, I guess.

At work, my office was full of IBM PCs and soon after that it was full of IBM PS/2s. We had the first really big PC network in town, and probably one of the biggest in the country. It was a 200+ (if I remember well) nodes Token Ring. We ran it on IBM PC LAN Program 1.3 first, and on OS/2 later.

I was supposedly there to be a data entry man, but soon I began convincing everybody that I was actually a Clipper programmer.

And that was just the beginning... (Insert 2001 Space Odyssey music here)

What kind of programmer am I?

Again reading Brad Abrams blog, I got to read this classification for programming types. I am trying to comment his entry, but there is an error in his site.

I usually enjoy being systematic-pragmatic, so I can build the infrastructure well enough that I (that is me, along with others) can later use it like a brainless opportunistic.

I am comfortable being pragmatic-opportunistic while using components that really work (like 90% of protocol stacks, databases, etc.). Tinkering with them until I get the "principles" is usually enough to satisfy my curiosity.

On the other hand, programming for a life teaches you to be pragmatic-opportunistic unless you are brilliant enough to get to work on one of the relatively scarce places where you get paid for being systematic. But having to deal very often with ill built components (like 90% of ActiveX components in the wild) makes me so angry! I am used to go back reinventing the wheel when the third party wheel doesn’t work.

So I guess I am difficult to label. I think it is like being a car mechanic that loves to get his face under the hood, but also loves do drive a glitch free car. This makes me thing I would never try to build a whole car by myself.

What a joy it is when everything just works!

Sunday, November 16, 2003

Properties vs. Methonds

Brad Abrams asks in his blog for some feedback on this. I wrote the 34th comment or something like this. I hope Brad will read them all ;) This is mine:

Brad, I remember when Omri Gazitt got me converted to ADO.NET design philosophy. In http://discuss.develop.com/archives/wa.exe?A2=ind0009B&L=DOTNET&P=R53999&I=-3 he explained that the ADO Recordset design was bad because in some scenarios it isolated the programmer from the knowledge that he was doing expensive cross machine operations.

The fact is that the changes introduced in ADO.NET had nothing to do with changing property syntax to function syntax. On the contrary they created a new object model in which the programmer had to explicitly program for the cross machine scenario. They also gave the programmer the dataset which allowed for saving networks round trips.

In your example I sincerely see no point in the function syntax helping code review. I have done code review and I know those parenthesis are lost in 10 thousand lines. You really have to know what you are doing and go line by line, or use case by use case to find the not so great coding.

In the end the get_ at the beginning and the parenthesis are just adding to code clutter, and they are no replacement for a good profiling tool that would put a red alert close to the expensive line.

Please, let’s stick to properties and consistence in this case.

More on RSS feed

The feed is being generated. I has a couple of bugs with post tittles and non conforming date formats, but that I am greateful to BlogStreet.

I got my RSS but...

I got to publish my RSS feed trough BlogStreet. However, it is not working, yet. We will see tomorrow.

I think Rory is a lot like having Charles Bukowski blogging

It is not that he is completely like Charles Bukowski. Rory just reminds me of him. After all, I have only read some parts of "Erections, Ejaculations, Exhibitions and General Tales of Ordinary Madness", from "Love Is a Dog from Hell: Poems" and something else I don't remember. Everything translated to spanish. Go there, and have fun. Then go here and there too.

New blog description

Yesterday (or was it before yesterday?) I changed my blog description from "Just Diego B. Vega attempt to find out how blogging feels" wich was very silly to "Diego B. Vega is another Microsoft Dittohead Blogger" wich sounds even worse. Is it just an attempt to get infected by Rory coolness? Maybe, but also a way to say ditto to him. In many respects I have been there too, but I couldn't tell you about it like he does. Not even in spanish.

Friday, November 14, 2003

More on Lonhorn naming

I am still following the Longhorn naming thread at John's blog, which is still growing. I have just posted this comment:

I am only beginning to realize how difficult it will be to find good descriptive names for the new technology that won't clash with current naming schemes inside and outside Microsoft.

Regarding Avalon, Indigo and WinFS, maybe we can just keep the code names in the pre-Longhorn context. For instance we can keep calling Avalon the new presentation technology in Longhorn and expect everybody to use "presentation subsystem" (as appears in the Longhorn SDK now) or "System.Windows namespace" or just “System.Windows API” by 2010. We could also keep using Indigo in pre-Longhorn context and expect everybody to use “MessageBus subsystem "Microsoft.MessageBus" from there on. Also the same for using WinFs now and and “System.Storage” in the future.

My point is that those cool new technologies are supposed to blend together with the current .NET framework in WinFX or whatever the name of then new .NET based Windows API is. After that I see no good reason for call them anything special besides they actual identification inside the whole WinFX API. Actually I think the “Microsoft namespace” is getting too much populated. Developers coding against WinFX will need very good cartography.

XAML is something different as it is an ML. Maybe it won’t be so exclusively tied to GUI design as we think today. In my opinion, the name XAML is as good as OGIML (Object graph initialization ML) or OWML (Object Wiring ML) or perhaps X# :-)

John Montgomery was in BYTE magazine

BYTE was my second favorite magazine when I was a teenager. It was my first favorite until I found Computer Language during a trip to Buenos Aires. Now, when I see BYTE (in capital letters) I almost fall in tears. That is a name that after all those years still look so cool. Of course you can go to BYTE.com which is really good. I have just read John last entry in his blog, and I couldn't resist the temptation. Here is my comment:

John, I have been following your blog since that Longhorn technology naming thing and I was thrilled to learn you were part of the BYTE staff. I can remember your coworkers as you name them, even if I can only remember what Jon Udell and Martin Heller used to write about. I am curious about what was your work there. I wish I could find one of my "5 years of BYTE" CDs just to search for you.

About the BYTE name, I am amazed to see how intensely the name still lives in my mind. Looking at that capital letters sends me back to the day my mother first said that BYTE was really my holy bible.


By the way: somebody, i don't know who, still owes me a refund for the remaining issues of my BYTE magazine subscription.

Friday, November 07, 2003

Parallel blogs

I have just came from reading Peter Golde blog. When I saw his opinion about Miguel messy toughs about exceptions, I realized that this was my second visit to Peter.

I am amazed to see that this guy had not tell anybody about his blog a few weeks ago. He also does things like wondering why Internet Explorer wasn't mentioned at the PDC, searching for himself in Google, and stating things like "my last three blog entries where too much like complaining".

Amazing and fun! Chances are that Peter Golde is also an INTP ;)

Third places

I have never heard about those third places until I read about them in Chris Andersons blog. I immediately figured out that this city is full of them. Dominicans call them "Colmados" (col - mah - thoughs), and I think they fulfill each and every condition in the list. Basically a colmado is a convenience store. But they usually put some tables and chairs around. Many people meet there in the morning and in the night every day, to talk about sports, politics or whatever are the news of the day. Beer, which is very good, and food are inexpensive. Even tough I have never been socializing in a Colmado, I am sure it is easy to get into a conversation. Dominicans are specially friendly regarding this. I am sure I have never seen something like this anywhere else.

Thursday, November 06, 2003

Microsoft: Please don’t kill the baby

Dear John Montgomery,

Sorry for the title, but I am a little scared.

Maybe it is because I didn’t attend the PDC that I don’t completely understand what the new message is. Maybe I have the wrong idea that .NET is more tightly related to managed code and the CLR than it is to web services and XML (hence you can use the .NET framework for many things beyond web services and XML, but it is still the coolest platform to build web services on).

I am sure you know better than me. My point is that even if I am completely wrong, perhaps I am not the only one.

I agreed with Bill Gates when he admitted that Microsoft did a poor job communicating what .NET is. And I have spent some time during the last three years distilling myself what .NET is and isn’t.

For instance, I have perceived (or maybe just imagined) that Microsoft has a long term master plan which includes integrating the CLR in their operating systems, in their database manager, and in almost everything they do. I always though that .NET was a new platform. I remember when before Microsoft began using the .NET name they used to call it NGWS (which was a descriptive name, very attached to Windows but not as cool as .NET).

As a developer I tend to see .NET as a platform to build on. I never bought that .NET My Services were really part of that platform. I saw them as Microsoft .NET applications. I reluctantly accepted that Windows Server 2003 was going to be named Windows .NET Server for the sole reason that it had the CLR embedded in it. And I was happy when they dropped that plan.

On the other hand, I always perceived that even when Microsoft had no official cross platform story for .NET, they had a very strong “build on standards” story that encouraged them to send the CLR, core parts of the framework, and C# to ECMA for standardization (and ultimately for others to implement the standard on other operating systems). I felt in heaven when Microsoft shiped Rotor, and even beyond heaven when they announced Mac OSX support for it. I still have the hope that Microsoft will eventually send more chunks of the framework to ECMA for standardization (I see they are shipping C# 2.0).

I even remember that in the old days of the DOTNET mailing list, some envisioned how wonderful would have been that Microsoft built Windows Forms designers around an XML based persisting format. I had the hunch that it was just around the corner.

Because I see Microsoft realizing in Whidbey and Longhorn each and every piece of that master plan (which I will call the .NET master plan), I cannot see how at least some of those technologies should not be called .NET. And I cannot understand why you say "going back" (when did we come out?) to the .NET name would be retrograde.

So, maybe I am wrong, but let me illustrate my mistakes:
- I see WinFS as a Windows feature that builds on NTFS, SQL Server, XML and .NET. I am not sure how much of it makes sense to standarize.
- I understand Indigo as the new way to do web services in .NET. As a developer I want this to be standarized.
- I see Avalon as the Windows implementation of an API that should be considered part of the .NET standard.
- I think XAML will fulfill its full potential only if it is submitted to ECMA.
- I need to read more about ClickOnce , the secure execution environment and TrustManager to better understand what they mean.
- As for WinFX, the only compelling reason I see to give it a name is to reflect that we should stop using Win32 and in favor of a new Windows API based on the .NET framework.

I agree that Windows and Office are the two strongest brands Microsoft owns. That is, for end users, for IT managers, for journalists, for beta testers, etc. But we are developers. For us .NET and SQL Server are Microsoft strongest brands.

Most of those new technologies are for developers to use in the benefit of end users. Their names will probably be mentioned in text shown during Longhorn setup and also in some literature for IT Managers, end user magazines, etc. But besides this it is primarily developers who are going to use them.

I would like to call myself a .NET developer for the next 10 years as I used to call myself (being a little self indulgent) a Windows DNA architect three years ago.

I have seen “clueless people” out there asking things like why Microsoft failed in the .NET vs. Java war, or when is Microsoft going to kill .NET. Please, don’t give them reasons to be more confused.

I think Microsoft has already cleaned the .NET name enough to go ahead with it, and they have invested too much in it already to kill it.

Maybe it is that I have heard Bill Gates saying that they are focusing the company in this new platform that is .NET is too many times.

And John, thanks for asking for our feedback.

Yours truly,

Diego Vega

UPDATE: I could hardly believe what this article states. But I have to ask you John. Is this true? D*mn, I am suddenly feeling lightheaded...

Wednesday, November 05, 2003

My beloved Computer Language Magazine

I have been missing reading Larry O'Brien's since... I don't want to think since when. It is good to know he has a blog. And it is even better to see he is thinking in .NET. Computer Language was probably the magazine I most liked, but I only managed to buy a few issues, and they are gone. I remember the covers were so artistic, and the content, fascinating. Back then it was also an interesting time to be a programmer.

Tuesday, November 04, 2003

Naming products

Mr. John Montgomery himself asks What to Call "Avalon," "WinFS," etc?. I though it was my chance to be bave and pretend I know what I am talking about. Here are my comments:

Comment One:
Maybe the repented marketing guys at MS would be too scared to do this, but I think it is exactly the right time to start naming those things with the .NET suffix. Last time Microsoft got in the .NET naming frenzy it messed it up by calling .NET some things that had nothing to do with the CLR. But then you have VS.NET, ADO.NET and ASP.NET that are IMHO cool and very clear names. They have meaning too. Those names denote the .NET way to do things that are already familiar for experienced developers and informed newbies. I would probably call Avalon GDI.NET and WinFS NTFS.NET (or maybe WFS.NET). WinFx is probably something that doesn't really need to have a new name since it is, in my view, not much more than.NET Framework version 3. Going even further: Don't you think Yukon is the real SQL Server .NET and Longhorn the proverbial Windows .NET?

Comment two:
On the other hand, I also love the idea of naming those things exactly as their corresponding namespaces :)

Relief

This guy Rory isn't only fun to read. He also provides relief to my worries. So it is ok for a nerd to be a fan of other nerds.

Note to self: Avoid putting the word love along the name of some MS employee in the same sentence ;)

Java is worried

I have just read the article ".NET Progress Worries Java" in the Integration Watch column (couldn't find a permalink to the article) of SDTimes. It says things that many developers (including me) have foreseen since the inception of .NET.

Unfortunately, I am worried that I will have to learn some Java for my next job position unless somebody comes to my rescue. Please! ;)

Monday, November 03, 2003

Introduction to blogging

Diego Doval has published an excelent introduction to blogging in two articles. Everybody in blogsphere is linking to them, for good reasons. I like Diego writing style, and the introduction is so straighforward it makes you wonder why nobody wrote it before like this. Or did somebody do it?

More on VB.NET refactoring

I have just read this in AddressOf which is G. Andrew Duthie blog. I sent this comment:

How old is the term blog? What about the verb google? I think "refactor" is a really cool term, and many know what it means already. They ones that don't know will learn, and will be able to discuss with Java, Smalltalk and even with C# developers about it in cofee breaks. However, I am open to hear what the VB.NET team comes with.

I also think that having some consistence in the IDE among different languages is a good thing. That is one of the principles behind Visual Studio. What if the VB.NET team decided to rename the file menu to something else? Maybe they come up with something better than File, but there is some value in sticking to File.

Besides, even if VB is a different language and it doesn't need to be consistent with C# or Java, it is not such a different programing model. That is the reason the wish list for refactoring tools is the same.

Regards.

Sunday, November 02, 2003

I want my Trackback too

I am publishing my comments to other people twice. I need to do this cause it hurts to loose my comments only in their sites. But it would be nice to have more powerful tools to do the same.

Comments to an article in Paul Vick's blog

Mr. Paul Vick himself has a blog. He wrote about the possibility of introducing some automated refactoring tools for VB.NET in Whidbey, and he asked for feedback. I am feeling the same courage I used to feel during the glorious old days of the dotnet list:

Paul,

I am willing to know which name the team will chose for these tools. However, unless it is something really better, I see no reason not to stick to "refactor". Any well informed VB.NET developer should know what it means. Otherwise, well, we know with knowledge comes power. I think it is perfectly natural to expect that some will disregard this feature at first as many are disregarding things like inheritance right now.

In my opinion most refactoring concepts are language agnostic, and there exist some projects in which multiple languages are involved. So, maintaining some consistence among all the .NET languages could have some value.

Regarding the importance of each feature, I have zero knowledge of refactoring academics, but I have had experience doing refactoring of some ugly VB code, both mine, and other people’s code I had to take over.

I am listing the refactoring tasks I usually perform manually in order of importance for me. I know some things are too complex to automate but any help in those would be great:

0. A customizable code beautifier: I know this is not in the list, but I usually need it before I start any refactoring work, especially if it is other people code.

1. To infer a super class and maybe build a factory pattern from similar classes that were created by copying and pasting: This is probably one of the difficult tasks to automate, but it is one of the most time consuming and rewarding in my experience. In Visual Basic it is very common, probably because the lack of inheritance in previous versions forced developers to copy and paste a lot. The output of this operation is usually cleaner, more debuggable and more extensible code, hopefully less bugs and fewer places to look for them. The main risk of doing this without any help is that the littlest oversight can lead to introducing unexpected behavior. How could the IDE help? I think it could include a side by side source comparison tool. I usually work with Beyond Compare which is superb.

2. Move member to other class: Useful when you find that most of the members a method is accessing belong to a different class. I often end up realizing that the method also belongs "semantically" to the target class. When I finish moving all methods to the appropriate class, I evaluate the remaining public members for a chance to private scope. The expected output is better encapsulation, and probably shorter code. This works likewise with methods, properties and fields.

3. Changing ADO Recordsets opened for sequential access to ADO.NET DataReaders in the middle tier. I know this one qualifies as a migration task, but I wonder if you could come up with a simple tool that does this. I have found this to be very time consuming, too complex for a simple search and replace, but too stupid to waste programmer hours in it.

4. Switching from “On Error” to structured exception handling: I am not sure how easy it is to map those things, and I know “On Error” is still valid. But using try - catch blocks is so cleaner! I usually do this manually and it can be time consuming.

5. Wrap “this” with try – catch block. Well, this one is not strictly refactoring, but it is related to 4.

6. Encapsulate field.

7. Symbolic renaming: This is important, but I think a simple search & replace will cut it 70% of the time.

8. Change method signature.

9. Global type replace: This may sound stupid but this can be useful when you decide to replace all instances of class A with instances of class B. A tool could analyze which members of class A are being accessed and offer a screen to map them to members of object B. The rest could be accomplished manually.

10. Extract method.

11. Inline method: opposite of extract method, useful when you find the method is used many times but only from a few places and you can't find a good name for it ;)... I mean, you realize that having it separated is not clarifying but obfuscating the code.

12. Replace multiple calls to invariant function with temp.

By the way, I like the idea of having “Change to”.


(I had to correct some mistakes I made in the original comment to his weblog)

Saturday, November 01, 2003

After PDC 2003: Information overload

I am reading all I can of the information that is coming out after the end of the PDC. Ok, I am not giving up, but I know I could use a good brain implant.

I want my RSS!

I want to implemente a RSS feed here and I want it now! I found some PHP tool called RSSify. But the guy that made it can't host it anymore. I will try to find a way to host it myself. I think I should also modify it to restrict the referer. At the same time I am interested in playing with some .NET based blogging tools. Or if somebody can invite me to participate in myWallop that would be the coolest thing.

Self

I have read my blog so far and I see in it a need to praise myself that scares me. And I think nobody besides me has ever read my blog. Feeling lonely today ;)

Moving to MSDN

I haven't decided yet, but it is very likely that I will stop blogging here for some time. For some background, I have moved to the sate...