<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>platypope.org / blog / commentary</title>
  <link href="http://platypope.org/blog/comments" rel="self"/>
  <id>urn:uuid:d017f952-4112-11db-9b2b-00123ff39a22</id>
  <updated>2010-02-04T10:01:01-05:00</updated>
  <author>
    <name>Various commentators</name>
  </author>
  <entry>
    <title>Comment on "Creative Reformation"</title>
    <link href="http://platypope.org/blog/2010/2/3/creative-reformation#comment200" rel="alternate"/>
    <id>urn:uuid:1b9e8d46-119e-11df-a749-aa008bfedbfd</id>
    <updated>2010-02-04T10:01:01-05:00</updated>
    <author>
      <name>llasram</name>
    </author>
    <content type="html">
&lt;p&gt;But (a) Apple &lt;em&gt;knows&lt;/em&gt; that the DMCA prevents people from legally developing on the device without Apple's express permission, and (b) any flaws which allow jailbreaking in the first place are just bugs -- an unjailbreakable system is by no means impossible.&lt;/p&gt;

&lt;p&gt;Consumers stand for it because it limits their freedom in a way which usually doesn't impact them, but the ease-of-use they buy from Apple for and the restriction-of-freedom are not bound by necessity.  As long as average consumers don't recognize the implications of the restrictions imposed, there's no market disadvantage, just the raw advantage of absolute control.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "Creative Reformation"</title>
    <link href="http://platypope.org/blog/2010/2/3/creative-reformation#comment199" rel="alternate"/>
    <id>urn:uuid:9e5831a2-119d-11df-a749-aa008bfedbfd</id>
    <updated>2010-02-04T09:57:30-05:00</updated>
    <author>
      <name>ahobson</name>
    </author>
    <content type="html">
&lt;p&gt;But you can run unsigned applications on your iPad. You just need a developer license.&lt;/p&gt;

&lt;p&gt;Here's the thing: I don't think Apple has an obligation to make it easy for you to hack on the device you bought from them. I also don't think it should be illegal for you to reverse engineer / jailbreak / whatever your own device. And yes, I know that Apple is trying to use the DMCA to prevent such a thing; they're wrong to do so.&lt;/p&gt;

&lt;p&gt;But if Apple doesn't want non developers to tinker, that's a decision that may really hurt them down the road. If they make it hard to tinker, the next generation will learn how to tinker on something else and that something else will have a decided market advantage.&lt;/p&gt;

&lt;p&gt;So I think you need to separate &amp;quot;that's a bad business decision&amp;quot; from &amp;quot;you've taken away my freedom&amp;quot;. The iPad doesn't take away your freedom. The DMCA does that.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "Solving puzzles with (computer) science"</title>
    <link href="http://platypope.org/blog/2010/1/7/solving-puzzles-with-computer-science#comment198" rel="alternate"/>
    <id>urn:uuid:9c6d95e6-fca1-11de-a749-aa008bfedbfd</id>
    <updated>2010-01-08T17:03:11-05:00</updated>
    <author>
      <name>Sean</name>
    </author>
    <content type="html">
&lt;p&gt;I know why I would enjoy putting it in all caps.  might be the same reason for you.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "Printing to e-ink"</title>
    <link href="http://platypope.org/blog/2007/2/9/printing-to-e-ink#comment197" rel="alternate"/>
    <id>urn:uuid:3539f4a0-ef6d-11de-a749-aa008bfedbfd</id>
    <updated>2009-12-22T21:45:19-05:00</updated>
    <author>
      <name>Quicksilver</name>
    </author>
    <content type="html">
&lt;p&gt;Nice tutorial! Is there any way to get it to print in .RTF rather than PDF?&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "Language Implementation Patterns"</title>
    <link href="http://platypope.org/blog/2009/10/5/language-implementation-patterns#comment196" rel="alternate"/>
    <id>urn:uuid:82de30a4-e770-11de-a749-aa008bfedbfd</id>
    <updated>2009-12-12T17:48:48-05:00</updated>
    <author>
      <name>jared@jaredhirsch.com</name>
    </author>
    <content type="html">
&lt;p&gt;Aha! I've been trying to figure out which one to buy. Like you, I'm much more interested in the applications than a comprehensive ANTLR reference--but I couldn't figure out, from looking at the blurbs on the pragmatic site, which one to go with. So, thanks for this post&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "Fun with screen"</title>
    <link href="http://platypope.org/blog/2007/3/10/fun-with-screen#comment195" rel="alternate"/>
    <id>urn:uuid:dc039ac6-caaa-11de-a749-aa008bfedbfd</id>
    <updated>2009-11-06T03:03:25-05:00</updated>
    <author>
      <name>peter</name>
    </author>
    <content type="html">
&lt;p&gt;I haven't checked all your sites so far, but those five I managed to look through really impressed me! How long are you in this business? There's always field for improvement, sure thing, but this is what a good site should be!&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "ZmForth!"</title>
    <link href="http://platypope.org/blog/2009/9/29/zmforth#comment194" rel="alternate"/>
    <id>urn:uuid:0bc3e372-c19d-11de-a749-aa008bfedbfd</id>
    <updated>2009-10-25T15:31:51-04:00</updated>
    <author>
      <name>http://gavenkoa.blogspot.com</name>
    </author>
    <content type="html">
&lt;p&gt;Thanks for replay!&lt;/p&gt;

&lt;p&gt;I want in future also make my own Forth machine (as well as basic Lisp interpreter).&lt;/p&gt;

&lt;p&gt;One of hobby forth realization based on buzzard.2 example. Author say this in doc and surprise when buzzard.2 author replay to him:&lt;/p&gt;

&lt;p&gt;http://lambda-the-ultimate.org/node/2452#comment-36818&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "ZmForth!"</title>
    <link href="http://platypope.org/blog/2009/9/29/zmforth#comment193" rel="alternate"/>
    <id>urn:uuid:d64b00e6-b728-11de-a749-aa008bfedbfd</id>
    <updated>2009-10-12T08:14:48-04:00</updated>
    <author>
      <name>llasram</name>
    </author>
    <content type="html">
&lt;p&gt;That is a fascinatingly small base stack machine implementation!  It's pretty amazing how tiny one can make it, even if not going for obfuscation.&lt;/p&gt;

&lt;p&gt;I'm not sure how long mine took exactly -- maybe two months?  I had to start by writing the assembler, then I took a long break in the middle, and finished by spending a lot of extra time being pedantic (implementing the double-width word set, passing the ANS Forth test suite I found, etc).&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "ZmForth!"</title>
    <link href="http://platypope.org/blog/2009/9/29/zmforth#comment192" rel="alternate"/>
    <id>urn:uuid:d007aa48-b69e-11de-a749-aa008bfedbfd</id>
    <updated>2009-10-11T15:46:47-04:00</updated>
    <author>
      <name>http://gavenkoa.blogspot.com</name>
    </author>
    <content type="html">
&lt;p&gt;Try spend 10 minutes to run winner of IOCCC in 1992 year:&lt;/p&gt;

&lt;p&gt;http://www.ioccc.org/years.html&lt;/p&gt;

&lt;p&gt;(search for buzzard.2 on this page,
read buzzard.2.hint, demo[1-6].th).&lt;/p&gt;

&lt;p&gt;This funny stuff.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "ZmForth!"</title>
    <link href="http://platypope.org/blog/2009/9/29/zmforth#comment191" rel="alternate"/>
    <id>urn:uuid:6b50b2f2-b69e-11de-a749-aa008bfedbfd</id>
    <updated>2009-10-11T15:43:58-04:00</updated>
    <author>
      <name>gavenkoa.blogspot.com</name>
    </author>
    <content type="html">
&lt;p&gt;How log time you spend on implementation?&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment190" rel="alternate"/>
    <id>urn:uuid:86fcb284-b677-11de-a749-aa008bfedbfd</id>
    <updated>2009-10-11T11:05:34-04:00</updated>
    <author>
      <name>llasram</name>
    </author>
    <content type="html">
&lt;p&gt;@Shot Your assumption is correct, and your explanation makes sense, but still doesn't justify it for me.  The Ruby convention is that methods ending with '?' are Boolean predicates.  In most contexts, nonzero? returns something which can be implicitly interpreted as Boolean, but causes surprise and unnecessary debugging effort when used in a context where 'false' and 'nil' are not interpreted the same.  So personally I value consistency in these sorts of cases.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment189" rel="alternate"/>
    <id>urn:uuid:26e791d2-b5ed-11de-a749-aa008bfedbfd</id>
    <updated>2009-10-10T18:35:03-04:00</updated>
    <author>
      <name>Shot</name>
    </author>
    <content type="html">
&lt;p&gt;I assume you&#8217;re happy that Numeric#zero? returns the boolean answer whether the object is a zero and unhappy that Numeric#nonzero? does not mirror the behaviour, returning nil or self.&lt;/p&gt;

&lt;p&gt;While I agree this is against the principle of least surprise, Numeric#nonzero? does work as expected in boolean contexts (as nil is falsy and Numeric objects are truthy).&lt;/p&gt;

&lt;p&gt;I don&#8217;t like this discrepancy for idealistic reasons, but there is an argument for it &#8211; nonzero? was explicitely designed to be used in &#8216;spaceship&#8217; methods to simplify their code. Consider an object with three properties with varying importance: pri, sec and ter. nonzero? allows you to write the comparator method like this:&lt;/p&gt;

&lt;p&gt;def &amp;lt;=&amp;gt; other
    (pri &amp;lt;=&amp;gt; other.pri).nonzero? or (sec &amp;lt;=&amp;gt; other.sec).nonzero? or ter &amp;lt;=&amp;gt; other.ter
  end&lt;/p&gt;

&lt;p&gt;Without nonzero? you&#8217;d need more verbose code.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment188" rel="alternate"/>
    <id>urn:uuid:2ba21362-8db3-11de-8227-aa008bfedbfd</id>
    <updated>2009-08-20T13:59:13-04:00</updated>
    <author>
      <name>yongbin99</name>
    </author>
    <content type="html">
&lt;p&gt;What is your new language of choice? (come on clojure!)&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment187" rel="alternate"/>
    <id>urn:uuid:a455025a-7b0d-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-27T20:28:58-04:00</updated>
    <author>
      <name>bathmat</name>
    </author>
    <content type="html">
&lt;p&gt;it does seem like it should be consistent given that ?-methods generally return boolean. though I never much cared for the #zero? stuff anyway. thing==0 and thing!=0 seem perfectly good. &lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment186" rel="alternate"/>
    <id>urn:uuid:05678320-7040-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-14T02:31:53-04:00</updated>
    <author>
      <name>Piers Cawley</name>
    </author>
    <content type="html">
&lt;p&gt;Who cares if it returns an actual boolean. So long as it returns something boolean enough for if/then, ?: or whatever.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;nil&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt; are false-y, everything else is truth-y. So long as you don't do something stupid like &lt;code&gt;if value == true ...&lt;/code&gt; then you'll be fine. Just write &lt;code&gt;if value ...&lt;/code&gt; and be done with it.&lt;/p&gt;

&lt;p&gt;There's plenty of reasons for using something other than ruby, but this one seems like very small beer.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment185" rel="alternate"/>
    <id>urn:uuid:4f4ea9c4-6fd6-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-13T13:55:11-04:00</updated>
    <author>
      <name>Sean</name>
    </author>
    <content type="html">
&lt;p&gt;@Mike - that's exactly what jason said. 0 is not false, but 1.zero? is, likewise 0.nonzero? returns nil so:
&amp;lt;code&amp;gt;
def why&lt;em&gt;argue&lt;/em&gt;about&lt;em&gt;this?(a&lt;/em&gt;zero = 0, not&lt;em&gt;a&lt;/em&gt;zero = 1)
  if (not&lt;em&gt;a&lt;/em&gt;zero.zero? || a_zero.nonzero?)
    puts &amp;quot;we have a problem&amp;quot;
  else
    puts &amp;quot;what is the problem?&amp;quot;
  end
end
&amp;lt;/code&amp;gt;&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment184" rel="alternate"/>
    <id>urn:uuid:e16cb7b0-6eaf-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-12T02:47:34-04:00</updated>
    <author>
      <name>John Doe</name>
    </author>
    <content type="html">
&lt;p&gt;hmmm, if you are giving up a language because of an inconsistency, you should give up programming as well. Every programming language I have programmed till now has some.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "Creator vs. reader and the Adobe EPUB monopoly"</title>
    <link href="http://platypope.org/blog/2009/7/2/creator-vs-reader-and-the-adobe-epub-monopoly#comment183" rel="alternate"/>
    <id>urn:uuid:6cbd37a2-6e8f-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-11T22:55:15-04:00</updated>
    <author>
      <name>Mike</name>
    </author>
    <content type="html">
&lt;p&gt;Hear, hear. I was was in the same boat and found that while it's pretty easy to find illegal books, it's straight impossible to find legitimate books... anywhere. I did the obvious thing and browsed Amazon but just found a few Kindle books (thanks, but no).&lt;/p&gt;

&lt;p&gt;The best I could do was project Gutenburg. No wonder EBooks never took off.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment182" rel="alternate"/>
    <id>urn:uuid:3ff80370-6e79-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-11T20:16:31-04:00</updated>
    <author>
      <name>Mike</name>
    </author>
    <content type="html">
&lt;p&gt;&amp;quot;false != 0&amp;quot; is not inconsistent, actually its very consistent as &amp;quot;Anton&amp;quot; said.&lt;/p&gt;

&lt;p&gt;about the execution speed.. yes it's slow but ruby 1.9 is faster than perl, php, python.... do you want to bet? ;)&lt;/p&gt;

&lt;p&gt;@sneakin theres no need to patch core classes, thats really bad in my opinion.&lt;/p&gt;    </content>
  </entry>
  <entry>
    <title>Comment on "An example of why Ruby is no longer my LoC"</title>
    <link href="http://platypope.org/blog/2009/7/10/an-example-of-why-ruby-is-no-longer-my-loc#comment181" rel="alternate"/>
    <id>urn:uuid:90c483c6-6e76-11de-8227-aa008bfedbfd</id>
    <updated>2009-07-11T19:57:18-04:00</updated>
    <author>
      <name>john</name>
    </author>
    <content type="html">
&lt;p&gt;@Anton you should do a better job of reading.&lt;/p&gt;

&lt;p&gt;Jason stated nil and false return false in conditionals, NOT zero.&lt;/p&gt;    </content>
  </entry>
</feed>
