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

<channel>
	<title>pko.ch &#187; troubleshooting</title>
	<atom:link href="http://pko.ch/category/troubleshooting/feed/" rel="self" type="application/rss+xml" />
	<link>http://pko.ch</link>
	<description>Reflections about reflection</description>
	<lastBuildDate>Sat, 28 Mar 2009 16:23:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Taming KbdMgr.exe</title>
		<link>http://pko.ch/2009/03/28/taming-kbdmgrexe/</link>
		<comments>http://pko.ch/2009/03/28/taming-kbdmgrexe/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 15:54:56 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/?p=30</guid>
		<description><![CDATA[I have a bootcamp'ed Macbook Pro. As many people, I experienced some lagging sound and graphics from the computer, apparently at random. I googled it a bit, and found DPCs were the cause of it. And the cause DPCs were so slow were some drivers and <code>KbdMgr.exe</code>, a small app that listens to the hardware keys to raise brightness and stuff. I updated the drivers, and the lag dropped a bit, but not that much. Then I turned to <code>KbdMgr.exe</code>.  And python popped into my mind. After some 15 minutes of research, I found <a href="http://pypi.python.org/pypi/pywin32/210">win32all</a>. And from there, It was just remembering all of the win32 I had forgotten. I eventually churned out some code to scratch my itch.]]></description>
			<content:encoded><![CDATA[<p>I have a bootcamp&#8217;ed Macbook Pro. As many people, I experienced some lagging sound and graphics from the computer, apparently at random. I googled it a bit, and found DPCs were the cause of it. And the cause DPCs were so slow were some drivers and <code>KbdMgr.exe</code>, a small app that listens to the hardware keys to raise brightness and stuff.</p>
<p>I updated the drivers, and the lag dropped a bit, but not that much. Then I turned to <code>KbdMgr.exe</code>. I read that a quick fix was to set the affinity to the second core and set it to minimum priority. And so I did, and it worked! However, It was just a pain in the butt to do that dance on each boot. I thought of doing some wrapper <code>exe</code> for <code>KbdMgr.exe</code>, but just the thought of downloading Visual Studio and all the SDKs gave me nauseas. And python popped into my mind.</p>
<p>After some 15 minutes of research, I found <a href="http://pypi.python.org/pypi/pywin32/210">win32all</a>. And from there, It was just remembering all of the win32 I had forgotten. I eventually churned out some code to scratch my itch.</p>
<p><code></p>
<pre>
import win32api
import win32com.client
import win32process
import win32con
import time
import sys, traceback

class ProcessSeekerThrottler(object):

    def __init__(self):
        self.coup_de_grace = self.throttle_and_set_affinity
        self.backoff_interval = 1.0

    def throttle_and_set_affinity(self,pid):
        proc = win32api.OpenProcess(win32con.PROCESS_SET_INFORMATION, 0, pid)

        win32process.SetProcessAffinityMask(proc,0x02)
        win32process.SetPriorityClass(proc,win32process.IDLE_PRIORITY_CLASS)

        win32api.CloseHandle(proc)

    def pids_for(self,process_name):
        self.WMI = win32com.client.GetObject('winmgmts:')
        results = self.WMI.ExecQuery('select * from Win32_Process where Name="%s"'%(process_name,))
        if len(results) < 1:
            raise Exception("Not found: %s"%(process_name,))
        else:
            return [result.Properties_('ProcessId').Value for result in results]

    def hunt_pid_for(self,process_name):
        done = False
        while not done:
            try:
                [self.coup_de_grace(pid) for pid in self.pids_for(process_name)]
                print "Killed!"
                done = True
            except Exception as e:
                print >> sys.stderr, "-"*60
                traceback.print_exc(None,sys.stderr)
                print >> sys.stderr, "Backing off."
                time.sleep(self.backoff_interval)

if __name__ == '__main__':
    try:
        ProcessSeekerThrottler().hunt_pid_for("KbdMgr.exe")
    except Exception as e:
        traceback.print_exc(None,sys.stderr)
        raw_input()
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2009/03/28/taming-kbdmgrexe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RegExp for capturing strings</title>
		<link>http://pko.ch/2008/12/15/regexp-for-capturing-strings/</link>
		<comments>http://pko.ch/2008/12/15/regexp-for-capturing-strings/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 00:54:59 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/?p=23</guid>
		<description><![CDATA['((?:\\['\n])&#124;[^'\n])*' Because I keep forgetting.]]></description>
			<content:encoded><![CDATA[<p><code>'((?:\\['\n])|[^'\n])*'</code></p>
<p>Because I keep forgetting.</p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2008/12/15/regexp-for-capturing-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>For those who don&#8217;t use SQL too much, just like me.</title>
		<link>http://pko.ch/2008/06/17/for-those-who-dont-use-sql-too-much-just-like-me/</link>
		<comments>http://pko.ch/2008/06/17/for-those-who-dont-use-sql-too-much-just-like-me/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 20:45:35 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/?p=12</guid>
		<description><![CDATA[I&#8217;ve been using MySQL more than what I would like to. In these endeavors, I&#8217;ve always felt the need for one thing: Negated joins. For example, in a many-to-many, I want to know what categories a post is not linked to. For those who had similar problems, I present you two solutions: MySQL 5.0 Reference [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using MySQL more than what I would like to. In these endeavors, I&#8217;ve always felt the need for one thing: Negated joins. For example, in a many-to-many, I want to know what <code>categories</code> a <code>post</code> is <strong><em>not</em></strong> linked to.</p>
<p>For those who had similar problems, I present you two solutions:</p>
<ul>
<li><a href="http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html">MySQL 5.0 Reference Manual :: 12.2.8.6. EXISTS and NOT EXISTS</a></li>
<li><a href="http://www.bitbybit.dk/carsten/blog/?p=71">Doing INTERSECT and MINUS in MySQL: classical use-left-join-to-find-what-isn’t-in-the-other-table</a></li>
</ul>
<p>Thank you so very much!</p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2008/06/17/for-those-who-dont-use-sql-too-much-just-like-me/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Restored access to mail.google.com</title>
		<link>http://pko.ch/2008/05/11/restored-access-to-mailgooglecom/</link>
		<comments>http://pko.ch/2008/05/11/restored-access-to-mailgooglecom/#comments</comments>
		<pubDate>Sun, 11 May 2008 23:26:31 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/?p=11</guid>
		<description><![CDATA[The problem kept reappearing in many other sites. The internet was somewhat fading away for me. I grew really frustrated and tired of it. Must wreak havoc on someone. So I reseted the router’s configs. Operations returned to normal immediately! Hurray! It was the god damned router! After reconfiguring the router, I hit the same [...]]]></description>
			<content:encoded><![CDATA[<p>The problem kept reappearing in many other sites. The internet was somewhat fading away for me. I grew really frustrated and tired of it. Must wreak havoc on someone.</p>
<p>So I reseted the router’s configs. Operations returned to normal immediately! Hurray! It was the god damned router! After reconfiguring the router, I hit the same problem. Hmmm.</p>
<p>So, I recapped the changes.<br />
Can&#8217;t be changing the network addresses, that would give linksys a support nightmare.<br />
Changing the passwords goes with the same reasoning.<br />
Could it be some DynDNS client collateral damage? Guess not. If I were to implement it, it would only do some HTTP API calls, or some screen scrapping in the worst case.<br />
Could it be WiFi crypto? WPA2 with TKIP+AES&#8230; Why not? It&#8217;s cpu intensive (compared to the rest of the stuff it&#8217;s doing) and very bug prone. Disabled it, operation normal. Bingo! WPA1 with TKIP? Works just fine. So I settled for it.</p>
<p>Linksys, burn in hell.</p>
<p>PS: Yes, I know. It could be worse. I, too, hit some wacky stuff with routers. Reset the guy, config it, test it. No go. Lather, rinse, repeat. Works. Nobody knows why.</p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2008/05/11/restored-access-to-mailgooglecom/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Selective access to mail.google.com</title>
		<link>http://pko.ch/2008/05/09/selective-access-to-mailgooglecom/</link>
		<comments>http://pko.ch/2008/05/09/selective-access-to-mailgooglecom/#comments</comments>
		<pubDate>Fri, 09 May 2008 15:50:30 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/?p=10</guid>
		<description><![CDATA[Edit: Problem solved! I reseted the router&#8217;s configs and operations returned to normal. After reconfiguring the router, I hit the same problem. Disabled WPA2 and AES encryption and everything came back to normal. My PowerBook&#8217;s pouting. Yesterday, it just stopped talking to mail.google.com. No apparent reason. I&#8217;m a sysadmin type of guy, and I have [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Edit:</strong> <a href="http://pko.ch/2008/05/11/restored-access-to-mailgooglecom/">Problem solved!</a> I reseted the router&#8217;s configs and operations returned to normal. After reconfiguring the router, I hit the same problem. Disabled WPA2 and AES encryption and everything came back to normal.</em></p>
<p>My PowerBook&#8217;s pouting. Yesterday, it just stopped talking to <a href="http://mail.google.com/">mail.google.com</a>. No apparent reason. I&#8217;m a sysadmin type of guy, and I have no idea of what&#8217;s wrong. If you can, please help me.</p>
<h4>Network Setup</h4>
<p>Signal comes through cable, into a Thompson cable modem. It feeds network to a Linksys WRT54GX-v2 (tried both stock and latest firmware) router through RJ45. The router is wireless with 4 wired ports. On one wired port, there&#8217;s my personal server (named <code>bolinhas</code>). The rest of the computers are hooked through wifi.</p>
<h4>Problem</h4>
<p>My PowerBook G4, last edition, can&#8217;t get to http://mail.google.com/ (it can resolve the name) when using wifi, no <code>ping</code> nor <code>telnet mail.google.com 80</code>. When wired, everything works as expected. Other computers, both wireless and wired, can all access gmail without a problem.</p>
<h4>Traceroutes</h4>
<h5>PB Wifi:</h5>
<p><code><br />
16:34:49|pkoch@Kochs-PowerBook:~$ traceroute google.com<br />
traceroute: Warning: google.com has multiple addresses; using 64.233.167.99<br />
traceroute to google.com (64.233.167.99), 64 hops max, 40 byte packets<br />
 1  10.0.0.254 (10.0.0.254)  4.671 ms  1.069 ms  4.073 ms<br />
 2  10.40.191.254 (10.40.191.254)  10.521 ms  46.005 ms  14.467 ms<br />
 3  a212-113-169-6.netcabo.pt (212.113.169.6)  11.405 ms  9.431 ms  27.149 ms<br />
 4  a212-113-176-66.netcabo.pt (212.113.176.66)  60.116 ms *  16.998 ms<br />
 5  a212-113-176-73.netcabo.pt (212.113.176.73)  51.171 ms  52.588 ms  15.169 ms<br />
 6  lis2-cr1-gi-12-0-0.cprm.net (195.8.0.173)  39.270 ms  16.069 ms  20.486 ms<br />
 7  lis2-cr1-po0-0-4-0.cprm.net (195.8.0.69)  87.412 ms  25.483 ms  82.825 ms<br />
 8  lon1-cr1-po12-0-0.cprm.net (195.8.0.70)  116.653 ms  90.707 ms  49.987 ms<br />
 9  72.14.198.81 (72.14.198.81)  55.468 ms  50.392 ms  49.704 ms<br />
10  209.85.252.76 (209.85.252.76)  84.751 ms 209.85.255.175 (209.85.255.175)  50.112 ms 209.85.252.76 (209.85.252.76)  156.878 ms<br />
11  * * *<br />
12  209.85.248.216 (209.85.248.216)  122.151 ms  193.339 ms  188.357 ms<br />
13  216.239.46.224 (216.239.46.224)  151.448 ms  171.089 ms 209.85.252.165 (209.85.252.165)  152.219 ms<br />
14  66.249.94.133 (66.249.94.133)  130.489 ms 72.14.238.89 (72.14.238.89)  163.851 ms  140.776 ms<br />
15  64.233.175.26 (64.233.175.26)  141.084 ms 72.14.232.70 (72.14.232.70)  164.070 ms 64.233.175.26 (64.233.175.26)  174.238 ms<br />
16  py-in-f99.google.com (64.233.167.99)  155.060 ms  132.278 ms  181.951 ms</p>
<p>16:35:27|pkoch@Kochs-PowerBook:~$ traceroute mail.google.com<br />
traceroute: Warning: mail.google.com has multiple addresses; using 66.249.91.19<br />
traceroute to googlemail.l.google.com (66.249.91.19), 64 hops max, 40 byte packets<br />
 1  10.0.0.254 (10.0.0.254)  1.949 ms  0.859 ms  0.863 ms<br />
 2  10.40.191.254 (10.40.191.254)  11.955 ms  28.492 ms  26.307 ms<br />
 3  a212-113-169-6.netcabo.pt (212.113.169.6)  37.995 ms  8.724 ms  15.758 ms<br />
 4  a212-113-176-70.netcabo.pt (212.113.176.70)  29.253 ms  14.119 ms  39.223 ms<br />
 5  a212-113-176-69.netcabo.pt (212.113.176.69)  68.348 ms  17.081 ms  14.946 ms<br />
 6  lis2-cr1-po0-0-4-0.cprm.net (195.8.0.69)  58.700 ms  31.845 ms  34.821 ms<br />
 7  lon1-cr1-po12-0-0.cprm.net (195.8.0.70)  98.358 ms  48.621 ms  49.145 ms<br />
 8  72.14.198.81 (72.14.198.81)  78.529 ms  85.890 ms  48.569 ms<br />
 9  209.85.252.76 (209.85.252.76)  54.803 ms 209.85.255.175 (209.85.255.175)  47.858 ms  92.640 ms<br />
10  209.85.248.12 (209.85.248.12)  67.195 ms  145.352 ms  158.805 ms<br />
11  * * *<br />
12  * * *<br />
13  * * *<br />
14  * * *<br />
15  * * *<br />
16  * * *<br />
17  * * *<br />
^C<br />
</code></p>
<h5>PB Wired:</h5>
<p><code><br />
16:40:12|pkoch@Kochs-PowerBook:~$ traceroute google.com<br />
traceroute: Warning: google.com has multiple addresses; using 72.14.207.99<br />
traceroute to google.com (72.14.207.99), 64 hops max, 40 byte packets<br />
 1  10.0.0.254 (10.0.0.254)  1.284 ms  0.807 ms  0.485 ms<br />
 2  10.40.191.254 (10.40.191.254)  10.463 ms  39.591 ms  17.745 ms<br />
 3  a212-113-169-6.netcabo.pt (212.113.169.6)  10.095 ms  28.736 ms  31.487 ms<br />
 4  * a212-113-176-66.netcabo.pt (212.113.176.66)  44.754 ms  40.161 ms<br />
 5  a212-113-176-73.netcabo.pt (212.113.176.73)  63.704 ms  29.511 ms  14.514 ms<br />
 6  lis2-cr1-gi-12-0-0.cprm.net (195.8.0.173)  62.878 ms  15.575 ms  15.378 ms<br />
 7  lis2-cr1-po0-0-4-0.cprm.net (195.8.0.69)  28.805 ms  24.500 ms  16.264 ms<br />
 8  lon1-cr1-po12-0-0.cprm.net (195.8.0.70)  78.276 ms  46.210 ms  48.180 ms<br />
 9  72.14.198.81 (72.14.198.81)  63.493 ms  77.912 ms  65.728 ms<br />
10  209.85.252.76 (209.85.252.76)  61.763 ms  58.583 ms  75.047 ms<br />
11  64.233.175.213 (64.233.175.213)  149.771 ms 66.249.95.146 (66.249.95.146)  126.585 ms 64.233.175.213 (64.233.175.213)  119.957 ms<br />
12  72.14.233.113 (72.14.233.113)  125.244 ms 72.14.236.219 (72.14.236.219)  125.475 ms 72.14.233.113 (72.14.233.113)  123.091 ms<br />
13  66.249.94.90 (66.249.94.90)  151.902 ms  147.142 ms 72.14.236.181 (72.14.236.181)  145.065 ms<br />
14  72.14.236.130 (72.14.236.130)  143.891 ms 72.14.236.134 (72.14.236.134)  130.771 ms 66.249.94.50 (66.249.94.50)  128.325 ms<br />
15  eh-in-f99.google.com (72.14.207.99)  137.732 ms  133.693 ms  152.883 ms</p>
<p>16:40:26|pkoch@Kochs-PowerBook:~$ traceroute mail.google.com<br />
traceroute: Warning: mail.google.com has multiple addresses; using 66.249.91.83<br />
traceroute to googlemail.l.google.com (66.249.91.83), 64 hops max, 40 byte packets<br />
 1  10.0.0.254 (10.0.0.254)  1.236 ms  0.713 ms  0.288 ms<br />
 2  10.40.191.254 (10.40.191.254)  58.780 ms  31.526 ms  25.740 ms<br />
 3  a212-113-169-14.netcabo.pt (212.113.169.14)  7.916 ms  8.691 ms  38.554 ms<br />
 4  a212-113-176-70.netcabo.pt (212.113.176.70)  23.863 ms  14.347 ms  23.672 ms<br />
 5  a212-113-176-69.netcabo.pt (212.113.176.69)  25.344 ms  13.558 ms  39.334 ms<br />
 6  lis2-cr1-po0-0-4-0.cprm.net (195.8.0.69)  60.957 ms  43.192 ms  44.532 ms<br />
 7  lon1-cr1-po12-0-0.cprm.net (195.8.0.70)  77.503 ms  64.577 ms  46.387 ms<br />
 8  72.14.198.81 (72.14.198.81)  60.730 ms  46.733 ms  73.012 ms<br />
 9  209.85.255.175 (209.85.255.175)  63.231 ms 209.85.252.76 (209.85.252.76)  70.573 ms 209.85.255.175 (209.85.255.175)  67.999 ms<br />
10  66.249.95.106 (66.249.95.106)  79.603 ms  65.092 ms 209.85.248.12 (209.85.248.12)  71.509 ms<br />
11  216.239.43.123 (216.239.43.123)  69.156 ms 72.14.232.149 (72.14.232.149)  61.423 ms  73.370 ms<br />
12  209.85.255.13 (209.85.255.13)  87.062 ms  63.492 ms 209.85.255.23 (209.85.255.23)  85.022 ms<br />
13  66.249.94.146 (66.249.94.146)  71.771 ms 72.14.233.77 (72.14.233.77)  62.291 ms  69.529 ms<br />
14  ik-in-f83.google.com (66.249.91.83)  87.793 ms  60.903 ms  78.256 ms<br />
</code></p>
<h5>bolinhas wired:</h5>
<p><code><br />
pkoch@bolinhas:~$ traceroute google.com<br />
traceroute to google.com (64.233.167.99), 30 hops max, 40 byte packets<br />
 1  10.0.0.254 (10.0.0.254)  0.275 ms  0.268 ms  0.256 ms<br />
 2  10.40.191.254 (10.40.191.254)  18.956 ms  19.166 ms  19.233 ms<br />
 3  a212-113-169-6.netcabo.pt (212.113.169.6)  19.391 ms  27.191 ms  27.331 ms<br />
 4  a212-113-176-66.netcabo.pt (212.113.176.66)  33.936 ms  34.041 ms  34.148 ms<br />
 5  a212-113-176-73.netcabo.pt (212.113.176.73)  33.076 ms  33.178 ms  33.275 ms<br />
 6  lis2-cr1-gi-12-0-0.cprm.net (195.8.0.173)  62.214 ms  27.748 ms  27.842 ms<br />
 7  lis2-cr1-po0-0-4-0.cprm.net (195.8.0.69)  86.889 ms  36.410 ms  36.503 ms<br />
 8  lon1-cr1-po12-0-0.cprm.net (195.8.0.70)  50.871 ms  51.013 ms  51.122 ms<br />
 9  72.14.198.81 (72.14.198.81)  51.228 ms  51.343 ms  51.445 ms<br />
10  209.85.252.76 (209.85.252.76)  85.683 ms 209.85.255.175 (209.85.255.175)  51.476 ms  54.875 ms<br />
11  72.14.236.216 (72.14.236.216)  114.197 ms  114.539 ms 64.233.175.213 (64.233.175.213)  111.037 ms<br />
12  * 66.249.94.235 (66.249.94.235)  115.199 ms 209.85.248.216 (209.85.248.216)  115.592 ms<br />
13  * 216.239.46.224 (216.239.46.224)  346.006 ms *<br />
14  72.14.232.53 (72.14.232.53)  149.020 ms  149.131 ms 66.249.94.133 (66.249.94.133)  148.609 ms<br />
15  72.14.232.70 (72.14.232.70)  160.295 ms 64.233.175.26 (64.233.175.26)  158.286 ms  176.353 ms<br />
16  py-in-f99.google.com (64.233.167.99)  160.671 ms  134.829 ms  129.375 ms</p>
<p>pkoch@bolinhas:~$ traceroute mail.google.com<br />
traceroute to mail.google.com (66.249.91.83), 30 hops max, 40 byte packets<br />
 1  10.0.0.254 (10.0.0.254)  0.381 ms  0.275 ms  0.322 ms<br />
 2  10.40.191.254 (10.40.191.254)  37.660 ms  42.704 ms  42.843 ms<br />
 3  a212-113-169-14.netcabo.pt (212.113.169.14)  43.197 ms  43.329 ms  43.439 ms<br />
 4  a212-113-176-70.netcabo.pt (212.113.176.70)  49.254 ms  49.361 ms  49.468 ms<br />
 5  a212-113-176-69.netcabo.pt (212.113.176.69)  48.350 ms  48.493 ms  48.597 ms<br />
 6  lis2-cr1-po0-0-4-0.cprm.net (195.8.0.69)  49.434 ms  29.464 ms  29.583 ms<br />
 7  lon1-cr1-po12-0-0.cprm.net (195.8.0.70)  65.448 ms  108.295 ms  108.389 ms<br />
 8  72.14.198.81 (72.14.198.81)  107.701 ms  107.843 ms  112.629 ms<br />
 9  209.85.255.175 (209.85.255.175)  113.334 ms  113.481 ms  112.945 ms<br />
10  209.85.248.12 (209.85.248.12)  113.550 ms 66.249.95.106 (66.249.95.106)  113.893 ms 209.85.248.12 (209.85.248.12)  113.580 ms<br />
11  72.14.232.149 (72.14.232.149)  126.236 ms 216.239.43.123 (216.239.43.123)  122.004 ms  57.388 ms<br />
12  72.14.233.79 (72.14.233.79)  61.060 ms 209.85.255.23 (209.85.255.23)  67.601 ms 209.85.255.13 (209.85.255.13)  84.405 ms<br />
13  66.249.94.154 (66.249.94.154)  83.248 ms 72.14.233.81 (72.14.233.81)  84.178 ms 66.249.94.154 (66.249.94.154)  72.744 ms<br />
14  ik-in-f83.google.com (66.249.91.83)  60.367 ms 66.249.94.146 (66.249.94.146)  73.045 ms ik-in-f83.google.com (66.249.91.83)  65.326 ms<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2008/05/09/selective-access-to-mailgooglecom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Moar python on Bluehost</title>
		<link>http://pko.ch/2008/05/08/moar-python-on-bluehost/</link>
		<comments>http://pko.ch/2008/05/08/moar-python-on-bluehost/#comments</comments>
		<pubDate>Thu, 08 May 2008 23:26:27 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[bluehost]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/?p=4</guid>
		<description><![CDATA[It all began with me wanting Mergurial (hg for short) on Bluehost. I find mercurial as good as git but with more polish. I just followed some tutorial to get hg on Bluehost, and it was good. However, I longed for more. Pylons more. It&#8217;s a lot of packages to install, so I really didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>It all began with me wanting <a href="http://www.selenic.com/mercurial/">Mergurial</a> (hg for short) on <a href="http://www.bluehost.com/">Bluehost</a>. I find mercurial as good as <a href="http://git.or.cz/">git</a> but with more polish. I just followed <a href="http://www.blusb.eu/blog/2007/09/17/mercurial-scm-in-shared-hosts-bluehostcom/">some tutorial to get hg on Bluehost</a>, and it was good.</p>
<p>However, I longed for more. <a href="http://pylonshq.com/">Pylons</a> more. It&#8217;s a lot of packages to install, so I really didn&#8217;t want to do it by hand. If I resign to do it this time, it will happen on my next coding whim too. I tried to use <a href="http://peak.telecommunity.com/dist/ez_setup.py">ez_setup</a>, but it would screw up with my prefix. Tried virtual python from the <a href="http://peak.telecommunity.com/DevCenter/EasyInstall">easy_install  guys</a>, no go either. Tried messing with PYTHONPATH, PATH and the like, but it became really ugly really fast.</p>
<p>Bluehost&#8217;s python is very old. Has a big beard and all. Bluehost already forces me to use cgi after all, so i get to choose who runs the script. It might as well be my own version of python. And so it was! Grabbed the source, built it with a prefix and, lo and behold, I had a shiny python working. That simple. The night before it was configuration madness. This time, <code>./configure --PREFIX=$HOME/local &#038;&#038; make &#038;&#038; make install</code> or some cash equivalent operation. All went good from there.</p>
<p>Lesson learned: In shared hosting, when forced to use cgi, <code>./configure --PREFIX=$HOME/local</code> goes a long way. Use it!</p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2008/05/08/moar-python-on-bluehost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building ffmpeg on a Leopard</title>
		<link>http://pko.ch/2008/03/21/building-ffmpeg-on-a-leopard/</link>
		<comments>http://pko.ch/2008/03/21/building-ffmpeg-on-a-leopard/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 19:48:40 +0000</pubDate>
		<dc:creator>pkoch</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://pko.ch/2008/03/21/building-ffmpeg-on-a-leopard/</guid>
		<description><![CDATA[This is a tribute to those who want to, on their own, extract the mp3 out of flv files, or other similar operations, but encountered build issues or problems. I&#8217;m an avid listener of MacBreak Weekly and other TWiT network podcasts. However, the bandwidth provider for most of the shows, CacheFly, has grown a little [...]]]></description>
			<content:encoded><![CDATA[<p>This is a tribute to those who want to, on their own, extract the <code>mp3</code> out of <code>flv</code> files, or other similar operations, but encountered build issues or problems.</p>
<p>I&#8217;m an avid listener of <a href="http://twit.tv/mbw">MacBreak Weekly</a> and other <a href="http://twit.tv/">TWiT network</a> podcasts. However, the bandwidth provider for most of the shows, <a href="http://cachefly.com/">CacheFly</a>, has grown a little feud with my connections to their port 80. And I still wanted to listen to my regular entertainment. Someone <a href="http://leovilletownsquare.com/fusionbb/showtopic.php?tid/22700/">posted an alternate source</a> for the <code>mp3</code> files. However, they were distributed in a YouTube-ish fashion, <code>flv</code>s containing the <code>mp3</code>. I downloaded the <code>flv</code> file and felt a relieved to know I, with some help from <a href="http://perian.org/">Perian</a>, could again hear my shows. But not on some players (iPod, for example). My next quest then became to extract the <code>mp3</code> out of the <code>flv</code>. Some googling pointed me to <strong>ffmpeg</strong>.</p>
<p>From where I stand, ffmpeg is a very complete codec suite. I&#8217;m no fan of multimedia, so I&#8217;ll leave my understandings there. First step: aquire the source. That was easy. Just <code>svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg</code> and off we go. However, <code>./configure &#038;&#038; make</code> stopped in the middle of the build.</p>
<p><code><br />
ppc/dsputil_altivec.c: In function 'sad8_altivec':<br />
ppc/dsputil_altivec.c:292: warning: left-hand operand of comma expression has no effect<br />
......<br />
ppc/dsputil_altivec.c:292: warning: left-hand operand of comma expression has no effect<br />
ppc/dsputil_altivec.c:292: error: can't convert between vector values of different size<br />
ppc/dsputil_altivec.c:292: error: can't convert between vector values of different size<br />
</code></p>
<p>Pain. It&#8217;s not my code, it&#8217;s not simple C and it&#8217;s <a href="http://en.wikipedia.org/wiki/AltiVec">AltiVec</a> specific. I have a last generation PowerBook G4 with Leopard on it. That&#8217;s all I can tell. I tried to figure out what was going on, but the code had too many <em>exotic</em> reserved words for my taste (it was the first time I saw AltiVec&#8217;s <code>vector</code> as a reserved word in C). Pain.</p>
<p>So, can we sidestep the need to build something AltiVec specific? Yes, we can! Just build it with <code>./configure --disable-altivec &#038;&#038; make</code>. It ran smoothly from there! =)</p>
<p>The next step was to run <code>ffmpeg -i mbw81.flv -acodec copy mbw81.mp3</code> and it produced the desired mp3 file, just as seen on TV!</p>
]]></content:encoded>
			<wfw:commentRss>http://pko.ch/2008/03/21/building-ffmpeg-on-a-leopard/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
