<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (rtlechow)</title>
    <link>https://pinboard.in/u:rtlechow/public/</link>
    <description>recent bookmarks from rtlechow</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="https://www.saturnflyer.com/blog/the-4-rules-of-east-oriented-code-rule-1?__s=wy767durrhvpwkebafhz"/>
	<rdf:li rdf:resource="https://michaelfeathers.silvrback.com/converting-queries-to-commands?__s=wy767durrhvpwkebafhz"/>
	<rdf:li rdf:resource="http://articles.jbrains.ca/InjectingDependencies.pdf"/>
	<rdf:li rdf:resource="https://parleys.com/play/51704efce4b095cc56d8d4b5/chapter0/about"/>
	<rdf:li rdf:resource="http://c2.com/cgi/wiki?SubclassToTest"/>
	<rdf:li rdf:resource="http://randycoulman.com//blog/2015/01/13/marker-methods/"/>
	<rdf:li rdf:resource="http://loup-vaillant.fr/articles/classes-suck"/>
	<rdf:li rdf:resource="https://vaughnvernon.co/?p=838"/>
	<rdf:li rdf:resource="https://www.hackerschool.com/blog/65-paper-of-the-week-open-extensible-object-models"/>
	<rdf:li rdf:resource="http://n.ethz.ch/~kassiosi/papers/utoronto06.pdf"/>
	<rdf:li rdf:resource="http://www.cs.umd.edu/~hammer/#adapton"/>
	<rdf:li rdf:resource="http://research.microsoft.com/apps/pubs/default.aspx?id=211297"/>
	<rdf:li rdf:resource="http://blog.higher-order.com/blog/2008/12/04/no-such-thing/"/>
	<rdf:li rdf:resource="http://liamoc.net/posts/2013-11-13-imperativereasoning.html"/>
	<rdf:li rdf:resource="http://www.javaworld.com/javaworld/jw-05-2001/jw-0518-encapsulation.html?page=9"/>
	<rdf:li rdf:resource="http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf"/>
	<rdf:li rdf:resource="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.121.1786"/>
	<rdf:li rdf:resource="http://www.dynamic-languages-symposium.org/dls-06/program/media/IanPiumarta_2006_OpenExtensibleDynamicProgrammingSystems_Dls.pdf"/>
	<rdf:li rdf:resource="https://github.com/scalaz/scalaz/issues/271"/>
	<rdf:li rdf:resource="https://github.com/briantrice/slate-language"/>
	<rdf:li rdf:resource="http://developinthecloud.drdobbs.com/author.asp?section_id=2284&amp;doc_id=256017&amp;f_src=developinthecloud_sitedefault"/>
	<rdf:li rdf:resource="http://www.flyingmachinestudios.com/programming/the-unofficial-guide-to-rich-hickeys-brain/"/>
	<rdf:li rdf:resource="http://www.harukizaemon.com/blog/2010/03/01/functional-programming-in-object-oriented-languages/"/>
	<rdf:li rdf:resource="http://blog.codeclimate.com/blog/2012/11/28/your-objects-the-unix-way/"/>
	<rdf:li rdf:resource="http://www.naildrivin5.com/blog/2010/03/08/object-oriented-design.html"/>
	<rdf:li rdf:resource="http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html"/>
	<rdf:li rdf:resource="http://en.wikipedia.org/wiki/Robert_Bruce_Findler"/>
	<rdf:li rdf:resource="http://martinfowler.com/bliki/AnemicDomainModel.html"/>
	<rdf:li rdf:resource="http://silkandspinach.net/2012/07/06/hexagonal-rails-hiding-the-finders/"/>
	<rdf:li rdf:resource="http://books.google.ca/books?hl=en&amp;lr=&amp;id=oiAkSgoiz6EC&amp;oi=fnd&amp;pg=PA39&amp;ots=ShzbLuKOnd&amp;sig=12j5C2PSFQfe2tw0dcb2pHH_q-U&amp;redir_esc=y#v=onepage&amp;q&amp;f=false"/>
	<rdf:li rdf:resource="http://andrzejonsoftware.blogspot.ca/2011/02/dci-and-rails.html"/>
	<rdf:li rdf:resource="http://michaelfeathers.typepad.com/michael_feathers_blog/2012/03/tell-above-and-ask-below-hybridizing-oo-and-functional-design.html"/>
	<rdf:li rdf:resource="http://prog21.dadgum.com/131.html"/>
	<rdf:li rdf:resource="http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html"/>
	<rdf:li rdf:resource="http://lists.canonical.org/pipermail/kragen-tol/2011-August/000937.html"/>
	<rdf:li rdf:resource="http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en"/>
	<rdf:li rdf:resource="http://en.wikipedia.org/wiki/Schizophrenia_(object-oriented_programming)"/>
	<rdf:li rdf:resource="http://www.parashift.com/c++-faq-lite/proper-inheritance.html#faq-21.3"/>
	<rdf:li rdf:resource="http://objology.blogspot.com/2011/09/one-of-best-bits-of-programming-advice.html"/>
	<rdf:li rdf:resource="http://p-cos.blogspot.com/2010/12/non-hierarchical-approach-to-object.html"/>
	<rdf:li rdf:resource="http://www.slideshare.net/burkelibbey/rubys-object-model-metaprogramming-and-other-magic?from=ss_embed"/>
	<rdf:li rdf:resource="http://blog.voxdolo.me/a-diatribe-on-maintaining-state.html"/>
	<rdf:li rdf:resource="http://jsclass.jcoglan.com/"/>
	<rdf:li rdf:resource="http://blog.objectmentor.com/articles/2007/11/02/active-record-vs-objects"/>
	<rdf:li rdf:resource="http://www.jspatterns.com/"/>
	<rdf:li rdf:resource="http://yehudakatz.com/2010/02/15/abstractqueryfactoryfactories-and-alias_method_chain-the-ruby-way/"/>
	<rdf:li rdf:resource="http://en.wikipedia.org/wiki/Antiobjects"/>
	<rdf:li rdf:resource="http://weblog.raganwald.com/2007/10/too-much-of-good-thing-not-all.html"/>
	<rdf:li rdf:resource="http://steve.yegge.googlepages.com/when-polymorphism-fails"/>
	<rdf:li rdf:resource="http://ooc-lang.org/about"/>
	<rdf:li rdf:resource="http://www.responsive.se/thomas/2007/09/22/bowling-kata-solution/"/>
	<rdf:li rdf:resource="http://blog.grayproductions.net/articles/all_about_struct"/>
	<rdf:li rdf:resource="http://whytheluckystiff.net/articles/seeingMetaclassesClearly.html"/>
	<rdf:li rdf:resource="http://www.hokstad.com/ruby-object-model.html"/>
	<rdf:li rdf:resource="http://www.infoq.com/presentations/craftmanship-ethics"/>
	<rdf:li rdf:resource="http://www.restafari.org/object-oriented-sheep-running-in-ruby-shoes.html"/>
	<rdf:li rdf:resource="http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="https://www.saturnflyer.com/blog/the-4-rules-of-east-oriented-code-rule-1?__s=wy767durrhvpwkebafhz">
    <title>The 4 Rules of East-oriented Code: Rule 1 — Saturn Flyer</title>
    <dc:date>2017-11-09T04:03:19+00:00</dc:date>
    <link>https://www.saturnflyer.com/blog/the-4-rules-of-east-oriented-code-rule-1?__s=wy767durrhvpwkebafhz</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[Always return self
Objects may query themselves
Factories are exempt
Break the rules sparingly]]></description>
<dc:subject>oop programming</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:5745b9292c6e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://michaelfeathers.silvrback.com/converting-queries-to-commands?__s=wy767durrhvpwkebafhz">
    <title>Michael Feathers - Converting Queries to Commands</title>
    <dc:date>2017-07-31T16:04:29+00:00</dc:date>
    <link>https://michaelfeathers.silvrback.com/converting-queries-to-commands?__s=wy767durrhvpwkebafhz</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[OO’s primary advantage is decoupling. We send messages to objects and it is up to them to decide what to do. This view of OO comes from Alan Kay and it takes quite a while to internalize. One of the things you have to accept is that when you tell an object to do something there’s no guarantee that it will actually do it. You could, for instance, tell a graphical widget to move but it may not. It could be a null object that simply receives messages and does nothing. These objects can be very useful in systems but you have to maintain the mental frame: what is done depends upon the object. The method calls we make communicate intent but the object bears the responsibility.]]></description>
<dc:subject>oop programming software</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:d7541022d085/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://articles.jbrains.ca/InjectingDependencies.pdf">
    <title>articles.jbrains.ca/InjectingDependencies.pdf</title>
    <dc:date>2015-06-16T14:18:54+00:00</dc:date>
    <link>http://articles.jbrains.ca/InjectingDependencies.pdf</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>tdd dependencies oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:86eb5af5c0b3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:tdd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:dependencies"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://parleys.com/play/51704efce4b095cc56d8d4b5/chapter0/about">
    <title>Parleys.com - Objects and functions, conflict without a cause? by Martin Odersky</title>
    <dc:date>2015-01-24T22:05:39+00:00</dc:date>
    <link>https://parleys.com/play/51704efce4b095cc56d8d4b5/chapter0/about</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[Object-oriented has been the standard paradigm in programming for a long time, but it was not always like this. This talk will go back to the early history of OOP and explain why it became popular. It will then draw parallels to the current rise of functio]]></description>
<dc:subject>fp oop programming software</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:45a1e0568076/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://c2.com/cgi/wiki?SubclassToTest">
    <title>Subclass To Test</title>
    <dc:date>2015-01-18T17:21:00+00:00</dc:date>
    <link>http://c2.com/cgi/wiki?SubclassToTest</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[SubclassToTest is not for perfect class hierarchies. In less than perfect hierarchies, often you have dependencies on things that either make your setup very difficult (for example, direct database calls) or things that make your tests take a long time to ]]></description>
<dc:subject>oop programming c2</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:3beac5b1fb37/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:c2"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://randycoulman.com//blog/2015/01/13/marker-methods/">
    <title>Marker Methods - Courageous Software</title>
    <dc:date>2015-01-13T16:57:02+00:00</dc:date>
    <link>http://randycoulman.com//blog/2015/01/13/marker-methods/</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[A marker method is a method that does nothing other than possibly raising an exception, but whose name communicates something about the code that uses it. Because it is a method and not a comment, it becomes more accessible for normal code navigation and r]]></description>
<dc:subject>software programming smalltalk oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:cfb969930090/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://loup-vaillant.fr/articles/classes-suck">
    <title>How Class based Programming Sucks</title>
    <dc:date>2015-01-03T19:10:49+00:00</dc:date>
    <link>http://loup-vaillant.fr/articles/classes-suck</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[It boils down to three mistakes:

Pervasive mutable state.
Indirect support for closures.
No algebraic data types.]]></description>
<dc:subject>programming criticism functional functionalprogramming oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:1aaa2ed002e4/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:criticism"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:functional"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:functionalprogramming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://vaughnvernon.co/?p=838">
    <title>Effective Aggregate Design</title>
    <dc:date>2014-12-29T02:10:51+00:00</dc:date>
    <link>https://vaughnvernon.co/?p=838</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>oop aggregates ddd</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:5c05bdc23cd9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:aggregates"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ddd"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.hackerschool.com/blog/65-paper-of-the-week-open-extensible-object-models">
    <title>Paper of the Week: Open, extensible object models - Blog - Hacker School</title>
    <dc:date>2014-12-15T21:29:58+00:00</dc:date>
    <link>https://www.hackerschool.com/blog/65-paper-of-the-week-open-extensible-object-models</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>whitepaper paper software oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:8891dd86d175/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:whitepaper"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:paper"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://n.ethz.ch/~kassiosi/papers/utoronto06.pdf">
    <title>n.ethz.ch/~kassiosi/papers/utoronto06.pdf</title>
    <dc:date>2014-09-27T18:41:06+00:00</dc:date>
    <link>http://n.ethz.ch/~kassiosi/papers/utoronto06.pdf</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[A Theory of Object Oriented Refinement
by
Ioannis T. Kassios]]></description>
<dc:subject>software oop programming language paper</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:afc940b19cf5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:paper"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.cs.umd.edu/~hammer/#adapton">
    <title>Matthew Hammer</title>
    <dc:date>2014-07-28T16:58:16+00:00</dc:date>
    <link>http://www.cs.umd.edu/~hammer/#adapton</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>fp oop composable computation programming research papers</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:ba83a77343b6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:composable"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:computation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:research"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:papers"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://research.microsoft.com/apps/pubs/default.aspx?id=211297">
    <title>Programming with Managed Time - Microsoft Research</title>
    <dc:date>2014-07-28T16:57:47+00:00</dc:date>
    <link>http://research.microsoft.com/apps/pubs/default.aspx?id=211297</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[Time is of the essence when modifying state. Most programming languages expose the hardware's ability to update global state at any time, leaving the burden entirely on programmers to properly order all updates. Just as languages now manage memory to free ]]></description>
<dc:subject>programming managed time oop fp</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:9fb46426d089/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:managed"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:time"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.higher-order.com/blog/2008/12/04/no-such-thing/">
    <title>Objects, Identity, and Concept-formation - Higher Order</title>
    <dc:date>2014-06-11T01:22:32+00:00</dc:date>
    <link>http://blog.higher-order.com/blog/2008/12/04/no-such-thing/</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[Coming from a background in Pascal and C, during the 1990s, like most others, I became infatuated with Object-Oriented programming. I thought they were really on to something. It seemed intuitive. I read and re-read the GoF book. I became fluent in UML. I ]]></description>
<dc:subject>programming lisp history software oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:27b53df34338/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:lisp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://liamoc.net/posts/2013-11-13-imperativereasoning.html">
    <title>liamoc.net - Imperative Reasoning is Hard</title>
    <dc:date>2013-12-27T18:02:46+00:00</dc:date>
    <link>http://liamoc.net/posts/2013-11-13-imperativereasoning.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[I believe that the set of languages which are easy to reason about formally and the set of languages in which it is easy to write correct programs intersect heavily. For this reason, I advocate total programming in purely functional programming languages, as this gives rise to a drastically simpler model for formal reasoning compared to mainstream imperative programming, as well as compared to programming in impure functional languages such as ML which do not separate evaluation from execution of effects.]]></description>
<dc:subject>programming fp oop software languages</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:cf25a0c429e2/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:languages"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.javaworld.com/javaworld/jw-05-2001/jw-0518-encapsulation.html?page=9">
    <title>Encapsulation is not information hiding - JavaWorld</title>
    <dc:date>2013-09-12T18:53:06+00:00</dc:date>
    <link>http://www.javaworld.com/javaworld/jw-05-2001/jw-0518-encapsulation.html?page=9</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>programming software objects oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:c2eee1327cf9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:objects"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf">
    <title>scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf</title>
    <dc:date>2013-07-04T21:02:41+00:00</dc:date>
    <link>http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>smalltalk objects oop programming slots</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:719421385e9e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:objects"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:slots"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.121.1786">
    <title>CiteSeerX — Optimizing dynamically-typed object-oriented languages with polymorphic inline caches</title>
    <dc:date>2013-04-15T23:28:18+00:00</dc:date>
    <link>http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.121.1786</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>oop polymorphism inline cache self</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:ecd18a8e1b82/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:polymorphism"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:inline"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:cache"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:self"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.dynamic-languages-symposium.org/dls-06/program/media/IanPiumarta_2006_OpenExtensibleDynamicProgrammingSystems_Dls.pdf">
    <title>www.dynamic-languages-symposium.org/dls-06/program/media/IanPiumarta_2006_OpenExtensibleDynamicProgrammingSystems_Dls.pdf</title>
    <dc:date>2013-03-15T14:36:50+00:00</dc:date>
    <link>http://www.dynamic-languages-symposium.org/dls-06/program/media/IanPiumarta_2006_OpenExtensibleDynamicProgrammingSystems_Dls.pdf</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>oop smalltalk programming languages</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:26091e418453/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:languages"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/scalaz/scalaz/issues/271">
    <title>Too much math · Issue #271 · scalaz/scalaz</title>
    <dc:date>2013-01-29T17:19:16+00:00</dc:date>
    <link>https://github.com/scalaz/scalaz/issues/271</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>scala fp oop github funny</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:8df5e625d472/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:scala"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:funny"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/briantrice/slate-language">
    <title>briantrice/slate-language · GitHub</title>
    <dc:date>2012-12-18T16:18:01+00:00</dc:date>
    <link>https://github.com/briantrice/slate-language</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["Slate is a prototype-based, multi-dispatch object-oriented language that runs from a highly-customizable live environment. The implementation is highly portable and relatively lightweight."]]></description>
<dc:subject>programming language github slate prototype multidispatch oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:89866e1ed640/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:slate"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:prototype"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:multidispatch"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://developinthecloud.drdobbs.com/author.asp?section_id=2284&amp;doc_id=256017&amp;f_src=developinthecloud_sitedefault">
    <title>Develop in the Cloud - Tim Kellogg - Auto-Threading Is Actually About Mutability</title>
    <dc:date>2012-12-15T01:11:55+00:00</dc:date>
    <link>http://developinthecloud.drdobbs.com/author.asp?section_id=2284&amp;doc_id=256017&amp;f_src=developinthecloud_sitedefault</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["This first goal is proving to be my fondest aspect of the language. The ability to have "pockets of imperative mutability," familiar to programmers with C, C++, C#, and Java backgrounds, connected by a "functional tissue," is not only clarifying, but works quite well in practice for building large and complex concurrent systems."]]></description>
<dc:subject>microsoft research programming language oop fp mutability</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:cb7b3b71613c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:microsoft"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:research"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:mutability"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.flyingmachinestudios.com/programming/the-unofficial-guide-to-rich-hickeys-brain/">
    <title>The Unofficial Guide to Rich Hickey's Brain</title>
    <dc:date>2012-12-09T19:42:16+00:00</dc:date>
    <link>http://www.flyingmachinestudios.com/programming/the-unofficial-guide-to-rich-hickeys-brain/</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>programming clojure functional oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:f3994f5fe5fb/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:clojure"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:functional"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.harukizaemon.com/blog/2010/03/01/functional-programming-in-object-oriented-languages/">
    <title>Functional programming in object oriented languages - My hovercraft is full of eels</title>
    <dc:date>2012-12-04T15:50:06+00:00</dc:date>
    <link>http://www.harukizaemon.com/blog/2010/03/01/functional-programming-in-object-oriented-languages/</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["I’ve starting to think of constructor arguments as the mechanism for partially applying all the methods on an object. Considering an object as a partial application of a set of methods is really quite interesting to me. It almost dictates that methods MUST operate, in some way, on the state of the object – just as we always read good OO code should – only there’s a nice explanation as to why: If they didn’t operate on the object’s state, they wouldn’t be partially applied."]]></description>
<dc:subject>programming functional oop immutability</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:65a5fd7822ef/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:functional"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:immutability"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.codeclimate.com/blog/2012/11/28/your-objects-the-unix-way/">
    <title>Your Objects, the Unix Way - Code Climate Blog</title>
    <dc:date>2012-11-28T22:51:55+00:00</dc:date>
    <link>http://blog.codeclimate.com/blog/2012/11/28/your-objects-the-unix-way/</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["“Good code invariably has small methods and small objects. I get lots of resistance to this idea, especially from experienced developers, but no one thing I do to systems provides as much help as breaking it into more pieces.”

"It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures."

]]></description>
<dc:subject>development programming ruby oop unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:21770fa6b787/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.naildrivin5.com/blog/2010/03/08/object-oriented-design.html">
    <title>The only four types of classes in your OO system - Naildrivin' ❺</title>
    <dc:date>2012-11-21T01:50:58+00:00</dc:date>
    <link>http://www.naildrivin5.com/blog/2010/03/08/object-oriented-design.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>code design oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:4d9c8c094507/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html">
    <title>prototypes vs classes was: Re: Sun's HotSpot</title>
    <dc:date>2012-11-13T03:41:41+00:00</dc:date>
    <link>http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["when ST hit the larger world, it was pretty much taken as
"something just to be learned", as though it were Pascal or Algol.
Smalltalk-80 never really was mutated into the next better versions of OOP.
Given the current low state of programming in general, I think this is a
real mistake."]]></description>
<dc:subject>programming smalltalk history oop</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:55133de345f5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://en.wikipedia.org/wiki/Robert_Bruce_Findler">
    <title>Robert Bruce Findler - Wikipedia, the free encyclopedia</title>
    <dc:date>2012-11-12T16:37:00+00:00</dc:date>
    <link>http://en.wikipedia.org/wiki/Robert_Bruce_Findler</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[Findler received his PhD at Rice University under the direction of Matthias Felleisen.[3] His dissertation was on the linguistics of software contracts, popularly known as design by contract. His work on software contracts provides a more careful accounting of blame, thereby helping programmers quickly home in on the faulty part of a software system.
In addition to DrRacket and software contracts, Findler focuses on the design and implementation of a workbench for semantics engineers. This workbench, called Redex, is a tool for specifying and executing the reduction semantics of a programming language. It is already widely used by programming language researchers in the US and Europe. Most recently, SUN's Fortress research team used Redex to specify and explore key parts of their language.]]></description>
<dc:subject>fp oop programming software</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:b18f8f1095f9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://martinfowler.com/bliki/AnemicDomainModel.html">
    <title>AnemicDomainModel</title>
    <dc:date>2012-10-18T05:43:35+00:00</dc:date>
    <link>http://martinfowler.com/bliki/AnemicDomainModel.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["Instead there are a set of service objects which capture all the domain logic. These services live on top of the domain model and use the domain model for data.

The fundamental horror of this anti-pattern is that it's so contrary to the basic idea of object-oriented design; which is to combine data and process together. The anemic domain model is really just a procedural style design, exactly the kind of thing that object bigots like me (and Eric) have been fighting since our early days"]]></description>
<dc:subject>programming oop software</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:86ded799e8ee/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://silkandspinach.net/2012/07/06/hexagonal-rails-hiding-the-finders/">
    <title>Hexagonal rails: Hiding the finders « silk and spinach</title>
    <dc:date>2012-07-06T18:55:30+00:00</dc:date>
    <link>http://silkandspinach.net/2012/07/06/hexagonal-rails-hiding-the-finders/</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>ruby rails oop listeners logic</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:dcad96927932/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:rails"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:listeners"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:logic"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://books.google.ca/books?hl=en&amp;lr=&amp;id=oiAkSgoiz6EC&amp;oi=fnd&amp;pg=PA39&amp;ots=ShzbLuKOnd&amp;sig=12j5C2PSFQfe2tw0dcb2pHH_q-U&amp;redir_esc=y#v=onepage&amp;q&amp;f=false">
    <title>Proceedings of the 1989 European Conference on Object-Oriented Programming ... - Stephen Cook, British Computer Society - Google Books</title>
    <dc:date>2012-05-17T21:50:51+00:00</dc:date>
    <link>http://books.google.ca/books?hl=en&amp;lr=&amp;id=oiAkSgoiz6EC&amp;oi=fnd&amp;pg=PA39&amp;ots=ShzbLuKOnd&amp;sig=12j5C2PSFQfe2tw0dcb2pHH_q-U&amp;redir_esc=y#v=onepage&amp;q&amp;f=false</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[Disciplined Inheritance, M. Sakkinen]]></description>
<dc:subject>software programming development inheritance oop design</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:420da1509dc8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:inheritance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://andrzejonsoftware.blogspot.ca/2011/02/dci-and-rails.html">
    <title>Andrzej on Software: DCI and Rails</title>
    <dc:date>2012-04-12T14:29:50+00:00</dc:date>
    <link>http://andrzejonsoftware.blogspot.ca/2011/02/dci-and-rails.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["You can also extract some roles from the Website class. Some candidates in an e-commerce could be ProductRepository, OrderDepartment, NewsletterManager, Blog etc.

This logic is then injected runtime, at the object level, in the context of a specific use case.  In my opinion contexts or use case fits very well with the rails thin controllers rule."]]></description>
<dc:subject>dci rails oop mvc software</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:2198c5163301/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:dci"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:rails"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:mvc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://michaelfeathers.typepad.com/michael_feathers_blog/2012/03/tell-above-and-ask-below-hybridizing-oo-and-functional-design.html">
    <title>Michael Feathers: Tell Above, and Ask Below - Hybridizing OO and Functional Design</title>
    <dc:date>2012-04-10T17:43:45+00:00</dc:date>
    <link>http://michaelfeathers.typepad.com/michael_feathers_blog/2012/03/tell-above-and-ask-below-hybridizing-oo-and-functional-design.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["Object-orientation is better for the higher levels of a system, and functional programming is better for the lower levels."]]></description>
<dc:subject>functional programming oop software</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:9bea20d519b8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:functional"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://prog21.dadgum.com/131.html">
    <title>Turning Your Code Inside Out</title>
    <dc:date>2012-04-10T17:43:06+00:00</dc:date>
    <link>http://prog21.dadgum.com/131.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["This method of turning your code inside out is the secret to solving what appear to be hopelessly state-oriented problems in a purely functional style. Push the statefulness to a higher level and let the caller worry about it. Keep doing that as much as you can, and you'll end up with the bulk of the code being purely functional. "]]></description>
<dc:subject>software programming oop fp</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:d727957e32eb/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:fp"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html">
    <title>Understanding JavaScript OOP — Sorella's Basement</title>
    <dc:date>2012-01-12T06:14:31+00:00</dc:date>
    <link>http://killdream.github.com/blog/2011/10/understanding-javascript-oop/index.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>javascript js oop programming tutorial</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:7aea7f3869ac/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:js"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:tutorial"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://lists.canonical.org/pipermail/kragen-tol/2011-August/000937.html">
    <title>Goodbye, shitty Car extends Vehicle object-orientation tutorial</title>
    <dc:date>2012-01-11T15:25:18+00:00</dc:date>
    <link>http://lists.canonical.org/pipermail/kragen-tol/2011-August/000937.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["In good OO programming, we don’t make class hierarchies in order to satisfy our inner Linnaeus. We make class hierarchies in order to simplify the code by allowing different
parts of it to be changed independently of each other, and to eliminate duplication (which comes to the same thing). Without any context as to what the code needs to accomplish, you can’t make a judgment about whether a particular design decision is good or bad… A simple interactive graphical environment is a better alternative."]]></description>
<dc:subject>code cs oop programming</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:9bf94572b0a5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:cs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en">
    <title>Dr. Alan Kay on the Meaning of &quot;Object-Oriented Programming&quot;</title>
    <dc:date>2012-01-07T23:12:32+00:00</dc:date>
    <link>http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>history oop lisp programming smalltalk</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:b1b3647a482e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:lisp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://en.wikipedia.org/wiki/Schizophrenia_(object-oriented_programming)">
    <title>Schizophrenia (object-oriented programming) - Wikipedia, the free encyclopedia</title>
    <dc:date>2012-01-04T15:47:45+00:00</dc:date>
    <link>http://en.wikipedia.org/wiki/Schizophrenia_(object-oriented_programming)</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["Object schizophrenia or self schizophrenia is a complication arising from delegation and related techniques in object-oriented programming.
An object can be defined as a computing concept combining data and behavior, and having an identity. Objects are typically built on class systems. A base class provides the fundamental or default behavior of an object, and acts as a template for creating objects. A derived class can be used to override behaviors of a base class, and can be used as a template for objects whose behaviors refine those of the base class. As an alternative to inheritance — which is a relatively static concept — some programming languages use delegation, which is semantically equivalent.[1][dubious – discuss] Instead of using one class to refine another, delegation allows one object to override the behavior of another. The original object a (analogous to the base class behaviors) can delegate some of its methods to another object b (analogous to the derived class behaviors). If a delegates its foo method to the bar method of b, then any invocation of foo on a will cause b's bar method to execute. However, bar executes in the context of the a object — for example, its self identifier refers to a rather than to b.
When delegation is used, the question arises: What is the identity of the object a? The identity is split. There are two potentially meaningful self values when executing a method of a. This problem does not arise in most class-based languages, because an object has a single physical identity. With delegation, the object has two identities."]]></description>
<dc:subject>oop programming software smell antipattern</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:f64c88269a18/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:antipattern"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.parashift.com/c++-faq-lite/proper-inheritance.html#faq-21.3">
    <title>[21] Inheritance -- proper inheritance and substitutability, C++ FAQ</title>
    <dc:date>2011-12-01T22:37:45+00:00</dc:date>
    <link>http://www.parashift.com/c++-faq-lite/proper-inheritance.html#faq-21.3</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>substitutability inheritance nouns verbs oop programming</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:6df74059ae12/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:substitutability"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:inheritance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:nouns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:verbs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://objology.blogspot.com/2011/09/one-of-best-bits-of-programming-advice.html">
    <title>Objology: One of the Best Bits of Programming Advice I ever Got</title>
    <dc:date>2011-10-11T19:10:50+00:00</dc:date>
    <link>http://objology.blogspot.com/2011/09/one-of-best-bits-of-programming-advice.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA[That article about agentive nouns.]]></description>
<dc:subject>oop nouns verbs language agentive advice design programming</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:5b2f46770a19/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:nouns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:verbs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:agentive"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:advice"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://p-cos.blogspot.com/2010/12/non-hierarchical-approach-to-object.html">
    <title>p-cos blog: A non-hierarchical approach to object-oriented programming</title>
    <dc:date>2010-12-30T20:48:47+00:00</dc:date>
    <link>http://p-cos.blogspot.com/2010/12/non-hierarchical-approach-to-object.html</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["The Lisp historical archive web site just got reorganized. I have made a quick check of the contents, and found out that Howard I. Cannon's original technical report about Flavors - A non-hierarchical approach to object-oriented programming was finally made available as part of that archive. The report was originally written in 1979, was circulated around Lispers, but was never ever published as an actual technical report, although it is cited as such in several later papers by other authors. It describes the original object-oriented extension to the MIT Lisp Machine, heavily influenced by Smalltalk, but with multiple inheritance and method combinations added (but no multiple dispatch yet, which got only introduced in CommonLoops, a direct predecessor of CLOS). Although unpublished and clearly in an unfinished state, this report itself influenced a lot of other subsequent experiments with object-oriented extensions to Lisp dialects."]]></description>
<dc:subject>oop programming software history lisp inheritance</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:rtlechow/b:b7997738b69c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:lisp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:inheritance"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.slideshare.net/burkelibbey/rubys-object-model-metaprogramming-and-other-magic?from=ss_embed">
    <title>Ruby's Object Model: Metaprogramming and other Magic</title>
    <dc:date>2010-11-09T04:12:31+00:00</dc:date>
    <link>http://www.slideshare.net/burkelibbey/rubys-object-model-metaprogramming-and-other-magic?from=ss_embed</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>oop metaprogramming ruby</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:714f241698d1/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:metaprogramming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.voxdolo.me/a-diatribe-on-maintaining-state.html">
    <title>blog dot voxdolo dot me | A Diatribe on Maintaining State</title>
    <dc:date>2010-09-05T21:38:51+00:00</dc:date>
    <link>http://blog.voxdolo.me/a-diatribe-on-maintaining-state.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>bestpractices oop patterns programming refactoring ruby</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:75bd3040deba/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:bestpractices"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:patterns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:refactoring"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://jsclass.jcoglan.com/">
    <title>JS.Class - Ruby-style JavaScript</title>
    <dc:date>2010-05-01T17:53:27+00:00</dc:date>
    <link>http://jsclass.jcoglan.com/</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>class code coding dev development framework frameworks jquery javascript js libraries library object oo oop rubyonrails ruby rails prototype programming</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:a3de3659e8cc/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:class"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:dev"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:framework"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:frameworks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:jquery"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:js"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:libraries"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:library"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:object"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:rubyonrails"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:rails"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:prototype"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.objectmentor.com/articles/2007/11/02/active-record-vs-objects">
    <title>Active Record vs Objects</title>
    <dc:date>2010-03-22T18:36:57+00:00</dc:date>
    <link>http://blog.objectmentor.com/articles/2007/11/02/active-record-vs-objects</link>
    <dc:creator>rtlechow</dc:creator><description><![CDATA["This dilemma is the basis for the oft-cited impedance mismatch between relational databases and object oriented languages. Tables are data structures, not classes. Objects are encapsulated behavior, not database rows... So applications built around ActiveRecord are applications built around data structures. And applications that are built around data structures are procedural—they are not object oriented. The opportunity we miss when we structure our applications around Active Record is the opportunity to use object oriented design."
]]></description>
<dc:subject>activerecord patterns design persistence programming oop rails database orm</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:3bb52a309154/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:activerecord"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:patterns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:persistence"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:rails"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:database"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:orm"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.jspatterns.com/">
    <title>JSPatterns.com</title>
    <dc:date>2010-03-10T03:01:17+00:00</dc:date>
    <link>http://www.jspatterns.com/</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>javascript patterns programming development design oop practices blog</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:1abb13e4f351/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:javascript"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:patterns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:practices"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:blog"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://yehudakatz.com/2010/02/15/abstractqueryfactoryfactories-and-alias_method_chain-the-ruby-way/">
    <title>AbstractQueryFactoryFactories and alias_method_chain: The Ruby Way « Katz Got Your Tongue?</title>
    <dc:date>2010-02-15T17:21:07+00:00</dc:date>
    <link>http://yehudakatz.com/2010/02/15/abstractqueryfactoryfactories-and-alias_method_chain-the-ruby-way/</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>ruby oop design language programming</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:124e666bf65d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://en.wikipedia.org/wiki/Antiobjects">
    <title>Antiobjects - Wikipedia, the free encyclopedia</title>
    <dc:date>2009-12-07T18:52:33+00:00</dc:date>
    <link>http://en.wikipedia.org/wiki/Antiobjects</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>programming ai algorithms design algorithm oo oop antiobjects wikipedia</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:ee78ccbdb6c1/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ai"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:algorithms"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:algorithm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:antiobjects"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:wikipedia"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://weblog.raganwald.com/2007/10/too-much-of-good-thing-not-all.html">
    <title>Too much of a good thing: not all functions should be object methods</title>
    <dc:date>2009-11-25T00:40:35+00:00</dc:date>
    <link>http://weblog.raganwald.com/2007/10/too-much-of-good-thing-not-all.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>programming oop language design polymorphism smalltalk</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:7c2bdb49c1c6/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:polymorphism"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://steve.yegge.googlepages.com/when-polymorphism-fails">
    <title>Stevey's Home Page - When Polymorphism Fails </title>
    <dc:date>2009-11-25T00:40:07+00:00</dc:date>
    <link>http://steve.yegge.googlepages.com/when-polymorphism-fails</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>programming oop design patterns opinion ruby article polymorphism</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:7c21bbc8869b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:patterns"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:opinion"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:article"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:polymorphism"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://ooc-lang.org/about">
    <title>ooc</title>
    <dc:date>2009-10-23T15:43:27+00:00</dc:date>
    <link>http://ooc-lang.org/about</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>language compiler c programming functional languages oop experimental ooc</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:33aed448495c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:language"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:compiler"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:c"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:functional"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:languages"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:experimental"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ooc"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.responsive.se/thomas/2007/09/22/bowling-kata-solution/">
    <title>On Responsive Development · Bowling Kata “solution”</title>
    <dc:date>2009-10-12T02:20:01+00:00</dc:date>
    <link>http://www.responsive.se/thomas/2007/09/22/bowling-kata-solution/</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>agile java kata programming oop tdd testing bdd code screencast</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:0ee39117803b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:agile"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:java"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:kata"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:tdd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:bdd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:screencast"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.grayproductions.net/articles/all_about_struct">
    <title>Shades of Gray: All About Struct</title>
    <dc:date>2009-08-25T14:12:36+00:00</dc:date>
    <link>http://blog.grayproductions.net/articles/all_about_struct</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>ruby programming class tips tutorial data documentation oop struct</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:8c63c62da751/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:class"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:tips"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:tutorial"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:documentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:struct"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://whytheluckystiff.net/articles/seeingMetaclassesClearly.html">
    <title>.c( whytheluckystiff )o. -- Seeing Metaclasses Clearly</title>
    <dc:date>2009-03-11T04:55:55+00:00</dc:date>
    <link>http://whytheluckystiff.net/articles/seeingMetaclassesClearly.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>metaclasses meta whytheluckystiff why oo singleton metaprogramming oop class programming design development ruby rails</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:aef02e68b022/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:metaclasses"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:meta"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:whytheluckystiff"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:why"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:singleton"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:metaprogramming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:class"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:rails"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.hokstad.com/ruby-object-model.html">
    <title>The Ruby Object Model - Structure and Semantics</title>
    <dc:date>2009-03-11T04:55:34+00:00</dc:date>
    <link>http://www.hokstad.com/ruby-object-model.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>object metaclass mri internals objectmodel ruby development programming metaprogramming model oop class architecture</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:a1638fac0db2/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:object"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:metaclass"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:mri"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:internals"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:objectmodel"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:metaprogramming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:model"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:class"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:architecture"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.infoq.com/presentations/craftmanship-ethics">
    <title>InfoQ: Craftsmanship and Ethics</title>
    <dc:date>2009-02-14T00:57:23+00:00</dc:date>
    <link>http://www.infoq.com/presentations/craftmanship-ethics</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>programming software video agile presentation craft develpment oop</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:71d937f5854c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:software"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:video"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:agile"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:presentation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:craft"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:develpment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.restafari.org/object-oriented-sheep-running-in-ruby-shoes.html">
    <title>Object-oriented sheep, running around in Ruby Shoes [Restafari.org]</title>
    <dc:date>2009-01-06T00:16:05+00:00</dc:date>
    <link>http://www.restafari.org/object-oriented-sheep-running-in-ruby-shoes.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>objectoriented kids study programming development ruby tutorial howto games education gui teaching oop introduction shoes</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:41854b71ca7d/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:objectoriented"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:kids"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:study"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:ruby"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:tutorial"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:howto"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:games"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:education"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:gui"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:teaching"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:introduction"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:shoes"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html">
    <title>http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html</title>
    <dc:date>2008-05-07T00:39:37+00:00</dc:date>
    <link>http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html</link>
    <dc:creator>rtlechow</dc:creator><dc:subject>mvc programming design architecture smalltalk pattern oop framework development academic history</dc:subject>
<dc:identifier>https://pinboard.in/u:rtlechow/b:8f0d2d071393/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:mvc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:programming"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:design"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:architecture"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:smalltalk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:pattern"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:oop"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:framework"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:academic"/>
	<rdf:li rdf:resource="https://pinboard.in/u:rtlechow/t:history"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>