Error message for "Octopress Blogger Import Script"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4287406376578749857.archive</id><updated>2012-01-19T02:44:22.086-06:00</updated><category term='images'/><category term='flash'/><category term='solution'/><category term='setChildIndex'/><category term='development'/><category term='965'/><category term='soy tu aire'/><category term='ponycorns'/><category term='offline'/><category term='events'/><category term='reply'/><category term='adobe'/><category term='responds'/><category term='DisplayObject'/><category term='war'/><category term='volumeknob'/><category term='k2'/><category term='iqanderas'/><category term='set'/><category term='not'/><category term='player'/><category term='AS2'/><category term='SWC'/><category term='user name'/><category term='classes'/><category term='license'/><category term='video'/><category term='portal'/><category term='onscreen'/><category term='developer'/><category term='IqAndreas'/><category term='liveCD'/><category term='original'/><category term='line'/><category term='loader'/><category term='work'/><category term='opera'/><category term='removeChildAt'/><category term='paint'/><category term='modifications'/><category term='mad'/><category term='world of goo'/><category term='theme'/><category term='information'/><category term='kirupa'/><category term='graphics'/><category term='volume'/><category term='rants'/><category term='faq'/><category term='bX-jn3okz'/><category term='experiment'/><category term='flashplayer'/><category term='letter'/><category term='SDK'/><category term='rotate'/><category term='beta'/><category term='calvin'/><category term='read'/><category term='amazing'/><category term='tweenLite'/><category term='ikea'/><category term='iPhone'/><category term='untold entertainment'/><category term='Eclipse'/><category term='optimization'/><category term='fp10'/><category term='OOP'/><category term='2710p'/><category term='design'/><category term='communitybuilder'/><category term='flash lite'/><category term='ubuntu'/><category term='removeChild'/><category term='error'/><category term='CS4'/><category term='tween'/><category term='compiler'/><category term='points'/><category term='activeden'/><category term='closed'/><category term='blocks'/><category term='challenge'/><category term='introduction'/><category term='best'/><category term='faves'/><category term='ActionScript'/><category term='explorer'/><category term='lamans'/><category term='input'/><category term='internet channel'/><category term='event'/><category term='SWF'/><category term='2069'/><category term='humble'/><category term='encrypt'/><category term='overture'/><category term='sound'/><category term='plugin'/><category term='extends'/><category term='lookup'/><category term='draw'/><category term='translated'/><category term='statement'/><category term='Action Script'/><category term='cs5'/><category term='learning'/><category term='update'/><category term='wiiware'/><category term='gesture'/><category term='common'/><category term='driver'/><category term='lang ref'/><category term='FlashDevelop'/><category term='DisplayObjectContainer'/><category term='speed'/><category term='wolfire'/><category term='air'/><category term='playbook'/><category term='english'/><category term='optimize'/><category term='chipset'/><category term='banners'/><category term='intrinsic'/><category term='world'/><category term='music'/><category term='indie'/><category term='bookmarks'/><category term='post'/><category term='autocomplete'/><category term='kitchen'/><category term='thread'/><category term='properties'/><category term='pay'/><category term='builder'/><category term='iProducts'/><category term='fwa'/><category term='sql'/><category term='netbook'/><category term='slideshow'/><category term='in progress'/><category term='steam'/><category term='standards'/><category term='steve'/><category term='2071'/><category term='frame'/><category term='questions'/><category term='beginner'/><category term='problem'/><category term='mobile'/><category term='stand out'/><category term='visual'/><category term='replacement'/><category term='knob'/><category term='funny'/><category term='documentation'/><category term='restart'/><category term='3d'/><category term='buy'/><category term='ads'/><category term='donate'/><category term='comic'/><category term='method'/><category term='functions'/><category term='code completion'/><category term='fgl'/><category term='presentation'/><category term='library'/><category term='lugaru'/><category term='find help'/><category term='firefox'/><category term='psychology'/><category term='dispatch'/><category term='favorite'/><category term='NES'/><category term='function'/><category term='family'/><category term='nintendo'/><category term='addChild'/><category term='blogger support'/><category term='screw'/><category term='performance'/><category term='bubbling'/><category term='tv'/><category term='freelance'/><category term='joystiq'/><category term='flashlite'/><category term='get'/><category term='samorost'/><category term='vb.net'/><category term='contest'/><category term='penumbra'/><category term='protect'/><category term='work firefox'/><category term='skinner'/><category term='june'/><category term='continuous'/><category term='displaylist'/><category term='gish'/><category term='parody'/><category term='language'/><category term='dream'/><category term='smartphone'/><category term='programmingwoes'/><category term='game'/><category term='links'/><category term='undocumented'/><category term='compile'/><category term='computespectrum'/><category term='flex'/><category term='working'/><category term='wiiflash'/><category term='filter'/><category term='Action Script 3'/><category term='follow'/><category term='visual studio'/><category term='/forgot.do'/><category term='email address'/><category term='custom'/><category term='intel'/><category term='aquaria'/><category term='reference'/><category term='H.264'/><category term='HTML'/><category term='labs'/><category term='Virtual Console'/><category term='accelerometer'/><category term='illustration'/><category term='decompile'/><category term='10.1'/><category term='methods'/><category term='goo'/><category term='release'/><category term='tweening'/><category term='ide'/><category term='langref'/><category term='k2fave'/><category term='forgot'/><category term='DebugTrace'/><category term='app store'/><category term='wmp'/><category term='week'/><category term='en-us'/><category term='XP'/><category term='cache'/><category term='joomla'/><category term='apple'/><category term='tablet'/><category term='trace'/><category term='blender'/><category term='change'/><category term='classpath'/><category term='gnu'/><category term='manager'/><category term='2dboy'/><category term='forum'/><category term='help'/><category term='10.0'/><category term='implement'/><category term='beautiful'/><category term='stops'/><category term='developers'/><category term='dummies'/><category term='isbetterthanyou'/><category term='gamedev'/><category term='browser'/><category term='addChildAt'/><category term='internet'/><category term='class'/><category term='open'/><category term='readable'/><category term='hobbes'/><category term='CS3'/><category term='fdt'/><category term='vector'/><category term='intellisense'/><category term='default'/><category term='HTML5'/><category term='textField'/><category term='linux'/><category term='unsupported'/><category term='stage'/><category term='debug'/><category term='available'/><category term='DebugText'/><category term='crash'/><category term='blogger account information'/><category term='guide'/><category term='favorites'/><category term='tabs'/><category term='php'/><category term='powerflasher'/><category term='static'/><category term='programming'/><category term='tutorial'/><category term='AS3'/><category term='videos'/><category term='LiveDebug'/><category term='card'/><category term='games'/><category term='wii'/><category term='YouTube'/><category term='instance'/><category term='font'/><category term='blog'/><category term='API'/><category term='learn'/><category term='bitmapdata'/><category term='bubbles'/><category term='constructor'/><category term='source'/><category term='express'/><category term='rotation'/><category term='GitHub'/><category term='blogger'/><category term='jobs'/><category term='ryan creighton'/><category term='wiicade'/><category term='dictionary'/><category term='search'/><category term='microsoft'/><category term='bland'/><category term='iPad'/><category term='michaeljameswilliams'/><category term='bundle'/><category term='password'/><category term='multitouch'/><category term='bitmap'/><title type='text'>The Programming Antics of IQAndreas</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/archive'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/archive'/><link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/archive'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><entry><id>tag:blogger.com,1999:blog-4287406376578749857.layout</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#template'/><title type='text'>Template: The Programming Antics of IQAndreas</title><content type='text'><?xml version="1.0" encoding="UTF-8" ?> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
<html expr:dir='data:blog.languageDirection' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'> | |
<head> | |
<b:include data='blog' name='all-head-content'/> | |
<title><data:blog.pageTitle/></title> | |
<link href='http://iqandreas.isbetterthanyou.org/favicon.ico' rel='shortcut icon' type='image/vnd.microsoft.icon'/> | |
<b:skin><![CDATA[/* | |
* Blogger Template Style | |
* Herbert | |
* | |
* by Jason Sutter | |
* Updated by Blogger Team | |
*/ | |
/* | |
* Variable definitions | |
* ==================== | |
<Variable name="mainBgColor" description="Page Background Color" | |
type="color" default="#ffffff" value="#fcfcfa"/> | |
<Variable name="mainTextColor" description="Text Color" | |
type="color" default="#000000" value="#000000"/> | |
<Variable name="titleBgColor" description="Blog Title Background Color" | |
type="color" default="#ff4500" value="#006699"/> | |
<Variable name="titleColor" description="Blog Title Color" | |
type="color" default="#fffafa" value="#fffafa"/> | |
<Variable name="descriptionBgColor" description="Description Background Color" | |
type="color" default="#ffebcd" value="#e6e6e6"/> | |
<Variable name="descriptionColor" description="Blog Description Color" | |
type="color" default="#9e5205" value="#9e5205"/> | |
<Variable name="dateHeaderColor" description="Date Header Color" | |
type="color" default="#777777" value="#777777"/> | |
<Variable name="postTitleColor" description="Post Title Color" | |
type="color" default="#555555" value="#555555"/> | |
<Variable name="postTitleBgColor" description="Post Title Background Color" | |
type="color" default="#eeeeee" value="#eeeeee"/> | |
<Variable name="postFooterColor" description="Post Footer Color" | |
type="color" default="#444444" value="#444444"/> | |
<Variable name="mainLinkColor" description="Link Color" | |
type="color" default="#de7008" value="#9e5205"/> | |
<Variable name="mainVisitedLinkColor" description="Visited Link Color" | |
type="color" default="#e0ad12" value="#777777"/> | |
<Variable name="sidebarTitleColor" description="Sidebar Title Color" | |
type="color" default="#ff4500" value="#006699"/> | |
<Variable name="sidebarLinkColor" description="Sidebar Link Color" | |
type="color" default="#999999" value="#444444"/> | |
<Variable name="sidebarVisitedLinkColor" | |
description="Sidebar Visited Link Color" | |
type="color" default="#de7008" value="#777777"/> | |
<Variable name="bodyFont" description="Text Font" | |
type="font" default="normal normal 90% 'Trebuchet MS', Trebuchet, Verdana, Sans-Serif" value="normal normal 90% 'Trebuchet MS', Trebuchet, Verdana, Sans-Serif"/> | |
<Variable name="titleFont" description="Blog Title Font" | |
type="font" default="normal bold 266% Verdana, Sans-Serif" value="normal bold 250% 'Trebuchet MS', Trebuchet, sans-serif;"/> | |
<Variable name="descriptionFont" description="Blog Description Font" | |
type="font" default="normal bold 85% Verdana, Sans-Serif" value="normal bold 85% Verdana, Sans-Serif"/> | |
<Variable name="postTitleFont" description="Post Title Font" | |
type="font" default="normal bold 110% Verdana, Sans-serif" value="normal bold 110% Verdana, Sans-serif"> | |
<Variable name="sidebarTitleFont" description="Sidebar Title Font" | |
type="font" default="normal bold 125% Verdana, Sans-Serif" value="normal bold 125% Verdana, Sans-Serif"/> | |
<Variable name="startSide" description="Start side in blog language" | |
type="automatic" default="left" value="left"> | |
<Variable name="endSide" description="End side in blog language" | |
type="automatic" default="right" value="right"> | |
*/ | |
body { | |
margin: 0px; | |
padding: 0px; | |
background: $mainBgColor; | |
color: $mainTextColor; | |
font: $bodyFont; | |
} | |
a { | |
color: $mainLinkColor; | |
text-decoration: none; | |
} | |
a:hover { | |
color: $mainVisitedLinkColor; | |
text-decoration: underline; | |
} | |
a:visited { | |
color: $mainVisitedLinkColor; | |
} | |
a img { | |
border: 0; | |
} | |
@media all { | |
div#main-wrapper { | |
float: $startSide; | |
width: 66%; | |
padding-top: 0; | |
padding-$endSide: 1em; | |
padding-bottom: 0px; | |
padding-$startSide: 1em; | |
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */ | |
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */ | |
} | |
div#sidebar-wrapper { | |
margin: 0px; | |
/*margin-left: 20px;*/ | |
padding: 0px; | |
/*text-align: $endSide;*/ | |
text-align: left; | |
} | |
div#sidebar { | |
width: 30%; | |
float: $endSide; | |
word-wrap: break-word; /* fix for long text breaking sidebar float in IE */ | |
overflow: hidden; /* fix for long non-text content breaking IE sidebar float */ | |
} | |
} | |
#content-wrapper { | |
margin-$endSide: 1em; | |
} | |
@media handheld { | |
div#main-wrapper { | |
float: none; | |
width: 90%; | |
} | |
div#sidebar-wrapper { | |
padding-top: 20px; | |
padding-$endSide: 1em; | |
padding-bottom: 0; | |
padding-$startSide: 1em; | |
text-align: $startSide; | |
} | |
} | |
#header { | |
padding-top: 5px; | |
padding-$endSide: 0px; | |
padding-bottom: 8px; | |
padding-$startSide: 0px; | |
margin-top: 0px; | |
margin-$endSide: 0px; | |
margin-bottom: 20px; | |
margin-$startSide: 0px; | |
border-bottom: solid 1px $postTitleBgColor; | |
border-top: solid 2px $descriptionBgColor; | |
background: $descriptionBgColor; | |
color: $descriptionColor; | |
} | |
h1 a:link { | |
color: $titleColor; | |
} | |
h1 a:visited { | |
color: $titleColor; | |
} | |
h1 { | |
padding-top: 18px; | |
padding-$endSide: 0px; | |
padding-bottom: 10px; | |
padding-$startSide: 5%; | |
margin-top: 0px; | |
margin-$endSide: 0px; | |
margin-bottom: 8px; | |
margin-$startSide: 0px; | |
border-top: solid 9px $sidebarTitleColor; | |
border-bottom: solid 1px $descriptionColor; | |
color: $titleColor; | |
background: $titleBgColor; | |
font: $titleFont; | |
} | |
.description { | |
padding-top: 0px; | |
padding-$endSide: 0px; | |
padding-bottom: 0px; | |
padding-$startSide: 5%; | |
margin: 0px; | |
color: $descriptionColor; | |
background: transparent; | |
font: $descriptionFont; | |
} | |
h3 { | |
margin-top: 0px; | |
margin-$endSide: 0px; | |
margin-bottom: 10px; | |
margin-$startSide: 0px; | |
padding-top: 2px; | |
padding-$endSide: 0px; | |
padding-bottom: 2px; | |
padding-$startSide: 2px; | |
color: $postTitleColor; | |
background: $postTitleBgColor; | |
font: $postTitleFont; | |
} | |
h3.post-title a, | |
h3.post-title a:visited { | |
color: $postTitleColor; | |
} | |
h2.date-header { | |
margin-top: 10px; | |
margin-$endSide: 0px; | |
margin-bottom: 0px; | |
margin-$startSide: 0px; | |
padding-top: 0px; | |
padding-$endSide: 0px; | |
padding-bottom: 0px; | |
padding-$startSide: 2%; | |
color: $dateHeaderColor; | |
font-size: 90%; | |
text-align: $startSide; | |
} | |
#sidebar h2 { | |
margin: 0px; | |
color: $sidebarTitleColor; | |
font: $sidebarTitleFont; | |
padding: 0px; | |
border: none; | |
} | |
#sidebar .widget { | |
margin-top: 0px; | |
margin-$endSide: 0px; | |
margin-bottom: 33px; | |
margin-$startSide: 0px; | |
padding: 0; | |
} | |
#sidebar ul { | |
list-style-type: none; | |
font-size: 95%; | |
margin-top: 0; | |
} | |
#sidebar li { | |
margin: 0px; | |
padding: 0px; | |
list-style-type: none; | |
font-size: 105%; | |
} | |
.Blog { | |
margin-top: 20px; | |
} | |
.blog-posts, .feed-links { | |
margin-$startSide: 2%; | |
} | |
.feed-links { | |
clear: both; | |
line-height: 2.5em; | |
} | |
.post { | |
margin-top: 0; | |
margin-$endSide: 0; | |
margin-bottom: 30px; | |
margin-$startSide: 0; | |
font-size: 100%; | |
} | |
.post-body { | |
margin-top: 0; | |
margin-$endSide: 5px; | |
margin-bottom: 0; | |
margin-$startSide: 5px; | |
} | |
.post strong { | |
font-weight: bold; | |
} | |
#sidebar a { | |
text-decoration: none; | |
} | |
#sidebar a:link, | |
#sidebar a:visited { | |
color: $sidebarLinkColor; | |
} | |
#sidebar a:active, | |
#sidebar a:hover { | |
color: $sidebarVisitedLinkColor; | |
} | |
strike { | |
color: #666666; | |
} | |
pre,code { | |
color: #222222; | |
} | |
.post-footer { | |
padding-top: 0; | |
padding-$endSide: 0; | |
padding-bottom: 0; | |
padding-$startSide: 5px; | |
margin: 0px; | |
color: $postFooterColor; | |
font-size: 80%; | |
} | |
#comments { | |
padding-top: 2px; | |
padding-$endSide: 0px; | |
padding-bottom: 2px; | |
padding-$startSide: 5px; | |
font-size: 110%; | |
font-weight: bold; | |
font-family: Verdana,Sans-Serif; | |
} | |
.comment-author { | |
margin-top: 20px; | |
} | |
.comment-body { | |
margin-top: 10px; | |
font-size: 100%; | |
font-weight: normal; | |
color: black; | |
} | |
.comment-footer { | |
padding: 0px; | |
margin-bottom: 20px; | |
color: $postFooterColor; | |
font-size: 80%; | |
font-weight: normal; | |
display: inline; | |
margin-$endSide: 10px; | |
} | |
.deleted-comment { | |
font-style: italic; | |
color: gray; | |
} | |
.comment-link { | |
margin-$startSide: .6em; | |
} | |
/* Profile | |
----------------------------------------------- */ | |
.profile-textblock { | |
clear: both; | |
margin-$startSide: 0; | |
} | |
.profile-img { | |
margin-top: 0; | |
margin-$endSide: 0; | |
margin-bottom: 5px; | |
margin-$startSide: 5px; | |
float: $endSide; | |
} | |
.BlogArchive #ArchiveList { | |
text-align:left; | |
/*float: $endSide;*/ | |
float: left; | |
} | |
.widget-content { | |
margin-top: 0.5em; | |
} | |
#sidebar .widget { | |
clear: both; | |
} | |
#blog-pager-newer-link { | |
float: $startSide; | |
} | |
.blog-pager-older-link { | |
float: $endSide; | |
} | |
.blog-pager { | |
text-align: center; | |
} | |
.clear { | |
clear: both; | |
} | |
/** Tweaks for subscribe widget */ | |
.widget-content .subscribe-wrapper { | |
float: right; | |
clear: right; | |
margin: .2em; | |
font-family: Arial,Sans-Serif; | |
} | |
/** Tweaks for layout editor mode */ | |
body#layout #outer-wrapper { | |
margin-top: 10px; | |
} | |
]]></b:skin> | |
<meta content='MkMG8Rdq-udvVtvPeI1aNm-J3_XVtbwPC7l6MckbYXg' name='google-site-verification'/> | |
</head> | |
<!-- SET STYLE SHEET FOR AS3 CODE --> | |
<style type='text/css'> | |
.codeOL { color: #fafaf3; | |
background-color: #afaf9f; | |
padding: 0px 0px 0px 40px; margin: 0px; } | |
.c { font-family: monospace; | |
font-size: 12px; | |
padding-left: 5px; | |
color: #fafaf3; } | |
.cd { color: black; } | |
.odd { background-color: #fcfcfd; } | |
.even { background-color: #fafaf7; } | |
.s00 { color:#008000; } | |
.s01 { color:#006000; } | |
.s02 { color:#a31515; } | |
.s03 { color:#000099; } | |
.s04 { color:#ff00ff; } | |
.s05 { color:#0000ff; } | |
.s06 { color:#000090; } | |
.s07 { color:#009090; } | |
.s08 { color:#806060; } | |
.codeDiv { width: auto; height: auto; | |
overflow: visible; display:block; | |
padding: 0px; margin: 0px; } | |
.insideCodeDiv { width: 300%; overflow: visible; | |
display:block; padding: 0px; margin: 0px; } | |
</style> | |
<!-- END STYLE SHEET FOR AS3 CODE --> | |
<style id='dialogs' type='text/css'> | |
/* Style developed and maintained by Andreas Renberg */ | |
div.twitter | |
{ | |
display : block; | |
text-align: center; | |
/*padding-left : 60px;*/ | |
margin-left: auto; | |
margin-right: auto; | |
} | |
div.spacer | |
{ | |
height: 15px; | |
} | |
/* Dialog Boxes */ | |
div.open_post, div.notice, div.post_series | |
{ | |
text-align : center; | |
width : 450px; | |
background-color : #EEEEEE; | |
padding : 15px; | |
margin-left: auto ; | |
margin-right: auto ; | |
margin-bottom : 15px; | |
margin-top : 15px; | |
border-color : #626262; | |
border-style : double; | |
} | |
div.post_series | |
{ | |
/* override the default left alignment */ | |
text-align : left; | |
} | |
/* a.feedlink:link, a.feedlink:visited */ | |
a.feedlink, a.widelink | |
{ | |
display : block; | |
color : #626262; | |
} | |
a.feedlink:hover, a.widelink:hover | |
{ | |
background-color : #626262; | |
color : #FFFFFF; | |
} | |
</style> | |
<!-- PAGE VIEW TRACKING (JavaScript must be enabled!) --> | |
<script type='text/javascript'> | |
var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;); | |
document.write(unescape(&quot;%3Cscript src=&#39;&quot; + gaJsHost + &quot;google-analytics.com/ga.js&#39; type=&#39;text/javascript&#39;%3E%3C/script%3E&quot;)); | |
</script> | |
<script type='text/javascript'> | |
try { | |
var pageTracker = _gat._getTracker(&quot;UA-15151414-1&quot;); | |
pageTracker._trackPageview(); | |
} catch(err) {}</script> | |
<!-- END GOOGLE ANALYTICS PAGE VIEW TRACKING --> | |
<body> | |
<div id='outer-wrapper'><div id='wrap2'> | |
<!-- skip links for text browsers --> | |
<span id='skiplinks' style='display:none;'> | |
<a href='#main'>skip to main </a> | | |
<a href='#sidebar'>skip to sidebar</a> | |
</span> | |
<div id='header-wrapper'> | |
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'> | |
<b:widget id='Header1' locked='true' title='The Programming Antics of IQAndreas (Header)' type='Header'> | |
<b:includable id='main'> | |
<b:if cond='data:useImage'> | |
<b:if cond='data:imagePlacement == &quot;BEHIND&quot;'> | |
<!-- | |
Show image as background to text. You can't really calculate the width | |
reliably in JS because margins are not taken into account by any of | |
clientWidth, offsetWidth or scrollWidth, so we don't force a minimum | |
width if the user is using shrink to fit. | |
This results in a margin-width's worth of pixels being cropped. If the | |
user is not using shrink to fit then we expand the header. | |
--> | |
<b:if cond='data:mobile'> | |
<div id='header-inner'> | |
<div class='titlewrapper' style='background: transparent'> | |
<h1 class='title' style='background: transparent; border-width: 0px'> | |
<b:include name='title'/> | |
</h1> | |
</div> | |
<b:include name='description'/> | |
</div> | |
<b:else/> | |
<div expr:style='&quot;background-image: url(\&quot;&quot; + data:sourceUrl + &quot;\&quot;); &quot; + &quot;background-position: &quot; + data:backgroundPositionStyleStr + &quot;; &quot; + data:widthStyleStr + &quot;min-height: &quot; + data:height + &quot;_height: &quot; + data:height + &quot;background-repeat: no-repeat; &quot;' id='header-inner'> | |
<div class='titlewrapper' style='background: transparent'> | |
<h1 class='title' style='background: transparent; border-width: 0px'> | |
<b:include name='title'/> | |
</h1> | |
</div> | |
<b:include name='description'/> | |
</div> | |
</b:if> | |
<b:else/> | |
<!--Show the image only--> | |
<div id='header-inner'> | |
<a expr:href='data:blog.homepageUrl' style='display: block'> | |
<img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + &quot;_headerimg&quot;' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/> | |
</a> | |
<!--Show the description--> | |
<b:if cond='data:imagePlacement == &quot;BEFORE_DESCRIPTION&quot;'> | |
<b:include name='description'/> | |
</b:if> | |
</div> | |
</b:if> | |
<b:else/> | |
<!--No header image --> | |
<div id='header-inner'> | |
<div class='titlewrapper'> | |
<h1 class='title'> | |
<b:include name='title'/> | |
</h1> | |
</div> | |
<b:include name='description'/> | |
</div> | |
</b:if> | |
</b:includable> | |
<b:includable id='title'> | |
<b:if cond='data:blog.url == data:blog.homepageUrl'> | |
<data:title/> | |
<b:else/> | |
<a expr:href='data:blog.homepageUrl'><data:title/></a> | |
</b:if> | |
</b:includable> | |
<b:includable id='description'> | |
<div class='descriptionwrapper'> | |
<p class='description'><span><data:description/></span></p> | |
</div> | |
</b:includable> | |
</b:widget> | |
</b:section> | |
</div> | |
<div id='content-wrapper'> | |
<!-- Start header HTML --> | |
<!-- END header HTML --> | |
<div id='crosscol-wrapper' style='text-align:center'> | |
<b:section class='crosscol' id='crosscol'/> | |
</div> | |
<div id='main-wrapper'> | |
<b:if cond='data:blog.url == data:blog.homepageUrl'> | |
<!-- POPULAR POSTS HTML --> | |
<div class='notice'>We are currently working on a major rework of the blog and a site to be. If you have any suggestions, either for what type of content you want to see on the site, or even layout opinions or suggestions <a class='widelink' href='http://iqandreas.isbetterthanyou.org/'>leave a comment in this form</a></div> | |
<div style='text-align:center;'><a href='http://iqandreas.blogspot.com/2010/05/calvin-and-jobs.html'><img alt='Calvin and Jobs - Virtues' border='0' src='http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Virtues.png'/></a></div> | |
<br/> | |
<table style='width: 780px; margin-left:auto; margin-right:auto'> | |
<tr> | |
<td style='width: 50%; text-align: center; padding-right: 6px; padding-left: 6px; padding-bottom: 12px; padding-top: 12px; background-color: #eeeeee;'> | |
<strong class='post-title entry-title'>The AS3 Language Reference | |
at the tip of your fingers</strong></td> | |
<td style='text-align: center; padding-right: 6px; padding-left: 6px; padding-bottom: 12px; padding-top: 12px; width: 50%; background-color: #eeeeee;'> | |
<strong class='post-title entry-title'>Action Script Frequently Asked Questions [part 1]</strong></td> | |
</tr> | |
<tr> | |
<td style='width: 50%; height: 97px; padding-right: 6px; padding-left: 6px; text-align: left;' valign='top'> | |
<img src='http://iqandreas.isbetterthanyou.org/tutorials/as3-language-reference-bookmarks/LangRefBookmarks10.jpg' style='border-right: silver 1px solid; border-top: silver 1px solid; float: right; visibility: visible; margin: 6px; border-left: silver 1px solid; width: 131px; border-bottom: silver 1px solid; height: 95px'/>There is no question or dispute about it, if you want to be a good ActionScript | |
developer, you <span style='font-weight: bold'>need</span> to learn how to use the | |
<a href='http://help.adobe.com/en_US/AS3LCR/Flash_10.0/index.html'>ActionScript 3.0 | |
Language Reference</a>. | |
<br/> | |
<br/> | |
Sometimes the Language Reference isn&#39;t always easy to get to. Learn how to add the | |
entire reference to your FireFox Bookmarks Toolbar.</td> | |
<td style='height: 97px; padding-right: 6px; padding-left: 6px; text-align: left;' valign='top'> | |
On the <a href='http://www.kirupa.com/forum/'>Kirupa Forums</a>, you tend to see | |
the same questions appear again, and again, and again...<br/> | |
<br/> | |
Here is part one of a list of frequently asked questions, and posts on the Kirupa | |
Forums where they have been answered.</td> | |
</tr> | |
<tr> | |
<td style='width: 50%; height: 2px; text-align: right;'> | |
<span style='font-size: 10pt; color: #7b68ee'><strong>Posted Feb 11, 2010 </strong> | |
</span><a href='http://iqandreas.blogspot.com/2010/02/language-reference-at-tip-of-your.html'> | |
<strong><span style='font-size: 10pt'>Read more...</span></strong></a></td> | |
<td style='height: 2px; text-align: right;'> | |
<strong><span style='font-size: 10pt; color: mediumslateblue'>Posted Sep 17, 2009 | |
<a href='http://iqandreas.blogspot.com/2009/09/most-common-flash-questions-as3-faq.html'> | |
Read more...</a></span></strong> | |
</td> | |
</tr> | |
<tr> | |
<td style='width: 50%; height: 28px;'> | |
</td> | |
<td style='height: 28px;'> | |
</td> | |
</tr> | |
<tr> | |
<td style='width: 50%; text-align: center; height: 21px; padding-right: 6px; padding-left: 6px; padding-bottom: 12px; padding-top: 12px; background-color: #eeeeee;'> | |
<strong class='post-title entry-title'>DebugText - on-screen, lightweight, trace replacement</strong></td> | |
<td style='text-align: center; height: 21px; padding-right: 6px; padding-left: 6px; padding-bottom: 12px; padding-top: 12px; width: 50%; background-color: #eeeeee;'> | |
<strong class='post-title entry-title'>Digital Volume Knob component</strong></td> | |
</tr> | |
<tr> | |
<td style='width: 50%; height: 97px; padding-right: 6px; padding-left: 6px; text-align: left;' valign='top'> | |
Because trace is not always available (like when preloading external SWFs), and | |
the process of creating new textFields all the time is a bit of a hassle, this simple, | |
easy to use class was developed.<br/> | |
<br/> | |
The DebugText class will create a small textField on the screen that displays whatever | |
you &quot;trace&quot; out, and instead of several lines, one line is enough. It&#39;s just a quick | |
little thing I made in a few minutes, and I definitely plan on expanding on it in | |
the future.<br/> | |
<br/> | |
UPDATED: Now with documentation and a few minor fixes.</td> | |
<td style='height: 97px; padding-right: 6px; padding-left: 6px; text-align: left;' valign='top'> | |
Pass in a DisplayObject as the &quot;knob&quot;, and when the user holds down the mouse and | |
drags around, the volume will increase when rotated to the right, and decrease when | |
rotated to the left.<br/> | |
<br/> | |
It is &quot;continuous&quot;, like those digital volume knobs, where you can turn without | |
limit left and right, and even if volume is all the way down to 0, you can still | |
keep turning left etc.</td> | |
</tr> | |
<tr> | |
<td style='width: 50%; height: 2px; text-align: right;'> | |
<span style='font-size: 10pt; color: #7b68ee'><strong>Posted Dec 11, 2010 </strong> | |
</span><a href='http://iqandreas.blogspot.com/2009/12/debug-text-has-been-updated-now-with.html'> | |
<strong><span style='font-size: 10pt'>Read more...</span></strong></a></td> | |
<td style='height: 2px; text-align: right;'> | |
<strong><span style='font-size: 10pt; color: mediumslateblue'>Posted Dec 5, 2009 | |
<a href='http://iqandreas.blogspot.com/2009/12/volumeknob-component.html'> | |
Read more...</a></span></strong> | |
</td> | |
</tr> | |
<tr> | |
<td style='width: 50%'> | |
</td> | |
<td style='width: 124px'> | |
</td> | |
</tr> | |
</table> | |
<!-- END POPULAR POSTS HTML --> | |
<b:else/> | |
<b:section class='main' id='main' showaddelement='no'> | |
<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'> | |
<b:includable id='nextprev'> | |
<div class='blog-pager' id='blog-pager'> | |
<b:if cond='data:newerPageUrl'> | |
<span id='blog-pager-newer-link'> | |
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a> | |
</span> | |
</b:if> | |
<b:if cond='data:olderPageUrl'> | |
<span id='blog-pager-older-link'> | |
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a> | |
</span> | |
</b:if> | |
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a> | |
<b:if cond='data:mobileLinkUrl'> | |
<div class='blog-mobile-link'> | |
<a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a> | |
</div> | |
</b:if> | |
</div> | |
<div class='clear'/> | |
</b:includable> | |
<b:includable id='shareButtons' var='post'> | |
<b:if cond='data:top.showEmailButton'><a class='goog-inline-block share-button sb-email' expr:href='data:post.sharePostUrl + &quot;&amp;target=email&quot;' expr:title='data:top.emailThisMsg' target='_blank'><span class='share-button-link-text'><data:top.emailThisMsg/></span></a></b:if><b:if cond='data:top.showBlogThisButton'><a class='goog-inline-block share-button sb-blog' expr:href='data:post.sharePostUrl + &quot;&amp;target=blog&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=270,width=475\&quot;); return false;&quot;' expr:title='data:top.blogThisMsg' target='_blank'><span class='share-button-link-text'><data:top.blogThisMsg/></span></a></b:if><b:if cond='data:top.showTwitterButton'><a class='goog-inline-block share-button sb-twitter' expr:href='data:post.sharePostUrl + &quot;&amp;target=twitter&quot;' expr:title='data:top.shareToTwitterMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToTwitterMsg/></span></a></b:if><b:if cond='data:top.showFacebookButton'><a class='goog-inline-block share-button sb-facebook' expr:href='data:post.sharePostUrl + &quot;&amp;target=facebook&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=430,width=640\&quot;); return false;&quot;' expr:title='data:top.shareToFacebookMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToFacebookMsg/></span></a></b:if><b:if cond='data:top.showOrkutButton'><a class='goog-inline-block share-button sb-orkut' expr:href='data:post.sharePostUrl + &quot;&amp;target=orkut&quot;' expr:title='data:top.shareToOrkutMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToOrkutMsg/></span></a></b:if><b:if cond='data:top.showDummy'><div class='goog-inline-block dummy-container'><data:post.dummyTag/></div></b:if> | |
</b:includable> | |
<b:includable id='threaded_comment_js' var='post'> | |
<script defer='defer' expr:src='data:post.commentSrc' type='text/javascript'/> | |
<script type='text/javascript'> | |
(function() { | |
var items = <data:post.commentJso/>; | |
var msgs = <data:post.commentMsgs/>; | |
var postId = &#39;<data:post.id/>&#39;; | |
var feed = &#39;<data:post.commentFeed/>&#39;; | |
var authorName = &#39;<data:post.author/>&#39;; | |
var authorUrl = &#39;<data:post.authorUrl/>&#39;; | |
var blogId = &#39;<data:top.id/>&#39;; | |
var baseUri = &#39;<data:post.commentBase/>&#39;; | |
var maxThreadDepth = &#39;<data:post.commentMaxThreadDepth/>&#39;; | |
// <![CDATA[ | |
feed += '?alt=json&v=2&orderby=published&reverse=false&max-results=50'; | |
var cursor = null; | |
if (items && items.length > 0) { | |
cursor = parseInt(items[items.length - 1].timestamp) + 1; | |
} | |
var bodyFromEntry = function(entry) { | |
if (entry.gd$extendedProperty) { | |
for (var k in entry.gd$extendedProperty) { | |
if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') { | |
return '<span class="deleted-comment">' + entry.content.$t + '</span>'; | |
} | |
} | |
} | |
return entry.content.$t; | |
} | |
var parse = function(data) { | |
cursor = null; | |
var comments = []; | |
if (data && data.feed && data.feed.entry) { | |
for (var i = 0, entry; entry = data.feed.entry[i]; i++) { | |
var comment = {}; | |
// comment ID, parsed out of the original id format | |
var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t); | |
comment.id = id ? id[2] : null; | |
comment.body = bodyFromEntry(entry); | |
comment.timestamp = Date.parse(entry.published.$t) + ''; | |
if (entry.author && entry.author.constructor === Array) { | |
var auth = entry.author[0]; | |
if (auth) { | |
comment.author = { | |
name: (auth.name ? auth.name.$t : undefined), | |
profileUrl: (auth.uri ? auth.uri.$t : undefined), | |
avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined) | |
}; | |
} | |
} | |
if (entry.link) { | |
if (entry.link[2]) { | |
comment.link = comment.permalink = entry.link[2].href; | |
} | |
if (entry.link[3]) { | |
var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href); | |
if (pid && pid[1]) { | |
comment.parentId = pid[1]; | |
} | |
} | |
} | |
comment.deleteclass = 'item-control blog-admin'; | |
if (entry.gd$extendedProperty) { | |
for (var k in entry.gd$extendedProperty) { | |
console.log(entry.gd$extendedProperty[k].name + ' - ' + entry.gd$extendedProperty[k].value); | |
if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') { | |
comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value; | |
} | |
} | |
} | |
comments.push(comment); | |
} | |
} | |
return comments; | |
}; | |
var paginator = function(callback) { | |
if (hasMore()) { | |
var url = feed; | |
if (cursor) { | |
url += '&published-min=' + new Date(cursor).toISOString(); | |
} | |
window.bloggercomments = function(data) { | |
var parsed = parse(data); | |
cursor = parsed.length < 50 ? null | |
: parseInt(parsed[parsed.length - 1].timestamp) + 1 | |
callback(parsed); | |
window.bloggercomments = null; | |
} | |
url += '&callback=bloggercomments'; | |
var script = document.createElement('script'); | |
script.type = 'text/javascript'; | |
script.src = url; | |
document.getElementsByTagName('head')[0].appendChild(script); | |
} | |
}; | |
var hasMore = function() { | |
return !!cursor; | |
}; | |
var getMeta = function(key, comment) { | |
if ('iswriter' == key) { | |
var matches = !!comment.author | |
&& comment.author.name == authorName | |
&& comment.author.profileUrl == authorUrl; | |
return matches ? 'true' : ''; | |
} else if ('deletelink' == key) { | |
return baseUri + '/delete-comment.g?blogID=' + blogId + '&postID=' + comment.id; | |
} else if ('deleteclass' == key) { | |
return comment.deleteclass; | |
} | |
return ''; | |
}; | |
var replybox = null; | |
var replyUrlParts = null; | |
var replyParent = undefined; | |
var onReply = function(commentId, domId) { | |
if (replybox == null) { | |
// lazily cache replybox, and adjust to suit this style: | |
replybox = document.getElementById('comment-editor'); | |
if (replybox != null) { | |
replybox.height = '250px'; | |
replybox.style.display = 'block'; | |
replyUrlParts = replybox.src.split('#'); | |
} | |
} | |
if (replybox && (commentId !== replyParent)) { | |
document.getElementById(domId).insertBefore(replybox, null); | |
replybox.src = replyUrlParts[0] | |
+ (commentId ? '&parentID=' + commentId : '') | |
+ '#' + replyUrlParts[1]; | |
replyParent = commentId; | |
} | |
}; | |
var tok = 'comment-form_'; | |
var hash = window.location.hash || ''; | |
var startThread = hash.indexOf(tok) == 1 ? hash.substring(tok.length + 1) : undefined; | |
// Configure commenting API: | |
var configJso = { | |
'maxDepth': maxThreadDepth | |
}; | |
var provider = { | |
'id': postId, | |
'data': items, | |
'loadNext': paginator, | |
'hasMore': hasMore, | |
'getMeta': getMeta, | |
'onReply': onReply, | |
'rendered': true, | |
'initReplyThread': startThread, | |
'config': configJso, | |
'messages': msgs | |
}; | |
var render = function() { | |
if (window.goog && window.goog.comments) { | |
var holder = document.getElementById('comment-holder'); | |
window.goog.comments.render(holder, provider); | |
} | |
}; | |
// render now, or queue to render when library loads: | |
if (window.goog && window.goog.comments) { | |
render(); | |
} else { | |
window.goog = window.goog || {}; | |
window.goog.comments = window.goog.comments || {}; | |
window.goog.comments.loadQueue = window.goog.comments.loadQueue || []; | |
window.goog.comments.loadQueue.push(render); | |
} | |
})(); | |
// ]]> | |
</script> | |
</b:includable> | |
<b:includable id='backlinks' var='post'> | |
<a name='links'/><h4><data:post.backlinksLabel/></h4> | |
<b:if cond='data:post.numBacklinks != 0'> | |
<dl class='comments-block' id='comments-block'> | |
<b:loop values='data:post.backlinks' var='backlink'> | |
<div class='collapsed-backlink backlink-control'> | |
<dt class='comment-title'> | |
<span class='backlink-toggle-zippy'>&#160;</span> | |
<a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a> | |
<b:include data='backlink' name='backlinkDeleteIcon'/> | |
</dt> | |
<dd class='comment-body collapseable'> | |
<data:backlink.snippet/> | |
</dd> | |
<dd class='comment-footer collapseable'> | |
<span class='comment-author'><data:post.authorLabel/> <data:backlink.author/></span> | |
<span class='comment-timestamp'><data:post.timestampLabel/> <data:backlink.timestamp/></span> | |
</dd> | |
</div> | |
</b:loop> | |
</dl> | |
</b:if> | |
<p class='comment-footer'> | |
<a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + &quot;_backlinks-create-link&quot;' target='_blank'><data:post.createLinkLabel/></a> | |
</p> | |
</b:includable> | |
<b:includable id='mobile-main' var='top'> | |
<!-- posts --> | |
<div class='blog-posts hfeed'> | |
<b:include data='top' name='status-message'/> | |
<b:if cond='data:blog.pageType == &quot;index&quot;'> | |
<b:loop values='data:posts' var='post'> | |
<b:include data='post' name='mobile-index-post'/> | |
</b:loop> | |
<b:else/> | |
<b:loop values='data:posts' var='post'> | |
<b:include data='post' name='mobile-post'/> | |
</b:loop> | |
</b:if> | |
</div> | |
<b:include name='mobile-nextprev'/> | |
</b:includable> | |
<b:includable id='post' var='post'> | |
<div class='post hentry'> | |
<a expr:name='data:post.id'/> | |
<b:if cond='data:post.title'> | |
<h3 class='post-title entry-title'> | |
<b:if cond='data:post.link'> | |
<a expr:href='data:post.link'><data:post.title/></a> | |
<b:else/> | |
<b:if cond='data:post.url'> | |
<a expr:href='data:post.url'><data:post.title/></a> | |
<b:else/> | |
<data:post.title/> | |
</b:if> | |
</b:if> | |
</h3> | |
</b:if> | |
<div class='post-header'> | |
<div class='post-header-line-1'/> | |
</div> | |
<div class='post-body entry-content'> | |
<data:post.body/> | |
<div style='clear: both;'/> <!-- clear for photos floats --> | |
</div> | |
<b:if cond='data:post.hasJumpLink'> | |
<div class='jump-link'> | |
<a expr:href='data:post.url + &quot;#more&quot;' expr:title='data:post.title'><data:post.jumpText/></a> | |
</div> | |
</b:if> | |
<div class='post-footer'> | |
<div class='post-footer-line post-footer-line-1'><span class='post-author vcard'> | |
<b:if cond='data:top.showAuthor'> | |
<data:top.authorLabel/> | |
<span class='fn'><data:post.author/></span> | |
</b:if> | |
</span> <span class='post-timestamp'> | |
<b:if cond='data:top.showTimestamp'> | |
<data:top.timestampLabel/> | |
<b:if cond='data:post.url'> | |
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a> | |
</b:if> | |
</b:if> | |
</span> <span class='post-comment-link'> | |
<b:if cond='data:blog.pageType != &quot;item&quot;'> | |
<b:if cond='data:post.allowComments'> | |
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> | |
</b:if> | |
</b:if> | |
</span> <span class='post-icons'> | |
<!-- email post links --> | |
<b:if cond='data:post.emailPostUrl'> | |
<span class='item-action'> | |
<a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'> | |
<img alt='' class='icon-action' height='13' src='http://www.blogger.com/img/icon18_email.gif' width='18'/> | |
</a> | |
</span> | |
</b:if> | |
<!-- quickedit pencil --> | |
<b:include data='post' name='postQuickEdit'/> | |
</span> <span class='post-backlinks post-comment-link'> | |
<b:if cond='data:blog.pageType != &quot;item&quot;'> | |
<b:if cond='data:post.showBacklinks'> | |
<a class='comment-link' expr:href='data:post.url + &quot;#links&quot;'><data:top.backlinkLabel/></a> | |
</b:if> | |
</b:if> | |
</span> </div> | |
<div class='post-footer-line post-footer-line-2'><span class='post-labels'> | |
<b:if cond='data:post.labels'> | |
<data:postLabelsLabel/> | |
<b:loop values='data:post.labels' var='label'> | |
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if> | |
</b:loop> | |
</b:if> | |
</span> </div> | |
<div class='post-footer-line post-footer-line-3'><span class='post-location'> | |
<b:if cond='data:top.showLocation'> | |
<b:if cond='data:post.location'> | |
<data:postLocationLabel/> | |
<a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a> | |
</b:if> | |
</b:if> | |
</span> </div> | |
</div> | |
</div> | |
</b:includable> | |
<b:includable id='status-message'> | |
<b:if cond='data:navMessage'> | |
<div class='status-msg-wrap'> | |
<div class='status-msg-body'> | |
<data:navMessage/> | |
</div> | |
<div class='status-msg-border'> | |
<div class='status-msg-bg'> | |
<div class='status-msg-hidden'><data:navMessage/></div> | |
</div> | |
</div> | |
</div> | |
<div style='clear: both;'/> | |
</b:if> | |
</b:includable> | |
<b:includable id='comment-form' var='post'> | |
<div class='comment-form'> | |
<a name='comment-form'/> | |
<b:if cond='data:mobile'> | |
<h4 id='comment-post-message'> | |
<a expr:id='data:widget.instanceId + &quot;_comment-editor-toggle-link&quot;' href='javascript:void(0)'><data:postCommentMsg/></a></h4> | |
<p><data:blogCommentMessage/></p> | |
<data:blogTeamBlogMessage/> | |
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> | |
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/> | |
<b:else/> | |
<h4 id='comment-post-message'><data:postCommentMsg/></h4> | |
<p><data:blogCommentMessage/></p> | |
<data:blogTeamBlogMessage/> | |
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> | |
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/> | |
</b:if> | |
<data:post.friendConnectJs/> | |
<data:post.cmtfpIframe/> | |
<script type='text/javascript'> | |
BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;); | |
</script> | |
</div> | |
</b:includable> | |
<b:includable id='threaded_comments' var='post'> | |
<b:include name='threaded_comment_css'/> | |
<div class='comments' id='comments'> | |
<a name='comments'/> | |
<h4> | |
<b:if cond='data:post.numComments == 1'> | |
1 <data:commentLabel/>: | |
<b:else/> | |
<data:post.numComments/> <data:commentLabelPlural/>: | |
</b:if> | |
</h4> | |
<div class='comments-content'> | |
<b:if cond='data:post.embedCommentForm'> | |
<b:include data='post' name='threaded_comment_js'/> | |
</b:if> | |
<div id='comment-holder'> | |
<data:post.commentHtml/> | |
</div> | |
</div> | |
<p class='comment-footer'> | |
<b:if cond='data:post.allowNewComments'> | |
<b:include data='post' name='threaded-comment-form'/> | |
<b:else/> | |
<data:post.noNewCommentsText/> | |
</b:if> | |
</p> | |
<b:if cond='data:showCmtPopup'> | |
<div id='comment-popup'> | |
<iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'> | |
</iframe> | |
</div> | |
</b:if> | |
<div id='backlinks-container'> | |
<div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'> | |
<b:if cond='data:post.showBacklinks'> | |
<b:include data='post' name='backlinks'/> | |
</b:if> | |
</div> | |
</div> | |
</div> | |
</b:includable> | |
<b:includable id='backlinkDeleteIcon' var='backlink'> | |
<span expr:class='&quot;item-control &quot; + data:backlink.adminClass'> | |
<a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'> | |
<img src='//www.blogger.com/img/icon_delete13.gif'/> | |
</a> | |
</span> | |
</b:includable> | |
<b:includable id='mobile-nextprev'> | |
<div class='blog-pager' id='blog-pager'> | |
<b:if cond='data:newerPageUrl'> | |
<div class='mobile-link-button' id='blog-pager-newer-link'> | |
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'>&amp;lsaquo;</a> | |
</div> | |
</b:if> | |
<b:if cond='data:olderPageUrl'> | |
<div class='mobile-link-button' id='blog-pager-older-link'> | |
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'>&amp;rsaquo;</a> | |
</div> | |
</b:if> | |
<div class='mobile-link-button' id='blog-pager-home-link'> | |
<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a> | |
</div> | |
<div class='mobile-desktop-link'> | |
<a class='home-link' expr:href='data:desktopLinkUrl'><data:desktopLinkMsg/></a> | |
</div> | |
</div> | |
<div class='clear'/> | |
</b:includable> | |
<b:includable id='mobile-post' var='post'> | |
<div class='date-outer'> | |
<b:if cond='data:post.dateHeader'> | |
<h2 class='date-header'><span><data:post.dateHeader/></span></h2> | |
</b:if> | |
<div class='date-posts'> | |
<div class='post-outer'> | |
<div class='post hentry uncustomized-post-template'> | |
<a expr:name='data:post.id'/> | |
<b:if cond='data:post.title'> | |
<h3 class='post-title entry-title'> | |
<b:if cond='data:post.link'> | |
<a expr:href='data:post.link'><data:post.title/></a> | |
<b:else/> | |
<b:if cond='data:post.url'> | |
<b:if cond='data:blog.url != data:post.url'> | |
<a expr:href='data:post.url'><data:post.title/></a> | |
<b:else/> | |
<data:post.title/> | |
</b:if> | |
<b:else/> | |
<data:post.title/> | |
</b:if> | |
</b:if> | |
</h3> | |
</b:if> | |
<div class='post-header'> | |
<div class='post-header-line-1'/> | |
</div> | |
<div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id'> | |
<data:post.body/> | |
<div style='clear: both;'/> <!-- clear for photos floats --> | |
</div> | |
<div class='post-footer'> | |
<div class='post-footer-line post-footer-line-1'> | |
<span class='post-author vcard'> | |
<b:if cond='data:top.showAuthor'> | |
<b:if cond='data:post.authorProfileUrl'> | |
<span class='fn'> | |
<a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'> | |
<data:post.author/> | |
</a> | |
</span> | |
<b:else/> | |
<span class='fn'><data:post.author/></span> | |
</b:if> | |
</b:if> | |
</span> | |
<span class='post-timestamp'> | |
<b:if cond='data:top.showTimestamp'> | |
<data:top.timestampLabel/> | |
<b:if cond='data:post.url'> | |
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a> | |
</b:if> | |
</b:if> | |
</span> | |
<span class='post-comment-link'> | |
<b:if cond='data:blog.pageType != &quot;item&quot;'> | |
<b:if cond='data:blog.pageType != &quot;static_page&quot;'> | |
<b:if cond='data:post.allowComments'> | |
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> | |
</b:if> | |
</b:if> | |
</b:if> | |
</span> | |
</div> | |
<div class='post-footer-line post-footer-line-2'> | |
<b:if cond='data:top.showMobileShare'> | |
<div class='mobile-link-button goog-inline-block' id='mobile-share-button'> | |
<a href='javascript:void(0);'><data:shareMsg/></a> | |
</div> | |
</b:if> | |
<b:if cond='data:top.showDummy'> | |
<div class='goog-inline-block dummy-container'><data:post.dummyTag/></div> | |
</b:if> | |
</div> | |
</div> | |
</div> | |
<b:if cond='data:blog.pageType == &quot;static_page&quot;'> | |
<b:if cond='data:post.showThreadedComments'> | |
<b:include data='post' name='threaded_comments'/> | |
<b:else/> | |
<b:include data='post' name='comments'/> | |
</b:if> | |
</b:if> | |
<b:if cond='data:blog.pageType == &quot;item&quot;'> | |
<b:if cond='data:post.showThreadedComments'> | |
<b:include data='post' name='threaded_comments'/> | |
<b:else/> | |
<b:include data='post' name='comments'/> | |
</b:if> | |
</b:if> | |
</div> | |
</div> | |
</div> | |
</b:includable> | |
<b:includable id='postQuickEdit' var='post'> | |
<b:if cond='data:post.editUrl'> | |
<span expr:class='&quot;item-control &quot; + data:post.adminClass'> | |
<a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'> | |
<img alt='' class='icon-action' height='18' src='http://img2.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> | |
</a> | |
</span> | |
</b:if> | |
</b:includable> | |
<b:includable id='main' var='top'> | |
<b:if cond='data:mobile == &quot;false&quot;'> | |
<!-- posts --> | |
<div class='blog-posts hfeed'> | |
<b:include data='top' name='status-message'/> | |
<data:defaultAdStart/> | |
<b:loop values='data:posts' var='post'> | |
<b:if cond='data:post.isDateStart'> | |
<b:if cond='data:post.isFirstPost == &quot;false&quot;'> | |
&lt;/div&gt;&lt;/div&gt; | |
</b:if> | |
</b:if> | |
<b:if cond='data:post.isDateStart'> | |
&lt;div class=&quot;date-outer&quot;&gt; | |
</b:if> | |
<b:if cond='data:post.dateHeader'> | |
<h2 class='date-header'><span><data:post.dateHeader/></span></h2> | |
</b:if> | |
<b:if cond='data:post.isDateStart'> | |
&lt;div class=&quot;date-posts&quot;&gt; | |
</b:if> | |
<div class='post-outer'> | |
<b:include data='post' name='post'/> | |
<b:if cond='data:blog.pageType == &quot;static_page&quot;'> | |
<b:if cond='data:post.showThreadedComments'> | |
<b:include data='post' name='threaded_comments'/> | |
<b:else/> | |
<b:include data='post' name='comments'/> | |
</b:if> | |
</b:if> | |
<b:if cond='data:blog.pageType == &quot;item&quot;'> | |
<b:if cond='data:post.showThreadedComments'> | |
<b:include data='post' name='threaded_comments'/> | |
<b:else/> | |
<b:include data='post' name='comments'/> | |
</b:if> | |
</b:if> | |
</div> | |
<b:if cond='data:post.includeAd'> | |
<b:if cond='data:post.isFirstPost'> | |
<data:defaultAdEnd/> | |
<b:else/> | |
<data:adEnd/> | |
</b:if> | |
<div class='inline-ad'> | |
<data:adCode/> | |
</div> | |
<data:adStart/> | |
</b:if> | |
</b:loop> | |
<b:if cond='data:numPosts != 0'> | |
&lt;/div&gt;&lt;/div&gt; | |
</b:if> | |
<data:adEnd/> | |
</div> | |
<!-- navigation --> | |
<b:include name='nextprev'/> | |
<!-- feed links --> | |
<b:include name='feedLinks'/> | |
<b:if cond='data:top.showStars'> | |
<script src='//www.google.com/jsapi' type='text/javascript'/> | |
<script type='text/javascript'> | |
google.load(&quot;annotations&quot;, &quot;1&quot;, {&quot;locale&quot;: &quot;<data:top.languageCode/>&quot;}); | |
function initialize() { | |
google.annotations.setApplicationId(<data:top.blogspotReviews/>); | |
google.annotations.createAll(); | |
google.annotations.fetch(); | |
} | |
google.setOnLoadCallback(initialize); | |
</script> | |
</b:if> | |
<b:else/> | |
<b:include name='mobile-main'/> | |
</b:if> | |
<b:if cond='data:top.showDummy'> | |
<data:top.dummyBootstrap/> | |
</b:if> | |
</b:includable> | |
<b:includable id='commentDeleteIcon' var='comment'> | |
<span expr:class='&quot;item-control &quot; + data:comment.adminClass'> | |
<b:if cond='data:showCmtPopup'> | |
<div class='goog-toggle-button'> | |
<div class='goog-inline-block comment-action-icon'/> | |
</div> | |
<b:else/> | |
<a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'> | |
<img src='//www.blogger.com/img/icon_delete13.gif'/> | |
</a> | |
</b:if> | |
</span> | |
</b:includable> | |
<b:includable id='feedLinks'> | |
<b:if cond='data:blog.pageType != &quot;item&quot;'> <!-- Blog feed links --> | |
<b:if cond='data:feedLinks'> | |
<div class='blog-feeds'> | |
<b:include data='feedLinks' name='feedLinksBody'/> | |
</div> | |
</b:if> | |
<b:else/> <!--Post feed links --> | |
<div class='post-feeds'> | |
<b:loop values='data:posts' var='post'> | |
<b:if cond='data:post.allowComments'> | |
<b:if cond='data:post.feedLinks'> | |
<b:include data='post.feedLinks' name='feedLinksBody'/> | |
</b:if> | |
</b:if> | |
</b:loop> | |
</div> | |
</b:if> | |
</b:includable> | |
<b:includable id='threaded-comment-form' var='post'> | |
<div class='comment-form'> | |
<a name='comment-form'/> | |
<b:if cond='data:mobile'> | |
<p><data:blogCommentMessage/></p> | |
<data:blogTeamBlogMessage/> | |
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> | |
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/> | |
<b:else/> | |
<p><data:blogCommentMessage/></p> | |
<data:blogTeamBlogMessage/> | |
<a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/> | |
<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' width='100%'/> | |
</b:if> | |
<data:post.friendConnectJs/> | |
<data:post.cmtfpIframe/> | |
<script type='text/javascript'> | |
BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;, &#39;<data:post.communityId/>&#39;); | |
</script> | |
</div> | |
</b:includable> | |
<b:includable id='threaded_comment_css'> | |
<style> | |
.comments { | |
clear: both; | |
margin-top: 10px; | |
margin-bottom: 0px; | |
line-height: 1em; | |
} | |
.comments .comments-content { | |
font-size: 13px; | |
margin-bottom: 16px; | |
} | |
.comments .comment .comment-actions a { | |
padding-top: 5px; | |
padding-right: 5px; | |
} | |
.comments .comment .comment-actions a:hover { | |
text-decoration: underline; | |
} | |
.comments .comments-content .comment-thread ol { | |
list-style-type: none; | |
padding: 0; | |
text-align: left; | |
} | |
.comments .comments-content .inline-thread { | |
padding: 0.5em 1em; | |
} | |
.comments .comments-content .comment-thread { | |
margin: 8px 0px; | |
} | |
.comments .comments-content .comment-thread:empty { | |
display: none; | |
} | |
.comments .comments-content .comment-replies { | |
margin-top: 1em; | |
margin-left: 36px; | |
} | |
.comments .comments-content .comment { | |
margin-bottom:16px; | |
padding-bottom:8px; | |
} | |
.comments .comments-content .comment:first-child { | |
padding-top:16px; | |
} | |
.comments .comments-content .comment:last-child { | |
border-bottom:0; | |
padding-bottom:0; | |
} | |
.comments .comments-content .comment-body { | |
position:relative; | |
} | |
.comments .comments-content .user { | |
font-style:normal; | |
font-weight:bold; | |
} | |
.comments .comments-content .icon.blog-author { | |
width: 18px; | |
height: 18px; | |
display: inline-block; | |
margin: 0 0 -4px 6px; | |
} | |
.comments .comments-content .datetime { | |
margin-left:6px; | |
} | |
.comments .comments-content .comment-header, | |
.comments .comments-content .comment-content { | |
margin:0 0 8px; | |
} | |
.comments .comments-content .comment-content { | |
text-align:justify; | |
} | |
.comments .comments-content .owner-actions { | |
position:absolute; | |
right:0; | |
top:0; | |
} | |
.comments .comments-replybox { | |
border: none; | |
height: 250px; | |
width: 100%; | |
} | |
.comments .comment-replybox-single { | |
margin-top: 5px; | |
margin-left: 48px; | |
} | |
.comments .comment-replybox-thread { | |
margin-top: 5px; | |
} | |
.comments .comments-content .loadmore a { | |
display: block; | |
padding: 10px 16px; | |
text-align: center; | |
} | |
.comments .thread-toggle { | |
cursor: pointer; | |
display: inline-block; | |
} | |
.comments .continue { | |
cursor: pointer; | |
} | |
.comments .continue a { | |
display: block; | |
padding: 0.5em; | |
font-weight: bold; | |
} | |
.comments .comments-content .loadmore { | |
cursor: pointer; | |
max-height: 3em; | |
margin-top: 3em; | |
} | |
.comments .comments-content .loadmore.loaded { | |
max-height: 0px; | |
opacity: 0; | |
overflow: hidden; | |
} | |
.comments .thread-chrome.thread-collapsed { | |
display: none; | |
} | |
.comments .thread-toggle { | |
display: inline-block; | |
} | |
.comments .thread-toggle .thread-arrow { | |
display: inline-block; | |
height: 6px; | |
width: 7px; | |
overflow: visible; | |
margin: 0.3em; | |
padding-right: 4px; | |
} | |
.comments .thread-expanded .thread-arrow { | |
background: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAG0lEQVR42mNgwAfKy8v/48I4FeA0AacVDFQBAP9wJkE/KhUMAAAAAElFTkSuQmCC&quot;) no-repeat scroll 0 0 transparent; | |
} | |
.comments .thread-collapsed .thread-arrow { | |
background: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAJUlEQVR42mNgAILy8vL/DLgASBKnApgkVgXIkhgKiNKJ005s4gDLbCZBiSxfygAAAABJRU5ErkJggg==&quot;) no-repeat scroll 0 0 transparent; | |
} | |
.comments .avatar-image-container { | |
float: left; | |
width: 36px; | |
max-height: 36px; | |
overflow: hidden; | |
} | |
.comments .avatar-image-container img { | |
width: 36px; | |
} | |
.comments .comment-block { | |
margin-left: 48px; | |
position: relative; | |
} | |
/* Responsive styles. */ | |
@media screen and (max-device-width: 480px) { | |
.comments .comments-content .comment-replies { | |
margin-left: 0; | |
} | |
} | |
</style> | |
</b:includable> | |
<b:includable id='mobile-index-post' var='post'> | |
<div class='mobile-date-outer date-outer'> | |
<b:if cond='data:post.dateHeader'> | |
<div class='date-header'> | |
<span><data:post.dateHeader/></span> | |
</div> | |
</b:if> | |
<div class='mobile-post-outer'> | |
<a expr:href='data:post.url'> | |
<h3 class='mobile-index-title entry-title'> | |
<data:post.title/> | |
</h3> | |
<div class='mobile-index-arrow'>&amp;rsaquo;</div> | |
<div class='mobile-index-contents'> | |
<b:if cond='data:post.thumbnailUrl'> | |
<div class='mobile-index-thumbnail'> | |
<div class='Image'> | |
<img expr:src='data:post.thumbnailUrl'/> | |
</div> | |
</div> | |
</b:if> | |
<div class='post-body'> | |
<b:if cond='data:post.snippet'><data:post.snippet/></b:if> | |
</div> | |
</div> | |
<div style='clear: both;'/> | |
</a> | |
<div class='mobile-index-comment'> | |
<b:if cond='data:blog.pageType != &quot;static_page&quot;'> | |
<b:if cond='data:post.allowComments'> | |
<b:if cond='data:post.numComments != 0'> | |
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> | |
</b:if> | |
</b:if> | |
</b:if> | |
</div> | |
</div> | |
</div> | |
</b:includable> | |
<b:includable id='feedLinksBody' var='links'> | |
<div class='feed-links'> | |
<data:feedLinksMsg/> | |
<b:loop values='data:links' var='f'> | |
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a> | |
</b:loop> | |
</div> | |
</b:includable> | |
<b:includable id='comments' var='post'> | |
<div class='comments' id='comments'> | |
<a name='comments'/> | |
<b:if cond='data:post.allowComments'> | |
<h4> | |
<b:if cond='data:post.numComments == 1'> | |
1 <data:commentLabel/>: | |
<b:else/> | |
<data:post.numComments/> <data:commentLabelPlural/>: | |
</b:if> | |
</h4> | |
<b:if cond='data:post.commentPagingRequired'> | |
<span class='paging-control-container'> | |
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a> | |
&#160; | |
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a> | |
&#160; | |
<data:post.commentRangeText/> | |
&#160; | |
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a> | |
&#160; | |
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a> | |
</span> | |
</b:if> | |
<div expr:id='data:widget.instanceId + &quot;_comments-block-wrapper&quot;'> | |
<dl expr:class='data:post.avatarIndentClass' id='comments-block'> | |
<b:loop values='data:post.comments' var='comment'> | |
<dt expr:class='&quot;comment-author &quot; + data:comment.authorClass' expr:id='data:comment.anchorName'> | |
<b:if cond='data:comment.favicon'> | |
<img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/> | |
</b:if> | |
<a expr:name='data:comment.anchorName'/> | |
<b:if cond='data:blog.enabledCommentProfileImages'> | |
<data:comment.authorAvatarImage/> | |
</b:if> | |
<b:if cond='data:comment.authorUrl'> | |
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a> | |
<b:else/> | |
<data:comment.author/> | |
</b:if> | |
<data:commentPostedByMsg/> | |
</dt> | |
<dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'> | |
<b:if cond='data:comment.isDeleted'> | |
<span class='deleted-comment'><data:comment.body/></span> | |
<b:else/> | |
<p> | |
<data:comment.body/> | |
</p> | |
</b:if> | |
</dd> | |
<dd class='comment-footer'> | |
<span class='comment-timestamp'> | |
<a expr:href='data:comment.url' title='comment permalink'> | |
<data:comment.timestamp/> | |
</a> | |
<b:include data='comment' name='commentDeleteIcon'/> | |
</span> | |
</dd> | |
</b:loop> | |
</dl> | |
</div> | |
<b:if cond='data:post.commentPagingRequired'> | |
<span class='paging-control-container'> | |
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'> | |
<data:post.oldestLinkText/> | |
</a> | |
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'> | |
<data:post.olderLinkText/> | |
</a> | |
&#160; | |
<data:post.commentRangeText/> | |
&#160; | |
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'> | |
<data:post.newerLinkText/> | |
</a> | |
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'> | |
<data:post.newestLinkText/> | |
</a> | |
</span> | |
</b:if> | |
<p class='comment-footer'> | |
<b:if cond='data:post.embedCommentForm'> | |
<b:if cond='data:post.allowNewComments'> | |
<b:include data='post' name='comment-form'/> | |
<b:else/> | |
<data:post.noNewCommentsText/> | |
</b:if> | |
<b:else/> | |
<b:if cond='data:post.allowComments'> | |
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a> | |
</b:if> | |
</b:if> | |
</p> | |
</b:if> | |
<b:if cond='data:showCmtPopup'> | |
<div id='comment-popup'> | |
<iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'> | |
</iframe> | |
</div> | |
</b:if> | |
<div id='backlinks-container'> | |
<div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'> | |
<b:if cond='data:post.showBacklinks'> | |
<b:include data='post' name='backlinks'/> | |
</b:if> | |
</div> | |
</div> | |
</div> | |
</b:includable> | |
</b:widget> | |
</b:section> | |
</b:if> | |
</div> | |
<div id='sidebar-wrapper'> | |
<!-- TWITTER "Follow me" button --> | |
<br/> | |
<div class='twitter'> | |
<!--<img height='48' src='http://www.twitterbuttons.com/images/lbn/twitterbutton-0108.png' title='Follow IqAndreas on Twitter' width='142'/>--> | |
<a href='http://twitter.com/IqAndreas'><img src='http://iqandreas.isbetterthanyou.org/_img/twitter_follow.png' title='Follow IqAndreas on Twitter'/></a><br/> | |
<a href='http://www.kirupa.com/'><img src='http://iqandreas.isbetterthanyou.org/_img/kirupa_learn.png' title='Learn flash at Kirupa.com'/></a><!--<br/>--> | |
<form action='https://www.paypal.com/cgi-bin/webscr' method='post'> | |
<input name='cmd' type='hidden' value='_s-xclick'/> | |
<input name='hosted_button_id' type='hidden' value='NH7QXLMGNKB6J'/> | |
<input alt='PayPal - The safer, easier way to pay online!' border='0' name='submit' src='http://iqandreas.isbetterthanyou.org/_img/paypal_donate.png' type='image'/> | |
<!--<br/><input alt='PayPal - The safer, easier way to pay online!' border='0' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif' type='image'/><img alt='' border='0' height='1' src='https://www.paypal.com/en_US/i/scr/pixel.gif' width='1'/>--> | |
</form><br/> | |
</div> | |
<b:section class='sidebar' id='sidebar' preferred='yes'> | |
<b:widget id='BlogArchive2' locked='false' title='Older Posts' type='BlogArchive'> | |
<b:includable id='main'> | |
<b:if cond='data:title'> | |
<h2><data:title/></h2> | |
</b:if> | |
<div class='widget-content'> | |
<div id='ArchiveList'> | |
<div expr:id='data:widget.instanceId + &quot;_ArchiveList&quot;'> | |
<b:if cond='data:style == &quot;HIERARCHY&quot;'> | |
<b:include data='data' name='interval'/> | |
</b:if> | |
<b:if cond='data:style == &quot;FLAT&quot;'> | |
<b:include data='data' name='flat'/> | |
</b:if> | |
<b:if cond='data:style == &quot;MENU&quot;'> | |
<b:include data='data' name='menu'/> | |
</b:if> | |
</div> | |
</div> | |
<b:include name='quickedit'/> | |
</div> | |
</b:includable> | |
<b:includable id='flat' var='data'> | |
<ul class='flat'> | |
<b:loop values='data:data' var='i'> | |
<li class='archivedate'> | |
<a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>) | |
</li> | |
</b:loop> | |
</ul> | |
</b:includable> | |
<b:includable id='menu' var='data'> | |
<select expr:id='data:widget.instanceId + &quot;_ArchiveMenu&quot;'> | |
<option value=''><data:title/></option> | |
<b:loop values='data:data' var='i'> | |
<option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option> | |
</b:loop> | |
</select> | |
</b:includable> | |
<b:includable id='interval' var='intervalData'> | |
<b:loop values='data:intervalData' var='i'> | |
<ul class='hierarchy'> | |
<li expr:class='&quot;archivedate &quot; + data:i.expclass'> | |
<b:include data='i' name='toggle'/> | |
<a class='post-count-link' expr:href='data:i.url'><data:i.name/></a> | |
<span class='post-count' dir='ltr'>(<data:i.post-count/>)</span> | |
<b:if cond='data:i.data'> | |
<b:include data='i.data' name='interval'/> | |
</b:if> | |
<b:if cond='data:i.posts'> | |
<b:include data='i.posts' name='posts'/> | |
</b:if> | |
</li> | |
</ul> | |
</b:loop> | |
</b:includable> | |
<b:includable id='toggle' var='interval'> | |
<b:if cond='data:interval.toggleId'> | |
<b:if cond='data:interval.expclass == &quot;expanded&quot;'> | |
<a class='toggle' href='javascript:void(0)'> | |
<span class='zippy toggle-open'>&#9660;&#160;</span> | |
</a> | |
<b:else/> | |
<a class='toggle' href='javascript:void(0)'> | |
<span class='zippy'> | |
<b:if cond='data:blog.languageDirection == &quot;rtl&quot;'> | |
&#9668;&#160; | |
<b:else/> | |
&#9658;&#160; | |
</b:if> | |
</span> | |
</a> | |
</b:if> | |
</b:if> | |
</b:includable> | |
<b:includable id='posts' var='posts'> | |
<ul class='posts'> | |
<b:loop values='data:posts' var='i'> | |
<li><a expr:href='data:i.url'><data:i.title/></a></li> | |
</b:loop> | |
</ul> | |
</b:includable> | |
</b:widget> | |
<b:widget id='AdSense1' locked='false' title='' type='AdSense'> | |
<b:includable id='main'> | |
<div class='widget-content'> | |
<data:adCode/> | |
<b:include name='quickedit'/> | |
</div> | |
</b:includable> | |
</b:widget> | |
<b:widget id='Gadget2' locked='false' title='Recent Posts' type='Gadget'> | |
<b:includable id='main'> | |
<!-- only display title if it's non-empty --> | |
<b:if cond='data:renderingUrl != &quot;&quot;'> | |
<b:if cond='data:title != &quot;&quot;'> | |
<h2 class='title'><data:title/></h2> | |
</b:if> | |
<b:if cond='data:gadgetSnippet != &quot;&quot;'> | |
<data:gadgetSnippet/> | |
<b:else/> | |
<div class='widget-content'> | |
<b:if cond='data:nonSocialFragment != &quot;&quot;'> | |
<data:nonSocialFragment/> | |
</b:if> | |
</div> | |
</b:if> | |
<b:else/> | |
<data:errorMessage/> | |
</b:if> | |
<b:include name='quickedit'/> | |
</b:includable> | |
</b:widget> | |
</b:section> | |
</div> | |
<!-- spacer for skins that want sidebar and main to be the same height--> | |
<div class='clear'>&#160;</div> | |
</div> <!-- end content-wrapper --> | |
</div></div> <!-- end outer-wrapper --> | |
</body> | |
</html></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/template/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/template/default'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_PUBLISHING_MODE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The type of publishing done for this blog.</title><content type='text'>PUBLISH_MODE_BLOGSPOT</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_PUBLISHING_MODE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_PUBLISHING_MODE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_NAME</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The name of the blog</title><content type='text'>The Programming Antics of IQAndreas</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_NAME'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_NAME'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_DESCRIPTION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>A description of the blog</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DESCRIPTION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DESCRIPTION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_META_DESCRIPTION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The meta description of the blog served to search engines.</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_META_DESCRIPTION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_META_DESCRIPTION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_META_DESCRIPTION_ENABLED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether this blog is served with meta descriptions.</title><content type='text'>false</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_META_DESCRIPTION_ENABLED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_META_DESCRIPTION_ENABLED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_CUSTOM_ROBOTS_TXT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The custom robots.txt content of the blog served to search engines.</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_CUSTOM_ROBOTS_TXT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_CUSTOM_ROBOTS_TXT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_CUSTOM_ROBOTS_TXT_ENABLED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether this blog serves custom robots.txt content to search engines.</title><content type='text'>false</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_CUSTOM_ROBOTS_TXT_ENABLED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_CUSTOM_ROBOTS_TXT_ENABLED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_PROMOTED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether this blog can be promoted on Blogger</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_PROMOTED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_PROMOTED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_SEARCHABLE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether this blog should be indexed by search engines</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SEARCHABLE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SEARCHABLE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_ADULT_CONTENT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether this blog contains adult content</title><content type='text'>false</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ADULT_CONTENT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ADULT_CONTENT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_QUICK_EDITING</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether Quick Editing is enabled</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_QUICK_EDITING'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_QUICK_EDITING'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_EMAIL_POST_LINKS</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show a link for users to e-mail posts</title><content type='text'>false</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_EMAIL_POST_LINKS'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_EMAIL_POST_LINKS'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_ANALYTICS_ACCOUNT_NUMBER</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Blog's Google Analytics account number</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ANALYTICS_ACCOUNT_NUMBER'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ANALYTICS_ACCOUNT_NUMBER'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_MAX_NUM</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Maximum number of things to show on the main page"</title><content type='text'>1</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_MAX_NUM'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_MAX_NUM'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_MAX_UNIT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Unit of things to show on the main page</title><content type='text'>POSTS</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_MAX_UNIT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_MAX_UNIT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_DATE_FORMAT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The number of the date header format</title><content type='text'>26</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DATE_FORMAT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DATE_FORMAT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_ARCHIVE_DATE_FORMAT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The number of the archive index date format</title><content type='text'>9</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ARCHIVE_DATE_FORMAT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ARCHIVE_DATE_FORMAT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_TIME_STAMP_FORMAT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The number of the time stamp format</title><content type='text'>27</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_TIME_STAMP_FORMAT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_TIME_STAMP_FORMAT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_TIME_ZONE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The time zone for this blog</title><content type='text'>America/Chicago</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_TIME_ZONE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_TIME_ZONE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_LOCALE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Language for this blog</title><content type='text'>en</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_LOCALE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_LOCALE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_CONVERT_LINE_BREAKS</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to convert line breaks into <br /> tags in post editor</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_CONVERT_LINE_BREAKS'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_CONVERT_LINE_BREAKS'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_SHOW_TITLE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show the title field</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SHOW_TITLE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SHOW_TITLE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_SHOW_URL</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show a related link box in the post composer</title><content type='text'>false</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SHOW_URL'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SHOW_URL'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_USE_LIGHTBOX</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show images in the Lightbox when clicked</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_USE_LIGHTBOX'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_USE_LIGHTBOX'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_FLOAT_ALIGNMENT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether float alignment is enabled for the blog</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_FLOAT_ALIGNMENT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_FLOAT_ALIGNMENT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_POST_TEMPLATE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The template for blog posts</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_POST_TEMPLATE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_POST_TEMPLATE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_ALTERNATE_JSRENDER_ALLOWED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether alternate JS renderings are allowed</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ALTERNATE_JSRENDER_ALLOWED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ALTERNATE_JSRENDER_ALLOWED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENTS_ALLOWED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show comments</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENTS_ALLOWED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENTS_ALLOWED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_ACCESS</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Who can comment</title><content type='text'>ANYONE</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_ACCESS'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_ACCESS'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_DEFAULT_COMMENTS_MODE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Default comment mode for posts</title><content type='text'>DEFAULT_HAVE_COMMENTS</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DEFAULT_COMMENTS_MODE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DEFAULT_COMMENTS_MODE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_BACKLINKS_ALLOWED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show comment backlinks on the blog</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_BACKLINKS_ALLOWED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_BACKLINKS_ALLOWED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_DEFAULT_BACKLINKS_MODE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Default backlinks mode for posts</title><content type='text'>DEFAULT_HAVE_BACKLINKS</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DEFAULT_BACKLINKS_MODE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_DEFAULT_BACKLINKS_MODE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENTS_TIME_STAMP_FORMAT</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Comment time stamp format number</title><content type='text'>29</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENTS_TIME_STAMP_FORMAT'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENTS_TIME_STAMP_FORMAT'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_FORM_LOCATION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Blog comment form location</title><content type='text'>EMBEDDED_IFRAME</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_FORM_LOCATION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_FORM_LOCATION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_MODERATION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to enable comment moderation</title><content type='text'>DISABLED</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MODERATION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MODERATION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_MODERATION_DELAY</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Number of days after which new comments are subject to moderation</title><content type='text'>14</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MODERATION_DELAY'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MODERATION_DELAY'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_CAPTCHA</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to require commenters to complete a Captcha</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_CAPTCHA'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_CAPTCHA'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_PROFILE_IMAGES</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to show profile images in comments</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_PROFILE_IMAGES'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_PROFILE_IMAGES'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_EMAIL</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>List of e-mail addresses to send notifications of new comments to</title><content type='text'>iq_andreas@hotmail.com</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_EMAIL'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_EMAIL'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_MODERATION_EMAIL</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Email address to send notifications of new comments needing moderation to</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MODERATION_EMAIL'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MODERATION_EMAIL'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_MESSAGE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Blog comment message</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MESSAGE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_MESSAGE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_ARCHIVE_FREQUENCY</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>How frequently this blog should be archived</title><content type='text'>MONTHLY</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ARCHIVE_FREQUENCY'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ARCHIVE_FREQUENCY'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_BY_POST_ARCHIVING</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Whether to provide an archive page for each post</title><content type='text'>true</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_BY_POST_ARCHIVING'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_BY_POST_ARCHIVING'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_POST_FEED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The type of feed to provide for blog posts</title><content type='text'>FULL</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_POST_FEED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_POST_FEED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_COMMENT_FEED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The type of feed to provide for blog comments</title><content type='text'>FULL</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_FEED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_COMMENT_FEED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_PER_POST_FEED</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The type of feed to provide for per-post comments</title><content type='text'>FULL</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_PER_POST_FEED'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_PER_POST_FEED'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_FEED_REDIRECT_URL</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>URL to redirect post feed requests to</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_FEED_REDIRECT_URL'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_FEED_REDIRECT_URL'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_POST_FEED_FOOTER</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Footer to append to the end of each entry in the post feed</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_POST_FEED_FOOTER'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_POST_FEED_FOOTER'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_SEND_EMAIL</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>Comma separated list of emails to send new blog posts to</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SEND_EMAIL'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SEND_EMAIL'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_SUBDOMAIN</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The BlogSpot subdomain under which to publish your blog</title><content type='text'>iqandreas</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SUBDOMAIN'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_SUBDOMAIN'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_READ_ACCESS_MODE</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The access type for the readers of the blog.</title><content type='text'>PUBLIC</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_READ_ACCESS_MODE'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_READ_ACCESS_MODE'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_READER_PERMISSION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The list of emails for users who have permission to read the blog.</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_READER_PERMISSION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_READER_PERMISSION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_AUTHOR_PERMISSION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The list of authors' emails who have permission to publish.</title><content type='text'></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_AUTHOR_PERMISSION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_AUTHOR_PERMISSION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.settings.BLOG_ADMIN_PERMISSION</id><published>2009-01-05T18:09:43.799-06:00</published><updated>2012-01-19T02:44:22.086-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#settings'/><title type='text'>The list of administrators' emails for the blog.</title><content type='text'>rubikssites@yahoo.com,iq_andreas@hotmail.com</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ADMIN_PERMISSION'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/settings/BLOG_ADMIN_PERMISSION'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-190292802740993829</id><published>2012-01-17T08:48:00.000-06:00</published><updated>2012-01-19T02:43:33.633-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='ide'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Action Script 3'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fdt'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='powerflasher'/><title type='text'>Ubuntu: Adding FDT to the list of Applications</title><content type='html'>In this guide, we will add FDT to the list of installed applications, and optionally, install a script which "resets" the internal SWFViewer in case it won't open after closing improperly.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-vC7tYsY5ubY/TxWQ7XymY0I/AAAAAAAAABU/rbhoTNhSQ7g/s1600/FDT+in+menu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="231" src="http://3.bp.blogspot.com/-vC7tYsY5ubY/TxWQ7XymY0I/AAAAAAAAABU/rbhoTNhSQ7g/s320/FDT+in+menu.png" width="320" /></a></div><br /><i><br /></i><br /><i>The following guide was written for 32bit FDT5, but may still work for future or previous versions of FDT. These instructions can of course also be used for any application that doesn't come with an Ubuntu installer, adjusting the &nbsp;files&nbsp;appropriately.</i><br /><br />If you are running Ubuntu, I'm assuming you already know how to use the basics of the command line and how to manipulate (create, delete, change permissions) of files. If anyone wants more details, post a comment and I'll clarify.<br /><br />I'm assuming you have already <a href="http://fdt.powerflasher.com/buy-download/" target="_blank">downloaded FDT</a>&nbsp;(they have a free version if you aren't already using FDT) and extracted the archive.<br /><br />I would recommend saving the files to <span style="font-family: 'Courier New', Courier, monospace;">/opt/fdt5</span> (may require admin access, which is easily done without messing with the command line by running &nbsp;<span style="font-family: 'Courier New', Courier, monospace;">gksu nautilus</span>&nbsp;, assuming you are still using the default file browser)&nbsp;Depending on what extraction tool you use, you may also need to change the permission settings for the files to allow access for all users.<br /><br /><h3>Download the FDT5 Launcher files</h3>If you want to do this the easy way, download the pre-made files from the <a href="https://github.com/IQAndreas/FDT-Ubuntu-Launcher-Files" target="_blank">GitHub repository</a> and install them to the locations specified in the README.<br /><a href="https://github.com/IQAndreas/FDT-Ubuntu-Launcher-Files/zipball/master">https://github.com/IQAndreas/FDT-Ubuntu-Launcher-Files/zipball/master</a><br /><br />You are all done. Enjoy!<br /><br />Alternatively, you can do all the dirty work yourself (if so, keep reading).<br /><br /><h3>Creating the FDT5 Launcher Files manually</h3>Create a new file named <span style="font-family: 'Courier New', Courier, monospace;">FDT5.desktop</span> with the following contents:<br /><br /><script src="https://gist.github.com/1626770.js?file=FDT5.desktop"></script><br />If you want the file to be available to all users of the computer, save the file in&nbsp;<span style="font-family: 'Courier New', Courier, monospace;">/usr/share/applications/</span><br />Alternatively, if you only want the currently logged in user to have FDT show up in the application menu, save the file to&nbsp;<span style="font-family: 'Courier New', Courier, monospace;">~/.local/share/applications/</span><br /><br />Next, create the following script, and save it as <span style="font-family: 'Courier New', Courier, monospace;">/usr/bin/fdt5</span><br /><br /><script src="https://gist.github.com/1626770.js?file=fdt5"></script><br />Note that the script may be a tad more complicated than it needs to be, but this is the script I'm using since I had to <a href="http://bugs.powerflasher.com/jira/browse/FDT-2436" target="_blank">jump through a few hoops</a> getting FDT to work properly in Ubuntu.<br /><br /><br />You also need to set the icon for the application. The default Eclipse icon is okay, but on my system, both Eclipse for Java and FB4Linux use that same icon, so I would prefer being able to tell them apart.<br /><br />I included FDT's fancy, blue dodecahedron icon&nbsp;<a href="https://github.com/IQAndreas/FDT-Ubuntu-Launcher-Files/blob/master/fdt-icon.png" target="_blank">in the repository</a>,&nbsp;used with permission from Powerflasher GmbH.&nbsp;You can use the icon provided in the repository, or use your own, but which ever icon you use for FDT, make sure to save it to <span style="font-family: 'Courier New', Courier, monospace;">/opt/fdt5/fdt-icon.png</span><br /><br />Finally, if you want FDT to stay in the launcher bar, start up FDT, right-click the icon in the launcher, and make sure "Keep in Launcher" is checked.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-vQ9_e5m75Z8/TxWRWrWmlsI/AAAAAAAAABc/_fNltlgcmIw/s1600/FDT+in+launcher.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-vQ9_e5m75Z8/TxWRWrWmlsI/AAAAAAAAABc/_fNltlgcmIw/s320/FDT+in+launcher.png" width="254" /></a></div><br /><br /><h3>Cleaning the SWFViewer settings</h3>If the built in FDT SWFViewer quits improperly (which happens from time to time when running into AS3 errors) it will not open the next time you run the SWF. The solution is to delete a few config files for the plugin, which is a simple task, but gets annoying when you need to constantly delete the files.<br /><br />The following script will delete said config files (assuming FDT is installed to&nbsp;<span style="font-family: 'Courier New', Courier, monospace;">/opt/fdt5</span>&nbsp;as recommended)&nbsp;though I wish FDT had a button for this inside the IDE instead.<br /><br /><script src="https://gist.github.com/1626770.js?file=fdt5-clean"></script><br />Save the script to <span style="font-family: 'Courier New', Courier, monospace;">/usr/bin/fdt5-clean</span> and run it by typing <span style="font-family: 'Courier New', Courier, monospace;">fdt5-clean</span> into the command prompt. The script&nbsp;does not require admin rights to run as long as your FDT install folder has full permission for all users.<br /><br /><br />Leave any further questions or problems in the comments and I'll try to help sort them out.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/190292802740993829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2012/01/ubuntu-adding-fdt-to-list-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/190292802740993829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/190292802740993829'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2012/01/ubuntu-adding-fdt-to-list-of.html' title='Ubuntu: Adding FDT to the list of Applications'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/16750996017954186106</uri><email>iq_andreas@hotmail.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-vC7tYsY5ubY/TxWQ7XymY0I/AAAAAAAAABU/rbhoTNhSQ7g/s72-c/FDT+in+menu.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-1518624231957600080</id><published>2012-01-17T01:43:00.000-06:00</published><updated>2012-01-17T09:30:48.889-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Action Script 3'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='beginner'/><title type='text'>What Beginners need to know about Performance and Garbage Collection</title><content type='html'>Another category of beginner questions that often appear on the <a href="http://www.kirupa.com/forum/" target="_blank">Kirupa forums</a> are about performance and garbage collection. Some common concerns:<br /><ul><li>How do I make sure my MovieClips are garbage collected? Is setting everything to <span style="font-family: 'Courier New', Courier, monospace;">null</span> enough?</li><li>Should I always remove all my event listeners?</li><li>Someone told me it's better to use&nbsp;<span style="font-family: 'Courier New', Courier, monospace;">int</span>&nbsp;instead of&nbsp;<span style="font-family: 'Courier New', Courier, monospace;">uint</span>&nbsp;because it's more efficient.</li><li>I used "<span style="font-family: 'Courier New', Courier, monospace;">while(--i)</span>" instead, because it is much more efficient than <span style="font-family: 'Courier New', Courier, monospace;">for</span> loops.</li><li><span style="font-family: 'Courier New', Courier, monospace;">hitTest()</span> is really slow! Every site tells me I should never use it.</li></ul>My answer to all those questions: <i>Don't worry about it.</i><br /><br /><br />Don't get me wrong, if you are the type of person who worries about these sorts of things right now, you will make a terrific developer one day!&nbsp;But worrying about these things now is just going to make your code more complicated and much more difficult to manage.<br /><br /><h3>Strive to make your code clear and readable</h3>As a beginner, this should be your first and foremost rule.&nbsp;If you scratch your head every time you read your own code, coding <b>will</b> be overwhelming and debugging will be hell.<br /><br />Take these two identical chunks of code as an example:<br /><br /><script src="https://gist.github.com/1625219.js?file=compass_rotation_compact.as"></script><script src="https://gist.github.com/1625219.js?file=compass_rotation_expanded.as"></script><br />The first chunk of code is much more efficient than the second, but I wouldn't want to be the developer that find bugs in that project.<br /><br /><h3>So should I never worry about performance?</h3>Not at this point, no. First make sure you have learned the basics and syntax of ActionScript.<br />Then, make sure you <b>really</b> know the basics of ActionScript (instead of just thinking that you do while perched <a href="http://www.smbc-comics.com/?id=2475" target="_blank">on top of mount stupid</a>. Believe me, we have all been there).&nbsp;<b>Finally</b>&nbsp;you can start learning about standard coding conventions and basic performance improvements.<br /><br />Keep in mind, most performance optimization tips (such as using <span style="font-family: 'Courier New', Courier, monospace;">int</span> instead of <span style="font-family: 'Courier New', Courier, monospace;">uint</span>) will shave <i>milliseconds</i> off your total time if you do tens of thousands of calculations each frame.<br /><br />Often times, the extra milliseconds won't make a hill of beans difference, so worrying about them while writing the code is a waste of resources. Test your code, and make sure your project works. Then, <b>if</b>&nbsp;(and only if!) there is a problem with performance after everything is complete and working, you can go back and find which areas need optimizing.<br /><br /><br /><h3>Why Garbage Collection doesn't matter</h3>Same principle as with optimization, don't worry too much about garbage collection unless you are building an enterprise-level application. Flash is actually pretty good at taking care of things for you and making sure everything gets disposed of properly.&nbsp;Even if it misses an image here or there, what is one measly Bitmap for a computer with +2GB of RAM?&nbsp;Users won't notice the difference if your game uses&nbsp;17 MB instead of 16 MB.<br /><br />And remember, it's&nbsp;<b>all</b>&nbsp;disposed once you close the SWF anyway.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/1518624231957600080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2012/01/what-beginners-need-to-know-about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1518624231957600080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1518624231957600080'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2012/01/what-beginners-need-to-know-about.html' title='What Beginners need to know about Performance and Garbage Collection'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/16750996017954186106</uri><email>iq_andreas@hotmail.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-1517951912294676109</id><published>2011-12-26T05:58:00.001-06:00</published><updated>2011-12-26T05:58:21.037-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='humble'/><category scheme='http://www.blogger.com/atom/ns#' term='gamedev'/><category scheme='http://www.blogger.com/atom/ns#' term='bundle'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><category scheme='http://www.blogger.com/atom/ns#' term='indie'/><title type='text'>The Humble AIR Bundle</title><content type='html'>I'd like to say straight off the bat that this bundle does not exist. It's just an idea I have been playing with in my mind.<br /><br />Adobe recently announced that they will no longer be releasing updates for AIR for Linux. This saddens me, mainly because the reason I switched from working with .Net to Flash was the "multi-platformness" - the ability to compile once and have your game or application run on any operating system (it has a proper name, but it's still on the tip of my&nbsp;tongue).<br /><br />A few games in previous <a href="http://www.humblebundle.com/" target="_blank">Humble Indie Bundles</a> were actually Flash games (even if the players don't notice it); <a href="http://amanita-design.net/samorost-2/" target="_blank">Samorost 2</a>, <a href="http://machinarium.net/demo/" target="_blank">Machinarium</a>, and <a href="http://www.traumagame.com/" target="_blank">Trauma</a>. Even though Flash can't make the most powerful of games, it's fairly obvious that Flash games are at least playable.<br /><br />AIR increases the functionality of Flash, and adds mobile devices to the available platforms, all with very little additional changes made to your&nbsp;existing&nbsp;game or application.<br /><br /><br />I'm sure if a small group of Flash game developers teamed up "Humble Bundle style" they could release a bundle with multi-platform, DRM-free AIR games, with proceeds either going towards charities, or perhaps towards the open source developers working on the AIR binaries for Linux. In either case, the bundle would provide positive publicity for AIR.<br /><br /><br />I don't have the influence or resources to do this, but do <b>you</b>?<br /><br /><br /><br /></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/1517951912294676109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2011/12/humble-air-bundle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1517951912294676109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1517951912294676109'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2011/12/humble-air-bundle.html' title='The Humble AIR Bundle'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/16750996017954186106</uri><email>iq_andreas@hotmail.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-4457204929364763489</id><published>2011-11-25T14:50:00.001-06:00</published><updated>2011-11-25T16:30:39.827-06:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><title type='text'>Is High Score dead?</title><content type='html'>I have recently played with the thought of the classic high score system being "dead". These viewpoints are from the perspective as a player rather than a developer.<br /><br /><br />Remember the good old days of playing Pac-Man at the arcade, burning quarter after quarter until you were #1? You could then laugh in the face of the last high score holder, and brag to all the local children and challenge them to beat your score.<br /><span class="Apple-style-span" style="font-size: xx-small;">(Or maybe not, I was born a few years too late for the glory days of arcade games, so I'm guessing at how the high scores worked back then)</span><br /><br />But today, with the rise of flash games, no matter how hard you work at getting to the top, your <b>fantastic</b> score of <i>189,335</i> points will place you at position <i>#24,890</i> in the high score list, with the top scores always being held by cheaters or some Asian kid with an abnormal talent for games and hours of time on his hands.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-bNuNgF2h_aE/TtAJX3LWWtI/AAAAAAAAAA0/GpS0GscykdQ/s1600/High+score+2011-11-25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-bNuNgF2h_aE/TtAJX3LWWtI/AAAAAAAAAA0/GpS0GscykdQ/s320/High+score+2011-11-25.png" width="205" /></a></div><br /><div style="text-align: center;"><span class="Apple-style-span" style="font-size: x-small;">Perhaps I'm just a pessimist, but if there is no cosmic chance of me even showing up on the top 100,&nbsp;</span></div><div style="text-align: center;"><span class="Apple-style-span" style="font-size: x-small;">what's the point of replaying the game to get a better score?</span></div><br /><br />So, what do you think? Did the widespread availability of the internet and the surprisingly large amount of people on this planet kill the classic high score system? (leave a comment if you disagree, I could be wrong)<br /><br />Or is the high score system still kept alive by Facebook games where you only see the scores of your friends?<br /><br /><br /><h3>High Score done right!</h3>I recently purchased the game <a href="http://spacechemthegame.com/" target="_blank">SpaceChem</a> by Zachtronics Industries.<br /><blockquote class="tr_bq"><b><span class="Apple-style-span" style="font-size: x-small;">SIDE NOTE:</span>&nbsp;</b>I have long been a fan of&nbsp;<a href="http://www.kongregate.com/accounts/krispykrem" target="_blank">that developer's flash games</a>, and I'm happy his newest creation is having so much success.&nbsp;SpaceChem is one of my favorite games, and I would really recommend it if you enjoy puzzle games, and it definitely helps if you have a "programmers mindset". You can <a href="http://store.zachtronicsindustries.com/product/spacechem" target="_blank">grab the demo</a> if you want to try it before purchasing the game.</blockquote><br />SpaceChem does an amazing job at including a high score system without "intimidating" the score you worked so hard for.<br /><br />When you have finished a working design, you see a bar chart of how creation's efficiency compares to the average user.&nbsp;This allows you to see which areas you could realistically improve your score&nbsp;without being blown out of the water by Sum Yung Gui from&nbsp;Beijing.<br /><div class="separator" style="clear: both; text-align: center;"></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ZWpoPT-7Tvw/TtAVRSZZbVI/AAAAAAAAABE/7ru75WzjjsQ/s1600/Space+Chem+High+Score+-+small.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="291" src="http://4.bp.blogspot.com/-ZWpoPT-7Tvw/TtAVRSZZbVI/AAAAAAAAABE/7ru75WzjjsQ/s640/Space+Chem+High+Score+-+small.png" width="640" /></a></div><br /><br /><br />If you know of any other games with unique and brilliant high score systems, share them in the comments.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/4457204929364763489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2011/11/is-high-score-dead.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4457204929364763489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4457204929364763489'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2011/11/is-high-score-dead.html' title='Is High Score dead?'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/16750996017954186106</uri><email>iq_andreas@hotmail.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-bNuNgF2h_aE/TtAJX3LWWtI/AAAAAAAAAA0/GpS0GscykdQ/s72-c/High+score+2011-11-25.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-662016030611735391</id><published>2011-10-19T21:21:00.000-05:00</published><updated>2011-10-19T21:22:42.300-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><title type='text'>Keeping POP emails synched?</title><content type='html'>I'm looking for a specific email client (or perhaps some sort of elaborate system or setup is needed, I worry). To describe it, I'll first explain what I love about my Hotmail email*.<br /><br /><blockquote>There is a free web interface (at <a href="http://www.hotmail.com/">http://www.hotmail.com/</a>)<br />There is a free desktop email client (<a href="http://explore.live.com/windows-live-mail">Windows Live Mail</a>, which is sadly Windows only)&nbsp;</blockquote><blockquote>The key is that the messages are "synched" between the web interface and the client. So, if you delete messages, move messages to different folders, or even mark messages as read, the changes will be applied in both the web interface as well as the desktop client.</blockquote><br />Sadly, the business email account I'm setting up does not use&nbsp;Hotmail. It uses POP for accessing the email (I believe the provider actually uses Google's mail servers rather than their own if that makes any difference).<br /><br />Is there any way I can have this "synching" behavior with a standard POP email account?<br /><br /><br /><span class="Apple-style-span" style="font-size: x-small;">* This post is not sponsored my Microsoft. I just happen to have been using my personal Hotmail email address for soon a decade and haven't gotten around to switching.</span></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/662016030611735391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2011/10/keeping-pop-emails-synched.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/662016030611735391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/662016030611735391'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2011/10/keeping-pop-emails-synched.html' title='Keeping POP emails synched?'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/16750996017954186106</uri><email>iq_andreas@hotmail.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-6879014127630499962</id><published>2011-06-04T14:15:00.008-05:00</published><updated>2011-06-06T04:16:28.444-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='gamedev'/><category scheme='http://www.blogger.com/atom/ns#' term='psychology'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='ponycorns'/><category scheme='http://www.blogger.com/atom/ns#' term='ryan creighton'/><category scheme='http://www.blogger.com/atom/ns#' term='untold entertainment'/><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Does "Ponycorns" exploit the mentally ill?</title><content type='html'>Untold Entertainment recently released a new game, "<a href="http://www.untoldentertainment.com/games/sissy/">Sissy's Magical Ponycorn Adventure</a>". <br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://www.untoldentertainment.com/games/sissy/" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="233" src="http://www.untoldentertainment.com/blog/img/2011_05_23/sissy_title.jpg" width="400" /></a></div><br /><br />Already the game has had some positive media attention, from interviews on both local radio and television, to several internet news sites including <a href="http://ca.news.yahoo.com/blogs/good-news/toronto-five-old-cassie-creighton-video-game-takes-175342572.html">Yahoo news</a> and <a href="http://www.boingboing.net/2011/06/03/sissys-magic-ponycor.html">BoingBoing</a>.<br /><br />After only having been released for soon two weeks (as of today, June 4, 2011) the game has received about 200,000 plays and $2,500 in donations (and more is likely to follow as time progresses).<br /><br /><br /><h3>This game must be awesome!!</h3>Is the game deserving of all this media attention by being awesome and fantastic, with hours of intricate puzzles, stunning graphics, and gripping story lines? No.<br /><br />Then why so much popularity? The graphics, sound effects (including most of the dialog), and story were all designed by a 5 year old, little girl.<br /><br /><br />Assume for a second that this game had been released on <a href="http://www.newgrounds.com/">Newgrounds</a> (which is, from what I hear, the #1 portal for Flash content with not enough quality to be allowed on portals with "higher standards") and <a href="http://twitter.com/UntoldEnt">Ryan Creighton</a> (the father and lead developer) had proudly announced that he had produced the game all on his own.<br /><br />Ryan could then sit back and expect a steady stream of classic Newgrounds comments such as "OMGWTF gay", "-9999/10", and "giv me my 2mins of life bak".<br /><br /><br /><h3>"Ponycorns" exploits the mentally ill</h3>At this point you are probably calling me an insensitive prick and have likely already started to flame me in the comments. But, I am trying to make a point here.<br /><br />This game takes advantage of at least two "weaknesses" (couldn't find a better word) of human nature.<br /><br /><br /><h3>FW: FW: FW: FW: FW: Funny pictures (must see!)</h3>First, people love babies, young children, and kittens (for various reasons you can likely dig up a lot of research on yourself). Anyone who doesn't believe me apparently doesn't have family members who have learned to use the "forward" button on their emails.<br /><br /><a href="http://twitter.com/seb_ly">Seb Lee-Delisle</a>'s iPhone app, <a href="http://kittenconveyorbelt.com/">Kitten Conveyorbelt</a>, is another game which takes advantage of this exploit ($1 for a slideshow of cats, seriously?)<br /><br />Somewhat related, the "<a href="http://www.buzzfeed.com/awesomer/selling-8-beyblades-to-replace-destroyed-bathtub">8 Beyblades for sale on eBay</a>", despite having several "fake bids", still received a lot more bid amounts than selling the Beyblades on their own would have. Why? People feel sorry for these crying little children and their situation.<br /><br />(Next time you try selling your car, include a picture of yourself next to it crying and see if it also works with grown-ups)<br /><br /><br /><h3>Good job, sweetie. I'll put this up on the fridge where everyone can see it</h3>Second, humans (at least the empathetical ones) will value items and achievements higher if they were produced when the "creator" was under certain limitations (in the case of Cassie Creighton, limitations in age and game development experience).<br /><br />Did your mother put your paintings of a giraffe with rockets strapped to it on the refrigerator because your work was comparable to Rembrandt?<br />And why would anyone otherwise care about "special olympics"?<br />And what makes Michael Phelps much more famous than all other swimmers?<br /><br /><br />On a related note, even I can draw better than this elephant! Why don't my YouTube videos get 6.5 million views?<br /><br /><div style="text-align: center;"><iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/He7Ge7Sogrk" width="425"></iframe></div><br /><br /><h3>What can we learn from all this?</h3>Other than the obvious point of "Taking advantage of human psychological flaws leads to more attention and in return buckets of easy money", there is a broader point to be made (which is by far no new idea):<br /><blockquote style="text-align: center;"><i>Presentation is key</i></blockquote><br />As I still haven't produced even a single game, I feel like some sort of hypocrite (did I use that word correctly or is there a better term?) telling people how to design their games. After all, what do I know?<br /><br />Luckily, the principle has many more applications. Often when presenting something, you are very limited, such as the title of a blog post, description of a game, or a small introduction in a conversation or speech.<br /><br />Presenting any creation as "just another of many" will quickly cause the listener to loose interest. What makes your product unique? How does it stand out from the rest? (Note that I do not support lying or over-exaggerating in order to glorify what you are selling! Scumbags...)<br /><br />Perhaps it will gain more attention if you release it for a good cause, such as <a href="http://www.triqui.com/2010/05/03/rebuild-chile/">donating all income from a game to earthquake/tsunami victims</a>.<br /><br />Perhaps even take advantage of a few other human psychological flaws, such as curiosity to reel in your listeners (this blog post title got you here, didn't it?)<br /><br /><br /><h3>Does Apple exploit the mentally ill?</h3>I simply cannot end a discussion on exploiting human psychology without bringing up Apple.<br /><br />As I have said many times before (which someone said before me, but I don't remember the source), <i>Apple sells a religion, not a product</i>. When you buy their iPhone, you buy an experience, and a ticket into the community of awesome people.<br /><br />In a nutshell "<strike>Cigarettes</strike> Apple's products make you look cool!"<br /><br /><br /><hr /><div style="text-align: center;"><b><span class="Apple-style-span" style="font-size: large;">FAQ</span></b></div><br /><br /><h3>Is Ryan Creighton exploiting our weaknesses for monetary gain?</h3>It's possible, but I doubt it. <img src="http://www.kirupa.com/forum/images/smilies/wink.gif" /><br /><br />This may be a good place to add that all donations and income from Mochi Ads are going directly to Cassie's college fund (so help her education, and donate! Link is on the <a href="http://www.untoldentertainment.com/games/sissy/">game's page</a>)<br /><br /><br /><h3>Does this mean you hate the game?? And little children?!?</h3>Alas, I am neither a Vulcan nor a sociopath, and susceptible to the same flaws of human psychology as everyone else, so yes, I thought it was cute.<br /><br />The one thing in specific I enjoyed were the small witty bits of dialog. They reminded a bit of the the comments found in <a href="http://en.wikipedia.org/wiki/Lemony_Snicket">Lemony Snicket</a>'s books (<a href="http://soundcloud.com/iqandreas/lemony-snicket-defines-denouement">sample excerpt</a>)<br /><br />My favorite quotes from the game (spoiler alert)<br /><blockquote>Your'e a mouse now. How do you like THEM apples?<br />That's what you get for being evil! AND a lemon!</blockquote><br /><br /><h3>Did you write this post to stir up conflict and flame wars, or perhaps to ride the wake of Ponycorn's success?</h3>Neither, by writing this post I'm avoiding the PHP work on my plate, and since I'm still getting <i>something</i> done, I can avoid the feelings of guilt that come from procrastinating my <i>real</i> work.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/6879014127630499962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2011/06/does-ponycorns-exploit-mentally-ill.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/6879014127630499962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/6879014127630499962'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2011/06/does-ponycorns-exploit-mentally-ill.html' title='Does "Ponycorns" exploit the mentally ill?'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/He7Ge7Sogrk/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-235248376787378266</id><published>2011-06-03T17:12:00.000-05:00</published><updated>2011-06-03T17:12:45.871-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='GitHub'/><category scheme='http://www.blogger.com/atom/ns#' term='kirupa'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='experiment'/><title type='text'>[Experiment] Drop Painter</title><content type='html'>No, it's not painting with drops (though, that seems like a great idea for another project). Instead this experiment drops pieces of a painting down from above which eventually form to assemble a complete picture.<br /><br />DEMO: <a href="http://iqandreas.isbetterthanyou.org/public/kirupa.com/square-contest-2011/">http://iqandreas.isbetterthanyou.org/public/kirupa.com/square-contest-2011/</a><br /><br /><br />The code is written in AS3 and uses <a href="http://www.box2dflash.org/">Box2D</a> for the physics and <a href="http://www.minimalcomps.com/">MinimalComps</a> for the components.<br /><br />At first I wrote the code up as a prototype just to test a concept (and rather than rewrite the code cleanly, I just kept adding onto it so it became one tightly-coupled mess). <br /><br />Later I entered it into a <a href="http://www.kirupa.com/forum/showthread.php?362779-Information-and-Rules!">contest</a> held on the <a href="http://www.kirupa.com/forum/">Kirupa Forums</a>, and modified it slightly to fit the contest theme.<br /><br /><br /><a href="https://github.com/IQAndreas/Drop-Painter-Experiment">The source is available on GitHub</a> in case anyone is curious how it was achieved (and yes, I did cheat. It's not actually dynamic. The movement of all those shapes are "pre-baked" during the "Loading" screen and simply played back afterwards, which is why it is able to take up so little CPU on playback. <img src="http://www.kirupa.com/forum/images/smilies/trout.gif" /></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/235248376787378266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2011/06/experiment-drop-painter.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/235248376787378266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/235248376787378266'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2011/06/experiment-drop-painter.html' title='[Experiment] Drop Painter'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-6540845047880043572</id><published>2011-03-30T04:50:00.003-05:00</published><updated>2011-03-30T04:58:42.499-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='playbook'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><category scheme='http://www.blogger.com/atom/ns#' term='programmingwoes'/><title type='text'>Developing for the Playbook: Chapter 3 - The Emulator</title><content type='html'><a href="http://us.blackberry.com/developers/tablet/playbook_offer.jsp"><br /><div class="separator" style="clear: both; text-align: center;"><img border="0" height="250" width="400" src="http://2.bp.blogspot.com/-5xwNp6B-g3k/TZL9dOkh0DI/AAAAAAAAACU/HIBnOj0qhp8/s400/playbook1.png" /></div></a><br /><br />TODO: Insert chapter 1. (I was too lazy to repeat the steps just to take screenshots of the process. I don't feel like going through that again.)<br /><br />TODO: Insert chapter 2. (Same reason as for chapter 1)<br /><br /><br /><h3>Chapter 3: The Emulator</h3><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-_iF-4bFq3f0/TZL9zEJwyhI/AAAAAAAAACc/Ns8Xv8s_3pw/s1600/playbook2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-_iF-4bFq3f0/TZL9zEJwyhI/AAAAAAAAACc/Ns8Xv8s_3pw/s400/playbook2.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-1mZ5GX2WL9M/TZL9zTik2QI/AAAAAAAAACk/5T9tOdGI00s/s1600/playbook3.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://2.bp.blogspot.com/-1mZ5GX2WL9M/TZL9zTik2QI/AAAAAAAAACk/5T9tOdGI00s/s400/playbook3.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ytdmr64dOWQ/TZL9zbvuZtI/AAAAAAAAACs/zLctegP_xvc/s1600/playbook4.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://4.bp.blogspot.com/-ytdmr64dOWQ/TZL9zbvuZtI/AAAAAAAAACs/zLctegP_xvc/s400/playbook4.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s1600/playbook5.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://1.bp.blogspot.com/-WdPZlDdaTao/TZL9zR3fY9I/AAAAAAAAAC0/wSRsrJ1X9bg/s400/playbook5.png" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-9vMLH7_ysEs/TZL9zynCC9I/AAAAAAAAAC8/vQjLgKEAYR8/s1600/playbook6.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="250" width="400" src="http://2.bp.blogspot.com/-9vMLH7_ysEs/TZL9zynCC9I/AAAAAAAAAC8/vQjLgKEAYR8/s400/playbook6.png" /></a></div><br /><br /><br /><br />Stay tuned for <b>"Chapter 4: The Code Signing!"</b></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/6540845047880043572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2011/03/developing-for-playbook-chapter-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/6540845047880043572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/6540845047880043572'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2011/03/developing-for-playbook-chapter-3.html' title='Developing for the Playbook: Chapter 3 - The Emulator'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-5xwNp6B-g3k/TZL9dOkh0DI/AAAAAAAAACU/HIBnOj0qhp8/s72-c/playbook1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-2980795841125714952</id><published>2010-10-20T06:19:00.001-05:00</published><updated>2010-10-20T06:34:01.856-05:00</updated><app:control xmlns:app='http://purl.org/atom/app#'><app:draft>yes</app:draft></app:control><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='bubbles'/><category scheme='http://www.blogger.com/atom/ns#' term='DisplayObject'/><category scheme='http://www.blogger.com/atom/ns#' term='event'/><category scheme='http://www.blogger.com/atom/ns#' term='displaylist'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='bubbling'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='dispatch'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='illustration'/><category scheme='http://www.blogger.com/atom/ns#' term='beginner'/><title type='text'>The AS3 Event System #4 - Bubbling your own Events</title><content type='html'>This thread is part 4 in a "Understanding the AS3 Event System" series. It continues on the "office" illustration used in the previous. If you have not read part 1, it is recommended that you do so:<br /><a href="http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html">http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html</a><br /><br />This part describes how make your own events bubble, for both custom events, and common events or event strings.<br /><br /><hr /><br />Making your own events bubble is actually REALLY easy! Flash does all of the work for you. <br /><br />When you create a new Event, notice that there are two extra options in the constructor:<br /><code>Event(type:String, bubbles:Boolean, cancelable:Boolean)</code><br /><br />The first parameter you know as the "event type" or the "event string". The third parameter is optional, and you can ignore it for now.<br /><br />But the second parameter is the one that is important here. By default, "bubbles" will be set to false, but if you set it to "true" when creating the event object, Flash will automatically bubble the event for you!<br /><code>this.dispatchEvent(new Event("click", true));</code><br /><br />The "target" and "currentTarget" properties are also automatically filled in by Flash.<br /><br /><br /><b>What objects does the event bubble through?</b><br />Note that events <u>only bubble according to the display object hierarchy</u>, and not according to any other list or order you may have in your code. <br /><br />So, for example, let's say that on the stage you have a "DialogSprite" which contains a "Button" which contains a "TextField". The Event would the bubble in that order, starting with the TextField, then bubbling upwards to the 'parent' (which is the "Button"), then the button's 'parent' etc until it reaches the "Stage". Then it stops. Along the way, all those Display Objects dispatch the exact same event.<br /><br /><br /><b>What if I want to bubble my events in a different order (or according to a different list)?</b><br />Sadly, I wish there was a better answer for this. The cold hard truth is that it's simply not possible with the builtin event system.<br /><br />If you want to bubble events according to (for example) an array order, or linked list, you are going to have to write up a system which manually calls "dispatch(event)" on each instance in the list. <br /><br /><br /><b>EXTRA NOTE: Don't forget the "clone()" function!</b><br />Very important, if you are creating your own custom Events (not custom event strings) there is a function which you need to override in order for the properties to be transferred over to each new event instance when the event bubbles.<br /><br />What is the clone function?<br />The same event cannot be dispatched twice in a row! Don't ask me why, it simply won't work.<br /><br /><br /><br /><br /><br /><br /><share class="share-twitter" title="Understanding the AS3 Event System #4 - Bubbling your own Events" url="###" /></content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2980795841125714952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2980795841125714952'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-4070696869879375892</id><published>2010-10-19T07:23:00.001-05:00</published><updated>2010-10-19T07:25:31.141-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='bubbles'/><category scheme='http://www.blogger.com/atom/ns#' term='DisplayObject'/><category scheme='http://www.blogger.com/atom/ns#' term='event'/><category scheme='http://www.blogger.com/atom/ns#' term='displaylist'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='bubbling'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='dispatch'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='illustration'/><category scheme='http://www.blogger.com/atom/ns#' term='beginner'/><title type='text'>Understanding the AS3 Event System #3 - Easy Event Bubbling</title><content type='html'>This thread is part 3 in a "Understanding the AS3 Event System" series. It continues on the "office" illustration used in parts #1 and #2. If you have not read part 1, it is recommended that you do so:<br /><a href="http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html">http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html</a><br /><br />This part describes how "Event Bubbling" works. Note that this is a strong simplification of the actual system (which is a bit more complex, but in the next part I will elaborate on that system), but for 99% of all Event uses, this is the only thing you really need to know about Event Bubbling.<br /><br /><hr /><br />At the office I work, a large part of our work system is set up as a hierarchy of&nbsp;responsibility&nbsp;and work delegation.<br /><br /><b>The Corporate Ladder</b><br />At the very top of the tree is Mr. Stan Stage. He's a great guy. Very friendly, a nice father figure, and a really good boss. He is the boss of all bosses, and in the end, everyone reports to him.<br /><br />Since there is so much information passed around the office each day, he delegates a lot of the tasks to a handful of people who work right under him. These people are all "<b>second in command</b>". One of these second in command is my boss. Unlike Mr. Stage, my boss is very annoying and difficult, and to avoid his wrath, I will exclude his name, and instead just call him "My Boss".<br /><br />My Boss has about 20 people working under him, including me. It's not a great position to be in, but it's still a very rewarding job. Some of us "<b>third in command</b>" workers have people working directly under us.<br /><br />I am one of the lucky ones, and have five interns working directly for me. Since I am their boss, they obey my every whim, such as getting coffee for me each morning, or taking out my&nbsp;dry-cleaning. Even though they are only interns, they are still considered to be "<b>fourth in command</b>".<br /><br /><br /><b></b>Since a great deal of what we do at the Office is reported via Events, my interns are expected to use the event system to report any changes just like the rest of us.<br /><br />For efficiency's sake, my five interns have their desks very close to my cubicle, so whenever they dispatch an event (by standing up and shouting for example "I was <u>hovered</u>!") I hear it immediately.<br /><br />Now, there are two types of Events. Events that Bubble, and Events that do not Bubble.<br /><br /><br /><b>Non-Bubbling Events</b><br />Some Events are only important to the person which it actually happened to. For instance, one day one of my interns, Chris, stands up and yells "Hey everyone, I got a <u>new car</u>!"<br /><code>dispatchEvent(new Event("new_car"));</code><br /><br />A few of my other interns reacted.&nbsp;However, I honestly did not care. My Boss sure as hell doesn't care. And as nice of guy Steve Stage is, he really doesn't care either.<br /><br />I'm not saying that Chris's Event wasn't important, in fact, it was quite important since it allows him to do his job better and will definitely affect his work. However, there is no need to tell as many people about it as possible.&nbsp;The only people who need to know about the event are people who specifically asked Chris to let them know whenever he got a new car.<br /><code>chris.addEventListener("new_car", talkToChrisAboutTheCar);</code><br /><br />Those Events <u>do not Bubble</u> up the corporate ladder.<br /><br /><br /><b>Events that Bubble</b><br />Now, clicks are VERY important in my line of work (in fact, that's how we get paid).<br /><br />We want to let as many people as possible who want to know about the clicks to know about the clicks, but if every single person just stood up and yelled "Someone was clicked!" whenever they found out about it, it would be one disorganized mess and you would hear about the same gossip from 8 different people. Instead, we have an organized system for letting everyone &nbsp;in charge know about it.<br /><br /><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><b>Bubbling Events up the Ladder</b></div></div>One day Chris stands up and yells out to everyone "I was <u>clicked</u>!" (dispatching the event to everyone that may be listening to him. Not many people are usually listening to Chris (in fact, most people at the office don't even know any of my interns). So, Chris tells everyone listening to him about the click event.<br /><br />Then Chris walks over to me and says "Andreas. I was <u>clicked</u>. All the information on the click is available in this file folder."<br /><br />Now it's my turn. I stand up and yell "I was <u>clicked</u>!" (I could tell them "someone in my department was clicked", but since my interns work for me so closely, their work is considered to be part of my work) A few people are listening to me for the "<u>clicked</u>" event, (including Nico and Bob) and walk up to me asking for more information. I give them both the file so they have all the information on the event that they need.<br /><br />Then, I barge into the office of my Boss, telling him all about the event, and handing him a copy of the information. He in turn switches on his fancy intercom system (since he is second in command, he gets certain perks, and is paid too much to have to yell across the hallway) and announces to everyone in the office "Attention anyone who is listening to me. I was just <u>clicked</u>." A few people are listening to him, and respond.<br /><br />Finally, my Boss knocks on the door of Steve Stage and tells him all about the click event. Now, at last, Mr. Stage announces the click event for the <b>last</b> time, telling everyone who is listening to him about the click.<br /><br />After that it is done. Everyone who needs to know about the event knows about it.<br /><br /><br /><b>Now why is Bubbling so important?</b><br />Let's take the example of Betty, who works in accounting. In order to do her job property, she needs to know about every single time a client "<u>clicked</u>" an employee.<br /><br />She could listen to every single employee for the "click" event, but this is a VERY inefficient system. And every time there is a new employee she would need to start listening to them, and when an employee leaves, she needs to remember to stop listening to them.<br /><br />Instead, because of our nifty little bubbling system, Betty ONLY needs to listen Stage for the "click" event. Since those events bubble up to Steve, she will be notified of <b>every single click event</b> directly from Steve Stage.<br /><br /><br /><b>EXTRA NOTE: Events only bubble upwards</b><br />Let's say one day I'm working at my desk, when a client clicks me directly instead of clicking one of my interns. I stand up and yell to everyone who is listening to me that "I was <u>clicked</u>", but&nbsp;I do not need to directly tell any of my interns about the click. Unless my interns are specifically listening to me, they will not know about the click and will keep carrying on their work undisturbed. The interns will NOT dispatch any "click" event either.<br /><br />The only one who needs to know is My Boss. The events only bubble "up" the corporate ladder, not down.<br /><br /><br /><b>So who was clicked first?</b><br />In order to file the proper paperwork (and hand out promotions or raises where needed) Betty needs to know exactly which person it was who was "clicked" first. Luckily, all this information is perfectly filled out in the Event object (the folder containing all the information).<br /><br />There are two names in the Event object, "target" and "currentTarget". Flash assigns these two names automatically when the Event is dispatched.<br /><br />These two properties tend to cause a lot of confusion among beginners. Sometimes they refer to the same person, sometimes they do not. To explain the difference, let's take another example.<br /><br /><br />Nico is listening to me for the "clicked" event.<br /><code>andreas.addEventListener("clicked", onClick);</code><br /><br />Chris, my intern, is clicked, and stands up and tells everyone about it. Nico doesn't even know Chris and therefore doesn't even know about the event. Chris tells me about the event and hands me all the information.<br /><br />Now, I stand up and tell everyone "I was clicked".&nbsp;Nico is listening for the event, and walks over to me to gather all the information.<br /><br />Then the event continues to bubble upwards to My Boss and finally Stan Stage.<br /><br /><br /><b>target</b> refers to the person who first dispatched&nbsp;the event. In this case, Chris would be the target.<br /><b>currentTarget</b> refers to the person you were listening to who told you about the event.<br /><br />Think about "currentTarget" for a second. For Nico, currentTarget would refer to me, <u>Andreas</u>. However, since Betty is listening to Stan Stage for the Event, the currentTarget property in her event file would refer to <u>Mr. Stage</u>.<br /><br /><br /><b>Using currentTarget to your advantage</b><br />Why does the "currentTarget" property even exist? I mean if you added the event listener to an object, of course you know what that object is, and therefore the property is pretty much worthless.<br /><br />However, if used properly, it can save you a lot of code! For instance, perhaps you have several buttons on the stage "homeButton", "aboutButton", "contactButton", "newsButton", etc. You want the button to scale up when it is clicked. You could add the event listeners like this:<br /><br /><code>homeButton.addEventListener(MouseEvent.CLICK, homeButtonClicked);<br />aboutButton.addEventListener(MouseEvent.CLICK, aboutButtonClicked);<br />contactButton.addEventListener(MouseEvent.CLICK, contactButtonClicked);<br />newsButton.addEventListener(MouseEvent.CLICK, newsButtonClicked);<br /><br />function homeButtonClicked(mev:MouseEvent):void<br />{<br />&nbsp;&nbsp;&nbsp;homeButton.scaleX = 1.2;<br />&nbsp;&nbsp;&nbsp;homeButton.scaleY = 1.2;<br />}<br />//etc...</code><br /><br />That means, creating a different handler function for each button, which works, but creates a lot of extra code. Then if you want to change details of what happens when a button is clicked, you would need to update every single function.<br /><br /><br />Instead, you can create one single function which handles the clicks of all buttons. You can calculate which button needs to be pressed by using the "currentTarget" property.<br /><br /><code>homeButton.addEventListener(MouseEvent.CLICK, navigationButtonClicked);<br />aboutButton.addEventListener(MouseEvent.CLICK, navigationButtonClicked);<br />contactButton.addEventListener(MouseEvent.CLICK, navigationButtonClicked);<br />newsButton.addEventListener(MouseEvent.CLICK, navigationButtonClicked);<br /><br />function navigationButtonClicked(mev:MouseEvent):void<br />{<br />&nbsp;&nbsp;&nbsp;var pressedButton:DisplayObject = mev.currentTarget as DisplayObject;<br />&nbsp;&nbsp;&nbsp;pressedButton.scaleX = 1.2;<br />&nbsp;&nbsp;&nbsp;pressedButton.scaleY = 1.2;<br />}</code><br /><br />Which uses only a single function! Now, if you need to change the scaling to 1.3, you only have to update it in one single place!<br /><br /><br />If you want to attach additional properties to the buttons, (such as setting some custom scale value for each button) you can use the Dictionary object. Look in the FAQ under the appropriate category for links to explanations and example code:<br /><a href="http://iqandreas.blogspot.com/2009/09/most-common-flash-questions-as3-faq.html">http://iqandreas.blogspot.com/2009/09/most-common-flash-questions-as3-faq.html</a><br /><br /><br /><br />This is how Flash bubbles it's events. Next step, how to make your own events bubble.<br /><br /><share class="share-twitter" title="Understanding the AS3 Event System #3 - Easy Event Bubbling" url="http://bit.ly/99XknE" /></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/4070696869879375892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/10/as3-event-system-3-easy-event-bubbling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4070696869879375892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4070696869879375892'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/10/as3-event-system-3-easy-event-bubbling.html' title='Understanding the AS3 Event System #3 - Easy Event Bubbling'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-8821219988985759562</id><published>2010-10-12T07:53:00.003-05:00</published><updated>2010-10-14T17:18:16.596-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='event'/><category scheme='http://www.blogger.com/atom/ns#' term='custom'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='illustration'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='beginner'/><title type='text'>Understanding the AS3 Event System #2 - Custom Events</title><content type='html'><span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 14px;">This thread is part 2 in a "Understanding the AS3 Event System" series. It continues on the "office" illustration used in part 1. If you have not read part 1, it is recommended that you do so:</span><br /><span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 14px;"><a href="http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html">http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html</a></span><br /><span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 14px;"><br /></span><br /><span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 14px;">I originally wrote this thread as a response to a Kirupa forum thread:<br /><a href="http://www.kirupa.com/forum/showthread.php?t=355040">http://www.kirupa.com/forum/showthread.php?t=355040</a><br /><br /></span><br /><span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 14px;">This is my first draft, so any opinions or thoughts are deeply appreciated, especially if there is anything you still don't fully understand or would like me to clarify further.</span><br /><span class="Apple-style-span" style="font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 14px;"></span><br /><hr /><br />Listen, don't tell my boss, but those days when work gets slow, I fire up some StarCraft! StarCraft is no fun alone, so Nico, Bob, Larry, and I all play against eachother. The problem is that we all need to be logged on at the same time in order to play together. I'm the one who plays the most, so I am the "Game Master" - the one who starts up the server, chooses a map, and waits for everyone else to join in.<br /><br />We need some way to alert eachother when I start up a StarCraft game, AND keep it a secret from my boss (he reads all our emails, so I can't tell them via email). So, we use the Event system!<br /><br /><br /><b>Custom Event Strings</b><br />We have planned that whenever I am about to start up a new game, I stand up and yell out to everyone "I am about to call <u>Yamato</u>!" (who our boss assumes is one of my Japanese clients)<br /><br />Everyone knows that the custom event string (or event type) for when everyone listening should play starcraft is "Yamato". So, ahead of time, Nico, Bob, and Larry listen for my "Yamato" event:<br /><br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 34px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">homeButton.addEventListener("Yamato", startPlayingStarScraft);</pre></div>Now, we may start playing dozens of different games, and I have chosen a different "code name" as the event string for each type of game:<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 82px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">homeButton.addEventListener("MarcoPolo", startPlayingAOE);<br />homeButton.addEventListener("Gelinor", startPlayingRuneScape);<br />homeButton.addEventListener("Germany", startPlayingCOD);<br />homeButton.addEventListener("Orcish", startPlayingWOW);</pre></div><br /><b>Custom Events</b><br />Now, I could create a different type of Event Folder for each type of game, such as StarCraftEvent, RuneScapeEvent, AOEEvent etc. <br /><br />Each type of event file would have information inside of it, for instance, the "StarCraftEvent Folder" may have the following properties:<br />&gt; the target - Me, since I'm the one "dispatching" the event<br />&gt; the type - the custom event string, in this case "Yamato"<br />&gt; map - the StarCraft map we will be playing in<br />&gt; players - a list of all players<br />&gt; settings - the game settings<br /><br />And our class would look something like this (note that "target" and "type" are automatically inherited by the Event since you "extend" it)<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 274px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">public class StarCraftEvent extends Event<br />{<br /> public function StarCraftEvent(the_type:String, the_map:SCMap, the_players:Array, the_settings:GameSettings)<br /> {<br /> //Since you extend the Event, let the super class know a few more additional details<br /> super(the_type);<br /> <br /> map = the_map;<br /> players = the_players;<br /> settings = the_settings;<br /> }<br /> <br /> public var map:SCMap;<br /> public var players:Array;<br /> public var settings:GameSettings<br />}</pre></div>This would be my totally custom made event class! <img alt="" border="0" class="inlineimg" src="http://www.kirupa.com/forum/images/smilies/d_smile.gif" title="Big Smile" /> Perfectly customized for whenever we want to start a StarCraft game, allowing everyone to get the information they need!<br /><br /><br /><b>Dispatching the Custom Event</b><br />This is exactly as simple as it was dispatching the "clicked" event:<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 114px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">//Create the event<br />var players:Array = [Andreas, Nico, Bob, Larry];<br />var scEvent:StarCraftEvent = new StarCraftEvent("<u>Yamato</u>", lostTemple, players, defaultSettings);<br /><br />//Dispatch the event (and it's folder containing all the info)<br />dispatchEvent(scEvent);</pre></div>That <u>dispatches an event</u> which alerts <u>everyone who is listening</u> that I am about to start up a StarCraft game.<br /><br />So, Nico, Bob, and Larry run up to my cubicle and I hand them all the StarCraftEvent Folder containing ALL the information they need to join in the game.<br /><br /><br /><b>Do you really need to create Custom Events?</b><br />Now I can create a new Custom Event for each and every game we play and that would alright. <br /><br />But I noticed, no one really reads the information in the Event Folder! I spent good money putting together and printing out all the information for those folders, and no one reads them! They get the file from me, then they run back to their own cubicles, fire up the game, and throw the Event Folder directly into the trash.<br /><br />When you think about it, do they really NEED all that extra information such as maps or players? They will find all that information out anyway when they start up StarCraft. There really is no use going into all the hassle of creating custom events!<br /><br />Instead, what if I print out a plain old Event Folder? All it says is the "target" and the "type", but if they want more information (which one one does) they can ask me for it directly.<br /><br />FORGET about the hassle with the StarCraftEvent class, and just do this:<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 50px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">var eventFolder:Event = new Event("Yamato");<br />dispatchEvent(eventFolder);</pre></div>99% of the time. That is all you will ever need. You save a lot of unnecessary work.<br /><br /><br /><b>You don't always need to create custom <u>Events</u>, usually it is enough just using custom <u>Event Strings</u>.</b><br /><br /><br />That is Custom Events 101<br /><br /><br /><share class="share-twitter" title="Understanding The AS3 Event System #2 - Custom Events" url="http://iqandreas.blogspot.com/2010/10/as3-event-system-2-custom-events.html"> </share></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/8821219988985759562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/10/as3-event-system-2-custom-events.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8821219988985759562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8821219988985759562'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/10/as3-event-system-2-custom-events.html' title='Understanding the AS3 Event System #2 - Custom Events'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-5821129451737893902</id><published>2010-10-11T10:39:00.002-05:00</published><updated>2010-10-11T11:38:49.649-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='event'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><category scheme='http://www.blogger.com/atom/ns#' term='illustration'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='beginner'/><title type='text'>Understanding the AS3 Event System #1 - The Basics</title><content type='html'>I originally wrote this thread as a response to a Kirupa forum thread:<br /><a href="http://www.kirupa.com/forum/showthread.php?t=355040">http://www.kirupa.com/forum/showthread.php?t=355040<br /></a><br />This is my first draft, so any opinions or thoughts are deeply appreciated, especially if there is anything you still don't fully understand or would like me to clarify further.<br /><br /><hr/>Imagine your code as one big office room. That office has about 100 or so cubicles, with each cubicle representing a different object. For instance, if you have 5 Buttons on the stage, it's not one "Button" cubicle, but instead 5 different cubicles, one for each button instance.<br /><br /><br /><b>The Event String/Event Type</b><br />Now, I'm sitting in the "homeButton" cubicle. One day, I get an email from my boss who tells me I have been "clicked". So immediately I stand up, and yell out into the hallway so loudly that everyone can hear "I HAVE BEEN CLICKED!"<br /><br />Now, the boss may have A LOT more information, such as where I was clicked, how many times, if any of my children were clicked, and a lot more information. However, I won't stand up and yell out to everyone in the building all that information. That is quite wasteful, and if I got several of those emails a day, I would soon get tired of spouting out all that information. <br /><br />Instead, to save energy, I only tell everyone "I have been <u>clicked</u>". That is me telling everybody the event type, also known as the event string.<br /><br /><br /><b>Listening for Events</b><br />Back up a few hours (before the event string). I have a friend named Nico sitting in the art department (his cubicle is labeled "currentImage" though that's not really that relevant). His boss told him "Whenever Andreas in the homeButton cubicle is clicked I want you to draw an image of a house and send it right to me."<br /><br />Now, Nico could get up out of his seat every five minutes, walk over to me, and ask "Hey, Andreas. Were you clicked yet?" I say no, so he walks back to his cubicle and sits down. This would happen again and again, and neither of us would get any work done. This is VERY inefficient. Nico could reduce this and only check with me once per hour, but he wants to know <i>immediately</i> when I am clicked. So that is NOT an option either.<br /><br />Instead, Nico sits in his cubicle continuing his regular work, and in the meantime, <b>listens</b> out in the hallway for my voice. Now, at around noon I yell out "I was <u>keypressed</u>!" He hears my voice, but he really doesn't care about the keypresses. So, he ignores what I say, and continues working. Then another guy in the cubicle (Larry, a really annoying guy) yells out "I was <u>clicked</u>!" Since Larry is not as good looking as Andreas, and The Boss didn't tell Nico to listen to Larry, Nico ignores him completely.<br /><br />Because, <u>Nico is only listening to</u> Andreas (in <u>the homeButton cubicle</u>) <u>for the "clicked" event</u>. When he hears the event, he needs to <u>start drawing the house</u> (which looks something like this in AS3):<br /><br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 34px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">homeButton.addEventListener("<u>clicked</u>", drawHouse);</pre></div><b>The Event is dispatched</b><br />Now, fast forward back to where we were. Me (Andreas) gets the call from my boss telling me I was clicked. So I stand up and yell out to everyone. "I was <u>clicked</u>!"<br /><br />Two people were listening for my "clicked", Nico and Bob (the guy from 'contentManagement', a very talkative fellow) Nico rushes up to me excited "Hey Andreas. I heard about the click. That is awesome! Congratulations! <img alt="" border="0" class="inlineimg" src="http://www.kirupa.com/forum/images/smilies/happy.gif" title="Smilie" /> But tell me more about the event! <i>Why were you clicked? Where were you clicked? Who clicked you? Why did they click you?</i>"<br /><br />I could spend the next 5 minutes explaining all the juicy details to Nico, but then I would have to repeat all this information to Bob (which is very inefficient, and Bob is a busy man and doesn't want to wait). So instead, I print out all the information on the "clicked event" and put it into a Folder which I give to Nico. I give the folder to both Nico and Bob so they can use the information in it and look at it as they please. This folder is the Event object (more details on that later)<br /><br />Immediatly Nico rushes to his art studio in his cubicle and gets to work at "drawHouse()", however, now he has the Folder (the Event) he can use that information while drawing the house, and therefore passes it into the function as a parameter:<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 50px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">function drawHouse(<u>event:Event</u>)<br />{ /*Draw stuff in here...*/ }</pre></div><b>The Event</b><br />To make sure that everyone gets the information they need, there are VERY strict protocols to what the Event Folder needs to contain. <br /><br />The following pages with information are required for standard Event Folders<br /><b>&gt;<u>the target</u></b> - the person dispatching the event, which in this case is me, Andreas (or actually the <u>homeButton</u> cubicle).<br /><b>&gt;<u>event type</u></b> - the type of event (aka event string), in this case "<u>clicked</u>".<br /><span style="font-size: xx-small;">(there are a few more pages in the file, but that's mostly the small legal mumbo-jumbo fine print that no one reads anyway. You will be fine ignoring them for now.)</span><br /><br />This is a standard Event file. But hold on, there was A LOT more information which is missing here! If I hand Nico a file with only those two pages of information in it, he will still wonder "Where were you clicked?" among MANY other important questions. Luckily, the company already has a neat system figured out!<br /><br /><br /><b>The MouseEvent</b><br />Now, the company I work for has a second type of file, a "MouseEvent File". This file <b>extends</b> the standard Event File. That means that the MouseEvent file has all the information contained in the plus a lot more information, perfect for when a "clicked" event happened.<br /><br />It has the standard two fields (<u>target</u> and <u>type</u>) PLUS these additional pages with information: <br />&gt;localX<br />&gt;localY<br />&gt;stageX<br />&gt;stageY<br />&gt;altKey<br />&gt;ctrlKey<br />And a whole lot more!<br /><br />Note that this MouseEvent file ONLY is allowed to be used when dealing with events that had to do with the mouse, such as "clicked", "hovered" etc. The file should NOT be used for events that had to do with the keyboard, "keypressed" or "keyreleased". Those events should instead use a specialized KeyboardEvent File with it's own special properties.<br /><br /><br />So I print out all the relevant information and hand both Nico and Bob a "MouseEvent" folder. Using that information, they draw the houses, or display text, or whatever they want to do with the information.<br /><br />(Extra note: Maybe Bob didn't even need to see the file. Maybe he just needed to know that I was clicked, so when I hand him the file, he may not even open it or look at the details of the click using the information inside. That's fine by me, but I still need to create the file in case there is someone out there who actually needs the information.)<br /><br /><br /><b>Creating the MouseEvent</b><br />Bob and Nico don't want to wait for me to print out and collect all the papers needed in the MouseEvent file. They want the information to be ready the second they step up to my cubicle. So, BEFORE I stand up and tell everyone I was clicked, I create the folder ahead of time for quick and easy access. THEN, <u>I dispatch it to all who are listening</u>.<br /><br />This is how it looks in ActionScript:<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 146px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">//create the folder with all the information in it<br />var eventFolder:MouseEvent = new MouseEvent("<u>clicked</u>", bla, bla, localX, localY, bla, bla, bla, bla, more bla);<br /><br />//Now stand up and tell everyone I was clicked<br />//The "eventFolder" already says the <b>event type</b> is "clicked",<br />// so I don't need to repeat myself when dispatching it.<br />//All I need to do is dispatch the folder and Flash will do all the dirty work<br />dispatchEvent(eventFolder);</pre></div>Now Nico and Bob (and whoever else is listening) can react to it and get to see the folder I sent when dispatching:<br /><div style="margin: 5px 20px 20px;"><div class="smallfont" style="margin-bottom: 2px;">Code:</div><pre class="alt2" dir="ltr" style="border: 1px inset; height: 50px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 500px;">function drawHouse( <u>andreasEventFolder:MouseEvent</u> )<br />{ /*Draw stuff in here...*/ }</pre></div>That is Events 101.<br /><br /><br /><share class="share-twitter" title="Understanding the AS3 Event System #1 - The Basics" url="http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html" /></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/5821129451737893902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5821129451737893902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5821129451737893902'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/10/understanding-as3-event-system-1-basics.html' title='Understanding the AS3 Event System #1 - The Basics'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-8835935286317567860</id><published>2010-06-07T20:51:00.001-05:00</published><updated>2010-06-07T20:53:46.491-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='k2fave'/><category scheme='http://www.blogger.com/atom/ns#' term='k2'/><category scheme='http://www.blogger.com/atom/ns#' term='help'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='faves'/><category scheme='http://www.blogger.com/atom/ns#' term='faq'/><category scheme='http://www.blogger.com/atom/ns#' term='favorite'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='modifications'/><category scheme='http://www.blogger.com/atom/ns#' term='questions'/><title type='text'>[K2Fave] Joomla K2Fave - Frequently Asked Questions</title><content type='html'>This article relates to the <a href="http://www.joomla.org/">Joomla</a> <a href="http://getk2.org/">K2</a> modification "K2Fave"<br /><a href="http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html">http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html</a><br /><br /><br />To my surprise and amazement, a lot of responses already and so very quickly. Here are a few questions that have arisen so far. I will keep adding to this list over time, so check back if you run into any issues.<br /><br /><br /><h3>How can I view all my favorites?</h3>There are three ways. Sadly, you are going to need access to the raw PHP code in all instances. If anyone is better with the Joomla framework, perhaps they can help bridge this in a way so you can put in a "favorites" table in any page from inside the "page editor".<br /><br /><b>Just plain import</b><br />You can just plain and simple import a basic page which already has all the imports and everything you need. <br /><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">include(JPATH_BASE.DS.'components'.DS.'com_k2'.DS.'k2fave'.DS.'viewfaves.html.php');</div><br />I noticed one small flaw on that page you might have to fix unless you downloaded the release fixed a few minutes ago. Inside of "<span style="font-family: &quot;Courier New&quot;,Courier,monospace;">viewfaves.html.php</span>"<br /><blockquote><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">//Replace the following line</div><div>ForetagFave::listUserFavorites($user); </div><div style="font-family: &quot;Courier New&quot;,Courier,monospace;"><br /></div><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">//With this</div><div>K2Fave::listUserFavorites($user); </div></blockquote><br /><b>Access the "K2Fave" class directly</b><br />Wherever you want the table of favorites to appear, place the following code:<br /><blockquote><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">//Get current user - you can do this any way you please</div><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">$user =&amp; JFactory::getUser();</div><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">K2Fave::listUserFavorites($user); </div></blockquote><b>Access raw data from the database</b><br />This might take some PHP experience to get done, but if you want the actual array filled with all favorites, try this code:<br /><blockquote><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">include(JPATH_BASE.DS.'components'.DS.'com_k2'.DS.'k2fave'.DS.'k2fave.db.php');<br />$user =&amp; JFactory::getUser(); <br />$favoritesArray = K2FaveDatabase::getFaves($user-&gt;); </div></blockquote>The returned array is a list of objects, all with integers named "user_id" and "item_id". See the "<span style="font-family: &quot;Courier New&quot;,Courier,monospace;">K2Fave::listUserFavorites()</span>" function (located in <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">k2fave.php</span>) for an example of how to parse the array into a usable table.<br /><br />The <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">K2Fave</span> class has a few more functions which may assist in creating a good table; such as <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">makeRemoveURL()</span> and <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">makeK2ItemLink()</span>. See the class definition for more details.<br /><br /><br /><h3>How can I format the favorites table?</h3>The table is formatted as a plain, old <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">&lt;table&gt;</span>, so wrap whatever code you are using to make the table show up in CSS <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">span</span> or <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">div</span> tags, and set whatever formatting you need either in side of those, or in a separate CSS file.<br /><br />For free tutorials on CSS and how to use it properly, I would recommend <a href="http://www.w3schools.com/">W3Schools</a>, along with a good old fashioned Google search.<br /><a href="http://www.w3schools.com/css/default.asp">http://www.w3schools.com/css/default.asp </a><br /><a href="http://www.google.com/#q=css+tutorial">http://www.google.com/#q=css+tutorial</a><br /><br />Otherwise, the table should take on the default formatting for tables set in your global style sheet.<br /><br /><br /><h3>The favorites are able to be added more than once, causing duplicates</h3>This means that the rows were not both set to "PRIMARY_KEY". This can be a bit tricky, and not really common in most cases, but the following guide should help with both creating the table, or modifying the table in case it was already created.<br /><br />IN PROGRESS: I'm working on a post which describes how to set up the database properly. Should be done tomorrow morning.<br /><br /><br /><h3>I'm getting an error message!</h3>Great! Tell me about it! See the answer to the question below for contact details.<br /><br />It would be easier if you copy and paste the EXACT error message, which makes it a lot easier for me to track down the bugs.<br /><br />If a completely blank page is showing up rather than an error, try turning on global error reporting in the Joomla! settings.<br /><br /><br /><h3>But that's not enough! I want my favorites manager to also do this and that, and then do si and so...</h3>Great! I would be happy to implement any ideas you may have into future versions of K2Fave.<br /><br />If you want very specific modifications made to K2Fave for <b>any part of Joomla or K2</b>, (such as playing a Fanfare when they add an item to favorites, and Taps when they remove the item from favorites - anything really) send me a message using the contact details below.<br /><br /><br /><h3>All this PHP and MySQL is quite confusing. I just want the favorites thing to work; I don't want to worry about it.</h3>I would be more than happy to implement those changes for you, as well as any other reasonable modifications you may want to the existing system for a flat rate of $30 USD. This includes not only installation, but also any text, customization, styling, and custom implementation.<br /><br />If you have low income or a low traffic site, we might be able to work out special arrangements, so don't give up even if you may be 15 and trying to make it on a $10 per week allowance. ;)<br /><br /><br /><h3>This is fantastic! Your modifications saved me hundreds of dollars! Thank you!</h3>First of all, I would love to hear about your experiences, as well as any live examples of the modification in use. Please leave a comment. :)<br /><br />Second, I am releasing these modifications for for free, and although it's not required, if you do make money from the project, or have saved money thanks to this project, I would <b>really</b> appreciate a donation so I can keep my programming work alive and keep these modifications and extensions coming for free.<br /><form action="https://www.paypal.com/cgi-bin/webscr" method="post"><div style="text-align: center;"><input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" type="image" /></div><img alt="" border="0" height="1" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" /></form>I might even name my firstborn after you out of joy and appreciation.<br /><br /><br /><h3>How can I get ahold of you?</h3>In the README.txt file there is an email address. I would prefer you not release it publicly for fear that it gets picked up by spambots. I hate having to switch to a new email address due to too much spam.<br /><br />That email address is also used as my MSN Messenger account, in case you prefer instant replies to questions. I'm usually logged in most of the time.<br /><br />I also have a contact form which will always forward all your messages to the newest email address<br /><a href="http://iqandreas.isbetterthanyou.org/contact.htm">http://iqandreas.isbetterthanyou.org/contact.htm</a><br /><br /><div class="spacer"></div></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/8835935286317567860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/06/joomla-k2fave-frequently-asked.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8835935286317567860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8835935286317567860'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/06/joomla-k2fave-frequently-asked.html' title='[K2Fave] Joomla K2Fave - Frequently Asked Questions'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-4221725513159319360</id><published>2010-06-07T15:52:00.001-05:00</published><updated>2010-06-07T20:22:29.886-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='faves'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='translated'/><category scheme='http://www.blogger.com/atom/ns#' term='manager'/><category scheme='http://www.blogger.com/atom/ns#' term='favorites'/><category scheme='http://www.blogger.com/atom/ns#' term='modifications'/><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='communitybuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='k2'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>[K2Fave] Joomla! K2 favorites plugin translated and finished</title><content type='html'>I spent the weekend translating and fixing up the K2Fave modification, so now it should be completely understandable, as well as adjustable to anyone's needs. <br /><br />For more details, see the original blog post<br /><a href="http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html">http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html</a><br /><br /><br /><h3>Easily changeable text and user messages</h3>Any major text or language changes can be done in "messages.php", which contains several lines similar to this:<br /><div style="font-family: &quot;Courier New&quot;,Courier,monospace;">define('T_ADD_TO_FAVES', "Add item to favorites");</div><br />Any form of HTML tags, including images, are allowed in that field, so rather than modifying the source directly, all you need to do is modify the text in the messages file. This is also convenient if you want multilingual support for a site, and can easily be achieved with a few slight modifications.<br /><br /><br /><h3>Database changes</h3>If anyone has already implemented the previous release, the database needs to be renamed to "jos_k2_favorites" with the following fields: <br /><table><tbody><tr><td>user_id</td> <td>int(11)</td> <td>PRIMARY_KEY</td></tr><tr><td>item_id</td> <td>int(11)</td> <td>PRIMARY_KEY</td></tr></tbody></table>NOTE: This is in addition to updating the PHP files!<br /><br /><br /><h3>Documentation</h3>The most relevant information can be found in the <span style="font-family: &quot;Courier New&quot;,Courier,monospace;">README.txt</span> file inside the ZIP, or on the <a href="http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html">original blog post</a>. <br /><br />Most everything is self explanatory, but if anyone needs any better documentation or clarification for anything, leave a comment or send an email to the address listed in the readme file.<br /><br /><br /><h3>Installation</h3>The installation steps are the <a href="http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html">same as before</a>, and the ZIP file can be found in the same location as before.<br /><a href="http://iqandreas.isbetterthanyou.org/files/joomla/k2fave/k2fave.zip">http://iqandreas.isbetterthanyou.org/files/joomla/k2fave/k2fave.zip</a><br /><br /><br />Cheers,<br />Andreas<br /><a href="http://iqandreas.blogspot.com/">http://iqandreas.blogspot.com/</a><br /><a href="http://iqandreas.isbetterthanyou.org/">http://iqandreas.isbetterthanyou.org/</a></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/4221725513159319360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/06/joomla-k2-favorites-plugin-translated.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4221725513159319360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4221725513159319360'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/06/joomla-k2-favorites-plugin-translated.html' title='[K2Fave] Joomla! K2 favorites plugin translated and finished'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-1722047665407737597</id><published>2010-06-06T09:45:00.005-05:00</published><updated>2010-06-07T19:53:43.720-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='joomla'/><category scheme='http://www.blogger.com/atom/ns#' term='k2'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='favorite'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='modifications'/><title type='text'>[K2Fave] Joomla! K2 Favorite item manager</title><content type='html'><div class="notice">NOTE! This modification has been updated to release version 1.0, if you still have the old version (without proper translations), please update. More information is available in <a href="http://iqandreas.blogspot.com/2010/06/joomla-k2-favorites-plugin-translated.html" class="widelink">this post</a></div><br />Greetings Joomlaers!<br /><br />As <a href="http://community.getk2.org/forum/topics/favorite-item-module">there was a need for a "favorites" option</a> in the <a href="http://www.joomla.org/">Joomla!</a> plugin <a href="http://getk2.org/">k2</a>, I have released these modifications. Note that this is not an installable extension. Instead, these are files added to the server, and slight modifications to already existing k2 pages.<br /><br />I am releasing these modifications for for free, and although it's not required, if you do make money from the project, I would appreciate a donation so I can keep my programming work alive and keep these modifications and extensions coming for free.<br /><form action="https://www.paypal.com/cgi-bin/webscr" method="post"><div style="text-align: center;"><input alt="PayPal - The safer, easier way to pay online!" border="0" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" type="image" /></div><img alt="" border="0" height="1" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" /></form>These files are released as-is with no guarantee to be free from flaws or completely secure. If you are worried about the code containing security holes, look over the code yourself and make the necessary changes. If you find any vulnerabilities let me know and I will be sure to fix them in the next release.<br /><br /><br />This is the first release of the project, so any suggestions or tips are VERY welcome.<br /><br />If you would rather not do all the work of adding the plugin yourself, for $30 USD I will upload and make all changes directly to the server, so you don't have to worry about anything, including any wanted customization such as speical text, CSS formatting, etc. If you have any other "wants" for the project, I can implement those as well. <br /><br />For further details, leave a comment in the section below, or on <a href="http://iqandreas.isbetterthanyou.org/">my in progress website</a>, or send me an email via the address provided in the README.txt file.<br /><br /><br /><h3>Instuctions for use/installation</h3>Download the ZIP file and extract it temporary location<br /><a href="http://iqandreas.isbetterthanyou.org/files/joomla/k2fave/k2fave.zip">http://iqandreas.isbetterthanyou.org/files/joomla/k2fave/k2fave.zip</a><br /><br />Save the "items.php" file as:<br /><i>components/com_k2/templates/default/item.php</i><br />Note that if you are using an updated version of K2 with a different "item.php" page, copy lines 27-33 into the new "item.php" page, and place them right before the line containing "<i>&lt;!-- K2 Plugins: K2BeforeDisplay --&gt;</i>"<br /><br />Save the entire folder "k2fave" inside of the folder<br /><i>components/com_k2/</i><br /><br />Finally, create a new table named "<i>jos_k2_favorites</i>", using whatever prefix your Joomla installation currently uses. Your table should be formatted like this:<br /><table><tbody><tr><td>user_id</td> <td>int(11)</td> <td>PRIMARY_KEY</td></tr><tr><td>item_id</td> <td>int(11)</td> <td>PRIMARY_KEY</td></tr></tbody></table><br />The easiest way it to open up PHPMyAdmin and add this table manually, however, it is possible to do so via SQL statements instead.<br /><br /><br />If you have any questions or would like me to do any other Joomla modifications, send me a message.<br /><br /><br />Cheers,<br />Andreas<br /><a href="http://iqandreas.blogspot.com/">http://iqandreas.blogspot.com/</a><br /><a href="http://iqandreas.isbetterthanyou.org/">http://iqandreas.isbetterthanyou.org/</a></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/1722047665407737597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1722047665407737597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1722047665407737597'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/06/joomla-k2-favorite-item-manager.html' title='[K2Fave] Joomla! K2 Favorite item manager'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-5422196258348286393</id><published>2010-06-03T09:08:00.003-05:00</published><updated>2010-06-03T09:17:52.441-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='iqanderas'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='gamedev'/><category scheme='http://www.blogger.com/atom/ns#' term='learn'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>What is the point of this Blog?</title><content type='html'>I recently had to write a summary of the blog, and thought it might be a good opportunity to repost this information here and make it clear to all my thoughts and purposes of this Blog.<br /><br />This blog is a collection of information focused mainly on ActionScript and Flash, with emphasis on game development, plus a little bit extra thrown in. It is aimed to be readable by beginners and not only experienced developers.<br /><br />Articles are typically in one of the following categories:<br /><ul><li><b>ActionScript code samples or tutorials</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/02/language-reference-at-tip-of-your.html">The Language Reference at the tip of your fingers!</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/02/i-originally-posted-this-as-reply-to.html">Optimize AS3 for speed - Bitmap filters reply</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/08/tip-tweening-functions.html">TIP: Tweening Functions</a><br/><li><b>Fixes for common problems</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/09/most-common-flash-questions-as3-faq.html">Most common Flash Questions (AS3 FAQ)</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/10/fixing-vector-support-in-flashdevelop.html">Fixing Vector Support in FlashDevelop</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/09/error-error-2071-stage-class-does-not.html">Error: Error #2071: The Stage class does not implement this property or method.</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/09/error-error-2069-loader-class-does-not.html">Error: Error #2069: The Loader class does not implement this method.</a><br/><li><b>Provide new classes which do things where there is currently a lack</b> - until I find out that something similar already existed...</li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/12/debug-text-has-been-updated-now-with.html">DebugText - Onscreen "trace" replacement</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/12/volumeknob-component.html">Simple AS3 VolumeKnob Component</a><br/><li><b>Beginner friendly updates on current events in the Flash world</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/04/go-screw-yourself-apple-lee-brimelow.html">"Go screw yourself Apple" — Lee Brimelow</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/05/steve-jobs-responds-to-adobe.html">Steve Jobs responds regarding Flash</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/09/wii-internet-channel-with-flashlite.html">Wii Internet Channel with FlashLite 3.1 confirmed!</a><br/><li><b>Beginner's introductions and clarifications to getting started with various branches of ActionScript development</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/04/getting-started-with-flash-player-101.html">Getting started with Flash Player 10.1</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/03/flexflash-builder-on-linux.html">Getting started with Flex/Flash Builder on Linux</a><br/><li><b>"Vivid" and "colorful" explanations not only on WHAT flash can do and HOW to do it, but also WHY flash acts the way it does</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/04/understanding-as3-1203-no-default.html">Understanding the AS3 "1203 No default constructor found in base class %s. " Error</a><br/><li><b>Comparisons between products, and reviews of common or up and coming Flash libraries and software</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/09/whats-as3-got-that-flashlite-doesnt.html">What's AS3 got that FlashLite doesn't?</a><br/><li><b>And finally, those lists without a real category</b></li>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2009/04/7-wonders-of-flash-world-best-and-most.html">The 7 Wonders of the Flash World [The Best and Most Beautiful uses of Flash]</a><br/>&nbsp;&nbsp;&nbsp;<a style="font-size:75%" href="http://iqandreas.blogspot.com/2010/03/actionscript-blogs-to-follow-part-1.html">ActionScript Blogs to Follow [part 1]</a><br/></ul><br /><br />The posts also strive to be unique. "If you can find it from 100 different sources on Google, there is no use in reposting what is already out there." Though, I may link to good articles, but I try to avoid writing repetitious information, clogging up the already very filled internet.<br /><br /><br />If there is any part of ActionScript you want more information on, or have an idea for a good blog post, leave a comment in the section below. A blog isn't much use if the information is irrelevant to it's readers.<br /><br />Cheers,<br />Andreas J. Renberg<br /><a href="http://iqandreas.blogspot.com/">http://iqandreas.blogspot.com/</a><br /><br /><br />And now on to SWF Protection! :)</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/5422196258348286393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/06/what-is-point-of-this-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5422196258348286393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5422196258348286393'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/06/what-is-point-of-this-blog.html' title='What is the point of this Blog?'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-8665929094082208913</id><published>2010-05-24T18:45:00.003-05:00</published><updated>2010-05-24T18:56:04.329-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='images'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='mad'/><category scheme='http://www.blogger.com/atom/ns#' term='calvin'/><category scheme='http://www.blogger.com/atom/ns#' term='parody'/><category scheme='http://www.blogger.com/atom/ns#' term='jobs'/><category scheme='http://www.blogger.com/atom/ns#' term='funny'/><category scheme='http://www.blogger.com/atom/ns#' term='comic'/><category scheme='http://www.blogger.com/atom/ns#' term='hobbes'/><category scheme='http://www.blogger.com/atom/ns#' term='steve'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Calvin and Jobs</title><content type='html'>It seems like these comics have been around for a while, but <a href="http://iqandreas.blogspot.com/2010/05/steve-jobs-responds-to-adobe.html">considering the circumstances</a>, I believe it to be appropriate to "rebump" them.<br /><a href="http://gizmodo.com/5033627/calvin-and-jobs-kick-steves-nuts">http://gizmodo.com/5033627/calvin-and-jobs-kick-steves-nuts</a><br /><br />These were not made by the original <a href="http://en.wikipedia.org/wiki/Calvin_and_Hobbes">Calvin and Hobbes</a> writer <a href="http://en.wikipedia.org/wiki/Bill_Watterson">Bill Watterson</a>, but instead by <a href="http://www.dccomics.com/mad/">MAD Magazine</a>. <br /><br />I do not hold any sort of copyright for these images at all. I wasn't satisfied with the original qualities, so I made a few quick touch ups in Gimp. Enjoy...<br /><br /><div style="text-align:center;"><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%2064%20million.png" alt="Calvin and Jobs - 64 Million" border="0"><br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Ads.png" alt="Calvin and Jobs - Ads" border="0"> <br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Bullies.png" alt="Calvin and Jobs - Bullies" border="0"> <br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20New%20Clothes.png" alt="Calvin and Jobs - New Clothes" border="0"><br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Virtues.png" alt="Calvin and Jobs - Virtues" border="0"><br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Court%20Practice.png" alt="Calvin and Jobs - Court Practice" border="0"><br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Trash.png" alt="Calvin and Jobs - Trash" border="0"><br /><br /><img src="http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Pixar.png" alt="Calvin and Jobs - Pixar" border="0"></div><br /><!--<img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%2064%20million.png</img><br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Ads.png</img> <br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Bullies.png</img> <br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Court%20Practice.png</img><br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20New%20Clothes.png</img><br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Pixar.png</img><br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Trash.png</img><br /><img>http://iqandreas.isbetterthanyou.org/images/calvin_and_jobs/Calvin%20and%20Jobs%20-%20Virtues.png</img>--></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/8665929094082208913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/05/calvin-and-jobs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8665929094082208913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8665929094082208913'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/05/calvin-and-jobs.html' title='Calvin and Jobs'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-2640097902973911484</id><published>2010-05-24T15:19:00.003-05:00</published><updated>2010-05-24T15:23:19.351-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='information'/><category scheme='http://www.blogger.com/atom/ns#' term='AS2'/><category scheme='http://www.blogger.com/atom/ns#' term='protect'/><category scheme='http://www.blogger.com/atom/ns#' term='decompile'/><category scheme='http://www.blogger.com/atom/ns#' term='encrypt'/><category scheme='http://www.blogger.com/atom/ns#' term='SWF'/><category scheme='http://www.blogger.com/atom/ns#' term='theme'/><category scheme='http://www.blogger.com/atom/ns#' term='activeden'/><category scheme='http://www.blogger.com/atom/ns#' term='fgl'/><category scheme='http://www.blogger.com/atom/ns#' term='june'/><category scheme='http://www.blogger.com/atom/ns#' term='fwa'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>June is SWF Protection and Encryption month!</title><content type='html'>Time for a themed blog month!<br /><br />This June (only one week left-<i>gasp</i>) I will be gathering and sharing information on all things regarding SWF Protection and Encryption. <br /><br /><br />As we all know, SWFs are able to be decompiled (quite easily as well), and if you spent two months fine tuning and working on this <a href="http://www.thefwa.com/about">FWA worthy site</a>, or <a href="http://activeden.net/">a really neat, new template</a>, or perhaps <a href="http://www.flashgamelicense.com/">a great new game</a>, you don't want your work ripped right out from under you and replicated without your permission, control, or royalty.<br /><br /><br />If anyone has any experience with, links on, or articles written about protecting your treasured Flash work, leave a comment or send me a private message directly on <a href="http://iqandreas.isbetterthanyou.org/">this form</a>. I'd be glad to either link to (or host if you don't have a site of your own) any information on this topic. Even information on SWF Decompiling is welcome! <br /><div class="spacer"></div></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/2640097902973911484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/05/june-is-swf-protection-and-encryption.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2640097902973911484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2640097902973911484'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/05/june-is-swf-protection-and-encryption.html' title='June is SWF Protection and Encryption month!'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-5584889006622091009</id><published>2010-05-24T14:20:00.002-05:00</published><updated>2010-05-24T14:42:09.586-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='app store'/><category scheme='http://www.blogger.com/atom/ns#' term='statement'/><category scheme='http://www.blogger.com/atom/ns#' term='letter'/><category scheme='http://www.blogger.com/atom/ns#' term='iPad'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='open'/><category scheme='http://www.blogger.com/atom/ns#' term='H.264'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><category scheme='http://www.blogger.com/atom/ns#' term='iProducts'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><category scheme='http://www.blogger.com/atom/ns#' term='jobs'/><category scheme='http://www.blogger.com/atom/ns#' term='war'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='responds'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='steve'/><title type='text'>Steve Jobs responds regarding Flash</title><content type='html'><blockquote>"We also know first hand that Flash is the number one reason Macs crash." [...] "Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind." — <a href="http://www.apple.com/hotnews/thoughts-on-flash/">Steve Jobs</a></blockquote><div class="separator" style="clear: both; text-align: center;"><img border="0" src="http://2.bp.blogspot.com/_jCt-A0oimP4/S_rRRxjqaMI/AAAAAAAAABI/r9AaQZvbawA/s320/stevejobbs_flash.gif" /></div><br />Finally, someone from Apple responded to war on Flash in an official statement — Mr. Steve Jobs himself! That letter can be found at <a href="http://www.apple.com/hotnews/thoughts-on-flash/">http://www.apple.com/hotnews/thoughts-on-flash/</a><br /><br />In the letter, Steve Jobs points out six main points why Flash is the enemy that has infested the Internet, and must be weeded out and slaughtered before it kills us all. Here I list the "abbreviated" version of his letter without any personal opinions or replies; I'm saving those for later.<br /><br /><blockquote><b>First, there’s “Open”</b> Adobe's products are 100% closed and proprietary. Adobe updates when THEY want to, and sets whatever prices they like. Although Apple has closed products, standards like <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a>, <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">CSS</a>, and <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> are entirely open and available to all, and therefore all work with Apple's products.<br /><br /><b>Second, there’s the “full web”.</b> Almost all popular video on the Internet can be viewed in a newer, more modern format, <a href="http://www.apple.com/quicktime/technologies/h264/faq.html">H.264</a>. Even though users cannot play flash games, there are over 50,000 applications in the App Store, and many of them are free.<br /><br /><b>Third, there’s reliability, security and performance.</b> Symantec recently highlighted Flash for having one of the worst security records in 2009. We also know first hand that Flash is the number one reason Macs crash. We don’t want to reduce the reliability and security of our iPhones, iPods and iPads by adding Flash. In addition, Flash has not performed well on mobile devices.<br /><br /><b>Fourth, there’s battery life.</b> Most Flash video is saved in formats which need to be decoded first; this takes up valuable battery life. On an iPhone, H.264 video can play for 10 hours until the battery dies, while most other formats only last the battery 5 hours.<br /><br /><b>Fifth, there’s Touch.</b> Flash was designed for PCs using mice, not for touch screens using fingers. Apple’s multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices.<br /><br /><b>Sixth, the most important reason.</b> Apple doesn't want any third party standing in between the developer and Apple. If Apple releases new updates, the users have to wait until the third party has updated their software to match, and are at the mercy of the third party. Although Flash is intended to be "cross-platform", Apple is very much against this thinking. Apple wants all their apps MADE FOR the iPhone or iPad, optimized with all the features available to "iProduct" developers, not available to iProducts as a "side feature".</blockquote><br /><br />Some of Steve Jobs arguments are a little shaky, and a lot of the time, he is pointing out a flaw in Adobe, while four fingers are pointing right back at Apple. But I'll post counter arguments and opinions on the matter another time.<br /><br /><div class="post_series">This article is part 2 of 3 in the series "The Apple vs. Flash Wars"<br /><ol><li><a class="widelink" href="http://iqandreas.blogspot.com/2010/04/go-screw-yourself-apple-lee-brimelow.html">"Go screw yourself Apple" — Lee Brimelow</a></li><li><a class="widelink" href="http://iqandreas.blogspot.com/2010/05/steve-jobs-responds-to-adobe.html">Steve Jobs responds regarding Flash</a></li><li>Thoughts on the Steve Jobs reply [in progress]</li></ol></div></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/5584889006622091009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/05/steve-jobs-responds-to-adobe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5584889006622091009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5584889006622091009'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/05/steve-jobs-responds-to-adobe.html' title='Steve Jobs responds regarding Flash'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jCt-A0oimP4/S_rRRxjqaMI/AAAAAAAAABI/r9AaQZvbawA/s72-c/stevejobbs_flash.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-3725359445810711787</id><published>2010-05-16T07:42:00.005-05:00</published><updated>2010-05-24T19:03:42.192-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='steam'/><category scheme='http://www.blogger.com/atom/ns#' term='humble'/><category scheme='http://www.blogger.com/atom/ns#' term='buy'/><category scheme='http://www.blogger.com/atom/ns#' term='closed'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='pay'/><category scheme='http://www.blogger.com/atom/ns#' term='bundle'/><category scheme='http://www.blogger.com/atom/ns#' term='wolfire'/><category scheme='http://www.blogger.com/atom/ns#' term='indie'/><title type='text'>The Humble Indie Bundle closed [Plus free Portal!]</title><content type='html'><i>See also <a href="http://iqandreas.blogspot.com/2010/05/pay-what-you-want-for-five-edit-six.html">http://iqandreas.blogspot.com/2010/05/pay-what-you-want-for-five-edit-six.html</a></i><br /><br />Sadly, the <a href="http://www.wolfire.com/humble">Humble Indie Bundle</a> didn't last forever, and eventually (or rather abruptly) came to a close. I wish I had found out about it sooner, and I would have been able to tell more people about it. <br /><a name='more'></a><br /><br />For those of you who missed the deal, World of Goo can be bought as usual from several places, including Steam and WiiWare for $20. For more information, see the 2D Boy site. <a href="http://2dboy.com/games.php">http://2dboy.com/games.php</a><br /><br />I'm not sure about the rest of the games. Since some of the games have gone open source, will they be released for free? We'll see. <br /><br />For the rest of you, enjoy the open sources! Hopefully those games will grow into a lot more now that they are open to the public.<br /><br /><br />A total of <b>138,784</b> people bought the games, for a total of <b>$1,273,355</b>, sending <b>$392,860</b> to <a href="http://www.eff.org/">Electronic Frontier Foundation</a> and <a href="http://www.childsplaycharity.org/">Child's Play Charity</a>.<br /><br /><br /><br />Myself, I spent the full $14.02 I had on my PayPal account, but since my little brother didn't have a credit card, I bought another copy as a gift for him (as well as an extra gift copy just in case it comes in handy), so I apologize for <i>technically</i> bringing down the average. ;)<br /><br />Also, call me evil, but I chose to donate everything to the developers, feeling sorry for this guy - <a href="http://www.wolfire.com/1/humble/johnbeard.jpg">http://www.wolfire.com/1/humble/johnbeard.jpg</a><br /><br /><hr><br /><strike>In related news, Valve has released the Portal on Steam <b>for free</b> which will work up until May 24th.</strike><br /><i>This deal is now closed as well. Hope you enjoyed it.</i><br /><br />That is plenty of time to finish the game for those of you who don't replay a game after finishing it. But for those of you who like playing a game again and again, you can now test if it is worth it. I can't seem to find the price for it if you buy the full version after the test period, but if I remember correctly it's either $10 or $20 for the "standalone" version, but it is also included in <a href="http://store.steampowered.com/sub/469/">The Orange Box</a> for $30.<br /><br />There is no excuse now not to give it a try. Portal has won over 70 Game of the Year awards, and is definitely my favorite game of all time (so far, at least).<br /><br />Download it here (For Windows AND now also MAC!):<br /><a href="http://store.steampowered.com/freeportal/">http://store.steampowered.com/freeportal/</a><br /><br /><br />Though, I still wish Portal existed on the Wii. I have grown quite fond of the <a href="http://www.youtube.com/watch?v=wKlZBuknKyM">Metroid Prime 3 playing and aiming style</a>.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/3725359445810711787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/05/humble-indie-bundle-is-closed-plus-free.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/3725359445810711787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/3725359445810711787'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/05/humble-indie-bundle-is-closed-plus-free.html' title='The Humble Indie Bundle closed [Plus free Portal!]'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-6451773879287830638</id><published>2010-05-11T19:40:00.006-05:00</published><updated>2010-05-16T07:47:14.469-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='gish'/><category scheme='http://www.blogger.com/atom/ns#' term='goo'/><category scheme='http://www.blogger.com/atom/ns#' term='world'/><category scheme='http://www.blogger.com/atom/ns#' term='2dboy'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='pay'/><category scheme='http://www.blogger.com/atom/ns#' term='aquaria'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><category scheme='http://www.blogger.com/atom/ns#' term='gnu'/><category scheme='http://www.blogger.com/atom/ns#' term='license'/><category scheme='http://www.blogger.com/atom/ns#' term='overture'/><category scheme='http://www.blogger.com/atom/ns#' term='donate'/><category scheme='http://www.blogger.com/atom/ns#' term='wolfire'/><category scheme='http://www.blogger.com/atom/ns#' term='samorost'/><category scheme='http://www.blogger.com/atom/ns#' term='lugaru'/><category scheme='http://www.blogger.com/atom/ns#' term='penumbra'/><category scheme='http://www.blogger.com/atom/ns#' term='world of goo'/><title type='text'>[CLOSED] Pay what you want for five [edit: six] awesome games!</title><content type='html'><div class='notice'>The Humble Indie Bundle is now closed.<br />For further information, see the <a href="http://www.wolfire.com/humble">Wolfire Games Website</a>, or <a class='widelink' href='http://iqandreas.blogspot.com/2010/05/humble-indie-bundle-is-closed-plus-free.html'>the follow up post</a></div><br /><h2><a href="http://www.wolfire.com/humble">The Humble Indie Bundle</a></h2><br />When <a href="http://www.worldofgoo.com/">World of Goo</a> was released on the <a href="http://wii.com/">Wii</a> (via WiiWare) I bought it nearly immediately, and it is definitely one of my favorite games of all time (still doesn't beat <a href="http://store.steampowered.com/app/400/">Portal</a>, sorry, but it comes close)<br /><br /><br />I found this out a bit late, but luckily, not too late. <br /><br />For a limited time, you can buy the following games:<br /><ul><li><a href="http://2dboy.com/games.php">World of Goo</a></li><li><a href="http://www.bit-blot.com/aquaria/">Aquaria</a></li><li><a href="http://www.crypticsea.com/gish/">Gish</a></li><li><a href="http://www.wolfire.com/lugaru">Lugaru HD</a></li><li><a href="http://www.penumbragame.com/">Penumbra Overture</a></li><li><a href="http://www.amanita-design.net/samorost-2/">Samorost 2 </a></li></ul><br />Normally it would cost $80 if you bought them directly, but now you can <a href="http://www.wolfire.com/humble">choose what price you want to pay for these games</a>, weather it be one penny or the full $80. All money received will be split between the developers, and in addition, two charity organizations, <a href="http://www.eff.org/">Electronic Frontier Foundation</a> and <a href="http://www.childsplaycharity.org/">Child's Play Charity</a>.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://www.wolfire.com/humble" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0.5px" src="http://4.bp.blogspot.com/_jCt-A0oimP4/S-n1PHT8-TI/AAAAAAAAAA4/bK6-Ga9q0PY/s320/HumbleIndieBundle.JPG" /></a></div><br />All games are available for all three major platforms, Windows, MAC, and Linux (yeay!)<br /><br />Not only that, but since the total number of donations exceeded $1,000,000 (that's one million US Dollars) Aquaria, Gish, Lugaru, and Penumbra will be releasing the sources of their games with the GNU Public license!<br /><br />But hurry, if I understand correctly, the entire deal ends in 3 days and 19 hours from the time of this writing (there's a timer on <a href="http://www.wolfire.com/humble">their site</a> if you don't feel like doing the math)<br /><br />For more information, see <a href="http://www.wolfire.com/humble">their site</a>, or this "rap informational video"<br /><object height="405" width="660"><param name="movie" value="http://www.youtube.com/v/M7Aw5C7WQ6g&hl=en_US&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/M7Aw5C7WQ6g&hl=en_US&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="660" height="405"></embed></object><br /><br />So go out and spread the word!</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/6451773879287830638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/05/pay-what-you-want-for-five-edit-six.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/6451773879287830638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/6451773879287830638'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/05/pay-what-you-want-for-five-edit-six.html' title='[CLOSED] Pay what you want for five [edit: six] awesome games!'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jCt-A0oimP4/S-n1PHT8-TI/AAAAAAAAAA4/bK6-Ga9q0PY/s72-c/HumbleIndieBundle.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-4667055542995208115</id><published>2010-05-11T06:40:00.006-05:00</published><updated>2010-05-11T06:45:32.068-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='challenge'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='week'/><category scheme='http://www.blogger.com/atom/ns#' term='gamedev'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>A Game a Week #1 - Temperature</title><content type='html'><a href="http://www.kirupa.com/forum/member.php?u=19473">Sammo</a> over on the <a href="http://www.kirupa.com/forum/">Kirupa Forums</a> has started a new "game" (I'm really not sure what to call it) on creating games.<br /><br />I'll just quote him...<br /><blockquote>Welcome to the first A Game a Week, this is an experiment inspired by <a href="http://2dboy.com/">2D Boy</a>'s <a href="http://experimentalgameplay.com/">Experimental Gameplay Project</a>. The idea is simple, you have one week to make a Flash game, from concept to production. You are not required to enter, it is not a contest, it is just for fun and for practice. Most importantly though; <b>it is not a contest</b>.<br /><br />The rules are very few and very simple. The rules are:<br /><li>You must include the FLA (or AS or even FXG if you're feeling fly) file.</li><br />That is all. </blockquote><br />This week's theme is <b>Temperature</b>, and the deadline is <b>May 18, 2010</b>.<br /><br /><br />For more details, visit the official Kirupa thread:<br /><a href="http://www.kirupa.com/forum/showthread.php?p=2553233#post2553233">http://www.kirupa.com/forum/showthread.php?p=2553233#post2553233</a><br /><br /><br />If I have enough time among all my work, I will try to get a submission in, but I tend to procrastinate, so any work will likely be done on the 17th. ;)</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/4667055542995208115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/05/game-week-1-temperature.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4667055542995208115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4667055542995208115'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/05/game-week-1-temperature.html' title='A Game a Week #1 - Temperature'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-1947168556099992967</id><published>2010-05-04T05:53:00.001-05:00</published><updated>2010-05-24T13:17:09.442-05:00</updated><app:control xmlns:app='http://purl.org/atom/app#'><app:draft>yes</app:draft></app:control><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><title type='text'>Apple responds to the Flash supression</title><content type='html'><blockquote>Flash is no longer necessary to watch video or consume any kind of web content. Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind. — <a href="http://www.apple.com/hotnews/thoughts-on-flash/">Steve Jobs</a></blockquote><br />Finally, someone from Apple responded to war on Flash in an official statement — Mr. Steve Jobs himself! That letter can be found at <a href="http://www.apple.com/hotnews/thoughts-on-flash/">http://www.apple.com/hotnews/thoughts-on-flash/</a><br /><br />In the letter, Steve Jobs points out six main points why Flash is the enemy that has infested the Internet, and must be weeded out and slaughtered before it kills us all.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1947168556099992967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/1947168556099992967'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-5664209617986884809</id><published>2010-04-25T19:16:00.003-05:00</published><updated>2010-04-27T11:03:57.769-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='SWC'/><category scheme='http://www.blogger.com/atom/ns#' term='multitouch'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='labs'/><category scheme='http://www.blogger.com/atom/ns#' term='smartphone'/><category scheme='http://www.blogger.com/atom/ns#' term='10.1'/><category scheme='http://www.blogger.com/atom/ns#' term='library'/><category scheme='http://www.blogger.com/atom/ns#' term='input'/><category scheme='http://www.blogger.com/atom/ns#' term='player'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='guide'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='netbook'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='gesture'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='accelerometer'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><title type='text'>Getting started with Flash Player 10.1</title><content type='html'>Flash Player 10.1 added several neat multi-touch, gesture, and accelerometer input features. There are several more neat features of the new Flash Player, but the new input controls are what I find the most captivating (that, and global error handling, FINALLY!). The rest can be found on Adobe's website:<br /><a href="http://labs.adobe.com/technologies/flashplayer10/features.html">AdobeLabs - Flash Player 10.1 Features and Enhancements</a><br /><br />Adobe really put <b>a lot</b> of effort into getting the newest version of Flash Player to work on numerous devices, naming this project the "<a href="http://www.openscreenproject.org">OpenScreen Project</a>". <a href="http://labs.adobe.com/technologies/flashplayer10/">Quoting Adobe</a> - "With support for a broad range of mobile devices, including smartphones, netbooks, smartbooks and other Internet-connected devices, Flash Player 10.1 allows your content to reach your customers wherever they are." [side note - sadly, <a href="http://iqandreas.blogspot.com/2010/04/go-screw-yourself-apple-lee-brimelow.html">iPhone support was shot down</a>] <br /><br /><br />Flash Player 10.1 is still in the "prerelease stage", meaning it is not released as an "official" or currently updated version just yet. I'm not sure if bugs are being ironed out, or if Adobe mainly wants to wait until <a href="http://labs.adobe.com/technologies/flashcs5/">Flash CS5</a> is out. However, the new player is still available for developers who want to test out the new features. <br /><br />So far, FP 10.1 seems to be working just fine for my every day uses, and haven't run into any major bugs yet. In fact, (since <a href="http://iqandreas.blogspot.com/2010/03/flexflash-builder-on-linux.html">I'm in Linux</a> still) the old Linux Flash Player (version 10.0.45.2) had several bugs which were never ironed out, and according to several Google results were quite common. However, with the new version, those bugs seem to be gone (at least so far):<br /><a href="http://iqandreas.blogspot.com/2010/04/flash-sound-stops-working-in-firefox-on.html">[Solution] Flash sound stops working in FireFox on Linux Ubuntu 9.10</a><br /><a href="http://iqandreas.blogspot.com/2010/04/adobe-tv-crashes-firefox-on-ubuntu-910.html">[Solution] Adobe TV crashes FireFox on Linux Ubuntu 9.10</a><br /><br /><br />Since 99.8% of your site/application/game users won't have version 10.1 installed, I really don't recommend using it for your sites just yet. However, if you have a phone or computer with multi-touch capabilities it might be fun messing around with the new features. In addition, if you read up on the classes and functions enough now, by the time it is fully released, you can be first in line when clients are looking for the newest features for their product.<br /><br /><br /><h3>So, where do I get started?</h3><b>FIRST</b>, you need to download the actual Flash Player 10.1. As with Flash 10, the browser and standalone versions are two different things, so if you update the browser player to 10.1, the standalone player will still be the old version and vice versa, so unless you plan on keeping the old player for any specific reasons, remember to update them both.<br /><br />There is also a difference between the debug version and the regular version. Basically, the debug version is good if you do a lot of testing, since <a href="http://www.adobe.com/devnet/flex/articles/flashbuilder4_debugging_part1/fig_04.jpg">the error messages show up as dialogs</a>, along with several other features not available in the "regular" release of the Flash Player. Otherwise, errors are silently ignored, which is good for regular users, but really annoying if you can't get your code working right, and you are having a hard time figuring out what's going wrong and where.<br /><br />All versions of the player can be downloaded here:<br /><a href="http://labs.adobe.com/downloads/flashplayer10.html">http://labs.adobe.com/downloads/flashplayer10.html</a><br /><br /><br /><b>THEN</b>, all you need to do is download the new SWC library with all the new classes. I'm pretty sure they are just the "shells" for the classes which expose all functions and properties rather than contain actual code, just as the ActionScript files for MovieClips don't contain the actual code for them, but just expose functions to allow code hinting etc for developers. [<a href="http://www.kirupa.com/forum/showthread.php?t=333542">a VERY good read on the matter</a>]<br /><br />I was worried I would need an updated compiler, but to my joyous surprise, you can still keep using Flash Professional, Flex Builder, the Flex SDK, or whatever compiler you use without any modifications. There should be dozens of tutorials on importing SWC libraries into your current editor, but if you can't find anything relevant, ask in the comments section, and I will lead you in the right direction. Don't forget to post what type of IDE you are using (Such as Flash Professional CS4 or <a href="http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page">FlashDevelop</a> etc).<br /><br />The SWC can be downloaded on the same page as the Flash Player (how convenient)<br /><a href="http://labs.adobe.com/downloads/flashplayer10.html#pgswc">http://labs.adobe.com/downloads/flashplayer10.html#pgswc</a><br /><br /><br /><h3>Downloaded and ready! Teach me how to use it!</h3>Sadly, I don't have any tutorials for it (I don't have a touchscreen or even a mobile device newer than 10 years old) but several others out there have already put up tutorials for FP 10.1 development.<br /><br /><a href="http://www.gotoandlearn.com/">gotoAndLearn</a> - <a href="http://www.gotoandlearn.com/play?id=119">Multi Touch Gesture Applications</a><br /><a href="http://blog.martinlegris.com/2009/12/13/tutorial-multi-touch-in-as3-flash-player-101-part-1/">Multi Touch in AS3 / Flash Player 10.1 - Part 1. Setting Up</a><br /><a href="http://blog.martinlegris.com/2009/12/13/tutorial-multi-touch-in-as3-flash-player-101-part-2-touchevent-mouseevent-sequences/">Multi Touch in AS3 / Flash Player 10.1 - Part 2. TouchEvent & MouseEvent Sequences</a><br /><br /><br />I'm in need of a lot more tutorials and examples, so if you know of any other good sources, or have written any good tutorials yourself, just leave a link in the comments section! :)<br /><br /><br /><h3>Some further reading</h3>As always, I am never the first to write about things, so here are some helpful links which hopefully helps someone out there.<br /><br /><a href="http://labs.adobe.com/technologies/flashplayer10/">Adobe Labs - Adobe Flash Player 10.1</a><br /><a href="http://www.adobe.com/devnet/logged_in/jchurch_flashplayer10.1.html">Introducing Adobe Flash Player 10.1 public prerelease</a><br /><a href="http://www.adobe.com/devnet/flashplayer/articles/mobile_demos_fp10.1.html">Flash Player 10.1 prerelease software demos and interviews</a><br /><a href="http://tv.adobe.com/watch/adc-presents/multitouch-capabilities-of-flash-player-101/">Adobe TV - Multi-touch capabilities of Flash Player 10.1</a><br /><a href="http://www.kirupa.com/forum/showthread.php?t=338982">Kirupa Forums - Disappointing FP 10.1 First Impressions</a><br /><a href="http://www.adobe.com/devnet/flex/tourdeflex/web/#">TourDeFlex</a> - according to Adobe, some examples should include some FP 10.1 features as well. Still very neat if you haven't used it before!<br /><br /><br /><h3>Good resources for FP 10.1 development</h3>Keep these links in your toolbox. They usually come to use quite a bit:<br /><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html">ActionScript 3.0 Language Reference</a> (with updates for Flash Player 10.1)<br /><a href="http://help.adobe.com/en_US/as3/dev/index.html">ActionScript 3.0 Developer's Guide</a> (also with FP 10.1 updates)<br /><a href="http://forums.adobe.com/community/labs/flashplayer10/">Adobe Forums - Flash Player 10.1</a><br /><a href="http://bugs.adobe.com/flashplayer/">Adobe Bug tracking and management</a> - On case you do find anything wrong with the new version. When submitting, remember to check for existing bugs, as chances are you aren't the first person ever in the world to run across that bug. ;)<br /><br /><br /><br />If anyone has any demos of what they have accomplished with the new features in FP 10.1, leave a comment and share your work with others (source code is appreciated, but not required). I will provide the SWF hosting if you require it.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/5664209617986884809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/04/getting-started-with-flash-player-101.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5664209617986884809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/5664209617986884809'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/04/getting-started-with-flash-player-101.html' title='Getting started with Flash Player 10.1'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-2150337063267483602</id><published>2010-04-13T05:06:00.013-05:00</published><updated>2010-05-24T14:49:05.253-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='blocks'/><category scheme='http://www.blogger.com/atom/ns#' term='screw'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='war'/><category scheme='http://www.blogger.com/atom/ns#' term='compiler'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='cs5'/><category scheme='http://www.blogger.com/atom/ns#' term='compile'/><category scheme='http://www.blogger.com/atom/ns#' term='rants'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>"Go screw yourself Apple" — Lee Brimelow</title><content type='html'><blockquote>"Go screw yourself Apple" — <a href="http://theflashblog.com/?p=1888">Lee Brimelow</a></blockquote><br />Instead of just adding to the oodles of posts out there on Apple's recent move with just another long hateful rant, I will just add my two cents in little paragraph, as well as a few good reads on the matter.<br /><br /><br /><h3>What are you talking about?</h3><i>Okay, let's start from the beginning.</i><br /><br />In the past, to develop iPhone apps, users had to download the "free" (note the quotes) <a href="http://developer.apple.com/iphone/index.action">SDK from Apple</a>, which ONLY runs on MAC. In addition, developers had to pay $99 per year to Apple and join the "iPhone Developer Program" in order to publish their apps to the store. The <b>only</b> way to put iPhone apps onto your iPhone is via the apps store (unless you jailbreak the phone, but that may void your warranty)<br /><br />This was the <b>only</b> way to develop games and applications on the iPhone, and some companies would offer to port the games for a fee. <br /><br />On October of 2009, at the Adobe MAX conference, Adobe announced that Flash Player CS5 will have the ability to export Flash games and applications to a format that can run natively on the iPhone. Natively means no slow interpreters or emulators, but direct compiling to the iPhone's bytecode. [<a href="http://ragona.com/blog/flash-iphone-real-story/">Ryan Ragona's comprehensive blog post</a>, <a href="http://www.gotoandlearn.com/play?id=116">Lee Brimelow's video</a>, and <a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/">Adobe's official iPhone apps site</a>]<br /><br />The compiler upgrade in CS5 was VERY exciting for developers, as not all developers have the time or money to port all their games to the iPhone format or go through each line of code and translate it to Objective-C. <br /><br /><br /><h3>Wohoo! Now even I can make iPhone games!</h3><i>Not so fast, I haven't come to the bad news yet.</i><br /><br />Early April 2009 Apple announced that it is illegal (or whatever legal term they used) to compile your iPhone applications using any other tools then their SDK.<br /><a name='more'></a><br />They even updated their new license agreement to state the following:<br /><blockquote><i>3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).</i></blockquote><br />For more details, read this blog post:<br /><a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler</a><br /><br /><br /><h3>What?? Why would Apple do something like that?!?</h3>I haven't found any official statement by Apple, however, there are several "guesstimates" on the oodles of rants out there on this topic:<br /><a href="http://news.ycombinator.com/item?id=1250946">http://news.ycombinator.com/item?id=1250946</a><br /><a href="http://daringfireball.net/2010/04/why_apple_changed_section_331">http://daringfireball.net/2010/04/why_apple_changed_section_331</a><br /><a href="http://www.kirupa.com/forum/showthread.php?t=347116">http://www.kirupa.com/forum/showthread.php?t=347116</a><br /><br />A few good comments:<br /><blockquote><b><a href="http://www.kirupa.com/forum/member.php?u=24487">Templarian:</a></b><i> They have a VERY good reason. Anything that allows development across all platforms is bad. They don't want other smartphones to have the same games and applications ported in a few minutes.</i></blockquote><blockquote><b><a href="http://www.kirupa.com/forum/member.php?u=56064">Lorren Biffin:</a></b><i> With regard to the rationale, while the action was seemingly pointed at Adobe and may have been spiteful, I would say that there are obvious competitive advantages to the move:<br /><ul><li>The largest RIA platform available today, that just happens to be in competetive water with Apple (even if indirectly), takes a blow. The more stigma that's attached to Flash, the more people will be using alternative solutions.. some of which are covered by HTML5 and CSS3.</li><li>The iPhone OS and Applications are more likely to perform well with the iPhone/Pad hardware if the code used to build them is the code that was intended to be used.</li><li>Objective-C is likely to have more developers who are familiar with it, simply because they're forced to. This means more people are capable building applications that perform well and integrate even better with proprietary Apple hardware and software.</li><li>Proprietary; Moneymoneymoneymoneymoneymoneymon...</li></ul></i></blockquote><br />And from the same source, another quite funny but still good illustration: <br /><a href="http://www.kirupa.com/forum/showthread.php?p=2548425#post2548425">http://www.kirupa.com/forum/showthread.php?p=2548425#post2548425</a><br /><a href="http://www.kirupa.com/forum/showthread.php?p=2548441#post2548441">http://www.kirupa.com/forum/showthread.php?p=2548441#post2548441</a><br /><br />So the general idea is, if you can just as easily develop apps for the iPhone as for other mobile devices, Adobe will no longer control the market and have their little monopoly. If they still have apps that are "Only for the iPhone", people will likely buy the iPhone (and MAC, and iPod, and iPad, and iDontGiveADamn) rather than reasoning, "Well, the apps I love are just as available on the Android, so I'll get one of those instead".<br /><br /><br /><h3>What are your thoughts on the matter?</h3>I feel that any company that makes their products "only work with their operating system" or "only with their player" for their own personal gain is a monopoly, and deserves to be crushed. I hate it when companies hold back or lock developers out of using their file formats, and instead charge ridiculous amounts of money just so you can use their product.<br /><br />Yes, this includes Windows and Apple, and even Adobe.<br /><br />For example, the one thing I hated the most about Visual Studio.net was that you could only publish the projects as a Windows executable file. I do commend Adobe for releasing AIR with multi-platform support, however, they still need to work on getting a stable <a href="http://iqandreas.blogspot.com/2010/03/flexflash-builder-on-linux.html">Flash Buider release for Linux</a>!<br /><br /><br /><h3>Some further reading</h3><i>If you really feel like digging deeper, I warned you there were a lot of opinions out there. I believe I used the term "oodles"...</i><br /><a href="http://bits.blogs.nytimes.com/2010/04/08/a-change-at-apple-causes-trouble-for-adobe/">NY Times Bits Blog - A Change at Apple Causes Trouble for Adobe</a><br /><a href="http://www.selikoff.net/2010/04/09/apple-blocks-adobe-flash-cs5-iphone-exporter/">Apple blocks Adobe Flash CS5 iPhone Exporter</a><br /><a href="http://www.computerworld.com/s/article/9175157/Apple_blocks_Adobe_s_iPhone_end_around_plans?taxonomyId=12">ComputerWorld - Apple blocks Adobe's iPhone 'end around' plans</a><br /><a href="http://arstechnica.com/apple/news/2010/04/apple-takes-aim-at-adobe-or-android.ars">Apple takes aim at Adobe... or Android?</a><br /><a href="http://innerdaemon.wordpress.com/2010/04/10/sorry-adobe-you-screwed-yourself/">Sorry, Adobe, you screwed yourself</a><br /><a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler">New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler</a><br /><a href="http://www.itworld.com/legal/104320/adobe-vs-apple-going-get-uglier">IT World - Adobe vs. Apple is going to get uglier</a><br /><a href="http://theflashblog.com/?p=1888">TheFlashBlog - Apple slaps developers in the face</a><br /><br /><br />And of course, this. ;)<br /><a href="http://www.foxtrot.com/2010/03/03212010/">http://www.foxtrot.com/2010/03/03212010/</a><br /><br /><div class="post_series">This article is part 1 of 3 in the series "The Apple vs. Flash Wars"<br /><ol><li><a class="widelink" href="http://iqandreas.blogspot.com/2010/04/go-screw-yourself-apple-lee-brimelow.html">"Go screw yourself Apple" — Lee Brimelow</a></li><li><a class="widelink" href="http://iqandreas.blogspot.com/2010/05/steve-jobs-responds-to-adobe.html">Steve Jobs responds regarding Flash</a></li><li>Thoughts on the Steve Jobs reply [in progress]</li></ol></div></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/2150337063267483602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/04/go-screw-yourself-apple-lee-brimelow.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2150337063267483602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2150337063267483602'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/04/go-screw-yourself-apple-lee-brimelow.html' title='"Go screw yourself Apple" — Lee Brimelow'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-3770579546170213974</id><published>2010-04-11T19:52:00.002-05:00</published><updated>2010-04-11T19:54:25.349-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='restart'/><category scheme='http://www.blogger.com/atom/ns#' term='liveCD'/><category scheme='http://www.blogger.com/atom/ns#' term='working'/><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='stops'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='not'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[Solution] Flash sound stops working in FireFox on Linux Ubuntu 9.10</title><content type='html'>If you leave the browser open for too long, pretty soon all Flash content on all sites will no longer give off any sounds. Luckily, the fix was easy, just restart FireFox and you will be good as new. However, it still gets REALLY annoying, especially when you have 25+ tabs open (maybe that's what was causing the sound problems after too long?).<br /><br />This would happen on a completely clean LiveCD system as well as the full installation with the following specs:<br /><i>Ubuntu Linux 9.10</i><br /><i>FireFox 3.5.8 with no extra add-ons installed</i><br /><i>Flash Player 10.0.45.2</i><br /><br /><br />Instead of debugging and finding the source of the error, I took the easy way out and installed Flash Player 10.1 (currently in Beta I believe?)<br /><a href="http://labs.adobe.com/downloads/flashplayer10.html">http://labs.adobe.com/downloads/flashplayer10.html</a><br /><br />I have been running FP 10.1 for almost two weeks now, and still haven't had any sound problems. :)<br /><br /><br />I could file a bug report for these old problems, but considering how much Adobe ignores Linux users, I doubt they would go back and update Flash Player 10.0 for these fixes. Instead, I'll file bug reports only if I receive problems in the new version.<br /><br />See also blog entry <a href="http://iqandreas.blogspot.com/2010/04/adobe-tv-crashes-firefox-on-ubuntu-910.html">Adobe TV crashes FireFox on Ubuntu 9.10</a></content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/3770579546170213974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/04/flash-sound-stops-working-in-firefox-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/3770579546170213974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/3770579546170213974'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/04/flash-sound-stops-working-in-firefox-on.html' title='[Solution] Flash sound stops working in FireFox on Linux Ubuntu 9.10'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-7447817424682027603</id><published>2010-04-07T16:42:00.004-05:00</published><updated>2010-04-12T12:31:06.191-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='10.1'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='player'/><category scheme='http://www.blogger.com/atom/ns#' term='beta'/><category scheme='http://www.blogger.com/atom/ns#' term='flashplayer'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='debug'/><category scheme='http://www.blogger.com/atom/ns#' term='computespectrum'/><category scheme='http://www.blogger.com/atom/ns#' term='10.0'/><category scheme='http://www.blogger.com/atom/ns#' term='tv'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='crash'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[Solution] Adobe TV crashes FireFox on Linux Ubuntu 9.10</title><content type='html'>I have no idea why, but whenever I would access AdobeTV, as soon as the video started loading, FireFox would freeze up and need a restart. Every single time.<br /><br />This would happen on a completely clean LiveCD system as well as the full installation with the following specs:<br /><i>Ubuntu Linux 9.10</i><br /><i>FireFox 3.5.8 with no extra add-ons installed</i><br /><i>Flash Player 10.0.45.2</i><br /><br /><br />Instead of debugging and finding the source of the error, I took the easy way out and installed Flash Player 10.1 (currently in Beta I believe?)<br /><a href="http://labs.adobe.com/downloads/flashplayer10.html">http://labs.adobe.com/downloads/flashplayer10.html</a><br /><br /><br />Perhaps the new Flash Player version will also fix some other issues I have had:<br /><ul><li>Playing sound stops working completely, and needs a browser restart in order to work again&nbsp; <span style="font-size: xx-small;"><i>[Yep. Fixed!]</i></span></li><li>SWF projects using computeSpectrum will not work (the sound plays, but it doesn't <b>do</b> anything on the stage)&nbsp; <span style="font-size: xx-small;">[Hm... Still seems to not work...]</span></li><li>In the standalone Debug version of the player, even if you hit "Dismiss All", some errors will show up again, and no matter how fast you dismiss the errors, the dialog will keep popping up, forcing you to kill FlashPlayer manually&nbsp; <span style="font-size: xx-small;">[No problems so far]</span>&nbsp;</li><li>Constant "flickering" between layers when playing games or apps with several layers&nbsp; <span style="font-size: xx-small;">[Problem persists even in FP10.1]</span><span style="font-size: xx-small;"></span></li></ul><br />I could file a bug report for these old problems, but considering how much Adobe ignores Linux users, I doubt they would go back and update Flash Player 10.0 for these fixes. Instead, I'll file bug reports only if I receive problems in the new version.</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/7447817424682027603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/04/adobe-tv-crashes-firefox-on-ubuntu-910.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/7447817424682027603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/7447817424682027603'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/04/adobe-tv-crashes-firefox-on-ubuntu-910.html' title='[Solution] Adobe TV crashes FireFox on Linux Ubuntu 9.10'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-4367785634975784706</id><published>2010-03-25T16:40:00.008-05:00</published><updated>2010-03-26T05:31:55.648-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='builder'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Getting started with Flex/Flash Builder on Linux</title><content type='html'><blockquote>"Windows Restore cannot continue. Please contact the manufacturer if this problem persists."</blockquote><br />With those words I realized that my temporary fling with Linux had gone from a fun single date to a forced marriage proposal and an unexpected commitment. Yep, I am stuck with Linux for a while, and hopefully not for an entire 9 months.<br /><br />It's not that I hate Linux, in fact I love using Linux, but I'm never getting those three hours of my life back spent on trying to get Flash CS4 working in <a href="http://www.winehq.org/about/">Wine</a>.<br /><br /><br />Instead of sitting on my hands doing nothing, I'm going to get back to Flash development. Since Flash Professional CS4 is now out of the question, I guess my next logical option is Flash/Flex Builder.<br /><br />For anyone else getting started with building for Flash Player or AIR on Linux, I have compiled a small pool of information, so you don't have to dig through dozens of different sites for hours trying to make heads and tails of it all and sort it all out. Note that I have only been working with Flash in Linux for about two weeks, so please correct me (by leaving a comment) if I give any faulty or incomplete information.<br /><br /><br /><h3>What is Flex Builder 3 for Linux?</h3>First of all, <a href="http://labs.adobe.com/technologies/flashbuilder4/">Flex Builder</a> (now renamed Flash Builder so it won't be confused with the <a href="http://opensource.adobe.com/wiki/display/flexsdk/Flex+SDK">Flex SDK</a>) is a plugin that Adobe developed for the already popular development environment <a href="http://eclipse.org/">Eclipse</a>. Most of the features, such as code hinting, were already developed by the Eclipse team, so Adobe can safely charge almost $300 for relatively little effort. Of course, they also added a few new features to the plugin beyond Eclipse's current capabilities, and they didn't charge the full $700 for Flex Builder, so I will cut them some slack.<br /><br />In an effort to connect to developers of all platforms, (and considering how Eclipse is already available in Linux, all they had to do was update the plugin to match) Adobe released Flex Builder 3 for Linux (currently alpha version 5). Note that Adobe considers this plugin separate from the "regular" Flex Builder. <a href="http://labs.adobe.com/technologies/flex/flexbuilder_linux/#FAQ">According to Adobe</a>, "Although many of the features in Flex 3 are included in the Linux release, there are several features that are not yet included. Our main goal is to get the base features in place and then to solicit user feedback and their priorities for additional features, such as the profiler or design view."<br /><br />Although it sounds like Adobe is making a great effort at making this world a better place, Adobe seems to have abandoned the project. Aside from releasing the alpha 5 version in November of 2009 that extended the trial period (from 1 Dec, 2009. I'm not sure of the new trial expiration date), there <a href="http://forums.adobe.com/thread/442736">hasn't been any updates</a> for Linux users since April 2009. <br /><br />Despite the recent release of Flash Builder 4, Adobe still has not updated the Linux version, and the reply of choice when asked is "Adobe has not yet announced a release date for the Flex Builder Linux product." <br /><br /><i><span style="color: grey;">Am I being too hard on Adobe? If you feel offended, please tell me, and then show me what progress they have made and steps toward finishing the Linux version. Then I will go back and correct any hateful remarks.</span></i><br /><br /><br /><h3>That's horrible! We need to do something!</h3><i>The valour is honourable</i>, and if you really feel like it you can vote on this bug:<br /><a href="http://bugs.adobe.com/jira/browse/FB-19053">http://bugs.adobe.com/jira/browse/FB-19053</a><br />However, unless you hold a major share of stock in Adobe, I doubt they will do anything about it. They will either drop the project, or will reinvest in it once it becomes obviously financially beneficial to them.<br /><br /><br /><h3>Oh well, I guess FB3 Beta is better than nothing</h3><i>That's the spirit!</i> The FlexBuilder trial can be downloaded from Adobe's site:<br /><a href="http://labs.adobe.com/technologies/flex/flexbuilder_linux/">http://labs.adobe.com/technologies/flex/flexbuilder_linux/</a><br />The installation process is pretty straightforward. Remember to have Eclipse installed first, as the installed only includes the plugin. Eclipse can be found here:<br /><a href="http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a><br /><br />WARNING: Several people have trouble installing the plugin on Eclipse version 3.5! (including me at first) Although there are <a href="http://www.experts-exchange.com/articles/Web_Development/Web_Languages-Standards/Flex/Getting-Flex-Builder-for-Linux-working-with-Eclipse-3-5-Galileo.html">fixes for this</a>, it might be better to install version 3.3.<br /><br />In Ubuntu, it should be as simple as going to "Applications &gt; Ubuntu Software Center" and installing it from there (worked for me). If Eclipse doesn't show up in the list of available programs, make sure you have marked all the software sources in "System &gt; Administration &gt; Software Sources". If you have any problems, this walkthrough might be able to help (he beat me to writing the tutorial):<br /><a href="http://kbala.com/install-adobe-flex-builder-linux-alpha-in-ubuntu/">http://kbala.com/install-adobe-flex-builder-linux-alpha-in-ubuntu/</a><br />(and a second tutorial in case the first one wasn't enough)<br /><a href="http://www.insideria.com/2008/04/step-by-step-setting-up-flex-b.html">http://www.insideria.com/2008/04/step-by-step-setting-up-flex-b.html</a> <br /><br /><br /><h3>What about Wine?</h3><i>I'm not complaining that much about Adobe... oh... you mean. Yes, I see now.</i> My failure with Flash Professional and Wine caused me to give up, and I didn't even think about using it with Flash Builder. This section wasn't even added until <b>after</b> my try with fb4linux, so I have not personally tested this yet.<br /><br /><a href="http://appdb.winehq.org/objectManager.php?sClass=application&amp;iId=3730">According to their website</a>, Wine should be able to emulate Both Flex Builder 3 and Flash Builder 4 fairly well. It's definitely worth checking out.<br /><br />This guy seems to have accomplished it, and has written a guide:<br /><a href="http://diariolinux.com/2009/06/22/how-to-install-flash-builder-on-linux/">http://diariolinux.com/2009/06/22/how-to-install-flash-builder-on-linux/</a><br /><br /><br /><h3>So what other alternatives are there?</h3>One name that appears a lot is <a href="http://www.aptana.org/">Aptana</a> (which I believe is free) and also Eclipse based. I still have not tried it, and I'm not sure how full fledged it is, so I would really appreciate any opinions on it or trustworthy reviews of it to link to.<br /><br />Another one I have seen links to is <a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a>, however, this one has a price tag of $249. They have a free "community version" on their site, but I have no idea of the difference between the two. <a href="http://www.jetbrains.com/idea/training/demos/flex.html">According to their site</a>, it should incorporate well into Flex without any major modifications. [<a href="http://jamiekrug.com/blog/index.cfm/2009/6/4/support-flex-flash-builder-for-linux">source</a>] This one I have not tested either, and would really appreciate any reviews.<br /><br /><a href="http://axdt.org/">AXDT</a> seems to be another Eclipse plugin. No experience with that one either, but it uses the Flex SDK, so it should have about the same amount of features as if you were using FlashDevelop and the SDK.<br /><br /><a href="http://sourceforge.net/projects/flexbean/">FlexBean</a> another plugin, but this one for NetBeans. Likely similar to AXDT.<br /><br /><br /><h3>Screw Adobe! I want Flash Builder 4 in Linux now!</h3><i>I was hoping you would want that.</i> Finally, there is <a href="http://code.google.com/p/fb4linux/">Flash Builder 4 Linux</a> (I'm not sure if the 4 is to match the version number of the newest Flash Builder, or if it's supposed to read "for"). <br /><br />This release is NOT by Adobe. This is a port of Flash Builder to Linux. I'm still not sure exactly how it is ported (possibly because Eclipse plugins are operating system independent due to being Java-based, and all they did was copy the data from the Windows version to the Linux version, however, I believe there was a bit more involved)<br /><br />If you need hand with the installation, this site has a small tutorial:<br /><a href="http://mayboroda.blogspot.com/2009/11/flash-builder-on-linux.html">http://mayboroda.blogspot.com/2009/11/flash-builder-on-linux.html</a><br /><br /><br /><h3>What now? It's installed, I want to learn Flex in Linux!</h3>I'm still trying to dig up links for this. The good thing is most tutorials that work for Flex Builder should work just the same for the Linux version.<br /><br />I have however found one video that specifically names Linux - <a href="http://www.gotoandlearn.com/play?id=80">Getting started with AIR on Linux</a>. It's 'hosted' by Mike Chambers, and even though he says he has planned on releasing future tutorials on Linux development, I have not found any. <a href="http://www.gotoandlearn.com/">GotoAndLearn</a> has several other great videos on Flex development as well. <br /><br /><br /><h3>Additional reading</h3><i>You could get these yourself from Google, but then you have to sort through which ones are on topic and which ones are just wasting bytes on a server.</i><br /><a href="http://gruchalski.com/2009/04/22/flex-builder-3-for-linux-on-hold/">http://gruchalski.com/2009/04/22/flex-builder-3-for-linux-on-hold/</a><br /><a href="http://www.infoq.com/news/2009/05/flex-builder-linux-dead">http://www.infoq.com/news/2009/05/flex-builder-linux-dead</a><br /><a href="http://rachaelandtom.info/content/flex-builder-linux-canned-and-how-you-can-help-get-it-going-again">http://rachaelandtom.info/content/flex-builder-linux-canned-and-how-you-can-help-get-it-going-again</a><br /><a href="http://www.insideria.com/2009/06/flex-builder-linux-and-open-so.html">http://www.insideria.com/2009/06/flex-builder-linux-and-open-so.html</a><br /><br /><br /><h3>So what about you? Can we expect more Linux tutorials?</h3><i>Definitely!</i> If Windows keeps being evil, I'm likely to stay in Linux for a while, so hopefully I can be of some help to others who are also using Linux and developing for Flash.<br /><br />I'm in the process of downloading Flash Builder 4 Linux right now, so I will give a full review and maybe even a guide some time soon!<br /><br />I also got my hands on <a href="http://www.dcomsoft.com/">SWF Protector</a>. Thank goodness they have a Linux version. Once I get everything up and running, I will give my thoughts and hopefully also a performance evaluation on how well it runs. <b>There will also be both a drawing and a competition for free licenses, so stay tuned!</b><br /><br /><br />Any links or alternatives I missed?</content><link rel='replies' type='application/atom+xml' href='http://iqandreas.blogspot.com/feeds/4367785634975784706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iqandreas.blogspot.com/2010/03/flexflash-builder-on-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4367785634975784706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/4367785634975784706'/><link rel='alternate' type='text/html' href='http://iqandreas.blogspot.com/2010/03/flexflash-builder-on-linux.html' title='Getting started with Flex/Flash Builder on Linux'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-8894889673291949791</id><published>2010-03-25T11:35:00.001-05:00</published><updated>2010-03-25T11:44:32.547-05:00</updated><app:control xmlns:app='http://purl.org/atom/app#'><app:draft>yes</app:draft></app:control><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><title type='text'>Getting started with Flex/Flash Builder on Linux</title><content type='html'><blockquote><i>"Setup cannot continue. Please contact the manufacturer if this problem persists."</i></blockquote><br />With those words I realized that my temporary fling with Linux had gone from a fun single date to a forced marriage proposal and an unexpected commitment. Yep, I am stuck with linux for a while, and hopefully not for an entire 9 months.<br /><br />It's not that I hate Linux, in fact I love using Linux, but I'm never getting those three hours of my life back spent on trying to get Flash CS4 working in Wine.<br /><br /><br />So, instead of sitting on my hands all day, I will finally start getting some work done! Flash</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8894889673291949791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/8894889673291949791'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-2635001594205841101</id><published>2010-03-16T17:00:00.001-05:00</published><updated>2010-03-16T17:53:11.876-05:00</updated><app:control xmlns:app='http://purl.org/atom/app#'><app:draft>yes</app:draft></app:control><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><title type='text'>Downloading Flash CS4 trial from Adobe.com in Linux</title><content type='html'>I just today realized it might take a while until I'm back in Windows, so in addition to trying the Linux version of FlexBuilder, in order to open FLA files, I will attempt to download the 30 day trial of Flash CS4.<br /><br />I thought it would be a straightforward procedure. I go to Adobe's website and try to <a href="http://www.adobe.com/products/flash/">download the installer</a>, when I am hit with an error.<br /><br /><blockquote><b>Akamai Download Manager</b><br />We're sorry, but the trial download process requires a Windows® or Mac OS operating system<br /><br />Please retry the trial download on a computer that uses one of these systems.</blockquote><br /><br />I'm annoyed, but not crushed. After digging around Google for a while trying to find out how Adobe knows my operating system, I devised a workaround.<br /><br />The word is "<a href="http://en.wikipedia.org/wiki/User_agent">User Agent String</a>" and is basically an identifier sent out by your browser telling the internet who you are. Luckily, it is very easy to edit this string in FireFox, tricking Adobe into believing that I am running a Windows installation.<br /><br />I will be using FireFox version 3.5.3 on an Ubuntu 9.10 LiveCD installation for this tutorial, but the process is quite straightforward, and should be the same on any operating system or FireFox version.<br /><br />Open a new tab and type in "about:config". You may get a screen saying "This might void you warranty!" If you feel comfortable doing so, hit OK and just keep going. Find a value named "general.useragent.override". Chances are it doesn't exist, so create a new value by right clicking anywhere and choosing 'New > String'. Set the first value to the name, "general.useragent.override" (without the quotes), and the second value to the User Agent you want Adobe to think you are using.<br /><br />A quick Google search returned a sample user agent for a Windows XP installation "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/3.5.3.1", so try that value.<br /><br />Now we go back to Adobe.com, and test our new string... success!<br /><br /><br />Now that we are done with the custom user string, right click the value, and choose "Reset". This will remove the key. You can keep the custom string if you like, but you might get unexpected or unwanted results now and then.<br /><br /><br />NEXT STEP: test and see if I can get Flash CS4 running inside of <a href="http://www.winehq.org/">Wine</a>.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2635001594205841101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4287406376578749857/posts/default/2635001594205841101'/><author><name>Andreas Renberg</name><uri>http://www.blogger.com/profile/17208956275294703692</uri><email>rubikssites@yahoo.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4287406376578749857.post-3296655936968282797</id><published>2010-03-10T10:36:00.011-06:00</published><updated>2010-03-26T14:05:01.799-05:00</updated><category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/blogger/2008/kind#post'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionScript'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='follow'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><category scheme='http://www.blogger.com/atom/ns#' term='find help'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><title type='text'>ActionScript Blogs to Follow [Open Post]</title><content type='html'>A Google search for "<a href="http://www.google.com/search?&amp;q=actionscript+blog">ActionScript blog</a>" returns over 5,790,000 results. In a widespread internet world like this, it can be difficult (especially for beginners) sifting through which information is reliable and helpful, and which simply isn't (hopefully this blog is not in the latter category)<br /><br />Here is my personal list of blogs I find quite worthwhile to bookmark and check up on from time to time.<br /><br /><a name='more'></a><br /><br /><b&am |