<?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>rottmann.net · Ralf Rottmann · grandcentrix Founder · IOTA Foundation Board Member · Dortmund, Cologne</title>
	<atom:link href="http://rottmann.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://rottmann.net</link>
	<description>Founder of @grandcentrix, Germany&#039;s leading SI for E2E Internet of Things solutions. #IOTA Foundation Board of Directors.</description>
	<lastBuildDate>Tue, 25 Dec 2018 16:19:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.3</generator>
	<item>
		<title>I&#8217;ve completely moved to social media</title>
		<link>https://rottmann.net/2015/06/ive-completely-moved-to-social-media/</link>
		<comments>https://rottmann.net/2015/06/ive-completely-moved-to-social-media/#respond</comments>
		<pubDate>Sun, 07 Jun 2015 11:10:43 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[rottmann.net]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=3316</guid>
		<description><![CDATA[The world is moving on and I&#8217;ve decided to completely move my writing activities to social media. Most of my recent posts can be found on Medium. You might also want to follow me on Twitter, Facebook or Google+. I&#8217;m mostly keeping this blog to not break links elsewhere (think &#8220;archives&#8221;) and for the about [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The world is moving on and I&#8217;ve decided to completely move my writing activities to social media.</p>
<p>Most of my recent posts <a href="https://medium.com/@ralf/latest">can be found on Medium</a>.</p>
<p>You might also want to follow me on <a href="https://twitter.com/ralf">Twitter</a>, <a href="https://www.facebook.com/ralfrottmann">Facebook</a> or <a href="https://plus.google.com/+RalfRottmann">Google+</a>.</p>
<p>I&#8217;m mostly keeping this blog to not break links elsewhere (think &#8220;archives&#8221;) and for the <a href="/about?PHPSESSID=526e981ef52c7a1c9d1a8fb5fe9cdf6b">about page</a>.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2015/06/ive-completely-moved-to-social-media/" data-text="I&#038;%238217;ve completely moved to social media" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="rottmann.net""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2015/06/ive-completely-moved-to-social-media/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2015%2F06%2Five-completely-moved-to-social-media%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=3316&amp;md5=da6bdbc0a0de7745d85d7377d2f660d0"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2015/06/ive-completely-moved-to-social-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2015%2F06%2Five-completely-moved-to-social-media%2F&amp;language=en_GB&amp;category=text&amp;title=I%26%238217%3Bve+completely+moved+to+social+media&amp;description=The+world+is+moving+on+and+I%26%238217%3Bve+decided+to+completely+move+my+writing+activities+to+social+media.+Most+of+my+recent+posts+can+be+found+on+Medium.+You+might+also...&amp;tags=rottmann.net%2Cblog" type="text/html" />
	</item>
		<item>
		<title>App Engine Modules and Go / Golang</title>
		<link>https://rottmann.net/2014/03/app-engine-modules-and-go-golang/</link>
		<comments>https://rottmann.net/2014/03/app-engine-modules-and-go-golang/#comments</comments>
		<pubDate>Fri, 21 Mar 2014 19:17:04 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[golang]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=3236</guid>
		<description><![CDATA[Update: If you&#8217;re primarily interested into separating module code into its own, distinct Go compiled binaries and packages, you might want to follow along the discussion on Google+. Recently Google deprecated App Engine Backends in favour of Modules. In my case, I want to use Modules to bundle indefinitely running processes responsible for frequently persisting data [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>Update: If you&#8217;re primarily interested into separating module code into its own, distinct Go compiled binaries and packages, you might want to <a href="https://plus.google.com/u/0/106658337982640166595/posts/dJPZSDyAzSy">follow along the discussion on Google+</a>.</em></p>
<p>Recently Google deprecated App Engine Backends in favour of <a href="https://developers.google.com/appengine/docs/go/modules/">Modules</a>.</p>
<p>In my case, I want to use Modules to bundle indefinitely running processes responsible for frequently persisting data from Dedicated Memcache to Datastore. These processes should live outside any request context and just run &#8220;forever&#8221;.</p>
<p>An important aspect for me is to keep the module code separate from my main application&#8217;s code. On App Engine for Python and PHP this is pretty obvious, as one can simply map URIs to scripts. On the contrary, App Engine for Go uses a single binary and all of the URI matching is handled from within the compiled program.</p>
<p>Unfortunately, the Golang Modules <a href="https://developers.google.com/appengine/docs/go/modules/">documentation</a> is incomplete and not extremely helpful in getting you up and running using Modules. For example, the samples for Module YAML files, do not include the <em>handlers</em> tag – which not only seems to be required in app.yaml but also on the module level.</p>
<p>Disclaimer: While I am not at all sure whether what I describe here is the correct, best or even idiomatic way of doing it, I can confirm it is working. Any comments are appreciated. You might also want to get in touch with me on <a href="http://twitter.com/ralf">Twitter</a>, <a href="http://alpha.app.net/ralf">App.net</a> or <a href="https://plus.google.com/+RalfRottmann">Google+</a>.</p>
<p>I hope, Google will amend their docs so we all have a chance to find out how exactly Mountain View intends us to use Modules.</p>
<h3>Folder structure</h3>
<p>My project structure looks something like this:</p>
<p><strong>/</strong> Project root containing the .yaml files<br />
<strong>/main</strong> The main applications .go files<br />
<strong>/config</strong> Configuration files<br />
<strong>/services</strong> Go files for shared services<br />
<strong>/etl</strong> The Go files for the ETL Module</p>
<h3>YAML files</h3>
<p>The main <strong>app.yaml</strong> file is absolutely straight forward:</p>
<p><img class="alignnone size-full wp-image-3243" alt="app.yaml" src="http://rottmann.net/wp-content/uploads/2014/03/app.yaml_.png" width="406" height="248" srcset="https://rottmann.net/wp-content/uploads/2014/03/app.yaml_.png 406w, https://rottmann.net/wp-content/uploads/2014/03/app.yaml_-303x185.png 303w" sizes="(max-width: 406px) 100vw, 406px" /></p>
<p>&nbsp;</p>
<p>Here is the <strong>etl.yaml</strong> file:</p>
<p><img class="alignnone size-full wp-image-3245" alt="etl.yaml" src="http://rottmann.net/wp-content/uploads/2014/03/etl.yaml_.png" width="444" height="394" srcset="https://rottmann.net/wp-content/uploads/2014/03/etl.yaml_.png 444w, https://rottmann.net/wp-content/uploads/2014/03/etl.yaml_-303x268.png 303w" sizes="(max-width: 444px) 100vw, 444px" /></p>
<p>A couple of important things to note:</p>
<ul>
<li>I&#8217;m using the manual scaling instance type, which according to Google&#8217;s docs facilitate the following: &#8220;Requests can run indefinitely. A manually-scaled instance can choose to handle <em>/_ah/start</em> and execute a program or script for many hours without returning an HTTP response code.&#8221;</li>
<li>I have added a <em>handlers</em> section. Google does not illustrate this in their docs, but without a <em>handlers</em> section, I couldn&#8217;t get Modules to work at all. Also note that the modules registers for the <em>/_ah/.*</em> URI pattern. If you try to register the Module for any pattern, that gets registered by another Module or the default Module, you will see <em>&#8220;panic: http: multiple registrations for / goroutine&#8221;</em> errors in your logs.</li>
</ul>
<h3>The code</h3>
<p>In my main application, I&#8217;m using the <a href="https://github.com/codegangsta/martini">Martini</a> web framework to route requests. The code lives in the <strong>/main</strong> folder and is not particularly important to understanding how to set up Modules.</p>
<p>The ETL Module lives in the <strong>/etl</strong> folder and does not make use of the Martini framework, as it essentially just needs to handle the <em>start</em> and <em>stop</em> triggers requested by App Engine&#8217;s runtime environment:<br />
View the code on <a href="https://gist.github.com/ralfr/9693398">Gist</a>.</p>
<p>Again, a few things to note:</p>
<ul>
<li>The Module belongs to the same package as the rest of my code. While the code for the Module is cleanly separated, we still get just one single binary.</li>
<li>The Module implements handlers for  <em>/_ah/start</em> and <em>/_ah/stop</em>. Once an instance configured for manual scaling is fired up, App Engine automatically sends an empty GET request to <em>/_ah/start</em>.</li>
<li>The rest of the code is straight forward: I&#8217;m using <em>runtime.RunInBackground</em> to start a background process which – in this case – will run forever.</li>
<li>The first thing I do in the handlers is returning a response. If a Module does not respond with an HTTP 200 to <em>/_ah/start,</em> App Engine, the runtime environment will shut down the Module. (You can use this to signal initialisation or other failures to App Engine, by responding with a 404).</li>
</ul>
<h3>goapp deploy and the development server</h3>
<p><em>goapp</em> is just a thin wrapper around <em>appcfg</em>. To deploy your app along with its modules just type: <em>goapp deploy app.yaml etl.yaml</em>. Though the <em>goapp serve app.yaml etl.yaml</em> command works, too, I couldn&#8217;t get the module working on my local development server. If anybody figures it out, let me know!</p>
<p>This is my take on Golang Modules for App Engine. I&#8217;m looking forward to getting your feedback and possible hints of how to improve the code and setup.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2014/03/app-engine-modules-and-go-golang/" data-text="App Engine Modules and Go / Golang" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="appengine,golang""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2014/03/app-engine-modules-and-go-golang/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2014%2F03%2Fapp-engine-modules-and-go-golang%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=3236&amp;md5=3ee6b888b7a00de682bae06debf39c52"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2014/03/app-engine-modules-and-go-golang/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2014%2F03%2Fapp-engine-modules-and-go-golang%2F&amp;language=en_GB&amp;category=text&amp;title=App+Engine+Modules+and+Go+%2F+Golang&amp;description=Update%3A+If+you%26%238217%3Bre+primarily+interested+into+separating+module+code+into+its+own%2C+distinct+Go+compiled+binaries+and+packages%2C+you+might+want+to+follow+along+the+discussion+on+Google%2B.+Recently+Google...&amp;tags=appengine%2Cgolang%2Cblog" type="text/html" />
	</item>
		<item>
		<title>GoSublime code completion for App Engine and Go</title>
		<link>https://rottmann.net/2014/02/gosublime-code-completion-for-app-engine-and-go/</link>
		<comments>https://rottmann.net/2014/02/gosublime-code-completion-for-app-engine-and-go/#comments</comments>
		<pubDate>Sun, 16 Feb 2014 14:24:29 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[golang]]></category>
		<category><![CDATA[gosublime]]></category>
		<category><![CDATA[sublimetext]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=3230</guid>
		<description><![CDATA[Go is a fascinating &#8220;new&#8221; language. I&#8217;m doing most of my Go development in Sublime Text 2 using the superb GoSublime package for code completion and many more IDE like features. One thing that bothered me for a long time, though, was that I could not get code completion working for Google&#8217;s App Engine packages. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://golang.org/">Go</a> is a fascinating &#8220;new&#8221; language.</p>
<p>I&#8217;m doing most of my Go development in <a href="http://www.sublimetext.com/2">Sublime Text 2</a> using the superb <a href="https://github.com/DisposaBoy/GoSublime">GoSublime package</a> for code completion and many more IDE like features. One thing that bothered me for a long time, though, was that I could not get <strong>code completion</strong> working for Google&#8217;s App Engine packages.</p>
<p>I finally solved the problem:</p>
<p>1. Create a symbolic link in <em>/go_appengine/goroot/pkg</em> named <em>darwin_amd64</em> and point it to darwin_amd64_appengine/ like so: <em>ln -s darwin_amd64_appengine/ darwin_amd64</em></p>
<p>2. Make sure that in <strong>Sublime Text 2 &gt; Preferences &gt; Package Settings &gt; GoSublime &gt; Settings &#8211; User</strong> the <em>GOPATH</em> environment variable includes the path to App Engines <em>goroot</em> folder. Mine is: <em>&#8220;env&#8221;: {&#8220;GOPATH&#8221;: &#8220;$HOME/src/gocode/:$HOME/src/go_appengine/goroot/&#8221;}</em></p>
<p>I hope this helps and appreciate any feedback.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2014/02/gosublime-code-completion-for-app-engine-and-go/" data-text="GoSublime code completion for App Engine and Go" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="golang,gosublime,sublimetext""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2014/02/gosublime-code-completion-for-app-engine-and-go/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2014%2F02%2Fgosublime-code-completion-for-app-engine-and-go%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=3230&amp;md5=bb48b13f7ae73557f91b2d491c144381"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2014/02/gosublime-code-completion-for-app-engine-and-go/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2014%2F02%2Fgosublime-code-completion-for-app-engine-and-go%2F&amp;language=en_GB&amp;category=text&amp;title=GoSublime+code+completion+for+App+Engine+and+Go&amp;description=Go+is+a+fascinating+%26%238220%3Bnew%26%238221%3B+language.+I%26%238217%3Bm+doing+most+of+my+Go+development+in+Sublime+Text+2+using+the+superb+GoSublime+package+for+code+completion+and+many+more+IDE+like...&amp;tags=golang%2Cgosublime%2Csublimetext%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Making Ghost available beyond localhost</title>
		<link>https://rottmann.net/2013/07/making-ghost-available-beyond-localhost/</link>
		<comments>https://rottmann.net/2013/07/making-ghost-available-beyond-localhost/#comments</comments>
		<pubDate>Fri, 12 Jul 2013 11:27:19 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[Express]]></category>
		<category><![CDATA[Ghost]]></category>
		<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=3209</guid>
		<description><![CDATA[Today, the first alpha of Ghost shipped. Here is a quick tip for making it available beyond localhost. ]]></description>
				<content:encoded><![CDATA[<p>Since many years, I&#8217;m using WordPress for my blogs and even some sites. As many other bloggers, I&#8217;ve ended up in a love/hate relationship with the software.</p>
<p>When John O&#8217;Nolan announced <a href="http://tryghost.org/">Ghost</a>, a new kind of blogging platform, I immediately jumped over to Kickstarter and chose the VIP package.</p>
<p>Today, the Ghost folks shipped the first version, they call it an &#8220;alpha of an alpha&#8221;.</p>
<p>Ghost is built on top of Node.js and Express. The default configuration binds to the loopback interface (127.0.0.1) which makes it available only to <strong>localhost</strong>. So even if you try <strong>http://192.168.2.1:2368</strong> or something, it won&#8217;t work.</p>
<p>In case you want to make your Ghost deployment available to other hosts on your network or even publicly, make sure you change the binding in <strong>config.js</strong> inside Ghost&#8217;s root directory and restart Node:</p>
<p>View the code on <a href="https://gist.github.com/ralfr/5983581">Gist</a>.</p>
<p>While this is not at all Ghost specific, I thought it might help users new to Ghost and without any Node specific experience.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/07/making-ghost-available-beyond-localhost/" data-text="Making Ghost available beyond localhost" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="Express,Ghost,Node.js""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/07/making-ghost-available-beyond-localhost/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F07%2Fmaking-ghost-available-beyond-localhost%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=3209&amp;md5=c27d2d6dfc150b7149479db24484ae7c"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/07/making-ghost-available-beyond-localhost/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F07%2Fmaking-ghost-available-beyond-localhost%2F&amp;language=en_GB&amp;category=text&amp;title=Making+Ghost+available+beyond+localhost&amp;description=Since+many+years%2C+I%26%238217%3Bm+using+WordPress+for+my+blogs+and+even+some+sites.+As+many+other+bloggers%2C+I%26%238217%3Bve+ended+up+in+a+love%2Fhate+relationship+with+the+software.+When+John+O%26%238217%3BNolan...&amp;tags=Express%2CGhost%2CNode.js%2Cblog" type="text/html" />
	</item>
		<item>
		<title>SVBTLE: There is no agile fixed price</title>
		<link>https://rottmann.net/2013/07/svbtle-there-is-no-agile-fixed-price/</link>
		<comments>https://rottmann.net/2013/07/svbtle-there-is-no-agile-fixed-price/#respond</comments>
		<pubDate>Sun, 07 Jul 2013 20:47:01 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=3204</guid>
		<description><![CDATA[Over at SVBTLE, I posted about the nonsense of agile fixed pricing. Hope you&#8217;ll find it worth reading! &#160;]]></description>
				<content:encoded><![CDATA[<p>Over at SVBTLE, <a href="http://ralfrottmann.net/there-is-no-agile-fixed-price" target="_blank">I posted about the nonsense of agile fixed pricing</a>. Hope you&#8217;ll find it worth reading!</p>
<p>&nbsp;</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/07/svbtle-there-is-no-agile-fixed-price/" data-text="SVBTLE: There is no agile fixed price" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="business""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/07/svbtle-there-is-no-agile-fixed-price/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F07%2Fsvbtle-there-is-no-agile-fixed-price%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=3204&amp;md5=6b00759d1fdb2fa5217d69c80c72e394"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/07/svbtle-there-is-no-agile-fixed-price/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F07%2Fsvbtle-there-is-no-agile-fixed-price%2F&amp;language=en_GB&amp;category=text&amp;title=SVBTLE%3A+There+is+no+agile+fixed+price&amp;description=Over+at+SVBTLE%2C+I+posted+about+the+nonsense+of+agile+fixed+pricing.+Hope+you%26%238217%3Bll+find+it+worth+reading%21+%26nbsp%3B&amp;tags=business%2Cblog" type="text/html" />
	</item>
		<item>
		<title>I joined SVBTLE</title>
		<link>https://rottmann.net/2013/05/i-joined-svbtle/</link>
		<comments>https://rottmann.net/2013/05/i-joined-svbtle/#respond</comments>
		<pubDate>Thu, 30 May 2013 18:54:39 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[rottmann.net]]></category>
		<category><![CDATA[Svbtle]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=2940</guid>
		<description><![CDATA[From the Svbtle homepage: &#8220;SVBTLE is a new kind of magazine. We’re a network of great people mixed with a platform that takes the best things from publishing and combines them with the best parts of the web. We want to make it easier for people to share and discover new ideas.&#8221; Find my SVBTLE contributions [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>From the Svbtle homepage:</p>
<blockquote><p>&#8220;SVBTLE is a new kind of magazine. We’re a network of great people mixed with a platform that takes the best things from publishing and combines them with the best parts of the web. We want to make it easier for people to share and discover new ideas.&#8221;</p></blockquote>
<p>Find my SVBTLE contributions at <a title="Ralf Rottmann on SVBTLE" href="http://ralfrottmann.net" target="_blank">ralfrottmann.net</a> and feel free to subscribe to the <a title="Ralf Rottmann on SVBTLE RSS Feed" href="http://ralfrottmann.net/feed" target="_blank">feed</a>.</p>
<p>I&#8217;m excited to become a part of this diverse, inspiring, motivating, thought-provoking, educating and eye-opening community. I will keep my personal blog for deep tech talk and use SVBTLE mostly for all other posts.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/05/i-joined-svbtle/" data-text="I joined SVBTLE" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="rottmann.net,Svbtle""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/05/i-joined-svbtle/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F05%2Fi-joined-svbtle%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=2940&amp;md5=5cb8855c41be9b46bea48d274d03b772"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/05/i-joined-svbtle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F05%2Fi-joined-svbtle%2F&amp;language=en_GB&amp;category=text&amp;title=I+joined+SVBTLE&amp;description=From+the+Svbtle+homepage%3A+%26%238220%3BSVBTLE+is+a+new+kind+of+magazine.%C2%A0We%E2%80%99re+a+network+of+great+people+mixed+with+a+platform+that+takes+the+best+things+from+publishing+and+combines+them...&amp;tags=rottmann.net%2CSvbtle%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Unable to sign in for Hangouts with Google I/O 2013 Google+ upgrade</title>
		<link>https://rottmann.net/2013/05/unable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade/</link>
		<comments>https://rottmann.net/2013/05/unable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade/#comments</comments>
		<pubDate>Wed, 15 May 2013 23:58:56 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=2934</guid>
		<description><![CDATA[If you are a Google Apps for Businesses customer you might see a red error messaging stating &#8220;Unable to sign in :(&#8221; in the Hangouts sidebar, detailing: &#8220;Hangouts has not been enabled for your account. Please contact your administrator to enable this service.&#8221; To get rid of it, in the classical admin panel to to Settings [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>If you are a Google Apps for Businesses customer you might see a red error messaging stating &#8220;Unable to sign in :(&#8221; in the Hangouts sidebar, detailing:</p>
<blockquote><p>&#8220;Hangouts has not been enabled for your account. Please contact your administrator to enable this service.&#8221;</p></blockquote>
<p>To get rid of it, in the classical admin panel to to <strong>Settings &gt; Talk </strong>and activate the feature called &#8220;Enable the new Hangouts for messaging and video calls&#8221;.</p>
<p>The Google+ help might wrongly point you to the Services &gt; Google+ section. I hope this helps others stopping the frustration. If you want to stay in touch, <a href="https://plus.google.com/106658337982640166595/posts" target="_blank">I&#8217;m on Google+</a>.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/05/unable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade/" data-text="Unable to sign in for Hangouts with Google I/O 2013 Google+ upgrade" data-via="ralf" data-hashtags="rottmann" data-lang="en""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/05/unable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F05%2Funable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=2934&amp;md5=422c784ce96031122274b23e18e405da"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/05/unable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F05%2Funable-to-sign-in-for-hangouts-with-google-io-2013-google-upgrade%2F&amp;language=en_GB&amp;category=text&amp;title=Unable+to+sign+in+for+Hangouts+with+Google+I%2FO+2013+Google%2B+upgrade&amp;description=If+you+are+a+Google+Apps+for+Businesses+customer+you+might+see+a+red+error+messaging+stating+%26%238220%3BUnable+to+sign+in+%3A%28%26%238221%3B+in+the+Hangouts+sidebar%2C+detailing%3A+%26%238220%3BHangouts+has+not...&amp;tags=blog" type="text/html" />
	</item>
		<item>
		<title>Launch iTerm 2 on startup without opening a terminal window</title>
		<link>https://rottmann.net/2013/03/launch-iterm-2-on-startup-without-opening-a-terminal-window/</link>
		<comments>https://rottmann.net/2013/03/launch-iterm-2-on-startup-without-opening-a-terminal-window/#comments</comments>
		<pubDate>Thu, 14 Mar 2013 19:20:27 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[iTerm 2]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=2923</guid>
		<description><![CDATA[iTerm 2 is the best Terminal replacement for Mac OS X. As somebody, spending most of his time on the console, I set up the Hotkey window so it opens fullscreen on my MacBook Air and fills half of the screen in my iMac. Obviously, I added iTerm 2 to the Login Items in Users [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.iterm2.com/" target="_blank">iTerm 2</a> is the best Terminal replacement for Mac OS X.</p>
<p>As somebody, spending most of his time on the console, I set up the Hotkey window so it opens fullscreen on my MacBook Air and fills half of the screen in my iMac. Obviously, I added iTerm 2 to the <em>Login Items</em> in <em>Users &amp; Groups</em> to automatically launch it on startup.</p>
<p>One little thing always bothered me, though: On launch, iTerm 2 automatically opens a terminal window.<br />
<span id="more-2923"></span><br />
This means, whenever I reboot my MacBook Air, I end up having a console window open. Ticking the <em>Hide</em> checkbox in <em>Login Items</em> does not change anything.</p>
<p>Here is, how to prevent this behaviour. It&#8217;s not all that intuitive, so I thought sharing it might help others:</p>
<ol>
<li>Open iTerm 2.</li>
<li>Close all console windows.</li>
<li>Go to <em>Window</em> &gt; <em>Save Window Arrangement</em>.</li>
<li>Name the new arrangement. I named mine &#8220;No Windows&#8221;.</li>
<li>Make sure to set it as the default in <em>Preferences</em> &gt; <em>Arrangements</em>.</li>
<li>Last but not least, in <em>Preferences&#8230;</em> &gt; <em>General</em> under <em>Startup</em> make sure that &#8220;Open default window arrangement&#8221; is the only option checked.</li>
</ol>
<p>That&#8217;s it. The next time iTerm 2 is launched on startup, no annoying window is opened.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/03/launch-iterm-2-on-startup-without-opening-a-terminal-window/" data-text="Launch iTerm 2 on startup without opening a terminal window" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="iTerm+2""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/03/launch-iterm-2-on-startup-without-opening-a-terminal-window/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F03%2Flaunch-iterm-2-on-startup-without-opening-a-terminal-window%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=2923&amp;md5=6f3be908c49129b43fb20c32e8d1181f"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/03/launch-iterm-2-on-startup-without-opening-a-terminal-window/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F03%2Flaunch-iterm-2-on-startup-without-opening-a-terminal-window%2F&amp;language=en_GB&amp;category=text&amp;title=Launch+iTerm+2+on+startup+without+opening+a+terminal+window&amp;description=iTerm+2+is+the+best+Terminal+replacement+for+Mac+OS+X.+As+somebody%2C+spending+most+of+his+time+on+the+console%2C+I+set+up+the+Hotkey+window+so+it+opens...&amp;tags=iTerm+2%2Cblog" type="text/html" />
	</item>
		<item>
		<title>How to stop posting public Google+ Communities posts to your profile</title>
		<link>https://rottmann.net/2013/03/how-to-stop-posting-public-google-communities-posts-to-your-profile/</link>
		<comments>https://rottmann.net/2013/03/how-to-stop-posting-public-google-communities-posts-to-your-profile/#respond</comments>
		<pubDate>Wed, 06 Mar 2013 08:18:42 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=2913</guid>
		<description><![CDATA[I cannot believe I did not know this.

Ever since Google+ Communities became available, people complained about their Community posts automatically popping up on their profiles, too. This has been the default for public Communities. In fact, many Community owners on finding this out killed their public Communities and started over doing private ones.]]></description>
				<content:encoded><![CDATA[<p>I cannot believe I did not know this.</p>
<p>Ever since Google+ Communities became available, people complained about their Community posts automatically popping up on their profiles. This has been the default for <strong>public</strong> Communities. In fact, many Community owners on finding this out killed their public Communities and started over doing private ones.</p>
<p><span id="more-2913"></span></p>
<p>I just today found out, hinted to by <a tabindex="0" href="https://plus.google.com/u/0/104771776404197897488" target="_top">Bruno Škvorc</a>, that there is a setting allowing you to change the default behavior. Unfortunately, it&#8217;s hidden away at the very bottom of <a href="https://www.google.com/settings/plus" target="_blank">https://www.google.com/settings/plus</a>:</p>
<p><a href="http://rottmann.net/wp-content/uploads/2013/03/Google+-Account-Settings.jpg"><img class="alignnone size-full wp-image-2915" alt="Google+ - Account Settings" src="http://rottmann.net/wp-content/uploads/2013/03/Google+-Account-Settings.jpg" width="818" height="95" srcset="https://rottmann.net/wp-content/uploads/2013/03/Google+-Account-Settings.jpg 818w, https://rottmann.net/wp-content/uploads/2013/03/Google+-Account-Settings-303x35.jpg 303w, https://rottmann.net/wp-content/uploads/2013/03/Google+-Account-Settings-670x77.jpg 670w" sizes="(max-width: 818px) 100vw, 818px" /></a></p>
<p>I&#8217;d love to see this become</p>
<ul>
<li><span style="line-height: 13px;">a per Community setting</span></li>
<li>more exposed in the Community UI</li>
</ul>
<p>But it&#8217;s good for a start.</p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/03/how-to-stop-posting-public-google-communities-posts-to-your-profile/" data-text="How to stop posting public Google+ Communities posts to your profile" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="google""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/03/how-to-stop-posting-public-google-communities-posts-to-your-profile/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F03%2Fhow-to-stop-posting-public-google-communities-posts-to-your-profile%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=2913&amp;md5=db1a1645e62014ed4c0e90eefa8d0c1d"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/03/how-to-stop-posting-public-google-communities-posts-to-your-profile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F03%2Fhow-to-stop-posting-public-google-communities-posts-to-your-profile%2F&amp;language=en_GB&amp;category=text&amp;title=How+to+stop+posting+public+Google%2B+Communities+posts+to+your+profile&amp;description=I+cannot+believe+I+did+not+know+this.+Ever+since+Google%2B+Communities+became+available%2C+people+complained+about+their+Community+posts+automatically+popping+up+on+their+profiles.+This+has+been+the...&amp;tags=google%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Stay hungry, don&#8217;t stop learning</title>
		<link>https://rottmann.net/2013/02/stay-hungry-dont-stop-learning/</link>
		<comments>https://rottmann.net/2013/02/stay-hungry-dont-stop-learning/#respond</comments>
		<pubDate>Mon, 11 Feb 2013 19:08:08 +0000</pubDate>
		<dc:creator><![CDATA[ralf]]></dc:creator>
				<category><![CDATA[Digital Life]]></category>
		<category><![CDATA[attitude]]></category>

		<guid isPermaLink="false">http://rottmann.net/?p=2902</guid>
		<description><![CDATA[If I could only offer one piece of advice to a new web development student, it would be: “don’t worry; we all feel overwhelmed.” I’d then remind him or her that I, too, am still a student, and so are all of my peers. This industry is an incredibly tough one that requires constant continued education throughout your career. You better be okay with this truth.

You’ll never graduate. You’ll never know it all. But, if you love it enough, none of that will matter. In fact, you’ll crave education.]]></description>
				<content:encoded><![CDATA[<p><em>I have shamelessly stolen this <a href="https://tutsplus.com/2012/08/dont-worry-we-all-feel-overwhelmed/" target="_blank">entire post from Jeffrey Way</a>, who is a fantastic teacher over at tuts+ premium. Of course, I asked for his permission and <a href="https://twitter.com/jeffrey_way/status/301038681513414656" target="_blank">got it</a>. I&#8217;ve been working with developers for most of my life and found this so to the point, that I just had to make it available to the rottmann.net audience. Thanks, Jeffrey, for nailing it.</em></p>
<p>If I could only offer one piece of advice to a new web development student, it would be: “don’t worry; we all feel overwhelmed.” I’d then remind him or her that I, too, am still a student, and so are all of my peers. This industry is an incredibly tough one that requires constant continued education throughout your career. You better be okay with this truth.</p>
<p><span id="more-2902"></span></p>
<blockquote><p>You’ll never graduate. You’ll never know it all. But, if you love it enough, none of that will matter. In fact, you’ll crave education.</p></blockquote>
<p>The standard programming joke is that, Monday-Friday, we go to work and stare at our computers. Then, on the weekend, we do the same thing in our bedrooms, contributing to open source projects. Why? Why do we dedicate precious free time to programming…for free? Well, despite the fact that this surely baffles our employers, there’s lots of reasons why we behave in this way:</p>
<ul>
<li>We feel the need to contribute back to the industry</li>
<li>We crave some level of recognition from our peers</li>
<li>It’s fun</li>
</ul>
<p>All three items above factor into the equation, but the final point, “It’s fun,” is the core reason. Programming is like a puzzle. “Given this data, how can I get to that end-point?” And who doesn’t like a good puzzle or riddle?</p>
<h2>But It’s Too Hard</h2>
<p>Nonetheless, I’m often emailed by students, who either don’t know where to begin, or can’t determine what the next step is.</p>
<blockquote><p>“What should I master next?” they frequently ask.</p></blockquote>
<p>My typical response is to offer a handful of technologies that they should become fluent in. The irony, though, is that “mastery” shouldn’t be in your thinking just yet. That’s not the way it works. You don’t master HTML, and then master CSS, and so on. If only it was that easy!</p>
<p>The reality is that our web development training is similar to an RPG; you slowly level up in each category, as you gain more experience. An “aha” break-through in, say, Ruby or PHP, will frequently trickle down to a comparable break-through in your JavaScript understanding. Or, as another example, once you begin to grok object-oriented programming, you’ll likely find that you can apply the same principle to your CSS as well! These technologies are linked, even if you don’t immediately recognize it.</p>
<blockquote><p>Learning how to develop for the web is a slow process of leveling up.</p></blockquote>
<h2>Imposter Syndrome</h2>
<p>Unfortunately, from time to time, we all feel a bit down on ourselves. We’re surrounded by so much talent; am I falling behind? The truth is that this is a natural reaction – one that most developers feel at some point or another. It even has a name: “Impostor Syndrome.”</p>
<blockquote><p>The impostor syndrome is a psychological phenomenon in which people are unable to internalize their accomplishments. Despite external evidence of their competence, those with the syndrome remain convinced that they are frauds and do not deserve the success they have achieved. Proof of success is dismissed as luck, timing, or as a result of deceiving others into thinking they are more intelligent and competent than they believe themselves to be.<br />
&#8211; Wikipedia</p></blockquote>
<p>One could argue that impostor syndrome is a sign of maturity. It ironically takes a considerable amount of education before you realize just how little you actually know. And that’s perfectly okay! Your peers, your teachers, your developer heroes – they’re all still learning new things every day. That’s what makes this industry so exciting. Because it’s still relatively quite young, there’s a vast world of new ideas and techniques at our finger tips. What could be more exciting than that?</p>
<p>So, to return to my one piece of advice: “Don’t worry; we all feel overwhelmed.” The key is to recognize this truth, accept it, and never, never… ever, stop.</p>
<blockquote><p>I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.”<br />
&#8211; Michael Jordan</p></blockquote>
<p style="text-align: right;"><a href="https://tutsplus.com/2012/08/dont-worry-we-all-feel-overwhelmed/" target="_blank">Source</a></p>
<div class="TweetButton_button" style=";height:20px;margin-bottom:5px;"><a href="http://twitter.com/share data-url="https://rottmann.net/2013/02/stay-hungry-dont-stop-learning/" data-text="Stay hungry, don&#038;%238217;t stop learning" data-via="ralf" data-hashtags="rottmann" data-lang="en" data-related="attitude""><img src="http://rottmann.net/wp-content/plugins/tweetbutton-for-wordpress/images/tweet.png" style="border:none" /></a></div>
<div name="googleone_share_1" style="position:relative;z-index:5;"><g:plusone size="medium" count="1" href="https://rottmann.net/2013/02/stay-hungry-dont-stop-learning/"></g:plusone></div><div class="AWD_facebook_likebutton"><iframe src="http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Frottmann.net%2F2013%2F02%2Fstay-hungry-dont-stop-learning%2F&amp;send=0&amp;layout=standard&amp;width=610&amp;show_faces=0&amp;action=like&amp;colorscheme=light&amp;font=arial&amp;height=24&ref=" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:610px; height:24px;" allowTransparency="true"></iframe></div><p><a href="http://rottmann.net/?flattrss_redirect&amp;id=2902&amp;md5=3a43c3e983a3f1dc6e9a245307b1014b"><img src="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white.png, http://rottmann.net/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>https://rottmann.net/2013/02/stay-hungry-dont-stop-learning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=ralfrottmann&amp;popout=1&amp;url=https%3A%2F%2Frottmann.net%2F2013%2F02%2Fstay-hungry-dont-stop-learning%2F&amp;language=en_GB&amp;category=text&amp;title=Stay+hungry%2C+don%26%238217%3Bt+stop+learning&amp;description=I+have+shamelessly+stolen+this+entire+post+from+Jeffrey+Way%2C+who+is+a+fantastic+teacher+over+at+tuts%2B+premium.+Of+course%2C+I+asked+for+his+permission+and+got+it.+I%26%238217%3Bve...&amp;tags=attitude%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
