The Web goes on Strike!

While it may appear that this blog author is already on strike (it's been a very long while since I posted anything). This blog will go on strike tomorrow to protest against SOPA/PIPA.



So Apple just launched the iPad. A stretched iPod Touch. I guess this will be the best eBook reader around... 

But will it replace the Netbook? I don't think so. Apple is still pursuing their closed application development model. This mean that you will not be able to load anything on it that has not been approved by Apple.

The PC industry was born on openness. I very much doubt that Apple will get that many market share with a closed model.

The iPad inherit all the bad things of the iPod Touch/iPhone... Proprietary connectors, Apple controlled market, no multitasking, etc.

I guess the only thing that's good about the device it's the starting price. 499$ for the 16G Wifi only model is not too bad. It looks fast (but what do you expect on a device running a mobile OS with a CPU that is twice as fast).

I think I'll pass and wait for a tablet, slate, whatever you call it from Palm. At least WebOS is multitasking and it's build on openness.


Keeping an Open Mind

Reading my blog, most will find that I'm a Ruby and Java dude... While I often speak about having an open mind in my blog, for certain things, I have to say that my mind is not always open.

I've always kept my distances from Microsoft .Net. The main reason behind this is that I never felt that I would learn something from .Net. This framework has play catchup with Java for a long time. Now both Java and .Net are more or less equivalent beside the multi-vendor/multi-platform argument.

Recently, I was asked to help some of our teams on a fairly large C#.Net/MS-CRM project. They had huge performance issues and I'm quite good at solving these kind of issues.

While I never touched C# nor .Net before, I was pretty confident that I could at least be able to read and understand the code.

I accepted to give a hand. I picked up the code fairly quickly and after a few days I was proposing changes to the code to improve performance.

The first week, I spent essentially in learning basic C# (very similar to Java) and the .Net APIs.

By the second week, I was actively contributing and improving performance using more advanced C# features and getting comfortable with the APIs.

After that, I was demonstrating some features of the language that other team member did not know existed.

Was I right to keep my distance? Did I Not learned something? No and No.

While C# is very similar to Java, there are many more advanced features of the language that are very different. I have to say that after coding in C#, Java feel like an old language. I came to the conclusion that I like C# better than Java.

Why is that? Because I also like dynamic languages like Ruby. C# with features like lambdas, anonymous types, type inference, partial code block support (with the using(...) keyword), query syntax, object initializers and extension methods make it possible to implements things in a way that is more closely related to Ruby that to Java.

All these things I would like to be included in Java. But beside simple lambdas (with an ugly syntax) support slated for JDK 1.7, most of these features are not on the Java evolution time line.

All is not great with C# and .Net. By wanting to be similar to Java in the beginning, they copied a lot of the bad APIs that Java has. The monopolistic nature of the platform also shows in the IDE space. VisualStudio 2008 (I have 2010 installed but did not played a lot with it) is miles and miles away from NetBeans and Eclipse feature wise. And for a native application it is a lot more sluggish that any of the Java IDE. While you can extend this already expensive product with some other plugins like Resharper to make it more usable, it is still not a very good and usable IDE.

All in all, I glad I accepted this assignment. It did help me to open my mind a little bit more (and astonish some friends with this move to the "dark side"). While I don't feel like an expert in C#, I can now compare the .Net and Java platforms with a lot more insight than before. This will make me more valuable to my clients. This is a very good thing.

Keeping the mind open feels good!


Mocking me up!

I came by a nice little screen mocking tool. It's called Balsamiq Mockups.

The greatest thing about this tool is that your screen mockups will actually look like mockups. Making mockups with Visio or other tools will give the user a false impression of completeness. But with Balsamiq Mockups, it's clear that it does not represent the real thing... That there are still work to do.

While the result looks like a drawing, it still remains clean and readable.

This application is running under Adobe Air so it is available on any platform running Air (Linux, Mac, Windows). It is very easy to use and comes with a complete palette of widgets.

The only drawback I found was it's price... While at 79$ it is relatively cheap, as a Ruby and Java developer, I'm kinda used to free tools. However, there is really no equivalent for this tool in the free world and updates are free. So I guess this is a good investment.


_why programming is not so thankless

The Ruby world got shaken quite a bit last week. _why the lucky stiff, one of the most famous and productive member of the Ruby community, online persona vanished. Days later, little is know about the reason he's gone.

Many people are angry about this but most miss him.

The weird thing in all of this, is that _why is not his real identity. It's just the identity someone use to publish his work. Even when giving talks, he never used his real identity. While I guess it is a bit bizarre to be a public figure and making so much effort to hide one's real identity, it does gave him the power to completely vanish. And by the effect this has on the net, this is pretty amazing.

Programming is rather thankless. you see your works become replaced by superior ones in a year. unable to run at all in a few more. - _why

Being a software developer, this quote from _why rings a bell. It is true that the work we do is often replaced or deprecated in a very short time. But this does not mean that it was worthless. On the contrary our work, if being replaced or deprecated, does survive in many ways. At worst, it gave an example on how not to do things. At best, it inspired others and gave them ideas  on how to do things better, on how to improve our art.

Maybe _why felt strongly about how fast some of his code was replaced or became obsolete. But what I see is that his code is still wanted. The sites and repository he maintained have disappeared, but  the Internet is very resilient and the community help his code and his contribution survive. Many care about his work and this is something that will never disappear.

Is programming rather thankless? I don't think so!

AdSense Links