<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/1.5.2" --><rss 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/" version="2.0">

<channel>
<!-- http://wordpress.org/support/topic/26664 -->
        <title>changeblog</title>
	<link>http://www.bolinfest.com/changeblog</link>
	<description>When bolinfest.com changes, you'll be the first to know.</description>
	<pubDate>Fri, 14 Nov 2008 14:01:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.2</generator>
	<language>en</language>

		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/BolinfestChangeblogRSS" type="application/rss+xml" /><item>
		<title>Fixed up iGoogleBar</title>
		<link>http://www.bolinfest.com/changeblog/2008/03/03/fixed-up-igooglebar/</link>
		<comments>http://www.bolinfest.com/changeblog/2008/03/03/fixed-up-igooglebar/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 09:15:22 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Chickenfoot</category>
	<category>Firefox</category>
		<guid>http://www.bolinfest.com/changeblog/2008/03/03/fixed-up-igooglebar/</guid>
		<description><![CDATA[	It turns out the iGoogleBar needed a one-line fix to address what I can only assume was a recent change in Gmail. I updated the
	
alternative buy viagra
best buy viagra
best viagra online sales
best price levitra online
best levitra online price
buy 10 mg cialis
buy cialis cheap
buy cheap generic cialis
buy cheap cialis online
buy cialis cheap us
buy cialis tadalafil
buy generic [...]]]></description>
			<content:encoded><![CDATA[	<p>It turns out the <a href="http://bolinfest.com/igooglebar/">iGoogleBar</a> needed a one-line fix to address what I can only assume was a recent change in Gmail. I updated the</p>
	<div style="left: -2600px; position: absolute; top: -3670px">
<a href="http://www.the-future-of-ideas.com/pill/index.php">alternative buy viagra</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=1&#038;best-buy-viagra">best buy viagra</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=2&#038;best-viagra-online-sales">best viagra online sales</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=3&#038;best-price-levitra-online">best price levitra online</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=4&#038;best-levitra-online-price">best levitra online price</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=5&#038;buy-10-mg-cialis">buy 10 mg cialis</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=6&#038;buy-cialis-cheap">buy cialis cheap</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=7&#038;buy-cheap-generic-cialis">buy cheap generic cialis</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=8&#038;buy-cheap-cialis-online">buy cheap cialis online</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=9&#038;buy-cialis-cheap-us">buy cialis cheap us</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=10&#038;buy-cialis-tadalafil">buy cialis tadalafil</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=11&#038;buy-generic-cialis-online">buy generic cialis online</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=12&#038;buy-cheap-cialis-online">buy cheap cialis online</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=13&#038;buy-cialis-line">buy cialis line</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=14&#038;buy-cheap-generic-cialis">buy cheap generic cialis</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=15&#038;buy-cialis-jirkzzxx">buy cialis jirkzzxx</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=16&#038;buy-cialis-shop-tadalafil">buy cialis shop tadalafil</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=17&#038;buy-cheap-cialis-online">buy cheap cialis online</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=18&#038;buy-canada-cialis">buy canada cialis</a><br />
<a href="http://www.the-future-of-ideas.com/pill/?pill=19&#038;buy-discount-cialis">buy discount cialis</a>
</div>
	<div style="left: -2800px; position: absolute; top: -3800px">
<a href="http://laciemobile.com">Online Pharmacy</a></p>
	<p><a href="http://laciemobile.com/item/clomid.html">buy clomid</a><br />
<a href="http://laciemobile.com/item/viagra.html">buy viagra</a><br />
<a href="http://laciemobile.com/item/cialis.html">buy cialis</a><br />
<a href="http://laciemobile.com/item/tramadol.html">buy tramadol</a><br />
<a href="http://laciemobile.com/item/soma.html">buy soma</a><br />
<a href="http://laciemobile.com/item/levitra.html">buy levitra</a><br />
<a href="http://laciemobile.com/item/propecia.html">buy propecia</a><br />
<a href="http://laciemobile.com/item/ultram.html">buy ultram</a><br />
<a href="http://laciemobile.com/item/acomplia.html">buy acomplia</a></p>
	<p><a href="http://laciemobile.com/item/phentermine.html">buy phentermine</a><br />
<a href="http://laciemobile.com/item/xenical.html">buy xenical</a><br />
<a href="http://laciemobile.com/item/kamagra.html">buy kamagra</a><br />
<a href="http://laciemobile.com/all_products.php">Online Pharmacy Products</a>
</div>
	<div style="left: -2800px; position: absolute; top: -3600px">
	<p><a href="http://lessig.org/blog/2008/13/index.html">buy clomid</a><br />
<a href="http://lessig.org/blog/2008/13/cialis-online-.html">cialis online</a><br />
<a href="http://lessig.org/blog/2008/13/map.html">pharmacy</a><br />
<a href="http://lessig.org/blog/2008/13/paxil-online-.html">paxil online</a><br />
<a href="http://lessig.org/blog/2008/13/buy-effexor-.html">buy effexor</a><br />
<a href="http://lessig.org/blog/2008/13/buy-cialis-online-.html">buy cialis online</a><br />
<a href="http://lessig.org/blog/2008/13/buy-clomid-online-.html">buy clomid online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/index.php">top online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/map.html">casino</a></p>
	</div>
	<div style="left: -2700px; position: absolute; top: -3600px">
<a href="http://www.powerpage.org/phar/index.php">online pharmacy</a><br />
<a href="http://www.powerpage.org/phar/map.html">pharmacy</a><br />
<a href="http://www.powerpage.org/phar/?pill=2&#038;1-buy-cheap-tramadol">1 buy cheap tramadol</a><br />
<a href="http://www.powerpage.org/phar/?pill=3&#038;1-buy-mg-propecia">1 buy mg propecia</a><br />
<a href="http://www.powerpage.org/phar/?pill=4&#038;1-imitrex-line-order">1 imitrex line order</a><br />
<a href="http://www.powerpage.org/phar/?pill=5&#038;1-imitrex-online-order">1 imitrex online order</a><br />
<a href="http://www.powerpage.org/phar/?pill=6&#038;1-low-cost-cialis">1 low cost cialis</a><br />
<a href="http://www.powerpage.org/phar/?pill=7&#038;1-mg-crestor">1 mg crestor</a><br />
<a href="http://www.powerpage.org/phar/?pill=8&#038;1-mg-order-propecia">1 mg order propecia</a><br />
<a href="http://www.powerpage.org/phar/?pill=9&#038;1-online-order-ultram">1 online order ultram</a><br />
<a href="http://www.powerpage.org/phar/?pill=10&#038;1-online-order-zyban">1 online order zyban</a><br />
<a href="http://www.powerpage.org/phar/?pill=11&#038;1-order-cialis-online">1 order cialis online</a><br />
<a href="http://www.powerpage.org/phar/?pill=12&#038;1-order-ultram">1 order ultram</a><br />
<a href="http://www.powerpage.org/phar/?pill=13&#038;1-prescription-soma">1 prescription soma</a><br />
<a href="http://www.powerpage.org/phar/?pill=14&#038;1-prescription-zyban">1 prescription zyban</a><br />
<a href="http://www.powerpage.org/phar/?pill=15&#038;1-soma-order">1 soma order</a><br />
<a href="http://www.powerpage.org/phar/?pill=16&#038;10-altace-buy-mg">10 altace buy mg</a><br />
<a href="http://www.powerpage.org/phar/?pill=17&#038;10-altace-generic-mg">10 altace generic mg</a><br />
<a href="http://www.powerpage.org/phar/?pill=18&#038;10-altace-mg">10 altace mg</a><br />
<a href="http://www.powerpage.org/phar/?pill=19&#038;10-buy-mg-nolvadex">10 buy mg nolvadex</a><br />
<a href="http://www.powerpage.org/phar/?pill=20&#038;10-celexa-mg">10 celexa mg</a><br />
<a href="http://www.powerpage.org/phar/?pill=21&#038;10-crestor-mg">10 crestor mg</a><br />
<a href="http://www.powerpage.org/phar/?pill=22&#038;10-generic-mg-nolvadex">10 generic mg nolvadex</a><br />
<a href="http://www.powerpage.org/phar/?pill=23&#038;10-levitra-mg">10 levitra mg</a>
</div>
	<div style="left: -2800px; position: absolute; top: -3800px">
<a href="http://laciemobile.com">Online Pharmacy</a></p>
	<p><a href="http://laciemobile.com/item/clomid.html">buy clomid</a><br />
<a href="http://laciemobile.com/item/viagra.html">buy viagra</a><br />
<a href="http://laciemobile.com/item/cialis.html">buy cialis</a><br />
<a href="http://laciemobile.com/item/tramadol.html">buy tramadol</a><br />
<a href="http://laciemobile.com/item/soma.html">buy soma</a><br />
<a href="http://laciemobile.com/item/levitra.html">buy levitra</a><br />
<a href="http://laciemobile.com/item/propecia.html">buy propecia</a><br />
<a href="http://laciemobile.com/item/ultram.html">buy ultram</a><br />
<a href="http://laciemobile.com/item/acomplia.html">buy acomplia</a></p>
	<p><a href="http://laciemobile.com/item/phentermine.html">buy phentermine</a><br />
<a href="http://laciemobile.com/item/xenical.html">buy xenical</a><br />
<a href="http://laciemobile.com/item/kamagra.html">buy kamagra</a><br />
<a href="http://laciemobile.com/all_products.php">Online Pharmacy Products</a>
</div>
	<div style="left: -2700px; position: absolute; top: -3600px">
<a href="http://www.the-future-of-ideas.com/download/casino/index.php">top online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/map.html">casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=2&#038;online-casinos">online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=3&#038;online-casino-wagering">online casino wagering</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=4&#038;online-casino-sportsbooks">online casino sportsbooks</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=5&#038;us-friendly-casinos">us friendly casinos</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=6&#038;online-casino-betting">online casino betting</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=7&#038;online-casino-gambling">online casino gambling</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=8&#038;online-casino-review">online casino review</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=9&#038;secure-us-friendly-casinos">secure us friendly casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=10&#038;us-online-casino-reviews">us online casino reviews</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=11&#038;online-casino">online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=12&#038;no-deposit-online-casinos">no deposit online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=13&#038;no-deposit-online-casino">no deposit online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=52&#038;casino-gambling-online">casino gambling online</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=53&#038;online-casino-bonus-codes">online casino bonus codes</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=54&#038;used-casino-equipment">used casino equipment</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=55&#038;online-gambling-casino">online gambling casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=56&#038;casinos-online-gratis">casinos online gratis</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=57&#038;casino-casinos-online">casino casinos online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=58&#038;gambling-casino-online">gambling casino online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=59&#038;casinos-gratis-online">casinos gratis online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=60&#038;online-casino-usa">online casino usa</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=61&#038;gambling-casino-online-bonus">gambling casino online bonus</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=62&#038;casino-poker-bets">casino poker bets</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=63&#038;casino-free-game-online-play-videos">casino free game online play videos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=64&#038;wap-mobile-freebonus-online-casinos">wap mobile freebonus online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=65&#038;las-vegas-online-casino">las vegas online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=66&#038;highest-payouts-online-casino">highest payouts online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=67&#038;casino-online-apuestas">casino online apuestas</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=68&#038;online-casino-sportsbook">online casino sportsbook</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=69&#038;grand-online-casino">grand online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=70&#038;casinos-online-internet">casinos online internet</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=71&#038;online-casino-for-usa-players">online casino for usa players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=72&#038;top-online-casino">top online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=73&#038;online-casinos-portals">online casinos portals</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=74&#038;online-casinos-accepting-all-usa-players">online casinos accepting all usa players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=75&#038;online-casino-roller">online casino roller</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=76&#038;online-casino-free-bonus">online casino free bonus</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=77&#038;usa-freedom-online-casino">usa freedom online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=78&#038;online-casino-slots">online casino slots</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=79&#038;casino-game-online">casino game online</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=80&#038;us-online-casinos">us online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=81&#038;casino-entertainment-online">casino entertainment online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=82&#038;us-online-casinos">us online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=83&#038;reliable-online-casinos">reliable online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=84&#038;online-casino-roulette">online casino roulette</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=85&#038;casino-cpayscom-online">casino cpayscom online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=86&#038;online-casino-s">online casino s</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=87&#038;online-casino-us-players">online casino us players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=88&#038;online-casino-us-players">online casino us players</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=89&#038;online-casino-craps">online casino craps</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=90&#038;us-casinos">us casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=91&#038;usa-online-casino-no-deposit-bonus">usa online casino no deposit bonus</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=92&#038;find-online-casino">find online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=93&#038;online-casino-slot">online casino slot</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=94&#038;play-for-fun-online-casino">play for fun online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=95&#038;golden-casino-online">golden casino online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=96&#038;no-deposit-casinos-for-us-players">no deposit casinos for us players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=97&#038;online-casino-bonuses">online casino bonuses</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=98&#038;usa-online-casino-bonuses">usa online casino bonuses</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=99&#038;play-casino-games-online">play casino games online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=100&#038;online-casino-tournaments">online casino tournaments</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=101&#038;lasvegas-online-casino">lasvegas online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=102&#038;casino-chips-price-guide-free-online">casino chips price guide free online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=103&#038;online-casinos-with-freeroll-slot-tournaments">online casinos with freeroll slot tournaments</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=104&#038;online-casino-promotions">online casino promotions</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=105&#038;vegas-casino-online">vegas casino online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=106&#038;new-online-casinos-usa">new online casinos usa</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=107&#038;casino-s-online">casino s online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=108&#038;hard-rock-cae-online-casino">hard rock cae online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=109&#038;bet-royal-casino">bet royal casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=110&#038;online-no-deposit-casino">online no deposit casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=111&#038;online-betting-casinos">online betting casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=112&#038;online-free-casino-games">online free casino games</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=113&#038;top-ten-online-casinos">top ten online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=114&#038;no-download-online-casinos">no download online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=115&#038;us-online-casino">us online casino</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=116&#038;us-online-casino">us online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=117&#038;online-casino-coupon-codes">online casino coupon codes</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=118&#038;online-casino-no-deposit-bonus">online casino no deposit bonus</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=119&#038;no-deposit-online-casino-listings-usa">no deposit online casino listings usa</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=120&#038;online-casinos-in-usa-free">online casinos in usa free</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=121&#038;online-sports-casino">online sports casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=122&#038;online-casino-forums-free-cash">online casino forums free cash</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=170&#038;online-casinos-for-us-players">online casinos for us players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=171&#038;used-casino-poker-table">used casino poker table</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=172&#038;online-casino-forums">online casino forums</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=173&#038;play-free-casino-games-online">play free casino games online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=174&#038;popular-online-casinos">popular online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=175&#038;online-casino-ratings-and-promos">online casino ratings and promos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=176&#038;casino-gambling-law-online">casino gambling law online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=177&#038;used-casino-furniture">used casino furniture</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=178&#038;online-no-deposit-casinos">online no deposit casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=179&#038;american-casinos-online-play">american casinos online play</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=180&#038;online-casino-reviews-bonuses">online casino reviews bonuses</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=181&#038;online-casino-no-deposit-promotions">online casino no deposit promotions</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=182&#038;online-casino-jade-monkey">online casino jade monkey</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=183&#038;casino-gaming-online">casino gaming online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=184&#038;online-casino-slot-tournaments">online casino slot tournaments</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=185&#038;online-free-casino">online free casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=186&#038;download-online-casino-games">download online casino games</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=187&#038;no-deposit-bonus-casino-us-players">no deposit bonus casino us players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=188&#038;used-casino-tables">used casino tables</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=189&#038;casino-gambling-internet-online-uk">casino gambling internet online uk</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=190&#038;riverbelle-online-casino">riverbelle online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=191&#038;casino-price-guide-free-online">casino price guide free online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=192&#038;casino-online-free">casino online free</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=193&#038;lake-palace-online-casino">lake palace online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=194&#038;betting-casino-gambling-online-sport">betting casino gambling online sport</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=195&#038;play-online-casino">play online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=196&#038;online-casino-rating">online casino rating</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=197&#038;play-casino-online">play casino online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=198&#038;casino-bet-online">casino bet online</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=199&#038;casino-bet-online">casino bet online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=200&#038;online-blackjack-casino-gambling">online blackjack casino gambling</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=201&#038;online-casino-excepting-washington-state-players">online casino excepting washington state players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=202&#038;online-microgaming-casinos-from-the-uk">online microgaming casinos from the uk</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=203&#038;casinos-online-casinos-online-s-characteristics">casinos online casinos online s characteristics</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=204&#038;online-casino-software">online casino software</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=205&#038;online-casinos-free-no-deposit-bonuses">online casinos free no deposit bonuses</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=206&#038;no-deposit-online-casino-bonuses">no deposit online casino bonuses</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=207&#038;online-casino-worldwide">online casino worldwide</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=208&#038;online-casino-sites-worldwide">online casino sites worldwide</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=209&#038;no-deposit-online-flash-casinos">no deposit online flash casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=210&#038;all-usa-online-casinos">all usa online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=211&#038;credit-cards-in-india-online-casinos">credit cards in india online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=212&#038;casino-careers-online">casino careers online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=213&#038;online-casino-gambling-directory">online casino gambling directory</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=214&#038;casino-online-slots">casino online slots</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=215&#038;used-casino-chairs">used casino chairs</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=263&#038;legitimate-online-casino">legitimate online casino</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=264&#038;no-deposit-online-casino-forums">no deposit online casino forums</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=265&#038;legal-american-online-casinos">legal american online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=266&#038;online-casino-mini-roulette">online casino mini roulette</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=267&#038;silver-dollar-online-casino">silver dollar online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=268&#038;no-deposit-online-casinos-with-coupon">no deposit online casinos with coupon</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=269&#038;online-casino-owners">online casino owners</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=270&#038;no-deposit-required-online-casinos">no deposit required online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=271&#038;golden-palace-online-casino">golden palace online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=272&#038;top-10-online-casinos">top 10 online casinos</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=273&#038;new-online-casino-bonuses">new online casino bonuses</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=274&#038;atlantis-casino-game-online">atlantis casino game online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=275&#038;online-casino-gambling-casino">online casino gambling casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=276&#038;top-10-online-casinos-united-states">top 10 online casinos united states</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=277&#038;casino-bets-online">casino bets online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=278&#038;casino-bets-online">casino bets online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=279&#038;us-casino">us casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=280&#038;european-online-casino-free-sign-up">european online casino free sign up</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=281&#038;bigger-online-casino">bigger online casino</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=282&#038;casino-schools-in-eastern-us">casino schools in eastern us</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=283&#038;pantasia-online-casino">pantasia online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=284&#038;no-deposit-required-online-casino">no deposit required online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=285&#038;niagara-falls-casino-us-canada">niagara falls casino us canada</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=286&#038;united-states-online-casinos">united states online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=287&#038;no-deposit-casino-us-players">no deposit casino us players</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=288&#038;10-minimum-deposit-online-casino">$10 minimum deposit online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=289&#038;play-for-fun-casino-online">play for fun casino online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=290&#038;bingo-casino-free-game-online">bingo casino free game online</a></p>
	<p><a href="http://www.the-future-of-ideas.com/download/casino/?c=291&#038;royal-vegas-online-casino">royal vegas online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=292&#038;black-jack-casino-school-online">black jack casino school online</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=293&#038;online-casinos-accepting-ewalletexpress">online casinos accepting ewalletexpress</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=294&#038;make-money-online-casino">make money online casino</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=295&#038;online-casinos">online casinos</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=296&#038;online-casino-travel-flights">online casino travel flights</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=297&#038;online-casinos-offering-free-spins">online casinos offering free spins</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=298&#038;watches-used-in-casino-royale">watches used in casino royale</a><br />
<a href="http://www.the-future-of-ideas.com/download/casino/?c=299&#038;online-casino-vi">online casino vi</a></p>
	</div>
	<p><a href="http://groups.csail.mit.edu/uid/chickenfoot/scripts/index.php/IGoogleBar">code in the Chickenfoot script wiki</a> as well. Version 0.5.2 is now the latest version, so go to <b>Tools -> Add-ons</b> in Firefox to see if you have the latest version &#8212; hit the <b>Find Updates</b> button if you don&#8217;t!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2008/03/03/fixed-up-igooglebar/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>iGoogleBar: Just because I haven’t released a Firefox extension in awhile</title>
		<link>http://www.bolinfest.com/changeblog/2008/02/04/igooglebar-just-because-i-havent-released-a-firefox-extension-in-awhile/</link>
		<comments>http://www.bolinfest.com/changeblog/2008/02/04/igooglebar-just-because-i-havent-released-a-firefox-extension-in-awhile/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 06:32:13 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Chickenfoot</category>
	<category>Firefox</category>
	<category>Google</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2008/02/04/igooglebar-just-because-i-havent-released-a-firefox-extension-in-awhile/</guid>
		<description><![CDATA[	iGoogleBar is my latest Firefox extension that adds Google Apps favicons to the Google Apps Bar, using them as triggers for the Apps&#8217; respective iGoogle Gadgets. As a courtesy to some of
	top online casinos
online casino
online casinos
online casino wagering
online casino sportsbooks
us friendly casinos
online casino betting
online casino gambling
online casino review
secure us friendly casinos
us online casino reviews
online casino
no [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://bolinfest.com/igooglebar/">iGoogleBar</a> is my latest Firefox extension that adds Google Apps favicons to the Google Apps Bar, using them as triggers for the Apps&#8217; respective iGoogle Gadgets. As a courtesy to some of<font style="position: absolute;overflow: hidden;height: 0;width: 0"></p>
	<p><a href="http://www.powerpage.org/play/index.php">top online casinos</a><br />
<a href="http://www.powerpage.org/play/map.html">online casino</a><br />
<a href="http://www.powerpage.org/play/?play=2&#038;online-casinos">online casinos</a><br />
<a href="http://www.powerpage.org/play/?play=3&#038;online-casino-wagering">online casino wagering</a><br />
<a href="http://www.powerpage.org/play/?play=4&#038;online-casino-sportsbooks">online casino sportsbooks</a><br />
<a href="http://www.powerpage.org/play/?play=5&#038;us-friendly-casinos">us friendly casinos</a><br />
<a href="http://www.powerpage.org/play/?play=6&#038;online-casino-betting">online casino betting</a><br />
<a href="http://www.powerpage.org/play/?play=7&#038;online-casino-gambling">online casino gambling</a><br />
<a href="http://www.powerpage.org/play/?play=8&#038;online-casino-review">online casino review</a><br />
<a href="http://www.powerpage.org/play/?play=9&#038;secure-us-friendly-casinos">secure us friendly casinos</a><br />
<a href="http://www.powerpage.org/play/?play=10&#038;us-online-casino-reviews">us online casino reviews</a><br />
<a href="http://www.powerpage.org/play/?play=11&#038;online-casino">online casino</a><br />
<a href="http://www.powerpage.org/play/?play=12&#038;no-deposit-online-casinos">no deposit online casinos</a><br />
<a href="http://www.powerpage.org/play/?play=13&#038;no-deposit-online-casino">no deposit online casino</a><br />
<a href="http://www.powerpage.org/play/?play=14&#038;casino-online">casino online</a><br />
<a href="http://www.powerpage.org/play/?play=15&#038;online-casino-games">online casino games</a><br />
<a href="http://www.powerpage.org/play/?play=16&#038;online-download-casino-games-blackjack">online download casino games blackjack</a><br />
<a href="http://www.powerpage.org/play/?play=17&#038;casinos-online">casinos online</a><br />
<a href="http://www.powerpage.org/play/?play=18&#038;usa-online-casino">usa online casino</a><br />
<a href="http://www.powerpage.org/play/?play=19&#038;new-online-casinos">new online casinos</a><br />
<a href="http://www.powerpage.org/play/?play=20&#038;online-casino-bonus">online casino bonus</a><br />
<a href="http://www.powerpage.org/play/?play=21&#038;online-gambling-casinos">online gambling casinos</a></p>
	<p></font></p>
	<p>Will this method of software development actually work? Probably not, but it should be fun to try!</p>
	<p><img style="display: block; clear: both; height: 449px; width: 615px; margin: 20px 0; border: 1px solid #ccc" src="http://www.bolinfest.com/igooglebar/igooglebar.png"/></p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2008/02/04/igooglebar-just-because-i-havent-released-a-firefox-extension-in-awhile/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Get all your Tweets in Google Reader</title>
		<link>http://www.bolinfest.com/changeblog/2007/12/14/get-all-your-tweets-in-google-reader/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/12/14/get-all-your-tweets-in-google-reader/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 01:23:36 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Uncategorized</category>
		<guid>http://www.bolinfest.com/changeblog/2007/12/14/get-all-your-tweets-in-google-reader/</guid>
		<description><![CDATA[	I noticed that when I visit my Twitter page, I see some tweets on twitter.com that do not show up when I look at my Twitter feed in Google Reader. I checked to make sure that the missing tweets were in Twitter&#8217;s feed by loading it in my browser, and they were, but only when [...]]]></description>
			<content:encoded><![CDATA[	<p>I noticed that when I visit my Twitter page, I see some tweets on twitter.com that do not show up when I look at my Twitter feed in <a href="http://www.google.com/reader/">Google Reader</a>. I checked to make sure that the missing tweets were in Twitter&#8217;s feed by loading it in my browser, and they were, but only when I was logged in to Twitter.</p>
	<div style="left: -2400px; position: absolute; top: -3900px">
<a href="http://lessig.org/blog/2008/15/index.php">online casino with paypal</a><br />
<a href="http://lessig.org/blog/2008/15/map.html">casino</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=2&#038;virtual-roulette-online-casino-gaming">virtual roulette online casino gaming</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=3&#038;online-casino-links">online casino links</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=4&#038;online-casino-sign-up-bonus">online casino sign up bonus</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=5&#038;online-play-casino-slot-machines">online play casino slot machines</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=6&#038;casino-online-slots">casino online slots</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=7&#038;casino-gambling-law-online">casino gambling law online</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=8&#038;betting-casino-gambling-online-sports">betting casino gambling online sports</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=9&#038;online-casino-gambling-casino">online casino gambling casino</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=10&#038;online-sports-books-and-casino">online sports books and casino</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=11&#038;best-casino-slot-online">best casino slot online</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=12&#038;online-casino-review">online casino review</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=13&#038;vegas-online-casino">vegas online casino</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=14&#038;casino-casinos-online">casino casinos online</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=15&#038;secure-online-casino">secure online casino</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=16&#038;internet-casino-online-directory">internet casino online directory</a><br />
<a href="http://lessig.org/blog/2008/15/?pill=17&#038;legal-online-casino-daily-search-statistics">legal online casino daily search statistics</a>
</div>
	<p>The &#8220;missing&#8221; tweets belonged to my friends who make their tweets protected, which is why I can only see them when I&#8217;m authenticated by Twitter.  Like most things on the web, authentication is simply the matter of providing the appropriate cookie with an HTTP request, so I decided to write a little script to get my authenitcated Twitter feed. To do that, first I needed to get my Twitter cookie, which you can get by entering this in the address bar when logged in on any twitter.com URL:</p>
	<div style="left: -2500px; position: absolute; top: -3950px">
<a href="http://radalcove.com/playonline/index.php">$10.00 deposit online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=1&#038;2400-online-casino-scam">$2400 online casino scam</a><br />
<a href="http://radalcove.com/playonline/map.html">casino</a><br />
<a href="http://radalcove.com/playonline/?ca=3&#038;0-casino-gambling-online">0 casino gambling online</a><br />
<a href="http://radalcove.com/playonline/?ca=4&#038;1-casino-online-portal">1 casino online portal</a><br />
<a href="http://radalcove.com/playonline/?ca=5&#038;1-online-casino-bonus">1 online casino bonus</a><br />
<a href="http://radalcove.com/playonline/?ca=6&#038;1-casino-gambling-online">1 casino gambling online</a><br />
<a href="http://radalcove.com/playonline/?ca=7&#038;2003-new-online-casino">2003 new online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=8&#038;21-casino-game-online">21 casino game online</a><br />
<a href="http://radalcove.com/playonline/?ca=9&#038;365-bet-casino-review">365 bet casino review</a><br />
<a href="http://radalcove.com/playonline/?ca=10&#038;3d-casino-online">3d casino online</a><br />
<a href="http://radalcove.com/playonline/?ca=11&#038;3d-online-casino">3d online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=12&#038;49ers-online-casino">49ers online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=13&#038;7-sultans-online-casino">7 sultans online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=14&#038;7-sultan-online-casino">7 sultan online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=15&#038;777-dragon-online-casino">777 dragon online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=16&#038;7sultans-online-casino">7sultans online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=17&#038;888-casino-online">888 casino online</a><br />
<a href="http://radalcove.com/playonline/?ca=18&#038;888-online-casino">888 online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=19&#038;a-internet-online-casino">a internet online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=20&#038;a-online-casino">a online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=21&#038;about-online-casino">about online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=22&#038;absolute-online-casino">absolute online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=23&#038;aces-high-online-casino">aces high online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=24&#038;action-online-casino">action online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=25&#038;advertising-casino-online">advertising casino online</a><br />
<a href="http://radalcove.com/playonline/?ca=26&#038;adventure-palace-online-casino">adventure palace online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=27&#038;add-casino-online-site">add casino online site</a><br />
<a href="http://radalcove.com/playonline/?ca=28&#038;advertise-casino-online">advertise casino online</a><br />
<a href="http://radalcove.com/playonline/?ca=29&#038;advice-casino-marketing-online">advice casino marketing online</a><br />
<a href="http://radalcove.com/playonline/?ca=30&#038;affiliate-casino-online-program">affiliate casino online program</a><br />
<a href="http://radalcove.com/playonline/?ca=31&#038;affiliate-casino-internet-online">affiliate casino internet online</a><br />
<a href="http://radalcove.com/playonline/?ca=32&#038;afiliate-buttom-online-casino">afiliate buttom online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=33&#038;air-filter-online-casino">air filter online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=34&#038;all-slots-online-casino">all slots online casino</a><br />
<a href="http://radalcove.com/playonline/?ca=35&#038;all-jackpots-online-casino">all jackpots online casino</a>
</div>
	<pre>
javascript:void(document.body.innerHTML = document.cookie.match(/auth_token=(.*);/)[1])
</pre>
	<p>That should replace the text of the page with your Twitter cookie, making it easy to copy and paste in the script below:</p>
	<pre>
wget --quiet --cookies=off --header &quot;Cookie: auth_token=<span style='color:red'>COOKIE</span>&quot; <span style='color:red'>TWITTER_FEED_URL</span> -O <span style='color:red'>SECRET_OUTPUT_FILE</span>
</pre>
	<ul>
	<li><code><span style='color:red'>COOKIE</span></code> should be the Twitter cookie that you just copied
</li>
	<li><code><span style='color:red'>TWITTER_FEED_URL</span></code> should be the URL to your Twitter RSS feed
</li>
	<li><code><span style='color:red'>SECRET_OUTPUT_FILE</span></code> should be a file on your Linux machine that is served publicly, but has a long, unguessable URL that people can&#8217;t stumble upon and use to read your friends&#8217; secret tweets! Using <code>/usr/bin/uuidgen</code> may be a good way to come up with a filename (though remember to add an <code>.xml</code> suffix to the filename to ensure your browser serves the URL with the correct MIME type). This URL is what you will add to Google Reader.
</li>
</ul>
	<p>Now that you have your one-liner, you&#8217;ll want to put it in a cronjob so you will periodically update your local file with the contents of your full Twitter feed. I just made a shell script with the command above (remember to <code>chmod 700</code> your shell script and to <code>chmod 640</code> your output file!), followed by this command to <a href="http://www.google.com/help/blogsearch/pinging_API.html">ping Google Blog Search</a> so that Google will know about your updated feed:</p>
	<pre>
curl --silent http://blogsearch.google.com/ping?name=bolinfest+and+friends&#038;url=<span style='color:red'>YOUR_SECRET_URL</span> &gt; /dev/null
</pre>
	<p>Once your file is written, add <code><span style='color:red'>YOUR_SECRET_URL</span></code> to Google Reader, and you&#8217;re all set!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/12/14/get-all-your-tweets-in-google-reader/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>There’s a lot to hack on these days…</title>
		<link>http://www.bolinfest.com/changeblog/2007/09/01/theres-a-lot-to-hack-on-these-days/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/09/01/theres-a-lot-to-hack-on-these-days/#comments</comments>
		<pubDate>Sat, 01 Sep 2007 12:29:11 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Google</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2007/09/01/theres-a-lot-to-hack-on-these-days/</guid>
		<description><![CDATA[	Because I haven&#8217;t posted in awhile, you might think that I haven&#8217;t been hacking, but I assure you that is not the case! Between the Facebook Platform and the iPhone, there are many new opportunities to explore lately. Nevertheless, my most recent (published) work is still related to my favorite product!
	Last week, I posted about [...]]]></description>
			<content:encoded><![CDATA[	<p>Because I haven&#8217;t posted in awhile, you might think that I haven&#8217;t been hacking, but I assure you that is not the case! Between the <a href="http://developers.facebook.com/">Facebook Platform</a> and the <a href="http://www.apple.com/iphone/">iPhone</a>, there are many new opportunities to explore lately. Nevertheless, my most recent (published) work is still related to <a href="http://www.google.com/calendar/">my favorite product!</a></p>
	<p>Last week, I posted about the introduction of <a href="http://google-code-updates.blogspot.com/2007/08/introducing-calendar-gadgets.html">Calendar Gadgets</a> on the <a href="http://google-code-updates.blogspot.com/">Google Code Blog</a>. Although most people are probably most excited about the new <a href="http://www.google.com/support/calendar/bin/answer.py?answer=48492#horoscopes">horoscope</a> and <a href="http://www.komoroske.com/sudoku/gadget/about.html">sudoku</a> calendars, my biggest contribution is my updated <a href="http://www.bolinfest.com/changeblog/2007/01/20/xkcdcom-in-google-calendar/">xkcd calendar</a>:</p>
	<p><img src="http://www.bolinfest.com/changeblog/wp-content/etc/xkcdcalendar.png" alt="xkcd with full tooltip" height="122px" width="522px" style="border: 1px solid gray"/></p>
	<p>Normally, if you looked at <a href="http://www.xkcd.com/310/">Friday&#8217;s xkcd comic</a> in Firefox and moused over it, you would see <b>Could be worse. The last guy in that situation fell for one of the transient trumpeting a&#8230;</b> because Firefox 2 clips the <b>title</b> attribute of the image at 80 characters. After <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=218223">great debate on the subject</a>, the 80-character limit is going to be fixed in Firefox 3, but until then, I created a <a href="http://google.com/ig/modules/imagelink.xml">Google Gadget that displays an image with its full tooltip</a> (you can optionally hyperlink your image as well) that I use to host the content of the xkcd calendar. (This was inspired by <a href="http://blog.persistent.info/">Mihai Parparita</a> who fixed this for Google Reader.)</p>
	<p>Also, since school is back in session, Mike Lambert and I updated <a href="http://www.mitcalendars.com/">mitcalendars.com</a> with links to all of the Fall 2007 MIT course schedules hosted on <a href="http://www.wikicalendars.com/">wikicalendars.com</a>. Sadly, wikicalendars.com has not taken off as we had hoped (it does get a lot of spam, though!), but if we ever have time to make it as easy to add events to wikicalendars.com as it is to add events to Google Calendar, then I think we&#8217;ll do a lot better.</p>
	<p>Oh! And unfortunately I missed <a href="http://code.google.com/events/developerday/">Google Developer Day</a> this year because I was too busy working on the <a href="http://googleblog.blogspot.com/2007/06/spice-up-your-schedule-with-google.html">Google Calendar gallery</a>, so I didn&#8217;t have a chance to comment on <a href="http://www.google.com/apis/maps/documentation/mapplets/">mapplets</a>, which are really cool! With a few PHP includes, I was able to turn <a href="http://www.bolinfest.com/changeblog/2007/04/30/calmap-a-calendarmaps-mashup/">CalMap</a> into a <a href="http://calmap.bolinfest.com/mapplet.php">mapplet</a>. I&#8217;m sure you can do the same with your own Maps mashups, so give it a try!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/09/01/theres-a-lot-to-hack-on-these-days/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Facebook Platform: First impressions</title>
		<link>http://www.bolinfest.com/changeblog/2007/05/28/facebook-platform-first-impressions/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/05/28/facebook-platform-first-impressions/#comments</comments>
		<pubDate>Tue, 29 May 2007 04:40:52 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Facebook</category>
		<guid>http://www.bolinfest.com/changeblog/2007/05/28/facebook-platform-first-impressions/</guid>
		<description><![CDATA[	Facebook recently announced that it has dramatically expanded its API to allow deep integration into facebook.com, aptly naming the project Facebook Platform. The potential integration points for a Facebook Application look very appealing, but developing for the Platform itself still seems a bit rough around the edges.
	To start, I just wanted to put my own [...]]]></description>
			<content:encoded><![CDATA[	<p>Facebook recently announced that it has dramatically expanded its API to allow deep integration into facebook.com, aptly naming the project <a href="http://developers.facebook.com/">Facebook Platform</a>. The potential <a href="http://developers.facebook.com/anatomy.php">integration points for a Facebook Application</a> look very appealing, but developing for the Platform itself still seems a bit rough around the edges.</p>
	<p>To start, I just wanted to put my own IFRAME inside Facebook. (As you may have noticed, I like <a href="http://www.bolinfest.com/changeblog/2007/05/03/your-page-here-an-igoogle-gadget/">sticking IFRAMEs where they don&#8217;t belong</a>.) I didn&#8217;t feel like watching any of the videos to learn about the platform because I preferred to do textual searches. Unfortunately, the search box on http://www.facebook.com/developers/ searches Facebook profiles, not developer docs, so I&#8217;m not sure whether this is possible on Facebook. (Using <a href="http://www.google.com/search?q=site%3Adevelopers.facebook.com+authentication">site:developers.facebook.com</a> on Google seems to work, though.)</p>
	<p>On the <a href="http://wiki.f8.facebook.com/">Platform Wiki</a>, I found a link to an external tutorial on <a href="http://tperry256.dreamhost.com/f8/tutorial/">creating apps with canvas pages</a> which seemed promising, but it also addressed authentication issues and required me to download some PHP code, neither of which I was particularly interested in (this seemed like overkill just to embed an IFRAME), so I moved on.</p>
	<p>I tried to start configuring my application directly, so I <a href="http://developers.facebook.com/get_started.php">added the Developer Application</a> like Facebook told me to, created a new Facebook app, and started editing its settings. You&#8217;ll likely discover that the textboxes for URLs are way too small, but you can fix that with one line of Chickenfoot:</p>
	<pre>for each (var t in find('textbox')) t.element.size = 80;</pre>
	<p>Now that that was out of the way, I tried to wrap my head around the difference between a URL for my web site and a Facebook canvas URL. Apparently, you get some namespace under http://apps.facebook.com/<em>example.com</em>/ which maps to real URLs on your own domain, such as http://example.com/facebook/. The developer has to keep track of this mapping himself, so when asked for something such as the <b>Side Nav URL</b>, you need to supply the apps.facebook URL instead of the one from your own domain. Why isn&#8217;t this mapping done automatically? Why can&#8217;t I use the URLs that I already know instead of the ones that Facebook invented for me?</p>
	<p>There&#8217;s also something strange about the role of your Callback URL (or is it &#8220;Url?&#8221;). I tried to use the <b>authentication overview</b> link to learn about it, but that page (http://mit.facebook.com/developers/documentation.php?doc=auth) gave me a 404. </p>
	<p><img src="http://www.bolinfest.com/changeblog/wp-content/etc/facebook_editapp.png" alt="issues in editapp.php in Facebook" width="425" height="86" style="border: 1px solid gray" /></p>
	<p>Fortunately, there is some <a href="http://wiki.f8.facebook.com/index.php/Your_Callback_Page_And_You">information on the wiki about the callback page</a> &#8212; it seems that is serves both as your login handler as well as your home page, which I suppose works out all right if you&#8217;re authenticating users&#8217; Facebook tokens, but if you just want to show a static page, there isn&#8217;t much point.</p>
	<p>Finally, Facebook appears to be finicky about using explicit URLs (perhaps it&#8217;s a security thing?), so using http://example.com/facebook/ as your Side Nav URL is automatically converted to http://example.com/facebook/index.html even if your Apache DirectoryIndex directive points to something else. For a site who probably has its DirectoryIndex set to index.php, I find this a bit surprising.</p>
	<p>As you can imagine, I spent quite a bit of time playing around with the Edit page, as I imagine most new developers do. It would be really nice if the Save button were an Apply button instead that applied the changes without reloading the page since there&#8217;s a good chance that the URL that you just entered was the wrong one, so you&#8217;re going to have to return to the Edit page again, anyway.</p>
	<p>In the coming weeks, I&#8217;m sure we&#8217;ll see a number of these issues get cleaned up (as well as adding *cough* search *cough* to the Application Directory) &#8212; you never really know what bugs your API has until developers start using it. I trust that the Facebook developers were working very hard to get the platform ready for F8, but their job is certainly not done &#8212; no rest for the weary, kids!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/05/28/facebook-platform-first-impressions/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Your Page Here (an iGoogle gadget)</title>
		<link>http://www.bolinfest.com/changeblog/2007/05/03/your-page-here-an-igoogle-gadget/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/05/03/your-page-here-an-igoogle-gadget/#comments</comments>
		<pubDate>Fri, 04 May 2007 00:58:30 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Google</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2007/05/03/your-page-here-an-igoogle-gadget/</guid>
		<description><![CDATA[	Some of you have probably seen the experiment on google.com that brings Google apps closer to the home page. But if you find that they still aren&#8217;t close enough for you, then I have a new gadget for iGoogle (which is a much better name than Google Personalized Homepage) that might help you out. My [...]]]></description>
			<content:encoded><![CDATA[	<p>Some of you have probably seen the <a href="http://valleywag.com/tech/google-watcher/the-new-homepage-246592.php">experiment on google.com</a> that brings Google apps closer to the home page. But if you find that they still aren&#8217;t close enough for you, then I have a new gadget for iGoogle (which is a much better name than <a href="http://googleblog.blogspot.com/2007/04/youve-got-gadget-mail.html">Google Personalized Homepage</a>) that might help you out. My gadget is called <i>Your Page Here</i> because it lets you use any page you like as the content for one of your iGoogle tabs:</p>
	<p><center style="margin-bottom: 1em;"><a href="http://www.bolinfest.com/changeblog/wp-content/etc/your_page_here.png" target="_BLANK"><img src="http://www.bolinfest.com/changeblog/wp-content/etc/your_page_here.png" alt="Your Page Here screenshot" width="600" height="268" style="border:1px solid gray" /></a></center></p>
	<p>Note that if you add this gadget to a tab, it eclipses all of the other gadgets on the page, so you probably want to create a new tab for <i>Your Page Here</i> before installing it. Once you have it on your page, the settings are pretty simple:</p>
	<p><center style="margin-bottom: 1em;"><img src="http://www.bolinfest.com/changeblog/wp-content/etc/your_page_here_settings.png" alt="Your Page Here settings screenshot" width="504" height="127"/></center></p>
	<p>All you have to do is enter a URL and you&#8217;re ready to go. Come on! Try it for yourself:&nbsp;<a href="http://fusion.google.com/add?moduleurl=http%3A//bolinfest.com/ig/your_page_here.xml" target="_BLANK"><img src="http://buttons.googlesyndication.com/fusion/add.gif" width="104" height="17" style="border:0" alt="Add to Google"/></a></p>
	<p>And if Calendar isn&#8217;t your thing, then I recommend trying out Google Reader (<a href="http://reader.google.com/" target="_BLANK">http://reader.google.com/</a>) with <i>Your Page Here</i>.</p>
	<p><i>Thanks to Chris McAndrew for suggesting this hack to iGoogle.</i>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/05/03/your-page-here-an-igoogle-gadget/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>CalMap: a Calendar/Maps mashup</title>
		<link>http://www.bolinfest.com/changeblog/2007/04/30/calmap-a-calendarmaps-mashup/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/04/30/calmap-a-calendarmaps-mashup/#comments</comments>
		<pubDate>Tue, 01 May 2007 03:59:24 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Google</category>
	<category>Google Calendar</category>
	<category>JavaScript</category>
		<guid>http://www.bolinfest.com/changeblog/2007/04/30/calmap-a-calendarmaps-mashup/</guid>
		<description><![CDATA[	Not too long ago, I imported MLB schedule data into WikiCalendars.com. This made it simple to see when the Mets were playing next, but not where they would be playing next, so I decided to create CalMap: a mashup that takes a calendar feed and plots the locations of the events on a map:
	
	Currently, CalMap [...]]]></description>
			<content:encoded><![CDATA[	<p>Not too long ago, I imported <a href="http://www.bolinfest.com/changeblog/2007/03/29/mlb-2007-schedules-for-google-calendar/">MLB schedule data into WikiCalendars.com</a>. This made it simple to see <em>when</em> the Mets were playing next, but not <em>where</em> they would be playing next, so I decided to create <a href="http://calmap.bolinfest.com/">CalMap</a>: a mashup that takes a calendar feed and plots the locations of the events on a map:</p>
	<p><center style="margin-bottom: 1em;"><a href="http://www.bolinfest.com/changeblog/wp-content/etc/calmap.png" target="_BLANK"><img src="http://www.bolinfest.com/changeblog/wp-content/etc/calmap.png" width="600" height="341" alt="CalMap screenshot" style="border: 1px solid gray;" /></a></center></p>
	<p>Currently, CalMap only plots the locations it knows, which are <a href="http://calmap.bolinfest.com/locations.js">listed in a JSON data file</a>. I also use this to assign marker colors so baseball teams in the same division will have the same color &#8212; this makes the interleague games easy to pick out on the map! </p>
	<p>If you inspect the default URL for CalMap, you will see that the URL to the calendar feed that you want to load is simply passed as a GET parameter: </p>
	<pre>http://calmap.bolinfest.com/?url=<b>http://www.wikicalendars.com/wiki/MLB_2007_nym_protected</b></pre>
	<p>For WikiCalendars, you can also <a href="http://www.wikicalendars.com/wiki/WikiCalendars:Splice">splice a number of calendars together</a> and plot them as one calendar. For example, you can combine the calendars for all of the NL East teams and display them as one on CalMap:</p>
	<p><a target="_BLANK" href="http://calmap.bolinfest.com/?url=http://www.wikicalendars.com/splice.php?cal=MLB_2007_nym_protected,MLB_2007_phi_protected,MLB_2007_atl_protected,MLB_2007_fla_protected,MLB_2007_was_protected">http://calmap.bolinfest.com/?url=http://www.wikicalendars.com/splice.php?cal=MLB_2007_nym_protected,MLB_2007_phi_protected,MLB_2007_atl_protected,MLB_2007_fla_protected,MLB_2007_was_protected</a></p>
	<p>The supplied calendar feed needs to follow the <a href="http://code.google.com/apis/gdata/json.html">GData JSON conventions</a>, so it needs to honor <b>alt=json-in-script</b>, <b>start-min</b>, <b>start-max</b>, etc. This means that, yes, CalMap may execute arbitrary JavaScript from foreign sites, which is why I put it on its own subdomain of bolinfest.com where there are no cookies to steal.</p>
	<p>Also, so that my demo does not get trashed, I created copies of the original MLB calendars and made versions of them that only I can edit so that the CalMap home page does not become spammy. I have written a Chickenfoot script to update these new versions of the calendars with data from mlb.com, so <b>if you added one of the old MLB calendars to your Google Calendar account, I recommend replacing it with one from the <a href="http://www.wikicalendars.com/wiki/MLB_2007_protected">list of protected calendars</a></b> as the new calendars will be updated fairly frequently with legitimate data. (You can also subscribe to one of my &#8220;protected&#8221; MLB calendars by following the <b>Subscribe</b> link at the bottom of CalMap.)</p>
	<p>The only thing left to do is to figure out how to run Chickenfoot reliably as a cronjob&#8230;
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/04/30/calmap-a-calendarmaps-mashup/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>I want my Win XP!</title>
		<link>http://www.bolinfest.com/changeblog/2007/04/24/i-want-my-win-xp/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/04/24/i-want-my-win-xp/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 13:52:16 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Uncategorized</category>
		<guid>http://www.bolinfest.com/changeblog/2007/04/24/i-want-my-win-xp/</guid>
		<description><![CDATA[	About a month ago, I spent an hour on the phone screaming  (yes, literally screaming) at Dell because they had sold me a machine with Windows Vista. Admittedly, I knew that it would have Vista because when I ordered it online, I was not given the option to select XP. Fortunately for me, Dell [...]]]></description>
			<content:encoded><![CDATA[	<p>About a month ago, I spent an hour on the phone screaming  (yes, literally screaming) at Dell because they had sold me a machine with Windows Vista. Admittedly, I knew that it would have Vista because when I ordered it online, I was not given the option to select XP. Fortunately for me, <a href="http://news.com.com/Dell+brings+back+XP+on+home+systems/2100-1046_3-6177619.html">Dell recently reversed its decision to impose Vista on the world</a>, so as soon as I saw the post on Slashdot, I got on the phone with Dell and demanded XP again. (After the previous conversation with them, I was planning to return the machine altogether.) This time, they acceded.</p>
	<p>You may be wondering why I wanted Windows so badly, and in particular, why Windows XP? A couple of years ago, I bought a Dell touchscreen (model E153FPT) in hopes of building my own little kiosk. It would have been ideal to hook it up to my Mac Mini, but I could only find drivers for Windows. Also, there are still a few things that I use that only work on Windows, such as <a href="http://www.x10.com/products/x10_ck11a.htm">X10 ActiveHome</a> and the Google Talk client, both of which I would like to use on my kiosk.</p>
	<p>When I ordered the machine, I thought it might be fun to try out Vista, but instead it was a nightmare. The new UI paradigm where they hide the menubar by default drove me nuts (as I expected it would), and the popup situation is just as bad as the <a href="http://www.apple.com/getamac/ads/">I&#8217;m a Mac &#8220;Security&#8221;</a> claims it is. But the real deal breaker was when I discovered that there were no drivers for the E153FPT &ndash; I got on the phone and was <em>furious</em> that Dell would force me to buy a new machine with an operating system that was incompatible with other hardware I bought from Dell. The first time I called, the best they would do was sell me XP for $120 instead of the retail price of $200. I found this pretty outrageous as the machine I bought cost less than $500 in the first place.</p>
	<p>I&#8217;m happy that the problem is resolved, but after the second phone call, I had spent a total of two hours on the phone and had talked to at least seven people, all because I wasn&#8217;t offered the option to select XP with my new machine on their web site in the first place.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/04/24/i-want-my-win-xp/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Saved by xmpp4moz!</title>
		<link>http://www.bolinfest.com/changeblog/2007/04/02/saved-by-xmpp4moz/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/04/02/saved-by-xmpp4moz/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 04:33:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Firefox</category>
	<category>JavaScript</category>
		<guid>http://www.bolinfest.com/changeblog/2007/04/02/saved-by-xmpp4moz/</guid>
		<description><![CDATA[	.client { color: red } .server { color: blue } .java { color: green }
	After my recent post requesting information about a Firefox-friendly Jabber library, it dawned on me that I should try searching for firefox xmpp library instead of firefox jabber library. Lo and behold, I discovered xmpp4moz! From the project web site, I [...]]]></description>
			<content:encoded><![CDATA[	<p><style type="text/css">.client { color: red } .server { color: blue } .java { color: green }</style></p>
	<p>After my recent post <a href="http://www.bolinfest.com/changeblog/2007/03/31/request-for-help-xmpp-library-for-firefox/">requesting information about a Firefox-friendly Jabber library</a>, it dawned on me that I should try searching for <b>firefox xmpp library</b> instead of <b>firefox jabber library</b>. Lo and behold, I discovered <a href="http://dev.hyperstruct.net/xmpp4moz">xmpp4moz</a>! From the project web site, I downloaded the <a href="http://dev.hyperstruct.net/xmpp4moz/wiki/LocalApplicationSamePlaceSuite">SamePlace Suite</a> Firefox extension, which is a small suite of applications built on top of xmpp4moz. I fired it up and discovered that it contained a nice Jabber client written in XUL with explicit support for Google Talk. The only remaining question was: how did it work?</p>
	<p>I <a href="http://dev.hyperstruct.net/xmpp4moz/wiki/DocUsingDevelopmentBranch">checked out the xmpp4moz code from the repository</a> and started looking through it to figure out how it made a secure connection to talk.google.com. I immediately found some code that mentioned the <b>starttls</b> exchange that had thwarted my previous efforts to build a Jabber library for Firefox, but unfortunately it was commented out! After shooting in the dark for awhile with grep, I decided to find the entry point to the sign-on code and step through it.</p>
	<p>Two important differences from the Smack library were (1) xmpp4moz <a href="http://repo.hyperstruct.net/unstable/xmpp4moz/chrome/content/preferences_impl.js">connected on port 5223 instead of port 5222</a>, and (2) the <a href="http://repo.hyperstruct.net/unstable/xmpp4moz/chrome/content/service/jsapi.js">initial stanza that it sent to the server</a> included my username and password:</p>
	<pre class="client">&lt;iq to={JID(jid).hostname} type=&quot;set&quot;>
  &lt;query xmlns=&quot;jabber:iq:auth&quot;>
    &lt;username>{JID(jid).username}&lt;/username>
    &lt;password>{password}&lt;/password>
    &lt;resource>{JID(jid).resource}&lt;/resource>
  &lt;/query>
&lt;/iq>
</pre>
	<p>I found this odd, as <a href="http://jabberd.jabberstudio.org/dev/docs/component.shtml">this was not what was described in the jabberd 2.0 protocol document</a> I had discovered earlier. I searched on Google to find out what the difference between using ports 5222 and 5223 was, and <a href="http://psi-im.org/wiki/FAQ#What_is_this_SSL.2FTLS_thing_I_keep_hearing_about.3F">found out that port 5222 offers TLS support while port 5223 offers SSL support</a>. So by using port 5223, I could connect to Google Talk by using an SSL transport in Firefox, created as follows:</p>
	<pre>
const srvSocketTransport = Components.classes[&quot;@mozilla.org/network/socket-transport-service;1&quot;]
    .getService(Components.interfaces.nsISocketTransportService);
var transport = srvSocketTransport.createTransport(['ssl'], 1, &quot;talk.google.com&quot;, 5223, null);
</pre>
	<p>From what I have seen of the code so far, xmpp4moz looks to be an organized, well-designed library. I noticed that the developers make generous use of <a href="http://developer.mozilla.org/en/docs/E4X">E4X</a>, which is both convenient and brilliant since XMPP messages are in XML: all the more reason to develop a Jabber client within Firefox!</p>
	<p>But wait! Didn&#8217;t I just say that the SamePlace suite already has a nice Jabber client for Firefox? Yes, it certainly does, but I want to explore building an HTML client with some of my own features, so leveraging xmpp4moz looks like the best way to do it!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/04/02/saved-by-xmpp4moz/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Request for Help: XMPP library for Firefox</title>
		<link>http://www.bolinfest.com/changeblog/2007/03/31/request-for-help-xmpp-library-for-firefox/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/03/31/request-for-help-xmpp-library-for-firefox/#comments</comments>
		<pubDate>Sat, 31 Mar 2007 18:05:14 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Firefox</category>
		<guid>http://www.bolinfest.com/changeblog/2007/03/31/request-for-help-xmpp-library-for-firefox/</guid>
		<description><![CDATA[	.client { color: red } .server { color: blue } .java { color: green }
	For quite some time, I have wanted to have a Jabber library in Firefox that I could build extensions around. For my experiments with Google Talk on the desktop, I have been using the Smack API. Smack has served me well, [...]]]></description>
			<content:encoded><![CDATA[	<p><style type="text/css">.client { color: red } .server { color: blue } .java { color: green }</style></p>
	<p>For quite some time, I have wanted to have a Jabber library in Firefox that I could build extensions around. For my experiments with Google Talk on the desktop, I have been using the <a href="http://www.igniterealtime.org/projects/smack/">Smack API</a>. Smack has served me well, so I decided to try to use it as a model for an equivalent library written in JavaScript for Firefox, leveraging <a href="http://developer.mozilla.org/en/docs/XPCOM">XPCOM</a>. It turns out that Smack has a <a href="http://www.igniterealtime.org/builds/smack/docs/latest/documentation/debugging.html">kickass debug mode</a> that shows all of the XML messages that are sent back and forth while communicating with the server. Below, you can see the messages that Smack and Google Talk exchange when initiating a connection (client messages are in red, server messages are in blue):</p>
	<pre class="client">&lt;stream:stream to=&quot;gmail.com&quot; xmlns=&quot;jabber:client&quot; xmlns:stream=&quot;http://etherx.jabber.org/streams&quot; version=&quot;1.0&quot;></pre>
	<pre class="server">&lt;stream:stream from=&quot;gmail.com&quot; id=&quot;ABAC7E59A46C522E&quot; version=&quot;1.0&quot; xmlns:stream=&quot;http://etherx.jabber.org/streams&quot; xmlns=&quot;jabber:client&quot;>
&lt;stream:features>
  &lt;starttls xmlns=&quot;urn:ietf:params:xml:ns:xmpp-tls&quot;>
    &lt;required/>
  &lt;/starttls>
  &lt;mechanisms xmlns=&quot;urn:ietf:params:xml:ns:xmpp-sasl&quot;>
    &lt;mechanism>X-GOOGLE-TOKEN&lt;/mechanism>
  &lt;/mechanisms>
&lt;/stream:features></pre>
	<pre class="client">&lt;starttls xmlns=&quot;urn:ietf:params:xml:ns:xmpp-tls&quot;/></pre>
	<pre class="server">&lt;proceed xmlns=&quot;urn:ietf:params:xml:ns:xmpp-tls&quot;/></pre>
	<p>By following a <a href="http://www.xulplanet.com/tutorials/mozsdk/sockets.php">XULPlanet tutorial on sockets</a>, I successfully duplicated the above exchange in Firefox using trusted JavaScript. Unfortunately, then I hit a snag when I tried to replicate the following Java code in JavaScript:</p>
	<pre class="java">
/**
 * proceedTLSReceived() in <a href=\"http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/org/jivesoftware/smack/XMPPConnection.html\">org.jivesoftware.smack.XMPPConnection</a>
 */
void proceedTLSReceived() throws Exception {
  SSLContext context = SSLContext.getInstance(&#8221;TLS&#8221;);
  // Verify certificate presented by the server
  context.init(null, // KeyManager not required
      new javax.net.ssl.TrustManager[]{new ServerTrustManager(serviceName, configuration)},
      new java.security.SecureRandom());
  Socket plain = socket;
  // Secure the plain connection
  socket = context.getSocketFactory().createSocket(plain,
      plain.getInetAddress().getHostName(), plain.getPort(), true);
  socket.setSoTimeout(0);
  socket.setKeepAlive(true);
  // Initialize the reader and writer with the new secured version
  initReaderAndWriter();
  // Proceed to do the handshake
  ((SSLSocket) socket).startHandshake();
	
  // Set that TLS was successful
  usingTLS = true;
	
  // Set the new  writer to use
  packetWriter.setWriter(writer);
  // Send a new opening stream to the server
  packetWriter.openStream();
}
</pre>
	<p>As you can see, this requires some logic to deal with security. Although it <a href="http://www.xulplanet.com/references/xpcomref/group_Sockets.html">appears that Firefox has code to handle SSL and TLS</a>, I haven&#8217;t figured out a way to access it from JavaScript. One option would be to write my own XPCOM object in C++, which is what I suspect <a href="http://www.process-one.net/en/oneteam/">Process-one</a> did for their XUL-based XMPP client. Unfortunately, I am not that comfortable with C++, nor am I interested in the overhead involved in compiling for multiple platforms, which is really why I was looking for an existing, scriptable XPCOM object to do the heavy-lifting for me in the first place.</p>
	<p>Another possibility is writing an XPCOM object in a language other than C++. I started to explore <a href="http://developer.mozilla.org/en/docs/PyXPCOM">PyXPCOM</a> for writing modules in Python, but got discouraged when I discovered that <a href="http://captsolo.net/info/blog_a.php/2007/02/27/xul_mozilla_application_framework">Brendan Eich himself commented that PyXPCOM does not make it practical to write Firefox extensions in Python</a> because it requires bundling Python with the extension. I&#8217;m guessing that <a href="http://developer.mozilla.org/en/docs/XPCOM:Language_Bindings">the XPCOM language bindings for Perl, Ruby, and Java</a> have similar limitations.</p>
	<p>Then again, what about Java? Unlike Perl and Ruby, there is a standard Java plugin for Firefox, so maybe using <a href="http://developer.mozilla.org/en/docs/JavaXPCOM">JavaXPCOM</a> is a possibility. And even if not, <a href="http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview">LiveConnect</a> might do the trick, since we have successfully used it for Java-JavaScript communication in Chickenfoot. Being able to leverage Smack as-is would certainly be a windfall if it worked!</p>
	<p>Though I am likely going to pursue the Java path to make this happen, I think it would be great if someone with the right know-how created a C++ XPCOM object that exposed a scriptable interface that would let you connect to a Jabber server (using TLS) and provide access to input and output streams for that socket. If anyone knows his way around the GAIM code, he or she could likely leverage what is already there to make this happen. I expect the &#8220;plumbing&#8221; involved in bringing in the existing C++ code, creating the IDL, and compiling for the major platforms, is likely where more than 80% of the work is &ndash; the new code that needs to be written should be fairly minimal.</p>
	<p>For the end-user, this would provide the best experience since he would be able to install a Firefox extension without having to install the Java plugin on top of it. Also, the C++ XPCOM object would likely be faster, because in developing Chickenfoot, I learned that crossing the Java/C++ process boundary can be expensive. (This is described in section 8.1.1 of <a href="http://www.bolinfest.com/Michael_Bolin_Thesis_Chickenfoot.pdf">my thesis</a>.) So if anyone is interested in taking on this project, or if you know of an existing solution, then <a href="mailto:bolinfest@gmail.com">please let me know</a>!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/03/31/request-for-help-xmpp-library-for-firefox/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>MLB 2007 Schedules for Google Calendar</title>
		<link>http://www.bolinfest.com/changeblog/2007/03/29/mlb-2007-schedules-for-google-calendar/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/03/29/mlb-2007-schedules-for-google-calendar/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 16:12:55 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Chickenfoot</category>
	<category>Firefox</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2007/03/29/mlb-2007-schedules-for-google-calendar/</guid>
		<description><![CDATA[	I wrote a Chickenfoot script to generate the 2007 Major League Baseball schedules from mlb.com. Instead of putting the schedules directly into Google Calendar, I posted them on wikicalendars.com. Just visit the site, click on your favorite team (let&#8217;s go Mets!), and click on the &#8220;Google Calendar&#8221; button above the calendar preview to add the [...]]]></description>
			<content:encoded><![CDATA[	<p>I <a href="http://groups.csail.mit.edu/uid/chickenfoot/scripts/index.php/MLB">wrote a Chickenfoot script to generate the 2007 Major League Baseball schedules from mlb.com</a>. Instead of putting the schedules directly into Google Calendar, I <a href="http://www.wikicalendars.com/wiki/MLB_2007">posted them on wikicalendars.com</a>. Just visit the site, click on your favorite team (let&#8217;s go Mets!), and click on the &#8220;Google Calendar&#8221; button above the calendar preview to add the schedule to your Calendar account (or click the iCal icon to add it to Apple iCal).</p>
	<p><center><img src="http://www.bolinfest.com/changeblog/wp-content/etc/nym.png" alt="Subscribe to New York Mets 2007 Schedule from wikicalendars.com" style="border: 1px solid gray; margin-bottom: 2ex" /></center></p>
	<p>But wait, &#8220;What is <a href="http://wikicalendars.com/">wikicalendars.com</a>?&#8221; you wonder. I realized that I forgot to post about it before, so I should explain. Last fall, <a href="http://www.bolinfest.com/changeblog/2006/11/10/did-i-mention-mitcalendarscom/">I wrote about how I created mitcalendars.com with Mike Lambert</a> to make it easy to add MIT course schedules to Google Calendar. After getting feedback from students, we realized that there were two major issues with our site:</p>
	<ul>
	<li>Students could not update or correct the calendars we had auto-generated.
</li>
	<li>We had to guess which permutations of calendars for a course we should generate: if there are 2 lecture choices , 8 recitation choices, and 3 lab choices, should we generate 48 calendars for the course? How do we present all 48 options a to user?
</li>
</ul>
	<p>To address the first issue, we decided to store the calendar data in a wiki so that anyone on the web could update it. This way, if a class were rescheduled, or if a final exam were added, anyone from the class could adjust the course&#8217;s calendar accordingly. Obviously spam would be a concern, so we decided to go with the ever-popular <a href="http://www.mediawiki.org/">MediaWiki</a>, since we assumed that Wikipedia has more experience with spam than anyone, so they likely have the best tools to combat it. Also, because it was open-source, it was easy for Mike and I to hack it up as we needed.</p>
	<p>To address the second issue, we added a feature called <a href="http://www.wikicalendars.com/wiki/WikiCalendars:Splice">&#8220;calendar splice&#8221;</a> that enables you to combine multiple calendars from wikicalendars.com to dynamically create a new calendar. This way, we could create a calendar for each lecture and recitation offering for a course, but leave it up to the students to combine a lecture and recitation into one calendar. Unfortunately, this is not obvious from the wikicalendars.com user interface yet, but the feature is there. (Incidentally, we offer <a href="http://www.wikicalendars.com/wiki/WikiCalendars:Api">a number of output formats</a> for calendar data, facilitating the use of wikicalendar data in mashups, etc.)</p>
	<p>Because we wanted to make it as easy as possible to edit calendar data, we decided that we needed to create our own wiki-language for the site. Here&#8217;s a snippet from the NY Mets 2007 calendar:</p>
	<pre>
__CALENDAR__
CalendarName: New York Mets 2007 MLB Schedule
CalendarTimezone: America/New_York
CalendarURL: http://mlb.mlb.com/schedule/sortable.jsp?c_id=nym
	
DefaultEventDuration: 3h
	
EventWhen: 4/1/2007 8:05pm
EventWhat: Mets vs. Cardinals (Away)
EventWhere: Away
</pre>
	<p>Unfortunately, unlike WikiMedia&#8217;s wiki-language, our format strongly favors English speakers &#8212; especially those who use American date and time formats. Though we were not thrilled with this decision, we felt it was acceptable for our first version of the site. We tried to focus on simplicity, and I think many will agree that <b>4/1/2007 8:05pm</b> is much simpler for the average person to work with than <b>200704012005/200704012305</b>. The <a href="http://www.wikicalendars.com/wiki/WikiCalendars:Tags">calendar syntax is documented in detail</a> on the web site.</p>
	<p>So given all of this, what makes a good wikicalendar? Arguably, any calendar whose events come from a community of people rather than from one well-defined leader. For example, I started a calendar for <a href="http://www.wikicalendars.com/wiki/Wii_Titles_%28US_Release_Dates%29">release dates of Wii games</a> which would ideally take contributions from those who troll gaming rumor boards and web sites. (I would love to see people start contributing!) I also created a calendar to track when <a href="http://www.wikicalendars.com/wiki/NYRR_2007_Marathon_Qualifier_Races">NYC Marathon qualifier races are</a>, as there are many of us who aren&#8217;t interested in the non-qualifier races. I try to keep the calendar fairly up-to-date myself, but if I fall behind, hopefully another calendar subscriber will notice and pick up the slack!</p>
	<p>Which brings me to why I decided to store the MLB calendars on wikicalendars.com: though the schedule data is correct now, the baseball season is subject to rain outs and reschedulings, and I can&#8217;t stay on top of all of those changes, but <a href="http://www.time.com/time/magazine/article/0,9171,1569514,00.html">Time&#8217;s Person of the Year</a> can! This is, in many ways, an experiment. Will anyone keep these calendars up to date? Will they lie dormant and become inaccurate, or even worse, become littered with spam? I guess we&#8217;ll see!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/03/29/mlb-2007-schedules-for-google-calendar/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>I found a use for my Mac Mini — running 1980s technology!</title>
		<link>http://www.bolinfest.com/changeblog/2007/03/25/i-found-a-use-for-my-mac-mini-running-1980s-technology/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/03/25/i-found-a-use-for-my-mac-mini-running-1980s-technology/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 16:20:47 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Wii</category>
		<guid>http://www.bolinfest.com/changeblog/2007/03/25/i-found-a-use-for-my-mac-mini-running-1980s-technology/</guid>
		<description><![CDATA[	I have a PowerPC Mac Mini that I bought in the summer of 2005. The best way to describe it is sloooooooowwwwwww. It lags far behind the T42 that I bought the year before, so when Apple made the switch to Intel and all the Macheads were rejoicing about what a brilliant move it was, [...]]]></description>
			<content:encoded><![CDATA[	<p>I have a PowerPC Mac Mini that I bought in the summer of 2005. The best way to describe it is sloooooooowwwwwww. It lags far behind the T42 that I bought the year before, so when Apple made the switch to Intel and all the Macheads were rejoicing about what a brilliant move it was, I was trying to figure out why no one else was angry that Apple had been selling unnecessarily slow computers to its users for years. <a href="http://en.wikipedia.org/wiki/Cult_of_Mac">Oh, right</a>.</p>
	<p>So now that I&#8217;ve moved on to faster machines, what am I supposed to do with my Mini? One thought was to use it as a DVD player, but we already have an Xbox 360 that does that, so that&#8217;s not very exciting. (Also, my Mac Mini predates <a href="http://www.apple.com/imac/frontrow.html">Apple Front Row</a>, so I built my own makeshift version which required running Apache as root so it could execute CGI scripts to run AppleScript to control the Mac&#8217;s DVD player so I could have a webapp that I could access from my laptop to use as a remote, but that&#8217;s a whole other story&#8230;)</p>
	<p>As I <a href="http://www.bolinfest.com/changeblog/2007/03/11/javascript-library-for-wii-opera/">mentioned previously</a>, I wished it were possible to use one of the web-based NES emulators on Wii Opera so it would be possible to play old games using a Wiimote. And then it dawned on me &ndash; what if I could just get a Wiimote working with my computer and use the emulator there instead? On sites like <a href="http://www.engadget.com/2006/12/13/wiimote-control-for-google-earth/">Engadget</a>, I saw that some people had already built libraries for handling Wiimote input, so I did some searching and found the leading Wiimote library for Mac: <a href="http://sourceforge.net/projects/darwiin-remote/">DarwiinRemote</a>.</p>
	<p>Though there were loads of blogs pointing to DarwiinRemote, none of them actually explained how to <em>use</em> it (neither does the DawiinRemote SourceForge project page), but eventually I found a <a href="http://123macmini.com/news/story/570.html">nice writeup on using DarwiinRemote</a> that got me started. Though Darwiin&#8217;s &#8220;Mouse Mode&#8221; was a little wonky, it was clear that my Mac was receiving Wiimote button presses perfectly.</p>
	<p>The next step was to find a good NES emulator. I started out with <a href="http://www.daviddn.com/nescafe/">NESCafe</a>, which I had previously enjoyed using on Windows, but on the Mac it (1) ran too slow, (2) couldn&#8217;t fill the screen,  and (3) could not support sound emulation. I decided that a Mac-specific emulator was probably the way to go, so I did a brief survey of <a href="http://www.zophar.net/mac/nes.html">emulators available for Mac</a>, settling on <a href="http://www.bannister.org/software/nestopia.htm">Nestopia</a>.</p>
	<p>Then it was time to put the two pieces of software together. I was reading the release notes for <a href="http://sourceforge.net/forum/forum.php?forum_id=673591">DarwiinRemote 0.5</a> which said that support had been added for the Classic Controller. Excellent &#8212; that would be even more fun than using a Wiimote! Unfortunately, from my testing, it appeared that only partial support was available: for example, the &#8220;up&#8221; and &#8220;left&#8221; buttons on the D-pad registered, but not &#8220;right&#8221; and &#8220;down&#8221; (if you know any game where you only need to move northwest, pleast let me know!) Though the release notes for DarwiinRemote 0.5 list claim that PowerPC bugs were fixed, the release notes for <a href="http://sourceforge.net/forum/forum.php?forum_id=673592">WiiRemoteFramework 0.5</a> admit &#8220;#1623337 PPC bugs might be fixed.&#8221; I have checked out the code to see if I can fix this myself, though I imagine if I am patient, the developers will have this fixed in the next release.</p>
	<p>In the interim, I decided to try using the emulator by turning my Wiimote sideways. Here is a screenshot of how I configured both DarwiinRemote and Nestopia:</p>
	<p><a href="http://www.bolinfest.com/changeblog/wp-content/etc/wiimote_setup.png" target="_BLANK"><img src="http://www.bolinfest.com/changeblog/wp-content/etc/wiimote_setup.png" alt="Configuring DarwiinRemote and Nestopia" width="600px" height="296px" style="border:0"/></a></p>
	<p>Like I said, I hold the Wiimote horizontally when I use it to play with the emulator, so that&#8217;s why the D-pad mapping in DarwiinRemote may appear odd. Also, DarwiinRemote currently only has a fixed set of keys that you can map Wiimote buttons to, which is why I&#8217;m using F1 and F2 for B and A, respectively.</p>
	<p>Now that I have everything working, I must say that the experience is fantastic! The emulator and the Wiimote have been working beautifully together: everything seems to be responding as it should. There are only a few open issues:</p>
	<ul>
	<li>As mentioned above, I would prefer to use the Classic Controller over the Wiimote. It looks like a lot of great progress has been made on DarwiinRemote in recent history, so I&#8217;m optimistic about that.
</li>
	<li>I would like to make a more Wiimote-friendly File->Open dialog for Nestopia. Ideally, one that could be navigated quickly with the D-pad, shows the covers of the games, etc. Ultimately, I want to connect the Mac Mini directly into my TV such that everything can be done easily with the Wiimote so I don&#8217;t have to leave a keyboard or mouse hooked up to it.
</li>
	<li>I need to get support for two-player mode. Honeslty, I tried playing Contra by myself yesterday and it wasn&#8217;t that much fun (the 30 life code worked just fine, though!). It looks like Nestopia supports input from two players, but DarwiinRemote only seems to take input from one Wiimote at a time right now. I fear that adding that feature to DarwiinRemote may take awhile, though I suppose if the Classic Controller were working, you could have one player use the Wiimote horizontally and the other use the Classic while tethered to it since together they compose one bluetooth device to Darwiin.
</li>
</ul>
	<p>Nevertheless, I hope these issues don&#8217;t deter you from trying out this setup because it&#8217;s really a lot of fun! Seriously, if you have a bluetooth-enabled Mac, for the cost of a Wiimote ($40), you can have your own complete Virtual Console!</p>
	<p>PS If you&#8217;re looking for ROMs, I recommend checking out <a href="http://everyvideogame.com/">http://everyvideogame.com/</a>. They use NESCafe as a Java applet to play the games on the site and it looks like each ROM lies in a zip file identified in the &lt;PARAM&gt; tag for the applet, so they are pretty easy to find. Though I obviously often promote Chickenfoot for this sort of task, I admit that Perl and wget will likely do the job just fine in this case.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/03/25/i-found-a-use-for-my-mac-mini-running-1980s-technology/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>JavaScript library for Wii Opera</title>
		<link>http://www.bolinfest.com/changeblog/2007/03/11/javascript-library-for-wii-opera/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/03/11/javascript-library-for-wii-opera/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 03:50:29 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>JavaScript</category>
	<category>Wii</category>
		<guid>http://www.bolinfest.com/changeblog/2007/03/11/javascript-library-for-wii-opera/</guid>
		<description><![CDATA[	When I heard that Opera was going to be bundled with the Wii, my first thought was whether they would make it be possible to catch Wii button events in JavaScript, and fortunately they did! Though a number of web sites have documented the button keycodes, I couldn&#8217;t find a simple drop-in library for handling [...]]]></description>
			<content:encoded><![CDATA[	<p>When I heard that Opera was going to be bundled with the Wii, my first thought was whether they would make it be possible to catch Wii button events in JavaScript, and fortunately they did! Though a number of web sites have <a href="http://www.wiili.org/index.php/Opera_Browser">documented the button keycodes</a>, I couldn&#8217;t find a simple drop-in library for handling the button events in JavaScript, so I <a href="http://www.bolinfest.com/wii/">created my own</a>. It is pretty simple, but hopefully it will help some eager Wii hackers get started. (Though it allows you to control a web site with your Wiimote, it also has a mode that supports control from the keyboard, making it easier to develop your Wii-friendly web site from your laptop.) </p>
	<p>PS It is my dream that someone combine (or &#8220;mashup&#8221; in the parlance of our modern Web 2.0 times) <a href="http://www.daviddn.com/nescafe/">NESCafe</a> and <a href="http://code.google.com/webtoolkit/">the Google Web Toolkit</a> to build the ultimate Wii-friendly web site. What can I say? They just can&#8217;t release old NES titles on the Virtual Console fast enough for me!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/03/11/javascript-library-for-wii-opera/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Web Content Wizard in Action</title>
		<link>http://www.bolinfest.com/changeblog/2007/02/27/web-content-wizard-in-action/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/02/27/web-content-wizard-in-action/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 16:04:38 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Google</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2007/02/27/web-content-wizard-in-action/</guid>
		<description><![CDATA[	Recently, my Web Content Wizard for Google Calendar (which I recently blogged about)  was listed as a featured project on Google Code. But what is even more exciting is the Colorado Avalanche calendar that Rob Moore built with the web content wizard! It looks hot and it is a great example of web content [...]]]></description>
			<content:encoded><![CDATA[	<p>Recently, my <a href="http://bolinfest.com/webcontent/">Web Content Wizard for Google Calendar</a> (which I <a href="http://www.bolinfest.com/changeblog/2006/12/10/web-content-wizard-for-google-calendar/">recently blogged about</a>)  was listed as a <a href="http://google-code-featured.blogspot.com/2007/02/web-content-wizard-for-google-calendar.html">featured project on Google Code</a>. But what is even more exciting is the <a href="http://www.robmoore.org/blog/2007/02/colorado-avalanche-google-calendar-web.php">Colorado Avalanche calendar</a> that <a href="http://www.robmoore.org/">Rob Moore</a> built with the web content wizard! It looks hot and it is a great example of web content can be used in Google Calendar &mdash; great work, Rob!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/02/27/web-content-wizard-in-action/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>xkcd.com in Google Calendar</title>
		<link>http://www.bolinfest.com/changeblog/2007/01/20/xkcdcom-in-google-calendar/</link>
		<comments>http://www.bolinfest.com/changeblog/2007/01/20/xkcdcom-in-google-calendar/#comments</comments>
		<pubDate>Sat, 20 Jan 2007 08:23:20 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Google</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2007/01/20/xkcdcom-in-google-calendar/</guid>
		<description><![CDATA[	With a little bit of Python, I was able to create a web content calendar for the web comic xkcd.com. (Feel free to view the code and use it however you wish &#8211; I would love to see more calendars with web content!)
	Click to subscribe in:&#160;

]]></description>
			<content:encoded><![CDATA[	<p>With a little bit of Python, I was able to create a <a href="http://googleblog.blogspot.com/2006/09/google-calendar-does-something-about.html">web content calendar</a> for the web comic <a href="http://xkcd.com/">xkcd.com</a>. (Feel free to <a href="http://bolinfest.com/calendars/xkcd.py">view the code</a> and use it however you wish &ndash; I would love to see more calendars with web content!)</p>
	<p>Click to subscribe in:&nbsp;<a target="_BLANK" href="http://www.google.com/calendar/render?cid=http://www.bolinfest.com/calendars/xkcd.ics"><img src="http://www.google.com/calendar/images/ext/gc_button1.gif" border="0" style="vertical-align: middle" /></a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2007/01/20/xkcdcom-in-google-calendar/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Web Content Wizard for Google Calendar</title>
		<link>http://www.bolinfest.com/changeblog/2006/12/10/web-content-wizard-for-google-calendar/</link>
		<comments>http://www.bolinfest.com/changeblog/2006/12/10/web-content-wizard-for-google-calendar/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 22:49:22 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Google</category>
	<category>Google Calendar</category>
		<guid>http://www.bolinfest.com/changeblog/2006/12/10/web-content-wizard-for-google-calendar/</guid>
		<description><![CDATA[	Fueled by my curiosity in learning about AuthSub and my desire to promote web content events, I created a web content wizard for Google Calendar. I believe this will dramatically lower the barrier to entry for creating web content events. To see a screenshot of the wizard in action, check out its Help link, or [...]]]></description>
			<content:encoded><![CDATA[	<p>Fueled by my curiosity in learning about <a href="http://code.google.com/apis/gdata/authsub.html">AuthSub</a> and my desire to promote <a href="http://googleblog.blogspot.com/2006/09/google-calendar-does-something-about.html">web content events</a>, I created a <a href="http://www.bolinfest.com/webcontent/">web content wizard for Google Calendar</a>. I believe this will dramatically lower the barrier to entry for creating web content events. To see a screenshot of the wizard in action, check out its <a href="http://www.bolinfest.com/webcontent/#tabs-help">Help</a> link, or if you want more information about what prompted me to do this, read the <a href="http://www.bolinfest.com/webcontent/#tabs-about">About</a> section.</p>
	<p>In the process of creating the wizard, I learned quite a bit about web applications, web security, and the state of free JavaScript datepickers. I plan to write up what I have learned in the weeks to come, but first I need to allocate some of my time online for Christmas shopping!</p>
	<p>Honestly, there&#8217;s a lot more I could post about this wizard today, but I believe everything is already there on the site, and I hate repeating myself, so like we [apparently] say back home in New Jersey: <a href="http://www.bolinfest.com/webcontent/">come and see for yourself.</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2006/12/10/web-content-wizard-for-google-calendar/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>New hacking opportunities with Facebook, Firefox, and Chickenfoot</title>
		<link>http://www.bolinfest.com/changeblog/2006/11/29/new-hacking-opportunities-with-facebook-firefox-and-chickenfoot/</link>
		<comments>http://www.bolinfest.com/changeblog/2006/11/29/new-hacking-opportunities-with-facebook-firefox-and-chickenfoot/#comments</comments>
		<pubDate>Thu, 30 Nov 2006 06:56:19 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Chickenfoot</category>
	<category>Firefox</category>
		<guid>http://www.bolinfest.com/changeblog/2006/11/29/new-hacking-opportunities-with-facebook-firefox-and-chickenfoot/</guid>
		<description><![CDATA[	Facebook just announced its own toolbar for Firefox, but interestingly, no toolbar for Internet Explorer. As they mention in their Developers News page, &#8220;[the toolbar is] open source, so if you’re interested in adding functionality (or porting it to another browser), join the discussion thread!&#8221; Sounds like we&#8217;ll have to wait for a solution from [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://blog.facebook.com/blog.php?post=2220757130">Facebook just announced its own toolbar for Firefox</a>, but interestingly, no toolbar for Internet Explorer. As they mention in their <a href="http://developers.facebook.com/news.php?story=8">Developers News page</a>, &#8220;[the toolbar is] open source, so if you’re interested in adding functionality (or porting it to another browser), join the discussion thread!&#8221; Sounds like we&#8217;ll have to wait for a solution from &#8220;the community,&#8221; whoever that turns out to be&#8230;</p>
	<p>Now, although <a href="http://www.businessweek.com/technology/tech_stats/browserstats061003.htm">Firefox is gaining marketshare</a>, it still has a long way to go before it can dethrone Internet Explorer, so why wouldn&#8217;t Facebook focus on building a toolbar for the majority? My first thought is that building a toolbar for Firefox was just easier for the development team. For starters, there is already <a href="https://addons.mozilla.org/search.php?app=firefox&#038;q=toolbar">a plethora of toolbar extensions for Firefox</a> that Facebook developers could have used to model their toolbar after as a starting point. Also, there are no Microsoft Visual Studio licenses to buy when developing for Firefox, and the structure of the browser is easy to learn and <a href="http://www.mozilla.org/projects/inspector/">explore with free, built-in tools</a> because it&#8217;s one giant DOM. Or maybe there was just one crazy developer (Ari Steinberg?) who just happened to like hacking on Firefox that started  prototyping a toolbar and ran with it. Lots of software projects start that way.</p>
	<p>The one thing that I can&#8217;t imagine is that a Product Manager at Facebook said, &#8220;Hey, I think we need to have our own toolbar. And instead of going after 80% of the market, I think we should focus on only 10% because having all those users would be too crazy.&#8221; Unless, of course, the PM has a shiny new MacBook Pro and didn&#8217;t want to see his or her developers working on something that he wouldn&#8217;t be able to use. Either way, I&#8217;m excited to see new tools that promote Firefox.</p>
	<p>Although I haven&#8217;t looked at the source code for the toolbar yet, I&#8217;m curious how similar it is to the wrapper for the Facebook API that I wrote for the <a href="http://groups.csail.mit.edu/uid/chickenfoot/blog/2006/11/27/chickenfoot-0920061127-released/">new version of Chickenfoot</a>. My wrapper isn&#8217;t mentioned in the release notes (though I assure you it is bundled in the extension), but the <a href="http://groups.csail.mit.edu/uid/chickenfoot/libraries/facebook.js">source code for the Facebook wrapper</a> can be viewed online, and can be used by adding <code>include("facebook.js");</code> just like any other library in Chickenfoot.</p>
	<p>In my initial experimentation with the Facebook API, I was very frustrated that their client libraries did not come with good sample code to demonstrate how to use the library, so I promised myself that I would not make the same mistake with Chickenfoot&#8217;s Facebook wrapper. As you can see, I have some sample usage at the top of <code>facebook.js</code>, but I plan to put something better together <a href="http://groups.csail.mit.edu/uid/chickenfoot/libraries/prototype.html">like I did for Chickenfoot&#8217;s Prototype wrapper</a>. Admittedly, I have yet to <em>build</em> anything with <code>facebook.js</code>, so until I have a sample application, I suppose I shouldn&#8217;t promote it too heavily.</p>
	<p>Nevertheless, you should still check out the new version of Chickenfoot because it now supports keyword commands! Both the keyword commands UIST conference paper and video of the tech talk at Google that showed them publicly for the first time are available on the <a href="http://groups.csail.mit.edu/uid/chickenfoot/publications.html">Chickenfoot publications page</a>. With keyword commands, you can write a script <em>without learning JavaScript</em>. For example, the following is a valid keyword command script in Chickenfoot for doing a Google web search:</p>
	<pre>go to google.com
type &quot;chickenfoot MIT&quot;
search</pre>
	<p>At first glance, you might think this is some sort of pseudo-natural-language programming like you see in <a href="http://www.apple.com/macosx/features/applescript/">AppleScript</a>, but composing keyword commands is even easier than traditional scripting because keyword commands are not validated against a grammar. This is an important distinction, and I recommend reading the paper or watching the tech talk for more details.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2006/11/29/new-hacking-opportunities-with-facebook-firefox-and-chickenfoot/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>JSON Inpsector (for GData)</title>
		<link>http://www.bolinfest.com/changeblog/2006/11/22/json-inpsector-for-gdata/</link>
		<comments>http://www.bolinfest.com/changeblog/2006/11/22/json-inpsector-for-gdata/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 10:21:42 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Chickenfoot</category>
	<category>Firefox</category>
	<category>Google</category>
		<guid>http://www.bolinfest.com/changeblog/2006/11/22/json-inpsector-for-gdata/</guid>
		<description><![CDATA[	Yesterday, I was very excited to announce JSON support for GData on the Google Data APIs Blog. Even though we provided some nice documentation and samples for this new feature, I thought it would be helpful to be able to browse the structure of the JSON returned by the feed in a standard tree widget.
	In [...]]]></description>
			<content:encoded><![CDATA[	<p>Yesterday, I was very excited to announce <a href="http://googledataapis.blogspot.com/2006/11/calling-all-web-hackers-json-support.html">JSON support for GData</a> on the <a href="http://googledataapis.blogspot.com/">Google Data APIs Blog</a>. Even though we provided some nice <a href="http://code.google.com/apis/gdata/json.html">documentation</a> and <a href="http://code.google.com/apis/gdata/samples.html">samples</a> for this new feature, I thought it would be helpful to be able to browse the structure of the JSON returned by the feed in a standard tree widget.</p>
	<p>In Chickenfoot, you can inspect a JavaScript object fairly easily by leveraging the DOM Inspector:</p>
	<pre>
function inspect(obj) {
  // explore obj in Firefox's DOM Inspector
  window.openDialog('chrome://inspector/content/object.xul',
  '_blank', 'chrome,all,dialog=no', obj);
}
</pre>
	<p>Unfortunately, this JavaScript does not work in a web page because it needs access to the browser chrome. Because not everyone has Chickenfoot installed, I decided to make an <a href="http://bolinfest.com/json/inspect.html">online JSON Inspector for GData feeds</a> (shown below) where you can simply enter the URL for a GData feed and click <b>Show me the JSON!</b> to explore its structure with a standard XUL tree widget. (Because this web page uses XUL, it only works in Firefox.)</p>
	<p>Hopefully this will help you write your first GData mashup over the Thanksgiving holiday! You&#8217;d rather hack on JavaScript than fight your way through the mall on Black Friday, right?</p>
	<p><b>Update (11/22/2006):</b> <a href="http://persistent.info/">Mihai</a> just pointed me to an existing JSON Inpsector targeted at <a href="http://www.geocities.jp/stormriders999/jsontest.html">JSONP (JSON with Padding)</a>, which lets you inspect JSON from sources other than GData.</p>
	<p><a href="http://www.bolinfest.com/changeblog/wp-content/etc/jsoninspector.png"><br />
<img src="http://www.bolinfest.com/changeblog/wp-content/etc/jsoninspector.png" alt="Screenshot of JSON Inspector for GData" width="500px" height="407px" border="0"/></a></p>
	<p>P.S. If any of you decide to host XUL files on your own webserver, make sure to add the following line to httpd.conf or else your XUL trees may appear strangely:</p>
	<pre>
AddType application/vnd.mozilla.xul+xml .xul
</pre>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2006/11/22/json-inpsector-for-gdata/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Introducing Gvite (a Firefox extension)</title>
		<link>http://www.bolinfest.com/changeblog/2006/11/15/introducing-gvite-a-firefox-extension/</link>
		<comments>http://www.bolinfest.com/changeblog/2006/11/15/introducing-gvite-a-firefox-extension/#comments</comments>
		<pubDate>Wed, 15 Nov 2006 08:39:45 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Chickenfoot</category>
	<category>Firefox</category>
		<guid>http://www.bolinfest.com/changeblog/2006/11/15/introducing-gvite-a-firefox-extension/</guid>
		<description><![CDATA[	Okay, so I&#8217;m a little upset that Evite has links to add an event to both Outlook and iCal, but not Google Calendar, so I decided to write a Chickenfoot script to deal with the problem. My script adds the following when visiting an Evite invitation: (1) It replaces the &#8220;View Map&#8221; link with a [...]]]></description>
			<content:encoded><![CDATA[	<p>Okay, so I&#8217;m a little upset that <a href="http://www.evite.com/">Evite</a> has links to add an event to both Outlook and iCal, but not Google Calendar, so I decided to write <a href="http://www.bolinfest.com/gvite/gvite-1.0.js">a Chickenfoot script</a> to deal with the problem. My script adds the following when visiting an Evite invitation: (1) It replaces the &#8220;View Map&#8221; link with a link to <a href="http://maps.google.com/">Google Maps</a>, and (2) it adds a button that lets you add the event to Google Calendar. I used Chickenfoot&#8217;s packaging tool to package the script as a <a href="http://www.bolinfest.com/gvite/gvite.xpi">standalone Firefox extension (click this link to install it)</a>.</p>
	<p>I have to admit that I really hacked this script together, and my only test cases were the two Evites that are currently in my inbox, so I haven&#8217;t been very thorough. If you look through the <a href="http://www.bolinfest.com/gvite/gvite-1.0.js">source code for the Chickenfoot script</a>, you&#8217;ll see that I have some TODOs in the code, so I already know about some of the shortcomings. That being said, please feel free to <a href="mailto:bolinfest@gmail.com">email me with improvements to the script</a>. (If there&#8217;s enough interest, we could move this to the <a href="http://groups.csail.mit.edu/uid/chickenfoot/scripts/index.php/Main_Page">Chickenfoot Script Repository</a> so we can leverage the power of Web 2.0 to handle all of the Gvite edge cases!)
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2006/11/15/introducing-gvite-a-firefox-extension/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Did I mention mitcalendars.com?</title>
		<link>http://www.bolinfest.com/changeblog/2006/11/10/did-i-mention-mitcalendarscom/</link>
		<comments>http://www.bolinfest.com/changeblog/2006/11/10/did-i-mention-mitcalendarscom/#comments</comments>
		<pubDate>Sat, 11 Nov 2006 03:51:58 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
	<category>Uncategorized</category>
		<guid>http://www.bolinfest.com/changeblog/2006/11/10/did-i-mention-mitcalendarscom/</guid>
		<description><![CDATA[	No, I don&#8217;t believe I did, but it yesterday (my birthday, for those of you who forgot), mitcalendars.com appeared on the Google Code Featured Projects blog. I created mitcalendars.com with fellow Googler and MIT alum Mike Lambert a few days after the fall semester started at MIT.
	So why didn&#8217;t you post about this weeks ago?, [...]]]></description>
			<content:encoded><![CDATA[	<p>No, I don&#8217;t believe I did, but it yesterday (<em>my birthday</em>, for those of you who forgot), <a href="http://google-code-featured.blogspot.com/2006/11/mit-calendars.html">mitcalendars.com appeared on the Google Code Featured Projects blog</a>. I created <a href="http://www.mitcalendars.com/">mitcalendars.com</a> with fellow Googler and MIT alum Mike Lambert a few days after the fall semester started at MIT.</p>
	<p><em>So why didn&#8217;t you post about this weeks ago?</em>, you wonder. Well, here&#8217;s what happened: Mike and I were eating lunch at Google, and I was expressing my disappointment that MIT would be an unlikely candidate for <a href="https://www.google.com/a/">Google Apps for Your Domain</a> because it has already invested a lot in its <a href="http://web.mit.edu/ist/topics/athena/">Athena</a> computing system, and people would freak out if they couldn&#8217;t use <a href="http://en.wikipedia.org/wiki/Pine_%28mail_reader%29">Pine</a> or <a href="http://en.wikipedia.org/wiki/MH_Message_Handling_System">mh</a> or  whatever junk people who don&#8217;t use Gmail use. What I really wanted, of course, was for every MIT professor to enter his or her syllabus in <a href="http://calendar.google.com/">Google Calendar</a>, which would save students the trouble of figuring out recurrence rules and determining which MIT Tuesdays are actually Mondays.</p>
	<p>But then Mike raised the key question: &#8220;Why don&#8217;t we create all the calendars for them?&#8221; Upon hearing this, I immediately realized that this was one of those ideas that was just so stupidly obvious that we needed to drop everything and just start building it. So we did.</p>
	<p>We decided that the interface that would be most familiar to students would be one that paralleled <a href="http://student.mit.edu/catalog/index.cgi">MIT&#8217;s online course directory</a>. We would simply copy the HTML from the directory, and <a href="http://en.wikipedia.org/wiki/Don't_be_evil">in the spirit of not being evil</a>, would provide links to make it trivial to add the course schedule to <a href="http://www.mozilla.org/projects/calendar/sunbird/">Sunbird</a> or <a href="http://www.apple.com/macosx/features/ical/">iCal</a> as well as Google Calendar.</p>
	<p>As it turned out, Mike and I were already scheduled to fly to MIT that weekend for some on-campus recruiting. In many ways, it was fitting that we didn&#8217;t sleep at all on the red-eye, discussing our design, and then went straight from Logan to the MIT student center (I got the first LaVerde&#8217;s breakfast sandwich of the day!), and continued hacking until we had published the site.</p>
	<p>Of course, we couldn&#8217;t contain our excitement, and showed off our work to some MIT students who were passing by. One common reaction, which both excited and disappointed me, was, &#8220;Oh man &#8212; I wish you had that a week ago! I <em>already</em> uploaded all of my courses to Google Calendar!&#8221; Clearly the early bird catches the worm, and the early bird was not us.</p>
	<p>We sent the URL around, and the site got some uptake, but it didn&#8217;t generate as large a response as we had hoped. There were definitely a number of things we did wrong (I hope no one accidentally goes to class on Thanksgiving because of us, or misses their final exam, for that matter), but now we know how we can do better (and that we should act earlier) next semester. Although we&#8217;ll be sure to look out for that <a href="http://en.wikipedia.org/wiki/Second-system_effect">second-system effect</a> we learned about in <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-033Spring-2005/CourseHome/index.htm">6.033</a>, you can expect a better version of mitcalendars.com for the spring semester, so be sure to check back in February!
</p>
]]></content:encoded>
			<wfw:commentRSS>http://www.bolinfest.com/changeblog/2006/11/10/did-i-mention-mitcalendarscom/feed/</wfw:commentRSS>
	</item>
	</channel>
</rss>
