<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-50396618185792712</id><updated>2011-11-27T16:13:01.208-08:00</updated><category term='Flex mobile'/><category term='Python'/><category term='clustering'/><category term='GWT'/><category term='cellphone'/><category term='Qt Creator'/><category term='PC World'/><category term='APC'/><category term='Facial recognition'/><category term='China'/><category term='Ext Designer'/><category term='Google TV'/><category term='IE9'/><category term='VirtualBox'/><category term='ActionScript'/><category term='Zend Framework'/><category term='PyGTK'/><category term='Windows'/><category term='Flash mobile'/><category term='Apple'/><category term='RIA'/><category term='desktop application'/><category term='Leopard'/><category term='Emulation'/><category term='GUI'/><category term='GTK'/><category term='C++'/><category term='EXT-GWT'/><category term='Node.js'/><category term='Picasa'/><category term='Browsers'/><category term='Flash'/><category term='node'/><category term='Linux vs Mac OS'/><category term='accelerator'/><category term='Chrome'/><category term='AI'/><category term='cloud hosting'/><category term='Mac OS'/><category term='performance'/><category term='iOS'/><category term='Virtualization'/><category term='Android'/><category term='Facebook'/><category term='merge'/><category term='Adobe'/><category term='Gears'/><category term='jQuery'/><category term='MySQL'/><category term='cloud computing'/><category term='Flash Builder'/><category term='Geeks'/><category term='Chrome OS'/><category term='theme'/><category term='Rails'/><category term='LG eve'/><category term='DOJO'/><category term='Java'/><category term='Google'/><category term='JavaFX'/><category term='PHP'/><category term='Android 2.2'/><category term='Flash Builder 4'/><category term='webdevelopment'/><category term='Mexus One'/><category term='iPhone'/><category term='Firefox'/><category term='iTunes'/><category term='FDT'/><category term='VMware'/><category term='Icon'/><category term='Ext js'/><category term='Linux'/><category term='Eclipse'/><category term='RoR'/><category term='CMS'/><category term='Qt4'/><category term='Appcelerator'/><category term='MacBook Air'/><category term='Ubuntu'/><category term='Tablet'/><category term='iPad'/><category term='JavaScript'/><category term='neirds'/><category term='RAD'/><category term='FLEX'/><category term='Dance'/><category term='replication'/><category term='Silverlight'/><category term='binding'/><title type='text'>Web Tech Talks</title><subtitle type='html'>Articles about web development techniques and web technologies</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-2273868633303086762</id><published>2011-08-06T15:54:00.000-07:00</published><updated>2011-08-06T16:30:33.263-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux vs Mac OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Mac OS vs Linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://mecandes.poverellomedia.com/wp-content/uploads/2009/03/n844665267_3261940_40911.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 249px; height: 300px;" src="http://mecandes.poverellomedia.com/wp-content/uploads/2009/03/n844665267_3261940_40911.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have been using a Mac for a bit more than a year now. I bought a Macbook Air second generation. This was the most expensive laptop I have ever bought. But I thought: I am fed-up of fixing problems with my Windows OS or Linux; and I have work to do! So the Mac seemed to be a good option.&lt;br /&gt;&lt;br /&gt;It worked indeed. It really really worked well. Mac OS is a really nice thing. The hardware is also really nice. You pay the price, but it is totally worth every dime.&lt;br /&gt;&lt;br /&gt;After almost a year, I felt something strange...&lt;br /&gt;I felt the need for more...&lt;br /&gt;&lt;br /&gt;My system was indeed nice, stable, good looking and everything you would want a computer to be. But I had a need for more...&lt;br /&gt;&lt;br /&gt;I though that I needed a faster Mac. I though I had to buy a iMac 27" i7 so I could do stuffs faster... and bring a bowl of fresh tech air on my desk. I hesitated...&lt;br /&gt;I thought maybe, I should buy a tablet! Not the closed iPad but; the Acer Eee Pad transformer! Half tablet, half notebook! That seemed nice indeed!&lt;br /&gt;&lt;br /&gt;I thought about all that... and saw a Win7 laptop on sale at $299 at Future Shop.&lt;br /&gt;I bought it thinking this could be a nice backup for my Mac. I mean, when I need to have a computer available, and I don't want to carry around my (almost) $2,000 toy; this laptop could be great. And it makes much more sense than a tablet at $500 able to do less!&lt;br /&gt;&lt;br /&gt;So... I bought it... I cleaned Windows... I installed Ubuntu. I had to fight the cheap hardware to make it work properly and I "wasted" some of my precious time tweaking every part of the OS to make it really usable...&lt;br /&gt;&lt;br /&gt;After playing around A LOT with my cheap Ubuntu Natty laptop; and after over one year using a Mac, here is my conclusion:&lt;br /&gt;There is a lot of time "wasted" using and configuring and playing around with Linux... But I missed that!&lt;br /&gt;&lt;br /&gt;The time is not really wasted! It is GREAT! you just don't stop learning things with Linux...&lt;br /&gt;&lt;br /&gt;Mac is indeed super intuitive, and user friendly. But I noticed I had a big lack of hacking around and openness which is part of my job as a developer.&lt;br /&gt;&lt;br /&gt;Mac is simple and stable, so it is supposedly unleashing your creativity... but, hacking around pushes you out of the box whether you want it or not. It makes a creative person out or you, naturally.&lt;br /&gt;&lt;br /&gt;After spending time working on Linux (BTW that was my OS of choice for 3 years before switching to Mac), you have this need and hunger for tweaks and extreme customization and optimization... This hunger will stick in you; and this is a good thing...&lt;br /&gt;&lt;br /&gt;Conclusion, we really need both, I guess !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-2273868633303086762?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/2273868633303086762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2011/08/mac-os-vs-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/2273868633303086762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/2273868633303086762'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2011/08/mac-os-vs-linux.html' title='Mac OS vs Linux'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-226357619637387271</id><published>2011-06-05T05:38:00.001-07:00</published><updated>2011-06-06T05:03:39.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='RoR'/><category scheme='http://www.blogger.com/atom/ns#' term='Appcelerator'/><category scheme='http://www.blogger.com/atom/ns#' term='node'/><category scheme='http://www.blogger.com/atom/ns#' term='Node.js'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Node.js is the next big thing!</title><content type='html'>&lt;div style="float:left;background-color:#777;margin: 10px;"&gt;&lt;br /&gt;&lt;a href="http://nodejs.org/logo.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 420px; height: 111px;" src="http://nodejs.org/logo.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;OK, this title is a bit provocative, I must admit. But how can I get traffic on this website otherwise?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what is all the fuss about Node.js? It seems like some people say it is "&lt;b&gt;the next big thing&lt;/b&gt;" with a community and popularity exploding in a way never seen before (not even when Rails was popular... OK, I know it still is...).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;b&gt;So... why is that? What makes a "new" technology a success?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;About rails...&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;For Ruby-on-Rails, it came from both sides of the business: the developers and the businessmen (guys with the money). The developers were seduced by a very nice, professional and structured framework; easy to use, quick, elegant and producing impressive results fast. &lt;/div&gt;&lt;div&gt;On the business side, it is all about money. So when the business guys understood they could save a lot of money in development and time to market they just said: "WE WANT RAILS DEVELOPERS". Rails naturally became the preferred choice for startups.&lt;/div&gt;&lt;div&gt;I believe that for Rails the business influenced the adoption of the framework even more than the developer's community. I am saying that because the technology behind the scene is not that seducing for a developer... It is an exotic language (Ruby), the performance are pretty bad, the learning curve is pretty harsh if you want to develop something really different and still take advantage of the advantages of RoR.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;About Node...&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:large;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;For &lt;a href="http://nodejs.org/"&gt;Node.js&lt;/a&gt; it is kind of the same story; but in "better" I would say... For a developer, Node is VERY EXCITING: It uses 100% well known standards (JavaScript and C/C++). It is low level enough so you can do whatever you want with it. It is CRAZY fast (as based on the respected V8 engine developed by Google). It is easy to get started with. And it could be the developer's grail; enabling a dev from A to Z with one and only language (JavaScript which again, everybody already knows).&lt;/div&gt;&lt;div&gt;Conclusion: I AM SUPER EXCITED about Node! :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the business side, they are getting this could also save a lot of money. It requires very little server's resource comparing to Rails or even Apache+PHP; so you can start with small money on the hosting infrastructure (BTW it should also uses less bandwidth). The developers knowing JavaScript are very numerous and ready to go today; so according to the demand and supply law, you could find cheap developers ;-) (OK it is theory). It is made for real-time communication; and thus ready for the next social and collaboration apps...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;One last argument...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;The fact that JavaScript will be used on the client side and server side with node is actually a &lt;/span&gt;&lt;span class="Apple-style-span"&gt;big one&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;... Especially if you consider building apps for all platforms, including mobile which is the current big business hype.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;With a solution like &lt;a href="http://www.appcelerator.com/"&gt;Appcelerator Titanium&lt;/a&gt; you will also use JavaScript for the desktop version, and the mobile version. This means that you would REALLY have JavaScript everywhere... You can save a lot of time using a part of the same code on all sides. For example you could have some data integrity checks performed on the client side (attached to a form), then on the server with node; but also on the client side in your iPhone and Android apps; all of that with the same code...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:large;"&gt;&lt;b&gt;You know what I mean now?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-size:large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;That's right! This technology is pretty convincing for both sides of the business... What? is there a third side? ... yes, maybe the designers... It is true that another thing which made Rails a success was the design. The admin interface and design guidelines recommended by 37signals are a delight for designers (it seems, I mean they told me). Now, seriously... That is not the missing part. The only thing missing would be a big success story like 37signals'tools or Twitter (RoR)... or FaceBook (PHP).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will come soon for sure. And anyways, the developers actually rule the Internet world; so this thing can not go wrong! also, there is nothing to lose as the learning curve is close to 0.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BTW I am kidding about the developers ruling the Internet.... or am I?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another interesting &lt;a href="http://mashable.com/2011/03/10/node-js/"&gt;&lt;b&gt;article about the subject here&lt;/b&gt;&lt;/a&gt; (&lt;b&gt;&lt;a href="http://mashable.com/2011/03/10/node-js/"&gt;Why Everyone Is Talking About Node&lt;/a&gt;&lt;/b&gt; by Jolie O'Dell) and yet &lt;a href="http://codeofrob.com/archive/2011/04/30/5-reasons-to-give-node-js-some-love.aspx"&gt;&lt;b&gt;another one here&lt;/b&gt;&lt;/a&gt; (&lt;b&gt;&lt;a href="http://codeofrob.com/archive/2011/04/30/5-reasons-to-give-node-js-some-love.aspx"&gt;5 reasons to give node.js some love&lt;/a&gt;&lt;/b&gt; by Rob Ashton).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-226357619637387271?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/226357619637387271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2011/06/nodejs-is-next-big-thing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/226357619637387271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/226357619637387271'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2011/06/nodejs-is-next-big-thing.html' title='Node.js is the next big thing!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-7251740272005747677</id><published>2010-12-13T05:32:00.000-08:00</published><updated>2010-12-13T05:45:12.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flex/AIR for mobile devices... new thought about Flash builder Burrito</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flex.org/images/tdfss150.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 242px;" src="http://flex.org/images/tdfss150.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;In a previous post, I was saying that Flash might be the only real solution for cross-platform development (Web, Desktop, Mobile). After testing some more it seems like it is not that easy... For example, I thought the only requirement for AIR and Flash to run on Android was having Android 2.2 or up... It seems like it is not the case.&lt;br /&gt;&lt;br /&gt;I updated my LG EVE (GW620) cell to Android 2.2 with &lt;a href="http://openetna.com/openetna/"&gt;OpenEtna&lt;/a&gt;. I was very excited because I wanted to test the AIR app I developed with &lt;a href="http://labs.adobe.com/technologies/flashbuilder_burrito/"&gt;Flash Builder Burrito&lt;/a&gt;. I could not find Flash and AIR in the App Market... but I could find "&lt;a href="http://flex.org/tourmobile"&gt;tour de mobile flex&lt;/a&gt;", so I installed it.&lt;div&gt;Launching it, I had the usual message asking me to install Flex; but it could not be found on the market again...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After a few research online, it seems like AIR/Flash mobile are not only limited to Android version but also to the kind of CPU on the device. It seems like it works mostly on HTC phones...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WTF?! So what does it mean ?! Is AIR mobile a real alternative? I guess not... It is actually not too complicate to develop an Android and an iOS version of an app in most case (apps are usually pretty basics).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I guess AIR mobile could be used is some really particular cases... but really not for a "mass market" app... Why is it that each time I come back to Flash/FLEX I am excited; then quickly disappointed ?! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-7251740272005747677?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/7251740272005747677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/flexair-for-mobile-devices-new-thought.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7251740272005747677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7251740272005747677'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/flexair-for-mobile-devices-new-thought.html' title='Flex/AIR for mobile devices... new thought about Flash builder Burrito'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-5388213124404542555</id><published>2010-12-07T21:24:00.000-08:00</published><updated>2010-12-07T22:05:29.041-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chrome OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Chrome OS... I was right ... back to the basics!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.saadkamal.com/wp-content/uploads/2009/07/google-chrome-os.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 481px; height: 317px;" src="http://www.saadkamal.com/wp-content/uploads/2009/07/google-chrome-os.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div&gt;Google is launching their Chrome OS... What is this exactly? Actually it is an OS up side down... I mean they took a browser, decided this will be the main thing and added drivers and functionalities for connecting the real world to the browser... I mean, for example, you plug an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;USB&lt;/span&gt; camera and you can directly upload your pictures from the camera to Picasa Web.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This Chrome OS was something I predicted when Google launched Gears (and before actually). It was clear to me that the browser became the OS "wanna be" (it started with AJAX). In an article I was writing about AJAX libraries, I was explaining that big players wanted to launched their libraries because it was like early versions of libs of the future OS. I imagined that for example the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;YUI&lt;/span&gt; JavaScript Library would be integrated in the browser (the OS of the future) and optimized (and accelerated) by the browser. That is why so much energy and money was spent in JavaScript libraries development. &lt;/div&gt;&lt;div&gt;Gears was also a pretty clear intention from Google to extend the browser's capability and bring an online app closer to a native app.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyways, what I mean is that Chrome OS was not a surprise at all. Will it work though? I don't know... If you compare a Windows machine used mainly for accessing the Internet and Chrome OS; Chrome OS wins! ... But if the basis of comparison is some "serious" OS like Linux or Mac OS X (both UNIX based BTW), maybe Chrome OS is not that charming.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I remember about 11 years ago, I was talking with a developer specialized in Solaris (the UNIX OS from SUN)... He was telling me that before Microsoft Windows, people were expecting computer to just work... and if the computer would crash, this was a big deal; just a big unacceptable failure... &lt;/div&gt;&lt;div&gt;But when MS Windows became popular, people just got used to crashes, reboots and reinstalling. It just became part of using a computer. &lt;/div&gt;&lt;div&gt;So, thanks to Microsoft, developers could just do a bad job; release a buggy software and tell their client to reboot the machine if there was a problem...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I guess we are coming back to the basics. The more Microsoft is failing at providing good products (and computers are becoming increasingly / paradoxically more powerful) , companies and people are searching for alternative: something that would just work as expected. Something simple and fast, centred on what the user needs to do... nothing much, nothing less...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maybe the Internet world is finally getting some common sense... I guess it is good timing, as Internet and computers are now more than gadgets. They are just part of people life...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0QRO3gKj3qw?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0QRO3gKj3qw?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-5388213124404542555?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/5388213124404542555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/chrome-os-i-was-right-back-to-basics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/5388213124404542555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/5388213124404542555'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/chrome-os-i-was-right-back-to-basics.html' title='Chrome OS... I was right ... back to the basics!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-3686412966117597764</id><published>2010-12-05T06:12:00.000-08:00</published><updated>2010-12-05T06:32:57.116-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tablet'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>Toughs on Samsung Galaxy Tab vs iPad ?!</title><content type='html'>&lt;div&gt;It's almost Christmas! I guess it's the perfect time for a product launch... Apple promotes their iPad as the perfect gift... and Samsung launched their &lt;a href="http://galaxytab.samsungmobile.com/"&gt;Galaxy Tab&lt;/a&gt; everywhere. You can not miss their tablet whether you go to a Rogers store, at Bell or Telus store. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Smart move from Samsung ? .... or dumb move? :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.fonearena.com/blog/wp-content/uploads/2010/09/samsung-galaxy-tab1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 574px; height: 401px;" src="http://images.fonearena.com/blog/wp-content/uploads/2010/09/samsung-galaxy-tab1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Strange move anyways ... I think ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I love Android... I have a Nexus One, I love the fact that AIR and Flash are available on Android. Also that the dev is done with Java; and the openness. But for now iOS is still king as user experience is concerned. iOS is faster and more stable... Apple's App Store is fantastic, the apps can be really cool. Android is getting there, but it will take some time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My point is that if iOS is better than Android... Android should be cheaper at least; especially Android is Open Source (and free) so I doubt Samsung put the same budget in R&amp;amp;D than Apple for the development of the device...&lt;/div&gt;&lt;div&gt;As if this was not sufficient, the Galaxy Tab is smaller than the iPad (I don't think it is a good thing for a tablet that expensive). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Conclusion: really... what a strange move from Samsung... I guess the only motivation for potential buyers would be if they hate Apple ?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Strange, strange, ... we will see about the sales...&lt;/div&gt;&lt;div&gt;BTW if you really want to buy an Android table now, consider the &lt;a href="http://www.archos.com/products/ta/archos_101it/index.html?country=us&amp;amp;lang=en"&gt;Archos 101&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-3686412966117597764?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/3686412966117597764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/toughs-on-samsung-galaxy-tab-vs-ipad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/3686412966117597764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/3686412966117597764'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/toughs-on-samsung-galaxy-tab-vs-ipad.html' title='Toughs on Samsung Galaxy Tab vs iPad ?!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1701294399262003672</id><published>2010-12-04T17:16:00.001-08:00</published><updated>2010-12-04T17:33:03.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>FLEX / Flash Builder and AIR for Android</title><content type='html'>&lt;div&gt;I guess you know the AIR virtual machine has been released for Android 2.2 a few weeks (months?) ago. I enrolled the beta program and have done some test with the early release of the FLEX framework with mobile support. Unfortunately at the time, nothing was done for Flash Builder SDK (only Flash was really supported). Now, Flash Builder with mobile support is finally in public beta. see &lt;a href="http://labs.adobe.com/technologies/flashbuilder_burrito/"&gt;http://labs.adobe.com/technologies/flashbuilder_burrito/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TProA4BsMbI/AAAAAAAAEAo/Tovbum9-X3M/s1600/Timeshoot-androidAir.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TProA4BsMbI/AAAAAAAAEAo/Tovbum9-X3M/s320/Timeshoot-androidAir.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5547000992797307314" /&gt;&lt;/a&gt;The beta is pretty promising: there is a real framework and set of widgets for mobile development and it is possible to debug directly on the mobile device...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I developed quickly a client for my timesheet tool (&lt;a href="http://www.antidot.ca/timeshoot/"&gt;see the Java client here&lt;/a&gt;) and can not wait for the production release with support for export to iOS...&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;If you want to see some example and Tour de Flex mobile, go here : &lt;a href="http://labs.adobe.com/technologies/flexsdk_hero/samples/"&gt;http://labs.adobe.com/technologies/flexsdk_hero/samples/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some general info about the release here &lt;a href="http://www.adobe.com/devnet/flex/articles/whatsnew_flashbuilder_burrito.html"&gt;http://www.adobe.com/devnet/flex/articles/whatsnew_flashbuilder_burrito.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here a set of 3 cool video tutorial : &lt;a href="http://tv.adobe.com/watch/adc-presents/flex-mobile-part-1-beginning-a-mobile-application/"&gt;http://tv.adobe.com/watch/adc-presents/flex-mobile-part-1-beginning-a-mobile-application/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1701294399262003672?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1701294399262003672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/flex-flash-builder-and-air-for-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1701294399262003672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1701294399262003672'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/flex-flash-builder-and-air-for-android.html' title='FLEX / Flash Builder and AIR for Android'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TProA4BsMbI/AAAAAAAAEAo/Tovbum9-X3M/s72-c/Timeshoot-androidAir.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-3543573358226510556</id><published>2010-12-04T15:42:00.000-08:00</published><updated>2010-12-04T17:34:13.113-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MacBook Air'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>From windows to Linux to Mac OS - MacBook AIR (2)</title><content type='html'>&lt;div style="text-align: left;"&gt;I bought a MacBook Air about one month ago. My laptop on Linux and Windows (dual boot) crashed and I wanted some good hardware; and I must say it is not that easy to find when buying a Windows laptop. I have been considering a Mac for a while as it is the only machine capable of running Mac OS, Windows and Linux. As I wanted to try out iOS development, I had no choice than Mac OS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TPrWhVasuTI/AAAAAAAAEAg/PwEjjCwnvvE/s1600/IMG_20101102_202504.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TPrWhVasuTI/AAAAAAAAEAg/PwEjjCwnvvE/s320/IMG_20101102_202504.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5546981759233341746" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 307px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, anyways, I compared the price between MacBooks Pro and the new MacBook Air and it was pretty close; but the AIR had an SSD drive. I didn't hesitate, almost the same CPU + RAM but with an SSD.... No comparison, the AIR must be faster. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I can tell you, I am not disappointed. This machine is lightning fast!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was worried I would miss some of my favourite Open Source apps (Planner, Gimp, ffmpeg, ...) I got used on Linux. But NO, thanks to &lt;a href="http://www.macports.org/"&gt;MacPorts&lt;/a&gt; I can easily compile all the apps I need.&lt;/div&gt;&lt;div&gt;Otherwise, Eclipse runs very well as all the other application I usually use on Linux or Windows.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_ZqqM6_Mj2SY/TPrWaHaERyI/AAAAAAAAEAY/cROE1dbP9Wo/s1600/IMG_20101102_202332.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_ZqqM6_Mj2SY/TPrWaHaERyI/AAAAAAAAEAY/cROE1dbP9Wo/s320/IMG_20101102_202332.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5546981635213510434" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The main problem I had with Apple products was the price. I must say the MacBook Air is well priced... High res LED screen and SSD can be pricy... Overall, yes it was not cheap... Maybe the most expansive laptop I ever bought but I don't regret it as I use it as my main computer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I also tested iWork, TimeMachine and some other Mac typical applications. Very well done. &lt;/div&gt;&lt;div&gt;I might stick to the Mac OS  in the future. More expensive, yes... But less time wasted configuring and optimizing... and might be better for the environment too as this machine is pretty power efficient. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Apple makes good products, no doubt about that. Too bad they suffered from their users in the past. I mean, Macheads tended to be condescending and annoying thinking they were better than everybody else (BTW, Mac OS is just very close to Linux... not much more :) ).&lt;/div&gt;&lt;div&gt;You know what I mean? Same problem than BMW... good products but annoying users :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;My advice anyway... buy one, you will not regret it...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-3543573358226510556?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/3543573358226510556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/from-windows-to-linux-to-mac-os-macbook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/3543573358226510556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/3543573358226510556'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/12/from-windows-to-linux-to-mac-os-macbook.html' title='From windows to Linux to Mac OS - MacBook AIR (2)'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TPrWhVasuTI/AAAAAAAAEAg/PwEjjCwnvvE/s72-c/IMG_20101102_202504.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-729520144884427462</id><published>2010-08-26T08:14:00.000-07:00</published><updated>2010-08-26T08:32:25.675-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='China'/><category scheme='http://www.blogger.com/atom/ns#' term='Tablet'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android tablet form China</title><content type='html'>I just received the Android tablet I ordered from China... It is a small 7" touchscreen tablet running Android 2.1.&lt;br /&gt;&lt;br /&gt;I ordered the thing and didn't expect anything very special... As this is a strange Chinese product and actually not so expensive: I paid around $220 (CAD) all inclusive (taxes and delivery included).&lt;br /&gt;&lt;br /&gt;I didn't have the time to test it in detail, but I will... I might even make a comparison between this thing and the iPad. Of course the winner will be the iPad; but the iPad is absolutely not the same budget; not the same device neither, that's for sure.&lt;br /&gt;&lt;br /&gt;Anyways, here are the tech specs and some pictures I took (my my Nexus One ;) ).&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="font-weight: bold;" valign="top" width="207"&gt;&lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;CPU &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Telechips TCC8902 &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;FSB &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;800MHz &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Memory &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;DDR 256MB &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Built in Nandflash &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;4GB &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Extended &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;SD Card, U disk &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;LCD display &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;7" TFT digital display, 800×480 &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Internet solution &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;support WIFI; USB port for 3G module; USB Host &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;I/O ports &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;DC In&lt;br /&gt;Mic In&lt;br /&gt;3.5mm Audio output&lt;br /&gt;SD/MMC&lt;br /&gt;3*USB2.0(one standard, other mini port OTG and HDMI Port version 1.3 1080P &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Keyboard &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Screen QWERT keyboard or external USB keyboard &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Mouse &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;External USB mouse &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Audio &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Built in stereo speakers 0.5W×2&lt;br /&gt;Built in mono recorder &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;LED indicators &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Power; Charging &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Power ON/OFF &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;1 key &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Battery &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;1500mAH, 7.4V Lithium-ion battery &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Max. battery time &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Wifi on: 4 hours&lt;br /&gt;Wifi off: 5 hours &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Power adapter &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;220V Input,9V DC Output,2A &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="font-weight: bold;" valign="top" width="207"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Product dimension &lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td valign="top" width="910"&gt; &lt;p align="left"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;278mm×185mm×25mm &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.ggpht.com/_ZqqM6_Mj2SY/THZ-A6HuudI/AAAAAAAAD3w/2EH6SN0Cp44/s640/IMG_20100825_132213.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh4.ggpht.com/_ZqqM6_Mj2SY/THZ-A6HuudI/AAAAAAAAD3w/2EH6SN0Cp44/s640/IMG_20100825_132213.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/_ZqqM6_Mj2SY/THZ95KnIdUI/AAAAAAAAD3o/kPArZmc8TDc/s640/IMG_20100825_132249.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh3.ggpht.com/_ZqqM6_Mj2SY/THZ95KnIdUI/AAAAAAAAD3o/kPArZmc8TDc/s640/IMG_20100825_132249.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh5.ggpht.com/_ZqqM6_Mj2SY/THZ8ydoldaI/AAAAAAAAD3k/poDdA6mvaMQ/s640/IMG_20100825_132338.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 640px; height: 480px;" src="http://lh5.ggpht.com/_ZqqM6_Mj2SY/THZ8ydoldaI/AAAAAAAAD3k/poDdA6mvaMQ/s640/IMG_20100825_132338.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-729520144884427462?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/729520144884427462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/android-tablet-form-china.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/729520144884427462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/729520144884427462'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/android-tablet-form-china.html' title='Android tablet form China'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ZqqM6_Mj2SY/THZ-A6HuudI/AAAAAAAAD3w/2EH6SN0Cp44/s72-c/IMG_20100825_132213.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1883735909428940257</id><published>2010-08-20T06:05:00.000-07:00</published><updated>2010-08-20T12:18:14.285-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iTunes'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iPad WTF with iTunes?!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TG7U5KDNyYI/AAAAAAAAD3I/e-qf9-s5b54/s1600/2010-07-17.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center; margin: 0px auto 10px;"&gt;&lt;div style="text-align: left;"&gt;I just bought an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;iPad&lt;/span&gt; for my wife's birthday. I thought it would be so nice for her to be able to start it and check her mail quickly and easily, write documents and so on...&lt;br /&gt;She has a PC on Windows Vista and I know it's a pain to get started if you just want to do simple tasks - It takes forever to launch if you just want to check your mail.&lt;br /&gt;&lt;br /&gt;I thought Apple products were easy... I thought my wife could just switch the thing on, connect to a WIFI network at Starbucks and get started... And ... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;WTF&lt;/span&gt;?! no no no...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TG59qgkxoNI/AAAAAAAAD20/7cxz9snnGXM/s1600/100_2472.JPG"&gt;&lt;img alt="" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TG59qgkxoNI/AAAAAAAAD20/7cxz9snnGXM/s320/100_2472.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;You switch it on and &lt;span style="font-weight: bold;"&gt;you get stuck &lt;/span&gt;on an &lt;span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;iTunes&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;logo... Yes! you have to connect it to a computer having &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;iTunes&lt;/span&gt; to activate it. You need an account too I believe.&lt;br /&gt;&lt;br /&gt;My wife has an iPhone; so I thought she had everything she needed on her PC about the iTunes thing. And again: &lt;span style="font-weight: bold;"&gt;disappointment! &lt;/span&gt;She needed to upgrade &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;iTunes&lt;/span&gt;.&lt;br /&gt;I took &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;soooooooo&lt;/span&gt; long to (try) to get the update than finally she left the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;iPad&lt;/span&gt; at home and took her PC at Starbucks.&lt;br /&gt;&lt;br /&gt;Great... I thought it was a nice present... I thought her life would be easier...&lt;br /&gt;&lt;br /&gt;Thanks Steve... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;WTF&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; with you these days man?! &lt;/span&gt;No flash/AIR on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;iPad&lt;/span&gt;/iPhone ... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;iTunes&lt;/span&gt; mandatory...&lt;br /&gt;Yes you have nice products but this policy will kill the brand!&lt;br /&gt;&lt;br /&gt;Switching back to Windows from Linux I was even considering a Mac at a certain point... but really Steve... &lt;span style="font-weight: bold;"&gt;NO WAY&lt;/span&gt;!!! I knew Apple was a kind of religion... but I didn't know it was also a dictatorship (not to this point)!&lt;br /&gt;&lt;br /&gt;Next time I will buy jewelry for my wife as usual... &lt;span style="font-weight: bold;"&gt;What a waste of our time&lt;/span&gt; !!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TG7U5KDNyYI/AAAAAAAAD3I/e-qf9-s5b54/s1600/2010-07-17.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TG7U5KDNyYI/AAAAAAAAD3I/e-qf9-s5b54/s400/2010-07-17.jpg" alt="" id="BLOGGER_PHOTO_ID_5507573472736168322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1883735909428940257?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1883735909428940257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/ipad-wtf-with-itunes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1883735909428940257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1883735909428940257'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/ipad-wtf-with-itunes.html' title='iPad WTF with iTunes?!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TG59qgkxoNI/AAAAAAAAD20/7cxz9snnGXM/s72-c/100_2472.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-4466844961143251887</id><published>2010-08-19T14:16:00.000-07:00</published><updated>2010-08-19T14:28:11.265-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='CMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>flashmoto.com flash template and CMS and some tech philosophy</title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Woaw&lt;/span&gt;!... That is all I have to say about this product...&lt;br /&gt;&lt;a href="http://templates.flashmoto.com/"&gt;http://templates.flashmoto.com/&lt;/a&gt;&lt;br /&gt;Click on "templates", choose a template then "control panel demo"...&lt;br /&gt;&lt;br /&gt;Let me say this again... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Woaw&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;I am working on a "next generation &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;CMS&lt;/span&gt;" using AJAX and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Zend&lt;/span&gt; Framework. It is not bad but when I see what these guys did, and what I could have done in flash/flex... What's the word...&lt;br /&gt;&lt;br /&gt;The only problem with Flash is the market, of course HTML stays king for reaching a maximum of people/devices. Now with AIR and Flash for Android, flash is making its way to mobile devices and TV (Google TV). This technology could also work on Apple products but, of course, Steve does not like that... Maybe it will be authorized one day for iPhone, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;iPad&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;iDontKnowWhatElse&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;If this is the case, maybe the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;VM&lt;/span&gt;/OS of the future will be the Flash player and not the browser?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-4466844961143251887?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/4466844961143251887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/flashmotocom-flash-template-and-cms-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4466844961143251887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4466844961143251887'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/flashmotocom-flash-template-and-cms-and.html' title='flashmoto.com flash template and CMS and some tech philosophy'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-226375278011032777</id><published>2010-08-17T06:52:00.000-07:00</published><updated>2010-08-17T07:09:39.091-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><title type='text'>VirtualBox running Ubuntu on windows</title><content type='html'>Visualization is not new. I have been using &lt;a href="http://www.vmware.com/"&gt;VMware&lt;/a&gt; for years. At first I was using it for running a version of SuSE Linux on my windows laptop. This was for me the easiest way of having a real LAMP server and access to the tools I am used to. That's right unfortunately we still have no choice when we need the Adobe suite for example. It is either Windows, or Mac...&lt;br /&gt;&lt;br /&gt;I could almost get rid of Windows for about 2 years as I had all the tools required on Linux (Eclipse, OpenOffice, ...). Unfortunately, lately I do more and more FLEX development (I mean... FLEX is not the problem... The problem are is Flash Builder). I tried some solution on Linux running the FLEX SDK; it works well... But there is no tool for MXML edition in WYSIWYG mode on Linux. Of course the best one is Flash Builder from Adobe. I also tried to run a copy of Windows in Linux with VirtualBox; which is kind of fine but not the best performance wise.&lt;br /&gt;&lt;br /&gt;My point is... I had to move back to Windows... I know it is sad.&lt;br /&gt;Anyway, the best solution I found is this one:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Running Ubuntu on &lt;a href="http://www.virtualbox.org/"&gt;VirtualBox&lt;/a&gt; on windows&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGqUcb2SW5I/AAAAAAAAD1U/GCtEu_IN-OU/s1600/desktop-flashbuilderAndUbuntu.PNG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGqUcb2SW5I/AAAAAAAAD1U/GCtEu_IN-OU/s320/desktop-flashbuilderAndUbuntu.PNG" alt="" id="BLOGGER_PHOTO_ID_5506376710646553490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Why is it the best solution?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;VirtualBox is Free! :)&lt;/li&gt;&lt;li&gt;Ubuntu Linux is pretty lightweight, so it is FAST even in a VM (not like windows in a VM)&lt;/li&gt;&lt;li&gt;I can run my LAMP server on the background in the VM and have my Windows tools (Adobe Suite) on full speed in their "native" environment&lt;/li&gt;&lt;/ul&gt;For even better speed. I keep all my files on the Windows file system and I mount it on the Linux Vbox. This way for example I have all my PHP/HTML/CSS files on windows (no network drive), these are accessible by Apache on linux as a mounted folder.&lt;br /&gt;&lt;br /&gt;I did the same thing on my laptop. In addition to that, I installed an SSD drive hosting the OS (Windows 7) and the main software + the Linux Vbox. The result is a comfortable speed and an environment with the best of both worlds.&lt;br /&gt;&lt;br /&gt;BTW the SSD is almost a requirement with Windows... GOD this thing is slow to get started. Yes, it is pretty speedy to show up the login screen; but after, you have to wait and wait for all the background soft to load... It is INCREDIBLY slow to start comparing to an Ubuntu Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-226375278011032777?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/226375278011032777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/virtualbox-running-ubuntu-on-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/226375278011032777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/226375278011032777'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/virtualbox-running-ubuntu-on-windows.html' title='VirtualBox running Ubuntu on windows'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGqUcb2SW5I/AAAAAAAAD1U/GCtEu_IN-OU/s72-c/desktop-flashbuilderAndUbuntu.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-3452661924732663038</id><published>2010-08-13T07:42:00.000-07:00</published><updated>2010-08-13T08:13:05.929-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flex mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='LG eve'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Android 2.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Mexus One'/><title type='text'>Nexus One unpacking (vs LG EVE GW620R) + flash + AIR mobile</title><content type='html'>&lt;div style="text-align: center; margin: 0px auto 10px;"&gt;&lt;div style="text-align: left;"&gt;Yesterday I received a nice package by mail: A brand new &lt;span style="font-weight: bold;"&gt;Nexus One.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So what's the big deal you'll tell me? It's just a phone right ?&lt;br /&gt;&lt;br /&gt;Yes that's right but it is more than that. It is &lt;span style="font-weight: bold;"&gt;the ultimate Android device&lt;/span&gt;; the most powerful and up-to-date Android device, a developer's dream...&lt;br /&gt;&lt;br /&gt;As you can see on the box, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;HTC&lt;/span&gt; and Google are kinda close :-)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ7Jlnn3I/AAAAAAAAD0U/H3LUBe6ctsI/s1600/100_2458.JPG"&gt;&lt;img alt="" src="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ7Jlnn3I/AAAAAAAAD0U/H3LUBe6ctsI/s400/100_2458.JPG" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;The box is clean, simple and classy. Nice simple clean design and Google logo plus a little reminder of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Google's&lt;/span&gt; colors.  The quality of the package and the phone could remind you what Apple does; simple and confident.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; margin: 0px auto 10px;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ8N_ANVI/AAAAAAAAD0c/1QLuDSZrdLc/s1600/100_2463.JPG"&gt;&lt;img alt="" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ8N_ANVI/AAAAAAAAD0c/1QLuDSZrdLc/s400/100_2463.JPG" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;When I started the device and connected it on my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;WIFI&lt;/span&gt;, it directly asked me if I wanted to update the system. YES! you bet! I was thinking of &lt;span style="font-weight: bold;"&gt;Android 2.2&lt;/span&gt;, and yes! that what the update was about. As you can see on the picture, I also have an LG eve (Android 1.5 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;pouah&lt;/span&gt;!) so I could compare both. I will not do a full comparison here right now but I might in another post.&lt;br /&gt;&lt;br /&gt;Anyways, after the update I connected the phone to my Google accounts and downloaded a few soft from the market. The first GREAT thing about 2.2 and the market is this:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; margin: 0px auto 10px;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ-MCmFzI/AAAAAAAAD0s/9EQX5aOa5-Q/s1600/100_2468.JPG"&gt;&lt;img alt="" src="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ-MCmFzI/AAAAAAAAD0s/9EQX5aOa5-Q/s400/100_2468.JPG" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;YES YES YES! &lt;span style="font-weight: bold;"&gt;Flash and flash showcase&lt;/span&gt;. This is the whole reason why I got this phone (actually my client got this phone... It is not mine but I will test it and use it for development purpose... This remark is for my wife; otherwise she will think I spend all the family money on gadgets... ;-) ).&lt;br /&gt;&lt;br /&gt;About Flash: this thing is really a killer! It is fast, seems pretty stable, looks good, and seems &lt;span style="font-weight: bold;"&gt;FULL featured&lt;/span&gt;. I also installed the &lt;span style="font-weight: bold;"&gt;AIR mobile &lt;/span&gt;&lt;span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;VM&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;and can't wait to port some &lt;span style="font-weight: bold;"&gt;FLEX apps &lt;/span&gt;to the device... That is very exciting!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; margin: 0px auto 10px;"&gt;&lt;a href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ9Ky80pI/AAAAAAAAD0k/yluvIlXOM7Q/s1600/100_2465.JPG"&gt;&lt;img alt="" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ9Ky80pI/AAAAAAAAD0k/yluvIlXOM7Q/s400/100_2465.JPG" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;Otherwise, overall the phone looks great. The system is quick and elegant. The virtual keyboard is responsive and the new voice recognition feature works pretty well (even with my french accent). I would say the only advantage the LG EVE has, is the full keyboard &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;poping&lt;/span&gt; out... As you can see on the picture, the virtual keyboard takes a huge space. I tried to connect a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;bluetooth&lt;/span&gt; keyboard on the Nexus One but it didn't work for some reason...&lt;br /&gt;&lt;br /&gt;More about these phones later... And the most important thing: more about FLASH AND AIR on this device later. I will post &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;vids&lt;/span&gt; too for sure!&lt;br /&gt;&lt;br /&gt;BTW, for Apple fans... Yes, the iPhone and the iOS are still better. I mean the user experience is still better on Apple products. But Android is getting there, just wait a little bit more. For the developers, I would say there is no comparison: Go Android!&lt;br /&gt;&lt;br /&gt;Still for Apple fan interested in flash on this device, read this &lt;a href="http://news.cnet.com/8301-27076_3-20013186-248.html"&gt;http://news.cnet.com/8301-27076_3-20013186-248.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; margin: 0px auto 10px;"&gt;&lt;a href="http://2.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ-MCmFzI/AAAAAAAAD0s/9EQX5aOa5-Q/s1600/100_2468.JPG"&gt;&lt;br /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-3452661924732663038?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/3452661924732663038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/nexus-one-unpacking-vs-lg-eve-gw620r.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/3452661924732663038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/3452661924732663038'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/08/nexus-one-unpacking-vs-lg-eve-gw620r.html' title='Nexus One unpacking (vs LG EVE GW620R) + flash + AIR mobile'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZqqM6_Mj2SY/TGVZ7Jlnn3I/AAAAAAAAD0U/H3LUBe6ctsI/s72-c/100_2458.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-4144966705124979516</id><published>2010-07-11T08:39:00.000-07:00</published><updated>2010-07-11T09:05:33.709-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Ext Designer'/><category scheme='http://www.blogger.com/atom/ns#' term='Ext js'/><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><title type='text'>Ext Designer - Design your JavaScript GUI the WYSIWYG way</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sencha.com/assets/images/products/ext_designer_workflow2.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 455px; height: 215px;" src="http://www.sencha.com/assets/images/products/ext_designer_workflow2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It is not a secret, the best and most professional JavaScript libraries according to me are &lt;a href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt; and EXT &lt;a href="http://www.sencha.com/products/js/"&gt;JS&lt;/a&gt;. BTW, &lt;a href="http://www.sencha.com/products/js/"&gt;EXT JS&lt;/a&gt; started as an add-on of &lt;a href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt;... Until the "Ext Js guys" thought they knew better, I guess... And that could be the case :)&lt;br /&gt;&lt;br /&gt;Anyway... &lt;a href="http://www.sencha.com/products/js/"&gt;EXT JS&lt;/a&gt; is fantastic. The widgets are incredibly rich, stable, nice, elegant; if you prefer developing in Java it is still possible with &lt;a href="http://www.sencha.com/products/gwt/"&gt;Ext GWT&lt;/a&gt; - the bridge between &lt;a href="http://code.google.com/webtoolkit/"&gt;Google's GWT&lt;/a&gt; and Ext Js widgets.&lt;br /&gt;&lt;br /&gt;Now, if you prefer using Flash Builder and FLEX because you can build your GUI the WYSIWYG way... there was no alternative to Flex and Flash. Until now...&lt;br /&gt;&lt;br /&gt;The "Ext Js guys" just released "Ext Designer"; and it seems to be a killer app. I did not have time to really test it deeply yet but it appears pretty wild: You can drag and drop Ext Js widgets in a canvas and change the widgets parameters; the tool will generate the whole JavaScript for you. As this was not enough, the developers used Qt for building Ext Designer; this means this editor is fast, robust and portable (Windows, Mac and Linux versions are available).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This might just be a KILLER APP!!! Check it out:&lt;br /&gt;&lt;br /&gt;Video demo : &lt;a href="http://vimeo.com/11122346"&gt;http://vimeo.com/11122346&lt;/a&gt;&lt;br /&gt;Official page: &lt;a href="http://www.sencha.com/products/designer/"&gt;http://www.sencha.com/products/designer/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="310" width="400"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11122346&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=11122346&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="310" width="400"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/11122346"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-4144966705124979516?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/4144966705124979516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/07/ext-designer-design-your-javascript-giu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4144966705124979516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4144966705124979516'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/07/ext-designer-design-your-javascript-giu.html' title='Ext Designer - Design your JavaScript GUI the WYSIWYG way'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-2611325679353700986</id><published>2010-06-23T09:45:00.000-07:00</published><updated>2010-06-23T10:37:45.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><title type='text'>Simple Cloud - Standard Cloud API for PHP</title><content type='html'>The SimpleCloud API will be soon part of the Zend Framework. This is a pretty cool news, but what is Simple Cloud? and why is that interesting for me? Check out http://simplecloud.org/ for detail but in a few words, SimpleCloud is a standard interface for accessing Cloud APIs.&lt;br /&gt;&lt;br /&gt;This means that you will be able to develop functionalities taking advantage of Cloud Hosting and Cloud File Hosting with the SimpleCloud API then host your PHP application on the Cloud provider of your choice.&lt;br /&gt;&lt;br /&gt;So you just focus on development and you won't have to worry if you want to switch from Amazon S3 to Rackspace... Your "cloud features" will work. By cloud features, It is a bit limited for bow but I am sure they will extend the functionalities soon.&lt;br /&gt;&lt;br /&gt;One of the most interesting feature is the ability to use a Cloud File system. So you can send and retrieve files to a cloud repository. The size of the storage is virtually unlimited and your only pay for the space you use. Checkout Rackspace Cloud File for more information about that.&lt;br /&gt;&lt;br /&gt;Anyway the good news is that people are concern about standardization and portability; and do something about it; that's great :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-2611325679353700986?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/2611325679353700986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/06/simple-cloud-standard-cloud-api-for-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/2611325679353700986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/2611325679353700986'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/06/simple-cloud-standard-cloud-api-for-php.html' title='Simple Cloud - Standard Cloud API for PHP'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-5793468164069914150</id><published>2010-06-08T06:52:00.000-07:00</published><updated>2010-06-08T07:21:52.473-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Google TV'/><title type='text'>Google TV = TV+Android+Chrome!</title><content type='html'>&lt;div&gt;Google is working on a new product : "&lt;span style="font-weight: bold;"&gt;Google TV&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No it is not TV content on the web, but the opposite! Web content on the TV. And also availability for bridges between TV and web.&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=diTpeYoqAhc"&gt;http://www.youtube.com/watch?v=diTpeYoqAhc&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I know what some might think... "OK, so what? This is not new... It has been at least a decade now companies try to sell us boxes to plug on the TV for surfing...". Yes, but the context is completely different now. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We are talking about web 2.0, about video, radio online, rich user interface... The web has changed but we are still stuck on our small computer screens. Having the web on the TV makes much more sense now than ever. In addition to that the lightweight OS and CPU are here. We ported the web on our mobile phones (I am not talking about the WAP... it is good this thing did not work!); I am talking about the iPhone and the Android phones. We can browse on these devices and have apps using the web data... Unfortunately our phones screen are too small for having a nice experience on the web; that is what Apple stretched the iPhone and call the result an iPad then is selling it to us as the ultimate web experience (yes without flash, I know ;) ).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, the market is finally mature enough to be transfered to the TV and FINALLY reach the REAL mass market.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On a tech point of view, Google TV will run Android. This means that apps developed for Android will be easily portable to the TV. Something else very interesting is that unlike Apple TV, Google TV will be embedded in TVs. Of course you will have the option of buying the separate box. But having it embedded in TVs means that people having no interest in the web before might be interested to activate it on their TV = wider audience. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the developers, this is also a great news! Imagine if you could reuse the same code for the mobile app and the TV app; and soon for desktop too I am sure. Ubuntu is currently working on a kind of VM which will let us run Android apps natively on Linux; this will come to Windows and Mac soon for sure.&lt;/div&gt;&lt;div&gt;That would be SO fantastic... The dream coming to reality: one development and deployment on all platforms. And as Chrome will run on this platform as a full feature browser, your website will also work properly without any restriction on the future TVs.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Of course AIR now runs on desktop, mobile (Android and iPhone)... But it is not the same technology; and of course Apple blocked this technology; so there is no way we could use FLEX and ActionScript on the iPhone for now (legally I mean, even if technically it seems to be working pretty well).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So anyway... Google TV !!!! YEAH!!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-5793468164069914150?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/5793468164069914150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/06/google-tv-tvandroidchrome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/5793468164069914150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/5793468164069914150'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/06/google-tv-tvandroidchrome.html' title='Google TV = TV+Android+Chrome!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-6584798561801937944</id><published>2010-04-09T08:40:00.000-07:00</published><updated>2010-04-09T08:44:10.162-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE9'/><category scheme='http://www.blogger.com/atom/ns#' term='Browsers'/><title type='text'>Internet Explorer 9</title><content type='html'>Microsoft is working on IE9 and it seems they are doing a great job. The big new thing will be using hardware acceleration for displaying graphic and text in the browser. This is great news! This means AJAX animation and applications will be able to use the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GPU&lt;/span&gt; of your graphic card for rendering! In other words expect AJAX animation to be blazing fast ! Maybe even faster than flash animation.&lt;br /&gt;&lt;br /&gt;You can test the browser and demos at:&lt;br /&gt;http://ie.microsoft.com/testdrive/&lt;br /&gt;&lt;br /&gt;I told you the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;RIA&lt;/span&gt; war has just begun...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-6584798561801937944?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/6584798561801937944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/04/internet-explorer-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6584798561801937944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6584798561801937944'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/04/internet-explorer-9.html' title='Internet Explorer 9'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-7567895326086936927</id><published>2010-04-09T08:22:00.000-07:00</published><updated>2010-04-09T08:26:40.760-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder 4'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight'/><title type='text'>About the RIA war...</title><content type='html'>Yes I have been interested in RIAs for as long as it has existed (let's say it started with the CD-roms before the web came to it).&lt;br /&gt;&lt;br /&gt;Anyway I found this great article:&lt;br /&gt;&lt;a href="http://www.insideria.com/2009/06/flex-builder-linux-and-open-so.html"&gt;http://www.insideria.com/2009/06/flex-builder-linux-and-open-so.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is smart and realistic. That's great reading something objective talking about the real problems or Adobe strategy and the RIA war. It is so true that Adobe does not give enough attention to the developer community... I know they are trying... But it is still not there.&lt;br /&gt;&lt;br /&gt;Anyway, read it... it is worth it :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-7567895326086936927?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/7567895326086936927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/04/about-ria-war.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7567895326086936927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7567895326086936927'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/04/about-ria-war.html' title='About the RIA war...'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-6542154234440621298</id><published>2010-04-01T12:52:00.000-07:00</published><updated>2010-04-02T09:36:18.174-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GTK'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Builder 4'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyGTK'/><title type='text'>FLEX vs PyGTK - Desktop apps</title><content type='html'>I have been developing tools for tracking the time I spend working on project for "years". I mean each time I want to test a new technology, I usually start making a client for what I call my "Timeshoot" project.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have developed a Java client &lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;(see &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre; font-weight: bold;font-family:'Segoe UI',serif;font-size:85%;"  &gt;&lt;a href="http://antidot.ca/timeshoot/"&gt;http://antidot.ca/timeshoot/&lt;/a&gt; ) &lt;/span&gt;connecting to a MySQL and SQLite database directly. Then I developed a PyGTK version connecting a set of JSON webservices (based on the Zend Framework MVC architecture).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I am starting a version with an AIR client developed with Flex Builder 4 (which has just been released). I have this kind of love-hate relationship with FLEX/Flash... I started using flash as a webdesigner 12 years ago then stopped when most of my work was programming job. Since then every so often I try to give FLEX/Flash a chance... I try to use this thing for something else than animation and multimedia application. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My conclusion is that FLEX and Flash Builder 4 would be fantastic... If it would output something else than a swf... The problem is the flash player... slow, buggy, with an ugly rendering engine antialiasing everything (not doing a good job at this task...)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/S7YXsr-kruI/AAAAAAAAC4U/apg-2bKKV4w/s1600/AIRsheetVSpysheet01.PNG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 401px; height: 179px;" src="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/S7YXsr-kruI/AAAAAAAAC4U/apg-2bKKV4w/s400/AIRsheetVSpysheet01.PNG" alt="" id="BLOGGER_PHOTO_ID_5455574055092793058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So here is a comparison of the AIR app and the PyGTK app.&lt;br /&gt;On the left is the FLEX/AIR app and on the right the PyGTK app. I tried to give them the same look, the funny thing about that is when I showed the AIR app to a friend (who is a big fan of FLEX) he said: "Why did you do such an ugly application with FLEX". I though that was funny because flash fans will expect the app to look good, be animated and so on... I guess the business people get annoyed by that though. That is why I tried to make the FLEX app as close as a "business desktop app" as possible. The ideal situation for me would be that we could not see the difference between a FLEX app and another app with a GUI more integrated to the system.&lt;br /&gt;&lt;br /&gt;Any way, If you look closer, you will see the PyGTK app seems cleaner (no anti-aliasing) and the rounded corners are clean. The rounded corner on the FLEX app are very ugly... (BTW the rendering looks better on Mac; on  Linux my app could not install properly).&lt;br /&gt;&lt;br /&gt;The PyGTK app is noticeably more responsive than the AIR app. It starts faster and run faster.&lt;br /&gt;&lt;br /&gt;On a development point of view, the FLEX app is easier to develop for sure. But both GUI where designed with a WYSIWYG editor: Flash Builder for the FLEX app and Glade for the PyGTK app. It is just in the coding where FLEX has an advantage with the whole drag and drop stuff and the service introspection (great new feature from FB4).&lt;br /&gt;&lt;br /&gt;Another advantage for the FLEX app, is that it could run within a browser too... But both technologies are cross platform (windows, mac, linux).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;So... the verdict?&lt;/span&gt;&lt;br /&gt;I still think there is no real advantage in using FLEX/Flash for a desktop application unless it needs to integrate audio and video or complex animation and skinning. Another annoying thing for the AIR app is that you need to install the AIR VM... For PyGTK the all app is compiled in an EXE with the interpreter and all the libs - so it is easier to install for the users - especially if they are "restricted users".&lt;br /&gt;&lt;br /&gt;About this AIR VM thing you will tell me "it is the same for Java right ? you need the VM". Yes that is true, but Java is much more accepted in the enterprise and business world than Adobe products. And you can also package your all Java app into an EXE... (It does not seem to be possible with an AIR app).&lt;br /&gt;&lt;br /&gt;So once again... unfortunately it is not tomorrow I will use FLEX for developing serious desktop apps... Sorry Adobe, I tried once again...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-6542154234440621298?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/6542154234440621298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/04/flex-vs-pygtk-desktop-apps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6542154234440621298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6542154234440621298'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/04/flex-vs-pygtk-desktop-apps.html' title='FLEX vs PyGTK - Desktop apps'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZqqM6_Mj2SY/S7YXsr-kruI/AAAAAAAAC4U/apg-2bKKV4w/s72-c/AIRsheetVSpysheet01.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-7220297089761002817</id><published>2010-01-28T06:38:00.000-08:00</published><updated>2010-04-09T08:37:24.413-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cellphone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>Apple launches the fat iPhone = iPad</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.letsgodigital.org/images/artikelen/64/ipad-tablet.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 348px; height: 280px;" src="http://www.letsgodigital.org/images/artikelen/64/ipad-tablet.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images.apple.com/home/images/ipad_hero_20100127.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt; Once again, Apple snobbed the CES and  organized their own press conference a couple of days after; So they can make sure we talk about them and only them. Coz.... Apple is not like any other technology company right ? Apple is by far superior.&lt;br /&gt;&lt;br /&gt;So if you feel superior and you do not want to be like anybody else. Buy yourself a BMW and use Apple products only. Don't forget the white Apple sticker for your computer case (if any) and for the back of your BMW.&lt;br /&gt;&lt;br /&gt;Anyways, the big news from Apple is the iPad !!! Woaw, fantastic, they took the iPhone, streched it and here we go; now we have to call them geniuses again...&lt;br /&gt;Of course as the iPad IS a BIG iPhone; all of the iPhone apps will work on the iPad (woaw... what a genius... the apps are compatible with ... kinda the same device :-) ).&lt;br /&gt;&lt;br /&gt;So what can you do with this big iPhone? Everything you can do with the little iPhone... But you can not use it as a cell phone... I guess because you would look retarded with a cell as big as your head...&lt;br /&gt;&lt;br /&gt;So now we takes bets; will this new toy be a success?&lt;br /&gt;I bet YES.&lt;br /&gt;&lt;br /&gt;Ok I am kidding about Apple attitude and their superiority complex. I think they are making really great products. I just find Mac users pretty annoying as they have this feeling of being superior and want to explain everybody else why they are superior... I don't think I will convert to Mac soon. I am too happy on Linux and the open world. But an iPad, why not? Or maybe my question would be... why an iPad? Because for now Google didn't release their tablet computer running on Android... but it will come...&lt;br /&gt;&lt;br /&gt;So do you know what I am gonna do?&lt;br /&gt;I am gonna just wait the gPad ;-) and have a nice open source Android system on my big iPhone like machine...&lt;br /&gt;&lt;br /&gt;Ah... Apple, Apple, Apple... you love attention and showing off your stuff... iPad !!! the FAT iPhone or should I say fat iPod touch (yes I guess it's more what it is because it is not a phone).&lt;br /&gt;&lt;br /&gt;Nice :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-7220297089761002817?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/7220297089761002817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2010/01/apple-launches-fat-iphone-ipad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7220297089761002817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7220297089761002817'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2010/01/apple-launches-fat-iphone-ipad.html' title='Apple launches the fat iPhone = iPad'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1361852040636447484</id><published>2009-12-15T18:02:00.000-08:00</published><updated>2009-12-15T18:25:34.563-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Emulation'/><category scheme='http://www.blogger.com/atom/ns#' term='VirtualBox'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>VirtualBox OSE on Ubuntu Linux</title><content type='html'>It has been about 2 or 3 years now I have been using Linux as my main OS for desktop (of course as a server it is another story... like... 12 years). 4 years ago I moved from Belgium to Canada and left the company I founded there to find my self working again as a real freelance without a team and all the infrastructure to count on. As I did not have a steady place to work at the time, my main computer was a laptop and I was working on it from Starbucks or other places... At the time I needed &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Dreamweaver&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Photoshop&lt;/span&gt;, Eclipse and a Linux server. So I was running Linux on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;VMware&lt;/span&gt; under windows and it was OK.&lt;br /&gt;&lt;br /&gt;Now, I really do not want to come back to Windows my main OS. You can do so much more with Linux ! So I have always been searching for a solution to be able to use my favorite software.&lt;br /&gt;I do not do any graphic work anymore so It is &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ok&lt;/span&gt;, we have everything on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;linux&lt;/span&gt;... But all of the great (and expensive) Adobe products. I tried Wine, but I could only run &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Dreamweaver&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;MX&lt;/span&gt;, Flash &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;MX&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Photoshop&lt;/span&gt; 7.&lt;br /&gt;&lt;br /&gt;The only solution was to use a virtual OS on top of Linux so I tried &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;VirtualBox&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;OSE&lt;/span&gt; today. And it is pretty amazing. Here is a screenshot of my desktop in "seamless" mode.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZqqM6_Mj2SY/Syg_1XrJpHI/AAAAAAAACQ4/XQEXPPfZpkQ/s1600-h/screenshot25.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_ZqqM6_Mj2SY/Syg_1XrJpHI/AAAAAAAACQ4/XQEXPPfZpkQ/s320/screenshot25.png" alt="" id="BLOGGER_PHOTO_ID_5415648738033640562" border="0" /&gt;&lt;/a&gt;Is that cool or what? As you can see my windows programs seem completely integrated in the Linux OS. I have my windows start bar at the bottom and my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Ubuntu&lt;/span&gt; start bar at the top. I can even copy/past data from one OS to the other.&lt;br /&gt;&lt;br /&gt;Everything runs like a charm it is really wicked amazing. I guess I'll be good to buy Adobe licences again (I guess that is the only problem of the solution ;) ).&lt;br /&gt;&lt;br /&gt;More info about &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;VirtualBox&lt;/span&gt;: &lt;a href="http://www.virtualbox.org/"&gt;http://www.virtualbox.org/&lt;/a&gt;&lt;br /&gt;How to install it : &lt;a href="http://www.howtoforge.com/virtualbox_ubuntu"&gt;http://www.howtoforge.com/virtualbox_ubuntu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those who do not know what the principle of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;VirtualBox&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Vmware&lt;/span&gt;, here is the explanation. These &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;softwares&lt;/span&gt; emulates computer hardware. This means that you can install any OS on top of this layer of "soft hardware".  The same principle is used for the Cloud Hosting. It is really cool because as everything is software, you can change what ever you want just by configuration (let's say you want to add RAM or a CD-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;rom&lt;/span&gt;, you can create that changing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;config&lt;/span&gt; or your virtual machine). Another advantage is that you can easily duplicate your virtual machine (and OS). So you can copy your entire Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;XP&lt;/span&gt; OS and all the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;softwares&lt;/span&gt; to another computer; and everything will work like a charm.&lt;br /&gt;&lt;br /&gt;All of this is not so new but with the power of nowadays computer it begins to make sense to use these technologies. It is one of this technology simple in the principle but opening a whole new world of possibility.&lt;br /&gt;&lt;br /&gt;And BTW of course &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;VirtualBox&lt;/span&gt; is free and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;OpenSource&lt;/span&gt;. And I can tell you it has nothing to envy to commercial solutions...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1361852040636447484?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1361852040636447484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/12/virtualbox-ose-on-ubuntu-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1361852040636447484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1361852040636447484'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/12/virtualbox-ose-on-ubuntu-linux.html' title='VirtualBox OSE on Ubuntu Linux'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZqqM6_Mj2SY/Syg_1XrJpHI/AAAAAAAACQ4/XQEXPPfZpkQ/s72-c/screenshot25.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-51712513227893199</id><published>2009-12-11T06:40:00.000-08:00</published><updated>2009-12-11T06:54:14.252-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='FLEX'/><category scheme='http://www.blogger.com/atom/ns#' term='FDT'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Adobe AIR 2 and FLEX SDK 4</title><content type='html'>I have this love-hate relationship with Flash/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ActionScript&lt;/span&gt; and the tech linked to it. I start using flash very early at the version 1 just after &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Macromedia&lt;/span&gt; bought &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;FutureSplash&lt;/span&gt; animator (and renamed it flash). So i followed closely the evolution until &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ActionScript&lt;/span&gt; 1. Yes I started my career as a designer... Now I am a 100% programmer, it's actually easier ;-) .&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I stop working with flash before &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ActionScript&lt;/span&gt; 2 arrived. Then I had to do small stuffs here and there with flash and AS. And each time I was using AS and Flash, I would get stuck on crazy bugs or inconsistencies. You are never sure you will be able to do what you want in time with AS because it behaves sometimes in a crazy way (comparing to the other languages I know: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;PHP&lt;/span&gt;, Java, Python, JavaScript, ...).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Same thing for FLEX, I tried the version 3. And I though it was kinda cute, the product they came up with. But got frustrated that this thing does actually less than flash in a way and not much more than an AJAX app... So I though, why should I use FLEX if I can do almost everything it does with Ajax; without using a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;plugin&lt;/span&gt;?!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I am back to FLEX and I am building an AIR app. I am actually pretty impressed... This thing is really getting mature... I develop in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ActionScript&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;FDT&lt;/span&gt; on Linux (Flex builder is crappy BTW); and I finally feel comfortable and feel like I am using a "real" programming language. Running the app with AIR is fast, stable, ... everything I would expect... It is actually even better than working with Java.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So... I am friend again with Flash / FLEX / &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ActionScript&lt;/span&gt;. And also, good Job Adobe for the FLEX &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;SDK&lt;/span&gt; 4 in open source ... That's a great initiative ! I also feel more comfortable using something open !&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-51712513227893199?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/51712513227893199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/12/adobe-air-2-and-flex-sdk-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/51712513227893199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/51712513227893199'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/12/adobe-air-2-and-flex-sdk-4.html' title='Adobe AIR 2 and FLEX SDK 4'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-6501303426204789630</id><published>2009-12-11T06:29:00.000-08:00</published><updated>2009-12-11T06:39:54.907-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Browsers'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>Google Chrome on Linux</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="color:#0000EE;"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;Yes !!! that's one of the best news of the year! Google released Chrome for Linux as a 100% native app (not something running on wine like Picasa for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;linux&lt;/span&gt;). &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See &lt;a href="http://www.google.com/chrome?platform=linux&amp;amp;hl=en"&gt;http://www.google.com/chrome?platform=linux&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;hl&lt;/span&gt;=en&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZqqM6_Mj2SY/SyJZdLbUkUI/AAAAAAAACH8/yi4TzQN9rQE/s1600-h/screenshot24.png"&gt;&lt;img src="http://1.bp.blogspot.com/_ZqqM6_Mj2SY/SyJZdLbUkUI/AAAAAAAACH8/yi4TzQN9rQE/s320/screenshot24.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5413988059871220034" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 238px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think it is a great news especially at this time; because FireFox is getting more and more bloated. I really thing FF is getting big and slow since the v 3. And as you know, we don't have much choice on Linux for browsers. Yes yes there are plenty of browsers available... but for now it was FireFox or Opera. Opera is really a nice and fast browser but not so great for the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;dev&lt;/span&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Firefox&lt;/span&gt; is still the kind as it is open and the excellent Firebug and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;YSlow&lt;/span&gt; run on it.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But NOW...! We have Chrome. Blazing fast, very small footprint, very close to FF and IE for the HTML and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;CSS&lt;/span&gt; interpretation; and of course the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JS&lt;/span&gt; runs like crazy!!! (I mean fast :) ).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks Google... thanks so much! again ! we love you... yes we do... No, I am not afraid of you taking over the world as long as you continue doing such an amazing job!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-6501303426204789630?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/6501303426204789630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/12/google-chrome-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6501303426204789630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6501303426204789630'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/12/google-chrome-on-linux.html' title='Google Chrome on Linux'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZqqM6_Mj2SY/SyJZdLbUkUI/AAAAAAAACH8/yi4TzQN9rQE/s72-c/screenshot24.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1156393414646851558</id><published>2009-10-22T05:18:00.000-07:00</published><updated>2009-10-22T06:24:01.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AI'/><category scheme='http://www.blogger.com/atom/ns#' term='Facial recognition'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Picasa'/><title type='text'>Picasa 3.5 - Facial recognition system intagrated!</title><content type='html'>&lt;div&gt;I love Google... They just released Picasa 3.5 and they have added a damn wicked features!&lt;/div&gt;&lt;div&gt;The most impressive new feature is the "people" tool. In a few words this tool will find people's faces in your pictures and organize them in an album. You can then put names on faces - it will even link the names to your Google contact list.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you name a few faces, the tool will automatically recognize people! It's really impressive. I tested it and really... I'm impressed. The thing even recognized me on a picture where I wear a wig and sun glasses... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Using this tool you can imagine the power of this technology. For example, imagine this on Facebook... Imagine it now linked between the CIA or other government agency and FaceBook. We could automatically find a criminal who moved to Brazil, change his name and posted some picts on facebook for his friends... Or link people together in real interesting ways...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Download it at &lt;a href="http://picasa.google.ca/"&gt;http://picasa.google.ca/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Check the video demo here:&lt;/div&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gYO2uhrIZJ4&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/gYO2uhrIZJ4&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1156393414646851558?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1156393414646851558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/10/picasa-35-facial-recognition-system.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1156393414646851558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1156393414646851558'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/10/picasa-35-facial-recognition-system.html' title='Picasa 3.5 - Facial recognition system intagrated!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-4851356238328974117</id><published>2009-09-01T12:06:00.000-07:00</published><updated>2009-09-01T12:17:29.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS'/><category scheme='http://www.blogger.com/atom/ns#' term='theme'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='Leopard'/><title type='text'>Mac OS look-a-like on linux</title><content type='html'>I just installed a Mac Leopard like theme on my Ubuntu linux and I think it's kinda fun... The one I used is can be found &lt;a href="http://www.gnome-look.org/content/show.php/Aurora+Leopard+BSM?content=92131"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You will find a great introduction about theme installation here : &lt;a href="http://www.youtube.com/watch?v=GhnLk3gviWY"&gt;http://www.youtube.com/watch?v=GhnLk3gviWY&lt;/a&gt; , by the way, this girl is cool; she had plenty of screencast about linux tips and tricks... Nice :)&lt;br /&gt;&lt;br /&gt;The theme I used for Firefox is this one &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/12782"&gt;https://addons.mozilla.org/en-US/firefox/addon/12782&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here is a screenshot of my desktop :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/Sp1zEnuVwfI/AAAAAAAAAwI/CMHnWRnMq-k/s1600-h/MyLinMacDesktop.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/Sp1zEnuVwfI/AAAAAAAAAwI/CMHnWRnMq-k/s320/MyLinMacDesktop.png" alt="" id="BLOGGER_PHOTO_ID_5376580053370257906" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-4851356238328974117?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/4851356238328974117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/09/mac-os-look-like-on-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4851356238328974117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4851356238328974117'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/09/mac-os-look-like-on-linux.html' title='Mac OS look-a-like on linux'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZqqM6_Mj2SY/Sp1zEnuVwfI/AAAAAAAAAwI/CMHnWRnMq-k/s72-c/MyLinMacDesktop.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1452186001402792289</id><published>2009-08-08T06:59:00.001-07:00</published><updated>2009-08-08T07:09:37.240-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Gears'/><title type='text'>How to crop and resize an image client (browser) side?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://en.onsoftware.com/wp-content/uploads/2008/07/google-gears-logo-2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 174px; height: 70px;" src="http://en.onsoftware.com/wp-content/uploads/2008/07/google-gears-logo-2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;One of the main problem when developing a web application with a content management part is the image manipulation. Each time you give your client access to an interface where he can upload images there is a big chance he will not be happy and have plenty of questions for you. Like:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Why does it take so long to upload a picture a took with my camera?&lt;/li&gt;&lt;li&gt;Why is the picture so big on the screen?&lt;/li&gt;&lt;li&gt;Why is that when I &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;resize&lt;/span&gt; the picture in the WYSIWYG editor it is still super heavy and looks so bad?&lt;/li&gt;&lt;li&gt;Why is that I can't crop and rotate my pictures...&lt;/li&gt;&lt;/ul&gt;So... They usually expect to be able to do the same things as they would do with a desktop app. They don't understand the technology behind and the limitations.&lt;br /&gt;&lt;br /&gt;The problem is that for now we could not have access to an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;API&lt;/span&gt; client side for image manipulation...&lt;br /&gt;&lt;br /&gt;But now we can :) YES! &lt;a href="http://code.google.com/apis/gears/"&gt;Google Gears&lt;/a&gt; has the 'canvas' &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;API&lt;/span&gt; and it's pretty impressive.&lt;br /&gt;&lt;br /&gt;Check out this example made with it: &lt;a href="http://www.ernestdelgado.com/public-tests/canvasphoto/demo/canvas.html"&gt;http://www.ernestdelgado.com/public-tests/canvasphoto/demo/canvas.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So what can you do with the Canvas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;API&lt;/span&gt;?&lt;br /&gt;You can crop, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;resize&lt;/span&gt;, encode and decode; meaning that you can change an image client side and send it back to the server. So you could let the user crop the image and send the result in a web friendly size in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;PNG&lt;/span&gt; or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JPEG&lt;/span&gt; to the server...&lt;br /&gt;&lt;br /&gt;Thanks again Google! We love you :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1452186001402792289?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1452186001402792289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/08/how-to-crop-and-resize-image-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1452186001402792289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1452186001402792289'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/08/how-to-crop-and-resize-image-client.html' title='How to crop and resize an image client (browser) side?'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-4857774286101227993</id><published>2009-08-08T05:58:00.000-07:00</published><updated>2009-08-08T06:17:43.756-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='PyGTK'/><title type='text'>You know what? It could be Python?!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.semanticbible.com/other/talks/2009/bibletech/python-logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 211px; height: 71px;" src="http://www.semanticbible.com/other/talks/2009/bibletech/python-logo.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yes... You know I am still searching for the ideal language... The one I could use for almost everything I do: web, desktop apps, mobile, ... And you know what? It could be Python...&lt;br /&gt;&lt;br /&gt;I ignored this language for quite a long time because I didn't like the non-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ECMA&lt;/span&gt; syntax (and the strange indentation thing was a turn off for me). But I tried it the past few weeks and build an application with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PyGTK&lt;/span&gt;... And I am very happy with it. It's fast, easy, complete, open, cross platform, ...&lt;br /&gt;&lt;br /&gt;I understand now why it got so popular. And I must say it's nice coming from Java and C++ for GUI apps development to see it's possible to do the same thing faster and with less problem.&lt;br /&gt;&lt;br /&gt;I guess the next step for me is to continue working with it and maybe give you some practical tips here later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-4857774286101227993?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/4857774286101227993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/08/you-know-what-it-could-be-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4857774286101227993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4857774286101227993'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/08/you-know-what-it-could-be-python.html' title='You know what? It could be Python?!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1636509051460587713</id><published>2009-07-29T09:10:00.000-07:00</published><updated>2009-07-29T09:26:26.006-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='PC World'/><title type='text'>Five Reasons Google Chrome OS Will Fail</title><content type='html'>my reply to the article : &lt;a href="http://www.pcworld.ca/news/column/9a97017dc0a800060021a44e64953455/pg1.htm"&gt;Five Reasons Google Chrome OS Will Fail&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;what''s up with you at PC world... do you have something against Google? It started with ""Google: The World''s Most Successful Failure?"" and now this... It''s actually kind of funny. Especially that you don''t really seem to understand Google strategy behind the scene. The problem of the ''cloud'' is the clients (I mean the browsers). Google launching Gears; then their browser, then an OS is to me clearly an intention from them to extend the clients capability. Yes Google Apps is not as good as a desktop app... That''s due to HTML and JavaScript limitation. The future of the web also stands in the improvement of the clients apps. Maybe in the future you will have the ""full featured Internet apps"" with Google OS and a degraded version with other OS... In this case, I am ready to switch to Chrome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1636509051460587713?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1636509051460587713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/07/five-reasons-google-chrome-os-will-fail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1636509051460587713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1636509051460587713'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/07/five-reasons-google-chrome-os-will-fail.html' title='Five Reasons Google Chrome OS Will Fail'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1822096367468485327</id><published>2009-07-29T09:01:00.000-07:00</published><updated>2009-07-29T09:26:52.932-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='PC World'/><title type='text'>Google: The World's Most Successful Failure?</title><content type='html'>I decided to post some stuff I wrote as a reply to PC World's article.&lt;br /&gt;&lt;br /&gt;Here is the first one in reponse to &lt;a href="http://www.pcworld.ca/news/column/955c3bf7c0a800060021a44edc3ee6bd/pg1.htm"&gt;Google: The World's Most Successful Failure?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I also had to react about this pointless article. Google has incredible people as employees; and these brain have freedom to be creative and experiment as Google indeed make lots of money. As a result, Google developed most of the more useful apps on the web. Google is part of the success of the Internet... Where would be the web without them? The idea behind all the R&amp;D they are doing is simple... The more people will use the web and their products, the more money they will make with ads. Having so much income that they can just develop what they want without having to be worried about profit; is that really a failure? ""The World''s Most Successful Failure?"" This is a good title for Facebook ... but not for Google...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1822096367468485327?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1822096367468485327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/07/google-worlds-most-successful-failure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1822096367468485327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1822096367468485327'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/07/google-worlds-most-successful-failure.html' title='Google: The World&apos;s Most Successful Failure?'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-9161167541768809488</id><published>2009-06-08T05:23:00.001-07:00</published><updated>2009-06-08T05:32:10.403-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='Icon'/><title type='text'>Eclipse Icon - 128px</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/Si0ESEYkYZI/AAAAAAAAASE/dPHNU4_kl5U/s1600-h/screenshot6.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 176px; height: 200px;" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/Si0ESEYkYZI/AAAAAAAAASE/dPHNU4_kl5U/s200/screenshot6.png" alt="" id="BLOGGER_PHOTO_ID_5344933041219592594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/Si0C3D04EZI/AAAAAAAAAR8/z2P2EnsstSM/s1600-h/EclipseAS.psd.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 128px;" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/Si0C3D04EZI/AAAAAAAAAR8/z2P2EnsstSM/s400/EclipseAS.psd.png" alt="" id="BLOGGER_PHOTO_ID_5344931477701792146" border="0" /&gt;&lt;/a&gt;Yes, I love Eclipse. It's really the best &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;IDE&lt;/span&gt; for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PHP&lt;/span&gt;, JavaScript, and plenty of other languages. The great thing is that you have everything in one &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;IDE&lt;/span&gt;. So this is great for the web... Often you have to develop in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;PHP&lt;/span&gt;, JavaScript and Flex for the same app. It would be a pain if you had 3 different &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;IDEs&lt;/span&gt;... so the solution is Eclipse.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Anyway, I just wanted to share an Icon for Eclipse I have made. I could not find a nice big Icon to put on my desktop so I created one...&lt;br /&gt;&lt;br /&gt;Right click and download it if you want to use it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-9161167541768809488?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/9161167541768809488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/06/eclipse-icon-128x.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/9161167541768809488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/9161167541768809488'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/06/eclipse-icon-128x.html' title='Eclipse Icon - 128px'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/Si0ESEYkYZI/AAAAAAAAASE/dPHNU4_kl5U/s72-c/screenshot6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-8681478099881287058</id><published>2009-05-15T09:20:00.000-07:00</published><updated>2009-05-15T09:23:43.311-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='neirds'/><category scheme='http://www.blogger.com/atom/ns#' term='Dance'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt4'/><category scheme='http://www.blogger.com/atom/ns#' term='Geeks'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Qt 4 Dance... Now you are conviced right?!</title><content type='html'>I had a chat with one of the developers of our team and he was not convinced about Qt4 and Qt creator... So I'll have to use the killer argument...&lt;br /&gt;&lt;br /&gt;Here it is:&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NbTEVbQLC8s&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/NbTEVbQLC8s&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Now you are convinced right?!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-8681478099881287058?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/8681478099881287058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/qt-4-dance-now-you-are-conviced-right.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/8681478099881287058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/8681478099881287058'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/qt-4-dance-now-you-are-conviced-right.html' title='Qt 4 Dance... Now you are conviced right?!'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-6729444938688757959</id><published>2009-05-12T07:19:00.000-07:00</published><updated>2009-05-12T07:54:33.864-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt Creator'/><category scheme='http://www.blogger.com/atom/ns#' term='desktop application'/><category scheme='http://www.blogger.com/atom/ns#' term='Qt4'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Qt4: C++ GUI development easy</title><content type='html'>Well, I don't have a lot of experience with C++... Actually as I am a self taught everything I don't have the classic developer's training. I begun as a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;web designer&lt;/span&gt; and here I am now a web application developer. And maybe soon a desktop application developer...&lt;br /&gt;&lt;br /&gt;For the desktop environment I tried &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PHP&lt;/span&gt; and &lt;a href="http://winbinder.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Winbinder&lt;/span&gt;&lt;/a&gt;, Java and Swing (see my &lt;a href="http://www.antidot.ca/timeshoot/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;timeshoot&lt;/span&gt;&lt;/a&gt; project) and now I am beginning my first desktop application with &lt;a href="http://www.qtsoftware.com/products/"&gt;Qt4&lt;/a&gt; and C++.&lt;br /&gt;&lt;br /&gt;The funny thing is that if you know some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;PHP&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;OOP&lt;/span&gt; and Java, Qt4 and C++ won't be get along with :). I always had this image of the C and C++ &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;programmer&lt;/span&gt; as a super geeky genius writing mystical obscure lines of code. I had this idea that C++ would not be for me, too complicated and most of all taking too much time learning and developing with it...&lt;br /&gt;&lt;br /&gt;Fortunately it seems like I was wrong :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Qt Creator: a complete &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IDE&lt;/span&gt; with WYSIWYG for GUI design&lt;/span&gt;&lt;br /&gt;One of the great surprise I had was to find an easy to install and use tool from Qt to start coding quickly: &lt;a href="http://www.qtsoftware.com/products/developer-tools?currentflipperobject=821c7594d32e33932297b1e065a976b8"&gt;Qt Creator&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.qtsoftware.com/images/products/screenshot-qt-creator-editor/image_preview"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 294px;" src="http://www.qtsoftware.com/images/products/screenshot-qt-creator-editor/image_preview" alt="" border="0" /&gt;&lt;/a&gt;This tool is nice, lightweight, easy and have a tool letting you design your GUI with Qt in WYSIWYG mode.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Qt4, nice and useful things are included&lt;/span&gt;&lt;br /&gt;Another nice surprise I had about Qt4 is that some libraries to use XML and databases are included. It is not difficult at all to develop an application with a connection to a MySQL database... That is all I need for the moment... I guess we will see soon a new version of my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Timeshoot&lt;/span&gt; tool in C++.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;What about the documentation?&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ecx.images-amazon.com/images/I/51CD17j2PrL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU15_.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 240px;" src="http://ecx.images-amazon.com/images/I/51CD17j2PrL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU15_.jpg" alt="" border="0" /&gt;&lt;/a&gt;Qt documentation is nice... and integrated in their &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;IDE&lt;/span&gt;. Really you will find everything you need in just one package... And you will be ready in no time developing C++ GUI application compatible Linux, Windows and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;MacOS&lt;/span&gt; X.&lt;br /&gt;&lt;br /&gt;I also bought a book on the subject. I guess I'm all set now.&lt;br /&gt;&lt;br /&gt;See the book at Amazon Canada:&lt;br /&gt;&lt;a href="http://www.amazon.ca/GUI-Programming-Qt4-Jasmin-Blanchette/dp/0132354160/ref=pd_cp_b_0"&gt;C++ GUI Programming with Qt 4&lt;/a&gt; by Jasmin &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Blanchette&lt;/span&gt; and Mark &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Summerfield&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;Don't be afraid of C++ like I was ;)&lt;br /&gt;Ok I guess I sound stupid for developers with the classic training... But think about the others, and maybe the majority? That would be an interesting thing to know... What is the percentage of developer with a University degree in the field or equivalent training...&lt;br /&gt;&lt;br /&gt;BTW did I tell you that Qt4 is free as long as your project is LGPL? And yes you will have to buy a license if you sell your dev; makes sense to me, you make money with their stuff, give them back a part of the profit... It should actually be a general rule even for the open source products, please donate to the developers if you make money with their stuffs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-6729444938688757959?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/6729444938688757959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/qt4-c-gui-development-easy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6729444938688757959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6729444938688757959'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/qt4-c-gui-development-easy.html' title='Qt4: C++ GUI development easy'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-4569699696657985717</id><published>2009-05-10T05:47:00.000-07:00</published><updated>2009-05-10T05:58:19.942-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='merge'/><category scheme='http://www.blogger.com/atom/ns#' term='replication'/><category scheme='http://www.blogger.com/atom/ns#' term='clustering'/><title type='text'>MySQL replication: Advanced techniques</title><content type='html'>I have been working with &lt;a href="http://www.mysql.com/"&gt;MySQL&lt;/a&gt; for around 8 years now and I really love it. Of course there are the basics... It's FAST (at least for reading). But you can use some interesting advanced techniques which could save your life in some cases.&lt;br /&gt;&lt;br /&gt;For example, I remember a time where we where limited by the maximum size of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;MyISAM&lt;/span&gt; table to 4Go... and of course we reached this limit at a certain point in production. We could save the day &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;copying&lt;/span&gt; the table, create a copy of the structure and merging both tables (with the &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/merge-storage-engine.html"&gt;merge engine storage&lt;/a&gt;). The result was working with one table with a limit of 8Go... We did the same thing later with more tables.&lt;br /&gt;&lt;br /&gt;Anyway, I will maybe explain this techniques and more in another article. It could help somebody...&lt;br /&gt;&lt;br /&gt;For now I just wanted to share a REALLY GOOD article about MySQL replication. It is actually the BEST I have read.&lt;br /&gt;Here is : &lt;a href="http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html"&gt;Advanced MySQL Replication Techniques&lt;/a&gt; by Giuseppe &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Maxia&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;You will learn about using replication in a way that could (in most case) replace MySQL clustering.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-4569699696657985717?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/4569699696657985717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/mysql-replication-advanced-techniques.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4569699696657985717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/4569699696657985717'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/mysql-replication-advanced-techniques.html' title='MySQL replication: Advanced techniques'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-5153285394734050731</id><published>2009-05-08T08:54:00.000-07:00</published><updated>2009-05-10T06:15:09.553-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='webdevelopment'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='APC'/><category scheme='http://www.blogger.com/atom/ns#' term='accelerator'/><title type='text'>Zend Framework performance test with APC</title><content type='html'>&lt;div&gt;As I told you before, I am using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ZF&lt;/span&gt; for some important projects I am working on. I am also &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;develop ping&lt;/span&gt; a Framework on TOP of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Zend&lt;/span&gt; Framework. The thing I am developing is actually a framework for a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;CMS&lt;/span&gt;. The idea is to have a unique core and several instances of the core which would be the websites using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;CMS&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway as this framework could be the one used by all our future customers, I am concerned about the performances. I am searching a "quick fix" to speed up &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;ZF&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I have made some tests with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;ZF&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;APC&lt;/span&gt;. You will find more information about &lt;a href="http://en.wikipedia.org/wiki/PHP_accelerator"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PHP&lt;/span&gt; accelerators here&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-large;"&gt;The technique used&lt;/span&gt;&lt;/div&gt;&lt;div&gt;I tested an application I developed using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ZF&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;MVC&lt;/span&gt; modules, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Zend&lt;/span&gt;_Form, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Zend&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Acl&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Zend&lt;/span&gt;_Db_Table, ... lots of their modules actually) with or without &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;APC&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And also I had the idea to load the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;ZF&lt;/span&gt; files in a memory drive to speed up the access to the MANY files composing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;ZF&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;On &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;linux&lt;/span&gt; I mounted a memory drive like that:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt;# mount -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;osize&lt;/span&gt;=300m &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;tmpfs&lt;/span&gt; /www/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;zendframework&lt;/span&gt; -t &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;tmpfs&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then I copied all the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;ZF&lt;/span&gt; files in /www/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;zendframework&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For your info, if this didn't speed up the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;ZF&lt;/span&gt; a lot, I think it could if you use the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Zend&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Autoloader&lt;/span&gt; (but don't use this thing! there is no reason to slow down you app).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the time tracking, I used a simple &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;PHP&lt;/span&gt; function in the bootstrap file.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-large;"&gt;Results at a glance&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Here they are:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.antidot.ca/blogs/zfspeed-3Dgraph.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 193px;" src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SgRWUKlRisI/AAAAAAAAAQ4/Yx0pxE8Rpuo/s320/zfspeed-3Dgraph.png" alt="" id="BLOGGER_PHOTO_ID_5333482763151575746" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;With &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;APC&lt;/span&gt;&lt;/b&gt;, the application runs around &lt;b&gt;2 times faster&lt;/b&gt; but actually in theory it could run even &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_30"&gt;faster&lt;/span&gt; in a production environment with multiple users using it.&lt;/li&gt;&lt;li&gt;At best some scripts could run &lt;b&gt;3 times faster with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;APC&lt;/span&gt;&lt;/b&gt; than without.&lt;/li&gt;&lt;li&gt;The &lt;b&gt;memory drive doesn't seem to have much influence&lt;/b&gt;, but it &lt;b&gt;does... a bit&lt;/b&gt;. So this could be to take into consideration in a production environment.&lt;/li&gt;&lt;li&gt;Using &lt;b&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;APC&lt;/span&gt; and caching a form&lt;/b&gt; produced with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Zend&lt;/span&gt;_Form we had an improvement of 1090.86% (&lt;b&gt;10 times faster&lt;/b&gt;!)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I won't enter in the detail of the application here but I could if you ask me to...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are the result in a table:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.antidot.ca/blogs/zfspeed-table.png"&gt;&lt;img src="http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SgRcbMBRMbI/AAAAAAAAARA/DZkBZo5Xx3o/s320/zfspeed-table.png" alt="" id="BLOGGER_PHOTO_ID_5333489480866279858" style="cursor: pointer; width: 273px; height: 320px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And here the graph in a more "readable" format:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.antidot.ca/blogs/zfspeed-flatgraph.png"&gt;&lt;img src="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/SgRc-D-IfaI/AAAAAAAAARI/aau82kzMwBY/s320/zfspeed-flatgraph.png" alt="" id="BLOGGER_PHOTO_ID_5333490080001064354" style="cursor: pointer; width: 320px; height: 319px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And if you want to know what the application looks like here is a screenshot:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/SgRdhV6nkTI/AAAAAAAAARQ/kJNnGWXsE-0/s1600-h/zfspeed-websiteSmall.png"&gt;&lt;img src="http://3.bp.blogspot.com/_ZqqM6_Mj2SY/SgRdhV6nkTI/AAAAAAAAARQ/kJNnGWXsE-0/s320/zfspeed-websiteSmall.png" alt="" id="BLOGGER_PHOTO_ID_5333490686113583410" style="cursor: pointer; width: 320px; height: 251px;" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is composed of a set of forms used to enter customers data. The application is multi &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"&gt;lingual&lt;/span&gt; (here it is in Chinese - no sorry I don't speak &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;Chinese&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;btw&lt;/span&gt; :) ).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please let me know if you want detailed information about the tests and the application and also how could I have a form run 10 times faster with cache and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;APC&lt;/span&gt; comparing to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;Zend&lt;/span&gt;_Form one :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-5153285394734050731?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/5153285394734050731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/zend-framework-performance-test-with.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/5153285394734050731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/5153285394734050731'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/zend-framework-performance-test-with.html' title='Zend Framework performance test with APC'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SgRWUKlRisI/AAAAAAAAAQ4/Yx0pxE8Rpuo/s72-c/zfspeed-3Dgraph.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-8960503456544601049</id><published>2009-05-08T08:01:00.000-07:00</published><updated>2009-05-10T06:15:42.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='webdevelopment'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>ZendFramework - is it worth it? status after the 1.8 release</title><content type='html'>I guess it is not a secret, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Zend&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Framework brings a great level of professionalism and convention to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PHP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; development but sometimes forces our application to be slow and &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;bloated&lt;/span&gt;...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have been using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; since version 1.5 and just upgraded to the 1.8. I &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;developed&lt;/span&gt; and maintained 3 pretty complex projects with it and used a lot of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; modules and could notice some important things... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;This framework is new so us, as users sometimes suffer from it.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Backward compatibility: not so good...&lt;/b&gt;&lt;/div&gt;&lt;div&gt;For example, 2 or 3 times while &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;upgrading&lt;/span&gt; the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; version I had to re-test everything and change some code for my application to work... I had problems with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Zend&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;_Loader, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Zend&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Amf&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Zend&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;_Translate... I won't enter into the details here but you have to know that you could waste some time when upgrading.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Performance: not good... but no big surprise&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Performance wise, it's really not so great... If you compare a simple &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;PHP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; application with a set of form &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;developed&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;MVC&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Zend&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;_Form without cache and the same thing with simple HTML and some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;PHP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; behind you could see a huge performance gap... The simple application could be up to 10 times faster (no kidding, I'll posted some tests I have made)!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One the the thing that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;annoys&lt;/span&gt;&lt;/span&gt; me with a lot of new framework is that they implement plenty of design patterns, are inspired of Java and "so called best practice" but some times they don't consider the context they are in... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;PHP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; is not Java! JavaScript is not Java neither (I am saying that for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Dojo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and their "require() s"...)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So anyway, about the performance, I know the community will find solutions but right now the framework is too volatile in a way.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I guess it is not bad if you compare to Ruby-on-Rails? It would be interesting to compare...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:x-large;"&gt;So... why should I use it?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;I have several arguments for you. &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Great for a team and big projects&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Using a Framework is great when you work on big projects and with a team. Lots of conventions are defined in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; documentation. So things can be clearer for a team and if there is an ambiguity, refers to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; conventions :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Great &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;because&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt; you will have less documentation to write&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;A whole part of your project will already have a technical documentation : the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; one :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Great because lots of modules are already &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_21"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;developed&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt; for you&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Yes... don't reinvent the wheel, that would be stupid.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Great if you need to hire &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;developers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;That's right... If you use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and you need more people to help you. You know that if somebody in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; certified (or competent) he could be productive very quickly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And also great for all the obvious reasons describe on the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;ZF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; website.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-8960503456544601049?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/8960503456544601049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/zendframework-is-it-worth-it-status.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/8960503456544601049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/8960503456544601049'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/05/zendframework-is-it-worth-it-status.html' title='ZendFramework - is it worth it? status after the 1.8 release'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-1430718947727132429</id><published>2009-03-23T13:26:00.000-07:00</published><updated>2009-03-23T13:38:27.220-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='binding'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>It could be PHP + JAVA with a binding between both languages?</title><content type='html'>Still searching for the ideal programing language, I though about something... Maybe the ideal language would result from a binding between several languages?&lt;br /&gt;&lt;br /&gt;Actually, the only thing I am asking for is being able to write the code once and reuse it what ever the environment is: web, desktop, ...&lt;br /&gt;&lt;br /&gt;So I investigated the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;PHP&lt;/span&gt;/Java binding solutions. This seems to be pretty cool. The idea is to wrap the Java classes with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PHP&lt;/span&gt;. As a result we can use the methods of a Java class within a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;PHP&lt;/span&gt; script, see &lt;a href="http://php.net/manual/en/java.examples-basic.php"&gt;an example here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will test this with my "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;timeshoot&lt;/span&gt;" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;dev&lt;/span&gt; (see &lt;a href="http://www.antidot.ca/timeshoot/"&gt;http://www.antidot.ca/timeshoot/&lt;/a&gt;) . This is a Java desktop application I &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;developed&lt;/span&gt;. The tool is used to log the time we spend working on projects. I actually need to develop a web interface too. So I will use the Java classes in my &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;PHP&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;dev&lt;/span&gt;... I'll tell you my though about it...&lt;br /&gt;&lt;br /&gt;Anyways, now we see a binding between &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PHP&lt;/span&gt; and Java is possible... and a binding between Java and Javascript is possible too (see &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Jaxer&lt;/span&gt; and Rhino projects); I guess we will soon see a binding between &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;PHP&lt;/span&gt; and JavaScript trough Rhino for example.&lt;br /&gt;This could be cool... We could use the same JavaScript code to check the user input on the client and server side (server side using JavaScript objects  warped in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;PHP&lt;/span&gt; object).&lt;br /&gt;&lt;br /&gt;If you know such a project is in development, please tell me... I am &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;interested&lt;/span&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-1430718947727132429?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/1430718947727132429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/03/it-could-be-php-java-with-binding.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1430718947727132429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/1430718947727132429'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/03/it-could-be-php-java-with-binding.html' title='It could be PHP + JAVA with a binding between both languages?'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-7645053389749596168</id><published>2009-03-11T05:17:00.000-07:00</published><updated>2009-03-11T14:25:39.062-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><title type='text'>The Ideal programming language - PHP, JavaScript, Java, ActionScript?</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What would be the ideal programming language?&lt;/span&gt;&lt;br /&gt;I think the dream would be having to develop once only for any environment you wish to deploy you app to. Also those environment should be as diverse as the a web server, a browser, a desktop app, a mobile device... So you'll tell me "I know! you are talking about Java!". Yes it's true, Java can do that. It's such a nice and elegant programming language, you can do what ever you want with it and deploy to all those environments. But Java is not that easy nor flexible. I love it but... In most case it won't be the best return on investment for my clients.&lt;br /&gt;&lt;br /&gt;Anyways, the needs to deploy on different environment is real and for now, the biggest competitor I see for Java if you consider the web, desktop apps and mobile device would be ActionScript (FLEX and Flash).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;FLEX vs. Java&lt;br /&gt;FLEX: Not bad for web, desktop and mobile&lt;/span&gt;&lt;br /&gt;I can here the Java specialists from here "what? what are you talking about, there is nothing to compare!!!". But YES there is a lot to compare. It is pretty clear to me that Adobe strategy is inspired of what Java can do. And not only that but even the ActionScript 3 syntax... It IS Java :)&lt;br /&gt;&lt;br /&gt;Also, look at their model Flash apps and Java apps are compiled code running on a virtual machine (the flash player for flash, the JVM - or JRE for Java). Anyway, ActionScript weakness is the server side for now but I am sure Adobe will do something about that pretty soon... Wanna bet?&lt;br /&gt;&lt;br /&gt;FLEX is a great framework for developing web RIA GUIs and also small desktop applications with AIR. Also FLEX applications are easier to deploy on the web than AJAX apps. It's also usually faster and "richer". The only "problem" is the plugin... It is still an obstacle for some people or organizations. Also even if Adobe developed their plugin for may environments, it does not run equally well on these envs (the linux plugin is pretty weak).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Java vs. JavaScript&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;JS+Jaxer+AIR: Not bad for web, desktop and server&lt;/span&gt;&lt;br /&gt;This is a quite refreshing solution. JavaScript is getting more and more popular since the Ajax word was first heard. Now you can find JavaScript in a lot of different environments. Even in part of some OS and in part of desktop apps (Mozilla apps for example).&lt;br /&gt;&lt;br /&gt;And now... server side with Jaxer! This is quite a revolution. It is so nice being able to develop only one code to check user input client side and server side. And it is so nice to access the flexibility of JavaScript server side.&lt;br /&gt;&lt;br /&gt;And with AIR, you can create desktop applications with JavaScript. You can even develop offline browser apps with Google Gears.&lt;br /&gt;&lt;br /&gt;I actually tested Jaxer yesterday and it's really nice. It's such a nice feeling knowing your code will be reusable and compatible on the client and on the server.&lt;br /&gt;&lt;br /&gt;JavaScript is certainly a HOT language right now... It's nice, flexible widely spread, easy to learn, OOP, ...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PHP now...&lt;/span&gt;&lt;br /&gt;PHP is a great language. It's actually the main language I use. It's flexible, fast, open, extremenlu rich in features, ... The only problem is that it is limited to the server side. Yes? ... actually no. You can develop desktop application with PHP.&lt;br /&gt;&lt;br /&gt;I developped a small app with PHP and &lt;a href="http://winbinder.org/"&gt;Winbinder&lt;/a&gt; a while ago and it's a nice solution. It's easy to develop, compilable and fast. I have made a version of my application later in Java and the it was slower and much heavier to distribute (as you need the JRE or some kind of compiled distribualble version).&lt;br /&gt;&lt;br /&gt;PHP-GTK is also available...&lt;br /&gt;&lt;br /&gt;So there are solution to get PHP out of its server box but it is still really experimental. Also, PHP is maybe not the most elegant language to work with when developing desktop GUIs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;I would say that the web application developer job evolved a lot and will still change... for the better. As webdevelopers, we were used to juggle with several languages and techniques to get our web app working... Not it's time for some rationalisation... finaly...&lt;br /&gt;&lt;br /&gt;The ideal programming language is not there yet (but Java is we had a JRE as small and fast as the flash plugin) but it is definitely on his way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-7645053389749596168?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/7645053389749596168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/03/ideal-programming-language-php.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7645053389749596168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/7645053389749596168'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/03/ideal-programming-language-php.html' title='The Ideal programming language - PHP, JavaScript, Java, ActionScript?'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-50396618185792712.post-6683667048355772819</id><published>2009-02-12T06:07:00.000-08:00</published><updated>2009-03-11T14:29:04.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='DOJO'/><category scheme='http://www.blogger.com/atom/ns#' term='EXT-GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>JavaScript libraries talks</title><content type='html'>At Antidot (the company I founded) we often have talks about the JavaScript library we should use... We develop mainly with PHP and our new projects are based on the Zend Framework.&lt;br /&gt;&lt;br /&gt;I was using the &lt;a href="http://developer.yahoo.com/yui/"&gt;YUI&lt;/a&gt; but also tested &lt;a href="http://code.google.com/webtoolkit/"&gt;GWT&lt;/a&gt;, &lt;a href="http://extjs.com/products/gxt/"&gt;EXT-GWT&lt;/a&gt;, &lt;a href="http://www.dojotoolkit.org/"&gt;DOJO&lt;/a&gt;, &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;, ... My personal preference is using the &lt;span style="font-weight: bold;"&gt;YUI&lt;/span&gt; for small to medium projects and &lt;span style="font-weight: bold;"&gt;EXT-GWT&lt;/span&gt; for large JavaScript apps. I guess I'll explain my choice in detail later.&lt;br /&gt;&lt;br /&gt;But in the mean time, here is a short funny talk I had with Sebastien Le Grand about DOJO vs jQuery or something lighter (in french):&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:39:35 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; sinon pour ce qui est du JS framework ... franchement je m en calle du moment que le resultat est la ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:40:02 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; bref si kenny veut faire du dojo il peut ... &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:40:21 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; ce k il ferait avec Dojo ne ressemblera pas a la makette ... et sera trop lourd pour les besoins...&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;(08:40:33 AM) &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Sebastien:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Arial;"&gt;okay&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:40:50 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; si maintenant il veut prouver le contraire et ke le resultat est la ... tant mieux :) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:41:00 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; c est le resultat ki compte ... :D&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:42:20 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; mais t imagine les debats avec pac et le graphiste dans ce cas :D&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;(08:43:00 AM) &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Sebastien:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Arial;"&gt;yep ... mais c vrai que dans le fond ces histoire de javascript ...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;(08:43:04 AM) &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Sebastien:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Arial;"&gt;c tout a fait secondaire&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:43:08 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; clair &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;(08:43:15 AM) &lt;/span&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Sebastien:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Arial;"&gt;le débat est plutot PHP5 et zend framework&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:43:17 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; surtout k au final .... ca reste du javascript deriere &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:43:24 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; we c est sur &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:43:39 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; l important c est la couche solide et reutilisable en dessous &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:43:59 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; javascript ca reste du gadget dans un sens&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:44:26 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; bon ... un gadget bien agreable pour le user si c est bien employe ... mais gadget kand meme&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:44:56 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; le truc est k a mon avis les adeptes de Dojo y tiennent ... car c est une telle usine a gaz... k ils ont du " s investir " pour l apprendre &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:45:08 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; Dojo est vraiment large ...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:45:13 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; et c est ca ke j aime pas trop...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:45:29 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; Un machin si large pour du gadget ... je trouves ke c est pas un bon calcul :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:46:07 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; JQuery = leger et gadget ... ca convient bien a JS&lt;br /&gt;YUI est aussi leger bien ke pro mais facile ... donc bien pour JS aussi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:46:30 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; DOJO c est comparable a GWT (l outil de Google ki transforme le Java en Javascript)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:46:47 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; bref beaucoup trop lourd dans 95% des cas ou on a besoin de JS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:47:33 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; ... et pas assez serieux kand t a besoin de faire une VRAI grosse appli JS (dans ce cas autant utiliser GWT)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;(08:48:20 AM) &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(32, 74, 135);"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;Arnaud:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt; c est bien ce que je viens de dire ... vais taper ca sur un blog tiens ;)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/50396618185792712-6683667048355772819?l=webtechtalks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webtechtalks.blogspot.com/feeds/6683667048355772819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webtechtalks.blogspot.com/2009/02/javascript-libraries-talks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6683667048355772819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/50396618185792712/posts/default/6683667048355772819'/><link rel='alternate' type='text/html' href='http://webtechtalks.blogspot.com/2009/02/javascript-libraries-talks.html' title='JavaScript libraries talks'/><author><name>Arnaud</name><uri>http://www.blogger.com/profile/02574480036773684929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://4.bp.blogspot.com/_ZqqM6_Mj2SY/SZQr6XUMmjI/AAAAAAAAAP0/XXJqCIh6uWk/S220/arnaudselvais'/></author><thr:total>0</thr:total></entry></feed>
