<?xml version='1.0' encoding='UTF-8' ?>
<rss version="2.0" xmlns:admin="http://webns.net/mvcb/" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:icbm="http://postneo.com/icbm" xmlns:includedComments="http://www.laudably.com/rss2-comments" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
	<channel>
		<title>Smalltalk Tidbits, Industry Rants: category: esug2005</title>
		<link>http://www.cincomsmalltalk.com/blog/blogView</link>
		<description>Cincom Product Manager</description>
		<webMaster>jrobertson@cincom.com</webMaster>
		<lastBuildDate>Sun, 30 Jul 2006 23:47:51 EDT</lastBuildDate>
		<image>
			<url>http://www.cincomsmalltalk.com/images/cst_small.jpg</url>
			<title>Smalltalk Tidbits, Industry Rants</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView</link>
			<height>50</height>
			<width>81</width>
		</image>
		<admin:generatorAgent rdf:resource="http://www.cincomsmalltalk.com/CincomSmalltalkWiki/Silt"></admin:generatorAgent>
		<admin:errorReportsTo rdf:resource="mailto:jrobertson@cincom.com"></admin:errorReportsTo>
		<dc:language>en-us</dc:language>
		<dc:creator>James A. Robertson</dc:creator>
		<dc:rights>Copyright 2005 Cincom Systems, Inc.</dc:rights>
		<dc:date>2006-07-30T23:47:51-05:00</dc:date>
		<icbm:latitude>39.214103</icbm:latitude>
		<icbm:longitude>-76.878807</icbm:longitude>
		<item>
			<title>Speaking at ESUG 2005</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301920342</link>
			<category>esug2005</category>
			<pubDate>Fri, 19 Aug 2005 16:05:42 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>I spoke at ESUG today, after Mark's talk. Here's a picture Suzanne snapped while I was talking:</p>
<p><img alt="Speaking at ESUG 05" src="http://www.cincomsmalltalk.com/blog/images/europe05/blogs_and_rss.jpg"></img></p><p>The talk went pretty well - I had a good crowd, and they seemed interested. After that, Suzanne and I spoke to a few people and headed out. She's on her way back to California, I'm taking a short break here in Brussels. I'll be posting some pictures we took on the tour yesterday in a few minutes. </p></div>]]></description>
			<guid isPermaLink="false">3301920342</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301920342</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301920342</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301920342</wfw:comment>
		</item>
		<item>
			<title>Mark Johnson on VA Smalltalk</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301893823</link>
			<category>esug2005</category>
			<pubDate>Fri, 19 Aug 2005 08:43:43 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>It's after lunch, and Mark Johnson is up to talk about VA Smalltalk. I <a href="http://www.cincomsmalltalk.com/blog/blogView?searchCategory=StS2005">blogged both talks</a> on this at StS. The difference here is that Mark is a marketing guy, not a technical guy - so the tone of this talk should be somewhat different than at StS. On to his agenda:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Who Instantiations is</li>
		<li>Relationship with IBM</li><li>Roadmap information</li></ul>
<p>Mark has been at <a href="http://www.instantiations.com/">Instantiations</a> since 1999, in Marketing and Business Development roles. His charter at Instantiations is to promote Instantiations tools - Smalltalk and otherwise. For those who don't know, Instantiations is a small (25 staff) company in Oregon. They were re-founded in 1997, they mostly partner with IBM, working with Rational, Eclipse, WebSphere. </p><p>They've been selling a bunch of VA add-ons for ever since Instantiations was re-founded out of the wreckage of ObjectShare. Late last year, Instantiations started working with IBM at the Raleigh lab to provide 2nd and 3rd level support for IBM. More recently, Instantiations was able to announce and offer VA Smalltalk. They are an <em>Advanced IBM Business Partner</em>. They have been a VisualAge Smalltalk Solution Team Member, member of STIC, and also associated with similar programs for Rational tools, WebSphere, etc. </p><p>Now we see the slide that IBM showed at StS - the &quot;either run or walk to Java&quot; slide. Even the maintain Smalltalk slide calls that a &quot;Staged Transformation&quot;. Mark is pointing out that Instantiations is taking over marketing and support, so that there's no need to migrate - the choices IBM are laying out are to migrate now, or go to Instantiations. </p><p>VA Smalltalk 7 (Instantiations Product):</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Lengthens viable life of VAST applications</li>
		<li>100% compatible with VA</li><li>Includes VA Assist, WidgetKit/Controls, GF/ST</li><li>Modernized product</li><li>Fully Supported (by Instantiations)</li><li><a href="http://www.instantiations.com/VAST/roadmap.htm">Roadmap</a> for the future (out 2 years)</li><li>Instantiations is 100% committed to product development</li></ul><p>The roadmap:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>VA 7: Summer delivery (late August, early September) - VA 6.0.3 with the additional components listed above</li>
		<li>VA 7.5 (Next year)<ul><li>ANSI support</li><li>More modernization</li><li>Integrate RB</li><li>Newer Windows Widgets</li><li>More WS* stuff</li><li>All additional migration stuff</li></ul></li></ul><ul><li>VA 8 - follow link above</li></ul><p>They plan to evolve their own pre-existing tools as well, and integrate them more fully into VAST. Small note - GF/ST will remain a &quot;goodie&quot; (i.e., unsupported). By contract with IBM, they have to include the migration assistance tools from Synchrony Systems. The release was delayed somewhat by the slowness of the 6.0.3 release from IBM. Still on track for Windows GA version shortly (within a week), with Linux, AIX, and Solaris by end of August. Looks like you can <a href="mailto:mark@instantiations.com">contact Mark</a> for a copy of the slides.</p><p>Mainframe stuff is still at IBM - Academic licenses are not free. hmmm.</p></div>]]></description>
			<guid isPermaLink="false">3301893823</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301893823</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301893823</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301893823</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301893823</includedComments:puid>
					<includedComments:author></includedComments:author>
					<includedComments:pubDate>2005-08-19T11:09:34-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;

&lt;p&gt;You can get the slides from the ESUG lectures &lt;a href="http://www.esug.org/conferences/thirteenthinternationalconference2005/slideshowsofthelectures/"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>Slides</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301893823</wfw:comment>
		</item>
		<item>
			<title>Smalltalk Marketing update</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301883814</link>
			<category>esug2005</category>
			<pubDate>Fri, 19 Aug 2005 05:56:54 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Suzanne Fortman is talking about Smalltalk promotion in the community at large, and specifically at Cincom. No slides - this is a general introduction on her part to this community. I blogged about her <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3297499535">StS talk here</a>.</p>
</div>]]></description>
			<guid isPermaLink="false">3301883814</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301883814</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301883814</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301883814</wfw:comment>
		</item>
		<item>
			<title>SOA - Risks and Benefits</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301883471</link>
			<category>esug2005</category>
			<pubDate>Fri, 19 Aug 2005 05:51:11 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>It's raining out, so it's a great time to be inside and hear about the new buzz terms as they hit Smalltalk. Andy Berry is going to cover what SOA (Service Oriented Architecture) is.and what the business benefits and risks are. In particular, he'll cover how it interacts with Smalltalk.</p>
<p>What is &quot;architecture&quot;? Let's pretend that you won the lottery and ask a builder to build you a new house... Heh - Andy has a picture of what you have in mind, and a picture of what the builder actually produced (I lived this one when we had our house built - we didn't get the cathedral ceilings at all where we wanted them...). Like Andy says, the builder always has a rationalization at hand to explain why things went the way they did.</p><p>So... consider a city, where you end up with lots of buildings. You want it to all mesh. Now, apply that to IT - you have apps for Sales, Billing, Q/A (etc) - they probably are all silos. They should all tie together (eg - a Sales Enquiry should be able to &quot;turn into&quot; an Invoice w/o any hard work). The bottom line - a suite of applications that work together this way will save money.</p><p>An IT architecture must tell us how to link things together. Has to consider both the business itself and the world around it. At this point, imagine a circle (&quot;The World&quot;) with boxes for your customers, your suppliers, your company, and your enablers. That's what your architecture has to tie together. </p><p><em>&quot;A Service Oriented Architecture is a way of including everyone - Customers, Suppliers and Enablers - as partners in your IT system&quot; </em>So, an SOA is an architecture designed around services. What's a service? posit a taxi driver, who you call to take you from point A to B - the taxi driver has provided a service. Side note - how the driver gets paid is an interesting point all by itself.</p><p>Services:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Business Oriented - don't tell the taxi driver <em>how</em> to drive</li>
		<li>Asynchronous - I make a request, and it later happens</li><li>Normally, you get what you ask for</li></ul><p>Returning to IT - Always ask yourself - can I imagine myself doing this? If so, it could probably be made into a service. A service to submit an invoice is high enough level to call a service. Where does this fit - design/architecture level, or code level? Is SOA:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>The most important development in the last ten years?</li>
		<li>An interesting development that your company should monitor?</li><li>Just a messaging application?</li></ul><p>Andy falls into camp two above - start thinking about it, and see how you could/should use it. Consider doing an internal project before trying to go outside the company's walls. So Andy asks us: <em>Can you think of three business oriented services that would allow parts of your company to work more effectively together? </em></p><p>Implementation: </p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Do it yourself</li>
		<li>Us a supplier like IBM, Iona (et. al.)</li><li>If you do that, make sure you get monitoring</li></ul><p>One option is to use what's called as ESB (Enterprise Service Buss). <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3300115688">InfoWorld</a> just did a wrap up on those, iirc - I think I threw rocks at it :) The basic idea is that you wrapper your applications in a messaging layer. What goes on the &quot;bus&quot; - messages - typically, Web Services messages. </p><p>At the implementation level, a web service is a service delivered by XML encoded messages. Andy is referring us to &quot;The Semantic Web&quot; by Berners-Lee. This is where you end up intersecting with the &quot;<a href="http://www.google.be/search?q="Web+2.0"&amp;sourceid=mozilla-search&amp;start=0&amp;start=0&amp;ie=utf-8&amp;oe=utf-8&amp;client=firefox-a&amp;rls=org.mozilla:en-US:official">Web 2.0</a>&quot; folks - including the RDF crew. </p><p>So what are the benefits? You automate (as much as possible) your communications flow with your suppliers. A simple example of this sort of thing is how we (Cincom Smalltalk) handle &quot;goodie&quot; submissions from authors. They register with us, and then have access to an FTP site. Our normal build process pulls the latest from there - thus eliminating the need for reminder emails. The upshot here is to end up with an architecture rather than a set of isolated silos. You should end up automating out a bunch of things with customers and suppliers. </p><p>The risks? At this point, you'll be an early adopter - meaning that you'll inclur extra costs, and be off the wrong way if the buzz ship moves along. How can you mitigate that? Andy's suggestion is that Smalltalk helps here, by dint of its flexibility - and it's supported in Smalltalk (VW and VA, for sure). More:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Don't bet the business - start small</li>
		<li>Ensure access to mentors that have done this before</li><li>Choose a product before you start implementing.</li></ul><p>At the end of this, you want an architecture, not just another &quot;cool&quot; use of buzzword bingo technology. Start small, get buy-in from the right people in your organization, and try to pick an obvious starting point to prototype. </p><p>Back to that taxi driver and payment - we just hand him money. Translated to IT, what we really want is &quot;pay as you go&quot; services that are metered. Yes, it sounds utopian - but it's probably a level of outsourcing that will work. </p></div>]]></description>
			<guid isPermaLink="false">3301883471</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301883471</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301883471</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301883471</wfw:comment>
		</item>
		<item>
			<title>ESUG Tour afternoon</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301839302</link>
			<category>esug2005</category>
			<pubDate>Thu, 18 Aug 2005 17:35:02 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>On a more pleasant note, we had a nice walking tour of Brussels today. I started out heading to the airport (by train - my car is stuck in the garage due to this hostage situation). Picked up the wife and daughter, had a cab run us back here. We then went up to VUB to meet up with everyone.</p>
<p>We headed out on the tour after lunch - we had a nice, very funny guide. I'll have some pictures to post tomorrow or the next day - I'm too tired to play with the camera just now. Anyway - things ended at a brewery (only one running in Brussels), and that tour was kind of fun - although the warm air in one room triggered my jet lag and sent me to sleep.</p><p>Back at the Uni for the banquet and awards - the prizes went as follows:</p><ol xmlns="http://www.w3.org/1999/xhtml">
			<li><a href="http://decomp.ulb.ac.be/roelwuyts/smalltalk/roeltyper/">RoelTyper</a></li>
		<li><a href="http://www.squeaksource.com/">SqueakSource</a></li><li><a href="http://prog.vub.ac.be/~akellens/intensive/">Intensional Views</a></li></ol><p>There was a funny &quot;10 things I hate about Smalltalk&quot; speech at the banquet - things like &quot;I hate how productive it is - think about job security!&quot;, but delivered in a humorous way. All in all, a good day.</p></div>]]></description>
			<guid isPermaLink="false">3301839302</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301839302</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301839302</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301839302</wfw:comment>
		</item>
		<item>
			<title>Effective SUnit Testing</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</link>
			<category>esug2005</category>
			<pubDate>Wed, 17 Aug 2005 11:24:11 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Joseph Pelrine: &quot;<em>Anytime we run code, we are testing</em>&quot;. So in fact, we test code all the time - SUnit simply formalizes the process. Heh - the demos are all in VA, and Joseph felt compelled to announce that this shouldn't be taken as any kind of endorsement of one ST over another - all the code he's going to talk about is available for multiple dialects. </p>
<p>Smalltalkers should be proud that unit testing spread out of Smalltalk - it's another thing that we originated. The cross dialect versions of SUnit originated at a Camp Smalltalk in 2001. &quot;<em>This talk is about the interesting and cool stuff in SUnit that no one knows about or understands</em>&quot;. JUnit - it's a big, fat version of SUnit - apparently, the elegance has been lost, and the other revs for other dialects have come from the JUnit version. </p><p>Now it's demo mode. Joseph has added descriptions to assertions (which can be logged) - allows you to see something about the failure without having to jump into the debugger. That would help when running a long set of tests. So - instead of:</p><blockquote>self assert: someBooleanDescription.</blockquote><p>We add:</p><blockquote>self assert: someBooleanDescription description: 'Describe Failure Here'</blockquote><p>Another thing is that it's often the case that - instead of just stopping on a test failure, we want to resume (perhaps other tests depend on this). So, Joseph has added a resumable test case that lets a failure get logged (see above), but doesn't stop.</p><p>&quot;<em>Unit tests are the only valid functional specification of a system</em>&quot;</p><p>Moving along - what about TestResources? In the simple case, we have #setUp and #tearDown (set a test up, tear it down). If you run a lot of tests, this could get expensive if you are using the same resource over and over again (say, opening an HTTP connection, opening a db connection, etc). A TestResource is a way of allowing such shared resources to move across multiple test cases. If the TestResource initialization doesn't work, none of the affected tests are run at all. Basically, it's an extended #setUp/#tearDown. It uses that same API as well. Like test cases, you derive new TestResources from the common superclass TestResource.</p><p>On the class side of the test case, you add a method like this:</p>
<p><pre>

resources
		^Array with: MyTestResourceHere 

</pre></p><p>Sometimes, you want to be able to use other tools with your testing - thus ExtensibleTestCase. The example - a simple test that compares two strings, failing if they don't match. What the extension does here is hook a text differator into the results - Joseph has used it to hook SUnit to ENVY Q/A and TestMentor. Nifty example - Joseph has a demo that hooks the &quot;Debug&quot; option to SmallLint instead. The hookup? An abstract class that specifies which methods are test methods (instead of the default, which picks up all the ones that begin with 'test'). Then, an override of the #performTest method to have it run the right test, and then apply SmallLint (or what have you) in case of failure - specifying which rules to apply. </p><p>This is actually one of the really cool things about SUnit - you can whack this sort of thing into the framework easily. Doing the equivalent kind of hacking in Java (or C#, et. al.) would be much more complicated. </p><p>Coming features:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Remove TestRunner - better integration in all major dialects</li>
		<li>Integrate the description (first part) with hover help, so that moving the mouse over the list of failures will show the results w/o having to jump in</li><li>Integration with a logging framework that Joseph has (Toothpick). Came out of someone wanting log4j like capability - Joseph decided to see what such a thing would look like if you did it right.</li><li>Make TestErrors and TestFailures into new objects, instead of just exceptions. </li><li>Integrate Continuations, allowing you to backtrack to the error state - <strong>note</strong> - <em>that piece won't move to all dialects</em>.</li><li>What Joseph really wants to do is create a tight common core, and have other people configure specifically for each dialect.</li></ul><p>Joseph has a download site for lots of the stuff he's talked about here, plus other stuff (like the Smalltalk Balloon graphics, Knights of the Square Bracket logo, etc). Look <a href="http://www.metaprog.com/ESUG">here</a>.</p><p>Question: Why do so many people misunderstand/misuse TestResources? There hasn't been enough explanation - it's been passed by word of mouth and code reading. More needs to be done there - there's a manual at the link above.</p><p>Question: Two roles for helpers. One is for &quot;heavy hitters&quot; to do dialect specific work. Another one is for people to read/review the new TestResource manual.</p></div>]]></description>
			<guid isPermaLink="false">3301730651</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301730651</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301730651</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</includedComments:puid>
					<includedComments:author>
&lt;a href="http://www.cincomsmalltalk.com/userblogs/troy/blogView"&gt;Troy Brumley&lt;/a&gt;</includedComments:author>
					<includedComments:pubDate>2005-08-17T22:38:30-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Comment by 
&lt;a href="http://www.cincomsmalltalk.com/userblogs/troy/blogView"&gt;Troy Brumley&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;


&lt;p&gt;This stood out to me:&lt;/p&gt;&lt;p&gt;&lt;em&gt;JUnit - it's a big, fat version of SUnit - apparently, the elegance has been lost, and the other revs for other dialects have come from the JUnit version.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I haven't used JUnit, other than to install and run the tool, but I've done some work with NUnit for .NET. I don't claim to know SUnit as well as Joseph (would that I did), but I didn't sense any bloat in that. They are using some MS.NET specific features for marking tests and setup/teardown methods, but in an environment with a different view of the code than Smalltalk, it seems to make sense.&lt;/p&gt;&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
Feature bloat or language/library accomodation?</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</includedComments:puid>
					<includedComments:author>
James Robertson</includedComments:author>
					<includedComments:pubDate>2005-08-18T00:12:26-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Comment by 
James Robertson&lt;/p&gt;

&lt;p&gt;


&lt;p&gt;Interestingly, Joseph said that the first version of NUnit had been based on JUnit, and was bad, but a rewrite cleaned it up. Mind you, I don't know personally.&lt;/p&gt;
&lt;/p&gt;
&lt;/div&gt;</includedComments:content>
					<includedComments:title>
NUnit</includedComments:title>
				</includedComments:comment>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301730651</includedComments:puid>
					<includedComments:author>Sean M</includedComments:author>
					<includedComments:pubDate>2005-08-18T01:20:32-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;NUnit was re-written to take advantage of the CLR Attribute metadata.. tests went from having to extend TestCase to being contained in any heirarchy.. ala:

class SomeTestCase : TestCase
{
public override SetUp()
{
}

public void TestSomething()
{
}
}


to:

[TestFixture]
public class SomeTestCase
{
  [SetUp]
  public void init()
  {
  }

  [Test]
  public void Something()
  {
  }
}

and so on.
&lt;/p&gt;&lt;/div&gt;</includedComments:content>
					<includedComments:title>Re: NUnit</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301730651</wfw:comment>
		</item>
		<item>
			<title>WithStyle - new frontiers on the Smalltalk User Interface</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301723278</link>
			<category>esug2005</category>
			<pubDate>Wed, 17 Aug 2005 09:21:18 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>After lunch - Rowan Bunning is up to talk about WithStyle. They see the kinds of things they can do in WithStyle as a counterpoint to AJAX style web development - why sacrifice the power of that client you have burning up cpu cycles?</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Intro to WithStyle</li>
		<li>Basic Examples</li><li>Architecture</li><li>Applications and Case Studies</li><li>XML WithStyle</li><li>WithStyle V4</li><li>Future Possibilities</li></ul>
<p>Heh - I'm using WithStyle to blog about the talk - WS is the editor behind the BottomLine blog tool. Where is SwS - Canberra, Australia. They've been working in Smalltalk for many years (at Wizard, in VA). Many community projects: LibTidy, LibXSLT, NetResources, BottomFeeder, BottomLine, NetResources, WebDAV interface, Typeless. They really are tireless this way - they have provided a ton of useful tools. </p><p>Rowan is the XML WithStyle Product Manager - he's got a <a href="http://www.cincomsmalltalk.com/userblogs/rowanb/blogView">blog</a> as well, as does <a href="http://www.cincomsmalltalk.com/userblogs/mls/blogView">Michael Lucas-Smith</a>. WS is:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>XML UI for Smalltalk</li>
		<li>CSS based rendering</li><li>100% Smalltalk objects</li><li>Open and Highly flexible</li><li>Building a synergy between the desktop UI in Smalltalk and the web browser</li></ul><p>So - why should we care? This stuff is end user configurable (as opposed to the typical desktop UI). It uses technology that is smack in the mainstream (XML, CSS). Allows you to move between the web and the desktop easily, and brings the full power of the desktop. Differentiators for WS - </p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Targeting business apps, not general web space</li>
		<li>Many deployment possibilities<ul><li>Intranet/Extranet</li><li>Thin Client</li><li>Embedded desktop/fat client</li></ul></li></ul><p>Stable V3 engine now (used in BottomFeeder/BottomLine). Released EzyXML (editor). Supports CSS2. Supports scripting (Smalltalk). About 33,500 lines of code - working on V4 (Pollock based). </p><p>Some demo apps - the example browser, the slide viewer - showing how you can build small apps quickly using WS. I can attest to this - moving BottomFeeder from Twoflower to WS was not at all hard. The Architecture:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Developer Tools</li>
		<li>Editing - rich editing on top of a schema)</li><li>Layout (CSS)</li><li>XML </li><li>Network layer - download manager and protocol services</li></ul><p>In the layout layer, V4 uses Pollock styled by CSS. Michael and I have talked about this for all or part of the BottomFeeder UI. In the editor, there's spellchecking (external C lib), text editor behaviors, structured (schema based) editing, and XML and Object backmapping. BottomLine (the BF blog tool) uses this stuff. </p><p>What applications are there? Embedded Browser/Editor, Web App Client, WYSIWYG editor, BottomFeeder, BottomLine, Seaside Rich UI, ExyXML. Next, demos - he showed of WS in BottomFeeder and in the BottomLine posting tool. They were pretty darn easy to integrate, and made my life massively simpler. The concept behind the Seaside Rich UI is to allow Seaside usage in a thin, non-browser based UI. Instead of JavaScript/AJAX, you get Smalltalk - i.e., a smart client. EzyXML, and editor that's been deployed at the ACS (Australian Federal Level government). XML WithStyle - a more full content edting system, hooked up with network services (including WebDAV). Beta available now, plans to get to DocBook and HR-XML. Features multiple undo/redo, specllcheck. Based on open standards - uses XSLT and CSS. Highly configurable. </p><p>Coming up - V4</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Better &quot;Box&quot; model</li>
		<li>CSS3</li><li>StyledXML</li><li>Speed, flexibility (Pollock based)</li><li>Drag/Drop editing</li><li>Before/After (CSS)</li><li>Paging</li><li>Zooming</li></ul><p>Once they get to Pollock, they intend to allow embedded widgets - i.e., Pollock Widgets in WS forms. They will support HTML Forms, and Pollock's XML UI definition. They would like to get to XForms, XUL, and maybe Avalon.</p><p>Question - what about licensing? It's still being worked up - something will be announced soon. We've been concentrating on getting the code ready.</p><p>Question - Seems to be a little slow? The demos are on the Mac, where VW performance in general has been an issue. That's being addressed by Cincom. </p></div>]]></description>
			<guid isPermaLink="false">3301723278</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301723278</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301723278</pingback:target>
			<includedComments:comment-collection>
				<includedComments:comment>
					<includedComments:guid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301723278</includedComments:guid>
					<includedComments:puid>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301723278</includedComments:puid>
					<includedComments:author>james governor</includedComments:author>
					<includedComments:pubDate>2005-08-17T10:44:34-05:00</includedComments:pubDate>
					<includedComments:content>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;do some screencasting. "show" some of the coolness... 
&lt;/p&gt;&lt;/div&gt;</includedComments:content>
					<includedComments:title>learn from udell</includedComments:title>
				</includedComments:comment>
			</includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301723278</wfw:comment>
		</item>
		<item>
			<title>HTTP Unit Testing</title>
			<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;entry=3301718542</link>
			<category>esug2005</category>
			<pubDate>Wed, 17 Aug 2005 08:02:22 EDT</pubDate>
			<description><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>David Shaffer on testing Seaside components. David's been doing a fair bit of Seaside work, and teaches Smalltalk at Westminster University. He and his students do a lot of Seaside work. Small aside here - there's a lot of Squeak/Seaside at this conference, especially in comparison to June's <a href="http://www.cincomsmalltalk.com/blog/blogView?searchCategory=StS2005">Smalltalk Solutions</a>.</p>
<p>Some of what's up in Seaside testing:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Tests run on the server (i.e., access to the tested component)</li>
		<li>Uses the Smalltalk debugger</li><li>Web test runner</li><li>Available for Squeak and VisualWorks (hat tip to Cincom's Michel Bany for the port)</li></ul><p>Provides a test harness with a simulated web browser environment. You render the component into the harness. Setting up:</p><p><pre>

testComponent1
	self newApplicationWithRootClass: SCTestComponent1.
	self establishSession.
	self assert: (self lastResponse stringWithId: 'main') = 'hello'.

</pre></p><p>The nice thing here - you don't need to drive the web app to a specific point - you can do actual unit/component level testing. You can follow anchors this way, and then make assertions (as in normal unit testing) about where you should be and what state you should be in. The simulated browser environment hands back an XHTML DOM (XMLElement). The framework provides convenience methods for extracting useful bits. </p><p>Side point from me - it seems to me that you could combine this with <a href="http://www.softwarewithstyle.com">WithStyle</a> to provide a more visual unit testing framework - and they have a whole lot of useful code for dealing with XML. </p><p>So what can be tested? </p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>State - often tests of state are less brittle than display tests</li>
		<li>answer - components that provide a Seaside answer</li><li>callbacks - components that provide hooks</li></ul><p>For Seaside, you need to be able to backtrack, and the framework handles that as well. Other possible topics:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>Sessions are accessible</li>
		<li>There are hooks for configuring applications</li><li>The history in the web test runner is &quot;live&quot;</li><li>Marking interactions for visual inspection (so that you can look at the actual output later - important for GUI level examination. Note - framework masks self as Mozilla).</li><li><a href="http://www.cdshaffer.com/david/Seaside">David's site</a></li></ul><p>Not tested - visual appearances, although snapshots (see above) can be saved. JavaScript not fully supported, but working with a JavaScript test framework (Selenium) for that. He would like to make the APIs consistent so that test cases could move back and forth. Other frameworks:</p><ul xmlns="http://www.w3.org/1999/xhtml">
			<li>SmallHttpUnit - VW, runs outside the server, excellent API for accessing page elements</li>
		<li>HttpUnit - Java, external as well</li><li>Cactus - runs in server (Java) like HttpUnit</li><li>Struts has a framework as well</li></ul><p>Question - would using WS or Twoflower for display help? Not so much. Having a &quot;is it basically right (visually)&quot; would be nice, but most visual issues are on the order of &quot;looks ok in Mozilla, it's screwed in IE&quot; sort of problem (&quot;<a href="http://www.google.be/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http://www.netcrucible.com/blog/CommentView,guid,8146c176-f43d-4f26-abda-fb6548df39da.aspx&amp;ei=BicDQ8rtMJKYQfP9qdsC">up level experience</a>&quot; notwithstanding).</p></div>]]></description>
			<guid isPermaLink="false">3301718542</guid>
			<pingback:server>http://www.cincomsmalltalk.com/blog/servlet/CommentAPIPBServlet?guid=3301718542</pingback:server>
			<pingback:target>http://www.cincomsmalltalk.com/blog/blogView?entry=3301718542</pingback:target>
			<includedComments:comment-collection></includedComments:comment-collection>
			<wfw:comment>http://www.cincomsmalltalk.com/blog/blogView/servlet/CommentAPIServlet?guid=3301718542</wfw:comment>
		</item>
	</channel>
</rss>
