Wednesday, March 31, 2004

Google's personalized search

Through the Scobleizer I have just found this. At first glance it looks impressive and simple.

I have just found what could be a major pitfall of it, though. I configure my profile, then I search for "diego vega". When I move the personalization slide to the max, my own blog jumps from the first place to the last one in the first results page. The link doesn't even have the color balls on its side.

Then, if I write about what interests me more, how can you explain that my blog gets so poorly ranked by the application of my own preferences?

If anybody from Google is listening: Give me a "personalize by example" option. You want a sample of what I really care about? I will tell you: http://diegov.blogspot.com

[Deep guessing in the abyss of my mind: They are probably matching each page against a predefined (and probably human made) category tree. And my blog hasn't been categorized at all]

Friday, March 26, 2004

Netcraft: Interview with Jim Gray, Manager, Microsoft Bay Area Research Center

Jim Gray talks Terraserver, SkyServer, SkyQuery, Sky Nodes, etc. At the end he is aked:

Q. Where do you think we are ultimately heading with computers?

A. I believe that Alan Turing was right and that eventually machines will be sentient. And I think that's probably going to happen in this century. There's much concern that that might work out badly; I actually am optimistic about it.


Mmm... I predict SkyServer will become SkyNet and will get self-conscious by 2005 ;-)

Netcraft: ASP.NET Overtakes JSP and Java Servlets

This seems to be a very important milestone for ASP.NET, but the article also states:

In the Fortune 1000, 83 companies use ASP.NET on one or more of their sites.

Thursday, March 25, 2004

Dominic Cooney's Weblog

I am frightened because I have been trying to convince my wife of doing this with my cake since my 11111 birthday. This year I will get 100011 so I guess the cake would look too dark with only three candles burning.

Also notice the GUID in his weblog description. I guess I will have to do the same. I never liked any of my own descriptions.

Wednesday, March 24, 2004

Nerd test results

Just another stupid but entretaining test: 35.714285714285715% of me is a huge nerd! How about you?. I think I would do better if English was my native language. Here is also the advice for my score:

Embrace the nerdness. Don't bother making excuses for why you were watching the sci-fi channel anymore, it's too late for that.

Addicted to Technical Careers @ Microsoft

I find myself reading this blog everyday. I wonder why I like it so much. Maybe just because of Zoë and Gretchen writing style. Maybe because I am looking myself for better job oportunities for my career. Maybe because working for Microsoft is my secret (and probably impossible) dream. In any case, it stimulates me a lot and everytime I read it I feel as if they were reading my mind. They talk about my favorite subject today: Microsoft's International Recruiting.

Monday, March 22, 2004

Outsourcing

I have just came to this article in ABCNEWS on programing outsourcing in the USA. It says that a job that in USA costs US $ 80.000 would cost only US $ 40.000 overseas. This is completely ridiculous. Verizon International Teleservices is recruiting sennior java developers here in the Dominican Republic for less than US $ 12.000 a year. Of course Latinamericans are probably not as prepared and disciplined as Indians (I should know because I am a latinamerican), but US $ 40.000 were the Indians best bargain, outsourcing would be moving in masses here. We are much closer.

By reading my previous paragraph you can get the wrong idea about my view of these facts. My possition is that this all sucks and it has always sucked, for everybody. I don't think that people being exploited or underpayed is fair, I don't think that moving to a country to become a second class citizen is fair, and I don't think that people loosing their jobs in their own country is fair.

I guess an ideal situation would be to have a more leveled playing field across the world, but this seems to be impossible, even with the technology we have today. LOL, I think I will ask for it in my blog anyway!

Sunday, March 21, 2004

Resume tips by the people who know how to move Mount Fuji

I have just found about Zoë and Gretchen blog:Technical Careers at Microsoft. I found very good tips for my resume here and here. I had no idea that my resume is too long to be considered a good resume (maybe my mistake is to think that resume is the same as curriculum vitae). Anyway, the tips are very useful. Thanks!

Friday, March 12, 2004

Scoble: Do Google Ads help your Google PageRank? -

Scoble et al. raise the question.

Mmm... Well, I didn't place an add in my blog (besides the blogger add), but I have mentioned Google a lot, and I guess it could have worked for me.

I now have a PageRank of 5. I think it began when I mentioned Google in my blog (actually it was a just a little critique). Then I mentioned when I installed the Google toolbar.

But I think my PageRank got its boost when I wrote lots of comments on some Microsoft blogs.

I share the furstration of the Whidbey slip

Scoble writes:

I see a lot of frustration on the .NET weblogs today (there are a series of stories that the ship date of Visual Studio .NET codename Whidbey has slipped). I'm frustrated too. I've been interviewing people over on the Whidbey teams and they are frustrated too.

I just wish some kind of public beta would put the code in our hands sooner.

Interesting entry about ObjectSpaces in Udi Dahan's blog

Ralf (Westphal or Sudelbücher?) wrote an interesting article about ObjectSpaces that I read some days ago.

After that, Udi Dahan published a little email conversation he had with Ralf in his own blog: Objectspaces, SOA, and what comes between them.

This text appears in the entry and belongs to an email by Ralf Westphal:

I agree that the persistent stuff in a system should be kept separate, and have no functionality. In my blog I go on and on about it, so I'll keep it short here. I call this stuff "entities". The fact is that you don't just persist it, you present it too. You perform calculations with them, you make decisions based on them. The entities are what actually defines the system from a domain perspective. Fowler calls this the "Anemic Domain Model".

I actually go so far as to remove relationships between my entities. The customer entity doesn't have a collection of order entities as a property. Rather, client code wanting to get the orders for a given customer would use "Entities.OrderCollection ActivityServices.Customer.GetOrdersForCustomer(Entities.Customer customer)" to get that information. This prevents client code from having to know about relationships between entities. In the above example, there may be a 1-1, 1-n, or an m-n relationship between customer and order and client code wouldn't need to concern itself with it. Furthermore, should the kind of relationship change over time, the entity model wouldn't have to change. Neither would the client code.


The first thing that surprises me is that those guys actually still use email to discuss around their blog entries. How obtuse! ;)

The second thing that surprises me is that Udi says that the original article was written by Ralph Westphal, but I can see somebody with black glasses saying his name is Ralfs Sudelbücher when I follow the link. Confusing, eh?

The third thing that surprises me is that after talking about "Entities" that need to be persisted, presented and processed, Ralf doesn't come to the illuminating conclusion that those entities are actually the "documents" flowing through a SOA based, loosely coupled, document passing (and don't forget web enabled and buzzword powered ;), architecture.

Some years ago I built a framework based on the Emissary - Executant idea that got published in MSDN (and that soon vanished). While working on that, I saw the need of passing document-like, light entities trough the layers. By then, I had ADO Recordsets that I could be marshaled by value. Although ADO Recordsets proved to be awful, treacherous and obstinate animals, the architecture worked. It actually worked well, I think.

One little detail I would like to add, that I don't see Ralf explaining is: every time you need to use this objects, either to persist them (DAL), present them (PSL), or process them (BLL) you need some intelligent object that knows enough about the relationships, the keys and everything else that needs to be known at each stage tp handle the complexities, so you can really simplify client code.

One example of this, belonging to the data access layer, is the logic necessary to persist rows to a set of tables that have referential integrity among them.

Another example, corresponding both to the business logic and to the presentation services layer, is the logic necessary to navigate master detail relationships while iterating trough rows.

All this leaves me thinking that if DataAdapters and DataSets are not good enough, it is not because they are not well architected, but because they are not as easy to use as they could.

Now, in the deep my bottoms of my mind, the advantage of having "entities" without knowledge of their mutual relationships is not obvious. Maybe I need to sleep, but when I wrote that framework, I had relationship-less objects because all I had was ADO Recordsets. But I remember back then I celebrated the birth of ADO.NET DataSets with genuine happiness. I was already retrieving, persisting, processing and presenting all my closely related "entities" together anyway.

Tomorrow I will check orthography and also Ralf's / Ralph's real name after lunch. Promise!

Wednesday, March 10, 2004

The negative side of mixed career minds

I have been feeling so bad about my career that I wrote some comments about it on a very nice entry Chris Sells wrote on his spout.

I have been feeling better after that, mostly after talking about it with my wife last night. So thanks. I mean, I am not sure my only regular reader buttercup stills read my blog, but in case you got worried when you saw the sh*t word, I am feeling better.

As a side note, sh*t became a technical word since Pat Helland used it to describe SOA as HST.

Sunday, March 07, 2004

My English really sucks

I wonder what English speaking humans feel when they try to read my blog. I know it sucks. Every time I try to read it myself, it just feels bad. I cannot stop correcting my old entries 3 or more times.

Somehow, I have reached the roof and bounced down with my English writing ability. What else can I do?

UPDATE: I even had to correct this entry that was so horribly written!

Friday, March 05, 2004

About the hobbyist and professional .NET programmer

Rory Blyth blogs here about the low priority Microsoft should give to the hobbist programmer (and Scoble's answer is here).

The first thing I would like to say is that Microsoft's responsibility is not to hobbyist programmers. As someone who makes his living by working with Microsoft technologies, I would be rather ticked off if MS were catering to people who weren't professional coders. I'm not saying that hobbyists shouldn't have a way to code their own apps, but there are many alternatives to .NET that would allow them to do that. Off the top of my head, and just for an example, I could wholeheartedly recommend Python. It's easy to get going with it, and it's pretty forgiving.

Even when Rory softened his entry, I still disagree with him. In my view, it makes a lot of business sense for Microsoft to keep supporting and enabling causal programmers. And in my view, much of what is good for casual programers is also good for the pros.

Unfortunately, Visual Basic .NET took the "beginner's" part out of the language forever. There is now a big void gap that nobody is filling, and I think Microsoft should try to do it.

As a professional developer, I like programming in the Visual Studio .NET environment. I like seeing more and more new development tools being integrated in Visual Studio. For the casual developer, however, Visual Studio doesn't cut it. No matter how great the add-ins are, sometimes you have to dig. And once you start to dig, the rabbit hole goes too deep, too fast for a beginner.

Yeah, I am getting older and more of a pragmatic programmer every day. I can only say in my favor that I enjoy looking under the hood too. I just want to use the best tool for each task and the result to be of professional quality. I am happy to use RAD tools as long as I can reasonably understand what's going on. So, I love the feeling of being a pro, but whenever I see the casual programmer gets something better than me, I feel green with envy.

Take the Microsoft Access + SQL Server combo. And please, don’t get the wrong impression, I don’t love it. Access used to provide a good tool for prototyping, a grid that kicked the ass of any ActiveX grid out there and a simple but predictable reporting tool. Having SQL Server as a backend also kicks ass. I still use the combination for some simple data cleaning screens, but I am sure I would use it more if it were better.

The things that makes you hate Access as a professional programmer is its inconsistencies, its instability, its deployment nightmares, and so on. If Microsoft had tailored it to being more of a pro tool, with more diverse backend database capabilities, I think it would have displaced every other database fronted in the market, including Oracle forms. But now, Access time has gone and the only major feature of Microsoft Access 2003 is backward compatibility. The product is almost as dead as Paintbrush.

My point is that I am not interested in being called a professional developer for making things that economically doesn’t make sense. It probably doesn’t make sense to write GUI code in MSIL (it sounds cool, though) and that I don’t want to type each angle bracket myself (even when it is so cool to claim you build your site using notead). This just reminds me of the time I used PC Tools to type more than 10KB in hex codes of a program just because nobody else got 3½" disks drives in town.

For the casual programmers out there, I see in my crystal ball Microsoft handing out something of a .NET framework based Infopath. Infopath is more of a constrained tool than Access, but in a good way. Constrains in a programming environment are a good thing if you want something built by a casual programmer to work well. I would like Microsoft to solve the deployment problem by allowing the outputting of some "gracefully degraded" ASP.NET applications from that kind of tool.

For the professional developers out there, more and better pro tools, and hopefully, Whitehorse will change it all.

Where is Salam?

Raed blogs:
salam i was trying to call your phones all the day long, i hope u didnt die in the karbala explosions
I'm coming back to baghdad next week

Another one on Susan Dumais' work

How deep does the rabbit hole goes? I began reading some interesting XAML on GNOME opinion trough OSNews and I end up again on this article one some of Susan's group projects: implicitly queries, Stuff I've Seen, and Memory Landmarks. All sounds as insanely great stuff.

Ok, I knew she knows better than me, but this is almost humiliating! ;) This renders my entry about using WinFS to improve My Favorites completely stupid!

She also talks in the article about people inside Microsoft that has got used to SIS and don't create folders for their files anymore. She even has a name for what I do in My Stuff folder (only I have been doing it from too early): Flatland.

Susan, if you ever see this blog and you are looking for external beta testers, please, count me in. Ok, and if you read this blog before you start external testing, I hope you will be able to use SIS to find me again.

P.S. to Susan: Do you ever use Google to search for your name? I am already in the 59th place.

P.S. 2: Nat Friedman says Microsoft is bitting Implicit queries from his own Dashboard project. He has actually some cool things to show. Wouldn't Visual Studio .NET Dynamic Help be previous work?

Monday, March 01, 2004

Will Microsoft use Big Mac index to price its products in developing countries?

In here it says that this is in the plans. Having lived in developing countries all my life, I think it is great news and I am sure it makes A LOT of business sense for Microsoft.

I just wonder why did it take so much for them to do it. Now I hope this is only the beginning. There is a lot more Microsoft should do in the developing world. For instance the relative cost of new hardware here is huge, and all but the legacy Microsoft code is written with only a narrow spectrum of new hardware in mind. I need to find a draft blog entry I abandoned a long time ago...

If it isn't idiocy and bigotry, why defacing Clemens Vasters' blog?

Update: My apologize to Matthew for thinking the worst. Clemens' site was stumbling yesterday, maybe because of traffic coming from everywhere, but mostly from Slashdot. So, I was way way wrong.

If this is what I believe, then I cannot believe how stupid fanaticism is. I try to go to Clemens Vasters blog but I get redirected to some Matthew Mastracci's answer to Clemens. It is here. The answer seems perfectly normal, but why am I being redirected? So the problem with having a rational conversation about some subjects is that there are too many trolls already in the room.

So guys, if you just love to share, why do you care so much if others don't always do? Please, stop the religious war. Perhaps you might understand what "free" really means.

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...