<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GUYA.NET</title>
	<atom:link href="http://blog.guya.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.guya.net</link>
	<description>Tech and Everything Else</description>
	<lastBuildDate>Sat, 20 Apr 2013 16:00:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>The Promise of Mobile HTML5</title>
		<link>http://blog.guya.net/2013/04/20/the-promise-of-mobile-html5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-promise-of-mobile-html5</link>
		<comments>http://blog.guya.net/2013/04/20/the-promise-of-mobile-html5/#comments</comments>
		<pubDate>Sat, 20 Apr 2013 15:55:38 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=465</guid>
		<description><![CDATA[Less than a year ago it seemed like HTML5 was going strong. With Facebook and Linkedin adopting the technology to reach most of the screens on the mobile and on the desktop. Linkedin had the better hybrid mobile app (HTML5 + &#8230; <a href="http://blog.guya.net/2013/04/20/the-promise-of-mobile-html5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Less than a year ago it seemed like HTML5 was going strong. With Facebook and Linkedin adopting the technology to reach most of the screens on the mobile and on the desktop.</p>
<p>Linkedin had the better hybrid mobile app (HTML5 + native) and published a series of videos and articles about how they successfully did it with a team of &#8220;just&#8221; 5 developers.<br />
Admittedly Linkedin app was really nice, but, after learning more about the internals of their app I&#8217;ve realized it wasn&#8217;t perfect.<br />
For example the way they manage the application cache is not as good as the HTML5 app-cache that just works well out of the box. Using the term &#8220;it wasn&#8217;t documented&#8221; is not a good enough excuse, it was working well long before the debute of their app.<br />
Also, their infinit scroll is just a not so infinit swipe, etc&#8217;</p>
<p>Anyhow, it appears that linkedin, similar to her bigger sister Facebook, <a title="Why LinkedIn dumped HTML5 &amp; went native for its mobile apps" href="http://venturebeat.com/2013/04/17/linkedin-mobile-web-breakup/" target="_blank">ditched its mobile HTML5 in favor of native.</a><br />
Linkedin senior director for mobile engineering Kiran Prasad claims are that there is not a good debuger and no performance measuring tool.<br />
Firstly the <a title="Mobile Chrome Remote Debugging" href="https://developers.google.com/chrome-developer-tools/docs/remote-debugging" target="_blank">debuggers</a> are <a title="Web Debugging for Safari on iPhone, iPad and PhoneGap for iOS 5.0 and 5.1" href="http://www.iwebinspector.com/" target="_blank">getting</a> there <a title="On-Device Debugging With PhoneGap &amp; iOS 6" href="http://mobile.dzone.com/articles/device-debugging-phonegap-ios" target="_blank">every day</a> (there are many more).<br />
Secondly, profiling in the desktop and mobile Chrome will give you a general idea where memory is going. Profiling hybrid apps in iOS6 is also <a title="On-Device Debugging With PhoneGap &amp; iOS 6" href="http://mobile.dzone.com/articles/device-debugging-phonegap-ios" target="_blank">available</a>.<br />
I don&#8217;t think that these are really the reasons, they simply needed a stronger platform and HTML5 became too difficult to scale to their needs. That&#8217;s reasonable, mobile HTML5 is definitely not for everything.</p>
<p>Yet, the promise is still here &#8211; use the same code base and the same web development skillset to deploy for: native apps for mobile, browser apps for mobile, cross platform for the desktop (also outside of the browser), and so much more.</p>
<p>So why mobile HTML5 is not there yet? I&#8217;ll outline some of the main reasons here:</p>
<p><strong>1. It&#8217;s not realy the same web development skillset</strong><br />
Well it is in a way, for the simple stuff it is still mostly HTML, Javasctipt and CSS. But, even for the simple stuff, things that works just fine on the desktop browser can greatly affet smoothness, battery consumption, memory usage, and eventually crashes, when used in mobile.<br />
Every bit of code needs to be perfected in order to maintain the user experiance. Not even talking about specific glitches in specific versions and OSes.</p>
<p><strong>2. Android &#8211; when it comes to HTML5 Android sux big time.</strong><br />
iOS had good HTML5 support from the get go. It reached full maturity from iOS 5 which is currently all that is needed to cover the great majority of devices out there.<br />
Android on the other hand only reached HTML5 maturity with version 4.1 which is less than 25% and going up slowly. The notorious Android fragmentation is affecting HTML5 as well.</p>
<p><strong>3. HTML5 apps doesn&#8217;t easily scale in terms of features</strong><br />
You needs to be vigilant about every piece of code that is added.<br />
For example, adding just a small feature like an image or a text to every item in a list can greatly hurt performance.</p>
<p><strong>4. HTML5 apps doesn&#8217;t easily scale in terms of crew</strong><br />
You needs to be vigilant about every piece of code that is added.<br />
In order to deliver the promise of same code base in all mobile devices and in the desktop you firstly need that all of your crew will be highly proficient. Mobile HTML5 apps can easily be ruined.<br />
Secondly if you want that code to be used in the desktop as well, you need a greater level of harmony between members.</p>
<p><strong>5. Product ppl want stuff they see on other apps.</strong><br />
Some of these stuff are very easy to create nativly but are extremly painfull when created in HTML5.<br />
Product ppl needs to better understand the technology that is used.</p>
<p><strong>6. Native is not that hard to do</strong><br />
At the end of the day wrting native apps for iOS and Android is not that difficult, it&#8217;ll be easier than HTML5 in many cases.<br />
It&#8217;s way more diffuclt to ruin the smothness in native UI though I see many apps that manage to achive that.<br />
An avarage native developer can easily achive good user experiance.<br />
When writing native you can get a way with poorly written apps. Even if you will make the UI render itself 10 times more than it really needs to, you can still achive good user experiance that will satidfy most users.</p>
<p><strong>7. Peer presure, don&#8217;t be a chicken</strong><br />
Some idiot with a rooted and very old phone, will install Android 4.0 mod (worse Android OS for HTML5). And than will start to whine that things don&#8217;t work smothly.<br />
- That&#8217;s not even a real phone, idiot.<br />
Announcements from facebook and linkedin ditching HTML5 in favor of native lowers the moral of HTML5 supporters and help &#8221;classic&#8221; developers that are intimidated by stuff like javascript to raise their heads.<br />
What?! Can&#8217;t you write it in native what are you chicken &#8211; <a title="Back to the Future" href="http://www.youtube.com/watch?v=IIwYZ5TTAwA" target="_blank">nobody ever calls me chicken</a> (btw, this is how we&#8217;ll be in 2 years)<br />
You will (almost) always have doubts about switching to native.</p>
<p><strong>∞. It&#8217;s not over, it&#8217;s barely just begun</strong><br />
Don&#8217;t be let down by facebook and linkedin moving to native, it&#8217;s always depends on the type of app, resources and the kind of people involved.<br />
Mobile HTML5 apps are deliverable and in good quality for some time already.<br />
You will gain the benefits mentioned above of same codebase and skillset along with way better deployment model.<br />
Done right, you can deploy new app versions like deploying a website. Without the need for approval, and without sacrificing much user experience.</p>
<p>The bottom line is that mobile HTML5 is here for somewhat long time already, but it&#8217;s not for everything and definitely not for everyone &#8211; yet.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2013/04/20/the-promise-of-mobile-html5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HTML5 Mobile Apps &#8211; Injection Heaven, Security Hell</title>
		<link>http://blog.guya.net/2013/02/25/html5-mobile-apps-injection-heaven-security-hell/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=html5-mobile-apps-injection-heaven-security-hell</link>
		<comments>http://blog.guya.net/2013/02/25/html5-mobile-apps-injection-heaven-security-hell/#comments</comments>
		<pubDate>Mon, 25 Feb 2013 18:56:04 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[PhoneGap]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=434</guid>
		<description><![CDATA[Three weeks ago Path.com was fined for stupidly stealing their user&#8217;s contact list and saving it onto their servers. Path&#8217;s doing was obviously wrong but I&#8217;m not sure that their punishment was really justified, needing to pay this enormous bribe to the FTC &#8230; <a href="http://blog.guya.net/2013/02/25/html5-mobile-apps-injection-heaven-security-hell/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Three weeks ago <a title="Path Settles With FTC Over Privacy Row, Will Pay $800K And Establish New Privacy Program Including Outside Audits" href="http://techcrunch.com/2013/02/01/path-settles-with-ftc-over-privacy-row-will-pay-800k-and-establish-new-privacy-program-including-outside-audits/" target="_blank">Path.com was fined</a> for stupidly stealing their user&#8217;s contact list and saving it onto their servers. Path&#8217;s doing was obviously wrong but I&#8217;m not sure that their punishment was really justified, needing to pay this enormous bribe to the FTC using COPPA as an excuse. The lesson here is to always comply with <a title="COPPA - Children's Online Privacy Protection Act" href="http://www.coppa.org/" target="_blank">COPPA</a>.</p>
<p>Anyhow, in that same techcrunch article you can also find that &#8220;<a title="Mobile App Developers: Start with Security" href="http://business.ftc.gov/documents/bus83-mobile-app-developers-start-security" target="_blank">The FTC also took the opportunity to introduce a new set of guidelines for mobile developers</a>&#8220;. Although they explain early in that article that it&#8217;s not meant to be a guideline, I still feel they misses a lot.</p>
<p>When it comes to HTML5 apps even the simplest app can greatly compromise the user privacy and security. If we&#8217;ll take the FTC example of a simple and harmless alarm clock app, If that app is built using HTML5 its size and complexity doesn&#8217;t matter. All that is needed is one javascript injection that will pass thorough.</p>
<p>How will that code be injected you may ask &#8211; all that is needed is for the app to load some content from a remote server the simplest example will be the &#8220;Terms And Condition&#8221; page which is mostly loaded into a WebView. It can be a more &#8220;complex&#8221; settings, like choosing the favorite color or loading the saved alarms. Any kind of sharing will probably be way more open to be exploited, i.e. &#8220;share your favorite alarms&#8221;. Push messages might also bring malicious code. ETC&#8217;</p>
<p>The bottom line is that any injection of javascript will give an attacker a lot of control over the device, more often than not it&#8217;ll be persistant. HTML5 apps usually use the localStorage that is rarely flushed, and leverage native DBs and the file system. The &#8220;page&#8221; or webview is rarly refreshed, so even if the injection is not persistant it&#8217;ll be alive for a long time.<br />
Things like stealing the user&#8217;s contact list and tracking the user location are pretty common. Enabled by default in iPhone <a title="PhoneGap" href="http://phonegap.com" target="_blank">PhoneGap</a> for example.</p>
<p>It&#8217;s only limited by the native API that is opened to Javascript, generally it&#8217;s very open, even more than the <a title="PhoneGap Home" href="http://phonegap.com/" target="_blank">PhoneGap</a> default API. I know of at least 1 popular HTML5 app that opens almost <span style="text-decoration: underline;">all</span> of the Android native API.</p>
<p>You see, Javascript is one tough beast &#8211; it can run almost anywhere.<br />
Javascript was designed basically as a none important sidekick to the browser&#8217;s HTML, &#8220;it should not cause any problems by being poorly written and should fail silently and not interfere with the main thing that is HTML.&#8221; Seriously that how it was, we&#8217;re lucky it&#8217;s not case insensitive. I&#8217;m sure that back than some people though it&#8217;ll make it simpler and better.<br />
So, Javascript will run in any dom element no matter how naive you may think it is, it will run in unexpected parts of the element without needing the &lt;script&gt; tag, i.e. onerror=&#8221;attack()&#8221;. It used to even run from CSS and from images, but we&#8217;re over that now asfaik in mobile browsers.</p>
<p>As opposed to that, it&#8217;ll take a very special case for injection to be able to execute arbitrary native code. You can make a native android app that will run anything &#8211; even get root, but I doubt that any legitimate app regularly download strings and run it as commands. (basically on rooted Android you can do exec(&#8220;su&#8221;) and everything else)</p>
<p>With Javascript the app does not need to be designed in any special way, an unsanitizes string will likely to execute.</p>
<p>These kind of injection are not the sole problem of <a title="PhoneGap" href="http://phonegap.com" target="_blank">PhoneGap</a> based applications.<br />
Any app that uses HTML5, even if it&#8217;s mostly native, any API that is opened to javascript can be leveraged by an attacker.</p>
<p>Phonegap (Cordova) has a mechanism to white list remote hosts which is really only effective on the iOS. It adds a little bit of security, but many apps anyway uses a wildecard &#8220;*&#8221; to allow all hosts. The wildcard is used by default in the phonegap cloud (saas solution to build phonegap apps)</p>
<p>As you can see the option for an attacker are enourmoe, all it needs is one vector of injection and there is an open path (no phan) to <strong>take over all of the devices of all of the users.</strong></p>
<p>HTML5 apps that runs inside the mobile browser are also a nice target for injection attacks, althouygh it&#8217;s lacking most of the native api, there is still access to location in all mobile browsers. It&#8217;s less powerful for the attacker since it&#8217;ll prompt the user way more vigusly.<br />
The <a title="Dolphin Free Mobile Web Browser" href="http://dolphin-browser.com/" target="_blank">Dolphin Mobile Browser</a> implement the full phonegap native api, for example (which is generally a good thing), but it makes in-the-browser websites and apps more exposed to attacks.</p>
<p>So what to do than?!<br />
- Sanitize sanitize sanitize all user input, server and client!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2013/02/25/html5-mobile-apps-injection-heaven-security-hell/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Say What, Flash is More Secure Than HTML5?!</title>
		<link>http://blog.guya.net/2012/10/15/say-what-flash-is-more-secure-than-html5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=say-what-flash-is-more-secure-than-html5</link>
		<comments>http://blog.guya.net/2012/10/15/say-what-flash-is-more-secure-than-html5/#comments</comments>
		<pubDate>Mon, 15 Oct 2012 17:55:47 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ClickJacking]]></category>
		<category><![CDATA[Flash Security]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=405</guid>
		<description><![CDATA[So my favorite script kiddy and copycat, Feross (copied, note the shameless &#8220;I discovered&#8221; in his Quora post, LoL) Found a social engineering flaw in the HTML5 fullscreen mode that can be used for phishing attacks. This time it might be even his own finding&#8230; what do &#8230; <a href="http://blog.guya.net/2012/10/15/say-what-flash-is-more-secure-than-html5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So my favorite script kiddy and copycat, Feross (<a title="Webcam ClickJacking Revived" href="http://blog.guya.net/2011/11/01/webcam-clickjacking-revived/" target="_blank">copied</a>, note the <a title="Is it possible for hackers to access my computer's webcam?" href="http://www.quora.com/Hackers/Is-it-possible-for-hackers-to-access-my-computers-webcam" target="_blank">shameless</a> &#8220;I discovered&#8221; in his Quora post, LoL)<br />
Found a <a title="Using the HTML5 Fullscreen API for Phishing Attacks" href="http://feross.org/html5-fullscreen-api-attack/" target="_blank">social engineering flaw in the HTML5 fullscreen mode</a> that can be used for phishing attacks. This time it might be even his own finding&#8230; what do you know <img src='http://blog.guya.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>This flaw is very much similar to the well known and very old picture-in-picture<br />
<a href="http://www.clerkendweller.com/2009/9/15/Picture-in-Picture-Phishing-Attacks-and-Operating-System-Styles" target="_blank"><img class="alignnone" title="Picture-in-Picture Phishing Attacks and Operating System Styles" src="http://www.clerkendweller.com/posts/2009/picture-in-picture-1.png" alt="Picture-in-Picture Phishing Attacks and Operating System Styles" width="500" height="300" /><br />
</a><a title="Picture-in-Picture Phishing Attacks and Operating System Styles" href="http://www.clerkendweller.com/2009/9/15/Picture-in-Picture-Phishing-Attacks-and-Operating-System-Styles" target="_blank">More info..<br />
</a>IMHO the old version is still way more dangers for phishing.</p>
<p><span style="text-decoration: underline;"><strong>So How Flash is more secure?</strong></span></p>
<p>What enables this HTML5 fullscreen flaw to exist in his prime is the fact you have <strong>full keyboard access</strong>. This way an attacker can more easily steal the user&#8217;s credentials.<br />
After all fullscreen was existant in Flash for many years now, <a title="beef FullScreen Attack" href="https://github.com/beefproject/beef/issues/702" target="_blank">yet it was never compromised</a> this way. The main reason is that Flash is more secure is that it does <strong><span style="text-decoration: underline;">not</span></strong> allow full keyboard interaction in fullscreen.</p>
<p>Good thinking Adobe, taking care our security&#8230; oh wait&#8230; Flash was added with <a title="Flash Player 11.3 fullscreen keyboard input" href="http://www.leebrimelow.com/?p=3311" target="_blank">this feature</a> with version 11.3&#8230; after all Flash can&#8217;t be left behind&#8230;<br />
<a href="http://leebrimelow.com/flash/fullkeys/" target="_blank">Working demo&#8230;</a></p>
<p>Damn&#8230; but still Flash gives you a decent popup confirmation which HTML5 doesn&#8217;t<a href="http://blog.guya.net/wp-content/uploads/2012/10/falsh_fullscreen3.png"><img class="alignnone size-full wp-image-413" title="falsh_fullscreen" src="http://blog.guya.net/wp-content/uploads/2012/10/falsh_fullscreen3.png" alt="" width="474" height="87" /></a></p>
<p>Yeah, I know Chrome give you a popup too, but <strong>you don&#8217;t have to click on it to get FULL keyboard access.<br />
</strong>I constructed this <a title="Chrome FullScreen" href="http://guya.net/security/fullscreen/" target="_blank">&#8220;amazing&#8221; demo here</a> (chrome only), as you can see you get the message but the keyboard is fully functional and accessible through javascript.</p>
<p><strong></strong><a title="Chrome Fullscreen" href="http://guya.net/security/fullscreen/" target="_blank"><img class="alignnone size-full wp-image-414" title="chrome_fullscreen" src="http://blog.guya.net/wp-content/uploads/2012/10/chrome_fullscreen.png" alt="" width="501" height="78" /></a></p>
<p><a title="Chrome Fullscreen" href="http://guya.net/security/fullscreen/" target="_blank"><img class="alignnone size-full wp-image-415" title="chrom_keyboard" src="http://blog.guya.net/wp-content/uploads/2012/10/chrom_keyboard.png" alt="" width="299" height="51" /></a></p>
<p>So still Flash is more secure than HTML5 &#8211; in that respect.</p>
<p>It takes us back to what me and other were preaching about, that with great power comes great responsibility.<br />
HTML5 have its own flaws and the more powerful it&#8217;ll become it will get even more.</p>
<p>Stay tuned&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2012/10/15/say-what-flash-is-more-secure-than-html5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I Didn&#8217;t Wait for the iPhone 5</title>
		<link>http://blog.guya.net/2012/09/16/i-didnt-wait-for-the-iphone-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-didnt-wait-for-the-iphone-5</link>
		<comments>http://blog.guya.net/2012/09/16/i-didnt-wait-for-the-iphone-5/#comments</comments>
		<pubDate>Sun, 16 Sep 2012 23:49:11 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=389</guid>
		<description><![CDATA[I was an happy Android user ever since the Nexus One came out (the One was the first decent Android, btw). Since than I used a few Android phones and never thought I will switch. Android is open, free, power to &#8230; <a href="http://blog.guya.net/2012/09/16/i-didnt-wait-for-the-iphone-5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I was an happy Android <a title="Now the world is gone, Nexus one" href="http://blog.guya.net/2010/02/15/now-the-world-is-gone-nexus-one/" target="_blank">user</a> ever since the Nexus One came out (the One was the first decent Android, btw). Since than I used a few Android phones and never thought I will switch. Android is open, free, power to the people, and all that &#8211; but the fact is that the iPhone is still the best phone there is.</p>
<p>Last Android I used a lot is the <a title="Samsung Galaxy Nexus" href="http://www.gsmarena.com/samsung_galaxy_nexus_i9250-4219.php" target="_blank">Samsung Galaxy Nexus</a>, it has an impressive 720 x 1280 pixels, 4.65 inches screen, and overall a very nice spec. But overall it&#8217;s a bad phone. I was totaly not impressed by it. It only become good with the <a title="Android 4.1, Jelly Bean: The world's most popular platform gets even better" href="http://www.android.com/whatsnew/" target="_blank">Android 4.1 Jelly Bean update</a> (<a title="Android OS Stats" href="http://developer.android.com/about/dashboards/index.html">only 1.2%</a> of Androids). Google even use this phone in the Gelly Bean screenshots.</p>
<p>Developing mainly for mobile, I have an iPhone 4S laying around, I knew the iPhone is better but didn&#8217;t want to switch yet because I was used to the Android ecosystem, the great Gmail app and the way it sync everything nicely &#8211; this is  an area where the iOS is still lacking.</p>
<p>I always postpond it saying &#8211; I will switch with the iPhone 5.</p>
<p>But, one day it happened, I stuck my sim into the 4S and never looked back.The small screen got some time to get used to, but after a short while, you realize its qaulity is far superior than anything else.</p>
<p>When I first saw the leaked iPhone case I was a bit shocked &#8211; it can&#8217;t be only that, it&#8217;s exactly the same just a bit longer. If this is for real than Apple might be in trouble. Then I relized, it doesn&#8217;t matter if that only what we get, it&#8217;s still gonna be the best phone. The iPhone 4S is already the best phone, so any improvement of that is still the best phone.</p>
<p>Yeah, there is the <a title="Galaxy Note" href="http://www.samsung.com/global/microsite/galaxynote/note/index.html?type=find">note</a> with the huge screen, and the <a title="Galaxy S3" href="http://www.samsung.com/global/galaxys3/">S3</a> is impressive, but still these are niche phones.</p>
<p>Apple will not be able to go on forever with improving what they already have, they will have to reinvent the wheel &#8211; again. Hopefully that will arrive as well.</p>
<p>I&#8217;m still excited about every new Android version and device, but for now I&#8217;m on an iPhone.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2012/09/16/i-didnt-wait-for-the-iphone-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To Fix JavaScript toFixed</title>
		<link>http://blog.guya.net/2012/08/18/to-fix-javascript-tofixed/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=to-fix-javascript-tofixed</link>
		<comments>http://blog.guya.net/2012/08/18/to-fix-javascript-tofixed/#comments</comments>
		<pubDate>Sat, 18 Aug 2012 23:47:29 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=374</guid>
		<description><![CDATA[The problem with the built in toFixed function in JavaScript, is that it always round the numbers. It&#8217;s like calling Math.round() Call 9.513.toFixed() =&#62; 10 Call 9.226.toFixed(2) =&#62; 9.23 Why would you want that to auto round. If I wanted &#8230; <a href="http://blog.guya.net/2012/08/18/to-fix-javascript-tofixed/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The problem with the built in toFixed function in JavaScript, is that it always round the numbers. It&#8217;s like calling Math.round()<br />
Call 9.513.toFixed() =&gt; 10<br />
Call 9.226.toFixed(2) =&gt; 9.23<br />
Why would you want that to auto round. If I wanted to round I would have round.</p>
<p>Not only that, the toFixed is not always rounding as expected.</p>
<p>Anyhow, here is how to do a toFixed accurately:</p>
<script src="https://gist.github.com/3390305.js"></script><noscript><p>View the code on <a href="https://gist.github.com/3390305">Gist</a>.</p></noscript>
<p>You can put it in the Number.prototype if you really want to, personally I rather put it in a untils object.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2012/08/18/to-fix-javascript-tofixed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changed My Blog Tagline</title>
		<link>http://blog.guya.net/2012/08/12/changed-my-blog-tagline/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=changed-my-blog-tagline</link>
		<comments>http://blog.guya.net/2012/08/12/changed-my-blog-tagline/#comments</comments>
		<pubDate>Sun, 12 Aug 2012 01:19:52 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[HTML 5]]></category>

		<guid isPermaLink="false">http://blog.guya.net/?p=371</guid>
		<description><![CDATA[Ever since I opened my blog at March 2006 the tagline I&#8217;ve chosen was &#8220;Flash And Everything Else&#8221;. Even though Adobe Flash wasn&#8217;t always the main thing I was doing, it always had a warm spot at my heart and &#8230; <a href="http://blog.guya.net/2012/08/12/changed-my-blog-tagline/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ever since I opened my blog at March 2006 the tagline I&#8217;ve chosen was &#8220;Flash And Everything Else&#8221;. Even though Adobe Flash wasn&#8217;t always the main thing I was doing, it always had a warm spot at my heart and I always kept on updating with everything related to it.</p>
<p>Flash could have lived for another few good years but Adobe decided to kill it prematurely, oh well it still have some few valid uses I guess &#8211; have fun. I haven&#8217;t touched it for the past 3/4 year.</p>
<p>Like many Flashers the transition to other client side technologies is natural, especially since many of us used it before.</p>
<p>What I do right now is mainly mobile, web, and mobile-web, but using something like &#8220;HTML5 And Everything Else&#8221; doesn&#8217;t sound good. All other similar variations failed as well. I&#8217;ve chosen &#8220;Tech And Everything Else&#8221; so I guess I&#8217;ll have to be more general and write about tech in general. I have some things to say &#8211; stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2012/08/12/changed-my-blog-tagline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lose when you&#8217;re better</title>
		<link>http://blog.guya.net/2012/02/20/lose-when-youre-better/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lose-when-youre-better</link>
		<comments>http://blog.guya.net/2012/02/20/lose-when-youre-better/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 15:16:40 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2012/02/20/lose-when-youre-better/</guid>
		<description><![CDATA[Microsoft was always used to win with inferior products. Windows was inferior to the Mac OS for many years and yet it dominated the market. Internet Explorer, the infamous browser, was the best browser for a few seconds in history &#8230; <a href="http://blog.guya.net/2012/02/20/lose-when-youre-better/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Microsoft was always used to win with inferior products. Windows was inferior to the Mac OS for many years and yet it dominated the market. Internet Explorer, the infamous browser, was the best browser for a few seconds in history when it triumphed over Netscape when both were at version 4. We still feel the stagnation it created since than being the most inferior browser ever since.</p>
<p>Lately Microsoft started to create better products and yet instead of winning they fail. Silverlight is better than Flash &amp; Flex and yet it lost to it not being able to gain any significant market share (Flash is better than HTML5 but lost to it as well, but that’s a different story).</p>
<p>What worries me a bit now is that the truly impressive Windows 7 mobile won’t be able to gain any significance market share. Not yet saying that it’s better than the iOS (iPhone) and/or Android, but it is an impressive OS that didn’t just copy the concepts of the other two. It’ll be interesting to see what will come out of it.</p>
<p><a href="http://www.microsoft.com/windowsphone/en-us/default.aspx" target="_blank"><img alt="Phones" src="http://i.microsoft.com/global/windowsphone/en-us/PublishingImages/Nokia_ENG_HERO.png"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2012/02/20/lose-when-youre-better/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adobe Flash &#8211; Brave Fold</title>
		<link>http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-flash-brave-fold</link>
		<comments>http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 15:38:35 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/</guid>
		<description><![CDATA[In poker, a brave fold would be a case where you have a strong hand and you are already committed to the pot (you’ve already put in some substantial amount of money), even so, you sense that your opponent might &#8230; <a href="http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In poker, a brave fold would be a case where you have a strong hand and you are already committed to the pot (you’ve already put in some substantial amount of money), even so, you sense that your opponent might have a stronger hand and you fold – losing your strong hand and the pot. Staying in the game would have required you to danger even more money, maybe too much.</p>
<p>Adobe was in similar situation, it has a very strong hand – Adobe Flash, and has already committed a lot of money on this loss leader. But staying in the game would have required them to put even much more money/resources on it. They would have to be fully committed, they would have to be “all-in”, borrowing from poker again. They could have end up winning the hand but if they will lose they can be out of the game completely.</p>
<p>We should have all known that the iOS will never run Flash. It’s almost like Steve Jobs last words were “exterminate the Flash” – similar to the hate <a title="Wikipedia - Genghis Khan" href="http://en.wikipedia.org/wiki/Genghis_Khan" target="_blank">Genghis Khan</a> had for the Tatars when he ordered  “<a href="http://en.wikipedia.org/wiki/List_of_genocides#Before_1490" target="_blank">the extermination of the Tata Mongols</a>”</p>
<p>In retrospect, seems like wasting all that resources on porting Flash for the mobile was good only for Adobe and us in the Flash crowed to be able to give Steve and the other mongers the finger, telling them – see, Flash runs well on the mobile! It was supposed to be obvious that Flash will never rich similar ubiquity on the mobile as on the desktop. Than again, everything is easier in retrospect.</p>
<p>There are many reasons why Flash succeeded where 1,000 other plugins failed. And it’s also amazing how a relatively small corporate like Adobe managed to be in front of much bigger competitors, Microsoft with it’s buckets of money and Sun with it’s Java Java Proxy Proxy, to name only two.</p>
<p>I’m just sick of layman&#8217;s that are quoting laymen’s that are quoting a reporter that quotes another reporter that quote “someone who knows” that quote anther one that “really knows” &#8211; it’s like that game, what’s is name?! The other day I’ve heard from someone who should have known better that &#8211; “lake of multithreading killed Flash” – you’ve probably heard that BS before, yep it’s total BS. Add that to the many other miss-consumptions people make regarding this issue and it piles to a big pile of sh&lt;bip&gt;it. I wonder how many of these laymen’s knows the hassle of cross browser HTML development?!</p>
<p>So, congrats on the brave fold Adobe, with the right hand I solute you. On the other hand I&#8217;d say f*ck you big proprietary beast, how dare you stab so many people in the back.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2011/11/29/adobe-flash-brave-fold/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Webcam ClickJacking Revived</title>
		<link>http://blog.guya.net/2011/11/01/webcam-clickjacking-revived/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webcam-clickjacking-revived</link>
		<comments>http://blog.guya.net/2011/11/01/webcam-clickjacking-revived/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 23:39:12 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ClickJacking]]></category>
		<category><![CDATA[Flash Security]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2011/11/01/webcam-clickjacking-revived/</guid>
		<description><![CDATA[Two weeks ago this guy managed to revive my 3 years old Webcam ClickJacking POC and also managed to revive some of the buzz surrounding it. The revived attack is exactly the same as my 2008 POC it even uses &#8230; <a href="http://blog.guya.net/2011/11/01/webcam-clickjacking-revived/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Two weeks ago <a href="http://www.feross.org/webcam-spy/" target="_blank">this guy</a> managed to revive my 3 years old <a href="http://blog.guya.net/2008/10/07/malicious-camera-spying-using-clickjacking/" target="_blank">Webcam ClickJacking POC</a> and also managed to revive some of the buzz surrounding it.</p>
<p>The revived attack is exactly the same as my 2008 POC it even uses lots of my code. The different is that instead of using the settings manager html page as the source of the iframe it’s now uses the setting manager swf directly. Actually, this was the first thing I’ve tried after Adobe frame bust the <a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager06.html" target="_blank">settings manager</a> pages. It didn’t work well for my windows browsers so I’ve ditched it. One of the first <a href="http://blog.guya.net/2008/10/07/malicious-camera-spying-using-clickjacking/#comment-376" target="_blank">comment</a> on my Webcam Clickjacking post created the same thing and gave a link to it (it is now links to an AD). So obviously everyone knew it or at least thought about it &#8211; everyone except Adobe.</p>
<p>The Flash Player provide great power on the web, it’s still the only practical mean to interact with the user’s webcam and microphone. You know the cliché, with great power comes great responsibility. Adobe needs to be vigilant when it comes to her users security and privacy, and her users are practically everyone.</p>
<p>Obviously that every new version of the Flash Player should go through vigorous security testing. It’s also needs to be done with every new browser and OS version. That’s a huge matrix but it needs to be done. For example, browser change the way they embed plugins which can easily leads to flaws even if the Flash Player stays the same.</p>
<p>Back than Adobe knew about the ClickJacking beforehand coz they were <a href="http://jeremiahgrossman.blogspot.com/2008/09/cancelled-clickjacking-owasp-appsec.html" target="_blank">informed</a> by <a href="http://ha.ckers.org/" target="_blank">RSnake</a> and <a href="http://jeremiahgrossman.blogspot.com" target="_blank">Jeremiah Grossman</a>. They didn’t knew specifically about my POC and the way it exploits the settings manager, but anyhow they should have at least frame-bust every related page. It’s insane that in all of these 3 years no one bothered to at least Flash-bust the settings manager SWF and prevent the resurrection of my POC.</p>
<p>BTW, good job Feross Aboukhadijeh, my name is Guy Aharonovsky – whois is easy…</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2011/11/01/webcam-clickjacking-revived/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Windows is still too easy to kill</title>
		<link>http://blog.guya.net/2011/10/17/windows-is-still-too-easy-to-kill/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-is-still-too-easy-to-kill</link>
		<comments>http://blog.guya.net/2011/10/17/windows-is-still-too-easy-to-kill/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 00:01:27 +0000</pubDate>
		<dc:creator>guya</dc:creator>
				<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blog.guya.net/2011/10/17/windows-is-still-too-easy-to-kill/</guid>
		<description><![CDATA[Windows 7 that is, got no reason to believe it’ll change in Windows 8. Yesterday I accidently/stupidly right-clicked on Computer and than went to –&#62; Mange –&#62; Storage –&#62; Disk Management –&#62; right clicked on my external HD and selected &#8230; <a href="http://blog.guya.net/2011/10/17/windows-is-still-too-easy-to-kill/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Windows 7 that is, got no reason to believe it’ll change in Windows 8.</p>
<p>Yesterday I accidently/stupidly right-clicked on Computer and than went to –&gt; Mange –&gt; Storage –&gt; Disk Management –&gt; right clicked on my external HD and selected “<strong>Mark Partition as Active</strong>”. Realizing this is not what I was looking for, I wanted to undo it but couldn’t found where. I than had to go, and left my laptop running. When I went back I saw my computer has crushed, might be cause of <a href="http://windirstat.info/" target="_blank">WinDirStat</a> was running in the background but that’s irrelevant.<br />
Anyhow, I started my computer and got  this message:</p>
<p><strong>BOOTMGR is missing<br />
Press Ctrl+Alt+Del to restart.</strong></p>
<p>Restarting won’t help obviously. Googleing this issue gives you tons of info that basically tells you the same two things &#8211; use the windows installation CD and if you don’t have it, like in many OEM machines, or you left it in the office, you can download this windows recovery CD from this obscure website and that will cost you 10 USD.</p>
<p>I think it’s very bad, to say the least,  that any common user can get himself in such trouble without the ability to easily revert it. Even though I knew it was probably cased by marking the external HD as active I can’t say I wasn&#8217;t slightly stressed – no boot record can easily mean HD failure.</p>
<p>This is how to fix it without the windows installation disc and without buying the recovery disc:</p>
<p><strong>1.</strong> Go and <a href="http://www.hirensbootcd.org/download/" target="_blank">download Hiren’s boot CD</a>. This handy collection of software&#8217;s used to include pirated apps, but I believe that it is now legit (since version 10.1, current is 14.1) and only include freewares and sharewares.</p>
<p><strong>2.</strong> (Optional step) boot into tiny-XP to see your HDs and files are intact – hopefully. (I wonder how they include this XP legally?)</p>
<p><strong>3.</strong> There are many boot (MBR) fixing tools in Hiren’s boot CD, I’ve used the freeware <strong>MBRWizard</strong><br />
The command line I used was MBRWizard \disk=1 \part=1 \inactive. This set my external HD as inactive<br />
It’s easy, once you run MBRWizard you get help on how to use it.</p>
<p>That’s it.</p>
<p>Come’on Microsoft, you ask the user all kind of redundant questions like “do you want to see the files of your C drive”  but then let him completely kill the functionality of his machine without the ability to easily revert it. ??!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.guya.net/2011/10/17/windows-is-still-too-easy-to-kill/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
