
I knew our dominican experience would not be complete without a little tropical storm. If it has to be, I am happy its name is a greek letter.
See that line? I goes straight over my home.
Life, software, politics, arts, and naive future prediction (This blog is in suspended animation)
The MIT Media Lab has launched a new research initiative to develop a $100 laptop—a technology that could revolutionize how we educate the world's children. To achieve this goal, a new, non-profit association, One Laptop per Child (OLPC), has been created. The initiative was first announced by Nicholas Negroponte, Lab chairman and co-founder, at the World Economic Forum at Davos, Switzerland in January 2005.
I think this is an amazing concept. You can read about it here and even see some pictures here.
I have been a fan of the Media Lab since I was 12 years old, and I am happy they are coming with such an ambitious project. I see this is the realization of a dream for Nicholas Negroponte, Seymour Papert and for Alan Kay. I hope they will have a great success.
What Negroponte says about taking the fat out of the system is right: "Two-thirds of their software is used to manage the other third, which mostly does the same functions nine different ways." I hope the project will get massive support and will trigger a race for sleekness across the software industry.
Probably because of the lack of deep technical detail in the announcements I have read so far, there a few concerns in my mind:
In my history of Sparkle I mentioned I had worked on ToolBook. That solicited this comment:
Asymetrix's ToolBook? Wow, that was so ahead of its time! Just make sure Sparkle runs faster! :P Sorry, could not resist. I am sure Sparkle will rock.We are currently in a performance milestone on Sparkle, dealing with our obvious perf problems and reporting real and potential Avalon perf problems to that team. The good news is overall perf is good. Startup is fine, working set is fine, but as these things go we have individual areas that don't scale well or just are awful. In Avalon you build your UI compositionally by creating Templates that generate elements for the structure. For example, rather than a Button having a Render() method that draws a bunch of rounded rectangles and text, you create a Template of primitive Shape and Text Elements, include a layout container like a Grid or Canvas and every time the system sees a Button it stamps out a copy of all those elements. Elements are not free however, and if you aren't careful with your Templates they can explode into huge structures without you noticing. This is a working set hit and layout and render takes longer. We added commands to our diagnostic menu that let us count the number of elements in different parts of the tree and dump them for further study. When we started perf work before the PDC Sparkle would startup with over 8000 elements in its UI. Today that is down to 3000 with no difference in the look and feel. I expect this number to improve considerably this week and more next as more changes come in. We virtualized some things and just got more careful in a bunch of places.
Now, let me tell you, I am trully ashamed. Did you see Sparkle running? If not, go to see the Channel9 video? It is one of those things that make me drool.
This is my answer to John, I wrote originally in his blog comments:
John, all this made me blush a great deal, however I am happy my comment led you to speak about Sparkle’s performance characteristics. I am also glad you are making so much progress. I saw in the videos on Channel9, and I think Sparkle already looked VERY impressive before the PDC.
Now, I have one concern: Not that we are all going to write such a complex UIs, but it appears that making a sophisticated Avalon application reach good performance takes much tuning.
Now, I am a newbie, but I assume that by virtualization you mean that you create and dispose (perhaps reuse?) UI elements whenever they become visible or hidden. Wouldn’t it be nice that this kind of optimization were performed by Avalon itself? This could be especially useful, since I think there is a balance to be kept among working set (number of elements) and creation-destruction rate.
And thanks for the inside story of ToolBook. I didn't use the product a lot, but I have a friend that did, and I always had a great respect for the technology.
Yesterday I received an email saying something like "What is this about? Stop sending me email". The almost obvious intent was that I answered so they could validate my email account is active and I am silly enough to buy from spammers.
Today I received what seems to be a "reply to all" to the first email saying something like "Why did you accuse me of sending that email?"
So now the intent is to make the first email credible, so if I feel smart enough to help everybody else understand SMTP, but I am actually fool enough not to detect this is a scam, I would then send an answer.
No way!
But, I must say I haven't seen a scheme like this before. So, congratulations spammers! Cockroaches do not take evolutionary leaps this often.
By late October, Mr. Srivastava's team was beginning to automate the testing that had historically been done by hand. If a feature had too many bugs, software "gates" rejected it from being used in Longhorn. If engineers had too many outstanding bugs they were tossed in "bug jail" and banned from writing new code. The goal, he says, was to get engineers to "do it right the first time."
Recognizing Mr. Gates's concerns over the impact on programmers, Mr. Srivastava hit on a plan to win their hearts and minds. On Nov. 5, he visited the computer-filled office of Dave Cutler, a revered elder statesman among Windows engineers and a stickler for good code writing. Would he publicly throw his weight behind the new approach? Mr. Srivastava asked.
On Dec. 1, Mr. Srivastava escorted Mr. Cutler to Microsoft's auditorium where the software guru told 1,000 engineers that he had used the tools to build Windows code that was nearly bug-free. That Mr. Cutler -- famous for never attending meetings -- would emerge to back Mr. Allchin's revolution helped persuade some engineers to drop their objections.
I have to say I didn't know there was such a level of dissent about Longhorn, but I see it as something very natural and healthy.
Over anything else, I am glad that Amitabh Srivastava was onboard to help solve this crisis at Microsoft.
With all those press stories reporting the "millions of lines of code" in Windows and the heroic lives of the build team members, I have been convinced for some years that Microsoft was inexorably going to hit a hard boundary. Of course, I am not a genius, so for sure many engineers inside Microsoft knew about the problem better. It is amazing, however, that things got to become that ugly before somebody changed the process.
If you also feel that the WSJ article lacks the technical detail you need, look at the Center for Software Excellence page for an idea of what this people used to streamline the Windows Vista continuous integration process.
By the way, do you remember TracePoint? That was Amitabh old job. I do remember downloading it and testing it against my Visual Basic code of that time. It was a wonderful piece of code, incredibly easy to use and useful for optimizing your code. Never again I saw something like that.
I guess next week I will pay more attention to the code analysis tools in Visual Studio 2005… Yes I hope whatever Microsoft is using will eventually get integrated into Visual Studio Team System. After all, developing a mid-sized system with just thirteen assemblies at the office, has proven a nightmare at times.
UPDATE: After thinking a little bit more about this, I am now convinced that the measure of letting lower level executives take more decisions about products by themselves makes a lot of sense.
This means higher level executives accept some things are not in their radar and they may be wrong, so let the people that are more in contact with product development should have the last word.
In this case, the hard boundary I mentioned, that Windows was getting too difficult to integrate, wasn’t probably in Bill Gates radar.
I think I asked about this in the comments of some Microsoft blogger, before. I wish there were an easy way to find my comments and add the good news.Visual Studio 2005 / .NET Framework 2.0 Go-Live License
Microsoft’s Beta EULA does not permit production deployments of customer applications. In response to strong customer demand, Microsoft will provide an addendum to the EULA for some of the pre-release products listed below. If you are interested in deploying an application built with Visual Studio 2005 Beta 2 or Visual Studio 2005 Release Candidate in a live production environment, please see the Visual Studio 2005 / .NET Framework 2.0 Go-Live License.Visual Studio 2005 Team Foundation Server Beta 3 Go-Live License
Visual Studio 2005 Team Foundation Server Beta 3 can now be used in a production environment. Microsoft is committed to supporting a complete migration from Beta 3 to the final RTM version of Team Foundation Server. Details of the Visual Studio 2005 Team Foundation Server Beta 3 Go-Live license will be forthcoming.
I don't know you, but all I see lately is facists everywhere.I think the problem is that the future, maybe for the first time since WWII, lies on the far side of an event horizon for us, because there are so many futures possible. There’s the wetware future, the hardware future, the transhumanist future, the post-rationalist (aka fundamentalist) future.
And then there’s the future where everything just sort of keeps going on the way it has, with incremental changes, and technology is no longer the deciding factor in things. You don’t need high tech to change the world; you need Semtex and guns that were designed by a Russian soldier fifty-odd years ago.
Meanwhile, most of the people with any genuine opportunity or ability to effect global change are too busy patting each other on the back at conventions and blue-skying goofy social networking tools that are essentially useless to 95% of the world’s population, who live within fifteen feet of everyone they’ve ever known and have no need to track their fuck buddies with GPS systems. (This, by the way, includes most Americans, quite honestly.)
You can’t blame them for this, because it’s fun and it’s a great way to travel and get paid, but it doesn’t actually help solve any real problems, except the problem of media theory grad students, which the rest of the world isn’t really interested in solving.
Feeding poor people is useful tech, but it’s not very sexy and it won’t get you on the cover of Wired. Talk about it too much and you sound like an earnest hippie. So nobody wants to do that.
They want to make cell phones that can scan your personal measurements and send them real-time to potential sex partners. Because, you know, the fucking Japanese teenagers love it, and Japanese teenagers are clearly the smartest people on the planet.
The upshot of all of this is that the Future gets divided; the cute, insulated future that Joi Ito and Cory Doctorow and you and I inhabit, and the grim meathook future that most of the world is facing, in which they watch their squats and under-developed fields get turned into a giant game of Counterstrike between crazy faith-ridden jihadist motherfuckers and crazy faith-ridden American redneck motherfuckers, each doing their best to turn the entire world into one type of fascist nightmare or another.
Of course, nobody really wants to talk about that future, because it’s depressing and not fun and doesn’t have Fischerspooner doing the soundtrack. So everybody pretends they don’t know what the future holds, when the unfortunate fact is that — unless we start paying very serious attention — it holds what the past holds: a great deal of extreme boredom punctuated by occasional horror and the odd moment of grace.
C# 3.0 is reaching a point where a developer with only a few months experience will be unable to read what an "advanced developer" will be writing for, say, data access. This has an impact, particular on businesses that are looking to hire developers to work on their applications. If you like, the total cost of ownership of a developer is going to go up, because they will need more training and more experience before they can get into the code to maintain it.
As a developer I am today very happy with the investment I have made in .NET. Let's see how long it takes now for Java to catch up.
Now - if we can only get them to say "Open Source" instead of "Shared Software Services" life would be a little easier.
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...