Come on Microsoft, where is my linker???

During the past 7 years, all .net developers somehow had to face the problems of users with no .net framework installed. We all faced it, we all dealt with it, and we all hate it!

.Net framework itself is a COM component actually, and COM is a technology that has roots in OLE which goes back to 1995. Even though some parts of the .net framework require other software to be installed in the OS, not all parts have this requirement. So in theory, the whole framework can be redistributed as a native dll. In practice, MS wants us to install the runtime.

There are companies like RemoteSoft and Xenocode who sell products that package necessary parts of the framework along with the actual software written in C#, VB.NET ,etc, compile the whole thing to native code and deploy it as a single package. This is great! This is what we all want. A single file just like in the old days.

Unfortunately, MS does not give us a tool for this. Well, we have NGen of course, but it solves a part of the problem, the whole thing still requires a separate tool, and these tools are expensive. VmWare now has thinapp, which used to be thininstall, and their prices and licencing is also way out of my reach. If I wanted to develop a small widget that’ll just sit in the taskbar, why should I force users to download a 23 MB runtime for it? Why should not I be able to use C# for all my work, without being afraid of deployment blues.

Since there are companies who does this, this is doable. I guess there are also legal problems if I wanted to do this, becouse I’d be distributing parts of framework in some form, which probably requires permission from MS.

This is one neat feature that I’d love to see. Come on MS, give my linker!!!

Mobile web development, not attractive for Microsoft anymore?

I’ve build a mobile web site a while ago, which provided xhtml based access to an e-commerce site. I’ve done the development with vs.net 2005, and when I migrated to vs.net 2008, I decided to move that project into new vs.net.

Guess what,  mobile web form designer features are gone. They’ve been gone from vs.net 2005 with sp1 for vs.net 2005, but designer support simply does not exist for vs.net 2008

I guess the general approach to mobile web development is to consider it as a moving target, which will eventually merge with the not-mobile web. New mobile devices and new mobile browsers, especially IPhone and Safari on it is quite capable, it can even run a tricky google web toolkit site I’ve build a while ago. Apperantly MS is just passing the effort for mobile web development, and waiting for the devices to catch up. Meanwhile, there are existing projects, like mine,  which have to maintained. I am not happy about keeping the whole vs.net 2005 ide just because of a single project. Vs.net 2008 sp1 does not seem to change much either. Come on MS, give my designer back.

Current winner for JSF development: Netbeans

I’ve just started porting a Google Web Toolkit project (a small one) to JSF, and this time, I have to admit that none of the choices I’ve tested on Eclipse is a match for Netbeans 6.1. Once you get the basics, JSF development is not about visual designers etc, but current solutions on Eclipse platform are way unintuitive compared to usual unintuitive state of Eclipse tools 🙂

I’m not happy about switching tools but I’m really not comfortable with Eclipse based ones. The list includes MyEclipse, Oracle’s solution (ex BEA), and a few others. Let’s see how Eclipse will perform in this field in the future.

I’d love to see Instantiations develop a JSF designer.

OpenVPN, lessons learned

I’ve just setup OpenVPN on a windows xp machine, and found out that there are both good and bad sides of it. Good thing is; if you do not deviate from the well known scenario, follow the howtos, you’ll mostly make it fairly easily on windows.

Bad thing is; I rarely stay within well known scenarios, and I wanted a bridging setup. This means creating a virtual adapter and bridging it with an existing phsyical adapter. Lesson learned: on a windows machine with 2 nics, choose the one with default gateway to internet for bridging with the virtual adapter. You can use the other nic too, but I could not figure out how to connect that subnet to internet so that I can relay all traffic over vpn.

Routing seems to be a little hard to configure in MS, or with a better description of situation; I could not see many docs that migh help me out in this specific context. Anyway, I got it working, and I’m pretty happy with the performance. I’ll try to fix that subnet routing issue too.

Explain this to me please

I’ve just fixed a problem with a Thomson 580 Speedtouch adsl modem/router. The problem is, the web gui does not save any settings you’ve done, and even though applying them works, if you restart the modem for any of the bazillion reasons, like power outage, angry girlfriend, choked embedded code on modem, you say goodbye to all your settings.

The question is : “How on earth can you release a product without testing this functionality?”. Did not anyone bother to check if the web interface actually saves the settings?

The solution by the way, is to use telnet to issue a few commands and save the settings again via telnet commands. I am shocked that this is a product that is produced by a supply chain. Here you go, a wireless modem that has the memory of a gold fish, hope you’ll enjoy it. If I’d done something like this, my clients would probably kill me, if they could get to me before I commit suicide due to embaresment.

Google Chrome, a serious attempt

Google has just announced that they will be releasing their own open source browser: Chrome. They’ve preferred an interesting approach instead of a press release, and they’ve posted this comic which tells us what Chrome is all about.

Google has been investing in different domains, and I can see them focusing on two main targets: becoming a data processor who provides information using huge amounts of data, and an application provider who focuses on web based apps.

Chrome shows that Google will be attacking the web based application development domain harder. They already have solutions like Google Gears and Google web toolkit which give a serious set of abilities to web based applications. Actually, when you include google gears in the mix, browser based applications is  a better definition, because you can even use browser based applications that use google gears when you are not connected to internet at all. In this approach, web becomes a distribution medium, and browser becomes the platform.

So why a browser of their own? Simple, the controlled environment advantage. During my use of Google Web Toolkit, I’ve noticed that even if Google has spent a huge effort for providing a cross browser solution, there are various problems ranging from performance to compatibility issues. Especially when you start pushing the technology towards less used features and scenarios. Microsoft has created a tremendous advantage in the past by focusing on its own controlled ecosystem, and Google is doing the same (at least attempting to do the same) with Chrome. Join Google Web Toolkit, google hosted apps, and google gears with a browser, and you have all you need for large scale web apps which can compete in the enterprise systems and business applications field.

On the other hand, Microsoft is pushing very hard to make sure that the user experience on their platforms is unique, and WPF and Silverlight is an answer to Google, although it does not have anyting like Google hosted apps at the back.

One other thing to remember is that Google has tried other products and domains before, and there is now  huge pile of abandoned products by Google, which shows they have not found what they’ve been looking for in those domains. If Google Chrome fails, failure being not being adopted as a serious application development platform, then Google is in serious trouble. They are trying to pull web based applications and their development to a new approach, which is defined and dominated mostly by them. If they fail, this will encapsulate them into search domain only, which is a questionable benefit in the long run.

This is one project I intend to track, and of course test. I can see Chrome working really nice with Google Web Toolkit applications and having a very strong JavaScript support.