<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>loopkid: Category English</title>
    <link>http://loopkid.net/articles/category/english</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>professional procrastinator</description>
    <item>
      <title>safariomnibar port for powerpc</title>
      <description>&lt;p&gt;I did a port of Olivier Poitrey&amp;#8217;s SafariOmnibar for Macs with PowerPC processor running Safari 5.0.6 on Mac OS 10.5.8. Go ahead and grab the &lt;a href="https://github.com/stefanschmidt/SafariOmnibar"&gt;current version&lt;/a&gt; over at Github.&lt;/p&gt;</description>
      <pubDate>Fri, 13 Jan 2012 03:39:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:17fd62d4-40bc-400d-adc4-cf32e025be08</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2012/01/13/safariomnibar-port-for-powerpc</link>
      <category>Softwareentwicklung</category>
      <category>English</category>
      <category>Mac OS X</category>
      <category>Safari</category>
      <trackback:ping>http://loopkid.net/articles/trackback/181278</trackback:ping>
    </item>
    <item>
      <title>old swedish mailbox in helsinki</title>
      <description>&lt;p&gt;&lt;img src="/files/swedish-mailbox-in-helsinki.jpg" alt="Schwedischer Briefkasten in Helsinki"/&gt;&lt;/p&gt;

&lt;p&gt;In the staircase of my current residence in Helsinki I have discovered traces of swedish language history. The mailbox sign says &amp;#8220;Bref och Tidningar&amp;#8221; which is swedish for &amp;#8220;letters and newspapers&amp;#8221;. It is not uncommon to find swedish labels in Helsinki since there is swedish speaking minority but this one caught my attention because it had a non-standard spelling. Since the house has a Jugendstil architecture my assumption was that maybe it&amp;#8217;s an old spelling from the turn of the last century. I did some research and found some statements supporting my assumption.&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Before the spelling reform of 1906 the v sound was represented by hv- at the beginning of some words, -fv- medially and -f finally. One may still encounter forms like hvad (vad), hvem (vem), gräfva(gräva), bref(brev) in older texts. (Swedish: a comprehensive grammar, Philip Holmes and Ian Hinchliffe, Routledge, 2003, page 584)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Furthermore I found out the house was actually built 1900 by the finnish architect office Usko Nyström, Petrelius &amp;amp; Penttilä which is six years before the &lt;a href="http://sv.wikipedia.org/wiki/Stavningsreformen_1906"&gt;spelling reform&lt;/a&gt; so it seems quite reasonable they&amp;#8217;ve used the old spelling on the mailbox.&lt;/p&gt;</description>
      <pubDate>Fri, 16 Dec 2011 04:33:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:23561242-f819-4deb-8b00-5657bd7996ca</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/12/16/old-swedish-mailbox-in-helsinki</link>
      <category>Schweden</category>
      <category>English</category>
      <category>Finnland</category>
      <category>Helsinki</category>
      <trackback:ping>http://loopkid.net/articles/trackback/178276</trackback:ping>
    </item>
    <item>
      <title>vox for mac os x website moved</title>
      <description>&lt;p&gt;The minimalist Mac OS X audio player of &lt;a href="http://alenofx.jigsy.com/"&gt;Alessio Nonni&lt;/a&gt; has moved. Check out the new &lt;a href="http://voxapp.didgeroo.com/"&gt;Vox&lt;/a&gt; website for a Lion compatible version. If you enjoy the app don&amp;#8217;t hesitate to make a donation to support &lt;strike&gt;the suffering italian economy&lt;/strike&gt; a talented developer!&lt;/p&gt;</description>
      <pubDate>Sat, 15 Oct 2011 13:24:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:df692050-b08a-4f42-bc90-6455b007e728</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/10/15/vox-for-mac-os-x-website-moved</link>
      <category>Mac OS X</category>
      <category>English</category>
      <trackback:ping>http://loopkid.net/articles/trackback/175476</trackback:ping>
    </item>
    <item>
      <title>really empty the safari cache</title>
      <description>&lt;p&gt;After telling Safari to empty the cache I wondered If Safari actually did what I told it.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ du -sh ~/Library/Caches/com.apple.safari
629M    /Users/stefan/Library/Caches/com.apple.safari
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hm, 626 megabyte don&amp;#8217;t look like obedience to me. Let&amp;#8217;s see what&amp;#8217;s in there.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ du -sh ~/Library/Caches/com.apple.safari/*
173M    /Users/stefan/Library/Caches/com.apple.safari/Cache.db
5.6M    /Users/stefan/Library/Caches/com.apple.safari/Extensions
450M    /Users/stefan/Library/Caches/com.apple.safari/Webpage Previews
 64K    /Users/stefan/Library/Caches/com.apple.safari/com.apple.opencl
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;450 megabyte of &amp;#8220;Webpage Previews&amp;#8221;?&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ find ~/Library/Caches/com.apple.safari/Webpage\ Previews -type f \
| sed -E 's/.*\.([^\.]*)/\1/' | sort | uniq -c
7016 jpeg
 400 png
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;No wonder we need gigabyte sized hard disks today. Let&amp;#8217;s delete the crap altogether.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ rm -r ~/Library/Caches/com.apple.safari
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And let&amp;#8217;s make sure it doesn&amp;#8217;t come back (works in Safari 5.0.3).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So, what have we gained after restarting Safari?&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ du -sh ~/Library/Caches/com.apple.safari | awk '{print $1}'
3.6M
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Nice, especially in times of undersized solid state disks.&lt;/p&gt;</description>
      <pubDate>Tue, 11 Oct 2011 09:24:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:b9b0263e-f5f6-40c8-bead-c4e779f92f0e</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/10/11/really-empty-the-safari-cache</link>
      <category>Mac OS X</category>
      <category>Safari</category>
      <category>English</category>
      <trackback:ping>http://loopkid.net/articles/trackback/175343</trackback:ping>
    </item>
    <item>
      <title>downgrade safari 5.1 to 5.0.x on lion</title>
      <description>&lt;p&gt;If you want to downgrade Safari 5.1 to Safari 5.0.x on Lion you can download &lt;a href="http://appldnld.apple.com/Safari5/061-9477.20101118.Sfr34/Safari5.0.3SnowLeopard.dmg"&gt;Safari 5.0.3&lt;/a&gt; from the original Apple servers and extract just the Browser with &lt;a href="http://www.charlessoft.com/"&gt;Pacifist&lt;/a&gt;. The installation image is called &lt;code&gt;Safari5.0.3SnowLeopard.dmg&lt;/code&gt; but it works just fine on Lion. Have fun!&lt;/p&gt;</description>
      <pubDate>Tue, 11 Oct 2011 07:11:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:0b1f2a34-1d51-43ae-a459-185add0a52a1</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/10/11/downgrade-safari-5-1-to-5-0-x-on-lion</link>
      <category>English</category>
      <category>Mac OS X</category>
      <category>Safari</category>
      <trackback:ping>http://loopkid.net/articles/trackback/175339</trackback:ping>
    </item>
    <item>
      <title>recursive chmod and chown on files</title>
      <description>&lt;p&gt;If you want to recursively apply permissions to files it&amp;#8217;s best to use &lt;a href="http://www.gnu.org/s/parallel/"&gt;GNU parallel&lt;/a&gt; because it handles &lt;a href="http://www.gnu.org/s/parallel/man.html#differences_between_xargs_and_gnu_parallel"&gt;obscure filenames&lt;/a&gt; robustly:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;find directory -type f | parallel -m chmod mode
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you want to change ownership of the files, you can use a root subshell:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo bash -c "find directory -type f | parallel -m chown user:group"
&lt;/code&gt;&lt;/pre&gt;</description>
      <pubDate>Fri, 07 Oct 2011 21:47:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:af774447-a91b-4696-a2c4-0e628f954908</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/10/07/recursive-chmod-and-chown-on-files</link>
      <category>English</category>
      <category>Mac OS X</category>
      <category>Linux</category>
      <trackback:ping>http://loopkid.net/articles/trackback/175240</trackback:ping>
    </item>
    <item>
      <title>make ard work with dynamic dns</title>
      <description>&lt;p&gt;With its default settings &lt;a href="http://en.wikipedia.org/wiki/Apple_Remote_Desktop"&gt;Apple Remote Desktop&lt;/a&gt; doesn&amp;#8217;t play well with dynamic DNS services. If you add a domain with a dynamic IP address it retrieves the IP address only once and if the IP address changes, the connect fails. A temporary workaround is to remove the IP address from the computer information window or to remove and readd the computer, but that certainly sucks for the long term.&lt;/p&gt;

&lt;p&gt;A permanent solution is to disable reverse IP lookups:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;defaults write com.apple.RemoteDesktop \
DisableReverseIPLookup -bool yes
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now Apple Remote Desktop will update the IPs upon launch.&lt;/p&gt;</description>
      <pubDate>Thu, 22 Sep 2011 14:11:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:e6206681-60bd-4fda-b928-cd47d493d94c</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/09/22/make-ard-work-with-dynamic-dns</link>
      <category>English</category>
      <category>Mac OS X</category>
      <trackback:ping>http://loopkid.net/articles/trackback/174846</trackback:ping>
    </item>
    <item>
      <title>ssl certificate errors on mac os x</title>
      <description>&lt;p&gt;If you try to download something from Github via https with &lt;code&gt;wget&lt;/code&gt; on Mac OS X you might receive one of the following errors:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ERROR: The certificate of `github.com' is not trusted.
ERROR: The certificate of `nodeload.github.com' is not trusted.
ERROR: The certificate of `raw.github.com' is not trusted.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The reason is that the default certificate directory is hard coded in &lt;code&gt;wget&lt;/code&gt; as &lt;code&gt;/etc/ssl/certs&lt;/code&gt; which corresponds to the Linux directory layout and doesn&amp;#8217;t exist on Mac OS X. I&amp;#8217;m actually quite suprised by this because I installed &lt;code&gt;wget&lt;/code&gt; via MacPorts so I would have expected it to have been patched for my plattform.&lt;/p&gt;

&lt;p&gt;So, where do you get root certificates from?&lt;/p&gt;

&lt;p&gt;You could use the certificates from the default curl installation on Mac OS X, but they are hopelessly outdated (Yes Apple, I&amp;#8217;m looking at you!):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ head -n 5 /usr/share/curl/curl-ca-bundle.crt
##
## $Id: ca-bundle.crt,v 1.2 2003/03/24 11:06:57 bagder Exp $
##
##  ca-bundle.crt -- Bundle of CA Root Certificates
##  Last Modified: Thu Mar  2 09:32:46 CET 2000
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The version from the &lt;code&gt;curl&lt;/code&gt; website is a lot fresher:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ curl -s http://curl.haxx.se/ca/cacert.pem | head -n 4
##
## ca-bundle.crt -- Bundle of CA Root Certificates
##
## Certificate data from Mozilla as of: Fri Sep  2 23:34:57 2011
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Interestingly the version from MacPorts is the freshest:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ head -n 4 /opt/local/share/curl/curl-ca-bundle.crt
##
## lib/ca-bundle.crt -- Bundle of CA Root Certificates
##
## Certificate data from Mozilla as of: Tue Sep 20 00:13:05 2011
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You don&amp;#8217;t need to install &lt;code&gt;curl&lt;/code&gt; to get the certificates, there is a separate bundle:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ sudo port install curl-ca-bundle
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Using MacPorts also has the advantage, that your root certificates get upgraded automatically when you upgrade your outdated ports.&lt;/p&gt;

&lt;p&gt;After you installed the root certificates you need to tell &lt;code&gt;wget&lt;/code&gt; where to look. &lt;/p&gt;

&lt;p&gt;You can use a parameter:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ wget --ca-certificate=/opt/local/share/curl/curl-ca-bundle.crt \
https://www.domain.com/path/to/your/file
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or you can add an option to your &lt;code&gt;~/.wgetrc&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CA_CERTIFICATE=/opt/local/share/curl/curl-ca-bundle.crt
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The latter is of course much more meaningful, because it saves you from manually applying the lengthy parameter on every https download.&lt;/p&gt;</description>
      <pubDate>Tue, 20 Sep 2011 02:30:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:b83b181b-247d-4404-b619-770174591f7d</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/09/20/ssl-certificate-errors-on-mac-os-x</link>
      <category>English</category>
      <category>Mac OS X</category>
      <trackback:ping>http://loopkid.net/articles/trackback/174805</trackback:ping>
    </item>
    <item>
      <title>acoustic feedback in the terminal</title>
      <description>&lt;p&gt;If you compile larger programs on the command line of Mac OS X it can take quite a while and you will probably not want to stare at the Terminal until compilation is finished. To give you an acoustic feedback you can create some aliases:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;alias success='afplay /System/Library/Sounds/Glass.aiff'
alias failure='afplay /System/Library/Sounds/Basso.aiff'
alias exitsound='if [ $? -eq 0 ]; then success; else failure; fi'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I like to put them in &lt;code&gt;~/.bash_aliases&lt;/code&gt; and source them from &lt;code&gt;~/.bashrc&lt;/code&gt; put that&amp;#8217;s just a matter of taste. Now you can enjoy the full glory of the alert sounds while doing stuff in the Terminal!&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo port install something; exitsound
./configure &amp;amp;&amp;amp; make; exitsound
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Have fun!&lt;/p&gt;</description>
      <pubDate>Mon, 19 Sep 2011 22:33:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:3eb240e2-8f41-4e8f-9913-a8ee35407059</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/09/19/acoustic-feedback-in-the-terminal</link>
      <category>English</category>
      <category>Mac OS X</category>
      <trackback:ping>http://loopkid.net/articles/trackback/174801</trackback:ping>
    </item>
    <item>
      <title>safari 5.1 user agent changed</title>
      <description>&lt;p&gt;If you are using &lt;a href="http://glimmerblocker.org/"&gt;Glimmerblocker&lt;/a&gt; and &lt;a href="http://www.obdev.at/products/littlesnitch"&gt;Little Snitch&lt;/a&gt; together with Safari 5.1 you need to be aware that Safari 5.1 uses a different user agent so you have to include WebProcess and possibly PluginProcess in your PAC file. I have created updated versions of the &lt;a href="http://loopkid.net/files/pac.xml.txt"&gt;PAC rule&lt;/a&gt; and the &lt;a href="http://loopkid.net/files/pac.php.txt"&gt;PAC script&lt;/a&gt;. For more information see the &lt;a href="http://glimmerblocker.org/wiki/LittleSnitch"&gt;Glimmerblocker wiki&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Fri, 19 Aug 2011 02:49:00 +0200</pubDate>
      <guid isPermaLink="false">urn:uuid:a8cf842f-8998-45b4-994a-4cba89e4c00a</guid>
      <author>Stefan</author>
      <link>http://loopkid.net/articles/2011/08/19/safari-5-1-user-agent-changed</link>
      <category>English</category>
      <category>Mac OS X</category>
      <trackback:ping>http://loopkid.net/articles/trackback/174196</trackback:ping>
    </item>
  </channel>
</rss>

