Blog of Chat

March 26, 2008

Single source code base for Silverlight and WPF solutions

Also see: Why Yahoo should say Yes to MicroSoft

At Mix08 , several people asked me about the possibility of creating a single source base for both WPF and Silverlight.  The scenario folks had in mind was to provide a reach solution with Silverlight that hits *ALL* possible users while also offering a really rich solutions for some users on full WPF (.NET Framework 3.0 or 3.5). 

This is a clear benefit of the Microsoft Ux platform.. We have worked hard to get a smooth continuum between WPF and Silverlight… Basically if it works in Silverlight you should be pretty sure it will work on WPF. 

I was chatting David Anson (one of the developers of the Silverlight 2 controls) and he mentioned that the shipping versions of ListBox and ScrollViewer were written this way!   That is right, to test out the continuum message, David built ListBox and ScrollViewer for Silverlight in such a way that the run (and past unit tests) on both WPF and Silverlight.  

Now, in and of itself, this is not all that interesting, because WPF already has a ListBox and ScrollViewer, but it does serve as a nice test case to demonstrate how you can build controls and applications that work on both Silverlight and WPF. 

Because we shipped the source and unit tests for the Silverlight controls, you can check this out yourself ! 

In addition, David did a nice blog detailing the work he did and why and posted the test project you can try out as well. 

On a related note, be sure to check out the final step of ScottGu’s Silverlight 2 tutorial…  Notice how easy it is for him to make a WPF application out of it.

(more…)

The Internet is Officially Dead & Boring - Its the economy stupid !

Also see: Bloggers in the Mavs Locker Room ?

Also see: When Will Foreign Ownership of US Sports Teams Start ?

Also see: Blogging and Newspapers, a Lesson in How Not to Brand and Market

There was a lot of discussion about my previous posts here and here. My point is that the internet is a stable platform. Its a utility. Its evolved to the point where you can count on it and develop applications for it without much fear that its going to change.

What confirms my point is that with all the talk of a possible or existing recession, not a single mention is ever made about how increases in productivity from technology will pull us through. That is counter to the recessions of the past 25 years. Whether it was the early 80s, the 90’s or even the post bubble , economists and others pointed to technology as a catalyst to productivity that would help pull us out of our economic doldrums.

When there were boomtimes , as we saw from about 91 to 2000, technology was given the lions’ share of the credit.

So where are the claims of further productivity enhancements from technology ? They are no where that I can find.

In fact, we can start to make arguments to the contrary. That technology and in particular social network and video sites can be a hindrance to productivity in the workplace.

Further arguments can be made that the MSFT YHOO potential merger is further evidence that the technology industry is maturing.

It is what it is.

Permalink  | Email this  | Linking Blogs  | Comments

http://www.blogmaverick.com/2008/02/10/the-internet-is-officially-dead-and-boring-its-the-economy-stupi/

New posting on MSDN about script leak patterns and how to fix them for anyone that builds dynamic web apps.

Also see: A Couple of My Rules for Startups

Also see: A Quick Fix for the Validator SetFocusOnError Bug

Also see: Why I hate Radio

Over here on the IE team we take leaks seriously. Extremely seriously. This is contrary to the popular opinion, but I’ll let you make your own informed decisions. My new posting on MSDN is specifically designed to help you identify and fix several patterns of leaks. These range from your basic circular reference to your more complex (and more popular) closure based leak. Hopefully this new material can help you identify and exterminate all of the leaks in your code. If you have questions about the article feel free to post here or over on the IE team blog and I’ll try to respond to any non-flaming responses ;-)

MSDN: Leak Patterns in IE


http://weblogs.asp.net/justin_rogers/archive/2005/06/20/414052.aspx

Chris Sells

Also see: Memory Model

Also see: Win friends and influence your team

Also see: 2,433 Unread Emails, I feel your pain..

So if you read my career history (which isn’t mandetory to understand the rest of this post) you will see that I spent a bunch of time working on Microsoft’s WFC and then WinForms for.NET. In the later part of this, I got the chance to meet Chris Sells. Chris wrote, debugged, and deployed what I believe to be the first real over-the-web Windows Forms application (wahoo ). In the process he continued to find bugs and issues with our deployment and security model. Hopefully with the release of Everett (.NET 1.1, should be out “soon”) most of these issues will be resolved. Just had to give chris props… you rock! :)
http://www.simplegeek.com/permalink.aspx/26

From C# to Java: Part 5

Also see: Bloggers in the Mavs Locker Room ?

In the transition from C# 1.0 to C# 2.0, they added
generics.  This was an enormous improvement.  Huge.

(At first I was actually kind of skeptical of generics. 
They reminded me of C++ templates, the use of which I had opposed on several
occasions.  But my 1993 reasons for advocacy against C++ templates really
weren’t relevant to the C# generics in 2005.)

So when I started my recent exploration of Java, one of my
main questions was:  Are the generics in Java 1.5 similar to generics in C#
2.0?

The answer:  Sort of.  Not really.

To be fair, I’ll admit right up front that Java generics are
better than no generics.  I’m using them.  They work just fine in practice for
most situations.

But they’re fundamentally different from C# generics.  In
C#, a generic is implemented at the CLR level.  When you instantiate a
List<T>, at runtime it will generate an implementation of a List which is
specifically for type T.

When TPTB added generics to Java, one of their goals was to
avoid the need for any changes to the VM.  So Java’s generics are implemented
at the compiler level using a technique called “type erasure”.  Basically, the
Java compiler does all the necessary type checking, but then it throws the
parameterized type information away and generates regular collection code. 
This has a few consequences which are rather unfortunate:

  • Since the parameterized type is no longer present in the
    bytecode, reflection doesn’t show it.

  • The compiler inserts all the casts that you would have had
    to write if you were using the non-generic collection class directly.

  • In a generic collection of a primitive type, the
    parameterized type gets boxed.

(more…)

Claimspace: Against a Well-designed Reputation System

Also see: A Couple of My Rules for Startups

Clay Shirky recently published a post on Corante, entitled ”Against Well-designed Reputation Systems (An Argument for Community Patent)”  that I’ve been meaning to respond to, for awhile. His thesis, which I agree with wholeheartedly if I understand it correctly, can be summed up as ‘Don’t do it. Don’t even think about doing it.’

Clay, rather than respond to your post with a post, I will instead respond with a working implementation of an alternative approach to social evaluation (same ends…different means). Due out in alpha in the next few weeks, I believe that Claimspace  demonstrates my agreement with your observations and reservations about the risks inherent in developing a traditional ranking and reputation system. Claimspace  speaks louder than words. It may even prove useful as a social evaluation platform for community patents.

A favorite passage from Clay’s post :

“The obvious conclusion to draw is that, when contemplating the a new service with these characteristics, the need for some user-harnessed reputation or ranking system can be regarded as a foregone conclusion, and that these systems should be carefully planned so that tragedy of the commons problems can be avoided from launch. I believe that this conclusion is wrong, and that where it is acted on, its effects are likely to be at least harmful, if not fatal, to the service adopting them.

(more…)

March 25, 2008

Spring Web Flow features and feedback request

Keith Donald over at Spring Source blogs about what the latest Spring Web Flow release has to offer and requests feedback from the Java/Spring community on these newest inclusions.

Also see: Microformats are like RFID tags for the Web

Also see: Sometimes, it’s the small things..

Also see: Bloggers in the Mavs Locker Room ?


http://feeds.feedburner.com/~r/techtarget/tsscom/blogs/~3/252297924/thread.tss

Why should I be optimistic about Trolltech and Nokia?

Also see: Determining Whether a File Is an Assembly

I know, I know.  Pessimism just isn’t very attractive.  But
sometimes an optimist can’t find anything to say.

A couple of weeks ago, Trolltech
announced that they are being acquired by Nokia.  I decided to simmer for a
couple weeks before making any comment, but my perspective has not changed.  I
just can’t see this as good news.  Bluntly, I assume this will be the death of
Trolltech.

And that would be a shame.  Trolltech is on my short list of
software companies that I admire.  Their product, Qt, has an amazing
reputation.  Technologically, it seems to be the top dog in a space which is
crowded with lots of people trying to offer solutions to a very tough set of
problems.  Trolltech plays well with both the open source world and the
commercial world, and they make a heckuva lot of money doing it.  I’m
impressed.

(But I still wish they would put the pricing back on their
website.  Yep, the unnamed company in my Sales Guy Tantrum last
month was Trolltech.)

I have no affiliation with Trolltech (or Nokia).  I am not
even a customer (of either one).  As someone who is very interested in the
business of software, I just hate seeing a good software company morph into a
bad one.  Nokia is a great company and I’ll be happy to see them prove me
wrong, but in general, when a software company gets acquired by a non-software
company, it immediately begins a steep and steady decline.

(more…)

SourceGear at SD West next week

Also see: Channel 9 Interview

SD West is next week
and SourceGear has a whole bunch of stuff happening:

Fortress 1.1 and Vault 4.1

We like to use trade shows as a public debut of new
products.  Last week we
shipped
“dot one” releases
of Vault and Fortress.  SD West
will be our first opportunity to talk with customers in person about these new
versions. 

Interactions like these are a big part of what makes a trade
show trip worthwhile for us.  The business of software can be so impersonal. 
Software flows out our T1 line.  Money flows in.  I love trade shows because
they’re a place where customers are not just rows in a database.  People stop
by and tell us they love our product.  We thank them.  People come and tell us
we disappointed them.  We listen.

But mostly, people come and ask us what’s new.  We show
them.  And their reactions are some of the best product feedback we get.

Fortress 1.1 and Vault 4.1 have some cool new stuff.  Here’s
a shot of the new “tag cloud” feature in Fortress:

src="http://software.ericsink.com/entries/1738_image001.gif"/>

Come see us in booth 308 next week and we’ll show you.

T-Shirts and Comic Books

align=right hspace=12/>Continuing our Evil Mastermind theme, we
have arranged to have a comic book placed in the conference bag for every
attendee.

(more…)

Applied Metamodelling: A Foundation for Language Driven Development

Also see: An Interview with Robin Milner

Applied Metamodelling: A Foundation for Language Driven Development (2004)
by Tony Clark, Paul Sammut, James Willans

An excerpt:

Language-driven development is fundamentally based on the ability to rapidly design new languages and tools in a unified and interoperable manner. We argue that existing technologies do not provide this capability, but a language engineering approach based on metamodelling can. The detailed study of metamodelling and how it can realise the Language-Driven Development vision will form the focus for the remainder of this book.

In software engineering circles the term “language driven development” is synonymous with “language oriented programming”, a term which LtU members are more familiar with (thanks to Martin Ward’s article Language Oriented Programming which first appeared in 1994, and then Martin Fowler’s essays on the topic). The book hasn’t appeared on the radar here on LtU, despite 41 citations. I suspect this is due in part to only one citation at Citeseer , and the lack of cross-talk between computer scientists and software engineers.

There are a lot of similarities between the XMF language (discussion at LtU ) and that of the Katahdin language (discussion at LtU ). Other related discussions here at LtU, include Language Workbenches: The Killer App for DSLs - about the essay by Martin Fowler, Ralph Johnson: Language workbenches - a response to Fowler’s essay, XActium - Lightweight Language Engineering? - which discusses an essay about a previous version of XMF, Generating Interpreters? , Language Oriented Programming - discusses an essay by Jetbrain’s Sergey Dmitriev, “Language Oriented Programming” Meta Programming System - discussion of the Jetbrain MPS system, The DSL, MDA, UML thing again… - an older discussion on the relationship between DSLs and MDA.

(more…)

Get free blog up and running in minutes with Blogsome
Theme designed by Jay of onefinejay.com