{"id":946,"date":"2015-05-29T23:08:23","date_gmt":"2015-05-30T07:08:23","guid":{"rendered":"https:\/\/accretiondisc.com\/blog\/?p=946"},"modified":"2015-05-29T23:08:23","modified_gmt":"2015-05-30T07:08:23","slug":"tech-links-may-29","status":"publish","type":"post","link":"https:\/\/accretiondisc.com\/blog\/2015\/05\/29\/tech-links-may-29\/","title":{"rendered":"Tech Links &#8211; May 29"},"content":{"rendered":"<p><a href=\"http:\/\/www.linuxlinks.com\/article\/20150523032756576\/PythonShells.html\">Three open-source Python shells<\/a>.<\/p>\n<p><a href=\"http:\/\/blog.honeybadger.io\/ruby-exception-vs-standarderror-whats-the-difference\/\">Don&#8217;t catch Exceptions<\/a>. I must have known why I always do <code>rescue => boom<\/code> to catch exceptions. The reason is that Ruby makes that shorthand for <code>rescue StandardError => boom<\/code>. Nifty.<\/p>\n<p><a href=\"http:\/\/www.libgrader.com\/\">libgrader<\/a>: find quality gems for your next project. It knows about two of my favorites gems: <a href=\"http:\/\/www.libgrader.com\/libraries\/ruby\/pericope\">pericope<\/a> and <a href=\"http:\/\/www.libgrader.com\/libraries\/ruby\/titleize\">titleize<\/a>. (Unlike <a href=\"http:\/\/awesome-ruby.com\/\">awesome-ruby<\/a>.)<\/p>\n<p><a href=\"http:\/\/sequel.jeremyevans.net\/\">Sequel<\/a>: the database toolkit for Ruby. (Here&#8217;s an <a href=\"http:\/\/devblog.avdi.org\/2015\/05\/26\/rubytapas-freebie-sequel\/\">introductory screencast<\/a> at RubyTapas.) I keep thinking I should do something with <a href=\"https:\/\/www.sqlite.org\/\">sqlite<\/a>. Well, really I think I should do something with a database, but I&#8217;d rather put it on Drobox than try to figure out how to have a mysql server out on the internet and not regret it.<\/p>\n<p>The reason? Once you&#8217;ve used a join you&#8217;ll never be content using a spreadsheet for a database. Here&#8217;s a <a href=\"http:\/\/vaidehijoshi.github.io\/blog\/2015\/05\/26\/the-secret-life-of-your-database-part-2-join-tables\/\">quick introduction to joins<\/a>.<\/p>\n<p><a href=\"http:\/\/www.imore.com\/mac-audio-graphing-tool-fuzzmeasure-update-version-4-over-50-new-features\">Mac audio graphing tool FuzzMeasure updated<\/a>. I didn&#8217;t remember that it had a name of its own. I thought it was just <a href=\"http:\/\/supermegaultragroovy.com\/products\/fuzzmeasure\/\">SuperMegaUltraGroovy<\/a>. Anyway, every time I look at this I think to myself about the software I wrote in the mid-90s and all the cool graphs I&#8217;d like to have implemented.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Three open-source Python shells. Don&#8217;t catch Exceptions. I must have known why I always do rescue => boom to catch exceptions. The reason is that Ruby makes that shorthand for rescue StandardError => boom. Nifty. libgrader: find quality gems for your next project. It knows about two of my favorites gems: pericope and titleize. (Unlike [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[52],"tags":[757,283],"class_list":["post-946","post","type-post","status-publish","format-standard","hentry","category-technology","tag-miscellany","tag-technology-2"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paRqpr-fg","_links":{"self":[{"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/posts\/946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/comments?post=946"}],"version-history":[{"count":0,"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/posts\/946\/revisions"}],"wp:attachment":[{"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/media?parent=946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/categories?post=946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/accretiondisc.com\/blog\/wp-json\/wp\/v2\/tags?post=946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}