Thoughts on Smalltalk
My Settings
Title
Priority
(Set priority to top to force the article to the top of the list.)
Date
Content
Categories
(Use existing categories when possible. Separate categories with commas.)
Event date
(Leave event fields blank if this is not an event announcement.)
Event time
Event end date
Event end time
Event location

UsernameForgot username
PasswordForgot password
We will send you an email immediately to which you must respond
within one hour to complete your registration.
Your login name will be your first name and last name separated
with a space.
Your first name
Your last name
Your street address
Your city
Your state
Your zipcode
Your phone number
Your email address
 
Choose a password
Confirm your password
 
You can change your account settings or delete your account here.
Username
Street address
City
State
Zipcode
Phone
Email address
New Password
Confirm New Password
 

How I used Zinc and Soup with Sunit to automate Seaside UI testing

This is a revision of the prior article replacing WebClient with Zinc.

The Zinc package includes a simple and easy to use HTTP client. Soup is a port of the Beautiful Soup Python HTML/XML parser designed for screen-scraping. The combination of these two made it p…

How I used WebClient and Soup with Sunit to automate Seaside UI testing

See the revised version of this article here.

The WebClient package includes a simple and easy to use HTTP client. Soup is a port of the Beautiful Soup Python HTML/XML parser designed for screen-scraping. The combination of these two made it possible to pe…

What is an inappropriate session timeout?

If a user is editing a blog page or doing anything that doesn't require interaction with the server for longer than the session timeout, then her changes will likely be lost when she tries to save them because her session has expired.

This is an inappropriate session timeout and it only has to happen …

This belongs in the category of "things I wish someone had explained more clearly about Seaside."

My recollection is that managing application state and only changing an application's state in the callback phase and not in the rendering phase was presented as sort of a "best programming practice" akin to keeping methods short and using good var…

I have often wished to create a keyed collection of objects (i.e. a Dictionary) in which the elements could be accessed by key or iterated over in the order in which the elements were added (i.e. treat the collection as either a Dictionary or an OrderedCollection.)

I have seen a few implementations of dictionary classes that retain the insert…

Ok. I spent over 20 years programming in corporations. For the last year or so I have been programming for my own enjoyment creating web apps and iPad apps. How is my programming behavior when I'm programming for myself different from when I'm programming for my employer? How does it feel?

Well, working for myself, I don't often take on a …

My problem was that I had a number of external files that were required for my Seaside web application. These were CSS, Javascript, and image files that had to be placed in a specific directory tree structure. When I moved my web app to another system, I always had to remember to reconstruct the external directory tree. Over time, the dir…

This is a reprint of an email I wrote a while ago. See in in context here: authentication for seaside.

Consolidated authentication in this article refers to the practice of using a single authentication provider, like Facebook, Twitter, Yahoo!, or Google to login to multiple sites. Convenient but dangerous.

Regarding consolidation of account log…

One session at a time, please

I was recently working on a web app in which it was necessary to ensure that only one session at a time was active per user. The app in question is highly interactive and accumulates information from the user but does not commit it to the data store more often the once every few minutes (or on session termi…

 
Use rich text editor

Multiple item entry (Return separates items)