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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

smalltalk

New Smalltalk Book in Germany

July 1, 2003 9:42:24.528

There's a new book based on VisualWorks 7.1 being published in Germany. The Cincom Smalltalk NC CD will be included with the book; I'll post more details on this when I have them.

Update And alert reader sent me this:

To see the book on Amazon (Germany) - browse here

The title is "Grundkurs Smalltalk - Objektorientierung von Anfang an. Eine Einfuehrung in die Programmierung" - which translates to- "Smalltalk 101 - OO from the beginning. An introduction to programming"

350 pages, should be available in September 2003 - Author is Johannes Brauer.

 Share Tweet This

cst

SOAP Tutorials

July 1, 2003 10:02:19.048

Roger Whitney writes:

As a result of my struggles with SOAP & WSDL in Java, C# and VW I put together a short tutorial on creating SOAP servers and clients in VW 7.1. It contains several complete examples and has been used locally. The tutorial is available here.

A page listing a number of local VW tutorials can be found here

Hopefully the tutorial might help people avoid some of the problems I had in getting started with VW SOAP.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 7/1/03

July 1, 2003 14:35:22.875

Just in time for Canada day, today's spotlight is on Alan Knight's O/R talk:

O/R Mapping in Smalltalk presentation Alan Knight: Cincom Wednesday 2:00:00 pm to 3:30:00 pm

Abstract: Few areas arouse as many different opinions as storing objects in relational database. There are some fundamental issues in doing this efficiently. Also, we often don't have the luxury of designing our own schema, but have to deal with one that does not correspond well to our object model. This presentation outlines some of these problems and the way they are addressed in the open-source GLORP framework (http://www.glorp.org), as well as how we plan to move forward on database mapping software in future releases of VisualWorks.

Bio: Alan Knight is a senior developer with Cincom Systems, where he is involved with web application development and database mapping. Before joining Cincom he was with The Object People, where he served in a variety of roles, most recently chief architect for the TOPLink family of Object-Relational Mapping products, both Smalltalk and Java. He is a former member of the Sun JSR committees for JDO and EJB 2.0, co-author of the book Mastering ENVY/Developer, a former columnist for The Smalltalk Report, and a frequent speaker at a variety of conferences. He is also program chair of Smalltalk Solutions 2003.

 Share Tweet This

general

Heh - What do the heavens think?

July 1, 2003 19:56:36.784

Via Bob Martin - what does God think of us. Heh.

 Share Tweet This

BottomFeeder

Bf 3.0 about to go

July 1, 2003 22:34:35.070

I've been doing a lot of work on the HTTP access layer of BottomFeeder - it turned out that the exception handling code had some issues, and that was causing reading problems for a variety of feeds. I went through the issues carefully over the last couple of days, and it all seems cool now. The doc is updated, the application now handles all the major RSS modules - so I think it's ready to go live. I'll be uploading files and updating the html site files for awhile - I'll make an announcement later when all that's done - including updating SourceForge and Freshmeat.

 Share Tweet This

BottomFeeder

BottomFeeder 3.0 is out

July 2, 2003 0:18:04.589

I've released BottomFeeder 3.0. The site is updated, the upgrade files are all up to date, and the new documentation is online. Enjoy! For some details on the new features, visit this wiki page

 Share Tweet This

general

visual id - just saying no to the blind

July 2, 2003 9:28:06.301

I've been annoyed whenever I've received an email that asks me to verify that I'm not a bot by visiting a site and clicking a fuzzy image. It turns out that some people may be hosed by these schemes:

Many companies have recently begun requiring users to pass a verification test in order to access their services--typically by typing into a Web form a few characters that appear on the form in a guise that prevents a computer or software robot from recognizing and copying them. The technique, now used by Web giants Yahoo, Microsoft, VeriSign and others, seeks to block software bots from signing up for Web-based e-mail accounts that can be used to launch spam and from scraping e-mail addresses from online databases.

The scheme is winning high marks in the battle against unwanted junk e-mail. But it is also increasingly hindering the progress of Web surfers with visual disabilities--raising the ire of advocates for the blind, spurring plans for alternatives from a key Web standards group, and eliciting warnings from legal experts who say that the practice could expose companies to lawsuits brought under the Americans with Disabilities Act.

So it's not only irritating - it may well be a total block to the blind and visually impaired.

 Share Tweet This

marketing

One more reason people distrust marketing

July 2, 2003 9:43:26.969

Via Scott Knowles comes this survey showing that people hate pop ups - but advertisers benefit from pop ups more than from other online ad styles. Do marketing folks have to wonder why it is thatdistrust keeps growing? Mind you, i'm in marketing now - so this is a personal issue now....

 Share Tweet This

cst

VWUnit published

July 2, 2003 10:31:15.956

 Share Tweet This

events

Ottawa STUG - a new Smalltalk

July 2, 2003 10:33:41.135

The Ottawa STUG has an interesting talk scheduled for tomorrow evening:

A new MacOS X Smalltalk Dorin Sandu, Mark Suska Ambrai.com Date: Thursday, July 3, 2003 Time: 6:30 PM Location: Carleton University (see details below)

We will introduce a brand new Smalltalk system that runs natively under MacOS X. After a tour of the development environment, we will cover the design and implementation of the user interface framework including the native interface to the OS. Time permitting, we will review VM design issues and discuss future development plans.

The meeting will be held in Room 5115, Herzberg Laboratories - building 13 on the map. Pay-parking is available in Lot 1, 2, and parking meters can be found along University Drive. Free parking is available across Bronson Avenue opposite Lot 5.

Please RSVP to david@simberon.com if you plan to attend.

 Share Tweet This

blog

We were offline for a bit...

July 2, 2003 15:38:04.471

Cincinnati (where Cincom and this server are located) had some t-storms rumble through, and there was a power outage. There was a bit of confusion as to how much time was left on the battery backup, so the server was taken down as a precaution. We were out for less than five minutes - but that killed a 200 day uptime - which went back to the installation of the box this is on. Oh well...

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 7/2/03

July 2, 2003 16:59:10.353

Today's plug is for those of us who love to hate Java - Smalltalk on Eclipse:

Black Knight: Eclipse as a Smalltalk Development Environment presentation John O'Keefe and Eric Clayberg: IBM, Instantiations Monday 2:00:00 pm to 3:30:00 pm

Abstract: Smalltalk is arguably the world's most productive programming language. Eclipse is quickly approaching being the world's best development framework -- "an open extensible IDE for anything and nothing in particular". Black Knight represents the marriage of these two premier technologies. It provides a set of Smalltalk Development Tools that bring the best features of existing Smalltalk IDE's into the Eclipse world, an extensible Smalltalk class library based on the VisualAge Smalltalk Enterprise code, and an executable runtime for applications developed in Smalltalk. Black Knight is an Eclipse Technology Subproject.

Bio: John O'Keefe has been doing software development since it was done with wires and patch-panels. He has been on the VisualAge Smalltalk team since 1992 and has been the Team Lead for the last 7 years. Most recently he has formed the Black Knight team to produce a new cross-dialect Smalltalk IDE.

The project name shows they have a sense of humor :)

 Share Tweet This

development

why eating your own dogfood matters

July 2, 2003 23:15:09.330

Charles Miller points out why you should use your own tools:

I'm not making a particularly controversial (or new) statement when I say that when developing some project, having the development team "eat their own dogfood" is a very useful technique. If you are writing an email application, have the developers adopt it for their email. If you are writing an IDE, have the developers use the IDE to write its own next version. Nothing focuses a developer more than the desire to fix something that's annoying them personally.

True, very true. But it's also the case that you need other people eating your dogfood, or else you end up with tools thata suit you and no one else:

There's a flip-side, of course. One example of this is JBoss, and its mass of thinly documented XML configuration files. Of course the developers know exactly how they work. They know where to find everything so they don't find the complexity annoying4. Find that a problem? It's Open Source and you can fix it yourself. However, by the time you know enough about a product to fix a problem like this yourself, you know enough not to be experiencing the problem any more. Hence it falls down the back of your priority list. Catch-22.

I've come across this in BottomFeeder - there's nothing like having other people point out interesting aspects of your software to keep you on your toes. It's all too easy to end up with stuff you (and only you) can use. Go read the whole thing

 Share Tweet This

humor

Alice and Bob, live

July 2, 2003 23:20:10.049

Via Michael-Lucas Smith we get the wild tale of Alice and Bob. Make sure to read all the way down.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 7/3/03

July 3, 2003 0:59:19.165

Today's spotlight is on Eliot Miranda's Adaptive Optimization talk:

AOStA An Adaptive Optimizing Smalltalk Architecture presentation Eliot Miranda: Cincom Tuesday 2:00:00 pm to 3:30:00 pm

Abstract: AOStA is a portable architecture for adaptive optimization in the context of existing Smalltalk virtual machines. The adaptive optimizer is a bytecode-to-bytecode optimizing and inlining compiler. It is written in Smalltalk, runs in the image, and in a meaningful way is portable across dialects. It runs above a JIT virtual machine with minimal extensions to allow introspection on in-line cache information, to provide simplified "go-faster" versions of certain primitives, and to callback into Smalltalk from "hot spots".

Bio: Eliot Miranda is technical lead for VisualWorks, the direct commercial descendent of Xerox Smalltalk-80, at Cincom Systems, Inc. Eliot has been working on Smalltalk VMs since 1983. Eliot got his degree in Computer Science at the University of York before becoming a research assistant and lecturer at the University of London. During this period he designed and implemented the BrouHaHa bytecode and threaded code VMs which achieved a good compromise of performance and portability through innovative C compiler abuse. After a brief digression collaborating on the Harlequin Dylan implementation, designing the stream and pickling systems he joined ParcPlace Systems in 1995. He designed VisualWorks' threaded interconnect, the programmer-productivity features of the parcel component system and significant performance improvements to the VM, all within the context of a merger, three name changes and a purchase by Cincom in 1999, and can say with some relief that the system is still commercially viable. Eliot has been a member of the ACM since 1988.

 Share Tweet This

general

Headlines I didn't expect to see

July 3, 2003 2:46:42.880

New cellphones used in 'digital shoplifting'. I honestly had no idea what the heck this story was about when I followed the teaser:

Tokyo - Japanese publishers said on Monday they will launch a campaign this week to stop digital shoplifters - people who visit bookstores to photograph magazine pages with their cellphones rather than make a purchase.

Digital shoplifting is becoming a big problem as camera-equipped mobile handsets are spreading fast and their quality is improving greatly, said Kenji Takahashi, an official at the Japan Magazine Publishers Association.

Starting on Tuesday, bookstores across the nation will put up posters urging magazine readers to "refrain from recording information with camera-mounted cellphones and other devices".

That's just fascinating. And I just about died laughing when I saw this line in the story:

The latest advertisement by the association, published in newspapers on Sunday, urged users not to write emails while walking.

lol

 Share Tweet This

news

"Reach out and Touch Someone" - it's a new world

July 3, 2003 10:21:37.170

Soon you will be able to reach through that net connection:

Researchers at the University at Buffalo, New York, announced last week they have developed a system that lets one person experience the sense of touch felt by another. They said they could transmit the sensation across the Internet.

Here's a solid prediction - the porn industry will be the first to figure out how to make money from this. Which means that you reall will have to wonder where that keyboard has been....

 Share Tweet This

development

yes, abstractions leak - some more than others

July 3, 2003 10:46:01.424

One of the Java Bloggers (Daniel Steinberg) talks about leaky abstractions. Joel on Software wrote on this last year (and why doesn't this guy link to it, since he mentions it?) - then he lets loose with this:

To make code more performant, you generally have to make it less readable. Readability often involves introducing abstractions. You don't talk directly to your data base, you use JDBC. You don't follow pointers to find the next element in a collection, you ask the corresponding Iterator to return next(). The problem with this, according to Joel Spolsky, is that all abstractions leak. Today in Java Today Craig Castelaz discusses this balance in "Living with Leaks". Craig looks at Spolsky's Law of Leaky Abstractions and Keppler's continuum of abstractions that predates Spolsky's work by a decade.

Hmm. Maybe It's that I use better tools, but I find just the opposite. cleaning code up and making the intentions clearer typically lead me to faster code. I consider this whole idea of "nasty code is faster" to be a hoary old chestnut that needs retiring, fast. Referencing the Cringely article (and why doesn't he link to it?) shows a high level of cluelessness. If he thinks refactoring is useless, he shouldn't be writing code, period.

 Share Tweet This

development

Apparently, life is complex in C land

July 3, 2003 15:09:59.084

I've noticed two trends that seem to be accelerating in the Java (and C# - generally speaking, the C language family) world:

  • An increase in the number of configuration files - typically XML - that things have
  • An increase in the amount of code generation - both the amount being done, and the amount being advocated.

Apparently, code is so incredibly hard to produce in the C world, that it's simpler to create a huge morass of configuration files - and generate a ton of code. Somehow, I have a hard time thinking of this as progress. Here's a comment on this trend by Charles Miller:

One example of this is JBoss, and its mass of thinly documented XML configuration files. Of course the developers know exactly how they work. They know where to find everything so they don't find the complexity annoying4. Find that a problem? It's Open Source and you can fix it yourself. However, by the time you know enough about a product to fix a problem like this yourself, you know enough not to be experiencing the problem any more. Hence it falls down the back of your priority list. Catch-22.

 Share Tweet This

general

Happy Fourth of July!

July 3, 2003 19:32:52.430

In celebration of Independence Day, I've replaced the Cincom logo with the American flag for the day. My plans involve grilling.

 Share Tweet This

development

Simplicity and RPC's

July 3, 2003 22:31:55.525

Gordon Weakliem comments on RPC's and simplicity:

Patrick Logan linked to an interesting article that's ostensibly on XML-RPC, but contains the following quote: "Python is one of the more popular languages for XML-RPC apps, because it has a very flexible way of creating remote procedure calls that look much like local ones." To me, this is interesting in that it highlights how people like to write code. First of all, there's the question of whether I even want to write RPCs. Then, there's the issue of programming language design. I feel like XML-RPC and SOAP were designed with curly-brace programmers in mind, where there's all this effort to generate proxies that look like LPCs, but totally ignore support for message style communications.

That's dynamic typing in action. I was doing CORBA with VisualWorks years ago - and while all the C/C++/Java guys complained about how complex it all was, I always found it to be pretty easy. Now, there's complexity to RPC development - checking for failure is never an entirely simple operation. However, there's all this extra baggage over in curly brace land. This goes back to the code generation thing - part of why the curly brace crowd is enamored of code generation is that they have to be - no person could stay sane and have to write all that proxy code....

 Share Tweet This

general

Off to Celebrate

July 4, 2003 9:17:37.532

I'm off to join a local 4th of July parade - it's a beautiful day for it too. then it's off to the grill.

 Share Tweet This

StS

Smalltalk Solutions Plug of the Day, 7/4/03

July 4, 2003 10:14:05.255

Today's spotlight is on Dave Astel's TDD talk:

Test-Driven Development tutorial (extra cost applies) Dave Astels: Adaption Software, Inc. Wednesday 2:00:00 pm to 5:30:00 pm

Abstract: This will be a very pragmatic tutorial, with a mix of lecture, demonstration, and hands-on exercises. Background, tools, and techniques of TDD would be covered, as well conceptual topics such as refactoring tests, building tests around fixtures, what makes for a good test, approaches to writing tests to maximize the benefit, etc. Hands-on means programming, so make sure to bring a laptop and be prepared to pair-up.

Bio: I've been programming is some fashion/capacity for over 20 years, over 12 of that using OO. I learned OO from Smalltalk and have at least 6 years of Smalltalk experience, in areas ranging from a mass-market, shrink-wrapped CDROM series of products to natural language processing and acquisition reasearch.

I am a founding partner of Adaption Software, based in Wolfville, Nova Scotia (home of Acadia University and Ivan Tomek). I have coauthored one book: "A Practical Guide to eXtreme Programming", and have just finished writing another: "Test-driven Development: A Practical Guide". Both titles are published by Prentice Hall.

I've recently taken over the Smalltalk port of Ward Cunningham's Fit framework (from Ward, John Brant and Don Roberts).

Sounds like a good talk to attend - hands on!

 Share Tweet This

general

It's been a pretty good holiday

July 4, 2003 19:44:38.072

Sunshine, but not unbearable, a nice parade - my daughter, as usual, was in it, and grilled steak for dinner. If the T-storms stay away, we'll probably head over to to Columbia fireworks display. Happy 4th everyone!

 Share Tweet This

development

C/C++ - not viable

July 4, 2003 22:16:31.230

I was pointed to this interesting article by Roger Whitney. It's a lessons learned paper dealing with Open Source development. There's a bunch of good stuff on things you ought to know about OS projects before you jump in - here's the most interesting (to me, at least) bit:

Engineering Lessons

C/C++ is no longer a viable development language. This may seem obvious to some people, and other people may recoil in shock. In college/grad school we were taught to believe that C/C++/Java, etc are the best languages in the world, so it was a very difficult transformation to accept that these languages are not viable development languages for application level work.

C++ is seen to be great for execution speed, static binding, object orientation, templates, and more. However, it is absolutely lousy for development time. Here's why:

  • It requires compilation " as your code grows larger, the wait time to see if your code works increases. This delay directly affects how fast your code is developed.
  • It's really, really, really hard for people to learn it, and this directly impacts the number of developers you will have on an open-source project.
  • It uses static binding (Isn't that supposed to be a good thing?)
  • There are no standard libraries for C++, so there's a lot of reinventing the wheel. (Yeah, there's the STL and others, but each one has a huge learning curve associated with it).
Java somewhat fixes the learning curve and the standard library problem, but still has the other two problems, and in addition requires the user to download the JRE before you can run any java program (a 25 MB separate install). One of my previous jobs had us trying to deploy a client-side Java program to much failure because of this hurdle. Server-side programming doesn't have this problem so Java may not be such a bad choice for that.

if you want to get somewhere in a reasonable time period, pick a dynamic language. If you're going to do that, look at Smalltalk.

 Share Tweet This
-->