<?xml version="1.0" encoding="utf-8"?>
<feed
    xmlns="http://www.w3.org/2005/Atom"
    xmlns:at="http://www.sixapart.com/ns/at"
    xmlns:icbm="http://postneo.com/icbm"
    xmlns:rvw="http://purl.org/NET/RVW/0.2/"
    xml:lang="en">
    <title>Methods and Messages: Randal Schwartz on Smalltalk</title>
    <link rel="self" type="application/atom+xml" title="Methods and Messages: Randal Schwartz on Smalltalk (Atom)" href="http://methodsandmessages.vox.com/library/posts/page/1/atom.xml" />
    <link rel="alternate" type="text/html" title="Methods and Messages: Randal Schwartz on Smalltalk" href="http://methodsandmessages.vox.com/library/posts/page/1/"/> 
    <link rel="service.post" type="application/atom+xml" title="Methods and Messages: Randal Schwartz on Smalltalk" href="http://www.vox.com/services/atom/svc=post/collection_id=6a00e398cc856f000500e398cc85740005" /> 
    <link rel="service.subscribe" type="application/atom+xml" title="Methods and Messages: Randal Schwartz on Smalltalk" href="http://methodsandmessages.vox.com/library/posts/atom.xml" />    
    <link rel="next" type="application/atom+xml" title="Methods and Messages: Randal Schwartz on Smalltalk" href="http://methodsandmessages.vox.com/library/posts/page/2/atom.xml" /> 
    <link rel="last" type="application/atom+xml" title="Methods and Messages: Randal Schwartz on Smalltalk" href="http://methodsandmessages.vox.com/library/posts/page/4/atom.xml" />  
    <generator uri="http://www.vox.com/">Vox</generator>
    <updated>2008-05-04T01:18:16Z</updated> 
    <author>
        <name>Randal Schwartz</name>
        <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
    </author> 
    <id>tag:vox.com,2006:6p00e398cc856f0005/</id> 
    <subtitle>Transcript show: &#39;Just another Smalltalk hacker,&#39;</subtitle>  
    
    <entry>
        <title>Seaside presentation at BarCampPortland a success!</title>   
        <link rel="alternate" type="text/html" title="Seaside presentation at BarCampPortland a success!" href="http://methodsandmessages.vox.com/library/post/seaside-presentation-at-barcampportland-a-success.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Seaside presentation at BarCampPortland a success!" href="http://methodsandmessages.vox.com/library/post/seaside-presentation-at-barcampportland-a-success.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Seaside presentation at BarCampPortland a success!" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500e398f633c80005" />   
        <link rel="enclosure" href="http://a5.vox.com/download/6a00e398cc856f000500f48cf48f8d0002-flv.flv" type="video/x-flv" length="2687193" />          <id>tag:vox.com,2008-05-04:asset-6a00e398cc856f000500e398f633c80005</id>
        <published>2008-05-04T01:04:40Z</published>
        <updated>2008-05-04T01:18:16Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        
    
    
    





        






    
    
    





        





<div at:enclosure="asset" at:xid="6a00e398cc856f000500f48cf48f8d0002" at:format="large" at:align="right"
    class="enclosure enclosure-right enclosure-large video-enclosure" 
     style="text-align: center; float: right;">
<div class="enclosure-inner"
    
        style="padding: 9px; border: 1px solid; width: px; margin: 0 0 20px 20px;"
    >
    <div class="enclosure-list">
        <div class="enclosure-item video-asset last">
    
            <div class="enclosure-image">
        
                <a href="http://methodsandmessages.vox.com/library/video/6a00e398cc856f000500f48cf48f8d0002.html"><img src="http://a5.vox.com/6a00e398cc856f000500f48cf48f8d0002-320pi" alt="Seaside Elevator 0.05" title="Seaside Elevator 0.05" /></a>
        
            </div>
            <div class="enclosure-meta">
                <div class="enclosure-asset-name"><a href="http://methodsandmessages.vox.com/library/video/6a00e398cc856f000500f48cf48f8d0002.html" title="Seaside Elevator 0.05">Seaside Elevator 0.05</a></div>
            </div>
    
        </div>
    </div>
</div>
</div><!-- end enclosure -->

 <div>I had about 20 people in my room at <a href="http://barcamp.org/BarCampPortland">BarCampPortland</a>, which made it &quot;standing room only&quot; for the last few who showed up. The audience was attentive, and asked good questions. Monty Williams of <a href="http://seaside.gemstone.com/">GemStone</a> was also along, and helped me with a few answers.</div><div><br /></div><div>I hacked up a new presentation based on the responses here to <a href="http://methodsandmessages.vox.com/library/post/the-elevator-pitch-for-seaside.html">my previous post</a>, which I&#39;ve embedded here at the right. You have to click to advance to each new slide.</div><div><br /></div><div>Amazingly enough, with just 12 slides, and a few short demos, and a few questions, my 45 minutes were up. So that&#39;s about the right size for 45 minutes. &#160;Finally.</div><div><br /></div>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/seaside-presentation-at-barcampportland-a-success.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500e398f633c80005?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="barcamp" scheme="http://methodsandmessages.vox.com/tags/barcamp/" label="barcamp" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="barcampportland" scheme="http://methodsandmessages.vox.com/tags/barcampportland/" label="barcampportland" /> 
    </entry> 
    
    <entry>
        <title>The Elevator Pitch for Seaside</title>   
        <link rel="alternate" type="text/html" title="The Elevator Pitch for Seaside" href="http://methodsandmessages.vox.com/library/post/the-elevator-pitch-for-seaside.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="The Elevator Pitch for Seaside" href="http://methodsandmessages.vox.com/library/post/the-elevator-pitch-for-seaside.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="The Elevator Pitch for Seaside" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500f48d1320200001" />          <id>tag:vox.com,2008-05-03:asset-6a00e398cc856f000500f48d1320200001</id>
        <published>2008-05-03T14:37:49Z</published>
        <updated>2008-05-03T16:51:45Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>I&#39;m at <a href="http://barcamp.org/BarCampPortland">BarCampPortland</a> this weekend, scheduled to introduce a whole new batch of folks to <a href="http://seaside.st/">Seaside</a> this afternoon.<div><br /><div>But as we were organizing the &quot;unconference&quot; last night, I found myself having to repeatedly describe Seaside and why I&#39;m so excited about it. &#160;This is good practice for me, and I&#39;m happy that I did a bit of that for <a href="http://methodsandmessages.vox.com/library/post/interviewed-by-ronaldo-m-ferraz.html">the interview a few days ago</a>.</div><div><br /></div><div>But I think I&#39;ve come up with a good <a href="http://en.wikipedia.org/wiki/Elevator_pitch">elevator pitch</a> for &quot;why Seaside and not [insert other framework here]&quot;, that centers on three key items: <span class="Apple-style-span" style="font-weight: bold;">abstracted control flows</span>, <span class="Apple-style-span" style="font-weight: bold;">live debugging</span>, and <span class="Apple-style-span" style="font-weight: bold;">persistence without ORMs</span>.</div><div><br /></div><div>Because Seaside has a <span class="Apple-style-span" style="font-weight: bold;">continuation-based framework</span>, I can write a single method that captures the flow of my application in a natural way: &quot;show page 1&quot;, &quot;show page 2 until the data validates&quot;, &quot;show page 3&quot;. &#160;My local variables and state of execution persist transparently between page hits, so I don&#39;t have to spend a lot of time figuring out how to leave myself notes for the next hit. This also means I can build a reusable library of control flows (&quot;login page&quot;, &quot;validated multipage form&quot;, &quot;paging through a dataset&quot;, &quot;breadcrumb trail&quot;) and save myself development time in the long run. Without continuations, this is a difficult thing to do, and I know, having coded control flows in Perl webapps for many years.</div><div><br /></div><div>Seaside is Smalltalk, and inherits <span class="Apple-style-span" style="font-weight: bold;">Smalltalk&#39;s live debugging</span> feature. &#160;When something breaks, I get a stack backtrace that is live, and I can find the problem, edit the code, and proceed from that point, returning to the same hit done correctly, instead of restarting my testing from scratch. (I hear the folks at GemStone are even persisting failures from test suites overnight: the bug report has a link that takes them right to the precise broken state, and they can fix it and continue the suite from there. &#160;Incredible.)</div><div><br /></div><div>Through GemStone/S, or the open source Magma tools, I can tell Smalltalk to simply &quot;<span class="Apple-style-span" style="font-weight: bold;">persist these objects</span>&quot;, meaning that I don&#39;t have to build complicated and computationally expensive strategies to take my naturally-shaped objects and map them through a narrow SQL bottleneck to a database and back again. The objects are shared in their natural shape using Smalltalk-aware strategies.</div><div><br /></div><div>These are the three key points. &#160;If the elevator ride is a long one, I would also include that Seaside is supported by <span class="Apple-style-span" style="font-weight: bold;">two</span> commercial vendors (Cincom and GemStone) and <span class="Apple-style-span" style="font-weight: bold;">two</span> open source Smalltalks (Squeak and GNU Smalltalk), providing lots of options for support, scaling, and philosophy of development.</div><div><br /></div><div>So, I&#39;m going to quickly be writing up some slides that look like these talking points, since I found out I have only 45 minutes for this talk, and my 60-minutes of material won&#39;t fit, nor will the audience sit still for a longer talk, I suspect.</div><div><br /></div></div></p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/the-elevator-pitch-for-seaside.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500f48d1320200001?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="barcamp" scheme="http://methodsandmessages.vox.com/tags/barcamp/" label="barcamp" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="gemstone" scheme="http://methodsandmessages.vox.com/tags/gemstone/" label="gemstone" /> 
    <category term="elevator pitch" scheme="http://methodsandmessages.vox.com/tags/elevator+pitch/" label="elevator pitch" /> 
    <category term="cincom" scheme="http://methodsandmessages.vox.com/tags/cincom/" label="cincom" /> 
    </entry> 
    
    <entry>
        <title>Interviewed by Ronaldo M. Ferraz</title>   
        <link rel="alternate" type="text/html" title="Interviewed by Ronaldo M. Ferraz" href="http://methodsandmessages.vox.com/library/post/interviewed-by-ronaldo-m-ferraz.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Interviewed by Ronaldo M. Ferraz" href="http://methodsandmessages.vox.com/library/post/interviewed-by-ronaldo-m-ferraz.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Interviewed by Ronaldo M. Ferraz" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500f48cf421a60002" />          <id>tag:vox.com,2008-05-02:asset-6a00e398cc856f000500f48cf421a60002</id>
        <published>2008-05-02T15:32:54Z</published>
        <updated>2008-05-02T15:43:58Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>So, I&#39;m apparently at the point where I&#39;m getting interviewed about my progress with Smalltalk and <a href="http://seaside.st/">Seaside</a>. &#160;I met&#160;Ronaldo M. Ferraz at <a href="http://fisl.softwarelivre.org/">FISL</a> a few weeks ago, and he asked if he could interview me. &#160;He sent me a list of questions by email, which I answered a week later (too busy enjoying <a href="http://www.flickr.com/photos/randal-schwartz/sets/72157604694227000/">Caipirinhas on the beach in Copacabana</a>), and he&#39;s posted the result in both <a href="http://logbr.reflectivesurface.com/2008/04/30/conversa-com-randal-l-schwartz/">Brazilian Portuguese</a> and <a href="http://log.reflectivesurface.com/2008/05/02/a-conversation-with-randal-l-schwartz/">English</a>. &#160;It&#39;s a good summary of how the first part of my &quot;<a href="http://methodsandmessages.vox.com/library/post/the-year-of-smalltalk.html">year of smalltalk</a>&quot; has gone. Enjoy!</p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/interviewed-by-ronaldo-m-ferraz.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500f48cf421a60002?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="interview" scheme="http://methodsandmessages.vox.com/tags/interview/" label="interview" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="caipirinha" scheme="http://methodsandmessages.vox.com/tags/caipirinha/" label="caipirinha" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="copacabana" scheme="http://methodsandmessages.vox.com/tags/copacabana/" label="copacabana" /> 
    <category term="fisl" scheme="http://methodsandmessages.vox.com/tags/fisl/" label="fisl" /> 
    </entry> 
    
    <entry>
        <title>Subverting Perl People into Smalltalk Hackers</title>   
        <link rel="alternate" type="text/html" title="Subverting Perl People into Smalltalk Hackers" href="http://methodsandmessages.vox.com/library/post/subverting-perl-people-into-smalltalk-hackers.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Subverting Perl People into Smalltalk Hackers" href="http://methodsandmessages.vox.com/library/post/subverting-perl-people-into-smalltalk-hackers.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Subverting Perl People into Smalltalk Hackers" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500e398f413120005" />          <id>tag:vox.com,2008-04-27:asset-6a00e398cc856f000500e398f413120005</id>
        <published>2008-04-27T14:36:06Z</published>
        <updated>2008-04-30T02:22:04Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>After <a href="http://fisl.softwarelivre.org/9.0/www/">FISL</a>, I spent a week in Rio to kick back and visit my friends of the <a href="http://rio.pm.org/">Rio Perl Users Group</a> (commonly known as &quot;Rio.pm&quot;). &#160;I offered to give a talk in exchange for hanging out for a meal, and they asked me what I would want to talk about. Of course, I said &quot;<a href="http://seaside.st/">Seaside</a>&quot;, as in, giving the same talk I gave at FISL.<div><br /><div>What I didn&#39;t realize is that the talk I offered to give was actually the final talk of <a href="http://rio.pm.org/enc_tecnicos.pl">a full day of Perl information</a> exchange, so when I looked at the schedule, I saw nine Perl talks, and my Seaside talk! &#160;Figuring I was working my way into a slightly hostile situation, I considered changing to a more traditional Perl talk, but as I walked into the room, a few people &#160;said &quot;looking forward to seeing your talk on Seaside&quot;.</div><div><br /></div><div>The conference got delayed because of some power outage, so I didn&#39;t actually get to start until after I was supposed to have finished. Thus, once again, I had to edit a 90-minute talk into about 35 minutes. (Maybe that&#39;s fate with this talk: I&#39;ll never ever be able to deliver it in a leisurely pace.)</div><div><br /></div><div>The reaction was actually quite rewarding. &#160;A number of the hardcore Perl hackers asked a lot of questions about Seaside and how it works, and about Smalltalk in general. The interest was high, and the crowd inspired to investigate this further. So, I have managed to walk into the lion&#39;s den and deliver the message, and walked out without too many scratches. &#160;Yeay.</div></div></p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/subverting-perl-people-into-smalltalk-hackers.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500e398f413120005?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="perl" scheme="http://methodsandmessages.vox.com/tags/perl/" label="perl" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="rio" scheme="http://methodsandmessages.vox.com/tags/rio/" label="rio" /> 
    <category term="rio.pm" scheme="http://methodsandmessages.vox.com/tags/rio.pm/" label="rio.pm" /> 
    </entry> 
    
    <entry>
        <title>Smalltalk at FISL: now and forever!</title>   
        <link rel="alternate" type="text/html" title="Smalltalk at FISL: now and forever!" href="http://methodsandmessages.vox.com/library/post/smalltalk-at-fisl-now-and-forever.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Smalltalk at FISL: now and forever!" href="http://methodsandmessages.vox.com/library/post/smalltalk-at-fisl-now-and-forever.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Smalltalk at FISL: now and forever!" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500f48cf001ce0002" />          <id>tag:vox.com,2008-04-19:asset-6a00e398cc856f000500f48cf001ce0002</id>
        <published>2008-04-19T18:07:21Z</published>
        <updated>2008-04-19T18:17:32Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>I gave my Seaside intro talk earlier today at <a href="http://fisl.softwarelivre.org/">FISL 9.0</a> (pictures being <a href="http://www.flickr.com/photos/randal-schwartz/sets/72157604605881230/">uploaded to my flickr account already</a>). &#160;The talk was well-attended (about 200 or so in the audience), including some Rails folks. &#160;I was surprised though when I asked how many people had coded in Smalltalk before, and got about 25% of the hands raised! &#160;Most of them were also web-app programmers.<div><br /></div><div>I had only 35 minutes for my presentation (even shorter than I had planned), so I just barely got to the part where I alter the WACounter class to divide by 0 to show fixing things that break. But the questions were very good, and everyone stayed to the end. &#160;Afterward, I continued the discussion with a smaller group for another 20 minutes in the hallway, and have had a half dozen people stop me in the hallways in the following two hours, so the interest is high and the news spreading.</div><div><br /></div><div>But the biggest news is that based on the preliminary interest in Seaside because of my talk, the FISL conference organizers <span class="Apple-style-span" style="font-weight: bold;">offered an entire room for next years conference</span> (the full three days with 12 hours per day), as well as four or five main-track hour talks, if I could help organize the subconference details! &#160;This is quite a gift, because it will mean that we can expose the 7000 conference attendees to a variety of Smalltalk programs, without paying for rooms or badging or promotion. &#160;The conference asked if I could get some corporate sponsors on board, and I immediately fired off email to <a href="http://www.cincomsmalltalk.com/blog/blogView">James at Cincom</a> and <a href="http://seaside.gemstone.com/">Monty at GemStone</a>, and thank goodness they read email on Saturday, because they offered their support quickly. Of course, we have many details to work out, but everyone agrees that we will move forward!</div><div><br /></div><div>We also have a great opportunity to overlap a bit with the OLPC folks. They also have a room for the entire conference, and I can see some &quot;Squeak on the XO&quot; talks overlapping between the tracks.</div><div><br /></div><div>So, mark your calendars to be in Porto Alegre Brazil at end of June 2009! &#160;We&#39;re gonna be smalltalking!</div></p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/smalltalk-at-fisl-now-and-forever.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500f48cf001ce0002?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="brazil" scheme="http://methodsandmessages.vox.com/tags/brazil/" label="brazil" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="xo" scheme="http://methodsandmessages.vox.com/tags/xo/" label="xo" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="gemstone" scheme="http://methodsandmessages.vox.com/tags/gemstone/" label="gemstone" /> 
    <category term="porto alegre" scheme="http://methodsandmessages.vox.com/tags/porto+alegre/" label="porto alegre" /> 
    <category term="olpc" scheme="http://methodsandmessages.vox.com/tags/olpc/" label="olpc" /> 
    <category term="fisl" scheme="http://methodsandmessages.vox.com/tags/fisl/" label="fisl" /> 
    <category term="cincom" scheme="http://methodsandmessages.vox.com/tags/cincom/" label="cincom" /> 
    </entry> 
    
    <entry>
        <title>Mentioned Seaside on &quot;The Future And You&quot;</title>   
        <link rel="alternate" type="text/html" title="Mentioned Seaside on &quot;The Future And You&quot;" href="http://methodsandmessages.vox.com/library/post/mentioned-seaside-on-the-future-and-you.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Mentioned Seaside on &quot;The Future And You&quot;" href="http://methodsandmessages.vox.com/library/post/mentioned-seaside-on-the-future-and-you.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Mentioned Seaside on &quot;The Future And You&quot;" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500f48cef0e1a0002" />          <id>tag:vox.com,2008-04-16:asset-6a00e398cc856f000500f48cef0e1a0002</id>
        <published>2008-04-16T15:44:33Z</published>
        <updated>2008-04-16T19:31:38Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>I was <a href="http://www.thefutureandyou.libsyn.com/index.php?post_id=329133">interviewed by noted futurist Stephen Euin Cobb for his podcast, The Future And You</a>. If you skip ahead to about the fifty-five minute mark, you&#39;ll hear me rave about <a href="http://seaside.st/">Seaside</a> and describe my recent activities. &#160;I also rant about why Muni Wifi will never work, and why a pacemaker shouldn&#39;t have an IP address amongst a dozen other topics. &#160;Enjoy!</p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/mentioned-seaside-on-the-future-and-you.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500f48cef0e1a0002?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="podcast" scheme="http://methodsandmessages.vox.com/tags/podcast/" label="podcast" /> 
    <category term="wifi" scheme="http://methodsandmessages.vox.com/tags/wifi/" label="wifi" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="stephen euin cobb" scheme="http://methodsandmessages.vox.com/tags/stephen+euin+cobb/" label="stephen euin cobb" /> 
    <category term="pacemaker" scheme="http://methodsandmessages.vox.com/tags/pacemaker/" label="pacemaker" /> 
    <category term="the future and you" scheme="http://methodsandmessages.vox.com/tags/the+future+and+you/" label="the future and you" /> 
    </entry> 
    
    <entry>
        <title>Metaprogramming in Squeak</title>   
        <link rel="alternate" type="text/html" title="Metaprogramming in Squeak" href="http://methodsandmessages.vox.com/library/post/metaprogramming-in-squeak.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Metaprogramming in Squeak" href="http://methodsandmessages.vox.com/library/post/metaprogramming-in-squeak.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Metaprogramming in Squeak" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500f48ceca59e0003" />          <id>tag:vox.com,2008-04-08:asset-6a00e398cc856f000500f48ceca59e0003</id>
        <published>2008-04-08T17:55:25Z</published>
        <updated>2008-04-09T23:22:19Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>In comp.lang.smalltalk today, I got to <a href="http://groups.google.com/group/comp.lang.smalltalk/browse_thread/thread/bb0519b6b4c3e850">answer a simple question about metaprogramming</a>. My classic example is being able to create an anonymous class simply by calling &quot;Behavior New&quot;. &#160;Here&#39;s my code:<div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px; ">&#160;&#160; &#160; &#160; | myClass myInstance |&#160;</span><br /><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px; ">&#160;&#160; &#160; &#160; myClass := Behavior new. &quot;create anon behavior&quot;&#160;</span><br /><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px; ">&#160;&#160; &#160; &#160; myClass compile: &#39;theAnswer ^42&#39;. &quot;add a method for instances&quot;&#160;</span><br /><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px; ">&#160;&#160; &#160; &#160; myInstance := myClass new. &quot;create an instance&quot;&#160;</span><br /><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px; ">&#160;&#160; &#160; &#160; Transcript show: myInstance theAnswer; cr. &quot;shows 42&quot;&#160;</span></p></blockquote><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px;"><br /></span><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: fixed-width; font-size: 11px;">There might be some more responses in the thread, or maybe you can add some of your own. &#160;Enjoy.</span></div></p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/metaprogramming-in-squeak.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500f48ceca59e0003?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="squeak" scheme="http://methodsandmessages.vox.com/tags/squeak/" label="squeak" /> 
    <category term="usenet" scheme="http://methodsandmessages.vox.com/tags/usenet/" label="usenet" /> 
    <category term="metaprogramming" scheme="http://methodsandmessages.vox.com/tags/metaprogramming/" label="metaprogramming" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="comp.lang.smalltalk" scheme="http://methodsandmessages.vox.com/tags/comp.lang.smalltalk/" label="comp.lang.smalltalk" /> 
    </entry> 
    
    <entry>
        <title>Seaside tutorial at OSCON - accepted!</title>   
        <link rel="alternate" type="text/html" title="Seaside tutorial at OSCON - accepted!" href="http://methodsandmessages.vox.com/library/post/seaside-tutorial-at-oscon---accepted.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Seaside tutorial at OSCON - accepted!" href="http://methodsandmessages.vox.com/library/post/seaside-tutorial-at-oscon---accepted.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Seaside tutorial at OSCON - accepted!" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500e398ebffdc0004" />          <id>tag:vox.com,2008-04-02:asset-6a00e398cc856f000500e398ebffdc0004</id>
        <published>2008-04-02T01:03:37Z</published>
        <updated>2008-04-04T17:21:47Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>I just got word that my proposal for a 3-hour Seaside tutorial at <a href="http://en.oreilly.com/oscon2008/public/content/home">OSCON</a> <a href="http://en.oreilly.com/oscon2008/public/schedule/detail/4216">has been accepted</a>. &#160;Here&#39;s what I pitched:<div><br /></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><p><span class="Apple-style-span" style="font-weight: bold; ">Introduction to Seaside - Powerful web application development in Smalltalk</span></p><p><span class="Apple-style-span" style="font-style: italic; ">Description: </span>Introduction to the Smalltalk Seaside web application framework: an open-source (but vendor supported) challenge to the classic web design strategies, using test-driven development, continuations for easy workflow abstraction, and view components for consistency and re-use. Includes introduction to Squeak Smalltalk, but general OO principles won&#39;t be covered.</p><p><span class="Apple-style-span" style="font-style: italic; ">Abstract</span>:&#160;Sure, Smalltalk is where we got our modern view of windows and mice and “the desktop” and object-oriented programming and extreme programming two decades ago, but what has Smalltalk done for us lately?</p><p>I’ll answer this by showing off the Seaside web application framework. Imagine being able to debug a broken web-hit in the middle of the hit, fixing the code, and continuing before the browser knows that something went wrong. Imagine being able to re-use control flows and web components with the ease of OO programming. Imagine being able to do test-driven development, even for HTML delivery. Imagine taking an application from “three guys in Starbucks on a laptop” to “3000 hits per second on your Amazon EC2 cloud” with no major changes in design. No need to imagine… I’ll demonstrate all this and more.</p><p>Smalltalk knowledge is not required: I’ll start with a brief overview of Smalltalk using Squeak, the free implementation that’s even included in the OLPC XO. General knowledge of Object-Oriented Programming basics would be helpful, though.</p></blockquote><br /><div>This will be an expanded version of the talk I&#39;ll be <a href="http://fisl.softwarelivre.org/9.0/papers/pub/programacao/43">presenting at FISL in two weeks</a>, and rehearsed for the Portland Linux and Smalltalk groups already. I&#39;m happy that OSCON accepted the talk... this helps confirm that this is indeed the year of Smalltalk via Seaside.</div><div><br /></div><div>I&#39;ll be co-presenting the talk with fellow Stonehenge trainer, Tom Phoenix. &#160;He&#39;s busy working on some really cool examples of code to use in a Seaside training course, and has been somewhat active on the Squeak mailing list over the years.</div></p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/seaside-tutorial-at-oscon---accepted.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500e398ebffdc0004?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="tutorial" scheme="http://methodsandmessages.vox.com/tags/tutorial/" label="tutorial" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="smalltalk" scheme="http://methodsandmessages.vox.com/tags/smalltalk/" label="smalltalk" /> 
    <category term="oscon" scheme="http://methodsandmessages.vox.com/tags/oscon/" label="oscon" /> 
    <category term="fisl" scheme="http://methodsandmessages.vox.com/tags/fisl/" label="fisl" /> 
    <category term="tom phoenix" scheme="http://methodsandmessages.vox.com/tags/tom+phoenix/" label="tom phoenix" /> 
    </entry> 
    
    <entry>
        <title>Where Perl and Smalltalk collide</title>   
        <link rel="alternate" type="text/html" title="Where Perl and Smalltalk collide" href="http://methodsandmessages.vox.com/library/post/where-perl-and-smalltalk-collide.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Where Perl and Smalltalk collide" href="http://methodsandmessages.vox.com/library/post/where-perl-and-smalltalk-collide.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Where Perl and Smalltalk collide" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500e398eb89150004" />          <id>tag:vox.com,2008-03-31:asset-6a00e398cc856f000500e398eb89150004</id>
        <published>2008-03-31T17:23:13Z</published>
        <updated>2008-03-31T17:23:47Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>As I&#39;m chatting in the #squeak channel this morning, I was reminded that I had adapted <a href="http://en.wikipedia.org/wiki/Kent_Beck">Kent Beck</a>&#39;s <a href="http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X">Smalltalk Best Practice Patterns</a> for a half-day Perl coding tutorial. &#160;In fact, I referenced this book in a <a href="http://www.stonehenge.com/merlyn/LinuxMag/col84.html">Perl Column I had done for Linux Magazine</a>. If you know both Smalltalk and Perl, you might get a kick out of that.</p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/where-perl-and-smalltalk-collide.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500e398eb89150004?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="perl" scheme="http://methodsandmessages.vox.com/tags/perl/" label="perl" /> 
    <category term="squeak" scheme="http://methodsandmessages.vox.com/tags/squeak/" label="squeak" /> 
    <category term="irc" scheme="http://methodsandmessages.vox.com/tags/irc/" label="irc" /> 
    <category term="kent beck" scheme="http://methodsandmessages.vox.com/tags/kent+beck/" label="kent beck" /> 
    <category term="smalltalk best practice patterns" scheme="http://methodsandmessages.vox.com/tags/smalltalk+best+practice+patterns/" label="smalltalk best practice patterns" /> 
    <category term="linux magazine" scheme="http://methodsandmessages.vox.com/tags/linux+magazine/" label="linux magazine" /> 
    </entry> 
    
    <entry>
        <title>Reviving the IRTC in Smalltalk</title>   
        <link rel="alternate" type="text/html" title="Reviving the IRTC in Smalltalk" href="http://methodsandmessages.vox.com/library/post/reviving-the-irtc-in-smalltalk.html?_c=feed-atom-full" />  
        <link rel="service.post" type="application/atom+xml" title="Reviving the IRTC in Smalltalk" href="http://methodsandmessages.vox.com/library/post/reviving-the-irtc-in-smalltalk.html?_c=feed-atom-full#comments" /> 
        <link rel="service.edit" type="application/atom+xml" title="Reviving the IRTC in Smalltalk" href="http://www.vox.com/atom/svc=post/asset_id=6a00e398cc856f000500f48d06fefa0001" />          <id>tag:vox.com,2008-03-26:asset-6a00e398cc856f000500f48d06fefa0001</id>
        <published>2008-03-26T16:08:14Z</published>
        <updated>2008-03-26T18:28:04Z</updated>
    
        <author>
            <name>Randal Schwartz</name>
            <uri>http://methodsandmessages.vox.com/?_c=feed-atom-full</uri>
        </author>
    
        
        <content type="html" xml:base="http://methodsandmessages.vox.com/?_c=feed-atom-full">
            <![CDATA[
                <div xmlns="http://www.w3.org/1999/xhtml" xmlns:at="http://www.sixapart.com/ns/at">
        <p>One of my fond memories of years past was reviewing the frequent submissions to the <a href="http://www.irtc.org/">Internet Ray Tracing Competition</a> (IRTC), being consistently stunned at how <a href="http://www.cincomsmalltalk.com/userblogs/buck/blogView">Dave Buck</a>&#39;s <a href="http://www.povray.org/">povray</a> could be used to generate some remarkable photorealistic images, even back in the early days when 10 Mhz was a fast machine.<div><br /></div><div>When I <a href="http://twit.tv/floss24">interviewed Dave for a recent FLOSS Weekly</a>, I discovered that the IRTC had fallen into limbo, and was saddened by that. &#160;But apparently, my wish to have it revive was enough of a nudge for Dave to look in to it, and a few weeks later he announced that <a href="http://news.povray.org/povray.general/thread/%3C47cca46d$1@news.povray.org%3E/">the IRTC was going to be revived</a>. Even better, the new website would be written in <a href="http://seaside.st/">Seaside</a>, and that I had volunteered to help him with it. (No, he didn&#39;t ambush me... we had discussed this in email the previous day.)</div><div><br /></div><div>Last night, Dave and I started chatting for the first time about the project. I managed to <a href="http://www.cincomsmalltalk.com/userblogs/cincom/blogView?content=smalltalk">download the latest VisualWorks NC version</a>, and get it up and running, and got connected to Dave&#39;s repo. &#160;Within 20 minutes of wandering through the code to understand what had been written so far, I found a common Seaside misunderstanding (calling #renderContentOn: a subcomponent rather than #render:), and pointed it out to Dave, so the relationship has already been useful. We also talked about the need for class comments, especially since WAComponent&#39;s comment is where I learned about the #render: mistake.</div><div><br /></div><div>What I find exciting about this is that I have a solid project to get VW experience in, and since we&#39;ll be using <a href="http://www.glorp.org/">Glorp</a>, I also get to learn Glorp with a practical project. &#160;I believe the code will be dual licensed (both MIT and LGPL), so this will also be a great example for others to use of a reasonably interesting and complex Seaside application.</div><div><br /></div><div>Thanks to Dave for letting me apprentice with him (including the patience to explain VW to me, one crazy step at a time), and have the opportunity to contribute to a visible project!</div></p>   <p style="clear:both;"> 
    <a href="http://methodsandmessages.vox.com/library/post/reviving-the-irtc-in-smalltalk.html?_c=feed-atom-full#comments">Read and post comments</a>   |   
    <a href="http://www.vox.com/share/6a00e398cc856f000500f48d06fefa0001?_c=feed-atom-full">Send to a friend</a> 
</p>

                </div>
            ]]>
        </content> 
    <category term="mit" scheme="http://methodsandmessages.vox.com/tags/mit/" label="mit" /> 
    <category term="seaside" scheme="http://methodsandmessages.vox.com/tags/seaside/" label="seaside" /> 
    <category term="lgpl" scheme="http://methodsandmessages.vox.com/tags/lgpl/" label="lgpl" /> 
    <category term="visualworks" scheme="http://methodsandmessages.vox.com/tags/visualworks/" label="visualworks" /> 
    <category term="wacomponent" scheme="http://methodsandmessages.vox.com/tags/wacomponent/" label="wacomponent" /> 
    <category term="floss weekly" scheme="http://methodsandmessages.vox.com/tags/floss+weekly/" label="floss weekly" /> 
    <category term="glorp" scheme="http://methodsandmessages.vox.com/tags/glorp/" label="glorp" /> 
    <category term="dave buck" scheme="http://methodsandmessages.vox.com/tags/dave+buck/" label="dave buck" /> 
    <category term="povray" scheme="http://methodsandmessages.vox.com/tags/povray/" label="povray" /> 
    <category term="irtc" scheme="http://methodsandmessages.vox.com/tags/irtc/" label="irtc" /> 
    </entry> 
</feed>


