4140
<?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>Trending Us</title>
	<atom:link href="http://trending.us/feed/" rel="self" type="application/rss+xml" />
	<link>http://trending.us</link>
	<description></description>
	<lastBuildDate>Thu, 07 Mar 2013 02:32:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to screw up your launch (and perhaps how to save it)</title>
		<link>http://trending.us/2013/03/06/how-to-screw-up-your-launch-and-perhaps-how-to-save-it/</link>
		<comments>http://trending.us/2013/03/06/how-to-screw-up-your-launch-and-perhaps-how-to-save-it/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 01:22:29 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://trending.us/?p=108</guid>
		<description><![CDATA[On March 5, I pulled the trigger on soft launching a new product, jsonip Pro http://getjsonip.com. My core goal failed dramatically, though I had some success around the periphery. There’s a few lessons here, some technical and some ethical.]]></description>
			<content:encoded><![CDATA[<p>On March 5, I pulled the trigger on soft launching a new product, jsonip Pro <a href="http://getjsonip.com" target="_blank">http://getjsonip.com</a>. My core goal failed dramatically, though I had some success around the periphery. There&#8217;s a few lessons here, some technical and some ethical. If you just want the summary, just scroll to the bottom.</p>
<h2>Background</h2>
<p>For some quick background, I have been running a free service called <a href="http://jsonip.com" target="_blank">jsonip.com</a> since November 2010. Its a utility service that returns a visitor&#8217;s IP address in a JSON object. Supports CORS and JSONP as well.</p>
<p>With literally 0 (zero) dollars spent beyond monthly hosting and just word of mouth via Twitter and Hacker News, jsonip has gone from 10 requests a week to over 10 million requests a day. Over the last couple of months and after many conversations of beer and whisky with friends, people kept saying &#8220;and that&#8217;s free?&#8221; Yeah, I replied. Its a simple utility and I&#8217;m happy that people find it useful. But ever since jsonip has crept over the 10 million a day mark, I&#8217;ve kept asking myself if there was anything more I could do. Is there any way that I could turn this into a product that people might pay for?</p>
<p>I was talking with a buddy in Seattle recently and telling him about it. He asked if I had considered adding geoip lookup, and that was the pebble that started the avalanche in my brain. I realized that there were different features I had been wanting to add to jsonip for over a year, and that I can bundle all of those together and more, and offer something that will have a lot more value than just basic IP lookup. Hence, <a href="http://getjsonip.com" target="_blank">jsonip Pro</a> was born.</p>
<h2>Going Pro</h2>
<p>I&#8217;ve built enough products on my own and for various companies, along with studying enough startup literature, to know the value of the MVP. In my case, I already more or less have the MVP. Its <a href="http://jsonip.com" target="_blank">http://jsonip.com</a>. Its been running for years, has hundreds of users, and supports millions of requests a day. What I know is that offering a paid product is going to be something different. There are different things to take into account:</p>
<ul>
<li>How many features do I need complete?</li>
<li>How much work is required to complete all the features?</li>
<li>What are the unknown unknowns? (I&#8217;m a single developer. There&#8217;s stuff dealing with payments, scaling, etc that I know about. What are the things that I *don&#8217;t* know about?)</li>
</ul>
<p>I gave these questions a lot of thought and came to the conclusion that its going to be a bit of work to get this going. Not insurmountable, but a heavy investment in time for me.</p>
<p>The MVP of MVP&#8217;s is interest. Are there going to be enough people interested in the product I&#8217;m planning to justify the time and effort to put into building it?</p>
<p>One popular way to handle this is what I term a &#8220;soft launch&#8221;, though of course that phrase has multiple meanings. To me, it means getting a signup page out that describes your product. Collect emails and comments. Track with Google Analytics. See what the reactions are on Twitter. Post to Hacker News and gauge the responses (if any).</p>
<h2>Prep</h2>
<p>I have my list of features. They&#8217;re posted on <a href="http://getjsonip.com" target="_blank">http://getjsonip.com</a>. I have a good idea of the total time its going to take to complete everything.</p>
<p>Its the unknown unknowns that bite you in the ass. More on that in a second.</p>
<p>For this launch, I wanted to hit everything perfectly. I spent a few days working on the signup page. Its hosted with <a href="http://launchrock.com" target="_blank">LaunchRock</a>. They&#8217;re free and work pretty good. Their UI is pretty usable but needs some improvement. Honestly, they&#8217;re better than anyone else I found and I didn&#8217;t want to host this myself. That would have involved setting up signup capture, integrating email services, etc. Too much work for  a 1-use signup page.</p>
<p>The rest of my launch strategy involved posting on Hacker News, sending tweets to people that were known <a href="jsonip.com" target="_blank">jsonip.com</a> users, and sending a few emails to people I know (under 10 people).</p>
<p>I got everything ready, did some research on the best time to post to HN (morning or afternoon), then pulled the trigger.</p>
<h2>Merde</h2>
<p>Some people will criticize me for what follows. I&#8217;m kicking myself for it too. Basically, the main community I know about and have been a part of for years that deals with launching products and startups is Hacker News. I have a fairly high karma level there and frequently interact via comments and submissions. I don&#8217;t have a huge Twitter following nor do I have an extensive email list of interested parties. Hacker News is basically the main target at this point for me.</p>
<p>Since my main goal at this stage was to gauge interest, I needed eyeballs. I wanted at least a few hundred people to take a look at <a href="http://getjsonip.com" target="_blank">getjsonip.com</a>, signup if they were interested, leave a comment, or send me an email, or just go away. Any combination of those actions provides me with information I need about whether to proceed or not.</p>
<p>My strategy was executed like this:</p>
<ol>
<li>Post on Hacker News in the morning, <a href="http://news.ycombinator.com/item?id=5326491" target="_blank">http://news.ycombinator.com/item?id=5326491</a></li>
<li>Go on Twitter and look for people that had talked about it at some point. Send them an @ reply of the form, &#8220;@&lt;person&gt; launching jsonip Pro. Take a look news.ycombinator.com/item?id=5326491&#8243;.</li>
<li>Send an email to my tiny contact list with roughly the same message, again linking to the Hacker News post.</li>
</ol>
<p>Since I have limited eyeball-getting-resources, the idea was to use multiple channels, but focus everyone to HN with the hope that if even a couple of folks thought it was an interesting idea, they might spare an upvote. I&#8217;m sure by now you&#8217;re starting to see the problem.</p>
<p>If anyone remembers back a few years to Digg&#8217;s heyday, they had a massive problem with voting rings. Groups of users, or more often groups of accounts controlled by bots, would all vote for the same story in order to push it to the front page. Digg had lots of traffic and making it to the homepage was valuable at the time.</p>
<p>Hacker News is a *very* popular site these days. We face similar issues. Of course, this didn&#8217;t even occur to me the morning of as a problem. Like I said earlier, unknown unknowns.</p>
<h2>&#8220;Soft&#8221; Launch</h2>
<p>Over the course of 1.5 hours, I executed. HN Post, done. Tweet, tweet, tweet. Email.</p>
<p>As I made breakfast, I immediately start getting feedback on Twitter. All positive!</p>
<ul>
<li><a href="https://twitter.com/icreate_jb/status/309021409131241472" target="_blank">@geuis Oh wow, nice!</a></li>
<li><a href="https://twitter.com/chrispatterson/status/309022989700186112" target="_blank">@geuis Cool. Now even handier!</a></li>
<li><a href="https://twitter.com/excid3/status/309030358832259072" target="_blank">@geuis Smart idea. :)</a></li>
<li><a href="https://twitter.com/johnpkiffmeyer/status/309053105910190081" target="_blank">@geuis Nifty! Don&#8217;t have an immediate need for this, but I&#8217;ll definitely keep this in mind. :)</a></li>
</ul>
<p>I got a couple of email replies, also positive.</p>
<p>I would occasionally check the Hacker News post. After a couple of hours, it was up to 8 votes. That&#8217;s often, but not always, enough to at least make it temporarily to the bottom of the front page which is all I needed anyway. But then a funny thing happened on the way to the Forum.</p>
<p>The more votes the post got, the further down the <a href="http://news.ycombinator.com/newest" target="_blank">http://news.ycombinator.com/newest</a> page it got. When it was 300+ and I realized that 300 new stories hadn&#8217;t been posted in 2 hours, I started realizing what was going on. After a couple of searches and getting a hint from a friend, it became obvious.</p>
<p>Since the votes were coming from visitors that had hit the link directly, their votes weren&#8217;t being counted. And while I can&#8217;t confirm it, I suspect each additional vote just accelerated the downward process in /newest.</p>
<p>I had inadvertently created a voting ring.</p>
<p>I *detest* spammy shit. One of my favorite scenes is in the book <a href="http://www.amazon.com/Daemon-Daniel-Suarez/dp/0451228731" target="_blank">Daemon</a> where the daemon geo locates the main email spammers in the world and then hires hit men to assassinate them all in the span of a few minutes. Global spam drops to near nothing overnight. I&#8217;m not sure how HN does it, but the way I would do it is that any votes coming from users on pages with no news.ycombinator.com referer get sent to the special level of hell reserved for voting rings. Yet here I had done one of the very things I hate the most. Merde.</p>
<p>If not a voting ring mechanism, then lots of users were flagging the post. That&#8217;s possible too, though I think unlikely.</p>
<h2>Aftermath</h2>
<p>Lets see. I screwed up my mini-launch.</p>
<p>Using what limited resources I have, I tried formulating a plan that would get the most feedback I could reasonably expect. I did get a lot of positive feedback in proportion to the sample size that actually saw <a href="http://getjsonip.com" target="_blank">http://getjsonip.com</a>, but near 100% positive feedback isn&#8217;t actually that useful at this stage. Its a little like showing something to your friends and family and them all saying what a smart cookie you are.</p>
<p>What I was hoping to get was a scale of interest, or indeed no interest. I value the commentary of fellow HN users, but sometimes you even end up with lots of &#8220;awesome +1&#8243; comments from well-meaning people. That&#8217;s very encouraging, but what you really need to see are critiques in combination with the good stuff. In your analytics, you need to see that you had X overall visitors, they stayed for N time, Y percent signed up, etc.</p>
<p>I had less than 10 visitors, 8 upvotes from people I know or that use jsonip.com, 2 signups from unknown people, and 1 signup from a friend of mine. (Love ya buddy, but you don&#8217;t count!)</p>
<p>There&#8217;s a lot of encouraging signals in that data, but the sample size is too small to be really useful at this point.</p>
<h2>Saving it</h2>
<p>You might have guessed by now, but there&#8217;s an ulterior motive for writing this post.</p>
<p>My friend with the most excellent hints was the one that initially alerted me to the possible direct-link-voting problem. He also said something that prompted me to write up this experience, &#8220;HN readers would like that blog post.&#8221;</p>
<p>What I&#8217;m hoping is that by drawing attention to how I screwed up my soft launch, I might still be able to garner enough attention to complete the study I started with. Its also to describe my experience, and hopefully provide a road sign for other people working on their own products.</p>
<h2>Lessons</h2>
<ol>
<li>If you&#8217;re starting from scratch, build a minimal viable product. Often that&#8217;s just one feature. Other times, its just a signup page to measure interest. Don&#8217;t waste time on building lots of stuff that people end up not wanting anyway. Engage and measure.</li>
<li>If you have a successful MVP, iterate and measure. Add feature B and see how users user or like it. Repeat for C, and so forth.</li>
<li>If you&#8217;re in a situation like mine and you have a successful product, but it has a narrow focus, you can&#8217;t just add feature B. In my case the new product adds lots of extra information but it will take me time to build and test everything. Not a lot of new features, but they require a lot of work. Start with a signup page with your existing user base and see if they will be interested. This is also hard in my case because most of my user base is anonymous to me.</li>
<li>Know your audience. For me, my audience is developers and engineers. They frequent Hacker News, so that is my target.</li>
<li>When you have limited &#8220;eyeball resources&#8221; as I call them, focus your resources towards one target. In my case, I would get the most views if I was able to get to page 1 or 2 of Hacker News for a couple hours. Your target may be completely different.</li>
<li>If you&#8217;re going to do what I did, don&#8217;t tweet/email people to the direct link. Ask them nicely to find your post on the /newest page and vote from there. Its a bit gamey, but if someone actively goes out of their way to find your post and upvote you that&#8217;s a really positive indicator even if you don&#8217;t make it to the front page. Otherwise, your post is going to go down down down. Also, don&#8217;t do this to game Hacker News with your spam. I hate even advocating this technique, so use it with care and respect.</li>
<li>If your launch fails to meet your expectations/needs, consider following up with a detailed post about what you did. It might work. (I don&#8217;t know yet if this one will.)</li>
</ol>
<h2>Summary</h2>
<p>For those who skipped directly to this point, let me summarize for you.</p>
<p>I am working on launching a paid version of <a href="http://jsonip.com" target="_blank">http://jsonip.com</a>. Its called Pro. It has lots of additional features. Check out <a href="http://getjsonip.com" target="_blank">http://getjsonip.com</a> for the details.</p>
<p>In order to first determine if there would be enough interest to invest the time to build the Pro service, I decided to do a soft launch using just a signup page to gauge interest. This went spectacularly wrong.</p>
<p>I don&#8217;t have a lot of resources in terms of Twitter followers and email lists to promote things. To get the data I want, I was hoping to use a post on Hacker News to get perhaps a few hundred views to get some commentary, signups, or no interest at all. Any combination of those would tell me whether I should proceed or not.</p>
<p>I directed the handful of tweets and emails I was able to send to the HN post. Turns out this seems to have activated a voting ring detector and pushed the post so far down Satan wouldn&#8217;t find it. I inadvertently created something I hate passionately, spam.</p>
<p>On the plus side, the feedback I *did* get was all positive and resulted in 2 signups, but the sample size was too small to be conclusive.</p>
<p>I&#8217;m writing this post for several reasons. To document this process, to help others working on their own products, and possibly to get enough feedback on the idea, <a href="http://getjsonip.com" target="_blank">http://getjsonip.com</a>, to determine whether or not to move forward.</p>
1ff8

]]></content:encoded>
			<wfw:commentRss>http://trending.us/2013/03/06/how-to-screw-up-your-launch-and-perhaps-how-to-save-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsonip.com close to serving 10 million requests a month</title>
		<link>http://trending.us/2012/09/21/jsonip-com-close-to-serving-10-million-requests-a-month/</link>
		<comments>http://trending.us/2012/09/21/jsonip-com-close-to-serving-10-million-requests-a-month/#comments</comments>
		<pubDate>Sat, 22 Sep 2012 00:53:00 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://trending.us/?p=102</guid>
		<description><![CDATA[I started a utility service in November 2010 called http://jsonip.com. At its core, all it does is return your IP address as a json object. Simple, right?
Its now close to serving *10 million requests a month.
* For the last month, there&#8217;ve been 9.3 million requests to the site and that&#8217;s increasing fairly steadily. I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I started a utility service in November 2010 called <a href="http://jsonip.com" target="_blank">http://jsonip.com</a>. At its core, all it does is return your IP address as a json object. Simple, right?</p>
<p>Its now close to serving *<strong>10 million requests</strong> a month.</p>
<p>* <em>For the last month, there&#8217;ve been 9.3 million requests to the site and that&#8217;s increasing fairly steadily. I don&#8217;t know when it&#8217;ll breach 10 million, but it will soon.</em></p>
<p>It had occurred to me one afternoon that there should be a way for javascript running on a website to get the user&#8217;s IP address, if needed. Javascript can&#8217;t do this on its own because of how the browser sandbox is built. Implementing this on your own server is very easy, and is often done that way. There were other sites that did it too, like <a href="http://jsonip.appspot.com/">jsonip.appspot.com</a>, but they were often down or in this case, &#8220;Over Quota&#8221;.</p>
<p>It was an easy weekend project. I wrote it in node.js and put it up on my Slicehost server, then <a href="http://news.ycombinator.com/item?id=1896015">posted a link on Hacker News</a>. It got 10 votes, and that was it. I forgot about it for a while.</p>
<p>A few months later, imagine my vast surprise when someone else <a href="http://news.ycombinator.com/item?id=2278874">posted about the site </a>on HN again. At almost 160 votes, I&#8217;d say that made the site get noticed.</p>
<p>At various times over the last 2 years, I&#8217;ve watched on Twitter as someone finds out about it and tweets it, then a veritable Cambrian explosion of re-tweets start spreading out. One of the most fascinating things I&#8217;ve seen in the last 2 years was watching one such occurrence as eventually hundreds of re-tweets were sent out over several days. If I knew more about data visualization techniques, it would have been very interesting to graph and watch how it happened. I feel quite privileged to have seen one of my projects go viral like that, as its never happened before.</p>
<p>Since then, I&#8217;ve made a few improvements and traffic has steadily climbed. It supports CORS, parameter requests, and a little /about info too. I&#8217;m eventually going to add IPV6 support, but that&#8217;s been tricky to figure out and the need has been low, so its been low priority. (If you are a reader that happens to know more about how to detect IPV6, ping me.)</p>
<p>Since its a simple service and only deserves a simple post, I&#8217;ll wrap it up here.</p>
<p>If you&#8217;ve read this far, check out my other project <a href="http://popped.at">Popped At</a>. Its an on-going experiment in visualizing real-time images being shared on Twitter that got its start as a &#8220;What&#8217;s happening on the ground&#8221; tool during the tsunami that hit Japan in March, 2011. It might warrant its own post at some distant point in the future.</p>
<p>Thanks for reading.</p>
<p>- Charles</p>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2012/09/21/jsonip-com-close-to-serving-10-million-requests-a-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Performance Numbers for Nitro Javascript Engine in IOS 4.3</title>
		<link>http://trending.us/2011/03/12/performance-numbers-for-nitro-javascript-engine-in-ios-4-3/</link>
		<comments>http://trending.us/2011/03/12/performance-numbers-for-nitro-javascript-engine-in-ios-4-3/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 05:04:18 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nitro]]></category>

		<guid isPermaLink="false">http://trending.us/?p=69</guid>
		<description><![CDATA[TLDR: In summary, the original post is entirely accurate. Javascript running in web apps in Mobile Safari are roughly 2x faster than running in fullscreen mode via saving a web page to the home screen. Additionally, javascript is marginally faster in a custom UIWebView running in fullscreen, but still much slower than Mobile Safari.
There was [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>TLDR: In summary, the original post is entirely accurate. Javascript running in web apps in Mobile Safari are roughly 2x faster than running in fullscreen mode via saving a web page to the home screen. Additionally, javascript is marginally faster in a custom UIWebView running in fullscreen, but still much slower than Mobile Safari.</strong></em></p>
<div>There was a post on Hacker News earlier today that demonstrated the new Nitro javascript engine for Mobile Safari only appears to be used when a web app is running in Mobile Safari, but not when that page has been saved as a home screen object and then runs in fullscreen mode.</div>
<p>The post is here: <a href="http://www.mobilexweb.com/samples/nitro.html" target="_blank">IOS 4.3 Nitro JS engine disabled for full screen apps and uiwebview</a> and the Hacker News post is here: <a href="http://news.ycombinator.com/item?id=2317804" target="_blank">http://news.ycombinator.com/item?id=2317804</a></p>
<p>I&#8217;ve run some numbers using the page from the HN post. The test embeds v0.9.1 of the Sunspider javascript test, which can then be run from the device.</p>
<p>I ran the following tests using a GSM iPhone 4 and iPad v1 32gb w/ 3G, both upgraded to IOS 4.3.</p>
<p>My tests included 3 uninterrupted runs of Sunspider in each of the following situations:</p>
<ol>
<li>Mobile Safari, native browser</li>
<li>Page saved as home screen icon, full screen</li>
<li>Custom iPhone app using a UIWebView that directly loads the Sunspider test linked to originally</li>
</ol>
<p><strong><em>Numbers:</em></strong></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">ipad v1 (browser):</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page1: 8145.2</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page2: 8149.6</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page3: 8166.3</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">avg: 8153.7ms</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">iPad v1 (fullscreen):</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; o
186
verflow-x: hidden; overflow-y: hidden;">page1: 8383.7</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page2: 8374.0</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page3: 8201.7</div>
<div id=
1e72
"_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">avg: 8319.8ms</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">iPhone 4 (browser):</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page1: 3981.3</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page2: 4110.1</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page3: 4087.5</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">avg:4059.33333</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">iPhone 4 (fullscreen):</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page1: 10383.4</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page2: 10594.6</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page3: 10572.7</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">avg: 10416.9</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">iPhone 4 (fullscreen, custom UIWebView app)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page1: 9400.0</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page2: 9422.8</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">page3: 9431.4</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 140px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">avg: 9417.6666</div>
<p><strong>iPad v1 (browser):</strong></p>
<ul>
<li>page1: 3320.3</li>
<li>page2: 3248.5</li>
<li>page3: 3241.8</li>
<li><strong>AVG: 3270.2 ms</strong></li>
</ul>
<p><strong>iPad v1 (fullscreen):</strong></p>
<ul>
<li>page1: 8383.8</li>
<li>page2: 8375.4</li>
<li>page3: 8397.2</li>
<li><strong>AVG: 8385.4666 ms</strong></li>
</ul>
<p><strong>iPad (fullscreen, custom UIWebView app)</strong></p>
<ul>
<li>page1: 7689.7</li>
<li>page2: 7656.7</li>
<li>page3: 7703.9</li>
<li><strong>AVG: 7683.4333 ms</strong></li>
</ul>
<p><strong>iPhone 4 (browser):</strong></p>
<ul>
<li>page1: 3981.3</li>
<li>page2: 4110.1</li>
<li>page3: 4087.5</li>
<li><strong>AVG: 4059.33333 ms</strong></li>
</ul>
<p><strong>iPhone 4 (fullscreen):</strong></p>
<ul>
<li>page1: 10383.4</li>
<li>page2: 10594.6</li>
<li>page3: 10572.7</li>
<li><strong>AVG: 10416.9 ms</strong></li>
</ul>
<p><strong>iPhone 4 (fullscreen, custom UIWebView app)</strong></p>
<ul>
<li>page1: 9400.0</li>
<li>page2: 9422.8</li>
<li>page3: 9431.4</li>
<li><strong>AVG: 9417.6666 ms</strong></li>
</ul>
<p>Finally my original tests were incorrect for the iPad. I had started the upgrade from IOS 4.2 to 4.3 but it had not completed. So, the following numbers are recorded for the iPad v1 using 4.2. Basically, in Mobile Safari javascript is more than 2x as fast javascript run in fullscreen mode.</p>
<p><strong>iPad v1 4.2 (browser):</strong></p>
<ul>
<li>page1: 8145.2</li>
<li>page2: 8149.6</li>
<li>page3: 8166.3</li>
<li><strong>AVG: 8153.7ms</strong></li>
</ul>
<p><strong>iPad v1 4.2 (fullscreen):</strong></p>
<ul>
<li>page1: 8383.7</li>
<li>page2: 8374.0</li>
<li>page3: 8201.7</li>
<li><strong>AVG: 8319.8ms</strong></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2011/03/12/performance-numbers-for-nitro-javascript-engine-in-ios-4-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple updates iPad video to remove Flash</title>
		<link>http://trending.us/2010/02/01/apple-updates-ipad-video-to-remove-flash/</link>
		<comments>http://trending.us/2010/02/01/apple-updates-ipad-video-to-remove-flash/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 20:00:33 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trending.us/?p=55</guid>
		<description><![CDATA[Apple&#8217;s introduction video for the new iPad has undergone some changes, quietly.
When Steve Jobs demoed Safari on the iPad on stage, it was obvious that Flash wasn&#8217;t on there. Several sites he visited had the now-traditional blue block in place of the Flash player.
In the introductory video that was previewed and later put online, around [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Apple&#8217;s introduction video for the new iPad has undergone some changes, quietly.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">When Steve Jobs demoed Safari on the iPad on stage, it was obvious that Flash wasn&#8217;t on there. Several sites he visited had the now-traditional blue block in place of the Flash player.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In the introductory video that was previewed and later put online, around 2:11 you see the New York Times homepage. A section of the page that uses Flash is clearly visible in the video. This has led to speculation that the iPad will indeed support Flash. No such luck for those that want it.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">In an un-announced update to the video, that section has been re-edited to show the blue block.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">View the videos yourself and compare. Right around 2:11.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Original: http://www.youtube.com/watch?v=h-aVbSmfTFs</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Updated: http://www.apple.com/ipad/</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">(On a side note, I am on the side of *not* wanting Flash on the iPhone OS (iPhone, iPod Touch, iPad). Its slow, buggy, and just a bad experience overall.)</div>
<p>Apple&#8217;s introduction video for the new iPad has undergone some changes, quietly.</p>
<p>When Steve Jobs demoed Safari on the iPad on stage, it was obvious that Flash wasn&#8217;t on there. Several sites he visited had the now-traditional blue block in place of the F
1ff8
lash player.</p>
<p>In the introductory video that was previewed and later put online, around 2:11 you see the New York Times homepage. A section of the page that uses Flash is clearly visible in the video. This has led to speculation that the iPad will indeed support Flash. No such luck for those that want it.</p>
<p>In an un-announced update to the video, that section has been re-edited to show the blue block.</p>
<p><img class="alignnone size-full wp-image-56" title="ipad" src="http://trending.us/wp-content/uploads/2010/02/ipad.png" alt="ipad" width="518" height="600" /></p>
<p>View the videos yourself and compare. Right around 2:11.</p>
<p>Original: <a href="http://www.youtube.com/watch?v=h-aVbSmfTFs" target="_blank">http://www.youtube.com/watch?v=h-aVbSmfTFs</a></p>
<p>Updated: <a href="http://www.apple.com/ipad/" target="_blank">http://www.apple.com/ipad/</a></p>
<p>(On a side note, I am on the side of *not* wanting Flash on the iPhone OS (iPhone, iPod Touch, iPad). Its slow, buggy, and just a bad experience overall.)</p>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2010/02/01/apple-updates-ipad-video-to-remove-flash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to run a web server from Virtual Box</title>
		<link>http://trending.us/2009/11/12/how-to-run-a-web-server-from-virtual-box/</link>
		<comments>http://trending.us/2009/11/12/how-to-run-a-web-server-from-virtual-box/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 06:38:55 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://trending.us/?p=52</guid>
		<description><![CDATA[VirtualBox is a free, lightweight virtual machine simulator from Sun. The current version is 3.0.10.
One of the uses of VirtualBox is to run a web server or other application from a virtual operating system on your computer, whether it be Windows, Linux, or Mac.
So, the point of this short post is to describe how to [...]]]></description>
			<content:encoded><![CDATA[<p>VirtualBox is a free, lightweight virtual machine simulator from Sun. The current version is 3.0.10.</p>
<p>One of the uses of VirtualBox is to run a web server or other application from a virtual operating system on your computer, whether it be Windows, Linux, or Mac.</p>
<p>So, the point of this short post is to describe how to access your web server from your host machine. For whatever odd reason, I simply could not find this documented *anywhere* that was simple. This requires no installation of extra software or configuration of anything on your computer or on your virtual server.</p>
<p>Ok, I&#8217;m assuming that you already have your server installed.</p>
<ol>
<li>Shut it down if its running.</li>
<li>Open up Virtual Box. In the left panel, select your VM and then click the yellow Settings button above it.</li>
<li>In the new view, click on the Network button off to the right along the top.</li>
<li>By default, Adapter 1 should already be selected. If not select it, or if you are configuring a different adapter, select that one.</li>
<li>You should see menus called Adapter Type, Attached To, and Name. Name is probably greyed out.</li>
<li>Under Attached To, select Bridged Adapter. The Name menu should now be clickable.</li>
<li>Under the Name menu, select the network adapter that your computer is using for its internet connection. I am on a Mac on wireless, so my network adapter is en1: Airport. Yours might be one of the others if you are connected via ethernet.</li>
<li>Hit OK, and this window will go away.</li>
<li>Now start your VM image and log in.</li>
<li>Once it is started up, you have to find the IP address that the VM is now using.</li>
<li>If you are running a Linux server like Ubuntu, type &#8220;ifconfig&#8221; on the command line. Look for &#8220;eth0&#8243; and the &#8220;ifnet addr&#8221; near it. In my case, it is 192.160.0.7.</li>
<li>If you are running Windows, open your command prompt and type &#8220;ipconfig&#8221;. Look for a similar type of IP address.</li>
<li>The IP address you found will be the one that you use to contact your virtual web server.</li>
<li>Open a browser and type that number in as the address. If your server is up and running, you should now see a web page from it.</li>
</ol>
<p>As an added bonus, its easy to configure a local name that points to this IP address and makes it easy to access your web page in the future. The steps are nearly identical for Mac, Linux, and Windows users. Since I am on a Mac, I will describe the process for us. For Windows users, do a quick search on where to find your Hosts file. The information I describe here applies, but your hosts file is in a different location.</p>
<ol>
<li>Mac users: Open a terminal.</li>
<li>Type &#8217;sudo pico /etc/hosts&#8217; and enter.</li>
<li>Somewhere at the end of the file, add something like &#8220;localubuntu 192.168.0.7&#8243;. Of course, &#8220;localubuntu&#8221; is the address I want to use. Feel free to name it whatever you like. Also, the IP address has to match the one that you found in the earlier steps with &#8220;ifconfig&#8221; or &#8220;ipconfig&#8221;.</li>
<li>Hit control-o and enter to save the changes. Closing the terminal window will save the changes system wide. No reboot should be necessary.</li>
<li>Now go back to a browser and try going to &#8220;localubuntu&#8221; or whatever you named yours and you should now be hitting your web server.</li>
</ol>
<p>Feel free to leave comments, suggestions, or questions about any of this.</p>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2009/11/12/how-to-run-a-web-server-from-virtual-box/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why I use a Mac and not Windows</title>
		<link>http://trending.us/2009/11/08/why-i-use-a-mac-and-not-windows/</link>
		<comments>http://trending.us/2009/11/08/why-i-use-a-mac-and-not-windows/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 22:37:29 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://trending.us/?p=48</guid>
		<description><![CDATA[


I&#8217;m a front-end engineer with a side hobby in video production. I have a Macbook for personal use. I use a high-end Mac desktop at work. For my video editing, I use a high-end machine I built myself that has Windows 7 on it.On my Macs, the system acts the way I expect it to. [...]]]></description>
			<content:encoded><![CDATA[<table border="0">
<tbody>
<tr>
<td>I&#8217;m a front-end engineer with a side hobby in video production. I have a Macbook for personal use. I use a high-end Mac desktop at work. For my video editing, I use a high-end machine I built myself that has Windows 7 on it.<span id="more-48"></span>On my Macs, the system acts the way I expect it to. There are of course little UI things here and there that aren&#8217;t exactly how I like to work, but Leopard is very configurable and it only takes a couple of minutes on a new system to get it running the way I like. I am able to use VirtualBox to run VM&#8217;s of every operating system I have to test against, all in one machine. Basically, the Mac is sane. It lets me get things done that I need to get done. It also just gets out of my way and leaves me in peace.</p>
<p>I have a different relationship with my Windows 7 machine. I chose to go with Windows for my video editing for a few reasons. First, all of my video experience has been within the Premiere/After Effects suite. The latest versions of CS4 are really quite good. It was a relatively inexpensive upgrade to the latest versions that have better support for multicores and GPU acceleration.</p>
<p>Cost was the biggest decision maker for me. I absolutely love the desktop Mac Pro I have at work, but I couldn&#8217;t justify the cost of spending close to $3k on an equivalent machine for my hobby. I was able to build a high end desktop for about $1500, with 8gb of RAM, terabyte HDD, dual video cards, etc. To top 
1ff8
it off, when I built the machine Windows 7 was available for free.</p>
<p>After many years of working with XP, Win7 was a breath of fresh air. So much of the OS was revamped. It got rid of many of the annoyances of XP, it runs so much faster. Installation was a breeze. It had automatic support for some of my specialized hardware. To sum it up, Win7 seemed like an automatic win, and indeed in many ways it was. For any average user, its a must-have upgrade if you&#8217;re going to stick to the Windows world.</p>
<p>But then, there&#8217;s no point in writing this if I don&#8217;t illustrate my frustration with Windows 7 compared to my Macs. Its not a single thing that bothers me so much that I can just point at it say, &#8220;THAT&#8217;S THE REASON!&#8221; Rather, its a collection of many small things.</p>
<p>The best way to say it is that Windows doesn&#8217;t get out of my way. No matter what I&#8217;m doing, whether browsing the web, doing an application update, or playing a game, its always there in some niggling little way. It ranges from every time I install an update in Firefox or Chrome and the UAC pops up and blanks out my screen to how the start menu works. The big thing that got me today was after manually initiating the Windows Updates, it politely downloaded them and asked me if I wanted to restart. I said, &#8220;No, but thank you. I&#8217;ll do that later.&#8221; So it goes away and I continue writing a rather lengthy forum post I had been working on. As part of that post, I had several tabs open where I had been researching parts of the answer I was working on. About 15 minutes after I said &#8220;No&#8221; to the restart, the OS decides to install the updates anyway. Without warning, it shuts down all of my open apps, logs out, and then reboots. It quickly reboots and does the updates, and is back on my desktop within a minute. The actual update experience is nice. The fact that is did so against my wishes is not. So yeah, I lost everything I had been working on. Anger ensued.</p>
<p>So the point of all this is that for a product that has been tested, debugged, and gone through all levels of Dante&#8217;s circles and back before being released, Windows is just <em>not good enough</em>. It seems like its so close. You just start to like it, and then it does something weird again. Its like an old friend of mine. She drinks and can be really raucous. But she&#8217;s a great person but has off moments. Its like hanging out with her on a good day and everything seems awesome, and then she randomly punches a cop. You kind of expect it, but you let your guard down for a minute and then wham, you get reminded again.</p>
<p>I&#8217;ve basically come to the personal conclusion that an artifact really reflects the culture that makes it. Clovis arrowheads tell us about the people in ancient North America. Neanderthal burials tell us a lot about how they loved their families and friends. Apple&#8217;s culture is expressed in every product they make. They&#8217;re sleek, well-made, and durable. They don&#8217;t try to do more than they need. Microsoft has their own culture, and unfortunately it gets expressed in even their best product offerings. The Zune is a great mp3 player, but its 3 or more years behind the curve. The Xbox is a GREAT gaming machine, but the UI is both pretty and weird. IE8 made some big improvements, but their best effort just wasn&#8217;t good enough. Windows 7 is gorgeous, but the team behind it can&#8217;t make it what it needs to be because its still a product of that culture.</p>
<p>So in the end, I just fell for Mac because she&#8217;s really my type of girl. We fit well together. Windows is really pretty, and we have some good times, but she&#8217;s just not the one. We&#8217;ll still be friends, but that&#8217;s all we can ever be.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2009/11/08/why-i-use-a-mac-and-not-windows/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Quick tips on UTF-8 encoding on a Mac running Java &amp; Tomcat6</title>
		<link>http://trending.us/2009/11/02/quick-tips-on-utf-8-encoding-on-a-mac-running-java-tomcat6/</link>
		<comments>http://trending.us/2009/11/02/quick-tips-on-utf-8-encoding-on-a-mac-running-java-tomcat6/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 22:41:40 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[10.5.8]]></category>
		<category><![CDATA[AJP connector]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mac os leopard 10.5]]></category>
		<category><![CDATA[tomcat]]></category>
		<category><![CDATA[tomcat6]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[utf-8 encoding]]></category>
		<category><![CDATA[utf8]]></category>

		<guid isPermaLink="false">http://trending.us/?p=40</guid>
		<description><![CDATA[I ran into a problem today with UTF-8 encoding on my Mac(10.5.8), running a Java/Tomcat6 environment. It took a while to figure out, so I'm posting here in the hopes it helps others in the future.]]></description>
			<content:encoded><![CDATA[<p>I ran into a problem today with UTF-8 encoding on my Mac(10.5.8), running a Java/Tomcat6 environment. It took a while to figure out, so I&#8217;m posting here in the hopes it helps others in the future.</p>
<p>Mac OS uses its own variant of the Java SDK. The default character encoding is MacRoman. (<a href="http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/04-JavaUIToolkits/JavaUIToolkits.html#//apple_ref/doc/uid/TP40001901" target="_blank">Read this page</a>, scroll to &#8220;Character Encoding&#8221;). This can cause problems, such as my situation, where we are consuming a service that encodes its data as UTF-8, operates or transforms the data within our application, then outputs it again as UTF-8. The original UTF-8 data was being converted to MacRoman and then back out to UTF-8. Corruption ensued.</p>
<p>Depending on exactly what your problem is, I identified 2 general fixes. I only needed the first one, but I want to document the 2nd as well.</p>
<ol>
<li>Add URIEncoding to both the Java HTTP and AJP Connectors</li>
<li>Add &#8220;-Dfile.encoding=UTF-8&#8243; to your JAVA_OPTS environment variable.</li>
</ol>
<p>Fix #1:</p>
<ol>
<li>Edit your server.xml file. This is typically in /apache-tomcat/conf/server.xml.</li>
<li>Look for the HTTP Connector, mine looks like this:<strong> &lt;Connector port=&#8221;8080&#8243; protocol=&#8221;HTTP/1.1&#8243; connectionTimeout=&#8221;20000&#8243; redirectPort=&#8221;8443&#8243; useBodyEncodingForURI=&#8221;true&#8221;/&gt;</strong></li>
<li>Add the uriencoding to it: <strong>&lt;Connector port=&#8221;8080&#8243; protocol=&#8221;HTTP/1.1&#8243; connectionTimeout=&#8221;20000&#8243; redirectPort=&#8221;8443&#8243; useBodyEncodingForURI=&#8221;true&#8221; uriencoding=&#8221;UTF-8&#8243;/&gt;</strong></li>
<li>Look for the AJP Connector: <strong>&lt;Connector port=&#8221;8009&#8243; protocol=&#8221;AJP/1.3&#8243; redirectPort=&#8221;8443&#8243;/&gt;</strong></li>
<li>Add the uriencoding to it: <strong>&lt;Connector port=&#8221;8009&#8243; protocol=&#8221;AJP/1.3&#8243; redirectPort=&#8221;8443&#8243; uriencoding=&#8221;UTF-8&#8243;/&gt;</strong></li>
</ol>
<p>Fix #2:</p>
<ol>
<li>In my setup, I have added my JAVA_OPTS and other environment variables to my ~/.bash_profile.<strong><em> </em></strong><em>I am assuming that you already have your dev environment setup and know where your JAVA_OPTS are. This is my setup.</em></li>
<li>From the terminal: sudo pico ~/.bash_profile and find the line with your JAVA_OPTS. Again, this is my config line and yours may be different.</li>
<li>Add &#8220;-Dfile.encoding=UTF-8&#8243; to it: <strong>export JAVA_OPTS=&#8221;-Xmx768m -XX:MaxPermSize=256m -Djava.awt.headless=true -Dfile.encoding=UTF-8&#8243;</strong></li>
</ol>
<p>It took me a few hours of searching around and it seems like these are the general settings that most people recommend. For me, it was the combination of both Connectors that made
1858
 it work. It will probably be different for other people depending on your setup.</p>
<p>For extra info, visit these links for more info:</p>
<p><a href="http://www.jspwiki.org/wiki/TomcatAndUTF8" target="_blank">Tomcat and UTF-8</a></p>
<p><a href="http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/00-Intro/JavaDevelopment.html#//apple_ref/doc/uid/TP40001911" target="_blank">Apple&#8217;s Java Docs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2009/11/02/quick-tips-on-utf-8-encoding-on-a-mac-running-java-tomcat6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Install Google Page Speed into Firefox 3.5 Beta</title>
		<link>http://trending.us/2009/08/17/install-google-page-speed-into-firefox-3-5-beta/</link>
		<comments>http://trending.us/2009/08/17/install-google-page-speed-into-firefox-3-5-beta/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 02:39:10 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://popped.at/?p=37</guid>
		<description><![CDATA[The Goal - Get Page Speed Running on Firefox3.5 Beta I've been using Firefox3.5b as my primary browser more frequently because its just damned faster than FF3.0. I'm also a front-end engineer and my life online isn't complete without Firebug. So I installed that, and on a whim wanted to install Google's Page Speed Firebug extension. Except it wouldn't. You probably aren't reading this unless you know what Page Speed is already, but if you don't and want to know more visit <a href="http://code.google.com/speed/page-speed/">http://code.google.com/speed/page-speed/</a>. Needless to say, I got this running. Kinda. Page Speed has some "bugs" in FF3.5 right now. This is simply a write-up on how to get it installed right now. This document will likely be out of date in a couple months.
]]></description>
			<content:encoded><![CDATA[<p>The Goal &#8211; Get Page Speed Running on Firefox3.5 Beta I&#8217;ve been using Firefox3.5b as my primary browser more frequently because its just damned faster than FF3.0. I&#8217;m also a front-end engineer and my life online isn&#8217;t complete without Firebug. So I installed that, and on a whim wanted to install Google&#8217;s Page Speed Firebug extension. Except it wouldn&#8217;t. You probably aren&#8217;t reading this unless you know what Page Speed is already, but if you don&#8217;t and want to know more visit <a href="http://code.google.com/speed/page-speed/">http://code.google.com/speed/page-speed/</a>. Needless to say, I got this running. Kinda. Page Speed has some &#8220;bugs&#8221; in FF3.5 right now. This is simply a write-up on how to get it installed right now. This document will likely be out of date in a couple months.</p>
<p>Also, I am not providing a download for my modified Page Speed extension because:</p>
<ol>
<li>It will be out of date soon.</li>
<li>I don&rsquo;t want to deal with hosting it.</li>
<li>And I don&rsquo;t want to deal with comments from people who just install it and get any of the errors that result. This is just a how-to.</li>
</ol>
<h2><strong>What&rsquo;s Needed</strong></h2>
<p>You need Firefox 3.5 Beta. <a href="http://www.mozilla.com/en-US/firefox/all-beta.html" target="_blank">Go here</a>.</p>
<p>You need Firebug 1.4 Beta. <a href="https://addons.mozilla.org/en-US/firefox/addons/versions/1843#version-1.4.0b1" target="_blank">Go here</a>.</p>
<p>You need Page Speed. <a href="http://code.google.com/speed/page-speed/" target="_blank">Go here</a>.</p>
<p>Install the Firefox 3.5 Beta. When you get that going, install the Firebug 1.4 Beta extension.</p>
<h1><span style="color: #ff0000;">STOP HERE. READ ON FIRST.</span></h1>
<h2><strong>The Problem &#8211; Page Speed Isn&rsquo;t Designed For Firefox 3.5 Beta</strong></h2>
<p>After I got this going, Page Speed was giving some errors. Basically, it looks like the page performance tab works just fine, but the page speed activity tab doesn&rsquo;t. And it produces some errors. Oh well, lets continue.</p>
<p>What we&rsquo;re doing is increasing the &ldquo;maxVersion&rdquo; value in the page-speed.xpi extension to allow FF3.5 to install it.</p>
<h2><strong>Steps</strong></h2>
<ol>
<li>Download the page-speed.xpi and save it locally on your machine. <a href="https://dl-ssl.google.com/page-speed/current/page-speed.xpi" target="_blank">Direct Link</a></li>
<li>Rename the file from &ldquo;page-speed.xpi&rdquo; to &ldquo;page-speed.zip&rdquo;.</li>
<li>Un-archive the zip, aka unzip. This creates a directory called &ldquo;page-speed&rdquo;.</li>
<li>Navigate to &ldquo;page-speed&rdquo; directory.</li>
<li>Edit &ldquo;install.rd&rdquo; with your favorite text editor.</li>
<li>Search for &ldquo;3.0.*&rdquo;</li>
<li>Change to &ldquo;3.5.*&rdquo;</li>
<li>Save the &ldquo;install.rdf&rdquo; file.</li>
<li>On a Mac, select all of the contents of the page-speed directory, right-click and choose &ldquo;Compress 6 items&rdquo;. This creates &ldquo;archive.zip&rdquo; in the page-speed directory.</li>
<li>Are you on Windows? I&rsquo;m sure the steps are similar. You really should just get a Mac, because &ldquo;I&rsquo;m a Megan&rdquo;, not a piece of under-performing commodity hardware with an over-priced OS and no quality pre-installed software.</li>
<li>Rename &ldquo;archive.zip&rdquo; to &ldquo;page-speed.xpi&rdquo;.</li>
<li>Drag the new &ldquo;page-speed.xpi&rdquo; into any open Firefox 3.5 Beta window and you should get the extension install dialogs. A restart of the browser is required after installation.</li>
</ol>
<p>If you get an error like: &ldquo;Error: Firefox could not install the file at  because: Install script not found -204&Prime; its because you created the archive wrong. See notes from above.</p>
<h2><strong>After Installation</strong></h2>
<p>Assuming everything went well, you should now have Page Speed available in Firebug. In my testing, the Page Speed tab works great. However, the Page Speed Activity tab generates some errors and won&rsquo;t run. I have no idea or ambition to fix this particular problem. Maybe someone more outgoing than I am can come up with a fix for this.</p>

2926
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2009/08/17/install-google-page-speed-into-firefox-3-5-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to spoof a MAC address on Mac OS X Leopard 10.5.6</title>
		<link>http://trending.us/2009/05/10/how-to-spoof-a-mac-address-on-mac-os-x-leopard-10-5-6/</link>
		<comments>http://trending.us/2009/05/10/how-to-spoof-a-mac-address-on-mac-os-x-leopard-10-5-6/#comments</comments>
		<pubDate>Sun, 10 May 2009 09:43:37 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://popped.at/?p=20</guid>
		<description><![CDATA[Lots of people have been having problems spoofing their MAC addresses on their Macs with Leopard 10.5.6. The technique has changed just a bit in the last couple of OS updates, but its really, really easy. There&#8217;s a couple of gotchas that can make it confusing, so I&#8217;m going to lay those out. Make sure [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of people have been having problems spoofing their MAC addresses on their Macs with Leopard 10.5.6. The technique has changed just a bit in the last couple of OS updates, but its really, really easy. There&#8217;s a couple of gotchas that can make it confusing, so I&#8217;m going to lay those out. Make sure you read everything first.<br/><br/><span id="more-20"></span>First, this can all be done from the terminal. This example is for changing the MAC address of your wireless (Airport) card. Don&#8217;t try this yet or it probably won&#8217;t work.<br/>
<pre>sudo ifconfig en1 lladdr  00:11:22:33:44:55:66</pre>
<p><br/>The address I show here is just made up. A MAC addresses uses hex notation and needs all 7 fields. If you&#8217;re not sure what hex notation is, Google.<br/><br/>Ok, so the gotchas:<br/><br/>1) Your wireless card has to be ON. Turned on, not turned off.<br/>2) You CANNOT be connected to an existing network.<br/><br/>The biggest problem (and most confusing) that I ran into was simply how to disconnect from my current connection without turning off Airport. I first did a weird process of trying to connect to a neighbor&#8217;s secure network, typing in a crap password, and hitting connect. This disconnected me from my router but its not really an elegant way of doing it. Since we&#8217;re already using the terminal, lets keep everything in that vain.<br/><br/>It turns out there&#8217;s a command-line utility for working with the Airport, called &#8220;airport&#8221;. Only its buried pretty deep in the system. Visit this <a href="http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/" target="_blank">article to find out more</a>. I&#8217;ll show you how to add this to your PATH to make sure its always available. We can use this utility to easily disconnect from your current wireless connection. That command looks like this:<br/>
<pre>airport -z</pre>
<p><br/>Finally, I will tell a short story about how my need to figure all of this out came about. Essentially, this is also partly a tutorial for how to knock someone on your local network offline.<br/><br/><span style="color: #ffffff;"><strong>Making &#8220;airport&#8221; available in Terminal</strong></span><br/><br/>Open up a Terminal. By default, you will be in your user account&#8217;s home directory.<br/><br/>I use Pico. Other people use vi or emacs. Pico is much easier to use for the average person. In the terminal, type the following, then your password if asked:<br/>
<pre>sudo pico .bash_profile</pre>
<p><br/>Anywhere in the file, copy/paste/type the following:<br/>
<pre>export PATH="/system/library/privateframeworks/Apple80211.framework/versions/current/resources":$PATH</pre>
<p><br/>Hit &#8220;control-o&#8221; to save the changes. Close the terminal window and open a new one. To verify that this worked, type the following and you should get some information about your Airport card.<br/>
<pre>airport -I</pre>
<p><br/>Assuming that worked(if it didn&#8217;t, do it again), you can do &#8220;airport -h&#8221; for more options. I&#8217;m not covering that in the scope of this article.<br/><br/><span style="color: #ffffff;"><strong>What&#8217;s My MAC?</strong></span><br/><br/>To find out what your current MAC address is for the Airport, type the following into terminal:<br/>
<pre>ifconfig en1 | grep ether</pre>
<p><br/>You should see something like &#8220;ether 00:01:02:03:04:05&#8243;. This is your MAC address for your wireless connection. To view it for other connections, just change &#8220;en1&#8243; to &#8220;en0&#8243; or &#8220;en2&#8243;, depending on what network devices your have available. Type &#8220;ifconfig en1&#8243; if you want to see a lot of other info.<br/><br/><span style="color: #ffffff;"><strong>Changing Your MAC (and some other crap)</strong></span><br/><br/>Ok, so by this point you should know:<br/>
<ol><br/>
<li>That you want to change your MAC address for one or more of your network connectors.</li>
<p><br/>
<li>You have another MAC address you want to use.</li>
<p><br/>
<li>How to make the &#8220;airport&#8221; terminal command accessible.</li>
<p><br/>
<li>Your Airport has to be on and NOT connected to a network.</li>
<p><br/></ol>
<p><br/>On to the fun stuff.<br/><br/>Open up a new terminal window. Lets disconnect from any networks that might be active:<br/>
<pre>airport -z</pre>
<p><br/>If you were connected to a network, you should be disconnected now. Next, spoof your MAC with that first command mentioned above. Change the MAC in the command to match the one you want, or use this one just to see.<br/>
<pre>sudo ifconfig en1 lladdr  00:11:22:33:44:55:66</pre>
<p><br/><span style="color: #ffffff;"><strong>That&#8217;s It!</strong></span><br/><br/>Assuming everything was done correctly, your you&#8217;ve just spoofed your MAC address. You should be able to reconnect to your wireless network and you&#8217;ll use the new MAC on the network.<br/><br/><span style="color: #ffffff;"><strong>Well, That&#8217;s Not Everything</strong></span><br/><br/>Ok, so there&#8217;s a couple things to be aware of. When you use the command &#8220;ifconfig en1 | grep ether&#8221; to view your MAC address, it will show up properly. However, this is the only place on your MAC that you&#8217;ll see it. It appears that Mac OS X caches the physical MAC address during the startup process. So, if you use the Network Utility, Airport network, or System Profiler (among others) to view your MAC address, they will all show the physical one. However, rest assured that the rest of the world will see your spoofed address.<br/><br/>If you have access to the router you&#8217;re connected to, you should be able to login and view the spoofed MAC address that you just set. I&#8217;ll also explain a couple of other mechanisms I used to verify it was working, as well.<br/><br/><span style="color: #ffffff;"><strong>Bittorrent and Roommates</strong></span><br/><br/>So I have a couple of roommates. Love these guys to death. Hmm&#8230; to death&#8230; Anyway, we have a kickass 50mb/s cable connection and it always rocks. Except today. One of the guys recently learned about bittorrent&#8230; but not about capping upload rates. See, even though we have a massive downstream rate our upload is still somewhat limited in comparison, around 5mb/s. So if you max out your upstream it increases the latency so much that your downstream is really fucked, no matter how big the pipe is.<br/><br/>So he had apparently started up about 15 pretty big downloads last night and didn&#8217;t wake up until pretty late in the afternoon. This guy was impossible to wake up and his door was locked. God bless the heavy sleeper.<br/><br/>His torrents were all finished but were still seeding. I was tracking our latency at being around 300ms, and multiple speed tests were showing our fat 50mb/s clocking in at around 1.5mb/s. Upload was so low its not even worth mentioning.<br/><br/>So I needed a way to solve the problem that was pretty easy to implement. I had no access to the router, so that option was out. MAC spoofing was the 3rd thing that came to mind after the 2nd being to turn the power in the house off for 6 hours to wait for his laptop battery to drain. Sure, it would have been a good excuse to clean the refrigerator but I didn&#8217;t think it would have been looked upon too kindly. And it wouldn&#8217;t have really solved the problem.<br/><br/>So, the problem was 2-fold.<br/>
<ol><br/>
<li>Get my delinquent buddy&#8217;s LAN ip</li>
<p><br/>
<li>Get DB&#8217;s MAC address</li>
<p><br/></ol>
<p><br/>My choice of network scanners in this case is <a href="http://nmap.org/zenmap/" target="_blank">Zenmap</a>. This is a GUI front-end for the rather well known <a href="http://nmap.org/" target="_blank">nmap network security analyzer</a>.<br/><br/>I grabbed a copy of Zenmap(slowly) and got the IP of our router, aka the default gateway, from my network settings. In this case, 192.168.1.1. This told me the range of IPs to search. In Zenmap, I set my target as 192.168.1.* and had it run an &#8220;Intensive scan&#8221;. This searched every machine connected to our network. It even found my iPhone!<br/><br/>After parsing through the logs, I found his machine at 192.168.1.104. I also found his MAC address, which at this point was like finding the last Blue M&amp;M at the bottom of a bowl of brown ones.<br/><br/>So after a couple minutes of fiddling, I spoofed my MAC on my Mac using his MAC. Sorry, couldn&#8217;t resist.<br/><br/>It took a couple of minutes for our router to sort itself<br />
out. I had started a ping to his .104 address previously. While it was running, once I disconnected the pings started failing as expected. Once I spoofed and reconnected, I started getting &#8220;No route to host&#8221; errors. Then after another minute or so, my pings started failing again. This was exactly what I was expecting. It basically meant that my machine had been assigned a new IP (.108 in this instance) and that .104 was no longer on the network.<br/><br/>As further evidence, the obvious speed of different web sites immediately improved. My new speed tests came in at full force, close to 50mb/s. I re-ran Zenmap and confirmed that the MAC address for .108 matched the one I had just spoofed from my roomie. Lastly, he apparently woke up and walks out asking, &#8220;Hey, is everyone else&#8217;s internet connection down?&#8221;<br/><br/
12
>Ahh, success.</p>
a8f

]]></content:encoded>
			<wfw:commentRss>http://trending.us/2009/05/10/how-to-spoof-a-mac-address-on-mac-os-x-leopard-10-5-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easy jQuery Tooltip</title>
		<link>http://trending.us/2009/03/06/easy-jquery-tooltip/</link>
		<comments>http://trending.us/2009/03/06/easy-jquery-tooltip/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 09:31:28 +0000</pubDate>
		<dc:creator>Geuis</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://popped.at/?p=18</guid>
		<description><![CDATA[Pretty basic post here. At work the other day, I needed a quick tooltip and didn&#8217;t want to install an over-burdened jQuery plugin, so I whipped this up. The usage is pretty basic, in that it uses the the &#8220;alt&#8221; attribute for the tooltip text. You can change the &#8220;x/y&#8221; variables to control the position [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty basic post here. At work the other day, I needed a quick tooltip and didn&#8217;t want to install an over-burdened jQuery plugin, so I whipped this up. The usage is pretty basic, in that it uses the the &#8220;alt&#8221; attribute for the tooltip text. You can change the &#8220;x/y&#8221; variables to control the position offset from the mouse. Customize the styling in your own stylesheet. A sample is provided below.<br/><br/>
<pre><br/>var tooltips = { //tooltip to show Alt text<br/>	init:function(selector){<br/>		x = 10;<br/>		y = 10;<br/><br/>		jQuery(selector).hover(function(e){<br/>			var tip = jQuery(this).attr('alt');<br/>			jQuery("body").append("
<p id='btooltip'>"+ tip +"

");<br/>			jQuery("#btooltip").css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX + yOffset) + "px").fadeIn(250);<br/><br/>		}, function(e){ jQuery('#btooltip').remove(); });<br/><br/>		jQuery(selector).mousemove(function(e){<br/><br/>			jQuery(selector).css("top",(e.pageY - xOffset) + "px").css("left",(e.pageX + yOffset) + "px");<br/><br/>		});<br/><br/>	}<br/>}<br/><br/>jQuery(document).ready(function(){<br/>	//init tooltips<br/>	tooltips.init(jquerySelectorHere); //use any kind of normal jQuery selector.<br/>});<br/></pre>
<p><br/><br/>You also need some simple styling. The only thing required is for display to be none for the fade-in to work. Here&#8217;s a sample.<br/><br/>
<pre><br/>	#btooltip{<br/>		display:none;<br/>		background-color:#cc0000;<br/>		border:2px solid #000;<br/>		padding:5px;	<br/>	}<br/></pre>
]]></content:encoded>
			<wfw:commentRss>http://trending.us/2009/03/06/easy-jquery-tooltip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

0

