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

<channel>
	<title>uxebu » blog &#187; uxebu</title>
	<atom:link href="http://uxebu.com/tag/uxebu/feed/" rel="self" type="application/rss+xml" />
	<link>http://uxebu.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 19 Jan 2012 14:53:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>New website</title>
		<link>http://uxebu.com/blog/2011/08/17/new-website/</link>
		<comments>http://uxebu.com/blog/2011/08/17/new-website/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 10:21:04 +0000</pubDate>
		<dc:creator>nonken</dc:creator>
				<category><![CDATA[uxebu]]></category>

		<guid isPermaLink="false">http://hub.uxebu.com:33550/?p=1563</guid>
		<description><![CDATA[We are very excited to announce the relaunch of the uxebu.com site and subsequently our other project sites as well!! In this blogpost I want to give you a quick overview of the new structure, the setup, why we chose certain tech and how maybe you can draw some inspiration from our work. Lets dive [...]]]></description>
			<content:encoded><![CDATA[<p>We are very excited to announce the relaunch of the uxebu.com site and subsequently our other project sites as well!!</p>
<p>In this blogpost I want to give you a quick overview of the new structure, the setup, why we chose certain tech and how maybe you can draw some inspiration from our work.<br />
<span id="more-1563"></span></p>
<p>Lets dive right into the nuts and bolts &#8211; a quick overview of how stuff works <sup>TM</sup>:</p>
<p><iframe src="http://player.vimeo.com/video/27247452" frameborder="0" width="570" height="356"></iframe></p>
<h3>Content</h3>
<p>In the past year a lot has happened at uxebu, new ideas were born, other ones where buried away &#8211; in essence we distilled out a concentrate of a few important factors we wanted to be reflected in the new website, while keeping some of the old &#8216;vibes&#8217;.</p>
<ul>
<li>We are a JavaScript tech company</li>
<li>Our two sides of the coin are &#8216;business&#8217; and &#8216;open source / incubator&#8217; which we want to address much clearer</li>
<li>The entire crew is what defines uxebu and we want to let that be reflected to the outside</li>
</ul>
<p>We kept the site structure simple, basically one &#8216;CV&#8217; style front-page, the team pages and our blog including articles and events.</p>
<p>Main focus of the front-page was to both showcase our commercial work and at the same time give insight into the open-source and incubating work we do &#8211; hopefully this distinction is clearly shown.</p>
<h3>Tech</h3>
<p>Our wishes for the new site are probably nothing new for most people setting up a website, but lets summarize anyways:</p>
<ul>
<li>Easy to maintain (preferably something like markdown)</li>
<li>No CMS Xc%(*y$e(wy!!!!!!!!!!</li>
<li>Support for most browsers, but no fancy tricks, if you support CSS3 gradients, good! If not, too bad</li>
<li>Open source, all hosted on GitHub</li>
</ul>
<p>These requirements resulted in us writing up a very simple markdown to HTML converter running on node.js.<br />
Plain Markdown to HTML conversion was not enough in our case so we added the ability to define rendering blocks which you could use to map the Markdown tree to an object which then in return can be used as Mustache tags. This ensures that editing content stays super simple &#8211; I mean if you want, just browse the uxebu site on github ;)</p>
<h3>Open source</h3>
<p>The project is <a href="https://github.com/uxebu/uxebu.com" target="_blank">available on GitHub</a>. If you have any questions or would like me to go into more detail on how everything works, feel free to leave a comment.</p>
<p>P.S.: Wait, did we just release yet another CMS <sup>TM</sup> ? ;) it just had to happen&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2011/08/17/new-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BarCamp Munich 2010 &#8211; seen through JavaScript and mobile eyes</title>
		<link>http://uxebu.com/blog/2010/10/16/barcamp-munich-2010-seen-through-javascript-and-mobile-eyes/</link>
		<comments>http://uxebu.com/blog/2010/10/16/barcamp-munich-2010-seen-through-javascript-and-mobile-eyes/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 15:47:05 +0000</pubDate>
		<dc:creator>wolfram</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[html5apps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[uxebu]]></category>
		<category><![CDATA[w3c widgets]]></category>
		<category><![CDATA[barcamp]]></category>
		<category><![CDATA[conference]]></category>

		<guid isPermaLink="false">http://uxebu.com/blog/?p=1281</guid>
		<description><![CDATA[First and foremost big thanks to the organizers and sponsors of this awesome BarCamp. It almost seems as if BarCamps have already passed their tipping point, but still every time I discover new and interesting things, I meet people who attend for the first time and are excited about it, which makes it really awesome [...]]]></description>
			<content:encoded><![CDATA[<p>First and foremost big thanks to the organizers and sponsors of this awesome <a href="http://barcampmunich.mixxt.de/">BarCamp</a>. It almost seems as if BarCamps have already passed their tipping point, but still every time I discover new and interesting things, I meet people who attend for the first time and are excited about it, which makes it really awesome and fun. Maybe the tipping point had been reached but I guess the BarCamp is just on it&#8217;s way to become an integral part of the web culture and establishes itself as a standard event type besides the normal (mostly commercial) conferences. And as I always like to point out the people at BarCamps are those that want to go there, not those that have to be there (because their company had sent them or alike). We enjoyed it and have hopefully also brought value to it &#8211; that is what a BarCamp is all about: participate.<br />
Thank you!<br />
And let&#8217;s move on, which I do right this moment, sitting on the train going to the next (commercial) event the <a href="http://webtechcon.de">WebTechCon in Mainz</a> to bring the cross platform mobile web to it :).<br />
<span id="more-1281"></span></p>
<h2>&#8220;Modern Company&#8221; session &#8211; uxebu as the example</h2>
<p>But before I dive into the tech sessions I would like to mention that I really felt the need to hold a session which I had called &#8220;Modern Company&#8221; where I tried to show our philosophy at uxebu, how we work together, how we use the modern media, how it all came about and why we do it this way. First I didn&#8217;t know where to start. Then I started to talk about when and how the idea for uxebu came about, that we <a href="">decided online to found it</a> and really met some months later. Thanks to our open source background and our history we wanted to continue the same spirit inside the company, I tried to show how and based on what facts we grow our team (the word &#8220;hiring&#8221; seems such a one-sided process). I realize now that I forgot a lot of the good stuff, but maybe this is the chance to make this become a separate talk to hold at other events.<br />
I really loved the discussion and the questions that it had started, <a href="http://titanpad.com/izRqsSTAoT">notes had been taken</a>, a lot of critical questions came up and had been answered by <a href="http://twitter.com/tobeytailor">Tobias</a> and me. One interesting mentioning came up about <a href="http://www.faz.net/s/Rub8EC3C0841F934F3ABA0703761B67E9FA/Doc~E80113EC3EB3F48A5A14211D237BF109D~ATpl~Ecommon~Scontent.html">an article which mentioned a company that pays the same salary to all employees</a>. Thank you for all this input, I really enjoyed it and will definitely talk about this more and will prepare some more info next time.</p>
<h2>JavaScript &#8211; a topic of big interest</h2>
<p>We had founded uxebu purely for doing JavaScript consulting and pushing the limits and it is just really exciting to see how much interest this language is gaining in the last years. Not only <a href="http://jsconf.com">jsconf</a> the mother of all JavaScript events underlines this but also a lot of other conferences and events like <a href="http://2010.full-frontal.org/">fullfrontal</a>, <a href="http://fronteers.nl/">fronteers</a>, <a href="http://js1k.com/home">js1k</a>, <a href="http://10k.aneventapart.com/">10k Apart</a>, <a href="http://events.jquery.org/2010/boston/">jQueryConf</a> and so on which <a href="http://twitter.com/netzzwerg">Béla Varga</a> listed in his &#8220;<a href="http://www.slideshare.net/netzzwerg/javascript-rock-and-roll">JavaScript Rock&#8217;n Roll</a>&#8221; session.<br />
The &#8220;<a href="http://nodejs.org/">node.js</a>&#8221; session and &#8220;JavaScript Rock&#8217;n Roll&#8221; (by <a href="http://twitter.com/netzzwerg">Béla (@netzzwerg)</a> and <a href="http://twitter.com/tobeytailor">Tobias Schneider (@tobeytailor)</a>) made it very obvious that JavaScript is a hot topic, the BarCamp was not necessarily overcrowded with programmers, but still those two sessions had been very well filled and the discussions had been really fun. The conclusion of the &#8220;node.js&#8221; session that Tobias drew and evangelized was &#8220;node.js is currently very hyped and just not yet ready for production, so use at your own risk, it&#8217;s not even alpha yet&#8221;. Everybody also agreed that node.js is not the new saviour and a replacement for Apache, it&#8217;s another tool you should add to your tool belt, use it when it comes in handy and be sure to know how and when to use it. Final conclusion was, as usual, if you should use it depends on what you want to do :).<br />
Béla opened up the &#8220;JavaScript Rock&#8217;n Roll&#8221; session by giving a very good overview of what toolkits exist out there, who created them and what they are good for. He very well layed out some of the advantages and disadvantages, the rough corners and what is hard and what easy to learn. Shortly the discussion about the right JavaScript IDE came up but as usual there is no one-fits-all solution, choose yourself! Everybody was very carefully listening when <a href="http://twitter.com/tobeytailor">@tobeytailor</a> dove deep into the details of <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript</a>, JavaScript, the differences, the latest specification, the changes, prototypes, <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/proto">__proto__</a> and so on. Other interesting topics in those sessions had been <a href="http://promotejs.com/">promotejs</a>, <a href="http://github.com/madrobby/vapor.js">vapor.js</a>, <a href="http://www.slideshare.net/jensarps/the-hitchhikers-guide-to-client-side-persistent-storage">details about storage mechanisms</a>, <a href="http://jquerymobile.com/">jQueryMobile</a>, <a href="http://embedjs.org/">embedJS</a>, <a href="http://apparat.io">apparat.io</a><br />
That was real &#8220;JavaScript Rock&#8217;n Roll&#8221;!</p>
<h2>Native vs. Web</h2>
<p>On Saturday, the first day of the BarCamp, I had offered a session &#8220;Mobile: Native vs. Web&#8221; but didn&#8217;t see too many hands raised, so I just didn&#8217;t put it in the schedule, later some people asked me when this session would take place and that I should hold it on Sunday, which I fortunately then did together with <a href="http://twitter.com/flowdi">Florian Detig</a>. And I have to say I am very glad we did so, because 1) we (at uxebu) have a lot of awesome stuff to talk about and 2) it was really fun interacting with the audience and passing on all this information. It is always amazing again how much there is to say about how to create an app which can also be submitted into any of the various app stores by just using web technologies (the <a href="http://www.yourappshop.com">adult industry proved that again</a>). HTML, CSS and JavaScript are just way to underestimated for being of good use in the mobile world. Florian first showed his <a href="http://prezi.com/otqop-_wynvl/">awesome slides</a> (I think they are really cool!). I continued the talk and dove a bit deeper into the mobile web topic, after my try of explaining the different movements in the native API space with players like W3C&#8217;s DAP, BONDI, JIL, WAC we deeply went into answering and discussing web technologies on mobile devices, I talked about our experiences, showed some projects we realized and answered a couple questions.<br />
Not really a surprise but still impressing was the positive feedback we got when I showed of <a href="http://apparat.io">apparat.io</a>, our soon to be launched service that will be able to convert a web app into a native app (You want to know about it first &#8211; follow <a href="http://twitter.com/apparatio">@apparatio</a>). The release date for the private beta will be the 25th October 2010, people who follow @apparatio will get accounts first. I also showed our project <a href="http://embedjs.org">embedJS</a> a toolkit (based on dojo) optimized for mobile usage.</p>
<p>All in all the BarCamp just made it obvious again that we are playing in an very interesting field and that we at uxebu are pushing the limits, that is fun, as much as the BarCamp was big fun, we will be back next time, for sure!<br />
Thanks again and keep up the good work!</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2010/10/16/barcamp-munich-2010-seen-through-javascript-and-mobile-eyes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>uxebu is hiring</title>
		<link>http://uxebu.com/blog/2010/09/18/uxebu-is-hiring/</link>
		<comments>http://uxebu.com/blog/2010/09/18/uxebu-is-hiring/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 20:17:05 +0000</pubDate>
		<dc:creator>wolfram</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[frontend engineering]]></category>
		<category><![CDATA[html5apps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[uxebu]]></category>
		<category><![CDATA[hiring]]></category>

		<guid isPermaLink="false">http://uxebu.com/blog/?p=1271</guid>
		<description><![CDATA[JSConf is just around the corner and all the JavaScript geeks are meeting there. We from uxebu are going there too, of course :). We are going to give four cool talks David Aurelio (of TouchScroll fame) &#8211; Interface Styling &#038; Scripting for WebKit Mobile Jens Arps (our storage expert) &#8211; The hitchhiker&#8217;s guide to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jsconf.eu/2010/">JSConf</a> is just around the corner and all the JavaScript geeks are meeting there. We from uxebu are going there too, of course :). We are going to give <a href="http://jsconf.eu/2010/speakers.html">four cool talks</a></p>
<ul>
<li><a href="http://twitter.com/void_0">David Aurelio</a> (of <a href="http://static.uxebu.com/~david/touchscroll/">TouchScroll</a> fame) &#8211; Interface Styling &#038; Scripting for WebKit Mobile</li>
<li><a href="http://twitter.com/jensarps">Jens Arps</a> (our <a href="http://jensarps.de/">storage expert</a>) &#8211; The hitchhiker&#8217;s guide to client side persistent data storage</li>
<li><a href="http://twitter.com/tobeytailor">Tobias Schneider</a> (the uncomparable <a href="http://wiki.github.com/tobeytailor/gordon/">Gordon</a> author) &#8211; Not your Mother&#8217;s JavaScript!</li>
<li><a href="http://twitter.com/nonken">Nikolai Onken</a> (a Dojo senior) &#8211; Robotic JavaScript</li>
</ul>
<p>and if you think you have something as cool as what you will see at JSConf you should contact us and we should talk about working together. We at uxebu are putting fun in the job first, actually we are trying to have fun all day and just call that work. Family and health are the top priorities in our company and the absolute base for doing a great job &#8230; oh and JavaScript is what we love, currently we are hacking it only on mobile (or as we like to name it &#8220;embedded&#8221;) devices. &#8220;Embedded&#8221; because we think JavaScript is not only hot on mobiles, but on TV&#8217;s in car dashboards and maybe even in your washing machine :)!? You know where we are going &#8230; are you as enthusiastic as we are? Come and talk to us at the JSConf<span id="more-1271"></span>, or if you have no ticket for JSConf yet give us enough reason to invite you there and get to know your geekiness :).<br />
Let&#8217;s rock the mobile/embedded world &#8230;<br />
Write us to <a href="mailto:contact@uxebu.com">contact@uxebu.com</a> or find us on twitter <a href="http://twitter.com/uxebu">@uxebu</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2010/09/18/uxebu-is-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some for-loop considerations</title>
		<link>http://uxebu.com/blog/2009/03/26/some-for-loop-considerations/</link>
		<comments>http://uxebu.com/blog/2009/03/26/some-for-loop-considerations/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 14:49:16 +0000</pubDate>
		<dc:creator>wolfram</dc:creator>
				<category><![CDATA[development tools]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[uxebu]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[coding style]]></category>
		<category><![CDATA[for-loop]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=142</guid>
		<description><![CDATA[We have been developing some coding style guide lines to produce better code and make our code easier maintainable and portable. Also thinking about code inspection tools and continuous integration techniques which analyze the code will profit from a well defined and verifyable style. While discussing a rather simple rule I thought this might be [...]]]></description>
			<content:encoded><![CDATA[<p>We have been developing some coding style guide lines to produce better code and make our code easier maintainable and portable. Also thinking about code inspection tools and continuous integration techniques which analyze the code will profit from a well defined and verifyable style.<br />
While discussing a rather simple rule I thought this might be interesting to delve into a bit. You will be surprised how much you can discuss about a simple thing such as a for-loop and that is not only true for JavaScript, I am sure.<br />
<span id="more-142"></span></p>
<p>Well, call me pedantic for even discussing this and seeing this as relevant. But everybody knows that adhering coding styles make programming in a team way more pleasant and it is just way more efficient to just code and not to style! Which includes not having to think about how to style the code, though I realize that a lot of programmers have a problem adapting to coding styles.<br />
We at uxebu basically defined that we are applying the coding guide lines of the project that we possibly contribute stuff back to. This means our JavaScript code applies the <a href="http://www.dojotoolkit.org/developer/StyleGuide">dojo coding style guide</a> and our python stuff (we use internally) applies the <a href="http://docs.djangoproject.com/en/dev/internals/contributing/#coding-style">django coding style guide</a>.</p>
<p>But let&#8217;s look at the for-loop now.</p>
<h2>The default</h2>
<p>The most common usage of a for loop is the following.</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> node <span style="color: #339933;">=</span> nodes<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// whatever</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Nothing spectacular here. But let&#8217;s take it apart a bit. There are two things that are commonly known that can be optimized.</p>
<ol>
<li>The comparison &#8220;i&lt;nodes.length&#8221; in line 1 evaluates the length of nodes on every iteration, if the nodes array is not modified while looping over it or the change to it is not relevant, this can be optimized.</li>
<li>Also the declaration of the variable &#8220;node&#8221; in line 2 is done multiple times, so this is just a small unnecessary thing to do.</li>
</ol>
<p>So let&#8217;s optimize the things we just found out.</p>
<h2>Version 2</h2>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> node<span style="color: #339933;">;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> len<span style="color: #339933;">=</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; node <span style="color: #339933;">=</span> nodes<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// whatever</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Another step on our way was to optimize the variable declarations and reducing their count from three down to one. In some code you can then see the following.</p>
<h2>Version 3</h2>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> node<span style="color: #339933;">,</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> len<span style="color: #339933;">=</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; node <span style="color: #339933;">=</span> nodes<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// whatever</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Actually we have already skipped a tiny step in between, very often you can see multiple var-statements as opposed to the already &#8220;squeezed&#8221; one-liner in line 1 above. The way of writing it as seen here, is reasonable if there are a couple other variables to be declared, you just need one var-statement. This will basically reduce the code size, if your minifier doesn&#8217;t already do that for you. <a href="http://wonko.com/post/try-to-use-one-var-statement-per-scope-in-javascript#comment-4819">As stated here</a> it seems to be specified to be irrelevant to performance. So event the argument under 2. against the first version (see above) is not very strong.<br />
Just a small side-note: the one line var-statement evaluates in declaration order, so something like this will work!</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> arr <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">2</span><span style="color: #339933;">,</span><span style="color: #CC0000;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> len <span style="color: #339933;">=</span> arr.<span style="color: #660066;">length</span><span style="color: #339933;">,</span> x <span style="color: #339933;">=</span> len<span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>The &#8220;len&#8221; and also &#8220;x&#8221; variables contain the proper content as you are expecting. The comma-separated var-statement evaluates the assignment expression by expression and steps on to the next assignment. Therefore &#8220;len&#8221; and &#8220;x&#8221; will have the proper values 3 and 2.<br />
But let&#8217;s go back to our for-loop.</p>
<h2>Version 4</h2>
<p>If the var-statement is outside the for-loop and especially if other variables (outside of the scope of the for-loop) are declared there the source code get&#8217;s blury and harder to read. For example:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> someVar <span style="color: #339933;">=</span> whatever<span style="color: #339933;">,</span> anotherVar <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">4</span><span style="color: #339933;">,</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> node<span style="color: #339933;">,</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> len<span style="color: #339933;">=</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>The first two variable declarations (someVar and anotherVar) have nothing to do with the for-loop context, but the others do, so this blurs the source code and is prone to errors. Also if you separate this source code onto multiple lines like so:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> someVar <span style="color: #339933;">=</span> whatever<span style="color: #339933;">,</span> anotherVar <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">4</span><span style="color: #339933;">,</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; node<span style="color: #339933;">,</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> len<span style="color: #339933;">=</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>it is still a possible point of failure. I for example, forgot the comma on line 1 which made this source code</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> someVar <span style="color: #339933;">=</span> whatever<span style="color: #339933;">,</span> anotherVar <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">4</span><span style="color: #339933;">,</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#93;</span><br />
&nbsp; &nbsp; node<span style="color: #339933;">,</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> len<span style="color: #339933;">=</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>still work. But and this is a <strong>big but</strong>, the code get&#8217;s a different meaning now! First, line 1 will work, since the semicolon at the end of the line is not mandatory. And second (if not declared inside this scope before) the variables on line 2 are now defined in global scope. And that can really cause a hard to find bug!<br />
Another good reason for not doing this, is that extending the code may lead to developers adding code in between the var-declaration and the for-loop, for whatever reason. Then the variable declarations for the for-loop &#8220;drift away&#8221; and loose their context even a bit more. And the source code becomes harder to understand.</p>
<p>So we rather put all the variable declarations into the for-loop&#8217;s var-statement. Like so:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> someVar <span style="color: #339933;">=</span> whatever<span style="color: #339933;">,</span> anotherVar <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #339933;">,</span><span style="color: #CC0000;">4</span><span style="color: #339933;">,</span><span style="color: #CC0000;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// This is outside the for-loop and also looks like it.</span><br />
<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span> len<span style="color: #339933;">=</span>nodes.<span style="color: #660066;">length</span><span style="color: #339933;">,</span> node<span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>len<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; node <span style="color: #339933;">=</span> nodes<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// whatever</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Now we have a pretty compact and well context-focused syntax for declaring variables needed within a for-loop. This code is nicely readable and has no impact on performance, even if in most cases good and maintainable code is worth more than the fastest code, but that&#8217;s a use case based decision! We are taking this as a standard for uxebu code.</p>
<p>What do you think? Let us know if you see potential for optimization.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2009/03/26/some-for-loop-considerations/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>dojo.beer(2) and Webmontag Munich</title>
		<link>http://uxebu.com/blog/2008/12/11/dojobeer2-and-webmontag-munich/</link>
		<comments>http://uxebu.com/blog/2008/12/11/dojobeer2-and-webmontag-munich/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 22:46:15 +0000</pubDate>
		<dc:creator>tobias</dc:creator>
				<category><![CDATA[dojo]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[uxebu]]></category>
		<category><![CDATA[dojo.beer()]]></category>
		<category><![CDATA[mayflower]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=100</guid>
		<description><![CDATA[We really had a couple of busy days lately, spreading the word about Dojo at several places. Everything started with the dojo.beer(2) event, we&#8217;ve organized together with Mayflower, followed by an appearance by Wolfram and myself at the Webmontag in Munich. dojo.beer(2) In the evening of 5th December we&#8217;ve had our start for the dojo.beer(2) [...]]]></description>
			<content:encoded><![CDATA[<p>We really had a couple of busy days lately, spreading the word about Dojo at several places.<br />
Everything started with the dojo.beer(2) event, we&#8217;ve organized together with <a href="http://www.mayflower.de">Mayflower</a>, followed by an appearance by Wolfram and myself at the <a href="http://www.webmontag.de/location/muenchen/index">Webmontag in Munich</a>.</p>
<p><strong>dojo.beer(2)</strong></p>
<p>In the evening of 5th December we&#8217;ve had our start for the dojo.beer(2) event in a nice bar in Munich, where about 10 Dojo enthusiasts attended to prepare for the official event the next day. During the evening Wolfram placed the bet, that more than 30 people will attend during the official dojo.beer(2) event. I lost that bet, because 32 people attended and I was really excited (still am), that so many people were interested in Dojo.<span id="more-100"></span></p>
<p>The next day we welcomed all attendees with a typical Bavarian Weisswurst. After the first meet and greet Wolfram collected Dojo topics people could talk about and everyone voted on those, followed by Nikolai, who gave a great overview of the most important Dojo components.<br />
Then it was time for our special guests Dylan Schiemann and Pete Higgins who joined us via video chat and we talked about the current status of Dojo (just before that moment <a href="http://dojotoolkit.org/2008/12/08/dojo-1-2-3-ready-consumption">Dojo Version 1.2.3</a> was released) and what is planned for the future. Afterwards it was my job to explain the Dojo build system and how you can optimize a Dojo driven website (slides below). My talk was followed by Wolfram, who explained several Dojo features and later dived into the functional programming capabilities of Dojo (for further info, see the <a href="http://shaneosullivan.wordpress.com/2008/02/15/functional-programming-with-dojo-quick-tips/">post of Shane O&#8217;Sullivan</a> and for deeper insight a <a href="http://lazutkin.com/blog/2008/jan/12/functional-fun-javascript-dojo/">blog entry by Eugene Latzutkin</a>). Nikolai then introduced <a href="http://docs.dojocampus.org">Dojos new user documentation</a> and gave a short preview of the new Dojo website. The last lecture was given by Norman Wenk (<a href="http://www.acomo.de/">acomo</a>), who demonstrated the Dojo widget system and explained the pitfalls, when creating your own. After a full day of Dojoness we went to a bar and ended with several dojo.beer(s).</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2488393&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2488393&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://vimeo.com/2488393">dojo.beer(2)</a> from <a href="http://vimeo.com/user1020922">Tobias von Klipstein</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Thanks to everyone who attended this event and I hope everyone enjoined it. I would particularly like to thank <a href="http://www.mayflower.de">Mayflower</a> who donated their office for that event and also like to note, that we wouldn&#8217;t had this amazing event without their support. Many Many Thanks!!!</p>
<div style="width:425px;text-align:left" class="mhx" id="__ss_828578"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/klipstein/the-dojo-build-system-presentation?type=powerpoint" title="The Dojo Build System">The Dojo Build System</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=dojobuild-1228742671929868-8&#038;stripped_title=the-dojo-build-system-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=dojobuild-1228742671929868-8&#038;stripped_title=the-dojo-build-system-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/klipstein/the-dojo-build-system-presentation?type=powerpoint" title="View The Dojo Build System on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/shrinksafe">shrinksafe</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/build">build</a>)</div>
</div>
<p>More info about that event:</p>
<p><a href="http://search.twitter.com/search?q=dojo.beer">http://search.twitter.com/search?q=dojo.beer</a><br />
<a href="http://your-bear.blogspot.com/2008/12/djbeer-in-munich.html">http://your-bear.blogspot.com/2008/12/djbeer-in-munich.html</a><br />
<a href="http://blog.thinkphp.de/archives/375-dojo.beer2.html">http://blog.thinkphp.de/archives/375-dojo.beer2.html</a><br />
<a href="http://higginsforpresident.net/2008/12/back-in-business/">http://higginsforpresident.net/2008/12/back-in-business/</a></p>
<p><strong>Webmontag Munich</strong></p>
<p>On Monday, 8th December 2008, Wolfram and I went to the <a href="http://www.webmontag.de/location/muenchen/2008-12-08">Webmontag event in Munich</a> where <a href="http://corlan.org/2008/12/09/munich-flex-and-php-user-group-meeting/">Mihai Corlan</a>, Platform Evangelist of Adobe, gave a good insight into technologies like Flex, Air and Zend AMF. Afterwards I&#8217;ve got the possibility to give an overview of Dojo, where I showed how Dojo evolved during the last year. At the end I showed some videos about <a href="http://www.wavemaker.com/product/screencasts.html">Wavemaker</a>, <a href="http://www.projectzero.org/blog/?p=236&#038;preview=true">IBM&#8217;s Project Zero</a> and the nice training application of Sitepen called <a href="http://www.sitepen.com/blog/2008/10/14/dojo-sensei-reader/">Sensei</a> to give an impression what you can reach with the Dojo Toolkit today.</p>
<p>I really enjoyed the round-table discussion about open source, the open web and how companies like Adobe fit in. Thanks to the Munich <a href="http://www.phpugmunich.org/">PHP-UG</a>, <a href="http://www.flexugmuc.de/">Flex-UG</a> and of course <a href="http://weblog.rajubitter.com/webmontag-special-in-munich-on-december-8th---adobe-flex-and-php">Raju Bitter</a>, who altogether organized this nice event. </p>
<p>A Sidenote:</p>
<p>Mihai showed some interesting slides about a comparison <a href="http://www.jamesward.com/census/">James Ward made with his Census application</a>. He shows the speed improvements of AMF in favour of JSON communication when transferring 5000 rows and more. This is a very special use case, I rather see the latest usability and interaction patterns  stearing into the direction of loading just the data on demand that are really required. In most cases this big number of data is also hard for users to grasp. There is charting and some visual presentations that might require this load of data, but the optimization on the server will probably serve a better user experience here. An interesting read is <a href="http://www.dojotoolkit.org/2008/11/05/flash-flex-versus-open-web-ajax">Jared Jurkiewicz blog article</a> about comparing these numbers with Dojo today, as the comparison of <a href="http://www.jamesward.com/blog/2007/04/30/ajax-and-flex-data-loading-benchmarks/">James Ward was made in April 2007</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/12/11/dojobeer2-and-webmontag-munich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>uxebu at the Ajax in Action</title>
		<link>http://uxebu.com/blog/2008/10/22/uxebu-at-the-ajax-in-action/</link>
		<comments>http://uxebu.com/blog/2008/10/22/uxebu-at-the-ajax-in-action/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 12:22:09 +0000</pubDate>
		<dc:creator>wolfram</dc:creator>
				<category><![CDATA[dojango]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[uxebu]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ajax in action]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=75</guid>
		<description><![CDATA[Just one week to go and we are glad that all three of us will make it to the Ajax in Action 2008 in Mainz (Germany). So if you like to contact us, meet in person or just have a chat (besides the virtual reality) let&#8217;s do it. If you are interested in JavaScript as [...]]]></description>
			<content:encoded><![CDATA[<p>Just one week to go and we are glad that all three of us will make it to the <a href="http://createordie.de/ajaxinaction/">Ajax in Action 2008 in Mainz (Germany)</a>. So if you like to contact us, meet in person or just have a chat (besides the virtual reality) let&#8217;s do it. If you are interested in JavaScript as we are, want to have an in depth <a href="http://dojotoolkit.org">dojo</a> discussion, feel like you need to know more about <a href="http://dojango.org">dojango</a> or just would like to talk AJAX with us, do it! We are looking forward to it.<br />
Of course we will have some stuff to share, we are going to hold four talks <a href="http://createordie.de/ajaxinaction/speaker/#3338">RIA/UI development with Dojo, Adobe AIR and Dojo, bringing the web to the desktop</a> from Nikolai and <a href="http://createordie.de/ajaxinaction/speaker/#3331">Architectures for scaling AJAX apps and Efficient AJAX/JavaScript Development</a> from me.<br />
<span id="more-75"></span></p>
<p>Besides holding talks, which occupies at least most of my brain time until I am done, we are really looking forward to getting to know better the AJAX Community here in Germany and we hope for a lot of input and to share ideas with like minded people. If there will be so much brain capital as there was in Boston for the <a href="http://blog.uxebu.com/2008/10/08/boston-wrap-up-dojo-12/">Ajax Experience two weeks ago</a>, we will need at least the rest of the year to digest it all. But hey, that is what we are out for. We want your input and we want to give input.</p>
<p>May be we will even try to have a gathering of some of the most interesting and most interested AJAX people that are coming to the conference in order to shoot a <a href="http://dojocampus.org/podcast/">dojo.cast()</a>, may be some kind of &#8220;conference edition&#8221;. Actually, that is just an idea I made up right this second while writing this, but I guess Nikolai and Pete won&#8217;t be too opposed to it.</p>
<p>Feel free to mail us or drop a comment if you like to meet up &#8211; no matter if dojo, ajax, javascript or whatever related.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/10/22/uxebu-at-the-ajax-in-action/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>uxebu introduction</title>
		<link>http://uxebu.com/blog/2008/06/18/hello-world-2/</link>
		<comments>http://uxebu.com/blog/2008/06/18/hello-world-2/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 08:19:32 +0000</pubDate>
		<dc:creator>wolfram</dc:creator>
				<category><![CDATA[uxebu]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=1</guid>
		<description><![CDATA[Welcome to the uxebu blog, the platform of the minds behind uxebu. Uxebu is the company of the three web enthusistasts: Nikolai Onken (from Amsterdam, Holland), Tobias von Klipstein (Augsburg, Germany) and Wolfram Kriesing (Munich, Germany). We are specialized in providing you with knowledge and support for JavaScript and CSS tasks. For our customers we [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the uxebu blog, the platform of the minds behind uxebu.</p>
<p>Uxebu is the company of the three web enthusistasts: Nikolai Onken (from Amsterdam, Holland), Tobias von Klipstein (Augsburg, Germany) and Wolfram Kriesing (Munich, Germany). We are specialized in providing you with knowledge and support for JavaScript and CSS tasks. For our customers we offer lessons about client side web development (AJAX, JavaScript, CSS, &#8230;). We provide customer support and help you to find out what is possible with those technologies, architect, implement and optimize your projects.<br />
<span id="more-1322"></span><br />
Since we met via the javascript toolkit dojo we are very much focusing on using it and are most efficient with it. But we know that there is not only dojo out there and we provide profound knowledge in JavaScript and CSS, we will support you with whatever toolkit or self-made solution you are using.<br />
We focus on making your app fast!</p>
<p>Let us introduce ourselves so you know who you can work with.</p>
<div style="float:right;padding:0 10px;"><img src="http://hub.uxebu.com:33550/wp-content/uploads/2008/06/nikolai_gravatar.png" alt="" title="nikolai_gravatar" width="42" height="42" class="alignnone size-medium wp-image-12" /></div>
<p><strong>Nikolai Onken</strong> &#8211; lives in Amsterdam and has a musician background. He is the one who is doing most of work on the dojo themes, he is our CSS God! He is the founder (together with Pete Higgins) of <a href="http://dojocampus.org">dojocampus.org</a> (a great resource for dojo know how), an active dojo committer since beginning of 2008 and a driving force behind the european dojo community.</p>
<div style="float:right;padding:0 10px;"><img src="http://hub.uxebu.com:33550/wp-content/uploads/2008/06/tobias_gravatar.jpg" alt="" title="tobias_gravatar" width=" 42" height="42" class="alignnone size-medium wp-image-10" /></div>
<p><strong>Tobias von Klipstein</strong> &#8211; from Augsburg, Germany (not far from Munich) has been freelancing already for more than eight years now in various areas and programming languages. After doing a lot of PHP and Java he does Python now and has found his place as an active member in the <a href="http://django-de.org/authors/">german django community</a>. He is our linux expert and has made great <a href="http://tobias.klpstn.com/2008/05/19/range-slider-with-dojo/">dojo contributions</a>.</p>
<div style="float:right;padding:0 10px;"><img src="http://hub.uxebu.com:33550/wp-content/uploads/2008/06/wolfram_gravatar.jpg" alt="" title="wolfram_gravatar" width="42" height="42" class="alignnone size-medium wp-image-11" /></div>
<p><strong>Wolfram Kriesing</strong> &#8211; lives in Munich (Germany) and is already for eleven years in the IT business. From working with big MySQL databases to very early JavaScript applications back in 1999 he has a <a href="http://wolfram.kriesing.de/blog">wide range of experience</a>. He has been an active open source contributor for a while, working on projects like PEAR and has also become a dojo commiter in the year 2008.</p>
<p>Uxebu is in the process of being founded, paper work is still in the loop, but everything will be set very soon.<br />
We are looking forward to work with you. You can contact us as contact [at] uxebu punto com.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/06/18/hello-world-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

