<?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>Daniel Hepper</title>
	<atom:link href="http://daniel.hepper.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniel.hepper.net/blog</link>
	<description>Random geeky stuff</description>
	<lastBuildDate>Wed, 04 Jan 2012 09:12:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Easy Django management commands with autogenerated aliases</title>
		<link>http://daniel.hepper.net/blog/2012/01/easy-django-management-commands-with-autogenerated-aliases/</link>
		<comments>http://daniel.hepper.net/blog/2012/01/easy-django-management-commands-with-autogenerated-aliases/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 08:44:59 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=368</guid>
		<description><![CDATA[Recently, I got sick of typing django-admin.py &#60;command&#62; to run Django management commands and decided that something must be done about it. This is what I came up with: This little script creates short aliases for all available Django management &#8230; <a href="http://daniel.hepper.net/blog/2012/01/easy-django-management-commands-with-autogenerated-aliases/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently, I got sick of typing <code>django-admin.py &lt;command&gt;</code> to run Django management commands and decided that something must be done about it. This is what I came up with:</p>
<p><script src="https://gist.github.com/1556506.js"> </script></p>
<p>This little script creates short aliases for all available Django management commands. Typing this every time you want to work on your project obviously defeats the point, so I added it to <code>bin/activate</code> which is created by virtualenv (you do use <a href="http://www.virtualenv.org/">virtualenv</a>, don&#8217;t you?). I actually do this in a bootstrap script, using this snippet:</p>
<p><script src="https://gist.github.com/1559119.js"> </script></p>
<p>If you use <a href="http://www.doughellmann.com/docs/virtualenvwrapper/">virtualenvwrapper</a>, you can append the script to the <code>bin/postactivate</code> script instead.</p>
<p>I know there is bash completion for Django management commands. The advantage of my solution is that it is available for every developer on the project after running the bootstrap script. And it is one character less to type.</p>
<p>To run <code>django-admin.py syncdb</code>, just type <code>djsy&lt;TAB&gt;</code> instead of <code>dj&lt;TAB&gt;sy&lt;TAB&gt;</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2012/01/easy-django-management-commands-with-autogenerated-aliases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s in a name? A MPMoviePlayerController pitfall</title>
		<link>http://daniel.hepper.net/blog/2011/11/whats-in-a-name-a-mpmovieplayercontroller-pitfall/</link>
		<comments>http://daniel.hepper.net/blog/2011/11/whats-in-a-name-a-mpmovieplayercontroller-pitfall/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 20:04:39 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=348</guid>
		<description><![CDATA[I was struggeling playing a movie file on iOS with MPMoviePlayerController. The file was just recorded with AVCaptureMovieFileOutput and was called file.avi, located in the Document directory of the app. The movie player was presented and then immediately disappeared. The &#8230; <a href="http://daniel.hepper.net/blog/2011/11/whats-in-a-name-a-mpmovieplayercontroller-pitfall/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I was struggeling playing a movie file on iOS with MPMoviePlayerController. The file was just recorded with AVCaptureMovieFileOutput and was called file.avi, located in the Document directory of the app.</p>
<p>The movie player was presented and then immediately disappeared. The URL was correct, the file played without problems on the Mac. Apparently, MPMoviePlayerController expects the file ending to match the file type. Once I renamed the file to file.mov, everything worked as expected.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/11/whats-in-a-name-a-mpmovieplayercontroller-pitfall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your gadgets are disgusting</title>
		<link>http://daniel.hepper.net/blog/2011/10/your-gadgets-are-disgusting/</link>
		<comments>http://daniel.hepper.net/blog/2011/10/your-gadgets-are-disgusting/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 10:38:49 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=325</guid>
		<description><![CDATA[This fly. It was killing me. For hours it was circling around me while I was sitting at my desk. And everytime I leaned back, it landed either on my MacBook, my iPhone or on my iPad. I watched this &#8230; <a href="http://daniel.hepper.net/blog/2011/10/your-gadgets-are-disgusting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This fly. It was killing me. For hours it was circling around me while I was sitting at my desk. And everytime I leaned back, it landed either on my MacBook, my iPhone or on my iPad. I watched this for several hours until it dawned on me: if this fly finds my iDevices so delicious, there must be something wrong.<br />
<span id="more-325"></span><br />
I solved my fly problem in 30 seconds and no flys were harmed in the process. The solution was simple: I wiped my iPhone, my Macbook and my iPad with desinfectand and the fly suddenly lost its interest.<br />
We interact with our devices all day long, touching them, spreading bread crumbs over them, sneezing on them, even pressing them against our face in case of a phone. A lot of germs find their way onto your beloved gadgets. My anecdotal evidence is supported by a <a href="http://news.bbc.co.uk/2/hi/7377002.stm">study</a> that has shown that keyboards can be dirtier than toilets and can even be hazardous to health.<br />
Maybe it should become a social norm to wash your hands touching a keyboard or answering the phone. Until then I will desinfect my devices on regular basis.</p>
<p>Note: I had no issues with applying alcohol based desinfectand to my iDevices and my MacBook. Apple keyboards can even be put into a dishwasher, if you let them dry thoroughly. YMMV with your devices and I don&#8217;t take responsibily if your phone dissolves or your keyboard turns into <a href="http://www.daskeyboard.com/model-s-ultimate/">Das Keyboard</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/10/your-gadgets-are-disgusting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacker News Aftermath</title>
		<link>http://daniel.hepper.net/blog/2011/09/hacker-news-aftermath/</link>
		<comments>http://daniel.hepper.net/blog/2011/09/hacker-news-aftermath/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 10:12:57 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=335</guid>
		<description><![CDATA[After I submitted my review of Hacker News iPad Apps to Hacker News, it shortly made it to the frontpage, with the result that the thundering horde quickly exhausted the tiny traffic quota I had at my hoster. I&#8217;ve decided &#8230; <a href="http://daniel.hepper.net/blog/2011/09/hacker-news-aftermath/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After I submitted my <a href="http://daniel.hepper.net/blog/2011/09/a-review-of-all-available-hacker-news-ipad-apps/" title="A review of all available Hacker News iPad Apps">review of Hacker News iPad Apps</a> to <a href="http://news.ycombinator.com/item?id=3047378">Hacker News</a>, it shortly made it to the frontpage, with the result that the thundering horde quickly exhausted the tiny traffic quota I had at my hoster. I&#8217;ve decided to migrate to another hoster and if you read this, the DNS change has reached your corner of the Intertubes.</p>
<p>If you notice broken links or anything else that is flaky, please let me know on Twitter (<a href="http://twitter.com/danielhepper">@danielhepper</a>) or drop me a mail at daniel [at] hepper [dot] net. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/09/hacker-news-aftermath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A review of all available Hacker News iPad Apps</title>
		<link>http://daniel.hepper.net/blog/2011/09/a-review-of-all-available-hacker-news-ipad-apps/</link>
		<comments>http://daniel.hepper.net/blog/2011/09/a-review-of-all-available-hacker-news-ipad-apps/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 11:38:54 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=257</guid>
		<description><![CDATA[Browsing Hacker News on the iPad is okay, but far from perfect. As of this writing, there are five Hacker News iPad Apps available on the App Store that promise a more comfortable experience: Hacker News Reader Hacker News! Hacker &#8230; <a href="http://daniel.hepper.net/blog/2011/09/a-review-of-all-available-hacker-news-ipad-apps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Browsing Hacker News on the iPad is okay, but far from perfect. As of this writing, there are five Hacker News iPad Apps available on the App Store that promise a more comfortable experience:</p>
<ul>
<li><a href="http://itunes.apple.com/us/app/hacker-news-reader/id457519010?mt=8" target="_blank">Hacker News Reader</a></li>
<li><a href="http://itunes.apple.com/us/app/hacker-news!/id399371868?mt=8" target="_blank">Hacker News!</a></li>
<li><a href="http://itunes.apple.com/us/app/hacker-news-padreader/id428331410?mt=8" target="_blank">Hacker News Padreader</a></li>
<li><a href="http://itunes.apple.com/us/app/hacker-news-hd/id372166856?mt=8" target="_blank">Hacker News HD</a></li>
<li><a href="http://itunes.apple.com/us/app/hackernews-for-ipad/id364899977?mt=8" target="_blank">HackerNews for iPad</a></li>
</ul>
<p>I took the time (and money) to try them all, this are my findings.<br />
<span id="more-257"></span></p>
<h2>Hacker News Reader</h2>
<p><a href="http://itunes.apple.com/us/app/hacker-news-reader/id457519010?mt=8" target="_blank"><img src="http://daniel.hepper.net/blog/wp-content/hacker_news_reader_logo.jpg" alt="" title="Hacker News Reader Logo" width="175" height="175" class="alignright size-full wp-image-295" /></a><br />
Version: 1.0<br />
Released: August 20, 2011<br />
Current price: <a href="http://itunes.apple.com/us/app/hacker-news-reader/id457519010?mt=8" target="_blank">$ 0.99 / 0.79 € on iTunes</a></p>
<p>Released on August 20, 2011, this is the newest contender in the ring. The description claims that &#8220;you can keep up-to-date with the elegant interface provided by native iOS controls&#8221; but I think that claim is far fetched. Within the app, you can only read the headlines and comments. The hierarchy of the comments is not preserved, so you end up with one big mess. To view the original article or make any sense of the comments, you have to open Safari.</p>
<p><div id="attachment_260" class="wp-caption alignnone" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0053.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0053.png" alt="" title="Startscreen of Hacker News Reader" width="1024" height="768" class="size-full wp-image-260" /></a><p class="wp-caption-text">Startscreen of Hacker News Reader</p></div><br />
<div id="attachment_259" class="wp-caption alignnone" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0054.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0054.png" alt="" title="Comments in Hacker News Reader in Landscape" width="1024" height="768" class="size-full wp-image-259" /></a><p class="wp-caption-text">Without hierarchy, comments are one big mess.</p></div></p>
<div id="attachment_261" class="wp-caption alignnone" style="width: 778px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0046.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0046.png" alt="" title="Hacker News Reader in Potrait mode" width="768" height="1024" class="size-full wp-image-261" /></a><p class="wp-caption-text">No article to see here, move along!</p></div>
<p>Hacker News Reader does get a couple of things right, though. You can not only access the articles from the frontpage, but also the new articles, as well as the categories Classic, Best and Ask HN. It supports landscape and potrait orientation and multitasking, which goes not without saying. It is a universal app, so you can use it on your iPhone too, but in the current state, you probably don&#8217;t want to.</p>
<h2>Hacker News!</h2>
<p><a href="http://itunes.apple.com/us/app/hacker-news!/id399371868?mt=8" target="_blank"><img src="http://daniel.hepper.net/blog/wp-content/hacker_news_logo.jpg" alt="" title="Hacker News! Logo" width="175" height="175" class="alignright size-full wp-image-294" /></a><br />
Version: 1.1<br />
Updated: May 24, 2011<br />
Current price: <a href="http://itunes.apple.com/us/app/hacker-news!/id399371868?mt=8" target="_blank">$ 1.99 / 1.59 € on iTunes</a></p>
<p>When I first tried Hacker News!, I had iOS 5 beta installed and it kept crashing upon start. I then proceeded to downgrade to iOS 4.3.5 which led to my iPad getting stuck in recovery mode and taking about two evenings to convince it the go into DFU mode. But I disgress. Once I had iOS 4.3.5 running, the app still crashed, despite the fact that the description says &#8220;NEW VERSION! All bugs fixed!&#8221;. After a couple of tries, I got it to work, but it never was really stable. That is a pity, because the app looks actually quite promising.</p>
<p>The interface looks polished, the layout resembles the mail app. Depending whether the iPad is in landscape or portrait mode, you can select an article from a column on the left or a popover respectively. There is a switch view to the frontpage, new, best and Ask HN articles, but that doesn&#8217;t work. The comments are displayed with a native look, although it hasn&#8217;t been updated to look nicely without the number of votes on comments. A unique feature of the app is that you can vote on articles and comments in the app, although it is bit unreliable, because you don&#8217;t get feedback if you are not logged in. It also integrates Instapaper and Readability, but it wasn&#8217;t running long enough to test it.</p>
<div id="attachment_273" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0060.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0060.png" alt="" title="Hacker News! in Landscape Mode" width="1024" height="768" class="size-full wp-image-273" /></a><p class="wp-caption-text">Hacker News! in Landscape Mode</p></div>
<div id="attachment_275" class="wp-caption aligncenter" style="width: 778px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0062.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0062.png" alt="" title="Hacker News! in Potrait Mode" width="768" height="1024" class="size-full wp-image-275" /></a><p class="wp-caption-text">Hacker News! in Potrait Mode</p></div>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0059.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0059.png" alt="" title="Comments in Hacker News!" width="1024" height="768" class="size-full wp-image-274" /></a><p class="wp-caption-text">Hacker News! in Landscape Mode</p></div>
<p>All in all, the app has a lot of potential, but it&#8217;s currently disqualified by the stability issues. Once those are fixed, it might be worth a second look. As the last update was in May, I&#8217;m not holding my breath.</p>
<h2>Hacker News Padreader</h2>
<p><a href="http://itunes.apple.com/us/app/hacker-news-padreader/id428331410?mt=8" target="_blank"><img src="http://daniel.hepper.net/blog/wp-content/hacker_news_padreader_logo.jpg" alt="" title="Hacker News Padreader Logo" width="175" height="175" class="alignright size-full wp-image-293" /></a><br />
Version: 1.01<br />
Updated: May 10, 2011<br />
Current price: <a href="http://itunes.apple.com/us/app/hacker-news-padreader/id428331410?mt=8" target="_blank">Free on iTunes</a></p>
<p>The first impression isn&#8217;t the strength of Hacker News Padreader. The way it presents the articles from the front page is pretty&#8230; native. The layout is similar to the Twitter app. If you select an article, a tab with the content slides in, covering most of the article list. A separate tab contains the original HN comments page for an article. You can login, write comments and upvote an article as you are used to.</p>
<div id="attachment_281" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0037.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0037.png" alt="" title="Start screen of Hacker News Padreader" width="1024" height="768" class="size-full wp-image-281" /></a><p class="wp-caption-text">Start screen of Hacker News Padreader</p></div>
<div id="attachment_280" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0038.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0038.png" alt="" title="Article screen of Hacker News Padreader" width="1024" height="768" class="size-full wp-image-280" /></a><p class="wp-caption-text">The article view - nothing fancy, but it works</p></div>
<div id="attachment_279" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0039.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0039.png" alt="" title="Comments implemented using the HN comments page" width="1024" height="768" class="size-full wp-image-279" /></a><p class="wp-caption-text">The HN comments page in Hacker News Padreader</p></div>
<p>The article tab has two arrows, which should probably navigate to previous or next article, but they didn&#8217;t work for me. The app has a gray area on the bottom, which should probably contain an ad.</p>
<p>Hacker News Padreader is landscape only and lacks a couple of features like Instapaper integration or a way to open an article in Safari. Despite these shortcomings, it is still an improvement over the Hacker News website. YMMV, but for free, it is worth giving it a try.</p>
<h2>Hacker News HD</h2>
<p><a href="http://itunes.apple.com/us/app/hacker-news-hd/id372166856?mt=8" target="_blank"><img src="http://daniel.hepper.net/blog/wp-content/hacker_news_hd_logo.jpg" alt="" title="Hacker News HD Logo" width="175" height="175" class="alignright size-full wp-image-301" /></a></p>
<p>Version: 1.0<br />
Released: October 19, 2010<br />
Current Price: <a href="http://itunes.apple.com/us/app/hacker-news-hd/id372166856?mt=8" target="_blank">$ 1,99 / 1,59 € on iTunes</a></p>
<p>After two bad and one okay-ish app, Hacker News HD is a nice change. The article list shows that a native look doesn&#8217;t have to be ugly. You can only toggle between Top Ranked and Newest articles, but that is probably enough for most people. If you tap a headline, the article is loaded in a modal dialog. Tabs on the top allow you switch between the article and the comments. Like Hacker News Padreader, the comments are displayed using the original HN comments page, allowing you to comment and vote as you know it. &#8220;Read later&#8221; and &#8220;Read Now&#8221; functionality through Instapaper is integrated.</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 778px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0040.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0040.png" alt="" title="Hacker News HD in Potrait Mode" width="768" height="1024" class="size-full wp-image-283" /></a><p class="wp-caption-text">Hacker News HD - Simple yet elegant</p></div>
<div id="attachment_282" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0032.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0032.png" alt="" title="Hacker News HD in Landscape" width="1024" height="768" class="size-full wp-image-282" /></a><p class="wp-caption-text">Could make better use of the space in landscape</p></div>
<div id="attachment_286" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0033.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0033.png" alt="Article view in Hacker News HD" title="Article view in Hacker News HD" width="1024" height="768" class="size-full wp-image-286" /></a><p class="wp-caption-text">Article view in Hacker News HD</p></div>
<p>The real killer feature hides in the Settings dialog: Hacker News HD lets you view articles offline. You can choose if you want to cache the original article or the Instapaper version or both. Unfortunately, it doesn&#8217;t cache CSS or images, which makes reading a cached article quite uncomfortable. Reading the cached Instapaper version works just fine, unless the article contains essential images.</p>
<div id="attachment_305" class="wp-caption aligncenter" style="width: 778px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0067.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0067.png" alt="Hacker News HD Settings" title="Hacker News HD Settings" width="768" height="1024" class="size-full wp-image-305" /></a><p class="wp-caption-text">Offline Viewing, hidden in the Settings dialog</p></div>
<div id="attachment_285" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0056.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0056.png" alt="A cached page in Hacker News HD" title="A cached page in Hacker News HD" width="1024" height="768" class="size-full wp-image-285" /></a><p class="wp-caption-text">A cached page is only unstyled text</p></div>
<p>Hacker News HD works both in potrait and landscape mode, but it isn&#8217;t really optimized for it. Unfortunately, it doesn&#8217;t support multitasking. If you leave the app, you always have to start from the article list.</p>
<p><b>Update:</b> Two people commented that Hacker News HD keeps crashing for them.</p>
<h2>HackerNews for iPad</h2>
<p><a href="http://itunes.apple.com/us/app/hackernews-for-ipad/id364899977?mt=8" target="_blank"><img src="http://daniel.hepper.net/blog/wp-content/hackernews_for_ipad-copy.jpg" alt="" title="HackerNews for iPad" width="175" height="175" class="alignright size-full wp-image-291" /></a><br />
Version: 1.2<br />
Updated: May 03, 2011<br />
Price: <a href="http://itunes.apple.com/us/app/hackernews-for-ipad/id364899977?mt=8" target="_blank">$ 0.99 / 0.79 € on iTunes</a></p>
<p>Like Hacker News!, the layout of this app resembles the Mail application, with a column of headlines on the left in landscape mode or a popover in portrait mode. If you start the app, it shows the HN homepage on the right, which is kind of confusing, because it is in no way connected to the column on the left. In potrait mode, it is even more confusing, because it&#8217;s not obvious that the button on the title bar open the article list. But once you figured that out, the app is a great way to browse Hacker news. If you select a headline from the list, it loads in the main area. A toggle button allows you to quickly switch between the article and comments. Like in Hacker News HD, the comments view are simply a webview with the HN comment page.</p>
<div id="attachment_287" class="wp-caption aligncenter" style="width: 778px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0047.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0047.png" alt="" title="Hacker News for iPad in Potrait" width="768" height="1024" class="size-full wp-image-287" /></a><p class="wp-caption-text">Not quite obvious in potrait...</p></div>
<div id="attachment_290" class="wp-caption aligncenter" style="width: 778px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0048.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0048.png" alt="Hacker News for iPad in Potrait Mode" title="Hacker News for iPad in Potrait Mode" width="768" height="1024" class="size-full wp-image-290" /></a><p class="wp-caption-text">...until you discover the Hacker News button</p></div>
<p><div id="attachment_288" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0065.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0065.png" alt="Hacker News for iPad in Landscape" title="Hacker News for iPad in Landscape" width="1024" height="768" class="size-full wp-image-288" /></a><p class="wp-caption-text">Quite nice in landscape</p></div><br />
<div id="attachment_315" class="wp-caption aligncenter" style="width: 1034px"><a href="http://daniel.hepper.net/blog/wp-content/IMG_0066.png"><img src="http://daniel.hepper.net/blog/wp-content/IMG_0066.png" alt="Comments in Hacker News for iPad" title="Comments in Hacker News for iPad" width="1024" height="768" class="size-full wp-image-315" /></a><p class="wp-caption-text">Plain Hacker News Comments</p></div></p>
<p>Arrows on the bottom let you quickly navigate to the previous and next articles. You can save articles to Instapaper or open them in Safari, a readability mode is not available. Unfortunately, it doesn&#8217;t support multitasking and always starts over once you return to the app.</p>
<h2>Conclusion</h2>
<p>None of the available apps is perfect and all of them have room for improvement. I&#8217;m the last person the underestimate the time it takes to create a polished iOS application, but I think that both HackerNews for iPad and Hacker News HD could be really great apps with just a bit more effort.</p>
<p>A low hanging fruit is the way comments are implemented. I can totally understand the decision to just show the original comments page. Unless Hacker News offers a stable API, implementing a native comments view would be a maintenance nightmare. Injecting a custom CSS with JavaScript could be a simple way to massively improving the user experience.</p>
<p>All things considered, HackerNews for iPad offers the best browsing experience of all available apps. It is definitely an improvement over the Hacker News website and well worth one buck. <del datetime="2011-09-29T08:31:06+00:00">If you regularily find yourself without internet connection or can&#8217;t live without Readability, you might consider Hacker News HD</del>. Hacker News PadReader isn&#8217;t awesome, but hey, it&#8217;s free! Stay away from Hacker News Reader and Hacker News!, unless the improve a lot.</p>
<p><b>Update:</b> As several people reported stability issues with Hacker News HD as well, HackerNews for iPad seems to be the only reasonable choice. Or you can just stick with reading Hacker News in Safari *sigh*.</p>
<h2>TL;DR:</h2>
<p>I like HackerNews for iPad best. Hacker News HD <del datetime="2011-09-29T08:31:06+00:00">is also good and has offline caching</del> works for me, but crashes for other people.</p>
<p><b>What are your experiences with Hacker News iPad Apps? Comment below or join the <a href="http://news.ycombinator.com/item?id=3047378">discussion on Hacker News</a>.</b></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/09/a-review-of-all-available-hacker-news-ipad-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make a Pac-Man ghost lamp</title>
		<link>http://daniel.hepper.net/blog/2011/08/how-to-make-a-pac-man-ghost-lamp/</link>
		<comments>http://daniel.hepper.net/blog/2011/08/how-to-make-a-pac-man-ghost-lamp/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 08:34:23 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=234</guid>
		<description><![CDATA[In this post, I will show you how to make a Pac-Man ghost lamp. You can also find it on Instructables. To be precise, we will create small ghost lamp shades to turn a boring spotlight system into a great &#8230; <a href="http://daniel.hepper.net/blog/2011/08/how-to-make-a-pac-man-ghost-lamp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In this post, I will show you how to make a Pac-Man ghost lamp. You can also find it on <a href="http://www.instructables.com/id/How-to-make-a-Pac-Man-ghost-lamp/" target="_blank">Instructables</a>.</p>
<p>To be precise, we will create small ghost lamp shades to turn a boring spotlight system into a great looking Pac-Man themed lamp.</p>
<p>You will need:</p>
<ul>
<li>plastic bottles with the right shape</li>
<li>a lamp, preferably a halogen spotlight system</li>
<li>some white and black plastic</li>
<li>spray paint in red, pink, cyan and orange</li>
</ul>
<p>Once you found the right bottles and a nice lamp, this project will take about 2 x 2 hours.<br />
<span id="more-234"></span></p>
<h2>Finding the right bottle</h2>
<p>At first, you have to find a plastic bottle with the right shape. Unless your supermarket has a section for ghost shaped bottles, this will be a bit of a treasure hunt.</p>
<p>You are looking for a bottle that has a cylindrical shape with a round top. If you happen to be in Germany, you can look for the brand &#8220;Kneipp&#8221;.</p>
<p>Buy one bottle for each ghost you plan to make, plus one or two spares, just in case.</p>
<p><a title="The right bottle for the job by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6092317008/"><img class="aligncenter" src="http://farm7.static.flickr.com/6196/6092317008_b91e8e90cd_m.jpg" alt="The right bottle for the job" width="180" height="240" /></a></p>
<h2>Find the right lamp</h2>
<p>The second part of the treasure hunt is the search for the right lamp. I went for a MAGNESIUM spotlight system from IKEA.</p>
<p>As the plastic bottles will act as lamp shades, the light bulb should not dissipate to much heat and the shades should not touch the light bulbs directly. You could also use bare halogen sockets if you make some kind of spacer. Or you could use LEDs to avoid the whole heat issue.</p>
<h2>Cut the bottles</h2>
<p>After you have emptied your water bottles, it&#8217;s time to cut them.</p>
<p>To get an even shape, it&#8217;s advisable to create a template on paper and use it to mark lines for cutting on the bottles.</p>
<div style="text-align: center;"><a title="Template for cutting by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6091770615/"><img class="align" src="http://farm7.static.flickr.com/6182/6091770615_b140d523bc_t.jpg" alt="Template for cutting" width="100" height="75" /></a> <a title="Template for cutting by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6091771255/"><img class="align" src="http://farm7.static.flickr.com/6084/6091771255_8210e17e5b_t.jpg" alt="Template for cutting" width="100" height="75" /></a> <a title="Bottle marked for cutting by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6091772249/"><img class="align" src="http://farm7.static.flickr.com/6083/6091772249_ff9fc811cb_t.jpg" alt="Bottle marked for cutting" width="100" height="75" /></a></div>
<p>Make the cut on the bottom first. You can use a sharp pair of scissors or a cutter knife.</p>
<p><a title="Bottom cut by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6091773063/"><img class="aligncenter" src="http://farm7.static.flickr.com/6205/6091773063_821f54d494_m.jpg" alt="Bottom cut" width="240" height="180" /></a></p>
<p>The top of the bottle is the strongest part of the bottle and gives it its stability. You can use a cutter knife for the top too, but a rotary tool aka. Dremel is probably better suited for the job.</p>
<p><a title="The body of a Ghost by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6092316590/"><img class="aligncenter" src="http://farm7.static.flickr.com/6062/6092316590_50b2cac324_m.jpg" alt="The body of a Ghost" width="180" height="240" /></a></p>
<h2>Paint the ghosts</h2>
<p>Now it&#8217;s time to paint the ghosts.</p>
<p>You can use a primer, but I got a good result without it. Cover both the inside and the outside of the shades with at least two layers of paint.</p>
<p>Make sure that your paint shop is really opaque, otherwise you will see every minor imperfection shine through.</p>
<p><a title="Painted ghosts without eyes by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6092315430/"><img class="aligncenter" src="http://farm7.static.flickr.com/6193/6092315430_04189d2abc_m.jpg" alt="Painted ghosts without eyes" width="240" height="180" /></a></p>
<h2>Add the eyes</h2>
<p>The only thing that is missing to complete your ghosts are the eyes.</p>
<p>You need a piece of white and black plastic. I recycled some yogurt cups and a black file cover.</p>
<p>In the game, the eyeballs are oval and the pupils are round, but I went for an oval shape for both. Don&#8217;t put the pupil centrally on the eyeball, but on the side.</p>
<p><a title="Pinky by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6091793275/"><img class="aligncenter" src="http://farm7.static.flickr.com/6085/6091793275_dd034328d6_m.jpg" alt="Pinky" width="240" height="180" /></a></p>
<h2>Put on the shades</h2>
<p>Once you are happy with the looks of your ghost, you just have to put them on the lamp.</p>
<p>How this will work depends on the lamp you chose.</p>
<p>In my case, I mounted the Magnesium system a bit different than intended. Normally, the lamps are held by a little arm, but I let them hang on the cable instead.</p>
<p><a title="Attaching the ghosts to the lamp by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6091774043/"><img class="aligncenter" src="http://farm7.static.flickr.com/6196/6091774043_6384fc8827_m.jpg" alt="Attaching the ghosts to the lamp" width="240" height="174" /></a></p>
<h2>The finished Pac-Man lamp</h2>
<p>Mount the lamp in its designated place and let it shine!</p>
<p><a title="The finished Pac Man ghost lamp by DanielHepper, on Flickr" href="http://www.flickr.com/photos/40339050@N00/6092316192/"><img class="aligncenter" src="http://farm7.static.flickr.com/6183/6092316192_eebe354c6b_m.jpg" alt="The finished Pac Man ghost lamp" width="240" height="180" /></a></p>
<h2>Update: add Pac-Man</h2>
<p>As Rachel points out in her <a href="http://blog.craftzine.com/archive/2011/09/how-to_pac_man_ghost_lights.html">post on Craft:</a>, the only thing missing is Pac-Man himself!</p>
<p>The easiest way to add him to the gang is to cut a cover from yellow cardboard and put it on the transformer. In my case, the transformer is hidden behind books, so I did not put much effort into it. If you can put it in one row with the ghosts, I would suggest painting the case of the transformer to match the color of the wall to give your lamp the final touch.</p>
<p><a href="http://daniel.hepper.net/blog/wp-content/pac_man.jpg"><img src="http://daniel.hepper.net/blog/wp-content/pac_man-300x225.jpg" alt="" title="Pac-Man" width="300" height="225" class="aligncenter size-medium wp-image-322" /></a></p>
<p>If you create a Pac-Man lamp yourself, post some pictures and leave a comment here, I would love to see them!</p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/08/how-to-make-a-pac-man-ghost-lamp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Fixing a messed up Vagrant installation</title>
		<link>http://daniel.hepper.net/blog/2011/03/fixing-a-messed-up-vagrant-installation/</link>
		<comments>http://daniel.hepper.net/blog/2011/03/fixing-a-messed-up-vagrant-installation/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 21:45:22 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=224</guid>
		<description><![CDATA[I&#8217;m currently struggling with what seems like a bug in Virtualbox that affects the new Core i7 MacBooks. While trying to fix it by building Virtualbox from source, uninstalling and reinstalling, I managed to mess up a box managed with &#8230; <a href="http://daniel.hepper.net/blog/2011/03/fixing-a-messed-up-vagrant-installation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently struggling with what seems like a <a href="http://www.virtualbox.org/ticket/8474">bug in Virtualbox</a> that affects the new Core i7 MacBooks. While trying to fix it by building Virtualbox from source, uninstalling and reinstalling, I managed to mess up a box managed with <a href="http://vagrantup.com">Vagrant</a>, rendering it inaccessible.</p>
<p>If you find yourself in a similar situation, you can try to fix it with the <code>VBoxManage</code> command. </p>
<p><code>$ VBoxManage list vms<br />
"<inaccessible>" {b68ed7a7-6e72-4f16-a438-8775cd80d9b3}<br />
$ VBoxManage unregistervm {b68ed7a7-6e72-4f16-a438-8775cd80d9b3} --delete<br />
VBoxManage: error: The object is not ready<br />
VBoxManage: error: Details: code E_ACCESSDENIED (0x80070005), component Machine, interface IMachine, callee nsISupports<br />
Context: "Delete(ComSafeArrayAsInParam(aMedia), pProgress.asOutParam())" at line 175 of file VBoxManageMisc.cpp<br />
Segmentation fault</code></p>
<p>As you can see, it died with a segmentation fault, but the broken box was now gone and I could restart it with <code>vagrant up</code>.<br />
<span id="more-224"></span><br />
For reference, this is the lovely stack trace <code>vagrant up</code> greeted me with:</p>
<p><code>$ vagrant up<br />
/Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/com/implementer/ffi.rb:95:in `call_and_check': Error in API call to get_name: 2147942405 (VirtualBox::Exceptions::FFIException)<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/com/implementer/ffi.rb:69:in `call_vtbl_function'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/com/implementer/ffi.rb:36:in `read_property'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/com/abstract_interface.rb:122:in `read_property'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/com/abstract_interface.rb:64:in `block in property'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/interface_attributes.rb:93:in `block in spec_to_proc'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/interface_attributes.rb:32:in `call'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/interface_attributes.rb:32:in `load_interface_attribute'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/interface_attributes.rb:13:in `block in load_interface_attributes'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/interface_attributes.rb:12:in `each'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/interface_attributes.rb:12:in `load_interface_attributes'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:251:in `initialize_attributes'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:246:in `initialize'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:229:in `new'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:229:in `block in populate_array_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:228:in `each'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:228:in `populate_array_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:218:in `populate_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/relatable.rb:242:in `populate_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model.rb:215:in `block in populate_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/dirty.rb:129:in `ignore_dirty'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model.rb:215:in `populate_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/global.rb:93:in `load_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/relatable.rb:192:in `read_relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/abstract_model/relatable.rb:146:in `block in relationship'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:185:in `all'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/virtualbox-0.8.3/lib/virtualbox/vm.rb:193:in `find'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/vm.rb:13:in `find'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/environment.rb:378:in `block in load_vms!'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/environment.rb:377:in `each'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/environment.rb:377:in `load_vms!'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/environment.rb:144:in `vms'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/environment.rb:180:in `multivm?'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/command/helpers.rb:19:in `target_vms'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/command/up.rb:8:in `execute'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `block in invoke_all'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `each'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `map'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `invoke_all'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/group.rb:226:in `dispatch'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:109:in `invoke'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/lib/vagrant/cli.rb:45:in `block in register'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/gems/vagrant-0.7.2/bin/vagrant:15:in `<top (required)>'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/bin/vagrant:19:in `load'<br />
        from /Users/danielhepper/.rvm/gems/ruby-1.9.2-p180/bin/vagrant:19:in `<main>'</code></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/03/fixing-a-messed-up-vagrant-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Change order of PATH entries on Mac OS X</title>
		<link>http://daniel.hepper.net/blog/2011/02/change-order-of-path-entries-on-mac-os-x/</link>
		<comments>http://daniel.hepper.net/blog/2011/02/change-order-of-path-entries-on-mac-os-x/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 11:33:35 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=220</guid>
		<description><![CDATA[I wanted to have /usr/local/bin to be listed before /usr/bin in my PATH environment variable. One way to achieve this would be to add a ~/.profile file with a line like this: export PATH=/usr/local/bin:$PATH This would result in /usr/local/bin being &#8230; <a href="http://daniel.hepper.net/blog/2011/02/change-order-of-path-entries-on-mac-os-x/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I wanted to have <code>/usr/local/bin</code> to be listed before <code>/usr/bin</code> in my <code>PATH</code> environment variable.</p>
<p>One way to achieve this would be to add a <code>~/.profile</code> file with a line like this:</p>
<p><code>export PATH=/usr/local/bin:$PATH</code></p>
<p>This would result in <code>/usr/local/bin</code> being listed twice. It wouldn&#8217;t hurt but it&#8217;s not pretty either.</p>
<p>If you look at <code>/etc/profile</code>, you will see that the initial value of <code>PATH</code> is set by <a href="http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man8/path_helper.8.html"><code>path_helper(8)</code></a>.</p>
<p>The right way to change to order of default paths is to edit <code>/etc/paths</code>. It contains one path per line, in descending order. Mine looks like this:</p>
<p><code>/usr/local/bin<br />
/usr/bin<br />
/bin<br />
/usr/sbin<br />
/sbin</code></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/02/change-order-of-path-entries-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Python Packages &#8211; An Overview</title>
		<link>http://daniel.hepper.net/blog/2011/01/using-python-packages-an-overview/</link>
		<comments>http://daniel.hepper.net/blog/2011/01/using-python-packages-an-overview/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 21:47:14 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[pycologne]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=210</guid>
		<description><![CDATA[Yesterday I gave a presentation at PyCologne about Python packages. It was meant as a kind of sequel to the &#8220;Cooking Eggs&#8221; talk given by Christopher Arndt (in German) in September. While he presented ways to create Python packages, I &#8230; <a href="http://daniel.hepper.net/blog/2011/01/using-python-packages-an-overview/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I gave a presentation at <a href="http://pycologne.de">PyCologne</a> about Python packages. It was meant as a kind of sequel to the <a href="http://chrisarndt.de/talks/cooking-eggs/cooking-eggs-vortrag.html">&#8220;Cooking Eggs&#8221; talk given by Christopher Arndt (in German)</a> in September. While he presented ways to create Python packages, I focused on how to use Python packages.</p>
<p>Python comes with batteries included, but sometimes, battery power is not enough. Thankfully, there are countless packages available for use. Given that there &#8220;<a href="http://www.python.org/dev/peps/pep-0020/">should be one&#8211; and preferably only one &#8211;obvious way to do it</a>,&#8221; using Python packages can be quite intimidating. The documentation of your package might say to download, unzip und run <code>python setup.py install</code>. Meet distutils. Or just do <code>easy_install MyPackage</code>, which is uses <a href="http://pypi.python.org/pypi/setuptools">setuptools</a>. But then you <a href="http://guide.python-distribute.org/introduction.html#current-state-of-packaging">hear</a> that setuptools is superseeded by <a href="http://packages.python.org/distribute/">distribute</a> and instead of <code>easy_install</code>, you should use <code><a href="http://pip.openplans.org/">pip</a></code>. And then there is <code><a href="http://virtualenv.openplans.org/">virtualenv</a></code>, which is awesome, but can be even more awesome with <code><a href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a></code>. What a mess! </p>
<p>My conclusion: use <code><a href="http://packages.python.org/distribute/">distribute</a></code>, <code><a href="http://pip.openplans.org/">pip</a></code>, <code><a href="http://virtualenv.openplans.org/">virtualenv</a></code> and <code><a href="http://www.doughellmann.com/projects/virtualenvwrapper/">virtualenvwrapper</a></code>.</p>
<p>You can <a href='http://daniel.hepper.net/blog/wp-content/python_packages_pycologne.pdf'>download the slides</a> or view them with Slideshare:</p>
<div style="width:425px" id="__ss_6553097"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/danielhepper/using-python-packages-an-overview" title="Using Python Packages - An Overview">Using Python Packages &#8211; An Overview</a></strong><object id="__sse6553097" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pythonpackagespycologne-110113151547-phpapp01&#038;rel=0&#038;stripped_title=using-python-packages-an-overview&#038;userName=danielhepper" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse6553097" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pythonpackagespycologne-110113151547-phpapp01&#038;rel=0&#038;stripped_title=using-python-packages-an-overview&#038;userName=danielhepper" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/danielhepper">danielhepper</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2011/01/using-python-packages-an-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verify AWS free tier</title>
		<link>http://daniel.hepper.net/blog/2010/12/verify-aws-free-tier/</link>
		<comments>http://daniel.hepper.net/blog/2010/12/verify-aws-free-tier/#comments</comments>
		<pubDate>Fri, 03 Dec 2010 13:43:38 +0000</pubDate>
		<dc:creator>Daniel Hepper</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://daniel.hepper.net/blog/?p=201</guid>
		<description><![CDATA[Starting from November 1st, Amazon offers a free usage tier for new AWS customers. After finishing the horrible signup process, I was left wondering wether the free usage tier was activated for my account. To find out, just start an &#8230; <a href="http://daniel.hepper.net/blog/2010/12/verify-aws-free-tier/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Starting from November 1st, Amazon offers a free usage tier for new AWS customers. After finishing the horrible signup process, I was left wondering wether the free usage tier was activated for my account.</p>
<p>To find out, just start an EC2 micro instance<a href="#footnote1">*</a>. Don&#8217;t forget to stop it. After some time, go to the <a href="https://aws-portal.amazon.com/gp/aws/developer/account/index.html?ie=UTF8&#038;action=activity-summary">account activity</a> page and click on &#8220;expand all services&#8221;. You should see something like this:</p>
<p><a href="http://daniel.hepper.net/blog/wp-content/aws_free_tier.png"><img src="http://daniel.hepper.net/blog/wp-content/aws_free_tier.png" alt="" title="AWS Free Tier" width="704" height="184" class="aligncenter size-full wp-image-203" /></a></p>
<p><small><a name="footnote1">*</a> This will cost you a few cents if you don&#8217;t have a free usage tier.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://daniel.hepper.net/blog/2010/12/verify-aws-free-tier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

