Information Technology Blog

Sunday, April 09, 2006

WTF: .Net error message

I’ve got this message while running .NOT application. I don’t remember seeing message as useless, confusing and funny.

The CLR has been unable to transition from COM context 0x1a1c98 to COM context 0x1a1e08 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.

Monday, April 03, 2006

Why not WebStart?

I think that WebStart is a much better way for implementing web 2.0 highly interactive and productivity applications then Flash and AJAX. Flash is really good for advertising, simple games and other “eye candies”. AJAX is really good for something you would visit on a rare occasion or/and requires something slightly more interactive then dumb HTML form. For serious applications one needs a platform which is scales well. I’m looking at any of the productivity tool @ http://web2.0awards.org/# and can’t help myself thinking that it’s a “black art” trying to implement something like spreadsheet or a word processor using CSS + HTML + JavaScript + DOM + AJAX + [ PHP | whateverserverside ] + [ Flash ]. I just don’t think this is a right tool for the job.

WebStart gives you that scalable application platform. The only downside is the download time. Wait ..., how many hundreds of megabytes of c[ode|rap] your windows automatic update downloaded(wasted) to keep your windows machine operational? See my point?

Important point number 1: If automatic updates never go away, would it make sense to make it the foundational element of the future operating system? Why do I also need to spend much time updating my applications? Why don’t I just start my application and by design it will do whatever it needs to do (perhaps with my permission). This is what WebStart was designed to do:
  • You can make just about any Java application work using WebStart
  • It will automatically check latest version if you are connected to the net
  • You can still use your apps it if you are disconnected.
  • You get rich user interface applications instead of lame web app one
  • You don’t have to trust the code from the net, you may run the code in the sandbox.

Important point number 2: There were at least four things that got the Sleeping Giant caught with pants down: Internet, Netscape Browser, Java, Linux. This is exactly the reason why we have XML on everything, IE, .NET and WS if you catch my drift. There were much better technology ideas like Applets, WebStart, RMI. There were several obstacles thought: the bandwidth, JVM compatibility, java scare and difficulties distributing JVM with operating system. Most if not all of these obstacles are gone now. In some very funny and ironical way Micromedia with Flash were an accidental winners making sure that Flash is gaining momentum (installed base) while Sun and Microsoft are fighting over Java. We might be on the long XML – WS – Flash detour right now.

Remember Corel Office implemented in Java? Is there lesson to be learned? Java was not ready at the time for the application of that scale. The same is true for AJAX today. Just imagine software project with 100k or so lines of Javascript. Think architecture, components, quality control, compatibility. Think staying online just to be able edit document etc.

Flash is very good for very nice looking presentation type things and simple games. It’s tailored for designers and that were it’s main strengths coming from. It’s not a software development tools in the same sense as say C and Java compilers are for example. Try developing software with Flash development tool and you will soon realize it doesn’t scale ether.

Does anybody else think that something like Java + WebStart is the way of the future? Ither that or .Net

http://web2.0awards.org/#

Awesome interviews, more coming:

http://web2.0awards.org/#

Sun Developer Days 2006

Few words about Sun’s Developer day’s event: big thanks to everybody who was involved organizing event – very much appreciated. It was also nice to see many old friends and coworkers. Here is Manfred’s blog with more details:

I found following bits of information interesting ( Slides are available from here ):


  • There are 1.5 billion Java enabled phones.
  • Mac has a faster and more efficient GUI, swing flies on it unlike on Linux where it’s too slow. This is apparently has to do with X.
  • Check out OpenSolaris.org for Sun’s source code.
  • dev.java.net is just like sourceforge.net but for java projects only.
  • eBay has 4 million of lines of java code. (Vista for example has 40)
  • JavaCreator best suited for developing Web apps. It has full “round trip” editing for the generated code.
  • BlueJ is and IDE for kids and for learning programming.
  • Today, JVM is preinstalled by most vendors with JNLP and such.
  • James Goslings has mentioned an interesting book: Computer Architecture by Patterson & Hennessy 2006
  • According to James Sun’s new 8 core * 4 Hardware Threads architecture is like 32 ways SMP machines in terms of performance.
  • SwingX is a next generation of Swing
  • Netbeans platform Framework is very small; everything in Netbeans is a plug-in just like in Eclipse.
  • Try SVG and Java2D mobile for mobile devices! Very cool demos.
  • https://glassfish.dev.java.net/ is a free application server – it uses JavaDB (AKA Apache Derby).
  • Check out Java blueprints – there are examples an AJAX
  • Webstart is nicely integrates with Netbeans
  • Check out JavaDB performance, it seems like it’s a lot faster then most people think.: 600 trx/s in memory & 60 trx/s on disk