StS

Smalltalk Solutions Plug of the Day, 6/30/03

June 30, 2003 23:40:01.998

Today's spoylight - HREF Considered harmful:

HREF Considered Harmful: Structured Web Development with Seaside tutorial (extra cost applies) Avi Bryant and Julian Fitzell: beta4.com Monday 2:00:00 pm to 5:30:00 pm

Abstract: Dijkstra may have taught us 45 years ago that GOTO was a bad idea, but web development has barely caught up. In the CGI model of web applications, each link that is followed triggers an entirely new execution of the program. Building complex control flow out of these abrupt transitions can lead to a tangled and brittle mess of interdependent pages. Modern frameworks such as WebObjects and Struts may remove many of the difficulties of CGI scripting, but they do not escape the web's inherent GOTO: moving from one page to the next, whether through anchors, actions, forms, or forwards, is still a simple one-way jump.

Seaside is a framework for developing web-based applications that insulates the developer from the HTTP request/response loop, presenting the illusion of a continuous interactive session with the user. Each page or form acts much like a subroutine, which returns a value to its caller based on user input. Complex, conditional or looping workflows can be described in a single piece of straightforward Smalltalk code as a sequence of calls to individual pages. The benefits this brings to the reusability and maintainability of web applications closely mimick the advances made by structured programming long ago.

Seaside also sports callback-based form widgets (no manual request processing), transparent embedding of pages or even whole applications, a library of prebuilt components, and a complete web-based development environment, with code browsers, inspectors, debuggers, and profilers, all implemented in Seaside itself.

During this half day workshop, participants will be guided through building a simple business application with Seaside. Along with coverage of framework basics, special attention will be given to three topics: writing cleanly reusable pages and components, separating page logic (how an individual interaction works) from application logic (how interactions are strung together to form workflows), and proper management and support of the all-important browser back button.

Bio: Avi Bryant provides Smalltalk consulting and development services in Vancouver, Canada.

Julian Fitzell is a senior developer in the Agile Projects Group at the University of British Columbia.

 Share Tweet This

BottomFeeder

Various Small Bf fixes

June 30, 2003 23:34:57.722

I went into BottomFeeder to add cookie support earlier, and ended up addressing a host of other small issues - including proper handling of 301 (link moved) errors. i've got a new dev parcel up.

 Share Tweet This

smalltalk

What's important in Smalltalk?

June 30, 2003 15:53:10.621

It's not the syntax - which is why an edit/compile/link Smalltalk would be so pointless. Clarence Westberg gets it:

I don't really see the point to coming up with smalltalk environments that put you back in the Visual Studio mode. Converting smalltalk to C# might make sense in some porting sense but not in any real development sense. The same is true for the S# work I have seen so far. I mean the real attractivness of smalltalk is the smalltalk "world" not the syntax. People don't get that, syntax is something any programmer can pick up in a few days but the smalltalk "world" is truly unique and extremely productive compared to the edit-complie-link world of the {} world.

 Share Tweet This

examples

Dealing with Cookies in the VW Http library

June 30, 2003 10:01:25.894

The VisualWorks 7.x HTTP code does not have explicit support for HTTP Cookies. This is on the list of things to be addressed - although possibly not by 7.2. At the moment, SOAP Header support is a more difficult problem, and is being dealt with. So in the meantime, what if your application needs to deal with Cookies? Well, adding support isn't terribly hard. I've published a package (used by BottomFeeder) called Http-Access in the public store that - among other things - has support for reading cookies, caching them, and sending them back with requests. Here are the basic steps I took:

First, I added two methods to Net.Response:

getCookies
	"Returns all Cookies"
	| cookies |
	cookies := self fieldsAt:  'set-cookie'.
	^cookies collect: [:each | VisualWave.HTTPCookie readFromHeader: each]

There's already a cookie class available, as part of VisualWave. Instead of cloning that into the Net namespace, I just used it. I also wanted to be able to look for cookies by name:

getCookieNamed: aString
	^self getCookies detect: [:each | each name asLowercase = aString asLowercase] ifNone: [nil]

There's one more method required - the one I added to VisualWave.Cookie for decoding the cookie from a response. The class doesn't know how to do that, as it was built with the (slightly different) VisualWave framework in mind. Over the next couple of releases, that kind of overlap will disappear, btw. in any event, here's the code that reifies a cooki object:

readFromHeader: cookieAsHeader
	| stream |
	stream := cookieAsHeader value readStream.
	self name: (stream upTo: $=).
	self value: (stream upTo: $;).
	[stream atEnd]
		whileFalse: [| next msg val |
			next := (stream upTo: $=) trimBlanks asLowercase.
			stream atEnd
				ifFalse: [msg := (next, ':') asSymbol.
						val := stream upTo: $;.
						[self perform: msg with: val]
							on: MessageNotUnderstood
							do: [:ex | ex resume]]].

That handles grabbing the cookies. In my package, I stuff them into a cache object (which I use for conditional-get). Now I have cookies; how do I send them back in a request? I added these two methods to Net.Request:

addCookie: aCookie
	(self getFieldAt: 'set-cookie') value: aCookie valueString

addCookies: cookies
	cookies do: [:each | self addCookie: each]

And that's pretty much it. Your application code needs to actually deal with the cookies in a reasonable way; this code just shows how to grab and send them. Comments or fixes? Send them here

 Share Tweet This

smalltalk

Something's in the air - another ST for .NET project

June 30, 2003 9:35:41.895

via Clarence Westberg comes news of another Smalltalk for .NET project. Based on the dates on the page, it looks like this one isn't live though.

 Share Tweet This

BottomFeeder

Oops - fixed some http bugs in the dev version of Bf

June 30, 2003 9:31:07.396

I was adding cookie support to BottomFeeder this morning - and that got me into the http access code. I hadn't looked at it in awhile, refactored some ugliness, and came across some interesting bugs. What you may have noticed with the dev builds is this - some feeds were not getting updated unless you forced an update. This had to do with the way I was doing conditional-get - that relies on there being a few pieces of information from the server to cache, and I wasn't always checking to make sure that I actually got them. When I didn't, I tried filling in the request header anyway, and that created an exception - which gets swallowed, since network accesses cause lots of interesting exceptions, and end users really shouldn't see most of them.

Anyway, that's fixed, and a few feeds that were not updating for me are doing so now - I guess I track too many feeds (142 at the moment) if I hadn't noticed....

 Share Tweet This

law

I hope the anti-MS folks are happy...

June 30, 2003 7:55:15.809

Before Sun sued Microsoft, they didn't even have a Washington office for lobbying. Having learned that was a bad idea, we now have MS doing this - pushing for more regulation of the cable industry. I liked it better when MS didn't have a Washington office.

 Share Tweet This

law

Reverse engineering - illegal?

June 30, 2003 7:50:50.349

Reverse Engineering may be something that can be specifically forbidden by a EULA - depending on how the ruling ends up getting applied. Potentially scary.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 6/29/03

June 29, 2003 15:44:27.898

Today's spotlight - Joseph Pelrine's XML/XSL tutorial:

Using and Abusing XML and XSL for Smalltalkers - tutorial (extra cost applies) Joseph Pelrine: Metaprog Wednesday 8:30:00 am to 12:00:00 pm

Abstract: In the past few years, the Extensible Markup Language (XML) has become much more than just a superset of HTML. By virtue of its level of abstraction and its flexibility, XML can be used to model everything from a simple web page up to a complex data structure. In order for XML documents or data to be displayed to a user in a browser, on a cell phone or as PDF, is it necessary to change the original data into the formats needed for it. As part of the style component of XML, XSLT serves exactly this purpose.

This course illustrates the techniques for changing and transforming data by means of XML and XSLT and points out possibilities for practical application. These technologies and techniques will be shown in the context of Rosetta, a dialect-independent framework for Smalltalk code exchange.

Bio: Joseph Pelrine is C*O of MetaProg, a company devoted to increasing the quality of software and its development process. He has had a successful career as software developer, project manager and consultant, and has spoken about it at such diverse places as IBM, OOPSLA and the Chaos Computer Club. Having survived working with Kent Beck, he currently works with Dave Simmons on and in SmallScript when he's not helping his clients solve their problems.

 Share Tweet This

java

Pretty damning J2EE column

June 29, 2003 12:39:10.433

One of the Oracle bloggers has some pretty harsh words for J2EE:

Corporations can no longer afford to provide the ongoing technical education associated with J2EE development

Heh. But it's standard, isn't it? Looks like even the advocates are starting to notice the bloat and complexity....

 Share Tweet This

development

RSS - not just for news anymore

June 29, 2003 12:29:38.602

Oracle is now providing three feeds from their technet site:

This is pretty cool - you can now get tips from Microsoft MSDN and from Oracle's TechNet much more easily - look at Oracle's explanation of why they are doing this:

Rather than visiting a series of web sites every day, technologists are installing an RSS-aware news aggregator on their desktop and configuring it to pull RSS news feeds from their favorite web sites. Instead of going to the news, why not have the news come to you!

OTN now offers its own news feed, featuring technical content from the OTN site. Configure your favorite news aggregator to pull OTN's top headlines.

I expect to see companies set up support blogs with RSS feeds, much as they used to set up mailing lists and private news feeds.

 Share Tweet This

rss

Gordon comments on the RSS imbrogolio

June 29, 2003 10:29:47.098

Gordon Weakliem has the best summary on this yet:

In the two links that Dare pointed to, I identified three problems with RSS 2.0:

  • The spec's ambiguous about what can go into <description>, in particular, the practice of putting in escaped HTML is considered a bad idea. Tim Bray endorses either plain text or well formed xhtml; both seem like reasonable options.
  • The handling of relative URIs needs to be clarified.
  • It's not clear whether the tag should be used for a permalink or an external link.

When I realized that, I wondered what the controversy was about - it seems like these issues could be ironed out fairly quickly and Echo could get on with putting together a weblogging API.

Dare also mentions politics as being a driver behind Echo. Evidently, this is what the controversy's about. I think that it's a terrible thing to even tacitly admit this sentiment into your mission. I've never yet found software that can fix interpersonal relationships. When all's said and done and Echo is a reality, the same people will still be around, disliking each other.

Pretty much the size of it.....

 Share Tweet This

rss

Speaking of cynicism and RSS...

June 28, 2003 18:33:24.737

Dave Winer lets loose on the subject of RSS and Echo. I'm starting to think that 50% or more of the whole Echo thing is based on "Let's do something different from what Dave did". Even if in the end, all they end up doing is changing tag names. Maybe someone should make sure that there are no sharp implements nearby....

 Share Tweet This

rss

whoa - I thought I was a cynic

June 28, 2003 10:59:20.793

I tend to think of echo as being mostly a waste of time and energy - while there is a need for a blog posting API (the Blogger and MetaWebLog API's are worse than hopeless) - there's no compelling need for an RSS replacement. At least not that I can see. Especially given the fact that adoption of this new format will be slow (if it escapes the ring of Echo developers at all), and it will just be one more blasted format for the rest of us to deal with.

So yeah, I'm cynical about this effort. If it comes to pass, I'll support it with BottomFeeder, whether I'm happy about it or not. John Robb, on the other hand, has a whole new level of cynicism in play:

RSS and Echo. Well the big companies have finally made their move in the weblog world with Sam Ruby being directed by IBM to take control of an emerging syndication standard. Why now? Big publishing companies are starting to think about using RSS (really simple syndication) not only to automate the delivery of news to readers but also to automate the production of news. IBM is very interested in this given their longstanding and extremely lucrative relationship with the WSJ ($500m over the last three years) and other publishers. It would be against their interest to let a simple syndication standard emerge that didn't require lots of IBM iron and software expertise. RSS had to die. Also, if you small vendors or individual contributors think that you are gaining some say or freedom with the development of Echo, think again. The big companies are going to roll right over you as the push this forward over the next couple of years.

FUD? Cynicism? Tin Foil hat time? I don't know.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 6/28/03

June 28, 2003 10:42:06.265

Today the spotlight is on John Aspinell's description of an O/R layer for Dolphin Smalltalk:

ReStore - Relational Persistency for the Discerning Smalltalker John Aspinell: Solutions Software Wednesday 8:30:00 am to 10:00:00 am

Abstract: ReStore is a Relational Database framework for Dolphin Smalltalk which takes the novel approach of automatically generating and maintaining the database schema from the Smalltalk object model. This 'out of the box' approach allows a Dolphin programmer with little or no database experience to quickly develop applications with full relational persistency.

ReStore grew out of a recognition that the availability of comprehensive, tightly-integrated relational storage would add kudos to Dolphin as a Windows development platform, whilst allowing it to better compete with environments such as Microsoft Access.

A major design goal for ReStore was that it should have minimal impact on the Smalltalk programming experience. In addition to being highly transparent, ReStore features a Collection-like querying protocol which will be immediately familiar to any Smalltalk programmer.

This presentation will discuss the philosophy and motivating factors behind the development of ReStore, and highlight some of its distinctive features through a demonstration of its use in a number of diverse applications.

Bio: John Aspinall has been developing using Smalltalk since 1992, when he began using ObjectWorks 2.5 to demonstrate findings during a research project at Aston University, UK. Since then he has worked for commercial, banking and insurance clients on a range of systems, across all major Smalltalk dialects. He is currently working freelance for a number of smaller clients, actively using ReStore.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 6/27/03

June 27, 2003 21:56:29.506

Today's spotlight - David Smith's Croquet presentation:

Keynote: Croquet - A Collaboration Architecture David Smith: OpenCroquet Tuesday 10:30:00 am to 12:00:00 pm

Abstract: Croquet is a computer software architecture built from the ground up with a focus on deep collaboration between teams of users. It is a totally open, totally free, highly portable extension to the Squeak programming system, a modern variant of Smalltalk. Croquet is a complete development and delivery platform for doing real collaborative work. There is no distinction between the user environment and the development environment.

Croquet is also a totally ad hoc multi-user network. It mirrors the current incarnation of the World Wide Web in many ways, in that any user has the ability to create and modify a "home world" and create links to any other such world. But in addition, any user, or group of users (assuming appropriate sharing privileges), can visit and work inside any other world on the net. Just as the World Wide Web has links between the web pages, Croquet allows fully dynamic connections between worlds via spatial portals. The key differences are that Croquet is a fully dynamic environment, everything is a collaborative object, and Croquet is fully modifiable at all times.

Croquet is a joint project being developed by David A. Smith, Alan Kay, David P. Reed, and Andreas Raab. More information is available at: http://www.opencroquet.org

Bio: David has been focused on interactive 3D and using 3D as a basis for new user environments and entertainment for almost twenty years. He created "The Colony", the very first 3D interactive game and precursor to today's "first person shooters" like Quake... except Colony ran on a Macintosh in 1987. "The Colony" won the "Best Adventure Game of the Year" award from MacWorld Magazine.

In 1989, David used the technologies developed for the game to create a virtual set and virtual camera system that was used by Jim Cameron for the movie "The Abyss". Based upon this experience, David founded Virtus Corporation in 1990 and developed Virtus Walkthrough, the first real-time 3D design application for personal computers.

In 2000 David joined forces with Alan Kay, David Reed, and Andreas Raab to develop a totally new kind of software. Croquet is intended to completely change the way you use a computer, transforming it from a closed box with very low bandwidth communication channels to a high-bandwidth collaboration and multi-user idea processing engine.

 Share Tweet This

humor

Overheard on the IRC

June 27, 2003 15:26:40.106

Overheard on the Smalltalk IRC:

"Don't worry about people stealing your ideas. If your ideas are any good, you will have to ram them down their throat"

 Share Tweet This

events

NYC Smalltalk Events

June 27, 2003 14:25:11.078

From the NYC STUG:

NYC Smalltalk July Events - PostgresSql and OpenSkills

NYC Smalltalk will hold its next meeting on Wednesday July 9th, 2003. We will also be hosting OpenSkills.org DevCon 2003 on Thursday July 10th.

Date:July 9th, 2003 - PostgresSql and VisualWorks, Bruce Badger
Date:July 10th, 2003 - OpenSkills.org DevCon 2003, Bruce Badger

Location:Suite LLC offices
Address:440 9th Avenue, 8th Floor
Time:6:30pm to 7:00pm -- Open house
Time:7:00to 8:30 pm -- Presentation

Directions:

Take E or C train to 34th (Penn Station) walk to corner of 34th and 8th. Walk up one block to 9th.

RSVP is requested. Please send mail to: charles@ocit.com with subject line of: NYC Smalltalk July 9th, 2003. Our meetings are opened to the general public. Invite a friend ! To join our mailing list simply send mail to:

nycsmalltalk-subscribe@yahoogroups.com.

Joining our list will give members access to all of the presentations and articles maintained on our site. Any questions send mail to: charles@ocit.com

Charles, Chair NYC Smalltalk

 Share Tweet This

blog

Blogging world nervous about Google

June 27, 2003 12:53:36.276

Google has added 'blog this' to their toolbar, and rival blogging companies are not pleased. Well heck, what did they expect? Google didn't pick up Blogger for the fun of it. This is a business, not a big kindergarten sandbox where everyone shares. Yeesh.

 Share Tweet This

development

not amused by SWEBOK

June 27, 2003 12:49:11.811

Cem Kaner has a full review and here of the SWEBOK. It's a detailed, almost page by page takedown - go read it, and better yet - follow his advice:

Please get involved in this review process, which will close on June 30. Go to www.swebok.org to sign up and download swebok, and submit comments

 Share Tweet This

rss

Patrick Logan 'echoes' my thoughts

June 27, 2003 12:20:14.693

I'm not the only one thinking why bother with regards to Echo:

I did not realize what was coming with Echo when I reacted positively to Steve Gillmor's take on Microsoft and RSS a couple weeks ago. Of course when I was suggesting RSS might be supplanted over time, I did not think it would be for apparently political reasons. I certainly did not think the effort would begin any time soon.

My reaction to Echo is along the lines of many others: RSS (regardless of its many forms and politics, I mean the collective sense of "RSS") has just in the last months taken a spot in the zeitgeist. My god, it takes ages for these concepts to make their way into large corporations. And now we have to explain Echo? I'm not going to rush that one.

Can we also get 6 versions, 5 of which are similar and a sixth which is out on a plank by itself? What's the point?

 Share Tweet This

events

German Roadshow 2003 presentations online

June 27, 2003 11:41:22.936

If you speak German and could not make any of the Cincom Smalltalk events there this month, then have a look at the presentations from those shows

 Share Tweet This

law

if SCO isn't right, someone else will be

June 27, 2003 10:24:51.179

So says Charles Cooper of CNet. His contention - OS developers don't really pay any heed to potential IP issues. So even if SCO gets no traction with their claims, this issue will come back to bite open source projects eventually:

The unauthorized incorporation of intellectual property (IP) is an obvious no-no in the real world, where laws and rules of behavior govern the limits of fair use. In contrast, the open-source world is a veritable swap mart where source code remains freely distributed and available to the general public. With the General Public License (GPL), anyone can see, change and distribute an application's source code, so long as they publish any changes they make before distributing it.

So far, that's worked out nicely and helped create the conditions for Linux's explosive growth. But it also leaves the door wide open for a code jockey version of Jayson Blair to rip off somebody's IP and disseminate it without permission.

Open-source defenders say that this is all a pig in a poke and that there are stringent review processes in place to prevent mischief. What's more, they say the code is open for anyone to examine.

Yeah, sooner or later I expect to see a suit claiming that some code was inappropriately placed under the GPL by someone with no right to do so.

 Share Tweet This

BottomFeeder

Bf - testing Http Authorization

June 27, 2003 0:53:41.267

I've added http-auth support to BottomFeeder. At the moment, I have no feeds that require authorization to test against - so if anyone is using the 3.0 dev stream, and has such a feed to test, I'd appreciate hearing about it. I added one other thing which was a silly omission - if the feed url is https, we now properly use https to fetch it.

 Share Tweet This

java

Sun can't have its cake and eat it too

June 26, 2003 21:46:36.106

Via CNet:

A federal appeals court dealt a legal blow to Sun Microsystems on Thursday, tossing out most of a preliminary injunction requiring Microsoft to carry its rival's version of an interpreter for the Java programming language.

Personally, I think Sun outsmarted itself in this deal.

 Share Tweet This

rss

So about that new syndication/posting format...

June 26, 2003 12:36:21.157

I see that BitWorking has a post on the whole thread about a new syndication/web log entry subject. I just love this proposal:

post-id

An identifier that uniquely identifies the post on the web. Again, that needs some clarification. If you write a weblog entry about a story in the NYTimes, and post it to your weblog under two categories, the post-id will be the same regardless of which category it is published in. Also, the post-id is unique among all the Echo entries ever published, by anyone on the web, for all time. Once an item is published, it's post-id never changes. If you edit your entry, the post-id does not change. If you re-categorize your post, it does not change. Unique across space and time. What if you want to include some link to the source material? That is another Echo tag, possibly in another Echo optional module, that allows for citing multiple sources

Unique across the entire web, for all time? How, pray tell, is that going to happen? Is there going to be a central repository of serial numbers used for these, so that we can guarantee global uniqueness? Because if not, I fail to see how we can absolutely guarantee across source global uniqueness. A site level URI pointing to a given item might work - but it will end up being mostly useless if the site owner has to relocate the posts into a new CMS or to a new site entirely. Heck, say you publish - as I do - a blog from a Product Management perspective. Now say that BigCo, Inc. buys the product from SmallerCo., Inc. Do you think BigCo. will be happy with all those references to the old company lying around? Probably not, and they will probably want them changed. So much for the permanence of the ID.

It's a nice theory, but I don't think it's entirely workable. The RSS GUID set out to be the same thing, and it hasn't worked out that way either.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 6/26/03

June 26, 2003 12:16:03.855

Today's spotlight is on David Shaffer's Web MVC talk:

An Application Framework for Developing MVC web applications with the VisualWorks WebToolkit tutorial (extra cost applies) David C. Shaffer: Westminster College Tuesday 2:00:00 pm to 5:30:00 pm

Abstract: Keep your code off of my page. Developing server-side web applications using technologies like Smalltalk Server Pages and Java Server Pages can lead to applications which are difficult to extend or maintain. This is especially true when such pages need to be maintained by both web page designers and programmers. This tutorial will present a framework for developing MVC-style applications using Smalltalk Server Pages, Custom Tag Libraries and Servlets. Use of this framework can result in well-factored applications having clear boundaries between the presentation layer and the underlying business/persistence/transaction layers.

Separation of the presentation layer when developing server-side web applications is achieved by combining Servlets, Smalltalk Server Pages, form models, and Command objects, in a manner similar to that used in the Java-based Jakarta Struts project[1]. This model is similar in purpose to the framework discussed by Knight and Dai in "Objects and the Web"[2] and consists of three related components:

  1. An extensive custom tag library for more self-describing page markup, to simplify input validation, to provide scripting capabilities to web page designers (without resorting to Smalltalk), to help communicate between the presentation and control layers.
  2. A centralized Servlet which controls flow, provides final validation of data and invokes "Command" objects.
  3. Command objects typically implementing use-cases in your application.

In this tutorial each of these components will be presented and utilized in the context of developing a web application. The resulting application demonstrates most of the common forms of web interaction. The full source of the supporting framework and sample application will be provided to attendees for their extension and/or incorporation in their own applications.

Attendee Background: This tutorial is geared toward Smalltalk developers with little or no web development experience. Some VisualWorks experience will be helpful but not required.

Bio: David Shaffer has worked designing Object-Oriented web applications for the Electro-Plating industry since 1997. He is also an assistant professor of Computer Science at Westminster College where he uses Smalltalk extensively in his courses.

I'll likely sign up to attend this one - lots of good ideas are likely to come out of this.

 Share Tweet This

management

How many of us live this every day?

June 26, 2003 10:42:15.892

Via manageability come these thoughts on how talk often substitutes for action:

"The Knowing-Doing Gap" is a very insightful book that I encourage everyone to read. There's one particular chapter, entitled "When Talk Substitutes for Action" that is particular relevant.

The chapter talks about the tendency to treat "talking" about something as equivalent to actually "doing" something about it. The author writes about different variations on the theme:

  • Making Decisions as a Substitute for Action
  • Making Presentations as a Substitute for Action
  • Preparing Documents as a Substitute for Action
  • Using Mission Statements as a Substitute for Action
  • Planning as a Substitute for Action

Manageability discusses this in regard to development, but it's a more widespread problem. Change licensing policy? See the above. Change prices? See the above. Change just about any long term policy? See the above. Inertia is a powerful force in business - especially in larger companies. Getting past the stalling actions (which are, consciously or otherwise, a call to keep the status quo) is hard. This is why once of the marketing guys I work with, after reading Kent Beck's XP book stated that it wasn't a development process so much as it was a general business process. I think he was onto something there.

 Share Tweet This

cst

MethodFinder for VW

June 25, 2003 21:55:52.498

A few days ago, someone asked in cls whether or not the Method Finder tool in Squeak existed in VW. Not long afterwards, Bob Westergaard went ahead and ported it. Go ahead and load SqueakMethodFinder into VW from the Public Store and try it out. It's quite useful!

 Share Tweet This

StS

And now, another StS 2003 Reminder

June 25, 2003 18:15:19.405

From Jason Jones:

Hello Everyone,

Just a quick reminder about tutorials at Smalltalk Solutions 2003 this year. Tutorials are a separate charge from the conference registration and each tutorial costs $100 USD.

A schedule of the tutorials can be found here.

You can sign up for 1, 2, or 3 tutorials here. After you have paid, a Smalltalk Solutions committee member will contact you by email concerning which tutorial(s) you wish to sign up for. Sorry for the extra steps :-)

Sign up soon!!

Jason Jones

 Share Tweet This

BottomFeeder

Installing BottomFeeder just got easier

June 25, 2003 14:33:04.425

At least, it got easier on Windows. I picked up a copy of Nullsoft's installer for Windows, and it was a breeze to use. If you are install a new version, this makes the whole process very easy. Thanks to Bob Westergaard for recommending this to me. The dev build for Windows is now using the NullSoft Installer.

 Share Tweet This

movies

"The Italian job" - good summer fare

June 25, 2003 11:07:30.970

I went to see The Italian Job last night. Ebert liked it, and I did as well. There aren't any big surprises, and it's certainly no message movie - but it's an entertaining caper movie. The pacing was good - there's never time where you feel like you're waiting for something to happen. The characters are all enjoyable - it's a nice, mindless romp of a movie, perfect for a summer night with a big bucket of popcorn. There are some amusing riffs with Seth Green - playing a computer whiz - claiming to be the "real Napster", and yes, Shawn Fanning gets an uncredited cameo. Nice to see he doesn't take himself too seriously. Don't go into this trying to make sense of the chase scenes, or trying to view all the ways they move the loot logically. Just sit back and enjoy the spectacle.

 Share Tweet This

development

More wondering about SWEBOK

June 25, 2003 10:48:35.528

Mark Bernstein comments on the IEEE SWEBOK:

How, incidentally, can IEEE even think about promulgating a "Book of Knowledge" about software engineering that doesn't include Design Patterns among its recommended books?

This is something others have been commenting on as well - the GOF book has been around for quite awhile now, and is obviously valued by the developer community. Why is the IEEE ignoring it?

 Share Tweet This

xp

Sam Gentile plugs pair programming

June 25, 2003 10:21:31.636

Go read Sam's post for some good links for promoting XP practices:

By now, virtually everyone on the planet groks the whole Unit Test thing and even writing the unit test first, but Pair Programming has always been the toughest sell to management. Many times I have gotten all of XP adopted at a company except Pair Programming. Management's fear is that they instantly lose 50% productivity. It's a shame because exactly the opposite happens. This study, among many others actually show a big increase in productivity that comes from the synergy of ideas, instant code review, and refactoring on the spot.

The hardest part of getting any new idea in place is overcoming the built in biases - both of management and of developers. I've had some success using the "two heads are better than one" analogy - but I've not actually tried to promote XP into an organization, either.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 6/25/03

June 25, 2003 10:01:15.987

Today's spotlight is on Sam Shuster's Pollock talk:

Advanced Pollock: Under The Hood, Getting Your Hands Dirty Sam Shuster: Cincom Tuesday 4:00:00 pm to 5:30:00 pm

Abstract: Often the best way to really understand a framework is to try to use or extend it in some way. With that in mind, in this presentation we will extend the Pollock Framework by adding a new widget. Using Unit Tests and "Gang" programming, we will take a ride on the Pollock bus.

By building this new widget, we will see how and where and when a Pane interacts with its Agent and its Artist. We will also see the new reduced role of the Controller, and its new abstract API. With this information, people who have extended or added widgets in the current VisualWorks GUI framework, will be able take that knowledge and apply it to Pollock.

Ample time will be given to discuss the existing Pollock framework, and its future, as well as how to improve the framework.

Bio: Samuel S. Shuster is the GUI project lead for VisualWorks Smalltalk. An early Windows programmer, he has been, sometimes reluctantly, exposed to many GUI development frameworks and tools in multiple programming languages, including experience with all commercial Smalltalk GUI frameworks. Taking these as a guide, along with many GUI framework research projects, he has taken the best from each and synthesized them into a new GUI framework for VisualWorks: Pollock. Unfortunately, he had no idea what he was really getting into.

Pollock is the VW GUI's future, so it's a talk well worth checking out.

 Share Tweet This

law

Cybersource blows SCO a raspberry

June 25, 2003 1:02:27.115

Cybersource doesn't think much of SCO's suit. In fact, they figure that the oucome in all circumstances is "Linux is unaffected".

 Share Tweet This

itNews

Martin Fowler on SWEBOK

June 25, 2003 0:53:00.683

The IEEE has put together what they call the Software Engineering Book of Knowledge. It's what they think of as a set of "best practices" for software development. I'm more or less of the opinion that we don't yet have best practices, but Martin Fowler states it better than I do:

Usually I'd ignore something like this. There are hoards of IEEE standards out there that are routinely ignored by anyone doing commercial software development. Mostly they were written by academics and those engaged in large government projects. Business people don't consider government as a synonym for efficiency.

But Cem Kaner, whose judgment I've learned to respect, does take it seriously. In his blog he says "If the SWEBOK is the basis for the licensing exam, the practices in the SWEBOK will be treated as the basis for malpractice lawsuits. People who do what is called good practice in SWEBOK will be able to defend their practices in court if they are ever sued for malpractice. People who adopt what might be much better practices, but practices that conflict with the SWEBOK, will risk harsh criticism in court. As the basis for a licensing exam, SWEBOK becomes as close to an Official Statement of the approved practices of the field as a licensed profession is going to get."

So how flawed is the Swebok? This is a busy month for me, so I haven't had time to dig into it in any detail. Just reading a few sections is enough to raise a few red flags, and certainly to confirm the view that Swebok puts undue emphasis on plan-driven development, to a degree that rules out agile approaches.

The legal aspect of that could get scary - watch out of this goes anywhere

 Share Tweet This

itNews

News Flash - Java Luminaries figure out that Java is complex

June 24, 2003 20:10:41.252

Via Dave Buck comes news of this Java roundtable discussion:

Borland's Ted Shelton said Java's use is declining in the world because of a perception that vendors compete against one another too much. Java grew up without any serious alternatives, but now Microsoft .NET is maturing and will be a "ferocious competitor" to Java. He even heard about companies putting Java projects on hold pending their evaluation of their .NET projects.

Lol. Java got big because Sun gave it away and the whole early net buzz was around it. Maybe companies are finally noticing this - something I commented on quite awhile ago. Maybe the absurd complexity of things like EJB is strating to sink in. Perhaps people are noticing that Cobol and VB developers are interested in solving problems, not arcane syntax and curly braces :)

 Share Tweet This

general

Let's see if this Kyocera phone stays sane

June 24, 2003 17:04:42.365

Since August of last year, I've had a Kyocera 2135a. It's an ok phone, except for one horrible problem - I've had to replace it 5 times. Why? Becase every 6-10 weeks, the headset port just stops working. Today I replaced it with a newer Kyocera. Right off, something irked me about the phone. When I'm on conference calls, I often mute the phone when no one needs me - that way extraneous office noise doesn't bother the rest of the call. Well, with this phone, there seems to me no way to get to the mute option if you have typed in anything (like, say, a passcode) after the phone call started. Well that's just great. You know what? I don't care about mobile internet access. I don't care about text messaging. I don't care about email on my phone. But it would be nice to have access to core phone functionality.

I expect very little of telecom providers, and they never disappoint or surprise me.....

 Share Tweet This

rss

Yet another web logging API

June 24, 2003 11:11:01.669

The usual suspects are off creating a new format for posting to a web log and for syndicating web log content. I look at this, and the first thought that comes to mind is why? RSS 2.0 explicitly allows for extensions via namespace; it also seems to cover the basic ground that is being gone over yet again by this group. The thing of it is, RSS is just starting to be widely adopted - by news organizations and bloggers. Adding yet another format will add some interesting chaos into this mix. what need is this filling? What does RSS 2.0 not do that needs doing so badly that we need a new format? A reasonable blog API, yes - that needs to be done. The blogger API is hideous, and the MetaWebLog API isn't any better. That's a limited goal though, and I suppose it isn't nearly as much fun as re-inventing things that already work.

 Share Tweet This

law

MS gets helped from the SCO mess

June 24, 2003 11:02:44.330

I posted yesterday on this aspect of the case - now CNet has a story from an IP lawyer that reinforces the point:

Some open-source software projects require contributors to provide legal documentation of ownership in the code they submit and use digital signatures to authenticate those submissions. These types of measures should continue to be improved and be implemented more broadly within the open-source community.

Another confidence-building step would be for the distributors or developers of open-source software to move away from offering their products "as is" and find ways to indemnify customers from any liability for intellectual property infringement. Some in the community might suggest that this step is too radical and that it runs counter to their ideals. However, by not offering at least some degree of comfort to their customers through indemnification, they risk ceding an important market advantage to those proprietary software companies that do

Read that carefully - what it implies is that safe open source efforts require a legal department to verify that everything is ok. That may not be bad advice, but it certainly throws a wrench into the efforts put into projects by small guys - not to mention being a call for full emplyment of IP lawyers. If this advice gets taken, the costs to the larger OS efforts (Apache, Linux, etc.) go up. Who wins in that scenario? MS, of course. And SCO provides a convenient fall guy, so that they don't get blamed.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 6/24/03

June 24, 2003 1:15:17.889

Today's spotlight is on Anthony Lander's talk on adding encryption to an MSN IM client:

Adding Strong Encryption to the MSN Instant Messenger Network presentation Anthony Lander: independent consultant Tuesday 9:15:00 am to 10:00:00 am

Abstract: This talk looks at the design and implementation of Pongo, an open source MSN Instant Messenger client written in VisualWorks Smalltalk. Pongo adds a strong encryption layer to MSN IM enabling users to have encrypted conversations over chat. This talk looks briefly at the MSN protocol, and the implementation of the Pongo client, but focuses primarily on understanding the design of the encryption layer. Participants should have an intermediate understanding of Smalltalk. No knowledge of encryption is required.

Bio: Anthony Lander has been programming in Smalltalk for over ten years. He has worked on a variety of projects developing database connectivity frameworks, communications switching software, law enforcement applications and real-time 3d video games.

I've watched the Pongo Project progress on the IRC Channel. I've also been inlcuding it as a plugin to BottomFeeder for quite awhile now. Anthony has worked hard to get the encryption working properly with the MS services; come here how he did it!

 Share Tweet This

law

Who's the only real winner in the SCO mess?

June 24, 2003 1:08:45.047

Amongst a bunch of stuff on copyright law that I don't know enough to comment intelligently on, Cringely points out who the real winner is:

Microsoft is smart and quick. They are no doubt angling to take advantage of this new chaos in the software industry. If history repeats, Microsoft will make very good business decisions. Everyone else will make very poor, if not stupid business decisions. The result will be that Windows will be stronger, and Microsoft's own CRM products, acquired when it bought Navision (the Danish CRM company), will gain a foothold in the market against PeopleSoft and Oracle. A year from now, Microsoft will be a vastly more powerful business even than it is today, which is saying something.

It's been a bad idea to vote against MS winning for years now; this could easily be the next winning round for them....

 Share Tweet This

smalltalk

Smalltalk app servers - less expensive than you think

June 23, 2003 16:13:00.351

Interested in getting started with a Smalltalk application server? You can try out VisualWorks and Gemstone in their NC forms free. VW on a single CPU starts at $6000, and Gemstone has just introduced a starter package at $7000. So you can build fully network and web enabled server applications - including a nice persistent store on the back end - for a combined $13k. That's very competitive with the Java app servers. Have a look!

 Share Tweet This

development

Scott Johnson explains how user complaints work

June 23, 2003 15:41:57.154

Software vendors - both formal shops and open source, spare time projects - have some preferred method of bug collection. Some use a web form, some use an 800 number - many OS projects use the SourceForge bug tracker. Scott Johnson points out the limitations in reference to a complaint he had about Evolution, and the response that came back on it:

Now Jason argues that I Should have gone to the Ximian site and found the right place to put the comment and then submitted it properly all nice and tidy. Well that's just not going to happen in the real world. Its difficult to find here to put stuff on a web site, figure it out, etc. Until that's a standard thing, users are going to put comments everywhere, even in blogs*. And as someone who has been a product manager most of their professional life, I can honestly tell you this:

  • Commentary on your product even in the wrong place is better than no commentary
  • Commentary even negative is better than no commentary

One thing that I do think that Jason has missed is that public rants -- IF THEY ARE CREDIBLE** -- serve a real purpose. They make a company very aware that there's an issue and perhaps some incentive to get it fixed. That's huge. And someone else posted in the comments here "how would I like it if someone did that to me for one of my products (Inbox Buddy)?". Well sure I see the issues but you know something -- if I screw up badly enough for someone to write this kind of rant then I should have my feet held to the flame. Yup. That's right -- I may be difficult*** but at least I'm consistently difficult.

I have to say that I agree with him. Yes, I'd rather see bug reports go through our support system or through one of the mailing lists we monitor. The reality is, they crop up in comp.lang.smalltalk, on people's blogs and websites, and in the Smalltalk IRC Channel. They also arrive in email sent to me and to other well known Cincomers. Is this the most efficient way to get them? Maybe not, but it's how it works, and as a software vendor, we just have to deal with the reality. Raging against the nature of reality really isn't going to do us a lot of good. We try to encourage people (gently) to use the preferred channels, but that's about as far as you can go that way.

 Share Tweet This

blog

Small outage

June 23, 2003 15:26:08.889

There was a short outage of the application server this afternoon. I had a complaint that the Public Store access was broken. I took a look at that, and realized that I had done something very silly when I migrated the server from VW 7 to VW 7.1 I had neglected to load in the PostgreSQL access libraries - and that, of course, made it rather difficult to access the database in order to grant new rights. That's addressed now, and the application works. So it's all back to normal, finally. Next time, I'll have to pay a lot more attention to the upgrade....

 Share Tweet This

StS

Smalltalk Solutions Plug of the day, 6/23/03

June 23, 2003 11:32:52.414

Today's highlight: The Mysteries of the RB Rewrite Tool

The Mysteries of the RB Rewrite Tool (aka roll-your-own ""refactorings"") tutorial (extra cost applies) Don Roberts, John Brant: Refactory Monday 2:00:00 pm to 5:30:00 pm

Abstract: At the heart of the Refactoring Browser is a general transformation tool known as the "Rewrite Tool" all of the refactorings use this tool to transform the actual smalltalk code. It is possible to use this tool to create your own custom transformations. These transformation might be refactorings but can also be used for any task requiring changing a lot of code. It has been used for migrating between dialects of Smalltalk, replacing a data-access layer with a different one, and converting an application to use ANSI standard exceptions.

Participants will learn the syntax of the rewrite tool along with the concepts necessary to create their own rules. This tutorial will consist of many examples of the various types of rules.

Bio: John Brant and Don Roberts are the co-creators of the Refactoring Browser, the first commercially viable refactoring tool for any language. They are consultants and have spent the past several years working on various projects in addition to developing the RB. Don has recently gone legit and is an assistant professor at the University of Evansville.

This talk will show the true power of the refactoring engine - well worth the time for the serious Smalltalker.

 Share Tweet This

itNews

Open Source gets CIO notice

June 23, 2003 11:14:22.493

CIO Magazine is talking about Open Source as a solution:

In a November 2002 CIO survey of 375 information executives, 54 percent said that within five years open source would be their dominant server platform. Today, major enterprises are running mission-critical functions on open source, big vendors have lined up to support it, and reliable applications have emerged.

And CIOs who have implemented it report huge total-cost-of-ownership (TCO) reductions.

It's now clear that within five years, open source will transform how software is developed, sold and supported.

When CIOs need help with their systems and software, they don't have to depend on vendors with their own agendas because when an open-source app doesn't work, administrators can look at the source code, figure out why and write a fix themselves. If they're having trouble, help is just a newsgroup away.

Read that again, and note that this is CIOs talking, not a bunch of wild eyed evangelists. The ground is shifting, and IT shops that don't notice are going to be saddling their firms with higher costs than their competitors. That won't be noticed immediately - but at some point, it will be.

 Share Tweet This

general

Done!

June 23, 2003 1:34:39.107

Now that I've finished the 5th Harry Potter book, I can get to bed earlier. Yawn.....

 Share Tweet This
-->