<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>It’s All Semantics on scriptogr.am</title>
  <link>http://itsallsemantics.com</link>
  <description>Those who don’t understand the language are doomed to repeat themselves.</description>
  <pubDate>2012</pubDate>
 
  <item>
    <title>coverage</title>
    <pubDate>Wed, 18 Apr 2012 08:58:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/coverage</link>
    <guid>http://itsallsemantics.com/post/coverage</guid>     
    <description><![CDATA[<p><a href="http://martinfowler.com/bliki/TestCoverage.html">A nice article from Martin Fowler on Test Coverage</a>.</p>

<blockquote>
  <p>Like most aspects of programming, testing requires thoughtfulness. TDD is a very useful, but certainly not sufficient, tool to help you get good tests.</p>
</blockquote>

<p>I have always said something similar: "High test coverage isn't necessarily good, but low test coverage is always bad."</p>
]]></description>
  </item>
 
  <item>
    <title>delegate</title>
    <pubDate>Mon, 16 Apr 2012 08:57:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/delegate</link>
    <guid>http://itsallsemantics.com/post/delegate</guid>     
    <description><![CDATA[<p>From the "true crime Stories" file:</p>

<p>If you use..</p>

<pre class="prettyprint"><code>delegate :active_required_roles, to: :app_group, allow_nil: true"
</code></pre>

<p>make sure you test and handle the case where it comes back nil!!</p>
]]></description>
  </item>
 
  <item>
    <title>ruby</title>
    <pubDate>Wed, 11 Apr 2012 20:36:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/ruby</link>
    <guid>http://itsallsemantics.com/post/ruby</guid>     
    <description><![CDATA[<p>Philly.rb -- 12J11</p>

<p><em>Resources to help kids to program</em></p>

<ul>
<li>Learn to Program by Chris Pine</li>
<li>Kids ruby</li>
<li>Puma web server</li>
<li>Chris Le github</li>
</ul>

<h4>Trotter on <a href="http://cloudfoundry.org">Cloud Foundry</a>... Heroku but you run it yourself</h4>

<p>Erlang/OTP is a good example of this.</p>

<p><em>Components</em></p>

<ul>
<li>Cloud Controller</li>
<li>Droplet Execution Agent </li>
<li>Message Queue</li>
<li>Router (bound to port 80)</li>
<li>Health Manager</li>
</ul>

<p>Download a Micro Cloud. Buy VMWare Fusion. $50</p>
]]></description>
  </item>
 
  <item>
    <title>connasence</title>
    <pubDate>Wed, 11 Apr 2012 17:04:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/connasence</link>
    <guid>http://itsallsemantics.com/post/connasence</guid>     
    <description><![CDATA[<p><em>Connasence Examined</em></p>

<p>Jim Weirich</p>

<p>Gave a great talk, but Nocs lost all my notes. :[</p>
]]></description>
  </item>
 
  <item>
    <title>charcuterie </title>
    <pubDate>Wed, 11 Apr 2012 14:13:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/charcuterie</link>
    <guid>http://itsallsemantics.com/post/charcuterie</guid>     
    <description><![CDATA[<p><a href="http://www.phillyete.com/">Philly ETE, 2012</a></p>

<p><em>Code Charcuterie</em></p>

<p>Aaron Patterson, Rails Core Developer</p>

<p>Avoiding surprise null pointers</p>

<ul>
<li>ruby auto-vivifies variables and this leads to problems</li>
<li>use -w when running ruby.  Rails team considers warnings bugs, but others do not.</li>
<li>don't use bare instance variables!</li>
<li>helper_method :name is one way</li>
<li>instead use internal Context methods? [This seems way too convoluted though]</li>
<li>Rails core team is looking for a way to automate the context object creation</li>
</ul>

<h3>Rails 4</h3>

<ul>
<li>Queuing</li>
</ul>
]]></description>
  </item>
 
  <item>
    <title>karaoke</title>
    <pubDate>Wed, 11 Apr 2012 10:37:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/karaoke</link>
    <guid>http://itsallsemantics.com/post/karaoke</guid>     
    <description><![CDATA[<p><a href="http://www.phillyete.com/">Philly ETE, 2012</a></p>

<p><em>How to Build a Web-powered Karaoke Machine</em></p>

<p><a href="http://Brooklynhacker.com">Rob Spectre</a>
@dN0t</p>

<p>Cool demonstration of the <a href="http://Twilio.com">twilio</a> platform. It is python-based, Heroku-centric platform that lets you turn your browser into  a phone.</p>
]]></description>
  </item>
 
  <item>
    <title>emergent</title>
    <pubDate>Wed, 11 Apr 2012 09:03:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/emergent</link>
    <guid>http://itsallsemantics.com/post/emergent</guid>     
    <description><![CDATA[<p><a href="http://www.phillyete.com/">Philly ETE, 2012</a></p>

<p><em>Emerging Programming Languages</em></p>

<p>Alex Payne, Founder, <a href="https://www.simple.com/">SimpleBank</a></p>

<p>Different languages for different jobs!</p>

<h3>Job: Better Java</h3>

<ul>
<li>Kotlin: Java + closures</li>
<li>Gosu: Java + native SOAP + some ruby?</li>
<li>Ceylon: Java w interceptors, from RedHat</li>
</ul>

<h3>Job: Better JavaScript</h3>

<ul>
<li>StratifiedJS: adds structured concurrency</li>
<li>CoffeeScript: JavaScript, the good parts. Ruby inspired syntax, white space sensitive</li>
<li>Objective-J: </li>
<li>ClojureScript: Clojure -> JavaScript</li>
<li>Dart: from Google, generics, optional typing </li>
<li>Roy: functional into JS, monads, functional, pattern matching</li>
</ul>

<h3>Job: Web Development</h3>

<ul>
<li>Opa: OCaml variant</li>
<li>UR/Web: Haskell</li>
</ul>

<h3>Job: Systems programming</h3>

<ul>
<li>Go: bring C up-to-date</li>
<li>Rust: from Mozilla. Improve C++.</li>
<li>OOC: Objective-C alternative</li>
</ul>

<h3>Job: Dynamic Programming</h3>

<ul>
<li>Fancy: runs on Rubinius. Actors</li>
<li>Slate: a modern Smalltalk</li>
<li>Elixir: alternative language for the Erlang VM</li>
<li>Frink: make calculations simple</li>
<li>Julia: alternative to R. Dynamic, compiled, parallel.</li>
<li>Faust: digital signal processing</li>
</ul>

<h3>Job: Processing Data</h3>

<ul>
<li>Bandicoot: a language for set algebra</li>
<li>Quirrel: part of pre-cog. Lang for Analytics. Declarative, functional</li>
</ul>

<h3>Job: Make you Think</h3>

<ul>
<li>Wheeler: different. No variables, no functions, no objects</li>
<li>Kodu: XBox visual programming</li>
</ul>
]]></description>
  </item>
 
  <item>
    <title>work</title>
    <pubDate>Tue, 10 Apr 2012 14:45:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/work</link>
    <guid>http://itsallsemantics.com/post/work</guid>     
    <description><![CDATA[<p><a href="http://www.phillyete.com/">Philly ETE, 2012</a></p>

<p><em>How Github Works</em></p>

<p>Scott Chacon, CIO, <a href="http://github.com">Github</a></p>

<ul>
<li>4 founders in a (somewhere)</li>
<li>How do you grow a company without losing what makes it itself</li>
<li>[http://zachholman.com]</li>
</ul>

<h2>General</h2>

<ul>
<li>hours are bs</li>
<li>the best solutions happen when you're in the zone</li>
<li>embrace flexibility</li>
<li>working long hours is a badge of foolishness</li>
<li>trust your employees</li>
<li>be asynchronous </li>
<li>office is their chat room </li>
<li>keep developers in the zone (headphone policy: no talk)</li>
<li>no "official" managers</li>
<li>shipping culture</li>
<li>minimum viable process</li>
<li>make it ok to say no</li>
</ul>

<h2>Specifics</h2>

<ul>
<li>Master is always deployable. Deploy 7-10 times a day.</li>
<li>Everything in a branch... Pull request on branch... One approved... Merge into master... Deploy</li>
<li>Partial deploys -> staff- only</li>
<li>Fast tests... A slow test is a regression. CI server for all branches.</li>
<li>Graph everything, graphite, collect metrics for everything you care about.</li>
<li>No one has left in 4 years</li>
<li>happiness-oriented workplace</li>
</ul>
]]></description>
  </item>
 
  <item>
    <title>culture</title>
    <pubDate>Tue, 10 Apr 2012 13:28:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/culture</link>
    <guid>http://itsallsemantics.com/post/culture</guid>     
    <description><![CDATA[<p><a href="http://www.phillyete.com/">Philly ETE, 2012</a></p>

<p><em>Culture Eats Agile for Breakfast</em></p>

<p>Stacia Viscardi, AgileEvolution</p>

<p>Corporate Culture is essentially immutable.
Are people really uncomfortable with change? [i am not so sure]</p>

<p>People have a need to belong.
Agile is a combination of Practices AND Values
So what makes Agile go astray? Culture!</p>

<p>[its ok to have nothing to do]</p>

<p>You lose 20% efficiency for each additional project you work on. Dedicated Teams are much more efficient.</p>

<ul>
<li>create env where it's safe to fail</li>
<li>make employees see themselves as innovators</li>
<li>make sure to reward teamwork</li>
</ul>
]]></description>
  </item>
 
  <item>
    <title>ape</title>
    <pubDate>Tue, 10 Apr 2012 11:46:00 -0400</pubDate>
    <link>http://itsallsemantics.com/post/ape</link>
    <guid>http://itsallsemantics.com/post/ape</guid>     
    <description><![CDATA[<p><a href="http://www.phillyete.com/">Philly ETE, 2012</a></p>

<p><em>The Programming Ape</em></p>

<p>Coda Hale, Yammer</p>

<p>Software is for <em>people</em></p>

<p>But what are people? We are very unreliable... We are not Introspectable.</p>

<p>Just as vision can be tricked by optical illusions, so can the mind</p>

<ul>
<li>Intuition - involuntary, fast, effortless, invisible, costless, powers creativity</li>
<li>Attention - voluntary, slow, difficult, requires effort and energy. Humans have adapted to conserve this.</li>
</ul>

<p>Your mind "primes" certain concepts so you can respond more quickly.
The brain will swap out a difficult problem that it can't solve for an easy one that it can.</p>

<ul>
<li>Too long; didn't read</li>
<li>Too subtle; didn't notice</li>
<li>Too busy; didn't see it</li>
<li>Too tired; didn't care</li>
</ul>

<p>This can lead to ego depletion which causes bad decisions</p>

<ul>
<li>leverage intuition</li>
<li>let the visual cortex do the work</li>
<li>build ambient awareness</li>
<li>group by context, not how they were produced</li>
<li>conserve attention</li>
<li>make daily life sustainable</li>
</ul>
]]></description>
  </item>
    
</channel>
</rss>
