The Tao of Mac http://the.taoofmac.com Tech Made Simple CC Attribution-NonCommercial-NoDerivs 3.0 30 Sat, 01 Nov 2014 11:47:37 GMT Sat, 01 Nov 2014 11:47:37 GMT http://blogs.law.harvard.edu/tech/rss yaki iPad at a Crossroads http://the.taoofmac.com/space/links/2014/10/29/0953 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/29/0953/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/29/0953/large.jpg" class="thumb" /></a></div> <p><a href="http://the.taoofmac.com/space/com/Apple" class="wiki" title="com/Apple was updated 8 years, 7 months ago">Apple</a> is constantly shirking away from letting the <a href="http://the.taoofmac.com/space/com/Apple/iPad" class="wiki" title="com/Apple/iPad was updated 1 year, 12 months ago">iPad</a> become a productivity tool, and it’s going to cost them in the long run.</p> <p>Having used my <a href="http://the.taoofmac.com/space/com/Apple/iPad" class="wiki" title="com/Apple/iPad was updated 1 year, 12 months ago">iPads</a> as laptop replacements for years, I got tired of the absence of simple things like keyboard-based task switching—which is only (sort of) available <a href="http://the.taoofmac.com/space/blog/2012/06/22/0023" class="wiki" title="blog/2012/06/22/0023 was updated 1 year, 3 months ago">with VoiceOver enabled</a>—a filesystem, or data sharing functionality like activities (which made it rather belatedly into iOS 8), because a perquisite for productivity these days is <em>smooth flow between apps</em>, both from a UX perspective and in terms of data.</p> <p><a href="http://the.taoofmac.com/space/com/Apple" class="wiki" title="com/Apple was updated 8 years, 7 months ago">Apple</a> can’t deliver on that if it keeps thinking of the <a href="http://the.taoofmac.com/space/com/Apple/iPad" class="wiki" title="com/Apple/iPad was updated 1 year, 12 months ago">iPad</a> as an (even bigger) <a href="http://the.taoofmac.com/space/com/Apple/iPhone" class="wiki" title="com/Apple/iPhone was updated 3 years, 3 weeks ago">iPhone</a>. And it’s not a matter of size (although it probably doesn’t want to kill off the 11” <a href="http://the.taoofmac.com/space/com/Apple/MacBook/Air" class="wikiunknown" title="com/Apple/MacBook/Air is not defined yet">Air</a> just yet), but of computing paradigms—the “data silo” model of <a href="http://the.taoofmac.com/space/com/Apple/iOS" class="wikiunknown" title="com/Apple/iOS is not defined yet">iOS</a> apps is also a problem.</p> <p>But <a href="http://the.taoofmac.com/space/blog/2013/09/19/0900" class="wiki" title="blog/2013/09/19/0900 was updated 1 year, 1 month ago">the UX certainly doesn’t help</a>. The fact that <a href="http://the.taoofmac.com/space/blog/2012/06/22/0023" class="wiki" title="blog/2012/06/22/0023 was updated 1 year, 3 months ago">my post from 2012</a> about <a href="http://the.taoofmac.com/space/com/Apple/iPad" class="wiki" title="com/Apple/iPad was updated 1 year, 12 months ago">iPad</a> keyboard shortcuts has been <em>by far</em> the most popular article on my site for the past couple of years should tell you something. Heck, <em>it should tell <a href="http://the.taoofmac.com/space/com/Apple" class="wiki" title="com/Apple was updated 8 years, 7 months ago">Apple</a> something</em>.</p> <p>No wonder <a href="http://the.taoofmac.com/space/links/2014/05/22/1344" class="wiki" title="links/2014/05/22/1344 was updated 5 months, 1 week ago">I find the Microsoft Surface compelling</a>. It literally pushes all the right buttons when it comes to productivity.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/29/0953#ipad-at-a-crossroads" title="link to http://the.taoofmac.com/space/links/2014/10/29/0953#ipad-at-a-crossroads">&#x262F;</a></small> Wed, 29 Oct 2014 09:53:23 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/29/0953#ipad-at-a-crossroads wiki ASP.NET vNext on OSX and Linux http://the.taoofmac.com/space/links/2014/05/26/2028 <div style="-webkit-border-radius: 8px; background-color: #ccf; color: #000; border: 1px solid #aaf; margin: 0; padding: 3px; overflow: hidden;"><i>This is an update to an item originally published on Monday, May 26<sup>th</sup> 2014.</i></div><br clear="all"/> <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/05/26/2028/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/05/26/2028/large.jpg" class="thumb" /></a></div> <p>Couldn’t have popped up in a more timely fashion (although I do wish I’d come across this last week).</p> <p>Let’s see if I can get it all to work on <a href="http://en.wikipedia.org/wiki/ARM" title="link to ARM on en.wikipedia.org" class="interwiki" rel="Wikipedia:ARM"><span class="caps">ARM</span></a> too.</p> <p><strong>Update:</strong> Yep. <a href="http://the.taoofmac.com/space/dev/dotNET/ARM" class="wiki" title="dev/dotNET/ARM was updated 30 minutes ago">Got it working now</a></p><br/><small><a href="http://the.taoofmac.com/space/links/2014/05/26/2028#asp-net-vnext-on-osx-and-linux" title="link to http://the.taoofmac.com/space/links/2014/05/26/2028#asp-net-vnext-on-osx-and-linux">&#x262F;</a></small> Tue, 28 Oct 2014 11:36:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/05/26/2028#asp-net-vnext-on-osx-and-linux wiki Glacially Slow Coding http://the.taoofmac.com/space/blog/2014/10/26/1740 <p>Despite having shifted my personal schedule towards (very) early mornings, I’ve managed to sneak in a fair amount of experimental stuff in the evenings.</p> <p>Some of it is systems programming stuff tangentially related to work (like a minimalist <a href="https://github.com/sapo/sapo-broker" title="secure link to https://github.com/sapo/sapo-broker" class="https" rel="https://github.com/sapo/sapo-broker">SAPO Broker</a> <a href="https://github.com/rcarmo/sapo-broker-golang" title="secure link to https://github.com/rcarmo/sapo-broker-golang" class="https" rel="https://github.com/rcarmo/sapo-broker-golang">client</a> written in <a href="http://the.taoofmac.com/space/dev/Golang" class="wiki" title="dev/Golang was updated 1 month, 3 weeks ago">Go</a>, which I expect to finish next week), and other goes straight off the deep end (like <a href="https://github.com/rcarmo/transducers-py" title="secure link to https://github.com/rcarmo/transducers-py" class="https" rel="https://github.com/rcarmo/transducers-py">my stab at porting</a> <a href="http://the.taoofmac.com/space/dev/Clojure" class="wiki" title="dev/Clojure was updated 1 month, 3 weeks ago">Clojure</a> transducers to <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 1 week, 8 hours ago">Python</a>, which is sure to take a while longer).</p> <p>And then there’s… oh, let’s see… <a href="https://github.com/rcarmo/sushy" title="secure link to https://github.com/rcarmo/sushy" class="https" rel="https://github.com/rcarmo/sushy">sushy</a>, a <a href="https://github.com/daid/Cura/pull/988" title="secure link to https://github.com/daid/Cura/pull/988" class="https" rel="https://github.com/daid/Cura/pull/988">little hacking on Cura</a>, a <a href="https://github.com/rcarmo/ink-bottle" title="secure link to https://github.com/rcarmo/ink-bottle" class="https" rel="https://github.com/rcarmo/ink-bottle">reference template</a> I’m putting together for a training session (and its accompanying <a href="https://github.com/rcarmo/python-utils" title="secure link to https://github.com/rcarmo/python-utils" class="https" rel="https://github.com/rcarmo/python-utils">utilities library</a>), our <a href="https://github.com/sapo/digital-signage-server" title="secure link to https://github.com/sapo/digital-signage-server" class="https" rel="https://github.com/sapo/digital-signage-server">digital signage server</a>, which needs some <a href="https://github.com/rcarmo/pink" title="secure link to https://github.com/rcarmo/pink" class="https" rel="https://github.com/rcarmo/pink">front-end updates</a>, and a half-dozen other little projects in private BitBucket repos, all of them going days (sometimes weeks) without a commit, but never truly halted.</p> <p>But some are simply lots of fun. Like <a href="http://arcadia-unity.tumblr.com" title="external link to http://arcadia-unity.tumblr.com" class="http" rel="http://arcadia-unity.tumblr.com">Arcadia</a>, which brings together two of my favorite things (3D graphics and <a href="http://the.taoofmac.com/space/dev/Clojure" class="wiki" title="dev/Clojure was updated 1 month, 3 weeks ago">Clojure</a>). I set it up on Tuesday evening and I’ve already re-written part of the <a href="http://the.taoofmac.com/space/dev/Csharp" class="wiki" title="dev/Csharp was updated 7 months, 6 hours ago">C#</a> graph stuff I did <a href="http://the.taoofmac.com/space/blog/2014/05/25/1850" class="wiki" title="blog/2014/05/25/1850 was updated 5 months, 3 days ago">a few months back</a>. I’m now stuck on some Unity quirks (I need a nice way to highlight active nodes), so I decided to put that aside for a bit.</p> <p>Speaking of <a href="http://the.taoofmac.com/space/dev/dotNET" class="wiki" title="dev/dotNET was updated 6 years, 6 months ago">.NET</a>, I still haven’t had time to <a href="http://the.taoofmac.com/space/blog/2014/06/08/2330" class="wiki" title="blog/2014/06/08/2330 was updated 4 months, 2 weeks ago">get to grips with Ocaml/F# in earnest</a>, but this weekend I decided to at least <a href="http://the.taoofmac.com/space/dev/dotNET/ARM" class="wiki" title="dev/dotNET/ARM was updated 7 hours, 21 minutes ago">get up to speed on building Mono for ARM</a> like I planned <a href="http://the.taoofmac.com/space/links/2014/05/26/2028" class="wiki" title="links/2014/05/26/2028 was updated some time ago">back in May</a>, and am now trying to get vNext to work on my ARM boxes with moderate success — one that’s done I’ll tackle getting F# (and <a href="http://the.taoofmac.com/space/dev/Clojure" class="wiki" title="dev/Clojure was updated 1 month, 3 weeks ago">ClojureCLR</a>) to run.</p> <p>At this rate, I really ought to have it running by now. But I might need a few extra weekends, especially now that my <a href="http://the.taoofmac.com/space/blog/2014/10/05/2130" class="wiki" title="blog/2014/10/05/2130 was updated 2 weeks, 6 days ago">brand new 3D printer</a> developed what appears to be <a href="http://www.mibqyyo.com/comunidad/discussion/38746/problema-com-termistor-prusa-i3/p1" title="external link to http://www.mibqyyo.com/comunidad/discussion/38746/problema-com-termistor-prusa-i3/p1" class="http" rel="http://www.mibqyyo.com/comunidad/discussion/38746/problema-com-termistor-prusa-i3/p1">a thermistor fault</a> — more on that later in the week, perhaps.</p><br/><small><a href="http://the.taoofmac.com/space/blog/2014/10/26/1740#glacially-slow-coding" title="link to http://the.taoofmac.com/space/blog/2014/10/26/1740#glacially-slow-coding">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/blog/2014/10/26/1740#glacially-slow-coding"><strong>Glacially Slow Coding</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Sunday, Oct 26<sup>th</sup> 2014. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Sun, 26 Oct 2014 17:35:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/blog/2014/10/26/1740#glacially-slow-coding wiki iCloud Uploads Local Data Outside of iCloud Drive http://the.taoofmac.com/space/links/2014/10/26/1602 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/26/1602/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/26/1602/large.jpg" class="thumb" /></a></div> <p>I get that drafts might be automatically moved over during an upgrade, but syncing recent e-mail addresses from <span class="caps">ALL</span> accounts?</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/26/1602#icloud-uploads-local-data-outside-of-icloud-drive" title="link to http://the.taoofmac.com/space/links/2014/10/26/1602#icloud-uploads-local-data-outside-of-icloud-drive">&#x262F;</a></small> Sun, 26 Oct 2014 16:02:22 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/26/1602#icloud-uploads-local-data-outside-of-icloud-drive wiki Setting up a modern .NET stack on ARM devices http://the.taoofmac.com/space/dev/dotNET/ARM <p>These are my (work-in-progress) notes on setting up a bleeding-edge <a href="http://the.taoofmac.com/space/dev/Mono" class="wiki" title="dev/Mono was updated 9 years, 7 months ago">Mono</a> runtime and ASP.NET vNext on <a href="http://the.taoofmac.com/space/hw/RaspberryPi" class="wiki" title="hw/RaspberryPi was updated 9 months, 1 week ago">Raspberry Pi</a> and <a href="http://hardkernel.com" title="external link to http://hardkernel.com" class="http" rel="http://hardkernel.com">ODROID</a> devices with hardware floating point.</p> <h2 id="building-mono-from-source">Building Mono from Source</h2> <div class="syntax"><pre><span class="c"># I&#39;m going to do everything as root</span> su - <span class="c"># grab minimal dependencies</span> apt-get install build-essential mono-runtime autoconf libtool automake <span class="c"># import required certificates</span> mozroots --import --ask-remove --machine <span class="c"># Now check out the Mono tree (this alone will take ages if you have a slow SD card)</span> git clone git://github.com/mono/mono.git <span class="nb">cd </span>mono ./autogen.sh --prefix<span class="o">=</span>/usr/local <span class="c"># grab the bootstrap compiler</span> make get-monolite-latest <span class="c"># now is a nice time to go off and take a long stroll by the beach</span> make <span class="c"># use this instead if you have distcc like me, it will speed up building the native bits: </span> <span class="c"># DISTCC_NODES=“node1 node2 node3 node4 localhost” make -j5 CC=distcc</span> <span class="c"># now install it locally</span> make install <span class="c"># Should report 3.10.1 (or above) and hardware floating point</span> mono --version </pre></div> <p>Here’s my current sample output on a <a href="http://the.taoofmac.com/space/hw/RaspberryPi" class="wiki" title="hw/RaspberryPi was updated 9 months, 1 week ago">Pi</a>:</p> <div class="syntax"><pre>Mono JIT compiler version 3.10.1 (master/8da186e Sat Oct 25 19:32:35 WEST 2014) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: normal Notifications: epoll Architecture: armel,vfp+hard Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen </pre></div> <h3 id="a-note-on-llvm-support">A Note on LLVM support</h3> <p>It’s possible to set up <a href="https://github.com/mono/llvm" title="secure link to https://github.com/mono/llvm" class="https" rel="https://github.com/mono/llvm">the Mono LLVM fork</a> to have Mono use LLVM instead of its built-in JIT, but it requires picking the right Git branch and passing both <code>--enable-llvm=yes</code> to <code>autogen.sh</code> and <code>--llvm</code> to <code>mono</code> itself and is not very useful on the <a href="http://the.taoofmac.com/space/hw/RaspberryPi" class="wiki" title="hw/RaspberryPi was updated 9 months, 1 week ago">Pi</a>, since the trade-offs in RAM/performance are debatable. Start up time, in particular, seems to take a sizable hit.</p> <h2 id="vnext">vNext</h2> <p>This uses <code>myget.org</code> to fetch the nightly vNext package builds (by Eilon Lipton, who works at Microsoft), so your mileage may vary depending on how stable the nightlies are.</p> <div class="syntax"><pre><span class="c"># grab K tools</span> curl https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh <span class="o">&amp;&amp;</span> <span class="nb">source</span> ~/.kre/kvm/kvm.sh kvm upgrade <span class="c"># add the package repo certificates</span> sudo certmgr -ssl -m https://nuget.org sudo certmgr -ssl -m https://www.myget.org mozroots --import --sync <span class="c"># run the samples</span> git clone https://github.com/aspnet/home <span class="nb">cd cd </span>home/samples/HelloWeb kpm restore -s https://www.myget.org/F/aspnetvnext/ </pre></div><br/><small><a href="http://the.taoofmac.com/space/dev/dotNET/ARM" title="link to http://the.taoofmac.com/space/dev/dotNET/ARM">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/dev/dotNET/ARM"><strong>Setting up a modern .NET stack on ARM devices</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Sunday, Oct 26<sup>th</sup> 2014. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Sun, 26 Oct 2014 11:28:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/dev/dotNET/ARM wiki R http://the.taoofmac.com/space/dev/R <div style="-webkit-border-radius: 8px; background-color: #ccf; color: #000; border: 1px solid #aaf; margin: 0; padding: 3px; overflow: hidden;"><i>This is an update to an item originally published on Friday, May 11<sup>th</sup> 2012.</i></div><br clear="all"/><p><a href="http://www.r-project.org/" title="external link to http://www.r-project.org/" class="http" rel="http://www.r-project.org/">R</a> is a free software environment for statistical computing and graphics that I’ve <a href="http://the.taoofmac.com/space/links/2012/05/09/2223" class="wiki" title="links/2012/05/09/2223 was updated 2 years, 5 months ago">recently</a> started using.</p> <p>I wholeheartedly recommend the the awesome <a href="http://rstudio.org/" title="external link to http://rstudio.org/" class="http" rel="http://rstudio.org/">RStudio</a> if you want to get to grips with it, and looking into <a href="https://github.com/RevolutionAnalytics/RHadoop/wiki" title="secure link to https://github.com/RevolutionAnalytics/RHadoop/wiki" class="https" rel="https://github.com/RevolutionAnalytics/RHadoop/wiki">RHadoop</a> if you want to hook up with your <a href="http://hadoop.apache.org/" title="external link to http://hadoop.apache.org/" class="http" rel="http://hadoop.apache.org/">Hadoop</a> cluster.</p> <h3 id="resources">Resources:</h3> <p><div class="include"><table class="compact" style="background:transparent; margin: 0px; padding: 0px; border-collapse: collapse;"> <thead> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Date</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Link</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Notes</th> </tr> </thead> <tbody> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th colspan="3" style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">2014</th> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Oct 25</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://google.github.io/CausalImpact/CausalImpact.html" title="external link to http://google.github.io/CausalImpact/CausalImpact.html" class="http" rel="http://google.github.io/CausalImpact/CausalImpact.html">CausalImpact</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An R package for Bayesian inference.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th colspan="3" style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">2012</th> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Nov 28</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/wch/extrafont/" title="secure link to https://github.com/wch/extrafont/" class="https" rel="https://github.com/wch/extrafont/">Extrafont</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Use external fonts in charts</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Nov 25</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://ramnathv.github.com/slidify/" title="external link to http://ramnathv.github.com/slidify/" class="http" rel="http://ramnathv.github.com/slidify/">Slidify</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A very nice way to present data from R projects.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">May 18</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://rpy.sourceforge.net/" title="external link to http://rpy.sourceforge.net/" class="http" rel="http://rpy.sourceforge.net/">Rpy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A set of <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 5 days, 23 hours ago">Python</a> bindings</td> </tr> </tbody> </table></div></p><br/><small><a href="http://the.taoofmac.com/space/dev/R" title="link to http://the.taoofmac.com/space/dev/R">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/dev/R"><strong>R</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Friday, May 11<sup>th</sup> 2012. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Sat, 25 Oct 2014 10:39:01 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/dev/R wiki Itsycal http://the.taoofmac.com/space/links/2014/10/22/0905 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/22/0905/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/22/0905/large.jpg" class="thumb" /></a></div> <p>Since <a href="http://shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock" title="external link to http://shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock" class="http" rel="http://shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock">Day-O</a> isn’t going to be updated for Yosemite, this has replaced it on my menu bar. So far, so good.</p> <p>To be honest, <a href="http://the.taoofmac.com/space/com/Apple" class="wiki" title="com/Apple was updated 8 years, 6 months ago">Apple</a> had already (sort of) “Sherlocked” Day-O by including a new option to show the current date on the menu bar (which is what I need the most), but there’s no way to customize the date format (I get the day <em>and</em> the month, which take up too much space), plus being able to view my calendars at a glance is a substantial upgrade over what Day-O provided. I won’t miss it.</p> <p><strong>Update:</strong> I just got a suggestion to check out <a href="http://plumamazing.com/mac/tinycal" title="external link to http://plumamazing.com/mac/tinycal" class="http" rel="http://plumamazing.com/mac/tinycal">TinyCal</a> as well, which seems rather nice too.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/22/0905#itsycal" title="link to http://the.taoofmac.com/space/links/2014/10/22/0905#itsycal">&#x262F;</a></small> Wed, 22 Oct 2014 09:05:46 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/22/0905#itsycal wiki Piccolo, the tiny CNC-bot http://the.taoofmac.com/space/links/2014/10/20/0950 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/20/0950/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/20/0950/large.jpg" class="thumb" /></a></div> <p>Very cute.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/20/0950#piccolo--the-tiny-cnc-bot" title="link to http://the.taoofmac.com/space/links/2014/10/20/0950#piccolo--the-tiny-cnc-bot">&#x262F;</a></small> Mon, 20 Oct 2014 09:50:32 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/20/0950#piccolo--the-tiny-cnc-bot wiki DAAP http://the.taoofmac.com/space/com/Apple/DAAP <div style="-webkit-border-radius: 8px; background-color: #ccf; color: #000; border: 1px solid #aaf; margin: 0; padding: 3px; overflow: hidden;"><i>This is an update to an item originally published on Monday, Mar 12<sup>th</sup> 2007.</i></div><br clear="all"/><p><a href="http://the.taoofmac.com/space/com/Apple/DAAP" class="wiki" title="com/Apple/DAAP was updated 1 hour, 14 minutes ago"><span class="caps">DAAP</span></a> is the <a href="http://the.taoofmac.com/space/apps/iTunes" class="wiki" title="apps/iTunes was updated 4 years, 6 months ago">iTunes</a> Digital Audio Access Protocol, and is essentially an <a href="http://the.taoofmac.com/space/protocols/HTTP" class="wiki" title="protocols/HTTP was updated 6 years, 1 month ago"><span class="caps" title="HyperText Transfer Protocol">HTTP</span>-like</a> -like mechanism to serve music files over <a href="http://en.wikipedia.org/wiki/Internet_Protocol_Suite" title="link to Internet_Protocol_Suite on en.wikipedia.org" class="interwiki" rel="Wikipedia:Internet_Protocol_Suite"><span class="caps" title="Transmission Control Protocol">TCP</span>/IP</a> on <a href="http://the.taoofmac.com/space/protocols/TCP" class="wiki" title="protocols/TCP was updated 6 years, 6 months ago"><span class="caps" title="Transmission Control Protocol">TCP</span></a> port 3689.</p> <p><a href="http://the.taoofmac.com/space/com/Apple/DAAP" class="wiki" title="com/Apple/DAAP was updated 1 hour, 14 minutes ago"><span class="caps">DAAP</span></a> servers usually advertise themselves using <a href="http://the.taoofmac.com/space/com/Apple/Bonjour" class="wiki" title="com/Apple/Bonjour was updated 4 years, 10 months ago">Bonjour</a>, so any port can be used provided the announcement follows the <code>_daap.tcp.</code> schema.</p> <h3>Resources:</h3> <table class="compact" style="background:transparent; margin: 0px; padding: 0px; border-collapse: collapse;"> <thead> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Date</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Link</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Description</th> </tr> </thead> <tbody> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="3" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Oct’14</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/jasonmc/forked-daapd" title="secure link to https://github.com/jasonmc/forked-daapd" class="https" rel="https://github.com/jasonmc/forked-daapd">forked-daapd</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a rewrite of <code>mt-daapd</code> with a number of fixes</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/jkiddo/jolivia" title="secure link to https://github.com/jkiddo/jolivia" class="https" rel="https://github.com/jkiddo/jolivia">jolivia</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A <a href="http://the.taoofmac.com/space/dev/Java" class="wiki" title="dev/Java was updated 1 year, 3 months ago">Java</a> server implementation</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/mattstevens/dmap-parser" title="secure link to https://github.com/mattstevens/dmap-parser" class="https" rel="https://github.com/mattstevens/dmap-parser">dmap-parser</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/com/Apple/DMAP" class="wikiunknown" title="com/Apple/DMAP is not defined yet"><span class="caps">DMAP</span></a> parser written in <a href="http://the.taoofmac.com/space/dev/C" class="wiki" title="dev/C was updated 1 year, 2 months ago">C</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="10" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Older</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://www.flyn.org/projects/dmapd/" title="secure link to https://www.flyn.org/projects/dmapd/" class="https" rel="https://www.flyn.org/projects/dmapd/">dmapd</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <span class="caps">DAAP</span> and <a href="http://the.taoofmac.com/space/com/Apple/DPAP" class="wiki" title="com/Apple/DPAP was updated 10 years, 1 month ago"><span class="caps">DPAP</span></a> server with support for media transcoding.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.snorp.net/log/tangerine" title="external link to http://www.snorp.net/log/tangerine" class="http" rel="http://www.snorp.net/log/tangerine">Tangerine</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/dev/Mono" class="wiki" title="dev/Mono was updated 9 years, 6 months ago">Mono</a> server using <a href="http://www.snorp.net/log/daap-sharp/" title="external link to http://www.snorp.net/log/daap-sharp/" class="http" rel="http://www.snorp.net/log/daap-sharp/">daap-sharp</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://jerakeen.org/code/pythondaap/" title="external link to http://jerakeen.org/code/pythondaap/" class="http" rel="http://jerakeen.org/code/pythondaap/">python-daap</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 23 hours, 4 minutes ago">Python</a> client library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://tapjam.net/daap/draft.html" title="external link to http://tapjam.net/daap/draft.html" class="http" rel="http://tapjam.net/daap/draft.html"><span class="caps">DAAP</span> Protocol Draft</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://search.cpan.org/search?query=Net::DAAP::Client" title="link to Net::DAAP::Client on search.cpan.org" class="interwiki" rel="Perl:Net::DAAP::Client">Net::DAAP::Client</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">for <a href="http://the.taoofmac.com/space/dev/Perl" class="wiki" title="dev/Perl was updated 8 years, 1 month ago">Perl</a>, if you’re really into such things</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.deleet.de/projekte/daap/" title="external link to http://www.deleet.de/projekte/daap/" class="http" rel="http://www.deleet.de/projekte/daap/">The <span class="caps">DAAP</span> Wiki</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.deleet.de/projekte/daap/daapd/" title="external link to http://www.deleet.de/projekte/daap/daapd/" class="http" rel="http://www.deleet.de/projekte/daap/daapd/">daapd</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">an <a href="http://the.taoofmac.com/space/Open" class="wikiunknown" title="Open is not defined yet">Open Source</a> Source server for any <a href="http://the.taoofmac.com/space/os/UNIX" class="wiki" title="os/UNIX was updated 8 years, 7 months ago"><span class="caps">UNIX</span></a> variant.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://mt-daapd.sourceforge.net/" title="external link to http://mt-daapd.sourceforge.net/" class="http" rel="http://mt-daapd.sourceforge.net/">mt-daapd</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a multi-threaded implementation with dynamic playlist support.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://projects.tynsoe.org/en/musicpublisher/index.php" title="external link to http://projects.tynsoe.org/en/musicpublisher/index.php" class="http" rel="http://projects.tynsoe.org/en/musicpublisher/index.php">MusicPublisher</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/com/Apple/OSX" class="wiki" title="com/Apple/OSX was updated 8 years, 2 months ago">Mac OS X</a> app for simple sharing.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://daap.sf.net/" title="external link to http://daap.sf.net/" class="http" rel="http://daap.sf.net/">libdaap</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"></td> </tr> </tbody> </table> <h3>Tunneling <a href="http://the.taoofmac.com/space/com/Apple/DAAP" class="wiki" title="com/Apple/DAAP was updated 1 hour, 14 minutes ago"><span class="caps">DAAP</span></a> over <a href="http://the.taoofmac.com/space/cli/SSH" class="wiki" title="cli/SSH was updated 6 years, 7 months ago"><span class="caps" title="Secure Shell">SSH</span></a> and broadcasting a <a href="http://the.taoofmac.com/space/com/Apple/Bonjour" class="wiki" title="com/Apple/Bonjour was updated 4 years, 10 months ago">Bonjour</a> service:</h3> <p>Taken from <a href="http://www.macosxhints.com/article.php?story=20080419233314333" title="external link to http://www.macosxhints.com/article.php?story=20080419233314333" class="http" rel="http://www.macosxhints.com/article.php?story=20080419233314333">this hint</a>:</p> <div class="syntax"><pre><span class="c">#!/bin/bash </span> dns-sd -P <span class="s2">&quot;name of server&quot;</span> _daap._tcp <span class="nb">local </span>3690 localhost 127.0.0.1 &amp; <span class="nv">PID</span><span class="o">=</span><span class="nv">$!</span> ssh -N user@server.example.com -L 3690:localhost:3689 <span class="nb">kill</span> <span class="nv">$PID</span> </pre></div><br/><small><a href="http://the.taoofmac.com/space/com/Apple/DAAP" title="link to http://the.taoofmac.com/space/com/Apple/DAAP">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/com/Apple/DAAP"><strong>DAAP</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Monday, Mar 12<sup>th</sup> 2007. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Mon, 20 Oct 2014 08:30:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/com/Apple/DAAP wiki Python http://the.taoofmac.com/space/dev/Python <div style="-webkit-border-radius: 8px; background-color: #ccf; color: #000; border: 1px solid #aaf; margin: 0; padding: 3px; overflow: hidden;"><i>This is an update to an item originally published on Sunday, Apr 15<sup>th</sup> 2007.</i></div><br clear="all"/><p><a href="http://www.python.org" title="external link to http://www.python.org" class="http" rel="http://www.python.org">Python</a> is one of my favorite programming languages, due to its terseness and amazing flexibility. I am, however, not shy of using something else if it is better suited for the task.</p> <p>It is also one of the main contributors to my occasional rants on the utter lack of an universal system scripting language.</p> <h3>My Stuff:</h3> <table class="compact" style="background:transparent; margin: 0px; padding: 0px; border-collapse: collapse;"> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/Yaki" class="wiki" title="projects/Yaki was updated 7 months, 3 weeks ago">Yaki</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">my never-ending opus.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/rcarmo/rss2imap" title="secure link to https://github.com/rcarmo/rss2imap" class="https" rel="https://github.com/rcarmo/rss2imap">rss2imap</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">The way I read my news every day</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/MailArchive" class="wiki" title="projects/MailArchive was updated 8 years, 2 weeks ago">MailArchive</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a quick hack to file web pages as <a href="http://the.taoofmac.com/space/mail/MIME" class="wiki" title="mail/MIME was updated 10 years, 8 months ago"><span class="caps">MIME</span></a> compliant e-mail messages.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/imapbackup" class="wiki" title="projects/imapbackup was updated 11 months, 4 weeks ago"><span class="caps" title="Internet Message Access Protocol">IMAP</span> Backup</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">another quick hack that apparently filled a long-standing need.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/apps/Growl" class="wiki" title="apps/Growl was updated 5 years, 1 month ago">Growl</a> native protocol <a href="http://the.taoofmac.com/space/projects/netgrowl" class="wiki" title="projects/netgrowl was updated 5 years, 1 month ago">implementation</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">this spawned numerous variants, including a <a href="http://the.taoofmac.com/space/projects/ReGrowl" class="wiki" title="projects/ReGrowl was updated 5 years, 7 months ago">proxy</a>.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/PicoRendezvous" class="wiki" title="projects/PicoRendezvous was updated 9 years, 9 months ago">PicoRendezvous.py</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a minimalist (and dumb) <a href="http://the.taoofmac.com/space/com/Apple/Bonjour" class="wiki" title="com/Apple/Bonjour was updated 4 years, 10 months ago">Bonjour</a> / <a href="http://the.taoofmac.com/space/com/Apple/Rendezvous" class="wiki" title="com/Apple/Rendezvous was updated 10 years, 5 months ago">Rendezvous</a> client.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/PNGCanvas" class="wiki" title="projects/PNGCanvas was updated 9 months, 3 weeks ago">PNGCanvas</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a native <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated some time ago">Python</a> <a href="http://the.taoofmac.com/space/graphics/PNG" class="wiki" title="graphics/PNG was updated 4 years, 11 months ago"><span class="caps">PNG</span></a> creation module.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/PicoStats" class="wiki" title="projects/PicoStats was updated 7 years, 6 months ago">PicoStats</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a minimalist <a href="http://the.taoofmac.com/space/cli/apache" class="wiki" title="cli/apache was updated 8 years, 4 months ago">Apache</a> log parser.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">The <a href="http://the.taoofmac.com/space/Python/Grimoire" class="wikiunknown" title="Python/Grimoire is not defined yet">Python Grimoire</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">which I converted into <a href="http://www.tiddlywiki.com/" title="external link to http://www.tiddlywiki.com/" class="http" rel="http://www.tiddlywiki.com/">TiddlyWiki</a> format</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/projects/newspipe" class="wiki" title="projects/newspipe was updated 6 years, 5 months ago">newspipe</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">which I used daily for a couple of years and occasionally contributed to</td> </tr> </table> <h3>Resources:</h3> <table class="compact" style="background:transparent; margin: 0px; padding: 0px; border-collapse: collapse;"> <thead> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Category</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Link</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Notes</th> </tr> </thead> <tbody> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="4" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Debugging Tools</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://eww.io" title="external link to http://eww.io" class="http" rel="http://eww.io">Eww</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Insert a <span class="caps">REPL</span> into a running application</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/inducer/pudb" title="secure link to https://github.com/inducer/pudb" class="https" rel="https://github.com/inducer/pudb">pudb</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A console debugger</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/whit537/assertEquals" title="secure link to https://github.com/whit537/assertEquals" class="https" rel="https://github.com/whit537/assertEquals">assertEquals</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a testing framework with a great <a href="http://www.zetadev.com/software/testosterone/screencast.html" title="external link to http://www.zetadev.com/software/testosterone/screencast.html" class="http" rel="http://www.zetadev.com/software/testosterone/screencast.html">screencast</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pycallgraph.slowchop.com/" title="external link to http://pycallgraph.slowchop.com/" class="http" rel="http://pycallgraph.slowchop.com/">Pycallgraph</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Generate a program flow graph via <a href="http://the.taoofmac.com/space/apps/Graphviz" class="wiki" title="apps/Graphviz was updated 5 years, 8 months ago">Graphviz</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="2" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">REPLs</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/jonathanslenders/python-prompt-toolkit" title="secure link to https://github.com/jonathanslenders/python-prompt-toolkit" class="https" rel="https://github.com/jonathanslenders/python-prompt-toolkit">ptpython</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">The Python Prompt Toolkit</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://bpython-interpreter.org" title="external link to http://bpython-interpreter.org" class="http" rel="http://bpython-interpreter.org">bpython</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">My favorite <span class="caps">REPL</span></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="8" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Concurrency</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/benoitc/offset" title="secure link to https://github.com/benoitc/offset" class="https" rel="https://github.com/benoitc/offset">offset</a></td> <td rowspan="2" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">ports of the <a href="http://the.taoofmac.com/space/dev/Golang" class="wiki" title="dev/Golang was updated 1 month, 1 week ago">Go</a> concurrency model</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/rgalanakis/goless" title="secure link to https://github.com/rgalanakis/goless" class="https" rel="https://github.com/rgalanakis/goless">goless</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://openreplica.org/" title="external link to http://openreplica.org/" class="http" rel="http://openreplica.org/">OpenReplica</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A coordination service that provides replication and synchronization support for large-scale distributed systems</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pythonhosted.org/pulsar" title="external link to http://pythonhosted.org/pulsar" class="http" rel="http://pythonhosted.org/pulsar">Pulsar</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Another actor-based multiprocessing library with async IO support and a fair degree of network transparency</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.pykka.org/" title="external link to http://www.pykka.org/" class="http" rel="http://www.pykka.org/">Pykka</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An implementation of the Actor model, with gevent support</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.celeryproject.org" title="external link to http://www.celeryproject.org" class="http" rel="http://www.celeryproject.org">Celery</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">My current go-to library for task queueing</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/toastdriven/littleworkers" title="secure link to https://github.com/toastdriven/littleworkers" class="https" rel="https://github.com/toastdriven/littleworkers">Littleworkers</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Parallel job management without the hassles.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://python-rq.org" title="external link to http://python-rq.org" class="http" rel="http://python-rq.org">python-rq</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A simpler queueing library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="6" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Console</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://click.pocoo.org" title="external link to http://click.pocoo.org" class="http" rel="http://click.pocoo.org">click</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A very nice way to do composable <span class="caps" title="Command-Line Interface">CLI</span> tools</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://crate.io/packages/fabulous/" title="secure link to https://crate.io/packages/fabulous/" class="https" rel="https://crate.io/packages/fabulous/">fabulous</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Totally awesome. <span class="caps">PRINT</span> <span class="caps">IMAGES</span> TO <span class="caps">CONSOLE</span>!</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/tomerfiliba/plumbum" title="secure link to https://github.com/tomerfiliba/plumbum" class="https" rel="https://github.com/tomerfiliba/plumbum">plumbum</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Another command wrapper, with <span class="caps" title="Secure Shell">SSH</span> support.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/amoffat/pbs" title="secure link to https://github.com/amoffat/pbs" class="https" rel="https://github.com/amoffat/pbs">pbs</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A nice, simple and consistent generic command wrapper.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pypi.python.org/pypi/clint/" title="external link to http://pypi.python.org/pypi/clint/" class="http" rel="http://pypi.python.org/pypi/clint/">Clint</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A great module for developing <span class="caps" title="Command-Line Interface">CLI</span> applications.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://tartley.com/?p=1062" title="external link to http://tartley.com/?p=1062" class="http" rel="http://tartley.com/?p=1062">Colorama</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Making <a href="http://the.taoofmac.com/space/ANSI" class="wikiunknown" title="ANSI is not defined yet"><span class="caps">ANSI</span></a> color sequences work across platforms (see also <a href="https://gist.github.com/758430" title="secure link to https://gist.github.com/758430" class="https" rel="https://gist.github.com/758430">this gist</a>).</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="3" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Functional Programming</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/pytoolz/toolz/" title="secure link to https://github.com/pytoolz/toolz/" class="https" rel="https://github.com/pytoolz/toolz/">Toolz</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A functional complement to the standard library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://hylang.org/" title="external link to http://hylang.org/" class="http" rel="http://hylang.org/">Hy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An awesome <span class="caps">LISP</span> dialect that sits atop the runtime.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/Suor/funcy" title="secure link to https://github.com/Suor/funcy" class="https" rel="https://github.com/Suor/funcy">funcy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A nice, fairly complete functional library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="7" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Data Handling</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/schematics/schematics" title="secure link to https://github.com/schematics/schematics" class="https" rel="https://github.com/schematics/schematics">Schematics</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A validation/schema handling library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/alecthomas/voluptuous" title="secure link to https://github.com/alecthomas/voluptuous" class="https" rel="https://github.com/alecthomas/voluptuous">voluptuous</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A data schema validation library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://xlwings.org/" title="external link to http://xlwings.org/" class="http" rel="http://xlwings.org/">xlwings</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An <a href="http://the.taoofmac.com/space/apps/Excel" class="wiki" title="apps/Excel was updated 2 years, 4 months ago">Excel</a> plugin</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/seatgeek/fuzzywuzzy" title="secure link to https://github.com/seatgeek/fuzzywuzzy" class="https" rel="https://github.com/seatgeek/fuzzywuzzy">fuzzywuzzy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A fuzzy string matching library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://spotify.github.io/snakebite/" title="external link to http://spotify.github.io/snakebite/" class="http" rel="http://spotify.github.io/snakebite/">snakebite</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A native <span class="caps">HDFS</span> client to access the Hadoop datastore.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://code.google.com/p/happy/" title="external link to http://code.google.com/p/happy/" class="http" rel="http://code.google.com/p/happy/">Happy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A <a href="http://hadoop.apache.org" title="external link to http://hadoop.apache.org" class="http" rel="http://hadoop.apache.org">Hadoop</a> library to run map-reduce jobs via Jython</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/twitter/pycascading" title="secure link to https://github.com/twitter/pycascading" class="https" rel="https://github.com/twitter/pycascading">PyCascading</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A better way to write Hadoop jobs.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="16" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Web Application Frameworks</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://wagtail.io" title="external link to http://wagtail.io" class="http" rel="http://wagtail.io">Wagtail</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Another Django-based <span class="caps">CMS</span> framework.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://wid.gy" title="external link to http://wid.gy" class="http" rel="http://wid.gy">wid.gy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A Django-based <span class="caps">CMS</span> framework.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pecanpy.org" title="external link to http://pecanpy.org" class="http" rel="http://pecanpy.org">pecan</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Based on object dispatching</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pythonhosted.org/wheezy.web" title="external link to http://pythonhosted.org/wheezy.web" class="http" rel="http://pythonhosted.org/wheezy.web">wheezy.web</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A high-performance framework that seems to get along well with PyPy</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/jeffknupp/sandman" title="secure link to https://github.com/jeffknupp/sandman" class="https" rel="https://github.com/jeffknupp/sandman">sandman</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A simple RESTful wrapper</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://python-eve.org/" title="external link to http://python-eve.org/" class="http" rel="http://python-eve.org/">eve</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Another RESTful foundation framework</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://bottlepy.org/" title="external link to http://bottlepy.org/" class="http" rel="http://bottlepy.org/">Bottle</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Tiny, flexible, awesome. My favorite since 2011.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.tornadoweb.org/" title="external link to http://www.tornadoweb.org/" class="http" rel="http://www.tornadoweb.org/">Tornado</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">non-blocking, which is pretty interesting.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.djangoproject.com/" title="external link to http://www.djangoproject.com/" class="http" rel="http://www.djangoproject.com/">Django</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">The new hotness.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://snakelets.sourceforge.net/" title="external link to http://snakelets.sourceforge.net/" class="http" rel="http://snakelets.sourceforge.net/">Snakelets</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A minimalistic app server, my old web platform of choice.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://draco.boskant.nl/" title="external link to http://draco.boskant.nl/" class="http" rel="http://draco.boskant.nl/">Draco</a></td> <td rowspan="6" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Old and busted, to various extents.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.amk.ca/python/code/medusa.html" title="external link to http://www.amk.ca/python/code/medusa.html" class="http" rel="http://www.amk.ca/python/code/medusa.html">medusa</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.cherrypy.org/" title="external link to http://www.cherrypy.org/" class="http" rel="http://www.cherrypy.org/">CherryPy</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://karrigell.sf.net" title="external link to http://karrigell.sf.net" class="http" rel="http://karrigell.sf.net">Karrigell</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://twistedmatrix.com/products/twisted" title="external link to http://twistedmatrix.com/products/twisted" class="http" rel="http://twistedmatrix.com/products/twisted">Twisted</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.zope.org" title="external link to http://www.zope.org" class="http" rel="http://www.zope.org">Zope</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="9" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Graphics</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/ufoym/cropman" title="secure link to https://github.com/ufoym/cropman" class="https" rel="https://github.com/ufoym/cropman">Cropmap</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Face-aware image cropping.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pygal.org" title="external link to http://pygal.org" class="http" rel="http://pygal.org">Pygal</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An <span class="caps">SVG</span> charting library with a variety of built-in formats.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://code.google.com/p/pyprocessing/" title="secure link to https://code.google.com/p/pyprocessing/" class="https" rel="https://code.google.com/p/pyprocessing/">pyprocessing</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A Processing clone in Python.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://developer.berlios.de/projects/smcfreeimage/" title="external link to http://developer.berlios.de/projects/smcfreeimage/" class="http" rel="http://developer.berlios.de/projects/smcfreeimage/">smc.freeimage</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A wrapper for the freeimage library that can handle various <span class="caps">TIFF</span> and fax formats as well as <span class="caps">ICC</span> color profiles</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://graphite.wikidot.com/" title="external link to http://graphite.wikidot.com/" class="http" rel="http://graphite.wikidot.com/">Graphite</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a real-time graphing system similar to <a href="http://the.taoofmac.com/space/cli/RRDTool" class="wiki" title="cli/RRDTool was updated 3 months, 3 days ago">RRDTool</a>.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.scipy.org/" title="external link to http://www.scipy.org/" class="http" rel="http://www.scipy.org/">SciPy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">scientific (including plotting) libraries for <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated some time ago">Python</a>. Most impressive.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pyx.sourceforge.net/" title="external link to http://pyx.sourceforge.net/" class="http" rel="http://pyx.sourceforge.net/">Pyx</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Oldie, but goodie.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://manatee.mojam.com/~skip/python/" title="external link to http://manatee.mojam.com/~skip/python/" class="http" rel="http://manatee.mojam.com/~skip/python/">Skip’s Python Bits</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">lots of useful snippets</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.pygame.org/" title="external link to http://www.pygame.org/" class="http" rel="http://www.pygame.org/">pygame</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a game-oriented library with <a href="http://the.taoofmac.com/space/SDL" class="wikiunknown" title="SDL is not defined yet"><span class="caps">SDL</span></a> support</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="6" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Database</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/coleifer/peewee" title="secure link to https://github.com/coleifer/peewee" class="https" rel="https://github.com/coleifer/peewee">Peewee</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A small, very flexible <span class="caps">ORM</span></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/stochastic-technologies/goatfish" title="secure link to https://github.com/stochastic-technologies/goatfish" class="https" rel="https://github.com/stochastic-technologies/goatfish">Goatfish</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An even smaller schemaless <span class="caps">ORM</span></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.sqlalchemy.org" title="external link to http://www.sqlalchemy.org" class="http" rel="http://www.sqlalchemy.org">SQLAlchemy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">See <a href="http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html" title="external link to http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html" class="http" rel="http://www.rmunn.com/sqlalchemy-tutorial/tutorial.html">tutorial</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://en.wikipedia.org/wiki/Sybase" title="link to Sybase on en.wikipedia.org" class="interwiki" rel="Wikipedia:Sybase">Sybase</a> <a href="http://www.object-craft.com.au/projects/sybase/" title="external link to http://www.object-craft.com.au/projects/sybase/" class="http" rel="http://www.object-craft.com.au/projects/sybase/">module</a></td> <td rowspan="3" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">I’ve used all of these at any one time, and <code>pymssql</code> worked out better for me.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.freetds.org/userguide/index.htm" title="external link to http://www.freetds.org/userguide/index.htm" class="http" rel="http://www.freetds.org/userguide/index.htm">FreeTDS</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pymssql.sourceforge.net/" title="external link to http://pymssql.sourceforge.net/" class="http" rel="http://pymssql.sourceforge.net/">pymssql</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><span class="caps">GIS</span></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://exogen.case.edu/projects/geopy/" title="external link to http://exogen.case.edu/projects/geopy/" class="http" rel="http://exogen.case.edu/projects/geopy/">geopy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">an amazingly flexible geocoding library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="7" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://en.wikipedia.org/wiki/GUI" title="link to GUI on en.wikipedia.org" class="interwiki" rel="Wikipedia:GUI"><span class="caps">GUI</span></a> Stuff</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.pyside.org/" title="external link to http://www.pyside.org/" class="http" rel="http://www.pyside.org/">PySide</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A recent Qt binding (up to and including 4.7) with <span class="caps">QML</span> support</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://kivy.org/" title="external link to http://kivy.org/" class="http" rel="http://kivy.org/">kivy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A sophisticated UI/UX library with <a href="http://the.taoofmac.com/space/com/Google/Android" class="wiki" title="com/Google/Android was updated 2 months, 4 weeks ago">Android</a> support</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.pyglet.org/" title="external link to http://www.pyglet.org/" class="http" rel="http://www.pyglet.org/">pyglet</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a cross-platform windowing and multimedia library with <a href="http://the.taoofmac.com/space/graphics/OpenGL" class="wiki" title="graphics/OpenGL was updated 8 years, 4 months ago">OpenGL</a> support</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pythoncard.sourceforge.net/" title="external link to http://pythoncard.sourceforge.net/" class="http" rel="http://pythoncard.sourceforge.net/">PythonCard</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A bit basic, but interesting.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://excess.org/urwid" title="external link to http://excess.org/urwid" class="http" rel="http://excess.org/urwid">urwid</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A <tt>curses</tt> based library for building console UIs</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html" title="external link to http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html" class="http" rel="http://www.brunningonline.net/simon/blog/archives/winGuiAuto.py.html">winGuiAuto.py</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">for <a href="http://the.taoofmac.com/space/com/Microsoft/Windows" class="wiki" title="com/Microsoft/Windows was updated 8 years, 9 months ago">Windows</a> automation.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://vpython.org/" title="external link to http://vpython.org/" class="http" rel="http://vpython.org/">VPython</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/graphics/3D" class="wiki" title="graphics/3D was updated 9 years, 4 months ago">3D</a> <a href="http://the.taoofmac.com/space/graphics/OpenGL" class="wiki" title="graphics/OpenGL was updated 8 years, 4 months ago">OpenGL</a> libraries for quick visualization.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="24" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Networking</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/Eleme/thriftpy" title="secure link to https://github.com/Eleme/thriftpy" class="https" rel="https://github.com/Eleme/thriftpy">ThriftPy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A pure Python implementation of Apache Thrift</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://sleekxmpp.com/" title="external link to http://sleekxmpp.com/" class="http" rel="http://sleekxmpp.com/">SleekXMPP</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A more modern <a href="http://the.taoofmac.com/space/protocols/XMPP" class="wiki" title="protocols/XMPP was updated 2 years, 2 months ago"><span class="caps">XMPP</span></a> library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/Jajcus/pyxmpp2" title="secure link to https://github.com/Jajcus/pyxmpp2" class="https" rel="https://github.com/Jajcus/pyxmpp2">pyxmpp2</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">another one, probably more interesting.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://code.google.com/p/pyvnc/" title="external link to http://code.google.com/p/pyvnc/" class="http" rel="http://code.google.com/p/pyvnc/">pyvnc</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><code>ctypes</code> interface to the <a href="http://the.taoofmac.com/space/protocols/VNC" class="wiki" title="protocols/VNC was updated 2 years, 4 months ago"><span class="caps">VNC</span></a> libraries</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/samuraisam/pyapns" title="secure link to https://github.com/samuraisam/pyapns" class="https" rel="https://github.com/samuraisam/pyapns">pyapns</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An <a href="http://the.taoofmac.com/space/com/Apple" class="wiki" title="com/Apple was updated 8 years, 6 months ago">Apple</a> Push Notification Service provider based on Twisted.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://gunicorn.org/" title="external link to http://gunicorn.org/" class="http" rel="http://gunicorn.org/">gunicorn</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A <span class="caps">WSGI</span> server for <span class="caps">UNIX</span> that supports a number of different worker daemons and is highly customizable.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://projects.unbit.it/uwsgi/" title="external link to http://projects.unbit.it/uwsgi/" class="http" rel="http://projects.unbit.it/uwsgi/">uwsgi</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A C application container that speaks <span class="caps">WSGI</span> (and seems seriously kick-ass).</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://blitiri.com.ar/p/msnlib/" title="external link to http://blitiri.com.ar/p/msnlib/" class="http" rel="http://blitiri.com.ar/p/msnlib/">msnlib</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An <a href="http://the.taoofmac.com/space/com/Microsoft/MSN" class="wiki" title="com/Microsoft/MSN was updated 5 years, 9 months ago"><span class="caps">MSN</span></a> protocol implementation</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://dev.guardedcode.com/projects/ircutils/" title="external link to http://dev.guardedcode.com/projects/ircutils/" class="http" rel="http://dev.guardedcode.com/projects/ircutils/">ircutils</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A relatively modern <a href="http://the.taoofmac.com/space/protocols/IRC" class="wiki" title="protocols/IRC was updated 11 years, 3 months ago"><span class="caps">IRC</span></a> framework that uses <code>asyncore</code></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://imapclient.freshfoo.com/" title="external link to http://imapclient.freshfoo.com/" class="http" rel="http://imapclient.freshfoo.com/">IMAPClient</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An <a href="http://the.taoofmac.com/space/protocols/IMAP" class="wiki" title="protocols/IMAP was updated 7 years, 8 months ago"><span class="caps" title="Internet Message Access Protocol">IMAP</span></a> wrapper library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://gumuz.nl/weblog/python-smtplib-progress-indication/" title="external link to http://gumuz.nl/weblog/python-smtplib-progress-indication/" class="http" rel="http://gumuz.nl/weblog/python-smtplib-progress-indication/">Python smtplib progress indication</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Might come in useful some day.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://rpyc.wikidot.com/" title="external link to http://rpyc.wikidot.com/" class="http" rel="http://rpyc.wikidot.com/">RPyC</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">an awesome <span class="caps">RPC</span> library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://eventlet.net/" title="external link to http://eventlet.net/" class="http" rel="http://eventlet.net/">Eventlet</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Amazing event-oriented framework</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://monkey.org/~dugsong/dpkt/" title="external link to http://monkey.org/~dugsong/dpkt/" class="http" rel="http://monkey.org/~dugsong/dpkt/">dpkt</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">packet creation and parsers</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://oss.coresecurity.com/projects/pcapy.html" title="external link to http://oss.coresecurity.com/projects/pcapy.html" class="http" rel="http://oss.coresecurity.com/projects/pcapy.html">Pcapy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a packet manipulation library</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://sourceforge.net/projects/tftpy/" title="external link to http://sourceforge.net/projects/tftpy/" class="http" rel="http://sourceforge.net/projects/tftpy/">Tftpy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a pure <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated some time ago">Python</a> <a href="http://the.taoofmac.com/space/TFTP" class="wikiunknown" title="TFTP is not defined yet"><span class="caps">TFTP</span></a> library, useful for implementing <a href="http://the.taoofmac.com/space/protocols/UDP" class="wiki" title="protocols/UDP was updated 10 years, 12 months ago"><span class="caps" title="User Datagram Protocol">UDP</span></a> file transfer testbeds.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://ftputil.sschwarzer.net/trac/wiki/Documentation#introduction" title="external link to http://ftputil.sschwarzer.net/trac/wiki/Documentation#introduction" class="http" rel="http://ftputil.sschwarzer.net/trac/wiki/Documentation#introduction">ftputil</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a high-level interface to the <code>ftplib</code> module</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/152043" title="external link to http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/152043" class="http" rel="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/152043">telnetscript</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a simple module to do scripted <a href="http://the.taoofmac.com/space/telnet" class="wikiunknown" title="telnet is not defined yet">telnet</a> sessions.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.opensource4you.com/cgi-bin/gitweb.cgi" title="external link to http://www.opensource4you.com/cgi-bin/gitweb.cgi" class="http" rel="http://www.opensource4you.com/cgi-bin/gitweb.cgi"><span class="caps">FAPWS</span></a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a very fast asynchronous web server with a small codebase.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/259148" title="external link to http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/259148" class="http" rel="http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/259148">simple non-blocking <span class="caps" title="HyperText Transfer Protocol">HTTP</span> server</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">another simple server.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pussh.sourceforge.net/" title="external link to http://pussh.sourceforge.net/" class="http" rel="http://pussh.sourceforge.net/">PuSSH</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/cli/SSH" class="wiki" title="cli/SSH was updated 6 years, 7 months ago"><span class="caps" title="Secure Shell">SSH</span></a> wrapper.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://starship.python.net/crew/pson/pop.html" title="external link to http://starship.python.net/crew/pson/pop.html" class="http" rel="http://starship.python.net/crew/pson/pop.html"><span class="caps">POP</span></a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/protocols/POP3" class="wiki" title="protocols/POP3 was updated 10 years, 1 week ago">POP3</a> class with neat semantics.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://sourceforge.net/projects/pyzeroconf/" title="link to projects/pyzeroconf/ on sourceforge.net" class="interwiki" rel="SourceForge:projects/pyzeroconf/">PyRendezvous</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">neat little <a href="http://the.taoofmac.com/space/com/Apple/Bonjour" class="wiki" title="com/Apple/Bonjour was updated 4 years, 10 months ago">Bonjour</a> module I use a lot.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://c0re.23.nu/c0de/IPy/" title="external link to http://c0re.23.nu/c0de/IPy/" class="http" rel="http://c0re.23.nu/c0de/IPy/">IPy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">an <a href="http://the.taoofmac.com/space/protocols/IP" class="wiki" title="protocols/IP was updated 9 years, 11 months ago">IP</a> address manipulation library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="3" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Data formats</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://explorapp.com/biplist/" title="external link to http://explorapp.com/biplist/" class="http" rel="http://explorapp.com/biplist/">biplist</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A library that can manage <a href="http://the.taoofmac.com/space/com/Apple/Mac" class="wiki" title="com/Apple/Mac was updated 8 years, 4 months ago">Mac</a> binary <code>.plist</code> files</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://secure.simplistix.co.uk/svn/xlwt/trunk" title="secure link to https://secure.simplistix.co.uk/svn/xlwt/trunk" class="https" rel="https://secure.simplistix.co.uk/svn/xlwt/trunk">xlwt</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a library to parse <a href="http://the.taoofmac.com/space/apps/Excel" class="wiki" title="apps/Excel was updated 2 years, 4 months ago">Excel</a> documents (<a href="http://panela.blog-city.com/pyexcelerator_xlwt_cheatsheet_create_native_excel_from_pu.htm" title="external link to http://panela.blog-city.com/pyexcelerator_xlwt_cheatsheet_create_native_excel_from_pu.htm" class="http" rel="http://panela.blog-city.com/pyexcelerator_xlwt_cheatsheet_create_native_excel_from_pu.htm">cheatsheet</a>).</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://sourceforge.net/projects/pyparsing/" title="external link to http://sourceforge.net/projects/pyparsing/" class="http" rel="http://sourceforge.net/projects/pyparsing/">pyparsing</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a handy, flexible parser library that does away with lex/yacc.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Unicode</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://code.zemanta.com/tsolc/unidecode/" title="external link to http://code.zemanta.com/tsolc/unidecode/" class="http" rel="http://code.zemanta.com/tsolc/unidecode/">Unidecode</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Does character transliterations.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="5" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Interpreters &amp; Compilers</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/cosmo-ethz/hope" title="secure link to https://github.com/cosmo-ethz/hope" class="https" rel="https://github.com/cosmo-ethz/hope">Hope</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A specialized <span class="caps">JIT</span> compiler</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://nuitka.net" title="external link to http://nuitka.net" class="http" rel="http://nuitka.net">Nuitka</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An interesting batch compiler.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.tinypy.org/" title="external link to http://www.tinypy.org/" class="http" rel="http://www.tinypy.org/">tinypy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Python in 64K of code.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.skulpt.org/" title="external link to http://www.skulpt.org/" class="http" rel="http://www.skulpt.org/">Skulpt</a></td> <td rowspan="2" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Some interesting twists on using <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated some time ago">Python</a> on the way to <a href="http://the.taoofmac.com/space/dev/JavaScript" class="wiki" title="dev/JavaScript was updated 5 months, 1 week ago">JavaScript</a>.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pyjs.org/" title="external link to http://pyjs.org/" class="http" rel="http://pyjs.org/">Pyjamas</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Reporting</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://relatorio.openhex.org/" title="external link to http://relatorio.openhex.org/" class="http" rel="http://relatorio.openhex.org/">Relatorio</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A very neat reporting library with multiple output formats</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="10" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/markup/HTML" class="wiki" title="markup/HTML was updated 5 years, 7 months ago"><span class="caps">HTML</span></a> and <a href="http://the.taoofmac.com/space/markup/XML" class="wiki" title="markup/XML was updated 8 years, 6 months ago"><span class="caps" title="Extensible Markup Language">XML</span></a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.crummy.com/software/BeautifulSoup/" title="external link to http://www.crummy.com/software/BeautifulSoup/" class="http" rel="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">The most powerful <a href="http://the.taoofmac.com/space/markup/HTML" class="wiki" title="markup/HTML was updated 5 years, 7 months ago"><span class="caps">HTML</span></a> parser out there.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/bbrodriges/pholcidae" title="secure link to https://github.com/bbrodriges/pholcidae" class="https" rel="https://github.com/bbrodriges/pholcidae">pholcidae</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A web crawler library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/samarudge/Squeezeit" title="secure link to https://github.com/samarudge/Squeezeit" class="https" rel="https://github.com/samarudge/Squeezeit">squeezeit</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A <a href="http://the.taoofmac.com/space/markup/CSS" class="wiki" title="markup/CSS was updated 1 year, 4 months ago"><span class="caps" title="Cascading Style Sheets">CSS</span></a> and <a href="http://the.taoofmac.com/space/dev/JavaScript" class="wiki" title="dev/JavaScript was updated 5 months, 1 week ago">JavaScript</a> bundler and minifier.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.egenix.com/products/python/mxExperimental/mxTidy/" title="external link to http://www.egenix.com/products/python/mxExperimental/mxTidy/" class="http" rel="http://www.egenix.com/products/python/mxExperimental/mxTidy/">mxTidy</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><span class="caps">HTML</span> Tidy for Python</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pygments.pocoo.org/" title="external link to http://pygments.pocoo.org/" class="http" rel="http://pygments.pocoo.org/">pygments</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated some time ago">Python</a> syntax highlighter able to handle multiple nested languages</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pypi.python.org/pypi/pyquery" title="external link to http://pypi.python.org/pypi/pyquery" class="http" rel="http://pypi.python.org/pypi/pyquery">pyquery</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A <a href="http://the.taoofmac.com/space/dev/JavaScript/jQuery" class="wiki" title="dev/JavaScript/jQuery was updated 5 months, 3 weeks ago">jQuery-like</a> library for manipulating documents.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://cthedot.de/cssutils/" title="external link to http://cthedot.de/cssutils/" class="http" rel="http://cthedot.de/cssutils/">cssutils</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/markup/CSS" class="wiki" title="markup/CSS was updated 1 year, 4 months ago"><span class="caps" title="Cascading Style Sheets">CSS</span></a> Cascading Style Sheets parser.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://wwwsearch.sourceforge.net/mechanize/" title="external link to http://wwwsearch.sourceforge.net/mechanize/" class="http" rel="http://wwwsearch.sourceforge.net/mechanize/">Mechanize</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a programmatic web browser for screen scraping.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://gnosis.cx/download/" title="external link to http://gnosis.cx/download/" class="http" rel="http://gnosis.cx/download/">Gnosis Utilities</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">all sorts of <a href="http://the.taoofmac.com/space/markup/XML" class="wiki" title="markup/XML was updated 8 years, 6 months ago"><span class="caps" title="Extensible Markup Language">XML</span></a> goodies.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://codespeak.net/lxml/" title="external link to http://codespeak.net/lxml/" class="http" rel="http://codespeak.net/lxml/">lxml</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a different <code>libxml</code> binding.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="6" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><span class="caps">PDF</span></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/chrisglass/xhtml2pdf" title="secure link to https://github.com/chrisglass/xhtml2pdf" class="https" rel="https://github.com/chrisglass/xhtml2pdf">xhtml2pdf</a></td> <td rowspan="2" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Aalternatives to PrinceXML for generating formated <a href="http://the.taoofmac.com/space/com/Adobe/PDF" class="wiki" title="com/Adobe/PDF was updated 4 years, 2 months ago"><span class="caps">PDF</span></a> docs.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://weasyprint.org" title="external link to http://weasyprint.org" class="http" rel="http://weasyprint.org">WeasyPrint</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.unixuser.org/~euske/python/pdfminer/index.html" title="external link to http://www.unixuser.org/~euske/python/pdfminer/index.html" class="http" rel="http://www.unixuser.org/~euske/python/pdfminer/index.html">PDFMiner</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a parser and text renderer that can identify location of text on a page and do basic rendering to <a href="http://the.taoofmac.com/space/markup/HTML" class="wiki" title="markup/HTML was updated 5 years, 7 months ago"><span class="caps">HTML</span></a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://pybrary.net/pyPdf/" title="external link to http://pybrary.net/pyPdf/" class="http" rel="http://pybrary.net/pyPdf/">PyPdf</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a <a href="http://the.taoofmac.com/space/com/Adobe/PDF" class="wiki" title="com/Adobe/PDF was updated 4 years, 2 months ago"><span class="caps">PDF</span></a> toolkit</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://code.enthought.com/kiva/" title="external link to http://code.enthought.com/kiva/" class="http" rel="http://code.enthought.com/kiva/">Kiva</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a Display <a href="http://the.taoofmac.com/space/com/Adobe/PDF" class="wiki" title="com/Adobe/PDF was updated 4 years, 2 months ago"><span class="caps">PDF</span></a> library.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.reportlab.org/downloads.html" title="external link to http://www.reportlab.org/downloads.html" class="http" rel="http://www.reportlab.org/downloads.html">ReportLab Toolkit</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a pure <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated some time ago">Python</a> <a href="http://the.taoofmac.com/space/com/Adobe/PDF" class="wiki" title="com/Adobe/PDF was updated 4 years, 2 months ago"><span class="caps">PDF</span></a> library that includes a presentation tool.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Media</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/Diaoul/subliminal" title="secure link to https://github.com/Diaoul/subliminal" class="https" rel="https://github.com/Diaoul/subliminal">subliminal</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A library for looking up movie subtitles in various languages.</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Tools</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/isnowfy/pydown" title="secure link to https://github.com/isnowfy/pydown" class="https" rel="https://github.com/isnowfy/pydown">pydown</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">An <span class="caps">HTML</span> presentation generator</td> </tr> </tbody> </table> <h3>Techniques</h3> <ul> <li><a href="http://the.taoofmac.com/media/dev/Python/daemon.py.txt" title="link to attached file cid:daemon.py.txt" class="linkedfile">daemon.py</a>, an example daemon script.</li> <li><a href="http://www.python.org/doc/current/lib/module-pydoc.html" title="external link to http://www.python.org/doc/current/lib/module-pydoc.html" class="http" rel="http://www.python.org/doc/current/lib/module-pydoc.html">Pydoc</a> – built-in Web help, anytime, anywhere</li> <li><a href="http://www.norvig.com/spell-correct.html" title="external link to http://www.norvig.com/spell-correct.html" class="http" rel="http://www.norvig.com/spell-correct.html">How to Write a Spelling Corrector</a> – an interesting technique that can come in handy to fix/suggest search terms, etc.</li> <li><a href="http://phillipinbahia.blogspot.com/2006/08/python-webcam-color-track.html" title="external link to http://phillipinbahia.blogspot.com/2006/08/python-webcam-color-track.html" class="http" rel="http://phillipinbahia.blogspot.com/2006/08/python-webcam-color-track.html">Python Webcam Color Track</a> </li> <li><a href="http://gumuz.looze.net/wordpress/index.php/archives/2005/06/06/python-webcam-fun-motion-detection/" title="external link to http://gumuz.looze.net/wordpress/index.php/archives/2005/06/06/python-webcam-fun-motion-detection/" class="http" rel="http://gumuz.looze.net/wordpress/index.php/archives/2005/06/06/python-webcam-fun-motion-detection/">Python webcam fun – motion detection</a> </li> </ul> <h3>Notable Apps:</h3> <table class="compact" style="background:transparent; margin: 0px; padding: 0px; border-collapse: collapse;"> <thead> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Date</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Link</th> <th style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">Notes</th> </tr> </thead> <tbody> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th colspan="3" style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">2014</th> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Jun 24</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/Eugeny/ajenti" title="secure link to https://github.com/Eugeny/ajenti" class="https" rel="https://github.com/Eugeny/ajenti">ajenti</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">a server management panel</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="3" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Jun 9</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/posativ/isso" title="secure link to https://github.com/posativ/isso" class="https" rel="https://github.com/posativ/isso">isso</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A Disqus-like commenting system</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="https://github.com/orchardup/fig" title="secure link to https://github.com/orchardup/fig" class="https" rel="https://github.com/orchardup/fig">Fig</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Fast, isolated development environments using <a href="http://docker.io" title="external link to http://docker.io" class="http" rel="http://docker.io">Docker</a></td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.dreampie.org/" title="external link to http://www.dreampie.org/" class="http" rel="http://www.dreampie.org/">DreamPie</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Another nice shell</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th colspan="3" style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">2013</th> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td rowspan="3" style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Jan 27</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://bpython-interpreter.org" title="external link to http://bpython-interpreter.org" class="http" rel="http://bpython-interpreter.org">bpython</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A great <code>curses</code>-based shell</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://ipython.org" title="external link to http://ipython.org" class="http" rel="http://ipython.org">iPython</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">The original, do-it-all notebook-oriented shell</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://www.dreampie.org" title="external link to http://www.dreampie.org" class="http" rel="http://www.dreampie.org">dreampie</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Another, simpler shell</td> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <th colspan="3" style="border-bottom: 1px solid black; border-top: 2px solid black; padding: 4px; font-weight: bold;">2012</th> </tr> <tr style="font-size: 9pt; border-top: 1px solid #aaa;"> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">Nov 3</td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;"><a href="http://manns.github.com/pyspread/" title="external link to http://manns.github.com/pyspread/" class="http" rel="http://manns.github.com/pyspread/">pyspread</a></td> <td style="min-width: 80px; margin: 0px; padding: 4px; vertical-align: top; border-top: 1px solid #aaa;">A Pythonic spreadsheet with <a href="http://the.taoofmac.com/space/dev/R" class="wiki" title="dev/R was updated 1 year, 10 months ago">R</a> bindings</td> </tr> </tbody> </table> <h3>Notes:</h3> <h4>Setting <code>distutils</code> paths in OS X:</h4> <p>Create a file named <code>.pydistutils.cfg</code> in your home directory with the following contents and set <code>$PATH</code> accordingly:</p> <div class="syntax"><pre><span class="k">[install]</span> <span class="na">install_lib</span> <span class="o">=</span> <span class="s">~/Library/Python/$py_version_short/site-packages</span> <span class="na">install_scripts</span> <span class="o">=</span> <span class="s">~/Library/Python/$py_version_short/bin</span> <span class="na">install_data</span> <span class="o">=</span> <span class="s">~/Library/Python/$py_version/share</span> </pre></div> <p>This will install packages to your <code>Library</code> folder rather than to the system directory, saving you the trouble to use <code>sudo</code> or risking messing with the system installation. Of course <code>virtualenv</code> does a better job for keeping track of project-specific dependencies, but this is great for common/complex dependencies and is sure to survive operating system upgrades.</p> <p>And then you can use `easy_install` or `pip install—user` with impunity, although you might need to do something like:</p> <div class="syntax"><pre>$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future easy_install pandas </pre></div> <p>…for getting around some `clang` oddities.</p> <h4>Instant Web Server on port 8000:</h4> <div class="syntax"><pre>#!/bin/sh python -c &#39;__import__(&quot;SimpleHTTPServer&quot;).test()&#39; </pre></div> <h3>Totally Unrelated:</h3> <ul> <li><a href="http://www.style.org/unladenswallow/" title="external link to http://www.style.org/unladenswallow/" class="http" rel="http://www.style.org/unladenswallow/">Estimating the Airspeed of an Unladen Swallow</a></li> </ul><br/><small><a href="http://the.taoofmac.com/space/dev/Python" title="link to http://the.taoofmac.com/space/dev/Python">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/dev/Python"><strong>Python</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Sunday, Apr 15<sup>th</sup> 2007. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Sun, 19 Oct 2014 10:40:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/dev/Python wiki You can't upgrade the new Mac mini's RAM http://the.taoofmac.com/space/links/2014/10/19/0847 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/19/0847/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/19/0847/large.jpg" class="thumb" /></a></div> <p><a href="http://blog.macminicolo.net/post/100240431773/a-look-at-the-2014-mac-mini" title="external link to http://blog.macminicolo.net/post/100240431773/a-look-at-the-2014-mac-mini" class="http" rel="http://blog.macminicolo.net/post/100240431773/a-look-at-the-2014-mac-mini">More info here</a>. What this means, in practice, is that I will likely never buy an Apple desktop again.</p> <p>Both my home and work office desktops are <a href="http://the.taoofmac.com/space/com/Apple/Mac/mini" class="wiki" title="com/Apple/Mac/mini was updated 4 years, 4 months ago">Mac minis</a> driving identical HD monitors, a setup that works very well for me and that has gone (at home) through a nice, predictable upgrade cycle: buy a new mini, turn the old one into a media server (or pass it on to family), max out the <span class="caps" title="Random Access Memory">RAM</span> as soon as it’s feasible under &euro;100.</p> <p>After four generations of <a href="http://the.taoofmac.com/space/com/Apple/Mac/iMac" class="wiki" title="com/Apple/Mac/iMac was updated 4 years, 12 months ago">iMacs</a> (which I still consider to be needlessly big, bulky sub-par hardware and a bad investment overall, even with the new models), iterating through the Mac mini series was a great, cost-effective way to have a decent (if not stellar) desktop that lasted ages in Internet terms, and a stable niche in this age of planned obsolescence.</p> <p>And a Pro is, of course, completely out of the question. I’d much rather spend that kind of money on keeping my kids clothed and fed, so I’m going to invest on SSDs for the current batch of minis (which is already maxed out in <span class="caps" title="Random Access Memory">RAM</span>) and hope for the best a couple of years down the road.</p> <p>Removing aftermarket expandability in this way is sure to kill the mini, so I’m going to start looking for long-term alternatives – <a href="http://www.tonymacx86.com" title="external link to http://www.tonymacx86.com" class="http" rel="http://www.tonymacx86.com">hackintoshes</a> aren’t really my thing anymore and a Linux desktop makes no sense to me, so it’s probably time to start keeping tabs on compact <a href="http://the.taoofmac.com/space/com/Microsoft/Windows" class="wiki" title="com/Microsoft/Windows was updated 8 years, 9 months ago">Windows</a> desktops.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/19/0847#you-can-t-upgrade-the-new-mac-mini-s-ram" title="link to http://the.taoofmac.com/space/links/2014/10/19/0847#you-can-t-upgrade-the-new-mac-mini-s-ram">&#x262F;</a></small> Sun, 19 Oct 2014 08:47:27 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/19/0847#you-can-t-upgrade-the-new-mac-mini-s-ram wiki A Deeper Blue http://the.taoofmac.com/space/blog/2014/10/18/2200 <p>I’ve had an <a href="https://azure.microsoft.com/" title="secure link to https://azure.microsoft.com/" class="https" rel="https://azure.microsoft.com/">Azure</a> subscription for a while, but now that I got an opportunity to go (much) deeper into it, I thought I’d jot down a few public notes and at least one useful tip before my <a href="http://the.taoofmac.com/space/site/Disclaimer" class="wiki" title="site/Disclaimer was updated 6 years, 11 months ago">disclaimer</a> kicks in.</p> <p>The short of it (putting the business issues aside) is that I’m looking into orchestration, much like what I did with AWS a few years back. It’s a nice step up from a little dip into GAE <a href="http://the.taoofmac.com/space/blog/2014/04/27/2340" class="wiki" title="blog/2014/04/27/2340 was updated 5 months, 3 weeks ago">earlier this year</a> and the <a href="http://the.taoofmac.com/space/blog/2013/06/30/1300" class="wiki" title="blog/2013/06/30/1300 was updated 1 year, 3 months ago">configuration management</a> stuff I do for my projects at work, and doing it in regular office hours makes it all the more fun, and appeals to my methodical take on all things related to infrastructure.</p> <p>I’m hesitant to go about calling this “devops”, however, both because it feels like a pointless moniker when you’ve moonlighted as a sysadmin for as long as I have, and also because it all really boils down to laziness — the best way to make sure you’ll get reliable, repeatable setups is to automate everything away, and that is what saves you time, worries — and money.</p> <p>As usual these days, there are entirely too many options to orchestrate stuff in the cloud<sup id="fnref:1"><a class="anchor" href="http://the.taoofmac.com/space/blog/2014/10/18/2200#fn:1" rel="/space/blog/2014/10/18/2200#fn:1" title="link to fn:1 in this page">1</a></sup> but for the requirements I’m capturing, using something like <a href="http://docs.ansible.com/" title="external link to http://docs.ansible.com/" class="http" rel="http://docs.ansible.com/">Ansible</a> feels like cheating, so I went down a couple of abstraction layers — i.e., straight to the API. Even though I’ve written mostly <a href="http://the.taoofmac.com/space/dev/Golang" class="wiki" title="dev/Golang was updated 1 month, 1 week ago">Go</a> and <a href="http://the.taoofmac.com/space/dev/Clojure" class="wiki" title="dev/Clojure was updated 1 month, 1 week ago">Clojure</a>(-y) stuff over the past couple of months, <a href="https://github.com/Azure/azure-sdk-for-python" title="secure link to https://github.com/Azure/azure-sdk-for-python" class="https" rel="https://github.com/Azure/azure-sdk-for-python">Microsoft’s Azure SDK</a> for <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 1 month, 1 week ago">Python</a> was the natural thing to reach for.</p> <p>So far, it seems more than adequate for rolling your own orchestration — it took me only an hour or so to read through it and get an instance going from basic principles, and <code>bpython</code> makes for an excellent ad-hoc CLI once you’ve familiarized yourself with the naming<sup id="fnref:2"><a class="anchor" href="http://the.taoofmac.com/space/blog/2014/10/18/2200#fn:2" rel="/space/blog/2014/10/18/2200#fn:2" title="link to fn:2 in this page">2</a></sup>:</p> <p><img src="http://the.taoofmac.com/media/blog/2014/10/18/2200/bpython.png" style="max-width: 100%; margin:0px auto;" /></p> <p>So that’s my pro tip, right there — the <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 1 month, 1 week ago">Python</a> SDK with a REPL going. It’s not PowerShell, but it’s much better for me given that after setting up a few wrappers you can do wonderful stuff like setting up (or tearing down) entire flocks of machine instances in a nice functional style:</p> <div class="syntax"><pre><span class="o">&gt;&gt;&gt;</span> <span class="nb">map</span><span class="p">(</span><span class="n">utils</span><span class="o">.</span><span class="n">shutdown</span><span class="p">,</span> <span class="n">deployment</span><span class="o">.</span><span class="n">role_instance_list</span><span class="o">.</span><span class="n">role_instances</span><span class="p">)</span> <span class="p">[</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">,</span><span class="s">u&#39;Stopped&#39;</span><span class="p">]</span> </pre></div> <p>To be honest, once you’re on a roll it feels a little like this:</p> <p><img src="http://the.taoofmac.com/media/blog/2014/10/18/2200/optim.gif" style="max-width: 100%; margin:0px auto;" /></p> <p>…and then you remember you still need to nail down a lot of details and wrap the whole thing in an ansychronous daemon that implements a bunch of “boring” business logic.</p> <p>Ah well.</p> <div class="footnote"> <hr /> <ol> <li id="fn:1"> <p>Gosh, how I hate the overuse of the word “cloud”, and all the “as a service” acronyms. Still, it’s a good thing people don’t call them “sausage factories” or something like that — can you imagine having <code>SFAAS</code> all over your product slides? <a class="anchor" href="http://the.taoofmac.com/space/blog/2014/10/18/2200#fnref:1" rev="footnote" title="Jump back to footnote 1 in the text" rel="/space/blog/2014/10/18/2200#fnref:1">↩</a></p> </li> <li id="fn:2"> <p>To be honest, the thing’s naming is more than a tad inconsistent and the API isn’t very Pythonic, but it does the job. <a class="anchor" href="http://the.taoofmac.com/space/blog/2014/10/18/2200#fnref:2" rev="footnote" title="Jump back to footnote 2 in the text" rel="/space/blog/2014/10/18/2200#fnref:2">↩</a></p> </li> </ol> </div><br/><small><a href="http://the.taoofmac.com/space/blog/2014/10/18/2200#a-deeper-blue" title="link to http://the.taoofmac.com/space/blog/2014/10/18/2200#a-deeper-blue">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/blog/2014/10/18/2200#a-deeper-blue"><strong>A Deeper Blue</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Saturday, Oct 18<sup>th</sup> 2014. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Sat, 18 Oct 2014 22:00:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/blog/2014/10/18/2200#a-deeper-blue wiki Announcing Flickr for iPad http://the.taoofmac.com/space/links/2014/10/18/1335 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/18/1335/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/18/1335/large.jpg" class="thumb" /></a></div> <p>About bloody time, I’ll say.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/18/1335#announcing-flickr-for-ipad" title="link to http://the.taoofmac.com/space/links/2014/10/18/1335#announcing-flickr-for-ipad">&#x262F;</a></small> Sat, 18 Oct 2014 13:35:23 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/18/1335#announcing-flickr-for-ipad wiki OS X 10.10 Yosemite: The Ars Technica Review http://the.taoofmac.com/space/links/2014/10/16/2030 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/16/2030/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/16/2030/large.jpg" class="thumb" /></a></div> <p>This weekend’s essential reading.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/16/2030#os-x-10-10-yosemite--the-ars-technica-review" title="link to http://the.taoofmac.com/space/links/2014/10/16/2030#os-x-10-10-yosemite--the-ars-technica-review">&#x262F;</a></small> Thu, 16 Oct 2014 20:30:25 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/16/2030#os-x-10-10-yosemite--the-ars-technica-review wiki Docker and Microsoft Partner http://the.taoofmac.com/space/links/2014/10/15/1953 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/15/1953/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/15/1953/large.jpg" class="thumb" /></a></div> <p>This is turning out to be quite the interesting week. Can’t wait to get this on Azure.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/15/1953#docker-and-microsoft-partner" title="link to http://the.taoofmac.com/space/links/2014/10/15/1953#docker-and-microsoft-partner">&#x262F;</a></small> Wed, 15 Oct 2014 19:53:01 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/15/1953#docker-and-microsoft-partner wiki Google's Nexus Player offers streaming and gaming for $99 http://the.taoofmac.com/space/links/2014/10/15/1838 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/15/1838/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/15/1838/large.jpg" class="thumb" /></a></div> <p>I have to wonder how much longer it will take for <a href="http://the.taoofmac.com/space/com/Apple" class="wiki" title="com/Apple was updated 8 years, 6 months ago">Apple</a> to do something regarding gaming on the <a href="http://the.taoofmac.com/space/com/Apple/TV" class="wiki" title="com/Apple/TV was updated 5 years, 3 months ago">Apple TV</a>.</p> <p>It’s not that hard to at least <em>try</em>, especially considering their developer mindshare.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/15/1838#google-s-nexus-player-offers-streaming-and-gaming-for--99" title="link to http://the.taoofmac.com/space/links/2014/10/15/1838#google-s-nexus-player-offers-streaming-and-gaming-for--99">&#x262F;</a></small> Wed, 15 Oct 2014 18:38:33 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/15/1838#google-s-nexus-player-offers-streaming-and-gaming-for--99 wiki iPad (mini 3, Air 2) User Guide http://the.taoofmac.com/space/links/2014/10/15/1805 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/15/1805/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/15/1805/large.jpg" class="thumb" /></a></div> <p>Strategically timed leak to steal the thunder from the <a href="http://www.google.com/nexus/9/" title="external link to http://www.google.com/nexus/9/" class="http" rel="http://www.google.com/nexus/9/">Nexus 9</a> or actual mistake?</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/15/1805#ipad--mini-3--air-2--user-guide" title="link to http://the.taoofmac.com/space/links/2014/10/15/1805#ipad--mini-3--air-2--user-guide">&#x262F;</a></small> Wed, 15 Oct 2014 18:05:07 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/15/1805#ipad--mini-3--air-2--user-guide wiki Yosemite http://the.taoofmac.com/space/blog/2014/10/11/1700 <p>I upgraded to the GM candidate this week.</p> <p>There were two reasons for my doing that at this point in time:</p> <ol> <li>My office <a href="http://the.taoofmac.com/space/com/Apple/Mac/mini" class="wiki" title="com/Apple/Mac/mini was updated 4 years, 4 months ago">mini</a> was unbearably slow due to the “endless Spotlight indexing” bug (yes, it’s a thing, and yes, it comes back after you “fix” it) and I was tired of waiting 10 minutes until it settled every morning<sup id="fnref:1"><a class="anchor" href="http://the.taoofmac.com/space/blog/2014/10/11/1700#fn:1" rel="/space/blog/2014/10/11/1700#fn:1" title="link to fn:1 in this page">1</a></sup>.</li> <li>I wanted to avoid the inevitable network slowdowns next week (which seems the most likely release date) and get a head start on preparing a “migration kit” for all my development stuff.</li> </ol> <p>So I left the upgrade running while I worked on my <a href="http://the.taoofmac.com/space/com/Apple/MacBook/Pro" class="wikiunknown" title="com/Apple/MacBook/Pro is not defined yet">MacBook Pro</a> and it took around two hours, give or take — but I didn’t pay much attention due to work and only glanced at it occasionally (pro tip: <code>Command+L</code> gives you an installer log to peek at now and then).</p> <p>And then I did the same this weekend on my home machine — everything worked out fine at the office, but my near-identical (but a generation behind) home setup has a few graphics glitches on the secondary monitor, which is a big drag. I had something similar on an earlier upgrade, and my guess is that it’ll be fixed by release date, but fortunately I usually have something else wired up to my second monitor at home and it’s not terribly annoying to use just the one.</p> <blockquote> <p><strong>Update:</strong> The glitches went away after <a href="http://support.apple.com/kb/ht3964" title="external link to http://support.apple.com/kb/ht3964" class="http" rel="http://support.apple.com/kb/ht3964">resetting the SMC</a> on that mini.</p> </blockquote> <p>I do, however, hate the new window decorations, the color picker, and, in general, a tiny menagerie of stuff I’m going to refer to merely as visual design regressions, both because it’s the most polite term that comes to mind right now and because I can’t really bring myself to insult people. </p> <p>A lot of the new visuals might as well have been done with wax crayons, and let’s leave it at that. I rather like the new aesthetic (even though years of using other platforms have drilled into me the perception that translucency denotes <em>inactive</em> windows) and my habit of hiding the Dock turned out to be a great way to maintain my sanity in this regard.</p> <p>The new Spotlight is OK, but not remarkable. I’m trying to make do without <a href="http://the.taoofmac.com/space/apps/Quicksilver" class="wiki" title="apps/Quicksilver was updated 7 years, 11 months ago">Quicksilver</a>, and it’s a useful but frustrating stand-in (I miss drilling into folders, custom actions, etc.).</p> <p>Software-wise, I have no complaints. I can’t actually get <a href="http://the.taoofmac.com/space/com/Apps/Xcode" class="wikiunknown" title="com/Apps/Xcode is not defined yet">Xcode</a> 6.1 from the App Store yet, but I in the meantime I did a complete <a href="http://brew.sh" title="external link to http://brew.sh" class="http" rel="http://brew.sh">Homebrew</a> reinstall (always a good thing to clear out the dead wood) and all my <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 5 hours, 55 minutes ago">Python</a> stuff worked right away (both the stuff that relied on the system <a href="http://the.taoofmac.com/space/dev/Python" class="wiki" title="dev/Python was updated 5 hours, 55 minutes ago">Python</a> and the multiple environments I have setup with <code>pyenv</code>), so I was good until I tried doing some <a href="http://the.taoofmac.com/space/dev/Clojure" class="wiki" title="dev/Clojure was updated 1 month, 2 weeks ago">Clojure</a> and had to install <a href="http://the.taoofmac.com/space/dev/Java" class="wiki" title="dev/Java was updated 1 year, 3 months ago">Java</a> (which I ended up not doing yet because it was faster to just fire up my Linux VM).</p> <p>As far as regular software is concerned, I only really needed three things not to break: <a href="http://manytricks.com/moom/" title="external link to http://manytricks.com/moom/" class="http" rel="http://manytricks.com/moom/">Moom</a> (for sane window management), <a href="http://www.indev.ca/yosemitebeta/prereleases.php" title="external link to http://www.indev.ca/yosemitebeta/prereleases.php" class="http" rel="http://www.indev.ca/yosemitebeta/prereleases.php">Mail Act-On</a> (the latest beta works fine) and <a href="http://the.taoofmac.com/space/apps/Evernote" class="wiki" title="apps/Evernote was updated 3 years, 7 months ago">Evernote</a> (which still looks exactly the same — so far). Everything works, and all the minor trinkets I have installed (<a href="http://shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock" title="external link to http://shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock" class="http" rel="http://shauninman.com/archive/2011/10/20/day_o_mac_menu_bar_clock">Day-O</a>, <a href="http://www.ragingmenace.com/software/menumeters/" title="external link to http://www.ragingmenace.com/software/menumeters/" class="http" rel="http://www.ragingmenace.com/software/menumeters/">MenuMeters</a>, etc.) just kept on ticking.</p> <p>I expect that to change somewhat as developers start shipping Yosemite-specific updates and actually breaking things, but for now I’m good.</p> <div class="footnote"> <hr /> <ol> <li id="fn:1"> <p>I’d arrive at the office, switch it on, log in and then walk all the way over to the other building to get a glass of water, which turned out to be a great way to do more exercise and talk shop before people got tied up in meetings. <a class="anchor" href="http://the.taoofmac.com/space/blog/2014/10/11/1700#fnref:1" rev="footnote" title="Jump back to footnote 1 in the text" rel="/space/blog/2014/10/11/1700#fnref:1">↩</a></p> </li> </ol> </div><br/><small><a href="http://the.taoofmac.com/space/blog/2014/10/11/1700#yosemite" title="link to http://the.taoofmac.com/space/blog/2014/10/11/1700#yosemite">&#x262F;</a></small><p> <div style="-webkit-border-radius: 8px; font-size: small; background-color: #ccc; color: #000; border: 1px solid #aaa; margin: 0; padding: 3px; overflow: hidden;"><p style="padding; 2px; margin: 2px;"><a title="" href="http://the.taoofmac.com/"><img align="left" alt="Tao of Mac Icon" src="http://the.taoofmac.com/img/pavatar48.png"/></a> "<a href="http://the.taoofmac.com/space/blog/2014/10/11/1700#yosemite"><strong>Yosemite</strong></a>" was written by <a href="http://the.taoofmac.com/RuiCarmo">Rui Carmo</a> for <a href="http://the.taoofmac.com">The Tao of Mac</a> and was originally posted on Saturday, Oct 11<sup>th</sup> 2014. Except as noted, it's &copy;2014 Rui Carmo and licensed for reuse under <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">CC BY-NC-ND 3.0</a>.</p> <p>As usual, please consider <a href="http://the.taoofmac.com/space/site/Donate">donating</a> towards hosting and bandwidth costs.</p> </div> </p> Sat, 11 Oct 2014 17:00:00 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/blog/2014/10/11/1700#yosemite wiki Windows Developer Program for IoT http://the.taoofmac.com/space/links/2014/10/07/1056 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/07/1056/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/07/1056/large.jpg" class="thumb" /></a></div> <p>Nice. The Galileo board is a bit hefty and pricey, but I can see a lot of CE embedded solutions being ported over, and the tools certainly help.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/07/1056#windows-developer-program-for-iot" title="link to http://the.taoofmac.com/space/links/2014/10/07/1056#windows-developer-program-for-iot">&#x262F;</a></small> Tue, 07 Oct 2014 10:56:56 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/07/1056#windows-developer-program-for-iot wiki TinyScreen: A color display the size of your thumb! http://the.taoofmac.com/space/links/2014/10/06/1102 <div class="quicklook_holder drop-shadow lifted"><a title="" href="http://the.taoofmac.com/media/links/2014/10/06/1102/large.jpg" class="quicklook"><img alt="Click on the image to zoom in" src="http://the.taoofmac.com/pagethumb/links/2014/10/06/1102/large.jpg" class="thumb" /></a></div> <p>I had no idea <a href="https://tiny-circuits.com" title="secure link to https://tiny-circuits.com" class="https" rel="https://tiny-circuits.com">TinyDuino</a> existed. This looks very cool, although the rest of the boards seem a tad expensive.</p><br/><small><a href="http://the.taoofmac.com/space/links/2014/10/06/1102#tinyscreen--a-color-display-the-size-of-your-thumb-" title="link to http://the.taoofmac.com/space/links/2014/10/06/1102#tinyscreen--a-color-display-the-size-of-your-thumb-">&#x262F;</a></small> Mon, 06 Oct 2014 11:02:45 GMT Rui Carmo The Tao of Mac http://the.taoofmac.com/space/links/2014/10/06/1102#tinyscreen--a-color-display-the-size-of-your-thumb- wiki