<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>headjump - Blog</title>
  <id>tag:www.headjump.de,2012:mephisto/</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://www.headjump.de/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.headjump.de/" rel="alternate" type="text/html"/>
  <updated>2011-02-13T14:09:56Z</updated>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-11-17:1269</id>
    <published>2010-11-17T09:57:00Z</published>
    <updated>2011-02-13T14:09:56Z</updated>
    <category term="Flash Develop"/>
    <category term="Web dev, rails, javascript"/>
    <category term="battery"/>
    <category term="browser"/>
    <category term="count"/>
    <category term="evil"/>
    <category term="flash"/>
    <category term="javascript"/>
    <category term="measure"/>
    <category term="performance"/>
    <category term="script"/>
    <category term="slow"/>
    <link href="http://www.headjump.de/article/thank-god-for-flash-ads" rel="alternate" type="text/html"/>
    <title>Thank god for flash ads!</title>
<content type="html">
            &lt;p&gt;Everybody seems to share the opinion that &lt;em&gt;flash in the browser makes the web slower, kills your battery, crashes the browser and makes everything insecure&lt;/em&gt;. That slow animated flash ads come from the devil himself! Javascript is the way to go and so much cooler and faster and a standard and stuff!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;em&gt;A world without flash&#8230;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Don&#8217;t get me wrong, I &lt;strong&gt;love&lt;/strong&gt; javascript! But let&#8217;s just imagine for a second that there was &lt;strong&gt;no flash, only javascript&lt;/strong&gt;. You think the evil advert-creators would will stick with animated gifs forever and be happy with that? &#8211; Well, I don&#8217;t.&lt;/p&gt;


	&lt;p&gt;There&#8217;d also be animated adverts &#8211; with javascript and videos and whatever one can think of, but you know what? By the time being most badly coded flash animation runs smoother than most badly coded javascript animation (You don&#8217;t think advert creators will optimize their code, do you?). You get a bit of performance from upcoming hardware accelerated css transitions, and maybe &lt;a href=&quot;http://en.wikipedia.org/wiki/WebGL&quot;&gt;WebGL&lt;/a&gt; in the future, but that&#8217;s about it. And I don&#8217;t want to hit the day when there are openGL adverts running in my browsers! You think having thousand of different javascripts running on each page is fast and secure? &lt;a href=&quot;http://www.google.de/search?q=evil+javascript+fake+login+screen&quot;&gt;I&lt;/a&gt; &lt;a href=&quot;http://www.google.de/search?q=javascript+injection&quot;&gt;don&#8217;t&lt;/a&gt; &lt;a href=&quot;http://www.google.de/search?q=javascript+cross+site+scripting&quot;&gt;think&lt;/a&gt; &lt;a href=&quot;http://www.google.de/search?q=javascript+evil&quot;&gt;so&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;em&gt;Evilness is out there&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;There is evil stuff around the web: adverts, click counting, measuring stuff, badly developed slow scripts&#8230; &#8211; all this makes the web experience worse. But those things would also exist if there was no flash. And at the time being it&#8217;s easy to block most ads with a simple flash blocker, because most ads are made with flash (hey, it&#8217;s easy and it tweens!). Simply unblock the few real flash apps you need and there you go with a &#8220;fast&#8221; web. Would it be as easy if there was only javascipt? How to separate the good scripts from the bad? Just pick one of your favorite web portal pages and inspect all the scripts that are included from lots of different sources that mess with the dom and the global namespace at this very day. You&#8217;ll get a headache (and so does your browser).&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;em&gt;We&#8217;ll get what we deserve&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;There&#8217;s only one thing I assume for sure: Whatever programming language will be &#8220;the winner&#8221; in the future, we&#8217;ll get our ads and scripts and they&#8217;ll make the web slower, kill your battery, crash the browser and make everything insecure.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-09-22:1158</id>
    <published>2010-09-22T14:53:00Z</published>
    <updated>2010-09-23T14:45:55Z</updated>
    <category term="Web dev, rails, javascript"/>
    <category term="clone"/>
    <category term="enable"/>
    <category term="input disable"/>
    <category term="input submit"/>
    <category term="javascript"/>
    <category term="jquery"/>
    <category term="link disable"/>
    <category term="one time"/>
    <category term="submit disable"/>
    <category term="toggleenabled"/>
    <link href="http://www.headjump.de/article/jquery-plugin-one_time_action" rel="alternate" type="text/html"/>
    <title>jQuery plugin: one_time_action</title>
<content type="html">
            &lt;p&gt;&lt;strong&gt;jQuery plugin: Makes submits and links work only once - and can reactivate them after a given time if you want.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is just the demo page. For more info follow the thinks below.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;See the &lt;a href=&quot;http://github.com/headjump/one_time_action&quot;&gt;github project (with documentation)&lt;/a&gt; or &lt;a href=&quot;http://github.com/headjump/one_time_action/archives/master&quot;&gt;download the source&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Demo&lt;/h2&gt;
&lt;span /&gt;&quot;);
        var onces= $(&quot;.once&quot;).one_time_action({add_class: &quot;disabled&quot;});
        var reacts = $(&quot;.reactivating&quot;).one_time_action({add_class: &quot;disabled&quot;, reactivate: 1500});
        onces.add(reacts).click(function(evt) {
          evt.preventDefault();
          alert_action(this);
        }).each(function() {
          $(this).after($(&quot;&lt;a href=&quot;#&quot; class=&quot;reactivate&quot;&gt;(reactivate)&lt;/a&gt;&quot;).click(function(evt) {
            $(this).parent().children().first().one_time_action(&quot;reactivate&quot;);
            evt.preventDefault();
          }));
        });
      });
    &amp;lt;style&gt;
      a.disabled, a:hover.disabled { text-decoration: line-through; }
      .reactivate, a.reactivate, a:hover.reactivate{ color: #aaa; font-style: italic; text-decoration: underline; margin: 0 5px;}
      span { color: #aaa; }
    &amp;lt;/style&gt;

    &amp;lt;form&gt;
      &lt;ul&gt;
        &lt;li&gt;Link
          &lt;ul&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;once&quot;&gt;Once&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href=&quot;#&quot; class=&quot;reactivating&quot;&gt;Reactivation after timeout&lt;/a&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;Submit
          &lt;ul&gt;
            &lt;li&gt;&amp;lt;input class=&quot;once&quot; /&gt;&lt;/li&gt;
            &lt;li&gt;&amp;lt;input class=&quot;reactivating&quot; /&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;Button
          &lt;ul&gt;
          &lt;li&gt;&amp;lt;input class=&quot;once&quot; /&gt;&lt;/li&gt;
          &lt;li&gt;&amp;lt;input class=&quot;reactivating&quot; /&gt;&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &amp;lt;/form&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-06-21:911</id>
    <published>2010-06-21T20:16:00Z</published>
    <updated>2010-06-27T20:48:14Z</updated>
    <category term="Web dev, rails, javascript"/>
    <category term="actionscript"/>
    <category term="flash"/>
    <category term="html5"/>
    <category term="javascript"/>
    <category term="sound"/>
    <link href="http://www.headjump.de/article/flash-versus-html5" rel="alternate" type="text/html"/>
    <title>The future of flash: enrich old browsers with HTML5 abilities?</title>
<content type="html">
            &lt;p&gt;You might have noticed discussions about &lt;a href=&quot;http://www.google.com/search?q=flash+versus+html5&quot; title=&quot;External link&quot;&gt;flash versus &lt;span class=&quot;caps&quot;&gt;HTML5&lt;/span&gt;&lt;/a&gt; and it&#8217;s a fact that some modern mobile phones have quite solid html + javascript implementations running but no flash player that&#8217;s worth speaking of (if any).&lt;/p&gt;


	&lt;p&gt;Due to the increasing usage of mobile devices the distriburtion of flash gets worse nowadays. That makes the use of javascript for application (and game) development more and more attractive.&lt;/p&gt;


	&lt;p&gt;Let&#8217;s see, what do we need to develop a basic game?&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Graphics and animations&lt;/li&gt;
		&lt;li&gt;Capture user input (keyboard, mouse)&lt;/li&gt;
		&lt;li&gt;Sound output&lt;/li&gt;
		&lt;li&gt;Also good: Save game states to local storage&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Javascript has long enough been capable of the first two points, but sound and local storage was a problem. To get sound output with javascript the common practice was to use a hidden flash application to play the sound and control it via javascript.&lt;/p&gt;


	&lt;p&gt;Now with &lt;span class=&quot;caps&quot;&gt;HTML5&lt;/span&gt; you can control sound natively in the browser and use flash as a fallback for older browsers that don&#8217;t support it (like &lt;span class=&quot;caps&quot;&gt;IE6&lt;/span&gt;) &#8211; &lt;a href=&quot;http://www.schillmania.com/projects/soundmanager2/&quot; title=&quot;External link&quot;&gt;Soundmanager2&lt;/a&gt; makes it this way for example.&lt;/p&gt;


	&lt;p&gt;Same thing could be done with local storage (or a socket): Use &lt;span class=&quot;caps&quot;&gt;HTML5&lt;/span&gt; if available, flash as fallback.&lt;/p&gt;


	&lt;p&gt;So with more and more javascript applications to come, will this be the future of flash? Enriching old browsers with &lt;span class=&quot;caps&quot;&gt;HTML5&lt;/span&gt; abilities? I&#8217;m eager to find out.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-05-14:805</id>
    <published>2010-05-14T13:30:00Z</published>
    <updated>2010-05-19T17:30:20Z</updated>
    <category term="Web dev, rails, javascript"/>
    <category term="arrows-and-boxes"/>
    <category term="drawing"/>
    <category term="dynamically"/>
    <category term="graph"/>
    <category term="javascript"/>
    <category term="jquery"/>
    <category term="plugin"/>
    <link href="http://www.headjump.de/article/when-to-use-arrows-and-boxes" rel="alternate" type="text/html"/>
    <title>When to use Arrows-and-boxes</title>
<content type="html">
            &lt;h2&gt;What it is&lt;/h2&gt;


	&lt;p&gt;&lt;a href=&quot;/article/arrows-and-boxes&quot;&gt;Arrows-and-boxes&lt;/a&gt; is there to visulaize the &lt;strong&gt;simple Ideas&lt;/strong&gt;.&lt;/p&gt;


	&lt;p&gt;Ever ran into a simple problem that&#8217;s easy to understand but needs several sentences to describe? In most cases a simple diagram can show the point with 2 or 3 boxes and arrows, and you get the idea at a glance.&lt;/p&gt;


&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
() &amp;gt; ((Idea)) &amp;lt; ()
&lt;/pre&gt;

	&lt;p&gt;I hate that the only way to get diagrams to the web used to be by uploading images. What if I want to change something?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;The old way:&lt;/strong&gt;&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Open diagram-tool&lt;/li&gt;
		&lt;li&gt;Open diagram file&lt;/li&gt;
		&lt;li&gt;Change diagram + save&lt;/li&gt;
		&lt;li&gt;Export image&lt;/li&gt;
		&lt;li&gt;Upload image to server&lt;/li&gt;
		&lt;li&gt;Link new image in blog/wiki&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;What if I&#8217;m at a different computer? Where&#8217;s the diagram tool and my file?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Noone goes through this for a tiny diagram with only 3 nodes!&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;A simple diagram can often help to get the point a thousand times better than just text. With Arrows-and-boxes you&#8217;re able to just create diagrams for your posts as you type&#8230; no external tools, no uploads, no pain.&lt;/p&gt;


	&lt;h2&gt;What it is &lt;strong&gt;not&lt;/strong&gt;&lt;/h2&gt;


	&lt;p&gt;It&#8217;s not the all-in-one diagram tool! It has two differend node states (normal + highlighted) and two different arrow states (again normal + highlighted). That&#8217;s enough! If you need more, you need another tool or rework your idea. Maybe you can visualize what you need more simple?&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Don&#8217;t do complicated diagrams!&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;You think arrows and boxes would be cool if it just had crossing prevention, or hundret different node styles, or smooth curved arrows, or&#8230;? &#8211; Then you&#8217;re doing the &lt;strong&gt;wrong kind of diagrams&lt;/strong&gt; with it!&lt;/p&gt;


	&lt;p&gt;If you need a difficult diagram, use a different tool. With too much nodes and arrows, the &#8220;simple&#8221; markup for Arrows-and-boxes becomes pain to read and edit. As long as the markup is easy to read, it&#8217;s the right tool to use.&lt;/p&gt;


	&lt;h2&gt;Why this is good&lt;/h2&gt;


	&lt;p&gt;Don&#8217;t think too complicated!&lt;/p&gt;


	&lt;p&gt;Every idea can be separated into simple pieces. Arrows-and-boxes can&#8217;t visualize complex structures with thousands of nodes and relations &#8211; so it makes you think simple. You&#8217;ll be surprised how much you can express with just a few boxes. And that&#8217;s &lt;strong&gt;good&lt;/strong&gt;!&lt;/p&gt;


&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Simple) &amp;gt; is ((good))
&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-02-19:621</id>
    <published>2010-02-19T11:35:00Z</published>
    <updated>2011-02-24T10:59:30Z</updated>
    <category term="Featured articles"/>
    <category term="Web dev, rails, javascript"/>
    <category term="arrows-and-boxes"/>
    <category term="drawing"/>
    <category term="dynamically"/>
    <category term="graph"/>
    <category term="javascript"/>
    <category term="jquery"/>
    <category term="plugin"/>
    <link href="http://www.headjump.de/article/arrows-and-boxes" rel="alternate" type="text/html"/>
    <title>Arrows-and-boxes</title>
<summary type="html">&lt;p&gt;
Easy to use javascript plugin to draw nice boxes and arrows to your website from simple markup like &lt;code&gt;(Dennis) &amp;gt;likes (Food)&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Example screenshot of dynamically created drawing with javascript:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;/article/arrows-and-boxes&quot;&gt;&lt;img title=&quot;arrows-and-boxes example&quot; src=&quot;/assets/2010/2/19/arrows-and-boxes.jpg&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;
Easy to use javascript plugin to draw nice boxes and arrows to your website from simple markup like &lt;code&gt;(Dennis) &amp;gt;likes (Food)&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Example screenshot of dynamically created drawing with javascript:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;/article/arrows-and-boxes&quot;&gt;&lt;img title=&quot;arrows-and-boxes example&quot; src=&quot;/assets/2010/2/19/arrows-and-boxes.jpg&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;About&lt;/h2&gt;	
	&lt;p&gt;
		Easy to use javascript plugin to draw nice boxes and arrows to your website from simple markup like &lt;code&gt;(User) &amp;gt; (Admin)&lt;/code&gt;
	&lt;/p&gt;
&lt;p&gt;... which will be transformed to:&lt;/p&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(User) &gt; (Admin)
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/headjump/arrows-and-boxes/downloads&quot; title=&quot;Download arrows-and-boxes&quot;&gt;Download&lt;/a&gt; &amp;lt; complete sources and samples pack&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/article/arrows-and-boxes-editor&quot; title=&quot;Arrows-and-boxes preview editor&quot;&gt;Preview editor&lt;/a&gt; &amp;lt; live preview&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/article/when-to-use-arrows-and-boxes&quot; title=&quot;When to use Arrows-and-boxes&quot;&gt;When to use&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/headjump/arrows-and-boxes&quot; title=&quot;Arrows-and-boxes from Dennis Treder at Github&quot;&gt;Fork at Github&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
	
	&lt;h3&gt;Setup (it's easy!)&lt;/h3&gt;
	
	&lt;ol&gt;
		&lt;li&gt;
&lt;p&gt;			Put javascript links inside HTML head to &lt;code&gt;jquery.js, jquery.wz_jsgraphics.js, arrowsandboxes.js&lt;/code&gt;&lt;/p&gt;
&lt;p&gt; You can &lt;a href=&quot;https://github.com/headjump/arrows-and-boxes/downloads&quot; title=&quot;Download arrows-and-boxes&quot;&gt;download the source files&lt;/a&gt; or simply put this in:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;link href=&quot;http://www.headjump.de/stylesheets/arrowsandboxes.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://code.jquery.com/jquery-1.4.1.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;http://www.headjump.de/javascripts/jquery_wz_jsgraphics.js&quot; type=&quot;text/javascript&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;http://www.headjump.de/javascripts/arrowsandboxes.js&quot; type=&quot;text/javascript&quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;/pre&gt;
		&lt;/li&gt;
		&lt;li&gt;
			&lt;p&gt;
			Place a &amp;lt;pre&amp;gt; block around your arrows-and-boxes markup and set the class to &lt;code&gt;arrows-and-boxes&lt;/code&gt;:
			&lt;/p&gt;
			&lt;p&gt;
&lt;strong&gt;&lt;em&gt; &amp;lt;pre class=&quot;arrows-and-boxes&quot;&amp;gt;&lt;/em&gt; (User) &gt; (Admin) &lt;em&gt;&amp;lt;/pre&amp;gt; &lt;/em&gt;&lt;/strong&gt;
&lt;/p&gt;
			&lt;p&gt;
			Arrows-and-boxes automatically detects the code and builds nice boxes and arrows from it.
			&lt;/p&gt;
		&lt;/li&gt;
	&lt;/ol&gt;
	
	
&lt;h2&gt;Basic example&lt;/h2&gt;
&lt;p&gt;
Inline arrows and nodes:
&lt;/p&gt;		
&lt;pre&gt;
(Dennis) &gt;likes (Food)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Dennis) &gt;likes (Food)
&lt;/pre&gt;

&lt;ul&gt;
	&lt;li&gt;
		Define a box with &quot;( )&quot;, and a link with &quot;&amp;gt;&quot;, &quot;&amp;lt;&quot;, &quot;-&quot;.
	&lt;/li&gt;
	&lt;li&gt;
		An arrow can be put between Boxes in a single line, or inside a box, if the target is &quot;further away&quot; (see below for an example)
	&lt;/li&gt;
	&lt;li&gt;
		Basic box format: &lt;code&gt;(box_title | box_subtitle)&lt;/code&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Complete box format: &lt;code&gt;(box_id{custom_class}: box_title | box_subtitle &amp;gt;arrow_label [arrow_target1, arrow_target2, ...] &amp;lt;arrow2_label [arrow2_target])&lt;/code&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;New lines&lt;/h2&gt;
&lt;p&gt;
Nodes will be placed after each other in one line. Start a new line with &quot;||&quot;.
&lt;/p&gt;
&lt;pre&gt;
(Node1) (Node1_2) ||
(Node2) || (Node3)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Node1) (Node1_2) ||
(Node2) || (Node3)
&lt;/pre&gt;


&lt;h2&gt;Different arrow types&lt;/h2&gt;
		
&lt;pre&gt;
(arrow) - (normal) ||
(arrow) &gt; (one direction) ||
(arrow) &amp;lt; (other direction) ||
(arrow) &amp;lt;&gt; (and back)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(arrow) - (normal) ||
(arrow) &gt; (one direction) ||
(arrow) &amp;lt; (other direction) ||
(arrow) &amp;lt;&gt; (and back)
&lt;/pre&gt;

&lt;h2&gt;Linking elsewhere&lt;/h2&gt;
&lt;p&gt;
	Writing &lt;code&gt;(node_id: My Node)&lt;/code&gt; gives the node the id &quot;node_id&quot; (must be followed by &quot;:&quot;). You can use it to define a target for a link inside a node definition
&lt;/p&gt;		
&lt;pre&gt;
() (Dennis &gt;likes [d,c] &gt;hates [j]) ||
(d:Drinks) (c:Comics) (j:Jogging)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
() (Dennis &gt;likes [d,c] &gt;hates [j]) ||
(d:Drinks) (c:Comics) (j:Jogging)
&lt;/pre&gt;
&lt;ul&gt;
	&lt;li&gt;
		Arrows between boxes: &lt;code&gt;&amp;gt;arrow_label&lt;/code&gt;
	&lt;/li&gt;
	&lt;li&gt;
		Arrows defined INSIDE a box: &lt;code&gt;&amp;gt;arrow_label [arrow_target1, arrow_target2, ...]&lt;/code&gt;
	&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Want subtitles?&lt;/h2&gt;
	
&lt;p&gt;
Writing a &quot;|&quot; after your title makes the rest of the text a subtitle. If it's too large to fit the boy, hover with your mouse to make it visible. Using &quot;|&quot; on an arrow label will cause a line break.
&lt;/p&gt;	
&lt;pre&gt;
(Dennis|has a subtitle) &gt; label | new line (node)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Dennis|has a subtitle) &gt; label | new line (node)
&lt;/pre&gt;



&lt;h2&gt;Highlight nodes and arrows!&lt;/h2&gt;
		
&lt;pre&gt;
(boring) &gt; (boring) &gt;&gt; ((Highlighted))
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(boring) &gt; (boring) &gt;&gt; ((Highlighted))
&lt;/pre&gt;

&lt;h2&gt;Use Dummy nodes to get more space&lt;/h2&gt;
		
&lt;p&gt;
Defining a node without a title (= empty node) makes it a &quot;Dummy node&quot;. It won't be visible, but gives some space.
&lt;/p&gt;
&lt;p&gt;
Dummy nodes can also have ids and arrows, so you can acutally use them as arrow-targets and -sources.
&lt;/p&gt;

&lt;pre&gt;
(Dennis) -likes () &gt; (Food)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Dennis) -likes () &gt; (Food)
&lt;/pre&gt;

&lt;h2&gt;Use Dummy nodes to bend your arrows&lt;/h2&gt;
		
&lt;pre&gt;
(Dennis) - (&gt;likes[f]) ||
() (f:Food)
&lt;/pre&gt;

&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Dennis) - (&gt;likes[f]) ||
() (f:Food)
&lt;/pre&gt;


&lt;h2&gt;HTML in your texts&lt;/h2&gt;
	
&lt;p&gt;
Put &lt;code&gt;{{ }}&lt;/code&gt; around something let's you  use HTML inside node titles, subtitles and arrow labels. So you can use anything you like (images and stuff).
&lt;/p&gt;	
&lt;pre&gt;
(Dennis) &gt; links ({{&amp;lt;a href=&quot;http://www.headjump.de&quot;&amp;gt;headjump.de&amp;lt;/a&amp;gt;}})
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
(Dennis) &gt;links ({{&lt;a href=&quot;http://www.headjump.de&quot;&gt;headjump.de&lt;/a&gt;}})
&lt;/pre&gt;

&lt;h2&gt;Custom CSS classes for your nodes&lt;/h2&gt;

&lt;p&gt;
	Writing &lt;code&gt;{my_class_name}&lt;/code&gt; before the &quot;:&quot; that is used to seperate the node id from the title will add the classname to the created node. Inspect the element if you don't trust me:
&lt;/p&gt;		
&lt;pre&gt;
({custom_class}:Custom class)
&lt;/pre&gt;
&lt;pre class=&quot;arrows-and-boxes&quot;&gt;
({custom_class}:Custom class)
&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-02-05:594</id>
    <published>2010-02-05T10:45:00Z</published>
    <updated>2011-04-04T07:53:19Z</updated>
    <category term="Web dev, rails, javascript"/>
    <category term="dll"/>
    <category term="download"/>
    <category term="gem"/>
    <category term="install"/>
    <category term="installer"/>
    <category term="instantrails"/>
    <category term="rails"/>
    <category term="ruby"/>
    <category term="ruby 1.8.7"/>
    <category term="rubygems"/>
    <category term="setup"/>
    <category term="windows"/>
    <category term="zlib.dll"/>
    <link href="http://www.headjump.de/article/how-to-install-ruby-1-8-7-on-windows" rel="alternate" type="text/html"/>
    <title>How to install Ruby 1.8.7 on windows</title>
<summary type="html">&lt;p&gt;&lt;strong&gt;It happens that Ruby 1.8.7 is recommended for the current Rails version but  there is no one-click installer available for windows the time being. Not a problem, just follow the few steps below&#8230;&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;&lt;strong&gt;It happens that Ruby 1.8.7 is recommended for the current Rails version but  there is no one-click installer available for windows the time being. Not a problem, just follow the few steps below&#8230;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It happens that Ruby 1.8.7 is recommended for the current Rails version but  there is no one-click installer available for windows the time being. Not a problem, just follow the few steps below:&lt;/p&gt;


&lt;p&gt;
Update: InstantRails is pretty outdated. Use Rubyinstaller form http://rubyinstaller.org/ to install Ruby on Windows.

- Thanks Christof, you&#8217;re right! Time has past and so has InstantRails ;)
&lt;/p&gt;

	&lt;ol&gt;
	&lt;li&gt;Download the &lt;a href=&quot;http://www.ruby-lang.org/en/downloads/&quot; title=&quot;External Link: Ruby 1.8.7 binaries&quot;&gt;Ruby 1.8.7 binaries&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;Extract them to whatever folder you like (e.g &lt;code&gt;c:\ruby&lt;/code&gt;)&lt;/li&gt;
		&lt;li&gt;Add the folder &lt;code&gt;c:\ruby\bin&lt;/code&gt; (or whatever folder you extracted Ruby to) to windows &lt;code&gt;PATH&lt;/code&gt; variable (&lt;a href=&quot;http://www.google.com/search?q=adding+folder+to+windows+environment+path&quot; title=&quot;External Link: how to add folder to PATH&quot;&gt;how to?&lt;/a&gt;)&lt;/li&gt;
		&lt;li&gt;There are some &lt;span class=&quot;caps&quot;&gt;DLL&lt;/span&gt; files missing in the Ruby folder. The easiest is to &lt;a href=&quot;http://rubyforge.org/frs/?group_id=904&quot; title=&quot;External Link: InstantRails&quot;&gt;download the latest InstantRails version&lt;/a&gt;, extract it and &lt;strong&gt;copy all &lt;span class=&quot;caps&quot;&gt;DLL&lt;/span&gt; files&lt;/strong&gt; from the InstantRails folder &lt;code&gt;ruby/bin&lt;/code&gt; to your Ruby &lt;code&gt;bin&lt;/code&gt; folder&lt;/li&gt;
		&lt;li&gt;Rename the &lt;span class=&quot;caps&quot;&gt;DLL&lt;/span&gt; &#8216;zlib1.dll&#8217; to &#8216;zlib.dll&#8217;&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;&lt;strong&gt;That&#8217;s it, you&#8217;re done :)&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;To also install and run &lt;strong&gt;Rails&lt;/strong&gt;, simply &lt;a href=&quot;http://rubyforge.org/frs/?group_id=126&quot; title=&quot;External Link: Download rubygems&quot;&gt;download rubygems&lt;/a&gt; and run &lt;code&gt;ruby setup.rb&lt;/code&gt; from the command line inside the folder you extracted rubygems to.&lt;/p&gt;


	&lt;p&gt;Then Install rails with &lt;code&gt;gem install rails&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;Hope this was helpful. If you&#8217;ve got any question just drop a comment or contact me.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2010-01-13:566</id>
    <published>2010-01-13T21:26:00Z</published>
    <updated>2010-01-14T21:55:13Z</updated>
    <category term="Graphics"/>
    <category term="digital art"/>
    <category term="drawing"/>
    <category term="graphics"/>
    <category term="pixel"/>
    <category term="pixel art"/>
    <category term="retro"/>
    <category term="textures"/>
    <link href="http://www.headjump.de/article/it-s-a-duck-and-it-s-afraid" rel="alternate" type="text/html"/>
    <title>Poor small duck...</title>
<content type="html">
            &lt;p&gt;I put this image up to my &lt;a href=&quot;http://headjump.deviantart.com/art/Just-a-frog-148942097&quot; title=&quot;Dennis Treder with just a frog at devianrtart&quot;&gt;deviantart account&lt;/a&gt; the other day and it really turned out pretty much the way I wanted it to&#8230; so I&#8217;m adding it here, too.&lt;/p&gt;


	&lt;h3&gt;&lt;em&gt;&#8220;Just a frog&#8221;&lt;/em&gt;
&lt;img title=&quot;Just a frog by Dennis Treder&quot; src=&quot;/assets/2010/1/1/just-a-frog_test3.jpg&quot; alt=&quot;Just a frog by Dennis Treder&quot; /&gt;&lt;/h3&gt;


	&lt;p&gt;I got the inspiration for this while playing with my son building a lego-duck for him, only using two bricks(like in the picture above). That felt very abstract to me and I wondered how to build a frog the most abstract way, and my solution was: use a single piece of green lego.&lt;/p&gt;


	&lt;p&gt;That made me wonder, whether the abstract characters from a low-res pixel world are able to recognize each other&#8230;&lt;/p&gt;


	&lt;p&gt;Hope you like it :)&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-12-27:507</id>
    <published>2009-12-27T20:43:00Z</published>
    <updated>2010-06-29T09:43:32Z</updated>
    <category term="Graphics"/>
    <category term="digital art"/>
    <category term="drawing"/>
    <category term="lightning"/>
    <category term="sexy"/>
    <category term="speedpaint"/>
    <category term="textures"/>
    <category term="tmnt"/>
    <category term="turtles"/>
    <category term="wacom"/>
    <link href="http://www.headjump.de/article/my-tribute-to-april-o-neil" rel="alternate" type="text/html"/>
    <title>My tribute to April O' Neil</title>
<content type="html">
            &lt;p&gt;&lt;img title=&quot;April O' Neil digital drawing&quot; src=&quot;/assets/2009/12/27/april_final_small_fit.jpg&quot; alt=&quot;April O' Neil digital drawing&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;You rock, April!&lt;/p&gt;


	&lt;p&gt;I&#8217;ve never really liked the stile of the traditional cartoon April, but I love the touch the cg movie &lt;span class=&quot;caps&quot;&gt;TMNT&lt;/span&gt; gave her. She became a fighter herself and I love the overall design. Is it really only me that liked the latest &lt;span class=&quot;caps&quot;&gt;TMNT&lt;/span&gt; movie? It pretty much sucked here in germany and when I went to cinema to see it the woman at the checkout called through a mirophone &#8220;room 5, turtles please&#8221; cause we were the only ones going to see it and they had to run it just for us ;)&lt;/p&gt;


	&lt;p&gt;What do you think of the movie? I can&#8217;t be the only one who thought it was great! Aren&#8217;t there other people raving about it? Is no one else telling their friends to make watching it a &lt;a href=&quot;http://www.o2blueroom.co.uk/about-priority-tickets&quot;&gt;priority&lt;/a&gt;? It definitely should be! Films like this don&#8217;t come along every month.&lt;/p&gt;


	&lt;p&gt;Oh yes &#8211; the picture:
I always wanted to try my take on April, hope you like it! Comments and feedback would be really appreciated. If you like it, please share!&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;(click at the images to enlarge:)&lt;/em&gt;&lt;/p&gt;


	&lt;p class=&quot;lightbox&quot;&gt;&lt;a href=&quot;/assets/2009/12/27/april_progress1.jpg&quot;&gt;&lt;img title=&quot;April O' Neil progress&quot; src=&quot;/assets/2009/12/27/april_progress1_thumb.jpg&quot; alt=&quot;April O' Neil progress&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;/assets/2009/12/27/april_progress2.jpg&quot;&gt;&lt;img title=&quot;April O' Neil progress&quot; src=&quot;/assets/2009/12/27/april_progress2_thumb.jpg&quot; alt=&quot;April O' Neil progress&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;/assets/2009/12/27/april_progress3.jpg&quot;&gt;&lt;img title=&quot;April O' Neil progress&quot; src=&quot;/assets/2009/12/27/april_progress3_thumb.jpg&quot; alt=&quot;April O' Neil progress&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;/assets/2009/12/27/april_final_small.jpg&quot;&gt;&lt;img title=&quot;April O' Neil digital drawing&quot; src=&quot;/assets/2009/12/27/april_final_small_thumb.jpg&quot; alt=&quot;April O' Neil digital drawing&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;You can also find the image at my &lt;a href=&quot;http://headjump.deviantart.com/art/Tribute-to-April-O-Neil-148113151&quot; title=&quot;External Link: Dennis Treder at deviantart&quot;&gt;deviantart account&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-12-23:487</id>
    <published>2009-12-23T10:18:00Z</published>
    <updated>2010-01-13T21:27:33Z</updated>
    <category term="Graphics"/>
    <category term="Personal"/>
    <category term="christmas"/>
    <category term="concept"/>
    <category term="digital art"/>
    <category term="graphics"/>
    <category term="photoshop"/>
    <category term="pirategolf"/>
    <category term="speedpaint"/>
    <category term="xmas"/>
    <link href="http://www.headjump.de/article/merry-christmas-ye-scurvy-pirates" rel="alternate" type="text/html"/>
    <title>Merry christmas, ye scurvy pirates!</title>
<content type="html">
            &lt;p&gt;&lt;img title=&quot;Pirate Golf Adventures wished you a happy Christmas!&quot; src=&quot;/assets/2009/12/23/piratexmas_fit.jpg&quot; alt=&quot;Pirate Golf Adventures wished you a happy Christmas!&quot; /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;I wish you all the best for Christmas!&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;I&#8217;m somewhat busy at the moment doing &#8216;personal stuff&#8217;, but after the Christmas holidays I&#8217;ll continue working at my next flash game. It&#8217;s pretty hard to find the time for it, cause it&#8217;s usually not more than 1 hour per day after work, and on weekends usually 0 hours/day.&lt;/p&gt;


	&lt;p&gt;My next game will be some sort of fun addicting endless-game where the gameplay keeps getting faster and harder the longer you play till you finally screw up. That is because it took forever to build the few levels in &lt;a href=&quot;http://pirategolf.headjump.de&quot; title=&quot;Pirate Golf Adventure Flash game&quot;&gt;Pirate Golf Adventure&lt;/a&gt; and I often hear people complaining that it&#8217;s too short. So I will go for the &#8220;not-so-unique-levels-but-much-more-of-them&#8221; way. Hope you like it more this time ;)&lt;/p&gt;


	&lt;p&gt;So have a great time!&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;ps: If you don&#8217;t know why the giant bird seems so surprised: &#8216;just wonders where caribo got the presents from while sitting on his back ;)&lt;/em&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-12-17:469</id>
    <published>2009-12-17T20:13:00Z</published>
    <updated>2011-02-12T20:20:34Z</updated>
    <category term="Game Design"/>
    <category term="achievements"/>
    <category term="guide"/>
    <category term="pirategolf"/>
    <category term="too hard"/>
    <category term="youtube"/>
    <link href="http://www.headjump.de/article/you-re-better-than-me-and-you-show-it-at-youtube" rel="alternate" type="text/html"/>
    <title>You're better than me...</title>
<summary type="html">&lt;p&gt;&lt;a href=&quot;/article/you-re-better-than-me-and-you-show-it-at-youtube&quot;&gt;&lt;img title=&quot;Pirate Golf at youtube&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2009/12/17/pirategolf-at-youtube_thumb.jpg&quot; alt=&quot;Pirate Golf at youtube&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;There are some people who complain that the last achievement at &lt;a href=&quot;http://pirategolf.headjump.de&quot; title=&quot;Pirate Golf Adventure Flash game at headjump.de&quot;&gt;Pirate Golf Adventure&lt;/a&gt; is too hard to get. And you know what? They&#8217;re right, it&#8217;s damn hard. Even I have trouble getting it, although I played the game like a million times times. I only did the 25 strokes twice!&lt;/p&gt;


	&lt;p&gt;But there&#8217;s a reason I did it that hard: &lt;strong&gt;I knew, that there will be lots of people much better at my very own game than I am&lt;/strong&gt;. And that turned out to be true. See some &lt;a href=&quot;/article/you-re-better-than-me-and-you-show-it-at-youtube&quot; title=&quot;Pirate Golf Adventure at youtube&quot;&gt;video proof of it&lt;/a&gt; in the post!&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;</summary><content type="html">
            &lt;p&gt;&lt;a href=&quot;/article/you-re-better-than-me-and-you-show-it-at-youtube&quot;&gt;&lt;img title=&quot;Pirate Golf at youtube&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2009/12/17/pirategolf-at-youtube_thumb.jpg&quot; alt=&quot;Pirate Golf at youtube&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;There are some people who complain that the last achievement at &lt;a href=&quot;http://pirategolf.headjump.de&quot; title=&quot;Pirate Golf Adventure Flash game at headjump.de&quot;&gt;Pirate Golf Adventure&lt;/a&gt; is too hard to get. And you know what? They&#8217;re right, it&#8217;s damn hard. Even I have trouble getting it, although I played the game like a million times times. I only did the 25 strokes twice!&lt;/p&gt;


	&lt;p&gt;But there&#8217;s a reason I did it that hard: &lt;strong&gt;I knew, that there will be lots of people much better at my very own game than I am&lt;/strong&gt;. And that turned out to be true. See some &lt;a href=&quot;/article/you-re-better-than-me-and-you-show-it-at-youtube&quot; title=&quot;Pirate Golf Adventure at youtube&quot;&gt;video proof of it&lt;/a&gt; in the post!&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;
&lt;p&gt;There are some people who complain that the last achievement at &lt;a href=&quot;http://pirategolf.headjump.de&quot; title=&quot;Pirate Golf Adventure Flash game at headjump.de&quot;&gt;Pirate Golf Adventure&lt;/a&gt; is too hard to get. And you know what? They&#8217;re right, it&#8217;s damn hard. Even I have trouble getting it, although I played the game like a million times times. I only did the 25 strokes twice!&lt;/p&gt;


	&lt;p&gt;But there&#8217;s a reason I did it that hard: &lt;strong&gt;I knew, that there will be lots of people much better at my very own game than I am&lt;/strong&gt;. And that turned out to be true. Here&#8217;s some proof:&lt;/p&gt;


	&lt;h3&gt;Pirate Golf with 17 strokes&lt;/h3&gt;


&amp;lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;embed src=&quot;http://www.youtube.com/v/TtKIE4otEIY&amp;amp;#38;hl=en&amp;amp;#38;rel=0&amp;amp;#38;fs=1&amp;amp;#38;ap=%2526fmt%3D18&quot; height=&quot;344&quot; width=&quot;425&quot;&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;

	&lt;h3&gt;Pirate Golf with 18 strokes&lt;/h3&gt;


&amp;lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;embed src=&quot;http://www.youtube.com/v/Yo6wAQzjBDE&amp;amp;#38;hl=en&amp;amp;#38;rel=0&amp;amp;#38;fs=1&amp;amp;#38;ap=%2526fmt%3D18&quot; height=&quot;344&quot; width=&quot;425&quot;&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;

	&lt;h3&gt;But that&#8217;s not the best at all!&lt;/h3&gt;


	&lt;p&gt;Those performances already blew my mind, &lt;a href=&quot;http://www.kongregate.com/accounts/SeriousGuy&quot;&gt;SeriousGuy&lt;/a&gt; did an unbelievable &lt;strong&gt;15 strokes&lt;/strong&gt; without restarts at &lt;a href=&quot;http://www.kongregate.com/games/headjump/pirate-golf-adventure&quot; title=&quot;Pirate Golf Adventure at kongregate&quot;&gt;kongreate&lt;/a&gt;!&lt;/p&gt;


	&lt;h3&gt;Give mercy&lt;/h3&gt;


	&lt;p&gt;By the way, to whomever wondered how to spare the crocodile, I found a vid at youtube that shows you:&lt;/p&gt;


&amp;lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;param&gt;&amp;lt;/param&gt;&amp;lt;embed src=&quot;http://www.youtube.com/v/-c9THjN2X8U&amp;amp;#38;hl=en&amp;amp;#38;rel=0&amp;amp;#38;fs=1&amp;amp;#38;ap=%2526fmt%3D18&quot; height=&quot;344&quot; width=&quot;425&quot;&gt;&amp;lt;/embed&gt;&amp;lt;/object&gt;

	&lt;p&gt;&lt;strong&gt;Thanks to all the people who enjoyed spending time with piratgolf and especially to those who took the time to record screencaptures or write walkthroughs &#8211; like &lt;a href=&quot;http://wylina.newgrounds.com/news/post/363258&quot; title=&quot;External Link: Pirate Golf Adventure walkthrough&quot;&gt;this one&lt;/a&gt;! You really make me happy :)&lt;/strong&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-12-16:466</id>
    <published>2009-12-16T19:01:00Z</published>
    <updated>2009-12-17T20:14:09Z</updated>
    <category term="Graphics"/>
    <category term="Personal"/>
    <link href="http://www.headjump.de/article/finally-new-content-at-my-homepage" rel="alternate" type="text/html"/>
    <title>Finally new content at my homepage</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://www.dennistreder.de&quot;&gt;&lt;img title=&quot;External Link: Website of Dennis Treder, development, illustration, flash games&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2009/12/16/card-bg_thumb.jpg&quot; alt=&quot;External Link: Website of Dennis Treder, development, illustration, flash games&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Now that my old homepage hasn&#8217;t seen any update since a year or so I finally decided that it&#8217;s time for some static content that won&#8217;t need any updates at all.&lt;/p&gt;


	&lt;p&gt;What came out is now my own private web business cart. Pure static content, displaying some links to other sites I&#8217;m subscribed to. So one less that needs updates&#8230;&lt;/p&gt;


	&lt;p&gt;What do you think? Check it out at &lt;a href=&quot;http://www.dennistreder.de&quot; title=&quot;Website of Dennis Treder, flash development and illustration&quot;&gt;dennistreder.de&lt;/a&gt;&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-11-17:360</id>
    <published>2009-11-17T22:27:00Z</published>
    <updated>2009-12-14T10:50:49Z</updated>
    <category term="Book Tips"/>
    <category term="animation"/>
    <category term="book"/>
    <category term="flash animation"/>
    <link href="http://www.headjump.de/article/great-flash-animation-books" rel="alternate" type="text/html"/>
    <title>Great flash animation books</title>
<content type="html">
            &lt;p&gt;The following books really helped me to get insights in animating with flash and industry-proven methods to get your animation work done. I&#8217;d like to post more book tips and links in the future to show you what I really think is worth buying. I own each of the books I&#8217;ll recommend here myself, so it&#8217;s not a dumb amazon-link rubbish but books that I think are truly great.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/0240521315?ie=UTF8&amp;amp;#38;tag=headjumpde-20&amp;amp;#38;linkCode=as2&amp;amp;#38;camp=1789&amp;amp;#38;creative=390957&amp;amp;#38;creativeASIN=0240521315&quot;&gt;&lt;img title=&quot;External Link: How to cheat flash&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2009/11/17/51Pt8eq4heL._SL160__1_.jpg&quot; alt=&quot;External Link: How to cheat flash&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;h4&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/0240521315?ie=UTF8&amp;amp;#38;tag=headjumpde-20&amp;amp;#38;linkCode=as2&amp;amp;#38;camp=1789&amp;amp;#38;creative=390957&amp;amp;#38;creativeASIN=0240521315&quot; title=&quot;External Link: How to Cheat in Adobe Flash CS4 at amazon.com&quot;&gt;How to Cheat in Adobe Flash &lt;span class=&quot;caps&quot;&gt;CS4&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;


	&lt;p&gt;I was sceptical about this one at first, but it turned out to give me some of the most valuable tips on constructing vector graphics within flash and getting the best out of gradients and texture-fills. It&#8217;s really industry proven as most examples come from real commissions and shows you how to achieve good results in little time.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/0240521315?ie=UTF8&amp;amp;#38;tag=headjumpde-20&amp;amp;#38;linkCode=as2&amp;amp;#38;camp=1789&amp;amp;#38;creative=390957&amp;amp;#38;creativeASIN=0240521315&quot; title=&quot;External Link: How to Cheat in Adobe Flash CS4 at amazon.com&quot;&gt;...more info&lt;/a&gt;&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;

	&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/1590599128?ie=UTF8&amp;amp;#38;tag=headjumpde-20&amp;amp;#38;linkCode=as2&amp;amp;#38;camp=1789&amp;amp;#38;creative=390957&amp;amp;#38;creativeASIN=1590599128&quot;&gt;&lt;img title=&quot;External Link: Foundation Flash Cartoon Animation&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2009/11/17/51xYnftRdZL._SL160__1_.jpg&quot; alt=&quot;External Link: Foundation Flash Cartoon Animation&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;h4&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/1590599128?ie=UTF8&amp;amp;#38;tag=headjumpde-20&amp;amp;#38;linkCode=as2&amp;amp;#38;camp=1789&amp;amp;#38;creative=390957&amp;amp;#38;creativeASIN=1590599128&quot; title=&quot;External Link: Foundation Flash Cartoon Animation at amazon.com&quot;&gt;Foundation Flash Cartoon Animation&lt;/a&gt;&lt;/h4&gt;


	&lt;p&gt;... shows you a more traditional approach on animation and how you can handle it within the Flash &lt;span class=&quot;caps&quot;&gt;IDE&lt;/span&gt;. Great tips ons structuring your movieclips with all the characters different angles, states, expressions, ... that helps a lot to not lose track of your library.&lt;/p&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/1590599128?ie=UTF8&amp;amp;#38;tag=headjumpde-20&amp;amp;#38;linkCode=as2&amp;amp;#38;camp=1789&amp;amp;#38;creative=390957&amp;amp;#38;creativeASIN=1590599128&quot; title=&quot;External Link: Foundation Flash Cartoon Animation at amazon.com&quot;&gt;...more info&lt;/a&gt;&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;

	&lt;p&gt;&lt;em&gt;If you know any good flash book that&#8217;s worth taking a look at please tell me, I&#8217;m eager to check it out!&lt;/em&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-10-16:263</id>
    <published>2009-10-16T22:31:00Z</published>
    <updated>2009-10-28T19:21:16Z</updated>
    <category term="Flash Develop"/>
    <category term="actionscript 3"/>
    <category term="develop"/>
    <category term="event listener"/>
    <category term="helper"/>
    <link href="http://www.headjump.de/article/listener-adder" rel="alternate" type="text/html"/>
    <title>A little help with event listeners...</title>
<summary type="html">&lt;p&gt;Let me show you a simple &lt;span class=&quot;caps&quot;&gt;AS3&lt;/span&gt; structure that helps me to keep track of my event listeners and prevents me from messing up my code. Nothing groundbreaking but it always made my code a little clearer and puts everything regarding the listeners in one place.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Let me show you a simple &lt;span class=&quot;caps&quot;&gt;AS3&lt;/span&gt; structure that helps me to keep track of my event listeners and prevents me from messing up my code. Nothing groundbreaking but it always made my code a little clearer and puts everything regarding the listeners in one place.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Having an eye on your event listeners is really essential in flash. Not only that forgetting to remove a listener will keep an object away from garbage collection forever &#8211; there is another evil habit often done: simply layering different MovieClips above each other to &#8220;hide&#8221; the previous menues and stuff. That sure makes all the underlying stuff invisible to see &#8211; but all the buttons that are down there are still accessible via the &lt;span class=&quot;caps&quot;&gt;TAB&lt;/span&gt;-key.&lt;/strong&gt;&lt;/p&gt;


	&lt;h3&gt;The basics&lt;/h3&gt;


	&lt;p&gt;To add an event listener to an object (let&#8217;s be correct: to an &lt;code&gt;EventDispatcher&lt;/code&gt;) you call &lt;code&gt;my_object_name.addEventListener(...)&lt;/code&gt; with a bunch of parameter. To remove it you call &lt;code&gt;my_object_name.removeEventListener(...)&lt;/code&gt;. I assume you already know how to use them and maybe also discovered some problems while keeping track of all the listeners.&lt;/p&gt;


	&lt;h3&gt;Introducing the ListenerAdder&lt;/h3&gt;


	&lt;p&gt;&lt;code&gt;ListenerAdder&lt;/code&gt; is a class you can instanciate and tell all the event listeners you need. It&#8217;s able to add them all at once or remove them. That&#8217;s all. Sample code:&lt;/p&gt;


&lt;pre class=&quot;prettyprint&quot;&gt;
...
my_listener_adder = new ListenerAdder(); // my_listener_adder is declared as a private var of the current class
my_listener_adder.injectListener(my_button1, MouseEvent.CLICK, doOnBtn1Click);
my_listener_adder.injectListener(my_button2, MouseEvent.CLICK, doOnBtn2Click);
my_listener_adder.injectListener(my_button3, MouseEvent.CLICK, doOnBtn3Click);
my_listener_adder.injectListener(my_button4, MouseEvent.CLICK, doOnBtn4Click);

my_listener_adder.addAllListener(); // all listeners that have been &quot;injected&quot; before are now added
...
&lt;/pre&gt;

	&lt;p&gt;The parameters for &lt;code&gt;injectListener&lt;/code&gt; just work like the normal addListener(...) on an EventDispatcher &#8211; there&#8217;s only one additional parameter at the very beginning: the EventDispatcher itself.&lt;/p&gt;


	&lt;p&gt;So the ListenerAdder knows about all your listeners. You can add them all by calling &lt;code&gt;addAllListener()&lt;/code&gt; or remove them with &lt;code&gt;removeAllListener()&lt;/code&gt;. Now you have only &lt;strong&gt;one place to define all your listeners &#8211; but add and remove them where you need&lt;/strong&gt;. You can use your class constructor to define the ListenerAdder and call the add and remove functions when you want to activate or deactivate all listener.&lt;/p&gt;


	&lt;p&gt;That&#8217;s e.g. what I do when I switch between menu screens: While the menu is fading in there are no listeners active. After the fade in animation I &lt;em&gt;addAllListener&lt;/em&gt;. Immediately before the fade out animation is played I &lt;em&gt;removeAllListener&lt;/em&gt; again.&lt;/p&gt;


	&lt;h3&gt;It&#8217;s really helpful, I swear&lt;/h3&gt;


	&lt;p&gt;Till now the ListenerAdder class is quite ok, but it doesn&#8217;t knock your socks off. But there is one way of use that makes it really helpful:&lt;/p&gt;


	&lt;p&gt;Imagine you&#8217;re doing a game that has lots of going on, like a game world with hero-, enemy- and background-movement ON_ENTER_FRAME and something else running ON_TIMER, and the hero reacting ON_KEY_DOWN and a pause menu that appears ON_CLICK.&lt;/p&gt;


	&lt;p&gt;Now your hero drops dead because the player hits an enemy and while the death animation is playing and the respawning is done you want the enemies and your world to &#8220;live on&#8221; but you don&#8217;t want the player to do key interactions any longer or let him open the pause menu. You could of course place &lt;code&gt;if (!player_is_currently_dying) {}&lt;/code&gt; all the way through your sourcecode, but you could also do the following instead:&lt;/p&gt;


	&lt;p&gt;Use &lt;strong&gt;different ListenerAdder for different kinds of interaction&lt;/strong&gt;. Like&#8230;&lt;/p&gt;


&lt;pre class=&quot;prettyprint&quot;&gt;
var world_la:ListenerAdder; // general stuff like world animation, ...
var interaction_la:ListenerAdder; // key and menu interaction
&lt;/pre&gt;

	&lt;p&gt;You can put all the event listener regarding user interaction to &lt;code&gt;interaction_la&lt;/code&gt; if you want to block them simply call &lt;code&gt;interaction_la.removeAllListener()&lt;/code&gt;. Let&#8217;s revisit the above example: as soon as the player character dies, we remove all interaction listener. After all the dying and respawning animation/screen-fading is done we addAllListener again.&lt;/p&gt;


	&lt;p&gt;That&#8217;s just a simple example. Using different LisenerAdder for different kinds of interaction already saved me a lot of trouble, you should give it a try ;)&lt;/p&gt;


	&lt;h3&gt;Download and use&lt;/h3&gt;


	&lt;p&gt;&lt;a href=&quot;http://www.headjump.de/assets/2009/10/16/listener_adder.zip&quot;&gt;Download ListenerAdder.as&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;You can download the file above or paste the source code at the end of this post to an empty file and save it as &#8220;ListenerAdder.as&#8221;.&lt;/p&gt;


	&lt;p&gt;It&#8217;s ActionScript 3 but should also work with a2 I guess, maybe with minor modification. I could have used the slightly faster vector instead of an array but this way it&#8217;s also compatible with flash9 (vectors came with flash10).&lt;/p&gt;


	&lt;p&gt;To use it simply extract the zip and copy it to your source folder and import &lt;code&gt;de.headjump.ListenerAdder&lt;/code&gt; everywhere you need it. Make sure to keep the folder structure like it is (&lt;em&gt;de/headjump&lt;/em&gt;) &#8211; otherwise the package path won&#8217;t work properly. Of course you could just change the package within the actionscript file to whatever you like &#8211; but I&#8217;ll post some more classes and stuff later on that&#8217;ll be crosslinked at some points, so you should really leave the package structure as it is.&lt;/p&gt;


	&lt;p&gt;If you consider any problems with the file or have an idea on how to improve it please drop me a message.&lt;/p&gt;


	&lt;h3&gt;That&#8217;s the entire source:&lt;/h3&gt;


&lt;pre class=&quot;prettyprint&quot;&gt;
package de.headjump {
    import flash.events.EventDispatcher;

    /**
    * ...
    * @author Dennis Treder (info@dennistreder.de) http://www.headjump.de
    */

    public class ListenerAdder {
        private var m_events:Array;
        private var m_active:Boolean

        public function ListenerAdder() {
            m_events = new Array();
            m_active = false;
        }

        public function injectListener(target:EventDispatcher, type:String, func:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void {
            var lo:ListenerObject = new ListenerObject(target, type, func, useCapture, priority, useWeakReference);
            m_events.push(lo);
            if (m_active) {
                lo.activate();
            }
        }

        public function addAllListener():void {
            m_active = true;
            for (var i:int = 0; i &amp;lt; m_events.length; i++) {
                ListenerObject(m_events[i]).activate();
            }
        }

        public function removeAllListener():void {
            m_active = false;
            for (var i:int = 0; i &amp;lt; m_events.length; i++) {
                ListenerObject(m_events[i]).deactivate();
            }
        }

    }
}

import flash.events.EventDispatcher;

class ListenerObject {
    private var target:EventDispatcher;
    private var type:String;
    private var func:Function;
    private var useCapture:Boolean;
    private var priority:int;
    private var useWeakReference:Boolean;

    public function ListenerObject(_target:EventDispatcher, _type:String, _func:Function, _useCapture:Boolean = false, _priority:int = 0, _useWeakReference:Boolean = false) {
        target = _target;
        type = _type;
        func = _func;
        useCapture = _useCapture;
        priority = _priority;
        useWeakReference = _useWeakReference;
    }

    public function activate():void {
        if(target != null) target.addEventListener(type, func, useCapture, priority, useWeakReference);
    }

    public function deactivate():void {
        if(target != null) target.removeEventListener(type, func, useCapture);
    }
}
&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-10-16:42</id>
    <published>2009-10-16T19:59:00Z</published>
    <updated>2009-10-16T20:22:57Z</updated>
    <category term="Graphics"/>
    <category term="color"/>
    <category term="drawing"/>
    <category term="graphics"/>
    <category term="moon"/>
    <category term="photoshop"/>
    <category term="pirate"/>
    <category term="selfmade"/>
    <category term="ship"/>
    <link href="http://www.headjump.de/article/moonship" rel="alternate" type="text/html"/>
    <title>Moonship - I'm going to finish this one somewhen!</title>
<summary type="html">&lt;p&gt;&lt;a href=&quot;/article/moonship&quot;&gt;&lt;img title=&quot;moonship&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2008/11/4/moonship_thumb.jpg&quot; alt=&quot;moonship&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Moonship&lt;/strong&gt; is a picture I started drawing nearly a year ago &#8211; while trying to figure out the direction pirategolf should take. I never really finished it but now that found it again on my harddrive I think it works quite well and I&#8217;m going to finish it somewhen in the future&#8230;&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;</summary><content type="html">
            &lt;p&gt;&lt;a href=&quot;/article/moonship&quot;&gt;&lt;img title=&quot;moonship&quot; class=&quot;left-image framed&quot; src=&quot;/assets/2008/11/4/moonship_thumb.jpg&quot; alt=&quot;moonship&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Moonship&lt;/strong&gt; is a picture I started drawing nearly a year ago &#8211; while trying to figure out the direction pirategolf should take. I never really finished it but now that found it again on my harddrive I think it works quite well and I&#8217;m going to finish it somewhen in the future&#8230;&lt;/p&gt;


&lt;div class=&quot;clear-left&quot;&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Moonship is a picture I started drawing nearly a year ago &#8211; while trying to figure out the direction &lt;a href=&quot;http://pirategolf.headjump.de&quot;&gt;pirategolf&lt;/a&gt; should take. I never really finished it but now that found it again on my harddrive I think it works quite well and I&#8217;m going to finish it somewhen in the future&#8230;&lt;/strong&gt;&lt;/p&gt;


	&lt;h3&gt;That&#8217;s still wrong with the picture:&lt;/h3&gt;


	&lt;ul&gt;
	&lt;li&gt;needs more color contrast &#8211; especially more difference between foreground and background&lt;/li&gt;
		&lt;li&gt;should look like a stage at a theater at first &#8211; therefore the surface/shading of the waves is way too curved. Has to look more like a straight plank with the shape of a wave&lt;/li&gt;
		&lt;li&gt;the figurehead needs more elaboration. Make it a sexy piece of wooden mermaid&lt;/li&gt;
		&lt;li&gt;there are definitely too little parrots on screen&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;strong&gt;Notice anything else?&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img title=&quot;moonship&quot; src=&quot;/assets/2008/11/4/moonship_fit.jpg&quot; alt=&quot;moonship&quot; /&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.headjump.de/">
    <author>
      <name>Dennis</name>
    </author>
    <id>tag:www.headjump.de,2009-10-10:257</id>
    <published>2009-10-10T13:06:00Z</published>
    <updated>2009-10-10T13:10:21Z</updated>
    <category term="Flash Develop"/>
    <category term="flash dev"/>
    <category term="stupid"/>
    <link href="http://www.headjump.de/article/always-do-border-clips" rel="alternate" type="text/html"/>
    <title>ALWAYS do a border clip around you swiffs!</title>
<content type="html">
            &lt;p&gt;Let&#8217;s first make clear what I&#8217;m talking about:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;swiff&lt;/em&gt; is what the web says &#8221;.swf&#8221; files are called &#8211; and &#8221;.swf&#8221; files are compiled flash files. &lt;/li&gt;
		&lt;li&gt;A &lt;em&gt;border clip&lt;/em&gt; is a Movieclip (or display object of any kind) at the top most layer of your flash stage that leaves the normal visible area of you game visible, but adds a large border around it that hides everything outside.&lt;/li&gt;
		&lt;li&gt;&lt;em&gt;always&lt;/em&gt; means &lt;strong&gt;always!&lt;/strong&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;So the problem is that if you embed your swiff into a website and the embedding container has a larger size than your game resolution, everything outside is also visible, like you can see here (click it!):&lt;/p&gt;


	&lt;p class=&quot;lightbox&quot;&gt;&lt;a href=&quot;/assets/2009/10/10/pirategolf-without-border-yay.jpg&quot;&gt;&lt;img title=&quot;no border, what?&quot; src=&quot;/assets/2009/10/10/pirategolf-without-border-yay_thumb.jpg&quot; alt=&quot;no border, what?&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;(that&#8217;s from &lt;a href=&quot;http://www.xhry.cz/online-hra/Pirate-Golf-Adventure/&quot;&gt;xhry.cz&lt;/a&gt;)&lt;/p&gt;


	&lt;p&gt;It&#8217;s not that I haven&#8217;t been aware of this before&#8230; I already knew it. But let&#8217;s say I simply forgot about it, or maybe I thought &#8220;&lt;em&gt;the flashgame portals will for sure use the correct dimension for embedding&#8230;&lt;/em&gt;&#8221;. Now the game is out there on more than 1000 different servers and there are more than just a few that use a larger dimention (e.g. even AddictingGames does, and that&#8217;s really painful). Don&#8217;t take this too easy, it really kills the ratings!&lt;/p&gt;


	&lt;p&gt;So please learn from my stupidity and make a border around your flash content. Period.&lt;/p&gt;
          </content>  </entry>
</feed>

