tag:blogger.com,1999:blog-103862632024-03-07T12:53:37.545+08:00ArulPrasad's Tech BlogArulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.comBlogger152125tag:blogger.com,1999:blog-10386263.post-32600490028255980862014-02-24T15:40:00.000+08:002014-02-24T15:44:13.253+08:00Hopefully this Apple TLS/SSL bug debacle settles the age old coding-style debate...<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
... about whether you should omit curly braces around your if block, if there's only one statement.<br />
<br />
Just go ahead and add them in.<br />
<br />
Read Adam Langley's analysis about the issue here: <a href="https://www.imperialviolet.org/2014/02/22/applebug.html">https://www.imperialviolet.org/2014/02/22/applebug.html</a><br />
<br />
<br /></div>
Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-52104475221846869192013-07-12T15:56:00.002+08:002013-07-12T15:56:12.751+08:00[ruby] Calling :methods on BasicObject<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
So, I just learnt a couple of days ago that you could pass in <span style="font-family: Courier New, Courier, monospace;">false</span> to <span style="font-family: Courier New, Courier, monospace;">:methods</span> , and it'll filters out the inherited methods and return an array of only the methods that are defined in the class.<br />
And as I spent time playing with it, I thought I'll check how <span style="font-family: Courier New, Courier, monospace;">BasicObject</span> would respond to, if I called <span style="font-family: Courier New, Courier, monospace;">methods(false) </span>on it.<br />
<br />
My assumption was that <span style="font-family: Courier New, Courier, monospace;">BasicObject</span> would possibly be the only class which would return back the same array for<span style="font-family: Courier New, Courier, monospace;"> :methods(true) </span><span style="font-family: inherit;">and</span><span style="font-family: Courier New, Courier, monospace;"> :methods(false)</span> - since it doesn't inherit from anything.<br />
<br />
So here's what I did<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">BasicObject.methods(false) # => []</span><br />
<span style="font-family: inherit;"><br /></span>An empty array? Given that <span style="font-family: Courier New, Courier, monospace;">BasicObject </span>is the root of Ruby's object hierarchy, it didn't make sense that BasicObject could respond differently for <span style="font-family: Courier New, Courier, monospace;">:methods(true) </span>and<span style="font-family: Courier New, Courier, monospace;"> :methods(false)</span> - So where were those methods coming from?<br />
<br />
After a few mins of trying to Google, I reached out to [Chew Choon Keat](http://blog.choonkeat.com/) and he figured the obvious problem here. It wasn't BasicObject responding to the call - The receiver was instead a Class object.<br />
<br />
:instance_methods seems to be respond like how I expected it to though.<br />
<br />
Oh, and <span style="font-family: Courier New, Courier, monospace;">:methods</span> is defined in the <span style="font-family: Courier New, Courier, monospace;">Kernel</span> module, that gets included into <span style="font-family: Courier New, Courier, monospace;">Object</span> class.<br />
<br />
#TIL</div>
Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-90330928953096608172013-07-11T21:18:00.004+08:002013-07-11T21:20:49.552+08:00RVM install fails when you have developer preview of xcode5 installed<div dir="ltr" style="text-align: left;" trbidi="on">
I was just installing ruby-2.0.0-p247 on my machine (high time, I know!), and rvm kept failing silently. It would download ruby, extract, proceed till configure, and failed at the installation phase.<br />
<br />
So I ran<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">rvm install --debug ruby-2.0.0-p247 </span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">And this exposed the location of the installation log file. </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The log, showed that the failure was with a missing path within Xcode.app - </span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Apple's Xcode5 developer preview app 1 & 2 were just named </span><span style="font-family: Courier New, Courier, monospace;">Xcode5-DP.app</span>, but with the Developer preview 3, the app's called <span style="font-family: Courier New, Courier, monospace;">Xcode5-DP3.app </span>- And for some reason rvm's install scripts were looking for a path inside Xcode5-DP.app. <i>Strange</i>.<br />
<br />
Anyway, I then proceeded to symlink Xcode5-DP3.app as Xcode5-DP.app, did a rvm install again, and this time, installation went smooth. <br />
<br />
Blogging this, just in case someone else runs into the same issue. I can't be the only one who's so late to the party? </div>
Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-15131578134851812862013-03-11T03:15:00.000+08:002013-03-11T03:16:40.934+08:00Learn Ruby on Rails in Bahasa Indonesia <div dir="ltr" style="text-align: left;" trbidi="on">
<a href="http://twitter.com/nmutiara">Nia Mutiara</a>, a dear friend and colleague of mine has started writing Ruby on Rails tutorials in Bahasa Indonesia, (and has created this <u><a href="http://nyan.catcyb.org/mengenal-ruby/">try.ruby like application</a></u> too!), to help her local developer community adapt Ruby on Rails.<br />
<br />
Here's an attempt to send her some hits. If you have friends in Indonesia contemplating learning programming, send them over to her page! http://nyan.catcyb.org/mengenal-ruby/<br />
<br />
<br />
<br /></div>
Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-41796030237126976192012-06-27T22:51:00.001+08:002012-06-27T22:54:02.278+08:00Apple iTunes store launches in Singapore<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://memegenerator.net/instance/22585311" imageanchor="1" rel="nofollow" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;" target="_blank"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_injViYrsw2YePk4U-XRvlRNAXDH5C52YhougbA3YwxMMvCx4po8xAxKLdWt8CCdukVD5Ji28zK6Dwkt3-htpUKBnt6lL76H0dsH5Up4zexTfWwF-aP-caJSDPBlh63WPPRkT/s200/22585311.jpeg" width="200" /></a></div>
iTunes store arrived in Singapore today. It only took about 9 years, but hey! we can finally buy music tracks legally online! All 16 billion of them! And movies rentals too!<br />
<br />
They also launched it in a few other <a href="http://online.wsj.com/article/SB10001424052702303649504577492120952929212.html">neighbouring countries</a> (WJ article).<br />
<br />
<a href="http://www.apple.com/sg/itunes/">http://www.apple.com/sg/itunes/</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
You next <a href="https://play.google.com/store/music">Google music</a>.<br />
<br />
Talking about being unavailable in Singapore, Adobe <a href="http://www.adobe.com/products/creativecloud.html">CreativeCloud</a> is right on top of that list for me. Go adobe! </div>Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-18100544710819576622012-04-24T03:02:00.003+08:002013-02-20T09:58:59.860+08:00Adobe CreativeSuite 6 launches. No CreativeCloud outside US, Canada and Mexico<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUVX9i-s1FmmAne2MEZz_wLmVAFQVumOCsftp8VN9zUJFV-lMIiHzE56L1I1dmOI2b_vYemeeznXLMRGNye4-AwZo5SspcSHet7vRxFqwtBgE0juzUANeaOpRzUtGU235CbL07/s1600/NoCreativeCloudForYou.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUVX9i-s1FmmAne2MEZz_wLmVAFQVumOCsftp8VN9zUJFV-lMIiHzE56L1I1dmOI2b_vYemeeznXLMRGNye4-AwZo5SspcSHet7vRxFqwtBgE0juzUANeaOpRzUtGU235CbL07/s320/NoCreativeCloudForYou.jpg" width="320" /></a><br />
Update: Creative Cloud for teams is now available in Singapore too. <a href="http://blogs.adobe.com/creativecloud/creative-cloud-for-teams/" target="_blank">Read more</a><br />
<br />
The Creative Suite 6 launch event just ended.<br />
<br />
The most exciting piece that I was looking forward to was the CreativeCloud subscription license that allows access to almost all CS applications (and more) for USD 49.99. Sounded like a great deal, and was super excited! Only when I tried to preorder did I notice the country choice for Billing addresses only allows USA, Canada and Mexico. A customer care person on the online chat support page confirmed this too.<br />
<br />
<br />
Everyone would agree that most software piracy happens in places where people can't afford to spend a couple of thousands of US dollars on software. They probably don't make that much money in a month. This subscription license seemed to have a potential to change that. At $49.99 a month, adobe would've potentially had a chance to earn possibly millions of new paying customers. Sure Adobe must know this and they must be working on releasing it to the rest of the world over time. But delayed launch of this is going to make pirated versions available in these regions and then adobe coming in late with a subscription license gives these users a choice of choosing between $49.99 and a <i>free</i> version. *sigh*<br />
<br />
Update: Adobe Customer Care <a href="https://twitter.com/#!/Adobe_Care/status/194498838013292544">responded</a> to my tweet pointing me to their <a href="http://www.adobe.com/products/creativecloud/faq.html">FAQ</a> that says<br />
<blockquote class="tr_bq">
<span style="-webkit-text-size-adjust: none; background-color: white; color: #333333; font-family: myriad-pro-1, myriad-pro-2, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px; text-align: -webkit-auto;">We intend to make Creative Cloud as widely available as possible. Adobe will share more details about country availability over time.</span></blockquote>
<br /></div>
Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com2tag:blogger.com,1999:blog-10386263.post-38904960961066131192011-09-10T04:49:00.001+08:002011-11-22T11:30:10.806+08:00Why Flash Media Server 4.5 is NOT the end of Flash<div dir="ltr" style="text-align: left;" trbidi="on">
Adobe <a href="http://eon.businesswire.com/news/eon/20110907007466/en/Adobe/IBC/Flash-Media-Server">announced</a> Flash Media Server 4.5 couple of days ago at the IBC conference. It didn't take long before the 'tech journalists' <a href="http://www.techmeme.com/110909/p29#a110909p29">started writing ill-informed posts</a> about how this marks the demise of Flash. This post is my humble attempt to educate them about what Flash ecosystem really is.<br />
<br />
<br />
<b><span class="Apple-style-span" style="font-size: large;">"Flash content" ≠ videos.</span></b><br />
<div>
<br /></div>
<div>
Almost all posts in the above techmeme cluster seem to interchangeably use "flash content" when they are really talking about just videos. 'Flash content' means anything that can be interpreted by the Flash Player <i>aka </i>the Flash runtime. </div>
<div>
<br /></div>
<div>
The notion of FlashRuntime being a video player seems to come from the common reference of 'Flash Player'. It was originally called a <i>player</i> because it used to be a player for streaming vector animations. Over the past decade, Flash player has grown to do a lot more, and hence its more appropriate to consider it the 'FlashRuntime', than as 'FlashPlayer'. </div>
<div>
<br /></div>
<div>
I will henceforth refer to FlashPlayer as <b>FlashRuntime</b> to be unambiguous. </div>
<div>
<br /></div>
<div>
The FlashRuntime is a programmable environment that can download <i>Flash content</i> (packaged as .swf files) and execute it. Flash content can include text, images, audio, video and vector drawings. Soon this will also include native 3D content.</div>
<div>
<br /></div>
<div>
Since Video is one of the content types that FlashRuntime understands, a developer can write a videoPlayer that works inside FlashRuntime. All those video players you see on youtube, vimeo, hulu etc are created by those website developers, not Adobe. FlashRuntime provides a platform for them to build it. Adobe just provides the platform ( and sells tools to create flash content).</div>
<div>
<br /></div>
<div>
There are other types of Flash content that people use all the time. Browser based games like Farmville, angrybirds, Planet vs zombies etc. are also <i>Flash content</i>. </div>
<div>
<br /></div>
<div>
scribd.com serves documents online through a Flash based reader. This is Flash content too. </div>
<div>
aviary.com allows editing images in the browser using an application written for the FlashRuntime.</div>
<div>
audiotool.com helps artists create electronic music from the browser. This application is created using Flash too. </div>
<div>
You could call these applications 'flash content' too. Thats what they are, from the FlashRuntime's perspective.</div>
<div>
<br /></div>
<div>
<b><i>So video can be part of Flash content. But not all flash content is video.</i></b></div>
<div>
<b><i><br /></i></b></div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span" style="font-size: large;">Flash Media Server does not serve <i>all</i> Flash content.</span></b></div>
<div>
<br /></div>
<div>
Flash Media Server provides services that help create Flash content. One of the main uses of Flash Media Server is streaming Video content (<a href="http://www.adobe.com/products/flashmediaserver/helpmechoose.html">Read more</a>). So a developer can create a videoplayer that plays streaming video from Flash Media Server. </div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span" style="font-size: large;">What changed in Flash Media Server 4.5</span></b></div>
<div>
<br /></div>
<div>
In its earlier days, Flash Media Server used to stream live video only over a custom protocol(<a href="http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol">RTMP</a>). So, users who had restricted access to the web (for eg., inside corporate firewalls) were not able to view these videos. Adobe then came up with HTTP Dynamic Streaming protocol. This allowed live video to be streamed over standard HTTP. Anyone with access to HTTP could now watch videos from Flash Media Server. </div>
<div>
<br /></div>
<div>
When Apple built iOS, they created a new protocol - <a href="http://en.wikipedia.org/wiki/HTTP_Live_Streaming">HTTP Live Streaming</a> - to stream live video to iOS devices. This protocol was the <i>only way</i> to stream live video to iOS devices. </div>
<div>
<br /></div>
<div>
This created a problem for Adobe's Flash Media Server customers. They didn't want to create two servers - one for iOS devices and another for everything else. Enter Flash Media Server 4.5.</div>
<div>
<br /></div>
<div>
Flash Media Server 4.5 now streams videos using Apple's protocol too. This helps Adobe's customers to stick to their existing infrastructure. If an iOS video player needs the HTTP Live Streaming stream, FMS will deliver that. If another video player asks for the RTMP stream or HTTP Dynamic Stream, the same FMS will deliver that too.</div>
<div>
<br /></div>
<div>
Thats all to it. This new feature in FMS4.5 will not allow *all* flash content to be available on iOS devices. It streams videos to iOS devices. It allows Adobe to keep their FMS customers from switching to its competitors in the video streaming server market.</div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span" style="font-size: large;">Will this have any impact on Flash Runtime usage? </span></b></div>
<div>
<b><br /></b></div>
<div>
The FlashRuntime has been capable of handling videos from non-FMS servers since the time flashRuntime included external video capabilities. Google videos, for example - built their custom video streaming server right from the beginning. This is the server app that now serves youtube videos.</div>
<div>
<br /></div>
<div>
Youtube will probably replace their FlashRuntime based video player when HTML5 enabled browsers reach a substantial chunk of their user base. </div>
<div>
<br /></div>
<div>
This FMS4.5 release does not change anything. </div>
<div>
<br /></div>
<div>
<b><span class="Apple-style-span" style="font-size: large;">Is Flash dying? </span></b></div>
<div>
<br /></div>
<div>
When I first started developing Flash content, there was a lot of chatter about how <a href="http://www.useit.com/alertbox/20001029.html">flash is 99% bad</a> and <a href="http://www.dack.com/web/flash_evil.html">Flash is evil</a>. Then video came along, and Flash not just survived but became the best tool for video delivery. Now that browsers are catching up with native video (and canvas), the anti-flash chatter seems to gain momentum again. Meanwhile, Flash Runtime seems to be on the verge of another pivot with the upcoming <a href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11/">FlashPlayer 11</a>. This upcoming version includes hardware accelerated 3D support. May be Flash will move on in this direction, and become a defacto standard there. May be not. The point is - to hurt Adobe, developers will have to stop using Adobe tools. If Adobe built tools that enable developers to create Flash like content, but native to browsers (HTML+CSS+js) and Flash developers will move on to using those tools, Adobe might not even mind FlashPlayer dying.</div>
<div>
<br /></div>
<div>
FMS4.5 will only help Adobe make new customers. Existing customers are not going to move away - infact their lives just got a little easier. So please stop writing Apple - 1 / Adobe - 0 posts. Thank you. Now, do this:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/RBva3.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="340" src="http://i.imgur.com/RBva3.gif" width="640" /></a></div>
<br /></div>
</div>Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com1tag:blogger.com,1999:blog-10386263.post-64573697190869562332011-07-29T03:06:00.003+08:002012-11-18T19:22:58.075+08:00[Singapore] How to get Starhub ZTE MF626 USB modem working on OSXLion<div dir="ltr" style="text-align: left;" trbidi="on">
Update 18th Nov 2012: I upgraded to a new machine, and this broke again. The link below to the Vodafone Broadband Manager doesn't exist either.<br />
<br />
So I went to Starhub today, and was told there was no way out other than to buy a new modem ( the one from Huewei starts at S$88) I didn't want to spend money on this, so went to look for the latest Vodafone broadband software. Found it here: http://www.business.vodafone.com/site/bus/public/enuk/support/10_productsupport/laptop_connectivity/40_software/software/10_latest/p_software.jsp. Sure enough, after installing the vodafone software, the starhub connection manager started working again. Vodafone - 1 ; Starhub - 0.<br />
<br />
Dug around a little bit this time, apparently the drives that ship with the modem are 32 bit drivers only. OSX Lion and above don't load 32 bit drivers anymore AFAIK, so that's why the bundled driver software doesn't work anymore.<br />
<br />
Wish Starhub updated their software and hosted it somewhere on their website.<br />
<br />
<br />
<br />
-------------------------------------<br />
Old post:<br />
<br />
Starhub's ZTE MF626 modem doesn't work on OSX Lion (10.7). Looks like the USB modem driver is outdated. Starhub doesn't seem to have an upgrade available yet. So, DIY time!<br />
<br />
Thankfully, Vodafone has updated their connection manager for OSXLion ( thanks <a href="http://openmindlifestyle.wordpress.com/2011/07/22/tip-workaround-for-zte-mf626-broadband-modem-on-mac-os-x-lion-10-7/">http://openmindlifestyle.wordpress.com/2011/07/22/tip-workaround-for-zte-mf626-broadband-modem-on-mac-os-x-lion-10-7/</a>). Here's how to setup Vodafone's upgraded modem driver and connect to Starhub.<br />
<br />
<ol style="text-align: left;">
<li>Remove existing ZTEUSBModem Service from your network preferences panel.</li>
<li>Install the Vodafone Broadband manager available <a href="http://www.business.vodafone.com/site/bus/public/enuk/support/10_productsupport/laptop_connectivity/40_software/software/p_mac_osx_lion_vmb_preview.jsp"><strike>here</strike></a>. This installs the drivers as well.</li>
<li>Restart.</li>
<li>Go to System Preferences > Network. Choose ZTEUSBModem. Key in *99# as the phone number to dial to. Click Connect. (Might take a couple of minutes to connect)</li>
</ol>
<div>
The Starhub Connection Manager doesn't seem to be able to use this updated driver. Just check the 'Show modem status on menu bar' option in the Network Preferences panel; Its simpler than using the Starhub Connection Manager anyway.<br />
<br /></div>
</div>
Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com2tag:blogger.com,1999:blog-10386263.post-66360667400496602622010-12-31T00:47:00.005+08:002011-01-03T04:04:46.061+08:00HTTP PUT & DELETE from an Actionscript REST client<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Representational_State_Transfer">REST</a> based APIs use the HTTP verbs - POST, GET, PUT and DELETE to accomplish <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Create,_read,_update_and_delete">Create, Read, Update, and Delete</a> operations on data respectively. Flash player for various reasons only supports GET and POST. This makes writing REST apps a little harder (an additional line on the client side, and support for an extra request header on the server end) than it should be.<br />
<br />
<br />
Thankfully, most popular web frameworks provide some support to accomplish this. Ruby on Rails supports overriding the http method using the <i style="font-family: "Courier New",Courier,monospace;">X-HTTP-Method-Override</i> request header.<br />
<br />
The below code tells the RoR server app to consider the request as a PUT operation:<br />
<br />
<span style="font-family: 'courier new';">var request:URLRequest = new URLRequest(resource);</span><br />
<span style="font-family: 'courier new';">request.data = dataToUpdateOnResource;</span><br />
<span style="font-family: 'courier new';">request.method = URLRequestMethod.POST;</span><br />
<span style="font-family: 'courier new';">request.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", <s>"PUT"</s> </span><span class="Apple-style-span" style="font-family: 'courier new';">URLRequestMethod.PUT</span><span class="Apple-style-span" style="font-family: 'courier new';">));</span><br />
<span style="font-family: 'courier new';">var loader:URLLoader = new URLLoader();</span><br />
<span style="font-family: 'courier new';">loader.load(request);</span><br />
<br />
HTTP DELETE can be achieved using the same.Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-51763158328063727912010-03-27T15:21:00.002+08:002010-03-27T15:23:45.924+08:00Flex 4 launch event at Singapore<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVmkKsFfnYkeLOePAXhg8oOjeHXxmPe0Fu-CuXVWgfh8uL6Bu4SaTRO4INtP1_mWONRUX2sXmyAZ8x9KEEXTqCfxr9d_rWPtokIAH4LoOufyGHABlhtig5N1YebaFq871MjSVA/s1600-h/Flex_FlashBuilder_logo.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVmkKsFfnYkeLOePAXhg8oOjeHXxmPe0Fu-CuXVWgfh8uL6Bu4SaTRO4INtP1_mWONRUX2sXmyAZ8x9KEEXTqCfxr9d_rWPtokIAH4LoOufyGHABlhtig5N1YebaFq871MjSVA/s200/Flex_FlashBuilder_logo.png" border="0" height="101" width="200" /></a></div>Adobe <a href="http://blogs.adobe.com/flex/archives/2010/03/flex_4_sdk_and_flash_builder_4.html">announced</a> the availability of <a href="http://www.adobe.com/products/flashbuilder/">Flash Builder 4</a> and the opensource <a href="http://www.adobe.com/products/flex/flex_framework/">Flex SDK 4</a> earlier this week. This release brings us a major overhaul of the Flex SDK, while also adding support to new technologies(<a href="http://opensource.adobe.com/wiki/display/flexsdk/FXG+1.0+Specification">FXG</a>), and future tools like <a href="http://labs.adobe.com/technologies/flashcatalyst/">Flash Catalyst</a>.<br /><br />Here is an excerpt from the official blogpost, detailing where to go to learn more:<br /><blockquote><br /><br /><span style="font-style: italic;">As you can see, there are lots of great new features and enhancements in Flex 4 and Flash Builder 4 - too many, in fact to list here. We recommend that you read the </span><a style="font-style: italic;" href="http://www.adobe.com/devnet/flex/articles/flashbuilder4_whatsnew.html">"What's New in Flash Builder 4?"</a><span style="font-style: italic;">, </span><a style="font-style: italic;" href="http://www.adobe.com/devnet/flex/articles/flex4sdk_whatsnew.html">"What's New in Flex 4?"</a><span style="font-style: italic;">, and </span><a style="font-style: italic;" href="http://www.adobe.com/devnet/flex/articles/flex4_sparkintro.html">"Introduction to Spark"</a><span style="font-style: italic;"> articles, as well as check out the rest of the new content published on the </span><a style="font-style: italic;" href="http://www.adobe.com/devnet/flex/">Adobe Developer Connection</a><span style="font-style: italic;"> site to learn more. Additionally, you can </span><a style="font-style: italic;" href="http://tv.adobe.com/watch/flash-platform-in-action/introducing-new-flash-platform-tools/">watch</a><span style="font-style: italic;"> David Wadhwani, Vice President and General Manager of the Flash Platform Business Unit describe the new set of products being added to the Flex product family.</span> </blockquote>I like the Flex <a href="http://www.adobe.com/devnet/flex/testdrive/articles/1_build_a_flex_app.html">testdrive</a> page that they put up as well.<br /><br />To commemorate the release, The Flex User Group, Singapore and Adobe Singapore have planned a launch event. Flash Platform Evangelist <a href="http://www.flexgeek.in/">Harish Shivaramakrishnan</a> will be flying in from Bangalore, India to introduce Flex 4 features, and Flash Catalyst. <a href="http://www.expertria.com/">Hu Shunjie</a> will also be discussing the new Spark component architecture. For detailed Schedule, head over to the official FUG blogpost <a href="http://fug.sg/index.php/p/86">here</a>.<br /><br />Attendees also stand to win a Flash Builder 4 Premium license from Adobe. Seats are limited, so go ahead, and <a href="http://www.theeventmicrosite.com/adobefb4_register.html">register</a> for your seat now.Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-45032395438506258582009-10-02T09:34:00.007+08:002009-10-02T10:15:43.388+08:00Now everyone can be at Adobe MAX<a href="http://www.adobe.com/go/maxexplorer"><img src="http://www.adobe.com/1to1_campaigns/2008_MAX/banners/MAX08_B125x125.jpg" longdesc="http://www.adobe.com/go/maxexplorer" style="margin: 0pt 10px 10px 0pt; float: right;" width="125" height="125" /></a>Virtually, that is :P<br /><br />Adobe Max 2009 is couple of days away. Fortunately, I happened to be here in the bay area, and my boss was kind enough to let me go attend MAX, despite the tight schedule. I've been at the MAX Asia conferences before - 2005 in Bangalore, India, and 2006 in Singapore, but lets face it - the one in US is undoubtedly the mother of all MAXes. And I'm very very excited about being there this year.<br /><br />So if you are reading this and thinking, ' wish I could go' but those pesky deadlines at work didn't let you go - worry not; Not everything is lost. Last year, the MAX team posted the sessions on adobe tv, within a few weeks of the event. This time around, Adobe is also streaming the keynote talks, live! All sessions will be available online latest by October 11, 2009. So yea, go ahead and register yourself for viewing the live videos, <a href="http://max.adobe.com/online/">here</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://max.adobe.com/companion/"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 138px; height: 235px;" src="http://assets.max.adobe.com/images/companion.png" alt="" border="0" /></a>You can also keepup with tweets using the <a href="http://max.adobe.com/companion/">adobe max companion</a>. Its a thin twitter client, which filters tweets about adobe max and lets you post tweets as well. You can also check out details about the sessions, and the session location etc. Sweet!<br /><br /><br />If you are going to be at LA, see you there! You can reach me on twitter at <a href="http://www.twitter.com/arulprasad">@arulprasad</a>Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-3607751178989542112009-07-24T12:19:00.009+08:002009-07-24T13:32:07.949+08:00The Actionscript Conference - Edition 2 is on!<img src="http://fug.sg/tac/top.png" style="width:400px"><p>Last year, the <a href="http://www.fug.sg">Singapore Flex User Group</a> successfully organized a one day Actionscript conference. Due to the overwhelming response from last year, this year we decided to do a two day conference, with more speakers, sessions and added seating capacity.</p><p>And now, the dates are official. The 2nd Edition of TAC will be held on September 14th and 15th 2009. <a href="http://tac.sg/index.php/2009/07/24/register-for-tac09-flash-camp-singapore-now-and-start-to-win-a-yourself-a-fdt-pure/">Registration for seats is open as well!</a></p><p>Check out <a href="http://www.tac.sg ">http://www.tac.sg</a> for detailed <a href="http://theactionscriptconference.com/index.php/speakers/">speakers list and sessions information</a>. There is more sessions coming, so keep track of the site for updated information!</p><p>Registration of seats is open now. And we have a massive lucky draw around the registration process. One in every 10 tickets bought will win a FDT - Pure Edition. Thats 50 licenses that would be given away free. Apart from the monetary value of €99, using FDT will increase your development speed tremendously!</p> <br /><p>So yea, go ahead and reserve your seats!</p>Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-27875734066227049212009-06-23T18:32:00.004+08:002009-06-23T18:49:56.144+08:00download Facebook video - bookmarklet for browsersA friend just asked for some help to download a video from facebook. I patched up a lil bookmarklet that does the download.<br /><br /><a href="javascript:if(document.location.href.match('http://www.facebook.com/video/video.php?')){document.location.href=unescape(document.body.innerHTML.substring(document.body.innerHTML.search('video_src=')+10,document.body.innerHTML.search('mp4')+3))}"><span style="padding: 5px; font-weight: bold; color: rgb(0, 0, 0); background-color: rgb(187, 187, 187); text-decoration: none;">Get Facebook Video</span></a><br /><br />Drag the <a href="javascript:if(document.location.href.match('http://www.facebook.com/video/video.php?')){document.location.href=unescape(document.body.innerHTML.substring(document.body.innerHTML.search('video_src=')+10,document.body.innerHTML.search('mp4')+3))}"><span style="padding: 5px; font-weight: bold; color: rgb(0, 0, 0); background-color: rgb(187, 187, 187); text-decoration: none;">Get Facebook Video</span></a> button to your bookmarks toolbar in your browser.<br /><br />Am sure there must be other bookmarklets that already that; guess I just wanted to do something else than my usual work. Anyway, usual caveats apply about usage of the bookmarklet - Use at your own discretion.<br /><br />I didn't test it on anything other than Firefox 3.5. Must work other browsers as well, I guess.<br />I check if the current browser location is http://www.facebook.com/video/video.php. If not, this bookmarklet wont do anything. So, make sure u r in the video's homepage when u use it :)Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-20002193545902438652009-06-18T12:59:00.014+08:002009-06-18T13:50:41.624+08:00Creative Crew Singapore - Special meeting - "Into the code"<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.creativecrew.org.sg/events/next/28-creative-crew-g-into-the-code-g-special-meeting"><img style="cursor: pointer; width: 250px; height: 181px;" src="http://www.creativecrew.org.sg/images/events/into_the_code_logo.jpg" alt="" border="0" /></a><a href="http://www.creativecrew.org.sg/">Creative Crew Singapore</a> - The adobe usergroup for Creative Suite tools is doing a special usergroup meeting this weekend. This time, the sessions will concentrate on code and programming! The creative crew website has a detailed blogpost, complete with the schedule and venue details <a href="http://www.creativecrew.org.sg/events/next/28-creative-crew-g-into-the-code-g-special-meeting">here</a>.<br /><br />I'll be doing an introductory session of the upcoming Designer-developer workflow changes - around the introduction of the Adobe Flash Catalyst (previously codenamed 'Thermo'). <a href="http://www.shockwave-india.com/blog">ArulKumaran</a> from the Singapore <a href="http://fug.sg/">FUG</a> will be doing another Flex session titled "<strong style="font-weight: normal;">Thinking in Flex for Designers". There are couple of sessions from the Creative Crew core members as well. More details <a href="http://www.creativecrew.org.sg/events/next/28-creative-crew-g-into-the-code-g-special-meeting">here.</a><br /><br /><span style="font-weight: bold;">When:</span></strong><strong></strong><br />Saturday 20 June, 2009 from 2:30pm - 4:30pm<br /><p><strong>Where:<br /></strong> Bukit Merah Community Library<br /><strong></strong> 3779 Jalan Bukit Merah<br />Singapore 159462 - <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Bukit+Merah+Community+Library+3779+Jalan+Bukit+Merah+Singapore+159462&sll=37.579413,-95.712891&sspn=42.783003,92.8125&ie=UTF8&ll=1.28392,103.816364&spn=0.00333,0.005665&z=18&iwloc=A">map</a></p><p><a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Bukit+Merah+Community+Library+3779+Jalan+Bukit+Merah+Singapore+159462&sll=37.579413,-95.712891&sspn=42.783003,92.8125&ie=UTF8&ll=1.28392,103.816364&spn=0.00333,0.005665&z=18&iwloc=A"></a>RVSP <a href="http://intothecode.eventbrite.com/">here</a></p>Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com1tag:blogger.com,1999:blog-10386263.post-7658800523196405082009-05-08T15:01:00.002+08:002009-05-08T15:14:33.728+08:00Using firebug on firefox 3.5 betaI updated to Firefox 3.5 beta a while ago, and almost all extensions became incompatible. And today, I just couldn't avoid not using firebug (I had Firebug 1.3.3) , so decided to make it 'compatible'.<br /><br />This is what I had to do:<br /><ol><li> OSX, find the<span style="font-family: courier new;"> install.rdf</span> file at <span style="font-family: courier new;">~/Library/Application Support/Firefox/profiles/xxxxxxx/firebug@software.joehewitt.com/install.rdf </span><span style="font-family: courier new;"></span>(On Windows, I guess it should be at <span style="font-family: courier new;">C:/Documents & Settings/username/Local Settings/Application Data/Firefox/profiles/xxxxxxx/firebug@software.joehewitt.com/install.rdf </span><span style="font-family: courier new;">)</span></li><li><span style="font-family: courier new;"></span>Find a node like <span style="font-family: courier new;"><em:maxversion>3.0.*</em:maxVersion></span> </li><li>Change the version number in the above node to to 3.5.*. </li><li>Save the file, and restart Firefox. Firebug should now be active, and available for use!</li></ol><br /><span style="font-size:85%;"><span style="font-weight: bold;">Disclaimer:</span></span><br />Of course there might be something new in firefox3.5 that isn't compatible with Firebug1.3.3, so it might give u some unexpected errors. I've been using it for a while, and its alright at my end. But use it at your own risk :PArulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com3tag:blogger.com,1999:blog-10386263.post-89139579236309361772009-04-03T15:07:00.006+08:002009-04-03T15:33:29.042+08:00A bookmarklet for Digg.com's new DiggbarKevin Rose announced DiggBar today. Read the official blogpost <a href="http://blog.digg.com/?p=591">here</a><br /><br />Diggbar is a 'toolbar' for Digg - but without any traditional installation process. Unlike traditional browser toolbars, this is a html toolbar which gets appended on top of any website that you visit the webpage with "digg.com/" prefix-ed to the url. Digg also creates a short url for all those webpages that you visit using this feature.<br /><br />I personally like this feature, and can see a lot of uses to this - but am too busy with work to pen down my thoughts. You all can read what those pro-bloggers <a href="http://www.techmeme.com/090402/p86#a090402p86">have to say</a> instead :P<br /><br />Am sure there are some lazy buggers out there who find having to prefix the "digg.com/" a tiring task. So I put this lil bookmarklet together:<br /><br /><br /><a href="javascript:(window.location='http://digg.com/'+window.location);"><span style="padding: 5px; font-weight: bold; color: rgb(0, 0, 0); background-color: rgb(187, 187, 187); text-decoration: none;">DiggBar</span></a><br /><br /><br /><br />Drag the <a href="javascript:(window.location='http://digg.com/'+window.location);"><span style="padding: 5px; font-weight: bold; color: rgb(0, 0, 0); background-color: rgb(187, 187, 187); text-decoration: none;">DiggBar</span></a> button above to your bookmarks toolbar in your browser*. Now you just have to click on that bookmark link everytime you visit a website that you wanna Diggbar-ize. Cool stuff, huh? ;)<br /><br /><br />* - Tested on Firefox & Safari. Not sure if it works on IE, Sorry. If you tried this on IE, leave a comment. Thanks!<br /><br />Happy Digging!Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-59379762085099663692009-03-24T16:48:00.004+08:002009-03-24T20:15:00.828+08:00BugQuash - Don't just complain, do something about itThe line "Dont just complain, do something about it" nailed it for me.<br /><br />From the pre-event kit:<br /><br /><blockquote>All of us have run into bugs with all types of software. Every now and then we even run into some that are a part of the Flex SDK. These bugs can be aggravating due to their elusive nature - you think the bug is something that you are doing wrong while all the time it is a bug in the Flex SDK that was likely missed during various testing - this is not uncommon! Now that the Flex SDK is open source, our community has the exciting opportunity to help eliminate bugs in the SDK. Adobe has designated numerous bugs as Community Bug Fix Candidates which they believe are the best candidates for the community to tackle. However, you're not limited to fixing the Community Bug Fix Candidates. Do you have a bug that's been deferred or not yet resolved? If you're passionate (or rather irritated) by other bugs, we encourage you to quash those too! Our goal at the Flex BugQuash is to eliminate these bugs and contribute software patches to Adobe for their approval. We want to quash as many bugs as possible within the time allotted! Wouldn't you love to be part of it?<br /></blockquote><br /><br /><p style="visibility: visible;" height="89"><embed src="http://bugquash.com/includes/flash/countdown/countdown_v1.swf" type="application/x-shockwave-flash" quality="high" scale="noscale" salign="l" name="countdown" wmode="transparent" align="middle" height="170" width="300"></embed><br /><span style="font-size:85%;"><a href="http://www.bugquash.com/promos/" target="_blank">Want this for your site?</a></span></p><br />Visit <a href="http://bugquash.com/">http://bugquash.com/</a> for details. If you are in Seattle WA, you can physically attend the event, and if u are away, online option is available as well.Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-88953013921200220382009-02-10T14:51:00.006+08:002009-02-10T15:15:42.744+08:00RIAction Singapore - the big 3's in RIA come together!After a successful <a href="http://tac.sg/">TAC</a>, the <a href="http://fug.sg/">Flex User Group</a> here in Singapore presents - <a href="http://riaction.sg/">RIAction</a>. Its a - first of its kind - one day Rich Internet Apps 'event' sponsored by the 3 ultimate names in RIAs - <a href="http://www.adobe.com/">Adobe</a>, <a href="http://www.google.com/">Google</a> and <a href="http://www.microsoft.com/">Microsoft</a>. There will be sessions on Adobe <a href="http://www.adobe.com/flashplatform/">Flash platform</a>, Microsoft <a href="http://www.microsoft.com/SILVERLIGHT">Silverlight</a>, and AJAX based RIA development. And there will be non-technical sessions about effective RIA development methodologies as well! <span style="font-weight: bold;">February 26th 2009</span> is the date, and <span style="font-weight: bold;">Microsoft Singapore</span>, the venue. Since the sponsors picked up all the costs, attendance to the event itself would be free!<br /><br />Special thanks to <a href="http://www.expertria.com/">Shunjie Hu</a>, the Singapore FUG manager, for arranging this event in record time.<br /><br />Learn more about the event <a href="http://riaction.sg/">here</a>. If you'd like to attend the event, please register your details <a href="http://riaction.sg/index.php/register/">here</a>.<br /><br />See you at RIAction!Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-74596554962561871362009-01-19T19:29:00.017+08:002009-01-30T01:23:09.553+08:00Fusiongarage just got techcrunched......but, not in the same way that startups usually get 'techcrunch'ed; We have been collaborating with <a href="http://www.techcrunch.com/">TechCrunch</a> building the software for <span style="text-decoration: underline;">T</span><a href="http://www.techcrunch.com/2008/07/21/we-want-a-dead-simple-web-tablet-help-us-build-it/">echCrunch's tablet pc project</a>, pet named 'Crunchpad'. Though we've been at it for a while now, I couldn't 'publicly' discuss this - due to obvious reasons. But last week, that changed - when Mike Arrington wrote an <a href="http://www.techcrunch.com/2009/01/19/techcrunch-tablet-update-prototype-b/">official blogpost</a> announcing the status of the latest prototype, and in the process, mentioning our involvement in the project. So yea, for all those people who have been asking what I do at <a href="http://www.fusiongarage.com/">Fusiongarage</a>, and been hearing some seemingly disconnected replies, here <a href="http://www.techcrunch.com/2009/01/19/techcrunch-tablet-update-prototype-b">you have it</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos-b.ll.facebook.com/photos-ll-snc1/v263/228/29/749821275/n749821275_1473545_9308.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 220px; height: 165px;" src="http://photos-b.ll.facebook.com/photos-ll-snc1/v263/228/29/749821275/n749821275_1473545_9308.jpg" alt="" border="0" /></a>The last year had been pretty eventful. February 2008 we were just setting up fusiongarage's office space. By day, we were assembling furniture we got for FG, from IKEA and by afternoon we were busy brainstorming our product idea. Once we settled on the core product idea, we set out to build a prototype application. We ended up building some really cool stuff in the next few months.<br /><br />When we eventually had a demo-able version of our idea (it had a 'grander' vision of what we are building now), it was also that time of the year, when TechCrunch had started accepting applications for the TechCrunch50 2008 conference.<br /><br />We decided to send our entry and a few weeks later, we found ourselves at the demopit in the conference venue. We didn't really launch our product/startup there, the plan was to showcase the concept to the attendees and gauge their interest and gather feedback. People generally seemed to like our idea, and some interesting meetings were scheduled for the next few days.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglrhj6I-sS4WDMOor-1bn2Sv944T-TsXPTxQmXvH6hzisPCwepSjTugwHbjiWDKNCTkDhyu6WsR8rxDsqObGweWojyLwu8EC7zVwmAQowf2km46nEul8J4vaagfkKa3W8Jo6bj/s720/DSC_0800.jpg"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 237px; height: 161px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglrhj6I-sS4WDMOor-1bn2Sv944T-TsXPTxQmXvH6hzisPCwepSjTugwHbjiWDKNCTkDhyu6WsR8rxDsqObGweWojyLwu8EC7zVwmAQowf2km46nEul8J4vaagfkKa3W8Jo6bj/s720/DSC_0800.jpg" alt="" border="0" /></a>The week following TC50, we also attended <a href="http://events.gigaom.com/mobilize/08/">Mobilize '08</a> - a conference targeting the mobile web space, organized by <a href="http://www.gigaom.com/">GigaOm</a> network. People liked our ideas there as well, we even won the audience choice award! There were a few very interesting observations made here as well.<br /><br />So after a fruitful 3 weeks at SFO, we were back to singapore, only to start preparing our software for the <a href="http://www.apacidf.com/idf/twn/fall2008/">Intel Developer Forum</a>, at Taipei, Taiwan. What better place to present our software to Intel based hardware manufacturers, than the IDF! So off, we went. ( More of that later, as things get 'declassified' :P )<br /><br />The collaboration over the Crunchpad project happened as a result of meetings we had with Mike Arrington and co, subsequent to TC50. We worked closely with Louis Monier in getting the software in shape for the hardware prototype B. We continue to work with them in getting the software in shape to make crunchpad a 'simple to use' device. This is where we stand as of prototype-B: (Details over at <a href="http://www.techcrunch.com/2009/01/19/techcrunch-tablet-update-prototype-b/">TechCrunch's update</a> )<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLFZMWjk3xsC206BRldSf_6xeIqHOx8Rkp7IU-8zPDfYOxOyQipGdBvqyRjowpu4qMU235A7jxYIgWBtYRI4LKgLfbDhibdhMIe6WBp8Cgqt85ownuuyxiRnUs3t9qLf1IKbeN/s1600-h/photo.jpg"><img style="cursor: pointer; width: 560px; height: 418px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLFZMWjk3xsC206BRldSf_6xeIqHOx8Rkp7IU-8zPDfYOxOyQipGdBvqyRjowpu4qMU235A7jxYIgWBtYRI4LKgLfbDhibdhMIe6WBp8Cgqt85ownuuyxiRnUs3t9qLf1IKbeN/s400/photo.jpg" alt="" id="BLOGGER_PHOTO_ID_5296761923219395666" border="0" /></a><br /></div><br />As I said, 2008 had been a very exciting year for FusionGarage. We expect, that 2009 is gonna be no less exciting!<br /><br />[EDIT 30 Jan 2009: Though I started writing this post on Jan 19th, I only posted it today. sigh.. lazy me!]Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com4tag:blogger.com,1999:blog-10386263.post-71305052034093739762008-12-17T12:02:00.005+08:002008-12-17T12:25:10.146+08:00Developing crossplatform AIR applicationsThough Adobe AIR is a runtime for creating cross platform applications, it is very much possible to create an AIR application, that runs fine on - say, Windows and screws up on Mac OS X and Linux. Its up to the developer of individual applications to make sure that his/her application remains truly crossplatform.<br /><br />Charles Ward from Adobe documentation team has put up an article on devnet highlighting areas that developers need to be careful about when they develop AIR applications. <a href="http://www.adobe.com/devnet/air/articles/developing_crossplatform.html">Go take a look</a>.(http://www.adobe.com/devnet/air/articles/developing_crossplatform.html)Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-61850238943485115162008-10-31T17:26:00.009+08:002008-10-31T17:54:58.929+08:00easter egg in Flash CS4 ProfessionalKeeping up with the easter egg 'tradition', Flash CS4 Professional includes the usual easter egg - a slideshow of all engineers who worked on the Flash authoring and player teams.<br /><br />You can invoke it by clicking on a really small ( may be, a 1 * 1 px ) button on the About Flash splash screen. I'm not gonna spoil the party by exposing where the button is, its fun clicking all over the dialog, for sometime :)<br /><br />When Flash CS3 Professional was released last year, I did a <a href="http://arulprasad.blogspot.com/2007/04/flash-cs3-about-box-easter-egg.html">similar pos</a><a href="http://arulprasad.blogspot.com/2007/04/flash-cs3-about-box-easter-egg.html">t</a>. When I installed CS4 today, first thing that came to mind was to go find the easter egg. And I got lucky in a few clicks. Lets see how many releases I can keep doing this ;)<br /><br />M Williams passed away a lil while ago. This picture will carry his memories as long as Flash CS4 lives!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://arulprasad.blogspot.com/2008/02/well-miss-you-mwilliams.html"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 257px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1TUccPN84vgth4VuDs10ZrQb8BK2JOKMrUz-6YUN9uDOycblfabZ_rqyaMC9kkTbjTXocNxVsx9OOgtaNvn9eF2G7XunKZs1Din9nmr-HGbGOIYZT-eLg4r03sUHiOjYO8RHv/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5263250110068730290" border="0" /></a><span style="text-decoration: underline;"></span><br /><br />And <a href="http://www.robertpenner.com">Robert Penner</a>. the easing hero :)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjFzSyaBiAaIDSOFelP5mm1vWhBrYdthztM_GYEoZIAbaDsMyKZh1XpLQswTNvDRC-6oG7YgQKRV26493UcoM7oJZRn1ZwHi9mE_SNn0JdH3ty4-H6b6kU23m1Mm9tThArnxZN/s1600-h/Picture+3.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 257px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjFzSyaBiAaIDSOFelP5mm1vWhBrYdthztM_GYEoZIAbaDsMyKZh1XpLQswTNvDRC-6oG7YgQKRV26493UcoM7oJZRn1ZwHi9mE_SNn0JdH3ty4-H6b6kU23m1Mm9tThArnxZN/s400/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5263251013939967394" border="0" /></a><br />I decided to stop at 2 screenshots, but this pic of Sean is too funny to let go!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUSg5SKgNOA_8syEuacekBSmh1_BatNraNbrqjTjiMtDF6fnmWo_DCZAjxpRFySjaSgbKZTzj8lYENvLawmqoCnq2LcJd1FALygBZ-wyp5DJo3BnKoHYS-Tco3s4rYX48Ge4r/s1600-h/Picture+4.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 257px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpUSg5SKgNOA_8syEuacekBSmh1_BatNraNbrqjTjiMtDF6fnmWo_DCZAjxpRFySjaSgbKZTzj8lYENvLawmqoCnq2LcJd1FALygBZ-wyp5DJo3BnKoHYS-Tco3s4rYX48Ge4r/s400/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5263252103631074418" border="0" /></a><br /><br />Ok, I can't contain any longer, time to go try out the new features!Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com2tag:blogger.com,1999:blog-10386263.post-12881297428756539302008-10-15T12:30:00.007+08:002008-10-16T11:37:23.213+08:00flash player 10 released parallelly for Windows, Mac and Linux platforms!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.adobe.com/images/shared/product_mnemonics/50x50/flash_player_50x50.gif"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 50px; height: 50px;" src="http://www.adobe.com/images/shared/product_mnemonics/50x50/flash_player_50x50.gif" alt="" border="0" /></a>For the first time ever, flash player release for Linux has been released along with the other two major platforms, windows and mac.<br /><br />Am using a Ubuntu install on my macbookpro these days, so am thrilled to have the latest player on my machine on the same day as my windows and mac colleagues :P<br /><br />Official press release is <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/pdfs/200810/101508FlashPlayer10.pdf">here. </a><br />You can get the latest flashplayer installed <span style="text-decoration: underline;"></span><a href="http://www.adobe.com/go/getflashplayer/">here </a><br /><br />I hear that, Adobe AIR release with the latest Flash player capabilities, is coming very soon as well :)<br /><br />Flash player 10 adds a lot of new expressiveness features - You'll start seeing apps built with those features once <a href="http://www.adobe.com/products/flash/">Flash CS4</a> goes out in the wild (looks like buyers can already download it. Trial versions must be coming, very very soon). The <a href="http://labs.adobe.com/technologies/flashplayer10/demos/index.html">demos</a> here will give you a good idea of some of the new features, so check it out after your installation is complete.<br /><br /><span style="font-weight: bold;">Silverlight2.0</span><br />Oh, and on a side note, Silverlight2.0 was released a couple of days ago as well, but I can't install. There is no linux version, much like their previous version. I checked the system requirements page, and was confused at the silverlight plugin listed being not available for Safari on windows. Why?!<br />And when the page shows "unsupported platform" it also shows a "click to install" button below that. Which keeps refreshing the page. -_-Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-19567729620037408052008-09-26T04:01:00.002+08:002008-09-26T04:25:19.855+08:00upgrade and unlock the 1st Gen Apple iphone ( firmware 2.1 )Its been a while since I last upgraded and unlocked my iphone. I had 1.1.3 all this while, and got sick of seeing itunes popup up everytime saying "upgrade! upgrade!" so decided to spend some time today and get the software updated. ( and unlocked, of course)<br /><br />The web is so full of 'tutorials' that help u unlock iphones, and its so confusing. There doesnt seem to be one 'official' location to look at. So I decided to write my own version of the step-by-step easy ublock procedure.<br /><br />This is what I did:<br /><br />1. Go to http://blog.iphone-dev.org/post/49988701/pwnagetool-and-quickpwn-for-2-1-firmware and download quickpwn torrent file.<br />2. Download the torrent using ur fav torrent application.<br />3. Connect iphone to ur mac. let itunes startup and ask u "do u wanna upgrade?". Surprise itunes this time saying "download and install"<br />4. Once the 238 MB download is complete and installation is over, ur phone will return to the factory settings state. All fresh and locked!<br />5. Now go back to the quickpwn.dmg file that you downloaded in step 2. mount it by double clicking it, and then drag the quickpwn application inside the drive, onto somewhere else ( ur desktop?)<br />6. run the quickpwn app, and follow the wizard. If itsnt able to find the firmware software, let it download again ( I dint bother to figure out where it was looking for the firmware etc)<br />7.Once QuickPwn finishes its job, you should be able to launch the iphone, and get to the home screen. If your phone doesnt detect any network, go to step 8<br />8. You'd have to launch 'Cydia' on ur home screen, and go to the 'search' screen. Search for 'BootNeuter'. Install it.<br />9. Before you launch BootNeuter, go to Settings > general > auto-lock - and set it to 'never'. BootNeuter doesnt like autolock.<br />10. launch bootneuter, and set Version to 3.9, Neuter to 'on' and unlock to 'on'. Once the settings are made, Click on 'flash' on top right. Let the phone be for a while, and do its stuff. Once its all done, and restarted, You should see the logo of ur carrier on the left top.<br /><br />Thats it. Happy unlocking!Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-49938428173363380862008-08-18T21:59:00.011+08:002008-08-18T23:42:08.410+08:00PHP's str_replace in Actionscript 3.0PHP has a robust method for doing a string search and replace. The <span style="font-family:courier new;">str_replace</span> method can take in an array of elements to be searched and replaced and do the replace in one shot. Check out PHP's <a href="http://sg.php.net/str_replace">str_replace function's manual</a> for details.<br /><br />I just put together a TextUtils class with my Actionscript implementation of <span style="font-family:courier new;">str_replace</span>.<br /><br /><a href="http://arulprasad.googlepages.com/TextUtils.as">TextUtils.as</a><br /><br />You can use it like below:<br /><blockquote><span style="font-family: courier new;">var content:String = "hello world";</span><br /><span style="font-family: courier new;">trace(TextUtils.str_replace(["h","w"],["H","W"], content))</span><br /><span style="font-family: courier new;">//outputs 'Hello World'</span><br /></blockquote>It gets interesting, when you gotta do something like this:<br /><blockquote><span style="font-family: courier new;">var content:String = "h.e.l.l.o; w,o,r,l,d";</span><br /><span style="font-family: courier new;">trace(TextUtils.str_replace([",", ".", ";"], "", content))</span><br /><span style="font-family: courier new;">//outputs 'hello world'</span><br /></blockquote><br />If you find it useful, go ahead and use it.<br /><br />Of course, Actionscript 3.0 does have its own implementation of 'replace' function in the String class, which is pretty sleek as well. It also includes support for Regular Expression based search and replace. Check out the documentation AS3.0 String.replace <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html#replace%28%29">here.</a>Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com0tag:blogger.com,1999:blog-10386263.post-30736107436295869982008-08-14T14:41:00.009+08:002008-08-14T15:43:46.368+08:00New Virus in town - Under the name of 'Flash Player Installer'<span style=";font-family:verdana;font-size:100%;" >A friend today got infected with a spam email.<br />The email's content goes<br /><br /></span><blockquote style="color: rgb(102, 102, 102);font-family:verdana;"><span style="font-size:100%;">From: MSNBC Breaking News <munif-oitacime@a1consult.com><br />Date: Wed, Aug 13, 2008 at 2:06 PM<br />Subject: msnbc.com - BREAKING NEWS: NASDAQ index gains 720 points overnight upon war announcement<br />To: **********@*****.com<br /><br /><br />msnbc.com: BREAKING NEWS: NASDAQ index gains 720 points overnight upon war announcement<br /><br />Find out more at http://breakingnews.msnbc.com<br />======================================================<br />See the top news of the day at MSNBC.com, and the latest from Today Show and NBC Nightly News.<br /><br />=========================================<br />This e-mail is never sent unsolicited. You have received this MSNBC Breaking News Newsletter<br />newsletter because you subscribed to it or, someone forwarded it to you.<br />To remove yourself from the list (or to add yourself to the list if this<br />message was forwarded to you) simply go to<br />http://www.msnbc.msn.com/id/26427935, select unsubscribe, enter the<br />email address receiving this message, and click the Go button.<br /><br />Microsoft Corporation - One Microsoft Way - Redmond, WA 98052<br />MSN PRIVACY STATEMENT<br />http://privacy.msn.com (http://privacy.msn.com/>)</munif-oitacime@a1consult.com></span></blockquote><br />Naturally, he clicked on the link which read "http://breakingnews.msnbc.com" but was linking to a infected site. And was prompted to 'Install Flash player' . Now who doesn't want to install Flash player!!<br />So he "installed" clicking on the the link. At the time of me writing this, he is still figuring out how to clean up the mess!<br /><br />There is only one way to make sure u won't fall for this trap. <span style="font-weight: bold;">Always have the latest Flash player installed in your machine</span>. ;)<br /><br />If you haven't updated your flash player for long, go get it <a href="http://www.adobe.com/go/getflashplayer">here</a>.Arulhttp://www.blogger.com/profile/07614354532450416693noreply@blogger.com3