<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>wonkablog &#187; Computers</title>
	<atom:link href="http://wonkabar.org/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://wonkabar.org</link>
	<description>cornflakes, cartoons, dragons, linux, multimedia, psychology, teenagers</description>
	<lastBuildDate>Thu, 26 Apr 2012 00:26:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wonkabar.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>wonkablog &#187; Computers</title>
		<link>http://wonkabar.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wonkabar.org/osd.xml" title="wonkablog" />
	<atom:link rel='hub' href='http://wonkabar.org/?pushpress=hub'/>
		<item>
		<title>rebooting my mini-itx</title>
		<link>http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/</link>
		<comments>http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 02:43:33 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Multimedia]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1503</guid>
		<description><![CDATA[It&#8217;s been a long time since I&#8217;ve worked on much anything computer-related as a hobby.  Things have changed quite a lot in the past year.  I moved to a much smaller apartment in Salt Lake, which is about a third &#8230; <a href="http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1503&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time since I&#8217;ve worked on much anything computer-related as a hobby.  Things have changed quite a lot in the past year.  I moved to a much smaller apartment in Salt Lake, which is about a third the size of my old place.  The idea was to trim the fat and focus on going back to school, which is my major direction in life these days.  When I moved in, I didn&#8217;t have room for setting up a desktop computer anywhere, so it&#8217;s been just my netbook and me.  That suits me plenty fine, though, I wasn&#8217;t really using it that much either.  I had just upgraded to a six-core so I could rip DVDs much faster, and now it was sitting headless wherever I could find room, and even then, only used occasionally.</p>
<p>It&#8217;s not just at home that things have been changing.  At work I got to make the transition from programmer to full-time sysadmin, and I&#8217;m absolutely loving it.  I knew I was getting tired of coding, and I had always enjoyed just taking care of servers, and now I get to do that all day long. When I initially started as a sysadmin, I didn&#8217;t think our small company would have enough work for me to do after a few months.  In actuality, I&#8217;m kept busy all the time.  The part I like the most is that part of my job is doing research, how to do things better, more efficiently, anything to make the workload easier.  It&#8217;s fun.</p>
<p>On top of all that, my school attendance is starting to ramp up more, and I&#8217;ve been consistently drifting to adding more classes to my workload.  All this stuff has basically booted Linux out of my life as a hobby, and so now I need things to &#8220;just work&#8221; without hassle, so I leave my installations alone.</p>
<p>One thing I&#8217;d been neglecting a little bit was my entire HTPC setup.  I hadn&#8217;t been using it much lately just because I would mostly stream some Netflix (yay, Doctor Who!).  My setup has been a beast though, normally running for months on end without the slightest hiccup.  What started to happen though is that I would come back to using it, switching my HDMI input over, and the box would be powered off for some reason.  Most of the time, I would either power it back on and go on with life or just ignore it.  Until one day it wouldn&#8217;t power on at all, and I just shrugged it off and determined to look at it later.</p>
<p>Well, later turned out to be finals week, when my brain has been working overtime, and I seriously needed a hobby.  I pulled out my main frontend and started looking at it to see what was going on.  It was plugged in properly and everything looked legit, but when I hit the power, the CPU fan would start up for a second and then everything would stop.  After fiddling with it for a bit, I started to notice that something was smelling burnt.  Once that happened, I abandoned my diagnosis.  Even if I did manage to get it working, I didn&#8217;t want it to catch everything on fire.</p>
<p>At the same time, my external USB drive enclosure died on me.  So even if I could have gotten it working, I still wouldn&#8217;t have had a way to watch my shows.  Them giving out on me hasn&#8217;t bothered me in the least &#8212; the entire setup has been running flawlessly for years, and I&#8217;d managed to get a lot of mileage out of them.</p>
<p>Now I had to decide what I was going to do.  I have a lot of hardware, but in pieces.  I have four mini-ITX boards altogether, two of them are VIA C7 chipsets, and the other two are Zotac boards both running low-powered Celeron CPUs (around 35W if I remember correctly).  The power supplies for the VIA boards use 20-pin connectors and only run at about 80W, and aren&#8217;t enough to handle the Zotac boards which use 24-pin connectors.  So I have this mix of hardware, and nothing powerful enough to act as a frontend.</p>
<p>There are some great packaged systems out there now where for between $200 to $300 you can get an entire package in one go that does exactly what I&#8217;m putting together myself. I considered the idea of just starting over, but I decided that it&#8217;d be cheaper to just salvage what I could.</p>
<p>So this week I ordered a new USB HDD enclosure, and I also ordered a new power supply for the main Zotac board.  I found a site that sells really small power supplies for mini-ITX boards, called <a href="http://www.mini-box.com">picoPSU</a>.  The design eliminates a lot of the hardware that I would normally need to get all the power to my box.  I was really skeptical about them when I first heard of it, but did some looking around and it looks like it&#8217;s exactly what I need.</p>
<p>In the meantime, I ripped out my motherboard out of my desktop, and put both Zotac boards in there to make sure they still work, and thankfully they do.  I got the old setup pieced together using my desktop case, and fired up the old system to play around with it.</p>
<p>I had started to forget how much time I put into this thing.  I forgot that I had put countless hours stitching this thing together, running a custom build of Gentoo suited to run on small environments.  On top of that I made hacks to mythvideo and got those working to polish off some rough edges.  It just started to come back to me how much I&#8217;d worked on this &#8230; and how much fun it was. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I played around with my frontend a little bit, and fired up a few movies just to try out the surround sound.  It was awesome.  I&#8217;d forgotten how nice it was to have that huge library on demand, too.</p>
<p>So I&#8217;m excited now to get things up and running.  It&#8217;s been a good little while.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1503/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1503/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1503/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1503&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2012/04/24/rebooting-my-mini-itx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>multimedia reference guide: x264</title>
		<link>http://wonkabar.org/2011/11/17/multimedia-reference-guides/</link>
		<comments>http://wonkabar.org/2011/11/17/multimedia-reference-guides/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 23:48:53 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Multimedia]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1456</guid>
		<description><![CDATA[It seems a little weird to me to post something on my blog that I already posted on our blog at work, but whatever. I figured it&#8217;d get more visibility if I wrote about it, since I already cover multimedia &#8230; <a href="http://wonkabar.org/2011/11/17/multimedia-reference-guides/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1456&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It seems a little weird to me to post something on my blog that I <a href="http://www.digitaltrike.com/blog/2011/11/x264-preset-reference-guide/">already posted</a> on our blog at work, but whatever.  I figured it&#8217;d get more visibility if I wrote about it, since I already cover multimedia stuff sometimes, plus I&#8217;m excited about this thing anyway. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>At work, I get to do all kinds of stuff, and working with video is one of them.  I threw together an <a href="http://dev.gentoo.org/~beandog/x264_preset_reference.html">x264 reference guide</a> on my devspace for what the settings of each preset covers, compared to the defaults.  I&#8217;ve even translated it to <a href="http://dev.gentoo.org/~beandog/referencia_de_presets_x264.html">spanish</a>! Vamos, che!</p>
<p>The thing I like about this, is that it helps me see which areas to start tweaking to get higher quality gains, and which ones to stay away from.  It kind of sheds light on where the best places to start tweaking are.  For instance, the settings that are changed on the ultrafast preset should never be messed with at all, if you want a good outcome.  And on the flipside, the ones under the placebo preset are going to slow down the encode greatly if you start beefing them up.</p>
<p>Generally speaking, though, it&#8217;s a best approach to use presets set by developers.  Every now and then I get the idea in my head that I can somehow make things better just by tweaking a few of the variables.  That never works out too well.  I always end up spending like 60 minutes to encode a 5 minute video, and then I can&#8217;t tell a difference after that.  Whoopsie fail.</p>
<p>Next, I want to put together a similar type guide for Handbrake presets, both to compare their presets to each other, and then how to duplicate the same x264 settings using both the x264 cli encoder, and libav.  The reason being that, a lot of times I really like the output that Handbrake delivers, and I want to duplicate that using other encoders, but I&#8217;m not sure how.  That&#8217;s what I&#8217;m planning to target.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1456/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1456/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1456/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1456&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2011/11/17/multimedia-reference-guides/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>digital trike</title>
		<link>http://wonkabar.org/2011/10/21/digital-trike/</link>
		<comments>http://wonkabar.org/2011/10/21/digital-trike/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 21:30:39 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1440</guid>
		<description><![CDATA[So, I don&#8217;t normally talk about work on my blog, just because &#8230; hey, who wants to work? I&#8217;d rather surround myself with Reese&#8217;s cups and watch Roger Ramjet. I totally recommend it. Anyway, at Digital Trike, my current depriver &#8230; <a href="http://wonkabar.org/2011/10/21/digital-trike/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1440&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, I don&#8217;t normally talk about work on my blog, just because &#8230; hey, who wants to work?  I&#8217;d rather surround myself with Reese&#8217;s cups and watch <a href="http://www.youtube.com/watch?v=dZIjT3S7wvc">Roger Ramjet</a>.  I totally recommend it.</p>
<p>Anyway, at <a href="http://digitaltrike.com/">Digital Trike</a>, my current depriver of candy and animated features, I&#8217;m doing full time systems administration.  It turns out I enjoy doing that quite a bit.  One thing they&#8217;ve let me start doing, is writing <a href="http://digitaltrike.com/blog/">blog posts</a> that are howtos covering topics related to Linux.  I&#8217;m going to be doing mostly Gentoo posts, and some stuff related to CentOS as well, since we use both of them in development and production (yay, Gentoo!).</p>
<p>I just posted my first entry on their blog, which covers <a href="http://www.digitaltrike.com/blog/2011/10/gathering-system-statistics-in-linux-part-one-gentoo-centos/">setting up collectd</a> on both distros.  I&#8217;ll warn you, it&#8217;s a bit lengthy, but I tried to cover most of the bases as well as I could, while keeping the setup pretty generic.  It&#8217;s designed to be a two-parter, this being the first one, and I&#8217;ll cover <a href="http://pommi.nethuis.nl/collectd-graph-panel-v0-2/">CGP</a>, a PHP frontend to actually see the stats probably next week sometime.</p>
<p>Lemme know what you guys think, I&#8217;d totally be up for some feedback. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1440/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1440&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2011/10/21/digital-trike/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>git and acl effective mask</title>
		<link>http://wonkabar.org/2011/06/28/git-and-acl/</link>
		<comments>http://wonkabar.org/2011/06/28/git-and-acl/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 01:37:36 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Gentoo]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1413</guid>
		<description><![CDATA[I have run into this funky problem with ACL and git at work, and I cannot for the life of me figure it out. I&#8217;m not sure if it&#8217;s a bug, wrong expectation on my part, or just plain ole &#8230; <a href="http://wonkabar.org/2011/06/28/git-and-acl/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1413&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have run into this funky problem with ACL and git at work, and I cannot for the life of me figure it out.  I&#8217;m not sure if it&#8217;s a bug, wrong expectation on my part, or just plain ole user error.</p>
<p>I have a directory that is setting the default ACL permissions.  Those are being inherited just fine by children (files and directories), including the effective mask.  However, when I clone a new repository using git, the default effective mask is ignored.  And I can&#8217;t figure out why.</p>
<p>Specifically, here&#8217;s what I&#8217;m looking at.</p>
<p>Setting the permissions:<br />
<code><br />
# mkdir testing<br />
# setfacl -m g:users:rwx testing<br />
# setfacl -m d:g:users:rwx testing<br />
# setfacl -m m:rwx testing<br />
# setfacl -m d:m:rwx testing<br />
</code></p>
<p>The ACL permissions:<br />
<code><br />
$ getfacl testing<br />
# file: testing<br />
# owner: root<br />
# group: root<br />
user::rwx<br />
group::r-x<br />
group:users:rwx<br />
mask::rwx<br />
other::r-x<br />
default:user::rwx<br />
default:group::r-x<br />
default:group:users:rwx<br />
default:mask::rwx<br />
default:other::r-x<br />
</code></p>
<p>You can see that the default effective masks are properly set.</p>
<p>When I create a sub-directory, it&#8217;s ACL settings are inherited properly as well:</p>
<p><code><br />
$ mkdir dir<br />
$ getfacl dir<br />
# file: dir<br />
# owner: steve<br />
# group: users<br />
user::rwx<br />
group::r-x<br />
group:users:rwx<br />
mask::rwx<br />
other::r-x<br />
default:user::rwx<br />
default:group::r-x<br />
default:group:users:rwx<br />
default:mask::rwx<br />
default:other::r-x<br />
</code></p>
<p>That works great and dandy and fine.</p>
<p>The problem I run into is when I use git to clone a repo:</p>
<p><code><br />
$ git clone git@example.com:shell/shell.git<br />
$ getfacl shell<br />
# file: shell<br />
# owner: steve<br />
# group: users<br />
user::rwx<br />
group::r-x<br />
group:users:rwx                 #effective:r-x<br />
mask::r-x<br />
other::r-x<br />
default:user::rwx<br />
default:group::r-x<br />
default:group:users:rwx<br />
default:mask::rwx<br />
default:other::r-x<br />
</code></p>
<p>The effective mask and the default effective mask have dropped from the default (rwx) to something else (r-x), and I have *no* idea why.</p>
<p>Hopefully someone out there may have a clue.  I&#8217;m stumped.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1413/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1413/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1413&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2011/06/28/git-and-acl/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>pear list</title>
		<link>http://wonkabar.org/2011/04/19/pear-list/</link>
		<comments>http://wonkabar.org/2011/04/19/pear-list/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 22:11:29 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1408</guid>
		<description><![CDATA[I&#8217;ve been tinkering with PEAR at work, switching between using portage to install stuff and sometimes using pear directly to install it. One thing that&#8217;d be nice is to get a list of the packages installed in pear command-line syntax. &#8230; <a href="http://wonkabar.org/2011/04/19/pear-list/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1408&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been tinkering with PEAR at work, switching between using portage to install stuff and sometimes using pear directly to install it.</p>
<p>One thing that&#8217;d be nice is to get a list of the packages installed in pear command-line syntax.  I.e. pear install MDB2-beta.</p>
<p>So, here&#8217;s a quick reference to convert the output of &#8220;pear list&#8221; to a list you can use with pear:</p>
<p><code>pear list | egrep "(stable|beta|alpha)$" | while read line; do echo $line | cut -d " " -f 1,3 --output-delimiter=-; done</code></p>
<p>A sample output would be:</p>
<p>$ pear list<br />
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:<br />
=========================================<br />
PACKAGE                                   VERSION   STATE<br />
Archive_Tar                               1.3.7     stable<br />
Auth_SASL                                 1.0.4     stable<br />
Console_Color                             1.0.3     stable<br />
Console_Getopt                            1.2.3     stable<br />
Console_Table                             1.1.4     stable<br />
Crypt_HMAC                                1.0.1     stable</p>
<p>to this:</p>
<p>Archive_Tar-stable<br />
Auth_SASL-stable<br />
Console_Color-stable<br />
Console_Getopt-stable<br />
Console_Table-stable<br />
Crypt_HMAC-stable<br />
etc &#8230;</p>
<p>For me it&#8217;s just a nice way to backup the pear module list, or copy it to a file and then install the pear modules on another box.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1408/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1408&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2011/04/19/pear-list/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>uphpu presentation: ripping dvds</title>
		<link>http://wonkabar.org/2011/03/18/uphpu-presentation-ripping-dvds/</link>
		<comments>http://wonkabar.org/2011/03/18/uphpu-presentation-ripping-dvds/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 17:28:31 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Matroska]]></category>
		<category><![CDATA[MPlayer]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1398</guid>
		<description><![CDATA[I gave a short presentation last night at uphpu on ripping and encoding DVDs under Linux. I wanted to type up a few notes on some stuff I mentioned during the meeting. Short version: Use Handbrake (available on Linux, Mac &#8230; <a href="http://wonkabar.org/2011/03/18/uphpu-presentation-ripping-dvds/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1398&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I gave a short presentation last night at <a href="http://uphpu.org/">uphpu</a> on ripping and encoding DVDs under Linux.  I wanted to type up a few notes on some stuff I mentioned during the meeting.</p>
<p>Short version: Use <a href="http://handbrake.fr/">Handbrake</a> (available on Linux, Mac OS X and Windows).  I&#8217;ve gone through a lot of applications through the years trying to find that &#8220;perfect rip&#8221;, and Handbrake beats everything hands down.  I&#8217;m a videophile who likes everything looking as nice as it can, and this is what I use regularly.</p>
<p><strong>Accessing DVDs</strong></p>
<p>The first things you&#8217;ll need installed on your box is libdvdread and libdvdcss.  libdvdread will access the DVD filesystem, and libdvdcss will decrypt the DRM on the disc.  These should both ship with your distro, or if they don&#8217;t, should be relatively easy to acquire.</p>
<p>I use a lot of command line tools to access DVDs, so my focus was on that.  The reason for that is because I have a lot of shell scripts to rip my massive library of discs, and I store data about them in a database.</p>
<p><a href="http://sourceforge.net/projects/lsdvd/files/lsdvd/">lsdvd</a> is the first stop.  A very small app that uses libdvdread to display human and script-friendly output of the details of your disc.</p>
<p><a href="http://www.mplayerhq.hu/">mplayer</a> dvd:// and mplayer dvdnav:// plus the optional track (dvd://3) or optional -dvd-device argument to specify the location of the device or ripped ISO.</p>
<p>I use dd to copy the contents of the entire disc to the harddrive and then rip it from there, to avoid wear and tear on the DVD drive, and also because I can do things like simultaneously rip one disc in the background and encode another at the same time.</p>
<p>When accessing the drive, you&#8217;ll want to use mplayer or some other program to access the drive and decrypt the CSS so that the drive itself caches the access.  Otherwise, it may lock up.</p>
<p>I use pv to dump the disc and give me a pretty progress bar with ripping ETA and disc read speed: <a href="http://www.ivarch.com/programs/pv.shtml">pv</a> -ptre -w 80 /dev/dvd | dd of=movie.iso</p>
<p>If you want to extract the chapters, you can use dvdxchap, which is part of the <a href="http://www.bunkus.org/videotools/ogmtools/">ogmtools</a> package.</p>
<p><strong>DVD Tracks</strong></p>
<p>Every movie I&#8217;ve run into has one track specifically for the video.  Using lsdvd you can find the longest track, time-length wise, and that will be the movie.</p>
<p>TV shows on DVD often put many episodes into one track, where one or more chapters may contain an episode.  You&#8217;ll need to examine these yourself to find out where each one starts and each one ends.</p>
<p>Another caveat is that they are not always ordered on the track or on the DVD in the same order that shows up in the menu.  The best advice when accessing tracks and titles on DVDs is to never assume anything, if you are trying to preserve order.</p>
<p><strong>DVD Subtitles</strong></p>
<p>Subtitles on DVDs come in two formats: <a href="http://wiki.multimedia.cx/index.php?title=VOBsub">VobSub</a> and Closed Captioning.  VobSub subtitles are images that are overlaid onto the picture.  Closed captioning is a text format.</p>
<p>If you have a ripped <a href="http://wiki.multimedia.cx/index.php?title=VOB">VOB</a> (DVD MPEG-2 video), you can extract the subtitles using a program called ccextractor.  It will save the subtitles to <a href="http://wiki.multimedia.cx/index.php?title=SubRip">SRT</a>, a subtitle format that can be muxed into your final video.</p>
<p><strong>Encoding DVDs</strong></p>
<p>Handbrake is a very &#8220;smart&#8221; application that will make things extremely easy on you.  It supports encoding using three codecs: x264, ffmpeg and theora.  <a href="http://www.videolan.org/developers/x264.html">x264</a> is an actively-developed H.264 video codec, and is used professionally by many companies.  It also has a lot of options that you may find useful in your encode, based on your target playback device (ipod, ipad, iphone, apple tv, htpc, computer, etc.).</p>
<p>Handbrake supports muxing (or putting audio and video into a wrapper format) to two containers: MP4 and <a href="http://matroska.org/">Matroska</a>.  MP4 is a very popular standard used in lots of places.  It&#8217;s an open-specification.  Audio is usually AAC.  Matroska is an open-source openly developed container format that has a standardized specification.  Support for it is growing in a lot of devices.  Matroska can handle multiple video streams, multiple audio streams, multiple subtitles, stores metadata, chapters and attachments.  Strictly speaking, either one will work fine for most people&#8217;s needs, but for those looking for advanced usage and tagging, Matroska will fit your needs.  On linux, the tools for muxing and accessing information about a Matroska file are found in the <a href="http://www.bunkus.org/videotools/mkvtoolnix/">mkvtoolnix</a> package.</p>
<p><strong>Deinterlacing and Decombing</strong></p>
<p>Most movies will be progressive video, meaning that each frame is one full picture.  Production studios and DVD authors may have their video interlaced.  Interlaced video is where half of the frame is shown in quick succession where the second half is shown.  On older TVs (like the CRT tube TVs) display at a native resolution of 480i, so you won&#8217;t notice the lines.  Progessive displays (computer monitors, HDTVs, etc.) will display the lines and it can be a visual annoyance.</p>
<p>Handbrake uses filters to convert interlaced video to progressive video, called deinterlacing.  Decombing is also a feature that Handbrake supports, which is basically &#8220;smart&#8221; deinterlacing.  It is safe to turn on the decombing filter to the default setting for all your encodes, and let Handbrake automatically convert your video for you.  Don&#8217;t use the deinterlacing filter unless you specifically know what you are doing.</p>
<p>Please see <a href="http://100fps.com/">100fps.com</a> for a quick explanation of video deinterlacing.</p>
<p><strong>Other Handbrake Features</strong></p>
<p>Handbrake has lots of handy features.  It has support for &#8220;profiles&#8221; which is a combined set of preferences for container format, video codec, audio codecs, preferred subtitle settings, post-processing, deinterlacing, decombing, and all the H.264 settings that come with x264.</p>
<p>One nice thing it will do as well is auto-crop your feature film for you.  This is a boon if you have a letterbox source video, where the movie itself is in widescreen, but the presentation is in fullframe.</p>
<p>You can also &#8220;queue&#8221; up your encodes, so Handbrake can be working on multiple files.  You don&#8217;t need to wait for one to finish before assigning it it&#8217;s next task.</p>
<p>Handbrake is also multi-threaded when using x264 to encode your video.  With a six-core desktop, I have been able to encode video using the &#8220;Normal&#8221; profile between 160 to 180 frames per second.  Meaning a 25 minute video will take about 2 1/2 minutes to encode.</p>
<p><strong>PHP Classes</strong></p>
<p>I&#8217;ve got <a href="http://spaceparanoids.org/code/php/">some small classes</a> that I use in my shell scripts for Matroska and Handbrake (v0.95 required).  You may or may not find these helpful.  I should warn that these are just used on my own set of scripts, so they may or may not be very clean or can have small bugs.</p>
<p><strong>References</strong></p>
<p>If you want more information, here are some good places to go:</p>
<p><a href="http://forum.doom9.org/">doom9</a><br />
<a href="http://wiki.multimedia.cx/index.php?title=Main_Page">Multimedia wiki</a><br />
<a href="https://forum.handbrake.fr/">Handbrake forums</a><br />
<a href="http://100fps.com/">100fps.com</a></p>
<p>Also, feel free to <a href="http://wonkabar.org/contact-me">contact me</a> if you have any questions, and I&#8217;ll be glad to help.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1398/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1398&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2011/03/18/uphpu-presentation-ripping-dvds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>wrapper script for disc_id</title>
		<link>http://wonkabar.org/2011/02/27/wrapper-script-for-disc_id/</link>
		<comments>http://wonkabar.org/2011/02/27/wrapper-script-for-disc_id/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 00:02:02 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[bend / dvd2mkv]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1392</guid>
		<description><![CDATA[I wrote a little wrapper script for disc_id tonight, available here. disc_id is a little binary that ships with libdvdread, or at least, it used to in older versions. I use disc_id to give me a unique 32-character string of &#8230; <a href="http://wonkabar.org/2011/02/27/wrapper-script-for-disc_id/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1392&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I wrote a little wrapper script for disc_id tonight, available <a href="http://spaceparanoids.org/code/bash/dvd_id">here</a>.  disc_id is a little binary that ships with libdvdread, or at least, it used to in older versions.</p>
<p>I use disc_id to give me a unique 32-character string of a DVD, so I have an identifier to track them by in my database of DVDs.</p>
<p>I don&#8217;t know if it&#8217;s just me or not, but my DVD drives have issues trying to poll the devices.  Once I insert a disc, it will take a few seconds for it to register completely so I can access it.  However, binaries that access it will think it&#8217;s ready to respond sooner than it is able, and will die unexpectedly.  So what I needed was a way to get the disc id and not worry about whether or not the drive has finished registering or not.</p>
<p>I just call my little script dvd_id and it is simply a small wrapper that checks the exit code of the disc_id binary.  If it doesn&#8217;t work the first time, it sleeps for one second and tries again, then repeats the process until it gets a successful exit code of zero.</p>
<p>That&#8217;s it.  Pretty simple, but like all little scripts, you really tend to depend on them.<br />
<code>#!/bin/bash<br />
EXIT_CODE=1<br />
DEVICE=$1<br />
if [[ -z $DEVICE ]]; then<br />
        DEVICE=/dev/dvd<br />
fi</p>
<p>if [[ ! -b $DEVICE ]]; then<br />
        echo "Device $DEVICE doesn't exist" &gt;&amp;2<br />
        exit 1<br />
fi</p>
<p>while [[ $EXIT_CODE != 0 ]]; do<br />
        /usr/local/bin/disc_id $DEVICE 2&gt; /dev/null<br />
        EXIT_CODE=$?</p>
<p>        if [[ $EXIT_CODE != 0 ]]; then<br />
                sleep 1<br />
        fi<br />
done</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1392/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1392/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1392/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1392&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2011/02/27/wrapper-script-for-disc_id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>web media frontend</title>
		<link>http://wonkabar.org/2010/11/08/web-media-frontend/</link>
		<comments>http://wonkabar.org/2010/11/08/web-media-frontend/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 05:21:44 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[MythTV]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1371</guid>
		<description><![CDATA[I have always wanted to tweak my HTPC frontend quite a lot to add extra functionality, but the entry barrier to learning a GUI language has been way too high for me.  I&#8217;ve had success though, in patching MythFrontend to &#8230; <a href="http://wonkabar.org/2010/11/08/web-media-frontend/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1371&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have always wanted to tweak my HTPC frontend quite a lot to add extra functionality, but the entry barrier to learning a GUI language has been way too high for me.  I&#8217;ve had success though, in patching MythFrontend to do some things a little better for me, but I&#8217;ve always wanted to get my own going if I could.</p>
<p>Recently, I was thinking about how LIRC can capture IR events and map them to X keyboard events.  Basically, you can control X applications with your remote control.  I started to reason that if that were possible, then I could just use my web development skills and create a webpage frontend for my HTPC that would run on a lightweight browser, and listen for keystrokes.</p>
<p>Just playing around with it tonight, I actually made some really great progress thanks to a combination of <a href="http://novapages.com/">a good friend</a>, my humble jQuery beginnings, and my laughable CSS skills.  <a href="http://spaceparanoids.org/code/media/media.html">This is the result so far</a>. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m really stoked about the implementation so far.  You&#8217;ll most likely need Firefox to get that working properly.  It will capture the arrow key presses (up, down, left, right) and use that for navigation.  I realize that the beginnings are rather crude, but the fact that I could throw this together, so quickly, while I&#8217;m just barely learning my way around jQuery seems pretty impressive to me.  I&#8217;m actually quite proud, though, that I got the navigation to work properly, too, so wrapping around rows and columns works. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This is certainly going to be a fun project to hack on.  If I could get this working, this would open up all kinds of possibilities for me for displaying metadata and new options for navigation.</p>
<p>For comparison, here&#8217;s a screenshot of what my frontend looks like right now.  As you can see, I&#8217;m trying to imitate the style as closely as possible.</p>
<p style="text-align:center;"><a href="http://wonkabar.org/wp-content/uploads/2010/11/2010-11-08-183929_1280x720_scrot.png"><img class="aligncenter size-full wp-image-1372" title="2010-11-08-183929_1280x720_scrot" src="http://wonkabar.org/wp-content/uploads/2010/11/2010-11-08-183929_1280x720_scrot.png" alt="" width="461" height="259" /></a></p>
<p style="text-align:left;">There&#8217;s a lot of advantages to having it web-based &#8212; not that I&#8217;m going to serve up anything remotely or anything, this is solely for my LAN.  It&#8217;ll just allow me to build out stuff much faster.</p>
<p style="text-align:left;">The hard part is going to be doing testing on the frontends.  They are both running off of tiny installations, and it&#8217;s not easy building and porting software to run on them.  Sounds like a challenge that&#8217;s extremely hard, going to take a lot of time, and will have marginal benefit and at the same time increase my workload and opportunity to own more of my software stack when things go wrong.  That&#8217;s just right up my alley. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1371/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1371/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1371/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1371&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2010/11/08/web-media-frontend/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>

		<media:content url="http://wonkabar.org/wp-content/uploads/2010/11/2010-11-08-183929_1280x720_scrot.png" medium="image">
			<media:title type="html">2010-11-08-183929_1280x720_scrot</media:title>
		</media:content>
	</item>
		<item>
		<title>javascript rest api using prototype</title>
		<link>http://wonkabar.org/2010/10/14/javascript-rest-api-using-prototype/</link>
		<comments>http://wonkabar.org/2010/10/14/javascript-rest-api-using-prototype/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 22:25:32 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1358</guid>
		<description><![CDATA[JavaScript seems to be in my future, it looks like.  Plus a bunch of Warner Archive awesome cartoons on DVD, but I&#8217;ll get into that later. I&#8217;ve been doing web design for a long time, but it hasn&#8217;t really gotten &#8230; <a href="http://wonkabar.org/2010/10/14/javascript-rest-api-using-prototype/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1358&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>JavaScript seems to be in my future, it looks like.  Plus a bunch of <a href="http://www.wbshop.com/Thundarr-The-Barbarian-The-Complete-Series-198082/1000180186,default,pd.html?cgid=TV">Warner Archive awesome cartoons on DVD</a>, but I&#8217;ll get into that later.</p>
<p>I&#8217;ve been doing web design for a long time, but it hasn&#8217;t really gotten too interesting until I started playing with MVCs and JS frameworks and AJAX.  Now, all the *boring* stuff is totally out of the way, and the fun stuff is where I can see what I can quickly develop.  Kind of interesting really.  Plus, I think it&#8217;s kinda cool because I had pretty much sworn off getting more into computer tech, but this is one that really is interesting.  Well, for now, anyway.</p>
<p>So, I&#8217;m working on creating a REST API inside my MVC (using CodeIgniter), but on top of that, I&#8217;m writing a class that JavaScript can use to send calls to the REST API.  Here&#8217;s what I&#8217;ve come up with so far: <a href="http://spaceparanoids.org/code/prototype/rest.api.js">link</a>.</p>
<p>I&#8217;m really looking for some peer review on this thing .. the only thing you need to be familiar with is PrototypeJS and JavaScript, and it should make sense.  It doesn&#8217;t matter what REST API it sends stuff to.</p>
<p>I want to explain a couple of coding conventions though.</p>
<p>The get_rest_url() function is a protected method, which is kinda cool &#8212; I didn&#8217;t know until today you could do that with JavaScript.  If you created a REST  object named, then calling the function wouldn&#8217;t work.   You can only call it internally.  That&#8217;s why it&#8217;s in the constructor.</p>
<p>I should probably learn to use exceptions.  The concept of them just baffles me though, and I don&#8217;t really see the point of them when you can do things procedurally.  Whatever.  I&#8217;m holding out on being stubborn on this one.</p>
<p>The class supposes that your REST URL will accept the uniq identifer at the end.</p>
<p>The AJAX requests need to be synchronous, otherwise I couldn&#8217;t access the responses.  If someone knows a way to do both, I&#8217;d be glad to hear about it &#8230; synchronous and then using bind(this) on the function is the only option I&#8217;ve found.</p>
<p>That&#8217;s all I can think of.  Like I said, JS is not my strongest coding skill, so if anyone could do a once-over, it&#8217;d be nicely appreciated.</p>
<p>For what it&#8217;s worth, the code works just fine for my needs though. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1358/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1358/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1358/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1358&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2010/10/14/javascript-rest-api-using-prototype/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
		<item>
		<title>my prototype cheat sheets: forms</title>
		<link>http://wonkabar.org/2010/10/12/my-prototype-cheat-sheets-forms/</link>
		<comments>http://wonkabar.org/2010/10/12/my-prototype-cheat-sheets-forms/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 16:50:35 +0000</pubDate>
		<dc:creator>beandog</dc:creator>
				<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://wonkabar.org/?p=1353</guid>
		<description><![CDATA[I was having problems this morning with Prototype, in getting serialized forms, so I went back to this little cheat sheet that I wrote up once and updated it and figured out what the problem was.  I uploaded my cheat &#8230; <a href="http://wonkabar.org/2010/10/12/my-prototype-cheat-sheets-forms/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1353&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was having problems this morning with <a href="http://prototypejs.org/api">Prototype</a>, in getting serialized forms, so I went back to this little cheat sheet that I wrote up once and updated it and figured out what the problem was.  I uploaded <a href="http://spaceparanoids.org/code/prototype/forms.html">my cheat sheet</a> to my website, if anyone wants to see it.</p>
<p>If you&#8217;ve used Prototype for JavaScript before, then you might know where I&#8217;m coming from.  In my opinion, the library is awesome, but the documentation is a little confusing in some places.  It could be that way for me only because I&#8217;m still so new to JavaScript.  Anyway.  I know for certain that writing this stuff out this way totally helps explain it for me, being a <a href="http://en.wikipedia.org/wiki/Kinesthetic_learning">kinesthetic learner</a>.</p>
<p>The problem I ran into recently, though, with Prototype was that it&#8217;s unclear what happens when you serialize an element.  The docs say that it returns an object &#8230; but it&#8217;s not a Prototype Object, meaning you can&#8217;t run functions on it that are attached to that.  It&#8217;s certainly not a Hash, either, since you can&#8217;t use those functions either.  Not knowing JavaScript much, I assume it&#8217;s just a regular JavaScript object.</p>
<p>Either way, to convert it to a JSON-formatted string, you need to cast the serialized element to an Object or a Hash of Prototype design first.  That&#8217;s what was tripping me up, and that&#8217;s the final section on that forms cheat sheet.</p>
<p>I&#8217;m using Prototype a lot more at work.  I&#8217;m building an intranet at work that is going to use a lot of AJAX, and so I really need to polish my skills.</p>
<p>Wow, this post is boring.  <a href="http://www.cornify.com/">It needs some unicorns</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sdibb.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sdibb.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sdibb.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sdibb.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sdibb.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sdibb.wordpress.com/1353/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sdibb.wordpress.com/1353/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sdibb.wordpress.com/1353/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wonkabar.org&#038;blog=19113962&#038;post=1353&#038;subd=sdibb&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wonkabar.org/2010/10/12/my-prototype-cheat-sheets-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5812f6204f3a0213164c80b96f522fb7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">beandog</media:title>
		</media:content>
	</item>
	</channel>
</rss>
