November 21, 2003
@ 10:49 PM

Tiger vs Longhorn in 2006 - Steve Gillmore talks to Jonathan Schwartz

SG: He sees the opportunity to build apps on top of that infrastructure.
Schwartz: No company has ever monetized Microsoft's infrastructure in the history of Microsoft.

SG: What are the desktop killer apps, not in 5, but 2 years, that will seed that market, and force a migration off Office?
Schwartz: The killer app for this desktop is price, because China and India and El Salvador and Brazil can't afford a hundred dollars per desktop from Microsoft.

SG: How do you combat the Longhorn vision in a time frame that's going to make some difference?
Schwartz: It's called "Tiger." J2SE 1.5 will deliver lightning performance on that desktop. We've already provided a rich client called Java, but Microsoft wasn't so interested in helping us with our deployment. So we've done our own now – we've signed up over half of the PC industry to ship our J2SE. And as we fold 1.5 seamlessly integrated into Mozilla, that will give us not only an optimized Web services execution environment on the client, it will give us a beautiful portability story onto a much cheaper desktop called the Java Desktop.

SG: But so what. If Microsoft goes off and bakes its stuff into 100 million desktops…
Schwartz: I don't look at Longhorn and say "Oh, my god, they've architected a better automobile." I look at them and say "You're trying to improve on a buggy whip." If you're just another end node on the network, what are you going to deliver to it? Office productivity is just a feature. We're over it, done with that. The real issue is: what are you going to do with peer-to-peer streaming of video?

Name me a software business last year that was $6 billion. It's tough to do – database, maybe. And this year, ring tones will be $8-10 billion. Maybe an enterprise app is worth that kind of money. All of the high value systems going forward are going to be consumer systems.

[Via: Microsoft Watch from Mary Jo Foley]


 

November 19, 2003
@ 11:37 PM

 Dino's Cutting Edge has added many features to the MessageBox using Windows Hooks.


 

November 19, 2003
@ 11:30 PM

From Sudhakar:

Append ".mirror.sytes.org" to any URL and watch the fun! Awesome :) :)


 

"MSNBC's Alan Boyle takes a look at seven futuristic dreams for the past that never managed to materialize into anything substantial.

[Via: Slashdot]


 

November 14, 2003
@ 06:34 AM

More details about Wallop. I think its going to be a big thing for bloggers (primarily developers) ... of course depending on whether MS continues with the project. It might bring blogging to the common people and then lead to a more organised web. Web syllogism and better management of information/knowledge.

Should find out more about Lotus Notes and Friendster.

[Wired News: Top Stories]


 

November 14, 2003
@ 05:52 AM

Another attempt at preventing music piracy. Lets see how long this one lasts.Wired News: Top Stories.


 

November 14, 2003
@ 05:20 AM

Could the entire universe be a hologram?  This Scientific American article considers the question.  [ via Xeni Jardin, who titled her post "hack the universe" and concluded "If the universe is a vast two-dimensional plane of information -- then it can be hacked." ]

Business 2.0 has an interesting list: 10 Technologies to watch in 2004.  (I copied it to my site because of their paywall).  Unlike many of these lists, I agree with this one.  The one thing I'd add: "video-on demand becomes real".

[Via: Critical Section]


 

November 14, 2003
@ 05:18 AM

Business 2.0 on The Card Sharks from Silicon Valley.  "An unlikely collection of computer jocks and math whizzes have been coming up aces in high-stakes tournament poker, the hottest new spectacle in televised sports."  I actually can't imagine watching poker on TV, but whatever, to each their own.  I guess it beats the reality shows with silly "boys meeting girls" themes.

[Via: Critical Section]


 

November 14, 2003
@ 04:54 AM

"Indian women currently bear an average of just under three children — a steep drop from the six of 50 years ago, but still above the 2.1 that would stabilize a population that already exceeds a billion people"

The NYTimes reports States in India Take New Steps to Limit Births; an interesting twist to Unnatural Selection.  "A new reckoning is under way in India over how best to stabilize a population that is set to surpass China's as the world's biggest by midcentury...  At least six [states] have laws mandating a two-child norm for members of village councils, and some are extending it to civil servants as well."  I suppose the leaders have to set the example, but of course it is not the leaders who have the high birth rate in the first place.  [ thanks, Gary ]

[Via: Critical Section]


 

November 14, 2003
@ 04:39 AM
40tude looks like a really cool newsreader. Did i waste $29 on NewsGator !!!!!!!!!!!???
 

November 14, 2003
@ 04:36 AM

code smell is a hint that something has gone wrong somewhere in your code.


 

Solution to the CollectionEditor problem. Collection of complex objects and how to persist the values at design time.


 

November 14, 2003
@ 04:07 AM

Paul Hounshell has this article about how to develop applications for which plugins can later be written.


 

November 14, 2003
@ 03:53 AM

From Dan Fernandez

Expansions are fill-in-the-blank snippets of code that have several benefits.  They help automate boiler-plate code constructs like looping through a collection using a foreach statement, they help reduce syntax errors and they're a perfect example of code-focused RAD.  One of the things you'll notice with C# Whidbey is the concept of code-focused RAD, meaning RAD isn't just limited to drag-and-drop wizards, we're going to add productivity features directly into the code editor where C# developers spend the majority of their time.


 

Excellent primer to what regular expressions are. Complete regex reference in the appendix. Roy Osherove.


 

November 14, 2003
@ 03:39 AM

Common mistakes with DataGrids

By Marcie Robillard (DataGrid Girl)

[Via: Artima Developer Buzz]


 

November 14, 2003
@ 03:31 AM

Cool !! Next time i go back home !! :D

[Via: Artima Developer Buzz]


 

November 14, 2003
@ 03:30 AM

Tip from the C# PM ...

Some people have taken this as an absolute rule, so I've been seeing lots of code that uses properties on every class. If you don't need the versioning advantages of properties, you don't need to spend the time writing lots of trivial properties (those where the getter and setter don't do anything special).

In fact, I'll say that a bit stronger. You probably shouldn't use properties unless you need them, as it takes more work and makes your classes harder to read and maintain.

So, when should you use properties that you don't need? My suggestion is to only use them at versioning boundaries. If a class and the classes that use it are always compiled together, than properties don't buy you any advantage. If they are compiled separately, then using properties instead of fields looks like a better idea.

[Via: Artima Developer Buzz]


 

November 14, 2003
@ 03:17 AM

[Via Dan Fernandez]

Introduction to C# Generics

Some snippets from the article for introduction ...

Generics allow you to define type-safe data structures, without committing to actual data types. This results in a significant performance boost and higher quality code, because you get to reuse data processing algorithms without duplicating type-specific code.

Consider an everyday data structure such as a stack, providing the classic Push() and Pop() methods. When developing a general-purpose stack, you would like to use it to store instances of various types. Under C# 1.1, you have to use an Object-based stack, meaning that the internal data type used in the stack is an amorphous Object, and the stack methods interact with Objects:

 public class Stack {
object[] m_Items;
public void Push(object item)
{...}
public object Pop()
{...}
}

Generics allow you to define type-safe classes without compromising type safety, performance, or productivity. You implement the server only once as a generic server, while at the same time you can declare and use it with any type. To do that, use the and > brackets, enclosing a generic type parameter. For example, here is how you define and use a generic stack:

 public class Stack {
T[] m_Items;
public void Push(T item) {...}
public T Pop() {...}
}
Stack stack = new Stack();
stack.Push(1);
stack.Push(2);
int number = stack.Pop();
On the surface C# generics look very similar to C++ templates, but there are important differences in the way they are implemented and supported by the compiler. As you will see later in this article, this has significant implications on the manner in which you use generics. Compared to C++ templates, C# generics provide enhanced safety but are also somewhat limited in capabilities.

 

November 14, 2003
@ 03:07 AM

[Via: Tao of the machine]

Your Brain Usage Profile

Auditory : 35%
Visual : 64%
Left : 44%
Right : 55%



Nishith Prabhakar, you possess an interesting balance of hemispheric and sensory characteristics, with a slight right-brain dominance and a slight preference for visual processing.

Since neither of these is completely centered, you lack the indecision and second-guessing associated with other patterns. You have a distinct preference for creativity and intuition with seemingly sufficient verbal skills to be able to translate in any meaningful way to yourself and others.

You tend to see things in "wholes" without surrendering the ability to attend to details. You can give them sufficient notice to be able to utitlize and incorporate them as part of an overall pattern.

In the same way, while you are active and process information simultaneously, you demonstrate a capacity for sequencing as well as reflection which allows for some "inner dialogue."

All in all, you are likely to be quite content with yourself and your style although at times it will not necessarily be appreciated by others. You have sufficient confidence to not second-guess yourself, but rather to use your critical faculties in a way that enhances, rather than limits, your creativity.

You can learn in either mode although far more efficiently within the visual mode. It is likely that in listening to conversations or lecture materials you simultaneously translate into pictures which enhance and elaborate on the meaning.

It is most likely that you will gravitate towards those endeavors which are predominantly visual but include some logic or structuring. You may either work particularly hard at cultivating your auditory skills or risk "missing out" on being able to efficiently process what you learn. Your own intuitive skills will at times interfere with your capacity to listen to others, which is something else you may need to take into account.


 

November 14, 2003
@ 03:03 AM

I like this word :)

Main Entry: syz·y·gy
Pronunciation: 'si-z&-jE
Function: noun
Inflected Form(s): plural -gies
Etymology: Late Latin syzygia conjunction, from Greek, from syzygos yoked together, from syn- + zygon yoke -- more at
YOKE
Date: circa 1847
: the nearly straight-line configuration of three celestial bodies (as the sun, moon, and earth during a solar or lunar eclipse) in a gravitational system


 

Roy points to NAntPad that lets you edit your NAnt script files using a GUI and then generates the .build XML file automatically.


 

This book by Brent Rector (Wise Owl Consulting) is one of the first to be published on Longhorn application development. The first chapter was released online on MSDN immediately after PDC 2003.

I read through the first chapter. Much more detailed than Dino's article that i had summarised.


 

November 5, 2003
@ 10:58 PM

Nikon has been holding this competition for quite some time now. Some really amazing images of the small world. Check out all the top prize winners. Also the past year galleries. The Molecular Expressions site has links to more galleries like this one.


 

November 5, 2003
@ 02:30 AM
All sessions from PDC 2003 ...downloadable slides and code.
 

November 5, 2003
@ 02:22 AM
Everything about weblogs. What they are, who uses them, how to start one and where to host a blog.