Stop Abusing SourceForge, Notepad++

Development, Misc April 16th, 2008

I was really shocked and offended when one of friends showed me the “Boycott Beijing 2008″ in Notepad++’s homepage. I respect the developer’s free speech, though I think it is totally wrong:

If you care about the human right in Tibet, come to Tibet and take a look. Do you remember how the media duped the US publicity about the Iraq war?

If you want to boycott the Chinese government with your poisoned prejudice, stop buying anything made in China like my boycott to French products, and leave the Olympic Games alone, the biggest dream for all the people over the world to compete with sports instead of politics.

Regardless, SourceForge is a platform to promote open source movement, not your personal opinion. If you posted in your personal blog, I won’t even bother to demonstrate my disregard at all. Please stop abusing SourceForge, Notepad++.

Django’s D-day

Development, Web April 7th, 2008

Google just released the Google App Engine in python development environment. The environment is loaded with WSGI, and Django 0.96 “for convenience”.

Just checked the Datastore API, it is a copycat of Django reference. Google’s engineers hacked the Django’s Model to support Google’s datastore, aka BigTable. Bang! Google Account is also supported via User API, no idea whether it is integrated to Django’s authentication framework though.

I am so glad that Google has made such a move, I can bet the Django users may grow exponentially in the following couple months. Today is Django’s D-day.

Suds makes the soapy world less slippery

Development April 5th, 2008

In the last post, I was whining about the bumps in the road when trying to consume a SOAP web service using python. Thanks to Olosta’s suggestion, Suds.

Suds logo The cute yellow rubber duck makes the soapy world less slippery. There is no need to generate execution code using an external tool like wsdl.exe for C#, just load the WSDL in the runtime, the ServiceProxy object would dynamically generate the function calls for you. It still in actively developed, salute to joetel.

Something needs to tailor to adapt to the Microsoft Office SharePoint Server: the connection persistence. As you may know, the default authentication used in SharePoint web service is NTLM, undocumented, but well known to the public. NTLM authenticates the connection, so in current suds implementation, each method invocation incurs redundant NTLM negotiation-challenge-and-response. I would dig more for this issue; stay tuned.

Who would be old school python developer?

Development April 3rd, 2008

Two posts (here and here) in programming.reddit.com discussed the state-of-the-art python IDEs. Two of them really arouse my interest: Komodo Edit and IronPython Studio which is honorably mentioned in the comment.

Komodo Edit is the shrunk-and-free version ActiveState’s flagship Komodo IDE. It is rooted in the same technology as Firefox, using XUL framework to render the UI, same Add-on mechanism to support 3rd-party package, and the UI is quite clean, eye-candy lacking in another term:

Komodo Edit in action

Furthermore, thanks to ActiveState’s generosity, there is an open source initiative openkomodo’s Snapdragon project to build a full-fledged IDE based upon the Komodo Edit’s code base. Though I suffer the huge memory footprint of Firefox from time to time, I still believe this is a much lightweight IDE compared to the versatile Eclipse.

Another option is IronPython Studio based upon award-winning Microsoft Visual Studio technology. Whether you like it or not, we have to admit that lots of programmers would feel at home when using familiar interface. However, strictly speaking it is not a python IDE, you are locked to IronPython, and most likely you could not resist the temptation to use .Net and WPF. And at the end of day, the ultimate question may emerge: “Why not use C#? The syntax is quite similar, and we are no longer treated as second-class developers.” I doubt that Silverlight may make a difference if you are not a Web developer.

The last but not the least question when I read through all the comments. I was quite amazed to find so few comments from the die-hard old school guys. Here is one comment about using Emacs and python mode, how about Vim users? Did they just disregard this kind of flame-prone discussion or already lost the faith to convince the other world?

So if you happened to be a heavy-weight Vim user and program with python, I would appreciate if you could drop a message here to share your experience.

Put another two eggs in the basket

Development February 18th, 2008

If you are a loyal reader of programming.reddit.com, you may consider Java is dying dead, and only very few developers are using .NET, most programmers in the world either use Haskell or ErLang, some die-hard old school may stick to their list, scheme. Period.

I am one of the readers. Programming Haskell demonstrates the beauty of the function language, and Glasgow Haskell Compiler (GHC) from Microsoft Research is able to generate native machine code to compete with native C program!

Erlang on the other hand is a dynamic language, so it pay off this flexibility by performance. I think this thread in Erlang mailing list is the best head to head of Haskell vs Erlang. Here is my summary:

  • Haskell runs fast due to its native code compiler with full static typing
  • Haskell’s laziness make it difficult to estimate the preformance
  • Erlang is reliable(proved by Ericsson) and shines on con-currency programming, for example Apache vs. Yaws

But language is not only factor that matters the success, the platform and library are. That is the reason most companies build their applications on Java or .NET as the ecosystem would not allow the two platforms fail. But quite a few start-up companies prefer PHP, Python or Ruby for their agility(is PHP an exception?) before the scalability point is hit.

As personal interest, I would rather put both two eggs in my basket, just for fun.