<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>blog.padowi.se</title>
	<atom:link href="http://blog.padowi.se/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.padowi.se</link>
	<description>Software engineer(d) by education, hacker by heart</description>
	<lastBuildDate>Sun, 05 Feb 2012 11:00:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/se/</creativeCommons:license>		<item>
		<title>2011w05</title>
		<link>http://blog.padowi.se/2012/02/05/2011w05/</link>
		<comments>http://blog.padowi.se/2012/02/05/2011w05/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 11:00:32 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Society]]></category>
		<category><![CDATA[ACTA]]></category>
		<category><![CDATA[anonymity]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[freedom.txt]]></category>
		<category><![CDATA[Global Game Jam]]></category>
		<category><![CDATA[hollywoodr.js]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[plover]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[redo]]></category>
		<category><![CDATA[SEC]]></category>
		<category><![CDATA[terrorism]]></category>
		<category><![CDATA[TPP]]></category>
		<category><![CDATA[undo]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1184</guid>
		<description><![CDATA[TPP (yet another ACTA-type thingy) Here we go again&#8230;. But it seems there is at least one intelligent/regretful person to have realized the error of her ways from last time. I am fearful however that we are going to have to suffer more shit like this until we eradicate the &#8220;entertainment industry&#8221; (peacefully of course, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>TPP (yet <em>another</em> ACTA-type thingy)</strong></p>
<p><a href="http://www.techdirt.com/articles/20120131/23161417605/hollywood-gets-to-party-with-tpp-negotiators-public-interest-groups-get-thrown-out-hotel.shtml">Here we go again&#8230;</a>. But it seems there is at least one <a href="http://metinalista.si/why-i-signed-acta/">intelligent/regretful person</a> to have realized the error of her ways from last time.</p>
<p>I am fearful however that we are going to have to suffer more <a href="http://arstechnica.com/tech-policy/news/2012/01/after-terrific-year-music-biz-demands-that-world-adopt-sopa-plus.ars">shit like this</a> until we eradicate the &#8220;entertainment industry&#8221; (peacefully of course, <strong>vote with your wallets</strong> people!)</p>
<p>Because really, would you want <a href="http://www.aaronklein.com/2012/01/hollywood-edition/">this</a> to be the future?</p>
<p>I am not in any way, shape or form serious about the following suggestion: We could of course present <a href="https://github.com/magnusvw/hollywoodr#readme">the internets the way the &#8220;entertainment industry&#8221; wants it</a>, to them at least, already today. But I do love this type of humor <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And with all these new moronic laws running rampant and frakking up the internets, this begs the question: <a href="http://www.extremetech.com/computing/114803-megauploads-demise-what-happens-to-your-files-when-a-cloud-service-dies">What happens to your files when a cloud service dies?</a> — personally I would have replaced &#8220;files&#8221; with &#8220;data&#8221; but whatever, still a worthwhile read.</p>
<p>Before closing the book on the subject of copyright for this time&#8230; If you&#8217;re a photographer (well, I guess, as we&#8217;ve seen with Apple/Samsung, this applies if you are a hardware designer as well): don&#8217;t take photographs which are <a href="http://www.amateurphotographer.co.uk/news/photographers_face_copyright_threat_after_shock_ruling__news_311191.html">too similar to other photographs</a>&#8230;</p>
<p style="text-align: center;"><strong>Educational Games</strong></p>
<p><a href="http://globalgamejam.org/2012/hackers">This game</a> was both fun and, at least to me, innovative. Just a wee bit too slow for my netbook, but a real treat if it could inspire someone to start programming <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong>SEC — <a href="http://simple-evcorr.sourceforge.net/">Simple Event Correlator</a></strong></p>
<p>I don&#8217;t really remember what I was looking for when I find this, but I was almost immediately intrigued. Now, I had to read through that first paragraph on their web page a couple of times, and then still read the two <a href="http://simple-evcorr.sourceforge.net/SEC-tutorial/article.html">excellent</a> <a href="http://simple-evcorr.sourceforge.net/SEC-tutorial/article-part2.html">tutorials</a> before I figured out what I could use it for, and I think I can express that shorter: look at logfiles, if X happens, execute command Y.</p>
<p>It is a little more complex than that, like if X happens, but A doesn&#8217;t happen within a specified time window following X etc.</p>
<p style="text-align: center;"><strong><a href="http://wastedcode.com/freedom/">freedom.txt</a></strong></p>
<p>This is an interesting initiative which seems to have it <a href="http://www.isingh.info/blog/2012/01/22/support-an-open-internet-create-your-own-freedom-txt/">roots here</a> and is now <a href="https://github.com/mvanveen/freedom.txt">maintained on github</a>.</p>
<p>I think the wording of the text regarding governments is a bit inflammatory and could probably be misconstrued, deliberately or otherwise, and turned into a weapon against the initiative itself.</p>
<p>Personally I&#8217;d have preferred either to have the wording changed, seeking instead to inspire and educate (yes I know, presumptuous of me to believe I hold the truth) our fellow citizens, or at the very least change the wording into something less misinterpretable.</p>
<p>We should hold those we have elected to govern us at higher standards, instead of not reacting at all, letting them off the hook as it were, whenever they err on the side of dishonesty and/or corruption.</p>
<p>I don&#8217;t feel I can really put my signature on that text as it currently stands, but I think I&#8217;ll remix it to something I can stand for.</p>
<p>If nothing else, the most interesting idea I got out of it, was the addition of &#8220;points of interests&#8221; links and IP addresses (see the github page for that). There are some services on there which further makes me unable to put my name on that document, but hoarding IP addresses, and mapping them to domain names, is interesting&#8230;</p>
<p>More on this later, when I have thought some more about it.</p>
<p style="text-align: center;"><strong>Links</strong></p>
<ul>
<li><a href="http://publicintelligence.net/do-you-like-online-privacy-you-may-be-a-terrorist/">Jesus Frakking Christ</a> — apparently, if you are one of those strange people who mind if other people look over your shoulder, you are also a terrorist&#8230;</li>
<li>On a related note: <a href="https://www.eff.org/deeplinks/2012/01/right-anonymity-matter-privacy">The right to Anonymity is a matter of privacy</a></li>
<li>I guess <a href="http://opensource.com/life/11/12/open-source-changes-face-stenography-and-possibilities-hearing-impaired">this could have a positive impact</a> on people who don&#8217;t hear so well (or at all) and beyond that, for anyone who needs and wants to type fast. Of course, it&#8217;ll probably be harder to learn than dvorak&#8230; <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>What do you do, in Vim, if you&#8217;ve just happened to undo the last half hours worth of work? You <a href="http://vim.wikia.com/wiki/Undo_and_Redo">redo</a> it</li>
<li>Sigh! I still got a lot of learning to do regarding <a href="http://www.davidpashley.com/articles/writing-robust-shell-scripts.html">writing robust shell scripts</a></li>
<li>I don&#8217;t think I ever groked Vim text objects <a href="http://blog.carbonfive.com/2011/10/17/vim-text-objects-the-definitive-guide/">until now</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2012/02/05/2011w05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011w04</title>
		<link>http://blog.padowi.se/2012/01/29/2011w04/</link>
		<comments>http://blog.padowi.se/2012/01/29/2011w04/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 11:00:26 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Society]]></category>
		<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1176</guid>
		<description><![CDATA[Links In a nutshell, this is exactly why I stay as far away from Apple as I possible can. This whole cloud business and software as a service sure works well, doesn&#8217;t it?]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Links</strong></p>
<p>In a nutshell, <a href="http://www.zdnet.com/blog/bott/apples-mind-bogglingly-greedy-and-evil-license-agreement/4360?tag=nl.e539&amp;h=1">this</a> is exactly why I stay as far away from Apple as I possible can.</p>
<p>This whole cloud business and software as a service sure works <a href="http://digitizor.com/2012/01/22/disqus-comments-down/">well</a>, doesn&#8217;t it?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2012/01/29/2011w04/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2012w3</title>
		<link>http://blog.padowi.se/2012/01/22/2012w3/</link>
		<comments>http://blog.padowi.se/2012/01/22/2012w3/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 11:00:03 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Society]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[ACTA]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[mitmproxy]]></category>
		<category><![CDATA[MPAA]]></category>
		<category><![CDATA[PIPA]]></category>
		<category><![CDATA[pipeviewer]]></category>
		<category><![CDATA[procedural city]]></category>
		<category><![CDATA[SOPA]]></category>
		<category><![CDATA[xxxterm]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1164</guid>
		<description><![CDATA[mitmproxy Granted, there shouldn&#8217;t be all that many use cases for a software such as this for a non-pentesting, non-criminal, but the fact that it can record and replay previous interactions, which can be useful, for instance, to automate login on access protected networks (hopefully ones that we already have permission to enter, but find [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong><a href="http://mitmproxy.org/">mitmproxy</a></strong></p>
<p>Granted, there shouldn&#8217;t be all that many use cases for a software such as this for a non-pentesting, non-criminal, but the fact that it can record and replay previous interactions, which can be useful, for instance, to automate login on access protected networks (hopefully ones that we already have permission to enter, but find the actual logging in part a real hassle).</p>
<p style="text-align: center;"><strong><a href="http://www.shamusyoung.com/twentysidedtale/?p=2940">Procedural City, Part 1</a></strong></p>
<p>I thoroughly enjoyed reading this entire series of blog posts, in which the author had the &#8220;simple&#8221; goal of generating an entire city, digitally, in a procedural manner.</p>
<p style="text-align: center;"><strong><a href="http://fedorafriendfinder.com/">Fedora Friendfinder</a></strong></p>
<p>Ok, so this is just humor, but you know what? It is good humor <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong><a href="https://opensource.conformal.com/wiki/XXXTerm">XXXTerm</a></strong></p>
<p>This sounds like something kinky, but is in reality a <q>minimalist web browser with sophisticated security features designed-in</q>.</p>
<p>So, a bit like luakit but with a funnier name <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong><a href="http://www.catonmat.net/blog/unix-utilities-pipe-viewer/">Pipeviewer</a></strong></p>
<p>pipeviewer really is something I could have more use for, if I just ever remebered to use it <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong><a href="http://www.marco.org/2012/01/20/the-next-sopa">The next SOPA</a></strong></p>
<p>You know what? This guy is on the right track. And I think <a href="https://plus.google.com/u/0/117114202722218150209/posts/4GgaRiSyaTf">Joel is as well</a>.</p>
<p>MPAA <a href="http://www.techdirt.com/articles/20120120/14472117492/mpaa-directly-publicly-threatens-politicians-who-arent-corrupt-enough-to-stay-bought.shtml">shows us</a> just why they are not a part of the solution. Mostly it is because they, and the rest of the abusive copyright-holders are <a href="https://plus.google.com/113998757823214420296/posts/5uE2bD6PGqW">their own worst enemy</a>. Of course, they won&#8217;t go down peacefully, so it really is time for us to start <a href="http://bits.blogs.nytimes.com/2012/01/20/y-combinator-goes-on-the-offensive-against-hollywood/">fighting</a> <a href="http://ycombinator.com/rfs9.html">back</a>. And there are <a href="http://audiosearch.blogspot.com/2012/01/can-we-kill-music-business-too.html">plenty</a> of targets to chose from.</p>
<p>In related news, it seems the Polish internet community is <a href="https://plus.google.com/110802750614569707247/posts/XpK4KLpsQCs">&#8220;unhappy&#8221; with ACTA</a>&#8230; very nice <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2012/01/22/2012w3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012w02</title>
		<link>http://blog.padowi.se/2012/01/15/2012w02/</link>
		<comments>http://blog.padowi.se/2012/01/15/2012w02/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 11:00:07 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[bitwig]]></category>
		<category><![CDATA[EVOKE]]></category>
		<category><![CDATA[Jane McGonigal]]></category>
		<category><![CDATA[pico server]]></category>
		<category><![CDATA[PIPA]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[SecureBoot]]></category>
		<category><![CDATA[SOPA]]></category>
		<category><![CDATA[sshuttle]]></category>
		<category><![CDATA[TED]]></category>
		<category><![CDATA[tmux]]></category>
		<category><![CDATA[UEFI]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1151</guid>
		<description><![CDATA[Update: Corrected link, thanks Ulf This has been quite the busy week. Oodles and oodles of stuff happening, both nice and&#8230; less nice. UEFI + SecureBoot Microsoft up to no good again. Basically, on non-ARM systems Microsoft requires that a user can disable SecureBoot, but not on ARM systems (i.e. smartphones, tablets, and the upcoming [...]]]></description>
			<content:encoded><![CDATA[<p><ins datetime="2012-01-24T19:40:05+00:00">Update: Corrected link, thanks Ulf</ins></p>
<p>This has been quite the busy week. Oodles and oodles of stuff happening, both nice and&#8230; less nice.</p>
<p style="text-align: center;"><strong>UEFI + SecureBoot</strong></p>
<p><a href="http://www.softwarefreedom.org/blog/2012/jan/12/microsoft-confirms-UEFI-fears-locks-down-ARM/">Microsoft up to no good again.</a> Basically, on non-ARM systems Microsoft requires that a user can disable SecureBoot, but not on ARM systems (i.e. smartphones, tablets, and the upcoming ultrabooks). Anyone surprised?</p>
<p style="text-align: center;"><strong>Music Production</strong></p>
<p>While I have no real interest in <a href="http://bitwig.com/bitwig_studio.php">producing music</a> myself—code and, to some extent, graphics have always come easier to me—I do have an interest in seeing tools like this come to GNU+Linux as well, since it means that&#8217;s one less category of creators not having the alternative to be creative in a free software environment <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong><a href="https://github.com/apenwarr/sshuttle">sshuttle</a></strong></p>
<p>This project seems pretty cool, I haven&#8217;t tried it out yet, and the thing about uploading code to the server is something I&#8217;ll definitively look into before actually considering executing it, but all in all this looks like a pretty easy SSH tunneling/VPN mimicing proxy thingy solution which could be useful at times.</p>
<p>Especially if it means I can sit at an internet café or some such, and have all my traffic routed över SSH through my server at home, not having to worry about someone in that café sniffing it up.</p>
<p style="text-align: center;"><strong>tmux</strong></p>
<p>I installed a local copy of tmux at work, and so far it has been a complement rather than a detriment to the way I work.</p>
<p>The one thing that I wasn&#8217;t pleased with at first, but which was trivially easy to fix, once I read a <a href="http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/">blogpost</a> (also, don&#8217;t miss the <a href="http://blog.hawkhost.com/2010/07/02/tmux-%E2%80%93-the-terminal-multiplexer-part-2/">second post</a>), was that I wanted 11 shells all stacked on top / below eachother, with an even size (i.e. each should take up 1/11th of the tmux window height.</p>
<p>When splitting the window, to make room for another shell, it just divides the current shell height by two, and makes the one part the new shell, and the other part the old shell. For multiples of two I suppose this would work out fine, but with 11 shells?</p>
<p>So I went about it, and the tenth and eleventh shell were small.<br />
But there are different preconfigured layouts, and you loop through them by repeatedly hitting the control sequence (I&#8217;ve mapped this to C^a) and space. One of those layouts proved to be just what I wanted <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong><a href="http://www.raspberrypi.org/archives/509">Raspberry Pi</a></strong></p>
<p>Now this is a pretty cool project! For the condensed summary, read the <a href="http://en.wikipedia.org/wiki/Raspberry_Pi">wikipedia</a> page. It is making the <a href="http://www.geek.com/articles/chips/raspberry-pi-makes-the-sub-100-pc-a-reality-20120112/">dream of a $100 computer a reality,</a> and there are some <a href="http://lunduke.com/?p=2081#comment-30394">pretty cool ideas</a> already about how to put it to good use.</p>
<p style="text-align: center;"><strong>SOPA</strong></p>
<p><a href="http://blog.reddit.com/2012/01/stopped-they-must-be-on-this-all.html">Reddit doesn&#8217;t like SOPA</a>, and <a href="http://gigaom.com/2012/01/13/tim-oreilly-why-im-fighting-sopa/">Tim O&#8217;Reilly isn&#8217;t all that pleased either</a>.</p>
<p>If you&#8217;re an Android user, and you don&#8217;t like SOPA either, <a href="https://market.android.com/details?id=com.boycottsopa.android">there is an app</a> for letting you know (by scanning barcodes) if a product is made by a pro-SOPA company so you can avoid supporting them.</p>
<p><a href="http://news.cnet.com/8301-31001_3-57358947-261/dns-provision-pulled-from-sopa-victory-for-opponents/">There have been</a> <a href="http://www.techdirt.com/articles/20120113/15120617405/pipas-own-sponsors-backing-off-bill-ask-senate-to-hold-off-voting.shtml">some advances</a> which means that <a href="http://arstechnica.com/tech-policy/news/2012/01/under-voter-pressure-members-of-congress-backpedal-on-sopa.ars">making a fuzz about it</a> can pay off. <a href="http://www.fastcompany.com/1808216/remain-diligent-sopa-and-pipa-must-be-squashed-not-changed">Of course, it would be better to scrap those bills completely</a>.</p>
<p>So, 2012-01-18 is still <a href="http://geeqer.com/2012/01/sopa-blackout/">SOPA Blackout day</a> and a <a href="http://www.reddit.com/r/SOPA/comments/ofh9n/can_we_get_a_list_of_all_the_websites_confirmed/">whole lot of sites are participating</a>, and you could <a href="http://sopablackout.org/">join in as well</a> (and if you want to join in, please be smart about it and host the javascript your own damn self so that the hosting server doesn&#8217;t go down&#8230; (which also means, get that javascript now, and not on tuesday evening when everyone else is going to try to get it))</p>
<p style="text-align: center;"><strong>Links</strong></p>
<ul>
<li><a href="http://www.arcticstartup.com/2012/01/09/neko-io-adds-private-sharing-layer-to-social-media">Privacy in social networks</a> — not sure I understand <em>how</em> it is done, not sure that this implementation is optimal, but nice idea none the less</li>
<li>I read a post the other day, and the author of that post, while being in the right, just came off &#8230; I don&#8217;t know, but his post was a rant, and not the passionate kind, but the whiney kind, so I won&#8217;t be linking to his post, I have no wish to drive traffic to him. However, another person, with reasoning and values more aligned to my own, wrote a reaction post to his, which I feel was more constructive, and nicer, so <a href="http://standblog.org/blog/post/2012/01/11/This-photograph-is-free">here is the link to that post</a></li>
<li><a href="http://thestartuptoolkit.com/blog/2012/01/unfair-advantages-grow-from-irrational-habits/">Unfair advantages grow from irrational habits</a></li>
<li>Rikard tipped me off to a thoughtful <a href="http://www.ted.com/talks/jane_mcgonigal_gaming_can_make_a_better_world.html">TED talk video</a>, which I liked alot, and through the speakers <a href="http://janemcgonigal.com/">website</a> I found, among others, this game—<a href="http://www.urgentevoke.net/m/">EVOKE</a>—which seems to be pretty cool</li>
<li>I had the idea of building an image gallery a while ago, so when I came across <a href="http://galleria.io/docs/1.2/getting_started/beginners_guide/">this link</a> I was a little interested in seeing how they&#8217;d approached it, but what I really took away from this site, is how much I liked their rather user-friendly step-by-step manual for getting it up and running</li>
<li><a href="http://idealab.talkingpointsmemo.com/2012/01/mayor-bloomberg-will-learn-how-to-write-code-in-2012.php">I wonder what he will create?</a> <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>I don&#8217;t know if it&#8217;s just me, but <a href="http://www.reddit.com/r/linux_gaming/comments/o96ev/stuck_using_a_laptop_with_no_3d_capabilities_to/">non-flashy, low-requirements games</a> make me all warm and fuzzy inside</li>
<li>I seem to recall that I wasn&#8217;t all that impressed with the unhosted project some time ago. <a href="http://corte.si/posts/security/crypsr.html">This post</a> (specifically the verification section) is <strong>exactly</strong> why I hesitate</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2012/01/15/2012w02/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>2012w01</title>
		<link>http://blog.padowi.se/2012/01/08/2012w01/</link>
		<comments>http://blog.padowi.se/2012/01/08/2012w01/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 11:00:17 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash_completion]]></category>
		<category><![CDATA[column]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[EncFS]]></category>
		<category><![CDATA[fuzzy string matching]]></category>
		<category><![CDATA[makers schedule]]></category>
		<category><![CDATA[media queries]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[phash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[VCS]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1135</guid>
		<description><![CDATA[column The other day I wanted some prettier (tabularized) output and of course someone has already wanted this and of course there are tools for that bash_completion This is so frakking cool! I&#8217;ve built this little shellscript &#8220;vault.sh&#8221; which is a simple wrapper script for mounting and unmounting encfs mounts. It takes two parameters: operation [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>column</strong></p>
<p>The other day I wanted some prettier (tabularized) output and of course someone has already <a href="http://serverfault.com/questions/338498/lining-up-output-in-linux-cli">wanted this</a> and of course there are tools for that <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong>bash_completion</strong></p>
<p>This is so frakking cool! I&#8217;ve built this little shellscript &#8220;vault.sh&#8221; which is a simple wrapper script for mounting and unmounting <strong>encfs</strong> mounts.</p>
<p>It takes two parameters: <em>operation</em> and <em>target</em>, where operation can be one of &#8220;lock&#8221; and &#8220;unlock&#8221;, and target—at present—resolves to &#8220;thunderbird&#8221; (signifying my .thunderbird directory).</p>
<p>Since I intend to expand this with more encrypted directories as I see fit, I don&#8217;t want to hard-code that.</p>
<p>What I did want, however, was to be able to auto complete operation and target. So I looked around, and found <a href="http://www.japeto.com/bash-completion-for-own-scripts.html">this post</a>, and although I couldn&#8217;t derive enough knowledge from it to solve my particular problem, having multiple levels of completion, the author was gracious enough to provide references to where s/he had found the knowledge (<a href="http://www.debian-administration.org/article/316/An_introduction_to_bash_completion_part_1">here</a>, <a href="http://www.debian-administration.org/article/317/An_introduction_to_bash_completion_part_2">here</a> and <a href="http://devmanual.gentoo.org/tasks-reference/completion/index.html">here</a>). That second link was what did it for me.</p>
<p>My <code>/etc/bash_completion.d/vault.sh</code> now looks like this:</p>
<pre>_vault()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    first="lock unlock"
    second="thunderbird"

    if [[ ${cur} == * &amp;&amp; ${COMP_CWORD} -eq 2 ]] ; then
        COMPREPLY=( $(compgen -W "${second}" -- ${cur}) )
        return 0
    fi

    if [[ ${cur} == * &amp;&amp; ${COMP_CWORD} -eq 1 ]] ; then
        COMPREPLY=( $(compgen -W "${first}" -- ${cur}) )
        return 0
    fi
}
complete -F _vault vault.sh</pre>
<p>And all the magic is happening in the two if-statements. Essentially: if current word (presently half typed and tabbed) is whatever, and this is the second argument to the command, respond with suggestions taken from the variable <code>$second</code>.</p>
<p>Otherwise, if current word is whatever, and this is the first parameter, take suggestions from the variable <code>$first</code>.</p>
<p>Awsum!</p>
<p style="text-align: center;"><strong>awk for great good</strong></p>
<p>Another great use for awk: viewing selected portions of source code. For instance, in Perl, if you just want to view a specific subroutine, without getting distracted by all the other crud, you could do: <code>$ awk '/sub SomeSubName/,/}/' somePerlModule.pm</code></p>
<p style="text-align: center;"><strong>Links</strong></p>
<p><a href="http://www.addedbytes.com/blog/if-php-were-british/">If PHP were British</a>, perhaps it&#8217;s just me, but I find it hilarious.</p>
<p><a href="http://www.regretsy.com/2012/01/03/from-the-mailbag-27/">PayPal just keeps working their charm&#8230;</a></p>
<p><a href="http://www.loc.gov/lawweb/servlet/lloc_news?disp3_l205402929_text">Belarus just&#8230; wait what?</a></p>
<p><a href="http://komunitasweb.com/2009/08/why-we-need-version-control/">Why we need version control</a></p>
<p><a href="http://downsizemyspace.com/?p=529">Preserving space</a>, neat!</p>
<p><a href="http://seatgeek.com/blog/dev/fuzzywuzzy-fuzzy-string-matching-in-python">Fuzzy string matching</a> in Python</p>
<p><a href="http://successfulsoftware.net/2007/08/07/if-you-arent-embarrassed-by-v10-you-didnt-release-it-early-enough/">If you aren&#8217;t embarrassed by v1.0 you didn&#8217;t release it early enough</a></p>
<p><a href="http://www.paulgraham.com/makersschedule.html">The makers schedule</a>, oldie but goldie</p>
<p><a href="http://mediaqueri.es/about/">CSS Media Queries</a> are pretty cool</p>
<p><a href="https://github.com/nuex/zodiac">Static site generator</a> using the shell and awk</p>
<p><a href="http://www.cyberciti.biz/files/ss.html">A netstat companion</a></p>
<p><a href="http://eflorenzano.com/blog/2012/01/01/reducing-code-nesting/">Reducing code nesting</a></p>
<p>Comparing images using <a href="http://phash.org/">perceptual hashes</a></p>
<p><a href="http://seattle.cbslocal.com/2012/01/06/microsoft-patents-avoid-ghetto-feature-for-gps-devices/">Microsofts GPS &#8220;avoid ghetto&#8221; routing algorithm patent&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2012/01/08/2012w01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011w52</title>
		<link>http://blog.padowi.se/2012/01/01/2011w52/</link>
		<comments>http://blog.padowi.se/2012/01/01/2011w52/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 11:00:37 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Society]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[bitpocket]]></category>
		<category><![CDATA[contextfree]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[EA]]></category>
		<category><![CDATA[fortehlulz]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Nintendo]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[silentSMS]]></category>
		<category><![CDATA[Sony]]></category>
		<category><![CDATA[SOPA]]></category>
		<category><![CDATA[surveillance]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1114</guid>
		<description><![CDATA[Merry belated christmas greetings everyone! And by the time this post is published I could extend it with Happy belated new years greetings as well vim + html5 syntax I&#8217;ve been tinkering a lot with html5 during my vacation and vim just didn&#8217;t want to play nicely with the new html-tags. Namely, as it wouldn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Merry belated christmas greetings everyone! And by the time this post is published I could extend it with Happy belated new years greetings as well <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong>vim + html5 syntax</strong></p>
<p>I&#8217;ve been tinkering a lot with html5 during my vacation and vim just didn&#8217;t want to play nicely with the new html-tags.</p>
<p>Namely, as it wouldn&#8217;t recognise the new semantic structural tags (footer, header, article, section, nav, aside) it wouldn&#8217;t indent the source properly and it was a cause for both distraction, and the resulting frustration.</p>
<p>I was not the first to feel this frustration, and a quick search turned up <a href="https://gist.github.com/256840">this result</a> which solved both the html and css syntax issues (check the comments for the css solution). Very elegant solution, and now I&#8217;ve also learned about vim&#8217;s .vim/after/ directory&#8230; That was pretty cool.</p>
<p style="text-align: center;"><strong>Learning html5</strong></p>
<p>I&#8217;ve actually shied away from doing stuff with html5, as whenever I tried to wrap my head around the new tags and how they should be used, there were just a myriad of different sites interpreting the usage in subtle but differing ways, but I finally found a <a href="http://html5doctor.com/">resource</a> which makes sense to me, so until a definitive interpretation has been hammered out, that&#8217;s the one I&#8217;m going to stick with.</p>
<p>Also, for sticky footers using css, and html5, check out <a href="http://pkario.blogspot.com/2011/03/html5-sticky-footer.html">this page</a>. I had no trouble getting that to work.</p>
<p style="text-align: center;"><strong>Links</strong></p>
<p>This <a href="http://www.reddit.com/r/commandline/comments/nq9hc/why_do_you_use_console_applications/">question</a> pretty much sums up why I like the command line so much</p>
<p><a href="https://github.com/sickill/bitpocket">This looks interesting</a> for synching (and deleting) without having to worry about doing &#8220;the right thing&#8221;</p>
<p><a href="http://www.reddit.com/r/linux/comments/nw4a8/i_have_a_linux_home_server_what_else_can_i_do/">Nice list of things</a> one could do with a home server</p>
<p><a href="http://www.newscientist.com/article/mg21228440.700-dotdashdiss-the-gentleman-hackers-1903-lulz.html">Doing it for teh lulz</a>, 1903 style</p>
<p><a href="http://www.destructoid.com/ea-nintendo-sony-reduce-sopa-support-by-50--218742.phtml">EA, Nintendo and Sony now only covertly support SOPA</a> (through their membership in various interest organizations). Wanting to eat the cake and still have it huh?</p>
<p><a href="http://www.tomshardware.com/news/toms-hardware-sopa-Stop-Online-Piracy-Act-PROTECT-IP-Senate,14393.html">Tom&#8217;s Hardware</a> not being amused by SOPA</p>
<p>Oh how I so hope that Wikipedia, Google, et al, will <a href="http://news.cnet.com/8301-31921_3-57349540-281/sopa-opponents-may-go-nuclear-and-other-2012-predictions/">go down this path.</a> (I do think there is a difference between companies lobbying, writing laws, and pressuring governments, and companies urging people to put pressure on governments, so yes, I think this is ok)</p>
<p><a href="http://www.rogerebert.com/apps/pbcs.dll/article?AID=/20111228/COMMENTARY/111229973/">An interesting theory</a> about why cinemas are having such a rough time</p>
<p>Haven&#8217;t had a chance to try this, but <a href="http://contextfreeart.org/">creating art using a written grammar</a> does sound pretty neat, especially if you could get a script and /dev/random involved as well <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://www.f-secure.com/weblog/archives/00002294.html">German police tracking people via silent SMS.</a> I am beginning to think that rms is correct in his cellphone &#8220;usage&#8221;</p>
<p>Too much reading and constant information overload makes us <a href="http://blog.davidtate.org/2011/12/the-dangerous-effects-of-reading/">pretty little passive consumers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2012/01/01/2011w52/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Software Stack 2011 edition</title>
		<link>http://blog.padowi.se/2011/12/31/my-software-stack-2011-edition/</link>
		<comments>http://blog.padowi.se/2011/12/31/my-software-stack-2011-edition/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 22:24:20 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[ArchLinux]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bc]]></category>
		<category><![CDATA[BitlBee]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[EncFS]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[evince]]></category>
		<category><![CDATA[expect]]></category>
		<category><![CDATA[fcron]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[gnupg]]></category>
		<category><![CDATA[imagemagick]]></category>
		<category><![CDATA[important dates notifier]]></category>
		<category><![CDATA[Irssi]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[mairix]]></category>
		<category><![CDATA[mpd]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[mscgen]]></category>
		<category><![CDATA[msmtp]]></category>
		<category><![CDATA[mumble]]></category>
		<category><![CDATA[mutt]]></category>
		<category><![CDATA[mv]]></category>
		<category><![CDATA[ncmpcpp]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[offlineimap]]></category>
		<category><![CDATA[OTR]]></category>
		<category><![CDATA[passtore]]></category>
		<category><![CDATA[pentadactyl]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Pidgin]]></category>
		<category><![CDATA[privoxy]]></category>
		<category><![CDATA[qalculate]]></category>
		<category><![CDATA[qmv]]></category>
		<category><![CDATA[quixand]]></category>
		<category><![CDATA[remind]]></category>
		<category><![CDATA[renameutils]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[software stack]]></category>
		<category><![CDATA[SQLite3]]></category>
		<category><![CDATA[teapot]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[urxvt]]></category>
		<category><![CDATA[uzbl]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[VimWiki]]></category>
		<category><![CDATA[VPN]]></category>
		<category><![CDATA[wget]]></category>
		<category><![CDATA[wicd]]></category>
		<category><![CDATA[wmii]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1126</guid>
		<description><![CDATA[I realize that I haven&#8217;t written my customary &#8220;software stack&#8221; post for this year yet. But hey, from where I&#8217;m sitting, I still have &#8230; 36 minutes to spare I&#8217;ll be using the same categories as last year; system, communications, web, development, office suite, server, organization, and entertainment. System The OS of choice is still [...]]]></description>
			<content:encoded><![CDATA[<p>I realize that I haven&#8217;t written my customary &#8220;software stack&#8221; post for this year yet. But hey, from where I&#8217;m sitting, I still have &#8230; 36 minutes to spare <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I&#8217;ll be using the same categories as last year; <strong>system</strong>, <strong>communications</strong>, <strong>web</strong>, <strong>development</strong>, <strong>office suite</strong>, <strong>server</strong>, <strong>organization</strong>, and <strong>entertainment</strong>.</p>
<p style="text-align: center;"><strong>System</strong></p>
<p>The OS of choice is still <strong>Archlinux</strong>, my window manager is still <strong>wmii</strong>, my terminal emulator is <strong>rxvt-unicode</strong>, upgraded by also installing <strong>urxvt-tabbedex</strong>.</p>
<p>My shell is still <strong>bash</strong>, my cron daemon is still <strong>fcron</strong>, and my network manager is <strong>wicd</strong>.</p>
<p>To this configuration I&#8217;ve added the terminal multiplexer <strong>tmux</strong>, and have lately found out just how useful <strong>mc</strong> can be. Oh, and <strong>qmv</strong> from the <strong>renameutils</strong> package is now a given part of the stack.</p>
<p style="text-align: center;"><strong>Communications</strong></p>
<p>Not much change here, <strong>Thunderbird</strong> for email, <strong>Pidgin</strong> for instant messaging, <strong>irssi</strong> for IRC.</p>
<p><strong>Heybuddy</strong> has been replaced by <strong>identicurse</strong> as my micro-blogging (<a href="http://identi.ca/">identi.ca</a>) client. <em>Heybuddy</em> is very nice, but I can use <em>identicurse</em> from the commandline, and it has vim-like bindings.</p>
<p>For <em>Pidgin</em> I use <strong>OTR</strong> to encrypt conversations. For <em>Thunderbird</em> I use the <strong>enigmail</strong> addon along with <strong>GnuPG</strong>.</p>
<p>This means that <em>Thunderbird</em> still hasn&#8217;t been replaced by the <strong> &#8220;mutt-stack&#8221; </strong> (<strong>mutt</strong>, <strong>msmtp</strong>, <strong>offlineimap</strong> and <strong>mairix</strong>) and this is mostly due to me not having the energy to learn how to configure <em>mutt</em>.</p>
<p>I also considered trying to replace <em>Pidgin</em> with <em>irssi</em> and <strong>bitlbee</strong> but <em>Pidgin</em> + <em>OTR</em> works so well, and I have no idea about how well <em>OTR</em> works with <em>bitlbee/irssi</em> (well, actually, I&#8217;ve found <em>irssi</em> + <em>OTR</em> to be flaky at best.</p>
<p style="text-align: center;"><strong>Web</strong></p>
<p>Not much changed here either, <strong>Firefox</strong> dominates, and I haven&#8217;t looked further into <strong>uzbl</strong> although that is still on the TODO list, for some day.</p>
<p>I do some times also use <strong>w3m</strong>, <strong>elinks</strong>, <strong>wget</strong>, <strong>curl</strong> and <strong>perl-libwww</strong>.</p>
<p>My <em>Firefox</em> is customized with <strong>NoScript</strong>, <strong>RequestPolicy</strong>, some other stuff, and <strong>Pentadactyl</strong>.</p>
<p><strong>Privoxy</strong> is nowadays also part of the loadout, to filter out ads and other undesirable web &#8220;resources&#8221;.</p>
<p style="text-align: center;"><strong>Development</strong></p>
<p>In this category there has actually been some changes:</p>
<ul>
<li><strong>gvim</strong> has been completely dropped</li>
<li><strong>eclipse</strong> has been dropped, using <strong>vim</strong> instead</li>
<li><strong>mercurial</strong> has been replaced by <strong>git</strong></li>
</ul>
<p>Thanks in no small part to my job, I have gotten more intimate knowledge of <strong>awk</strong> and <strong>expect</strong>, as well as beginning to learn <strong>Perl</strong>.</p>
<p>I still do some <strong>Python</strong> hacking, a whole lot of <strong>shell scripting</strong>, and for many of these hacks, <strong>SQLite</strong> is a faithful companion.</p>
<p><ins datetime="2012-01-02T12:28:42+01:00">Doh! I completely forgot that I&#8217;ve been dabbling around with <strong>Erlang</strong> as well, and that <strong>mscgen</strong> has been immensely helpful in helping me visualize communication paths between various modules.</ins></p>
<p style="text-align: center;"><strong>&#8220;Office suite&#8221;</strong></p>
<p>I still use <strong>LaTeX</strong> for PDF creation <em>(sorry hook, still haven&#8217;t gotten around to checking out ConTeXt)</em>, I haven&#8217;t really used <strong>sc</strong> at all, it was just too hard to learn the controls, and I had too few spreadsheets in need of creating. I use <strong>qalculate</strong> almost on a weekly basis, but for shell scripts I&#8217;ve started using <strong>bc</strong> instead.</p>
<p>A potential replacement for <em>sc</em> could be <strong>teapot</strong>, but again, I usually don&#8217;t create spreadsheets&#8230;</p>
<p style="text-align: center;"><strong>Server</strong></p>
<p>Since I&#8217;ve dropped <em>mercurial</em>, and since the <strong>mercurial-server</strong> package suddenly stopped working after a system update, I couldn&#8217;t be bothered to fix it, and it is now dropped.</p>
<p><strong>screen</strong> and <strong>irssi</strong> is of course always a winning combination.</p>
<p><strong>nginx</strong> and <strong>uwsgi</strong> has not been used to any extent, I haven&#8217;t tried setting up a VPN service, but I have a couple of ideas for the coming year (<strong>mumble</strong>, some VPN service, some <em>nginx</em> + <em>Python/Perl</em> thingies, <em>bitlbee</em>) and maybe replace the <strong>Ubuntu</strong> installation with <strong>Debian</strong>.</p>
<p style="text-align: center;"><strong>Organization</strong></p>
<p>I still use both <strong>vimwiki</strong> and <strong>vim outliner</strong>, and my <strong>Important Dates Notifier</strong> script.</p>
<p>Still no <strong>TaskJuggler</strong>, and I haven&#8217;t gotten much use out of <strong>abook</strong>.</p>
<p><strong>remind</strong> has completely replaced <strong>when</strong>, while I haven&#8217;t gotten any use what so ever out of <strong>wyrd</strong>.</p>
<p style="text-align: center;"><strong>Entertainment</strong></p>
<p>For consuming stuff I use <strong>evince</strong> (PDF), <strong>mplayer</strong> (video), while for music, <strong>moc</strong> has had to step down from the throne, to leave place for <strong>mpd</strong> and <strong>ncmpcpp</strong>.</p>
<p><strong>eog</strong> along with <strong>gthumb</strong> (replacing <strong>geeqie</strong>) handles viewing images.</p>
<p>For manipulation/creation needs I use <strong>LaTeX</strong>, or possibly <strong>Scribus</strong>, <strong>ffmpeg</strong>, <strong>audacity</strong>, <strong>imagemagick</strong>, <strong>inkscape</strong>, and <strong>gimp</strong>.</p>
<p style="text-align: center;"><strong>Bonus: Security</strong></p>
<p>I thought I&#8217;d add another category, <strong>security</strong>, since I finally have something worthwhile to report here.</p>
<p>I&#8217;ve begun encrypting selected parts of my hard drive (mostly my email directory) using <strong>EncFS</strong>, and I use my <strong>passtore</strong> script for password management.</p>
<p>And sometimes (this was mostly relevant for when debugging <em>passtore</em> after having begun actively using it) when I have a sensitive file which I for a session need to store on the hard drive, in clear text, I use <strong>quixand</strong> to create an encrypted directory with a session key only stored in RAM. So once the session has ended, there is little chance of retrieving the key and decrypting the encrypted directory.</p>
<p style="text-align: center;"><strong>Ending notes</strong></p>
<p>That&#8217;s about it. Some new stuff, mostly old stuff, only a few things getting kicked off the list. My stack is pretty stable for now. I wonder what cool stuff I will find in 2012 <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>:wq</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2011/12/31/my-software-stack-2011-edition/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>2011w51</title>
		<link>http://blog.padowi.se/2011/12/25/2011w51/</link>
		<comments>http://blog.padowi.se/2011/12/25/2011w51/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 11:00:57 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Society]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[censorship]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[GoDaddy]]></category>
		<category><![CDATA[one-liner]]></category>
		<category><![CDATA[SOPA]]></category>
		<category><![CDATA[string manipulation]]></category>
		<category><![CDATA[whaling]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1106</guid>
		<description><![CDATA[Bash variable string operators I had a file filled with URLs to files I needed to download. Some of the files on the list, however, had already been downloaded, so no need to do it all again. Should be fairly easy, right? cat the file to a while loop, reading the lines one by one, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>Bash variable string operators</strong></p>
<p>I had a file filled with URLs to files I needed to download. Some of the files on the list, however, had already been downloaded, so no need to do it all again.</p>
<p>Should be fairly easy, right? cat the file to a while loop, reading the lines one by one, extracting the filename from the URL, check that it isn&#8217;t existing already, and if it isn&#8217;t, download it with wget.</p>
<p>So&#8230; how do you go about extracting the filename? You could certainly use sed and store the extracted filename in a separate variable, but that seems kindof wasteful, especially in a one-liner while loop. <a href="http://www.linuxjournal.com/article/8919">This article</a> provided me with another option.</p>
<p><code>${line##*/}</code> which deletes the longest possible match from the left (which in this case means up to (including) the last &#8220;/&#8221;) i.e. everything up to the name of the file.</p>
<p style="text-align: center;"><strong>No can haz censorship plz</strong></p>
<p>If you&#8217;d like to make it clear that you too oppose SOPA (which, fittingly, means &#8220;garbage&#8221; in Swedish) then head over to <a href="https://github.com/dougmartin/Stop-Censorship">Github</a>, pick up your very own copy of stopcensorship.js, embed it on your site, and you&#8217;re set <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I am also noting, with some glee, that GoDaddy is catching a whole lot of flak for their support of SOPA.</p>
<p>The only thing companies truly understand is when you hit them where it hurts, and that is their wallets (or as some brilliant person jokingly expressed it: <em>&#8220;stop hitting us in our quarterly reports!&#8221;</em>), and the only way to do that, is by voting with your own wallet.</p>
<p>I&#8217;m so happy about the fact that more and more people are catching on to this realization that I could&#8230; shit rainbows <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><strong><a href="http://www.avaaz.org/en/japan_disaster_funds_whaling_c">Japanese Whaling + Tsunami disaster relief funds = disgusting</a></strong></p>
<p>Just when I didn&#8217;t believe it possible for the Japanese whaling industry to appear as bigger scumbags than they already appear (yes, it is a quite one-sided story we&#8217;re getting from &#8220;Whale Wars&#8221; but according to National Geographic, the whalers have gotten the chance to tell their side of the story, and it would seem likely that they decline because they know full well just what type of scumbags they are&#8230; but hey, that&#8217;s just my opinion&#8230;) they go and do even more disgusting stuff, like using money from the tsunami relief donations to hire security ships to keep the Sea Shepherd Conservation Society away from their dirty business&#8230;</p>
<p>:wq</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2011/12/25/2011w51/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011w50</title>
		<link>http://blog.padowi.se/2011/12/18/2011w50/</link>
		<comments>http://blog.padowi.se/2011/12/18/2011w50/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 11:00:38 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[cloud-computing]]></category>
		<category><![CDATA[ifne]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[more-utils]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[reptyr]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[shell-tricks]]></category>
		<category><![CDATA[software stack]]></category>
		<category><![CDATA[synchronize-panes]]></category>
		<category><![CDATA[tmux]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1086</guid>
		<description><![CDATA[tmux tmux is a terminal multiplexer, resembling screen and seemingly straight-forward to configure. Now, those of you paying attention will know that I use wmii, a tiling window manager, and you may ask what the difference is between creating one big tmux window and laying out a couple of terminals in that, or letting wmii [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong><a href="http://tmux.sourceforge.net/">tmux</a></strong></p>
<p>tmux is a terminal multiplexer, resembling screen and <a href="http://blog.hawkhost.com/2010/06/28/tmux-the-terminal-multiplexer/"> seemingly straight-forward to configure</a>.</p>
<p>Now, those of you paying attention will know that I use wmii, a tiling window manager, and you may ask what the difference is between creating one big tmux window and laying out a couple of terminals in that, or letting wmii place those terminals beside each other itself.</p>
<p>The answer is that for <em>most</em> instances, wmii will be enough, but just a little while ago I discovered a killer feature (one which makes me wish that tmux was available at work), namely the abililty to perform:</p>
<p><code>C^b:setw synchronize-panes</code></p>
<p>(demonstrated <a href="http://amjith.posterous.com/synchronize-panes-in-tmux">here</a>) which simply outputs whatever you type into one of the terminals, into all the other terminals in this tmux instance as well.</p>
<p>How is this useful? If you have a couple of servers, on which you need to execute the exact same command, you simply start tmux, create a terminal for each server (and log in to that server) and then ask tmux to synchronize the panes, and then you type in your commands.</p>
<p>(Yes, this could probably be easily solved with a bash for-loop as well, depending on the amount of commands and their complexity)</p>
<p style="text-align: center;"><strong>Stupid Shell Tricks</strong></p>
<p>I&#8217;ve known about ^foo^bar for a while (i.e. you type<br />
<code>$ some-command wif a typo</code><br />
and you then do<br />
<code>$ ^wif^with</code><br />
to have the shell replace the first instance of that typo with the correct spelling (hopefully ;D)</p>
<p>But, this is really only good for typos or when there is ONE instance to replace. ^foo^bar won&#8217;t replace EVERY foo with bar, only the first occurrance. Which is sometimes now what you wanted.</p>
<p>Enter <code> !!:gs/foo/bar</code> which replaces ALL instances of foo in the previous command, with bar, and re-executes it. Thanks to <a href="http://blog.urfix.com/25-linux-commands/">http://blog.urfix.com/25-linux-commands/</a> for that.</p>
<p style="text-align: center;"><strong>less</strong></p>
<p>I think I have touched upon this before, but here we go anyway: it is possible to export an environment variable called &#8220;LESS&#8221; and less will read this and determine any runtime special behaviour based on the contents of the variable.</p>
<p>I am currently trying out <code>export LESS='FiX'</code> where F makes less exit if the contents are short enough to all fit on the screen, i is for case-insensitive search and X for stopping less from sending the termcap initialization and deinitialization strings.</p>
<p>This means that when less exits, it won&#8217;t clear the screen (which would be a bummer if using F and less:ing short files&#8230;)</p>
<p style="text-align: center;"><strong>Links</strong></p>
<p><a href="http://yieldthought.com/post/12239282034/swapped-my-macbook-for-an-ipad">A pretty interesting read</a> about how one could &#8220;work in the cloud.&#8221; I would have chosen other hardware/software (except for vim of course) but to all his/her own, right?</p>
<p><a href="http://www.logtools.org/logstore-digital-signatures/">This sounds as if it could be useful</a> for making sure that your logs are really your real logs. Makes sense, right? <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="https://github.com/nelhage/reptyr">From the reptyr</a> readme: reptyr is a utility for taking an existing running program and attaching it to a new terminal. Started a long-running process over ssh, but have to leave and don&#8217;t want to interrupt it? Just start a screen, use reptyr to grab it, and then kill the ssh session and head on home.</p>
<p>I am <a href="http://www.catonmat.net/series/unix-utilities-you-should-know-about">apparantly not</a> <a href="http://kmandla.wordpress.com/software/">the only one</a> to get the idea of describing their software stack.</p>
<p><a href="http://stackoverflow.com/questions/5524530/execute-command-determined-by-output-of-previous-one-i-e-only-if-there-was-so#5524551">A pretty cool</a> more-utils command, ifne, which continues execution of the rest of the command, iff data was coming into ifne&#8217;s stdin.</p>
<p>:wq</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2011/12/18/2011w50/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011w49</title>
		<link>http://blog.padowi.se/2011/12/11/2011w49/</link>
		<comments>http://blog.padowi.se/2011/12/11/2011w49/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 10:00:39 +0000</pubDate>
		<dc:creator>Patrik</dc:creator>
				<category><![CDATA[Documentation]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[Cube]]></category>
		<category><![CDATA[D3]]></category>
		<category><![CDATA[for-loop]]></category>
		<category><![CDATA[IFS]]></category>
		<category><![CDATA[paypal]]></category>

		<guid isPermaLink="false">http://blog.padowi.se/?p=1068</guid>
		<description><![CDATA[IFS and for loops I needed to iterate over lines in a file, and I needed to use a for loop (well, I probably could have solved it in a myriad other ways, but that&#8217;s not the point). Thanks Luke, updating for clarification: I simplified this problem somewhat to make the post shorter, but the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>IFS and for loops</strong></p>
<p>I needed to iterate over lines in a file, and I needed to use a for loop (well, I probably could have solved it in a myriad other ways, but that&#8217;s not the point).</p>
<p><ins datetime="2011-12-11T19:05:51+00:00">Thanks Luke, updating for clarification: I simplified this problem somewhat to make the post shorter, but the problem in need of solving involved doing some addition across lines, and have the result available after the loop, and for this, I have learned, pipes and the &#8220;while read line; do&#8221;-pattern isn&#8217;t of much help.</ins></p>
<p>So I tell the for loop to do</p>
<p><code>for line in `cat myfile`; do echo $lines; done</code></p>
<p>And obviously this doesn&#8217;t work, as the IFS variable is set to space, and thus prints out each word on a separate line, instead of printing all the words in one line on lines.</p>
<p>So I think &#8220;oh I know, I&#8217;ll just change the IFS variable&#8221; and try:</p>
<p><code>IFS="\n"</code></p>
<p>and this turns out poorly, with the for loop now believing every &#8220;n&#8221; <ins datetime="2011-12-11T19:05:51+00:00">(and &#8220;\&#8221;, thanks Luke <img src='http://blog.padowi.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</ins> to be the separator and breaking words on that instead&#8230; So I try with single quotes, no joy&#8230;</p>
<p>Having approached and passed the point where it is taking me more time to solve this problem rather than solving the problem I was using the loop for, I stop trying and start googling, finding <a href="http://www.marc-remolt.de/2009/01/25/newline-ifs-shell/">this post</a>.</p>
<p>The solution is rather nifty actually:</p>
<pre>IFS='
'</pre>
<p>There you have it.</p>
<p style="text-align: center;"><strong><a href="http://square.github.com/cube/">Cube</a></strong></p>
<p>I haven&#8217;t tried it out, but this seems like it could be useful. From that page one could also make their way to one of the projects powering Cube, namely <a href="http://mbostock.github.com/d3/">D3</a>, and on that page you can find <a href="http://mbostock.github.com/d3/ex/chord.html">one</a> or <a href="http://mbostock.github.com/d3/ex/voronoi.html">two</a> (or more) interesting diagram types.</p>
<p><strong>And filed under <em>&#8220;oh frak! how glad I am that I never got a paypal account!&#8221;:</em></strong></p>
<ol>
<li><a href="http://www.regretsy.com/2011/12/05/cats-1-kids-0/">http://www.regretsy.com/2011/12/05/cats-1-kids-0/</a></li>
<li><a href="https://www.thepaypalblog.com/2011/12/regretsy-issue-resolution/">https://www.thepaypalblog.com/2011/12/regretsy-issue-resolution/</a></li>
<li><a href="http://thegreengeeks.wordpress.com/2011/12/06/why-paypal-is-wrong-regarding-regretsy-according-to-their-own-policies/">http://thegreengeeks.wordpress.com/2011/12/06/why-paypal-is-wrong-regarding-regretsy-according-to-their-own-policies/</a></li>
</ol>
<p>:wq</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.padowi.se/2011/12/11/2011w49/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

