smalltalk

The way back machine

February 16, 2004 22:55:37.647

This article goes a long ways towards explaining what's so cool about Smalltalk, without ever even mentioning it. After talking about the Dorado and the Star (and what differentiated them), this example explains it:

At best I think most people ask "What could people do with this computer". That's a very different question from "What people will people do with this computer"... there are so many nifty features that if people pushed themselves they could use, but have a high enough barrier to entry that people don't bother.

Example: I have a nice thermostat in my apartment. Its fairly well designed and has quick push buttons for "Daytime", "Night" and "Vacation". It was even straightforward to set these to my preferred temperatures for "In the apartment, awake", "Out of the apartment or asleep", and I haven't bothered with the vacation button. Now I have noticed that I don't like to get out of bed in the morning because it is sort of cold. In fact, sometimes I'll lie in bed for 30 minutes because its cold, which is a big waste of time (I'm not very rational when I'm waking up). I have noticed that my thermostat supports scheduling changes between day and night temperature. I even looked at the instructions beneath the faceplate, and it looks like it'd be fairly easy to program. But I haven't done it. The device is usable in the sense that if I wanted to, I could program it, and probably get it right on the first or second try. Its not hard to use. But its a little too inconvenient, because I'd have to special case my weekend schedule, I'd have to set several different times using the fairly slow "up", "down", "next item" interface for setting time (on most alarm clocks etc). The point is, its not hard to figure out, but its stills too much hassle. So while I could program the thermostat, I won't. There's always something that seems better to do with my time, and I can't be bothered (even though rationally I know it'd be better overall if I just program the silly thing).

In a nutshell, that explains the difference between the way Smalltalk or Lisp developers work, and the way C, C++, or Java developers work. It's hard to create tools for the environments that curly bracers work in (excepting Emacs - many people working there write elisp macros to help themselves). Sure, you can create Eclipse plugins - but how many developers actually do it? It's a fair bit of work, and takes effort that most people won't expend (like the thermostat). It's not a matter of can't; it's a matter of won't. Smalltalkers are always making little tweaks and additions to the environment - because the barriers are low. This is one of the reasons I favor image based development - it lowers the barriers for productive twiddling.

 Share Tweet This

BottomFeeder

Btf update

February 16, 2004 21:31:32.908

There's a 3.3 stream and a dev stream update available for BottomFeeder. I ran across a bug report from Peter, and found an issue in the display logic for feed items that came from Atom with only the summary object filled in. I issued a bug fix, and now his feed can be viewed just fine. Thanks for reporting the bug!

 Share Tweet This

development

Some good observations

February 16, 2004 19:59:38.670

Patrick Logan makes some excellent observations about security, closed source, and open source, ending with this:

Open source that is poorly designed is not safe. Closed source that is poorly designed and then released in the open is even less safe.

That's an excellent point, and - in a nutshell - the problem that MS faces with Windows

 Share Tweet This

smalltalk

JOOP has a cool ST article

February 16, 2004 19:27:08.912

Here's a nifty Smalltalk article in JOOP - covering concurrency and how to build new control structures using the BlockClosure class. This is all in the context of the ControlWorks framework, a real-time process control development toolset sold by Adventa. Smalltalk is used in the most amazing places :)

 Share Tweet This

events

Roller Architecture talk

February 16, 2004 12:37:41.395

It's too bad I'm not in the Triangle Research Park area - I'd love to attend this talk on the Roller architecture - especially the "lessons learned" part. I'm going to be giving a similar talk at Smalltalk Solutions and at the upcoming NYC STUG meeting. I'll be talking about BottomFeeder, but will likely have notes on my blog server as well. I'd be very interested in hearing another blog server author talk about the issues involved in building and deploying a server. Sounds interesting!

 Share Tweet This

outsourcing

Re: More outsourcing analysis

February 16, 2004 12:25:17.990

Scoble worries about outsourcing:

Anyway, Rajesh Jain's weblog points to the New York Times analysis. Do we really need to analyze this? Let's see. Average Chinese worker gets paid about $1000 a year. Yes, that's right. In Bejing the number goes up to $2500 per year. How much are you paid? I am paid a lot more than that. Is there pressure to send my job over to China? You betcha there is.

There's an interesting counterpoint to some of this in the latest ComputerWorld. To answer Scoble's assertion that there's pressure to move a job like his overseas - all I can do is chuckle. He's in a communications heavy job - he's meeting with customers, reporters, and fellow MS staff on a day to day basis as part of his (as I read it) evangelical job. It's far more likely - if MS is successful in India and China - that they'll nee local equivalents of him someday. I rather doubt that a guy in China, many, many timezones away, is hoing to be able to keep up the same communications schedule that Scoble does. Even in the universe of "grunt development" there are issues many people forget:

  • Transitory cost increases - from severance costs, declining morale, people jumping ship, travel costs.
  • Long term costs - travel to the outsourcers location. If that's China or India, it's not the same thing as a "quick" cross country trip. There's also a soft costs here - what are the spouses of your staff going to think about 2 and 3 week jaunts to the far side of the planet?
  • Contract management - if getting agreement on requirements was hard with people a building over, how hard will it be to manage with people 12 time zones and a culture away? Language will not be the only issue here - just the most obvious.

This is not to say that savings don't exist; they do. They aren't going to be as much as most people think though, and there will be communications issues that crop up. Like other trends in the industry this one is no silver bullet - not to mention the fact that we've seen this all before - textile jobs, for instance, went from New England to the south and then overseas. The main difference today is the speed of the transition - software matured and started moving faster than things like textiles did.

 Share Tweet This

development

The new DLL Hell?

February 16, 2004 11:51:22.656

Larkware News has the following rant:

Unification Policy - Alan Shi explains one of the fine points of the CLR's binding policy. I fear I've reached the same point with this stuff that I did with Godel, Escher, Bach: I understand it right after I read it, but my brain can no longer hold on to it. I think .NET has replaced DLL Hell with a binding policy so complex that it might as well be a purely random selection of which DLL to load, for all that an average developer understands what's going on. It is not at all clear to me that this is an improvement so much as just a different set of problems. Or perhaps my brain is just too puny to work at Microsoft.

First, let me state up front that I've not looked at the binding policy in .NET - I will say that the referenced explanatory page is hard to digest. This is not a problem limited to the CLR though - we are in the process of trying to address these issues in Cincom Smalltalk, and it's not a simple set of problems. We are hoping to have the beginnings of an answer out with VW 7.3 (fall 2004)

 Share Tweet This

StS

Smalltalk Solutions News

February 16, 2004 11:17:25.693

We have an update on the keynote speakers for StS 2004 - George Bosworth, one of the architects of the CLR at Microsoft. I'm sure that lots of people in the Smalltalk community would like to hear about the design decisions that have been (and are being) made in the development of the .NET CLR - come on out to Seattle to hear all about it. This year's conference is May 3 - 5 in Seattle, at the Crowne Plaza. Register today - the early registration discount will be expiring soon.

 Share Tweet This

sports

Yankees improve again

February 16, 2004 0:52:03.031

The Red Sox can't close the deal - the Yankees grabbed A-Rod. I love this commentary in the Times sports section:

But what chance do the Red Sox really have of winning on the field? Sure, the teams have to play 162 games, but the Red Sox could lead the Yankees for 161 games and still lose to them. They could have a three-run lead and be five outs from going to the World Series and - oh, right, that happened last October.

Heh. Pack it in, Sox fans :)

 Share Tweet This

development

The Lisp guys comment on Livschitz

February 15, 2004 17:35:18.069

One of the Planet Lisp guys reacts to the Livschitz article:

I feel like jumping up and down and shout: "Lisp, just use Lisp!". Of course she would't know better. She probably never saw a Lisp Machine, let alone experienced one. It makes me sad/mad just reading it. It's almost as bad as this terrible book by Marilyn vos Savant (the woman with the worlds highest MENSA certified IQ) about Andrew Wile's proof of Fermat's Last Theorem.

Yep. Just like I wanted to hop up and down and yell Smalltalk!

 Share Tweet This

development

Fire and Forget Smalltalk

February 15, 2004 13:48:52.891

Our marketing folks wanted to put together an RSS feed for Cincom's press releases, but weren't sure how to proceed. All the releases live in a database (SQL Server) with all the info necessary to create a feed - it just had to be put together. This is one of the places that most people would reach for a scripting language like Perl, or something like PHP. I reached for Smalltalk, of course, and it turns out to be pretty simple to support a small job like this in VisualWorks. Here's what I set up

  • I created a small, loadable package that reads the data from the DB and dumps it to an RSS file
  • The package depends on a small settings file to figure out what to read and where to write
  • I created a small (4 MB) Windows executable with the package pre-loaded, and ready to run at startup

On the server in Cincinnati, this thing starts, reads from the db, writes the RSS file, and quits in less than 3 seconds. I was amazed, to be honest. Better yet, it's easily updated from my office in Maryland. If I need to change the code, it can reload the package at startup from an application directory, and then run with the new changes - so if anything big needs to be done (for instance, someone decides we need an Atom feed as well) - it can be updated without my having to make any changes to the executable itself, and it'll "just work" on the next run cycle. It's going to be set up as the Windows equivalent of a CRON job - run every N hours (days, whatever). So brush aside your preconceptions - Smalltalk is easily used for this kind of "small" job!

 Share Tweet This

development

More on the Sun Article

February 15, 2004 13:40:56.039

There's been a fair bit of commentary on the Livschitz article that I commented on yesterday:

Danny's comments are pretty close to where I came in on the article. I still say that much of what she's talking about exists in Sun's R&D labs, if only she'd go take a look :)

 Share Tweet This

development

Unintentionally Amusing

February 14, 2004 12:33:03.274

Like a lot of people, Sun's Victoria Livschitz confuses strong typing and manifest typing. Here's a quote:

The preventive measures attempt to ensure that bugs are not possible in the first place. A lot of progress has been made in the last twenty years along these lines. Such programming practices as strong typing that allows compile-time assignment safety checking, garbage collectors that automatically manage memory, and exception mechanisms that trap and propagate errors in traceable and recoverable matter do make programming safer. The Java language, of course, personifies the modern general-purpose programming language with first-class systemic safety qualities. It's a huge improvement over its predecessor, C . Much can also be said about the visual development tools that simplify and automate more mundane and error-prone aspects of programming

Strong typing isn't the same thing as manifest typing. Smalltalk, for instance, has strong, dynamic typing - an object simply will respond to an inappropriate message in a completely predictable way. Take Java though - you can make the compiler completely happy with a cast, and then end up with a system that falls down at runtime. Languages like Java and C encourage casting - the rigidity of their libraries, the "final" declarations, the way the collection libraries work - you can walk yourself into trouble with MNU handlers in Smalltalk, but you are picked up and driven there by many existing libraries in Java. Maybe Ms. Livschitz should look at what Sun produces before she makes assertions like the above. Strong typing is a good thing - it's really too bad that Sun doesn't encourage it. What she needs to do is go pick up one of the many fine books on TDD - I'd recommend Beck.

There's more:

Q: How well do you think modern programming languages, particularly the Java language, have been able to help developers hide complexity?

A: Unfortunately, I believe modern computer science and software engineering have failed to make significant advances there. The syntax of all mainstream programming languages is rather esoteric. Mathematicians, who feel comfortable with purely abstract syntax, spend years of intense study mastering certain skills. But unlike mathematicians, programmers are taught to think not in terms of absolute proof, but in terms of working metaphors. To understand how a system works, a programmer doesn't build a system of mathematical equations, but comes up with real-life metaphor correctness which she or he can "feel" as a human being. Programmers are "average" folks; they have to be, since programming is a profession of millions of people, many without college degrees. Esoteric software doesn't scale to millions, not in people, and not in lines of code.

Fascinating. The current mainstream languages are Java and MS' "Son of Java", C#. Physician, heal thyself. Go download a Smalltalk, Ruby, or Python system. Heck, go back to your very own research labs and look at Self and Strongtalk - see what your company could have been encouraging instead of what it is encouraging. She says she wants to improve things; a trip to Sun's R&D labs, along with some internal evangelism would help a lot.... But wait!

I envision a programming language that is a notch richer then OO. It would be based on a small number of primitive concepts, intuitively obvious to any mature human being, and tied to well-understood metaphors, such as objects, conditions, and processes. I hope to preserve many features of the object-oriented systems that made them so safe and convenient, such as abstract typing, polymorphism, encapsulation and so on. The work so far has been promising.

She really, really needs to visit the Sun research labs. They already have something a lot like that, called Self. It's been around for years, too. Unintentionally amusing, this article... Further down, the "holy grail" of component based development is raised again. I'm not even going to bother quiting that; more tears and virtual ink have been spilled on that subject than anyone can count. I have little faith in positive progress in that direction; reuse is non-trivial, and I just don't see it getting a lot better anytime soon. Take a trip to the Sun R&D labs, and take a look at what Sun has left withering on the vine.

 Share Tweet This

BottomFeeder

NYC STUG - BottomFeeder talk

February 14, 2004 11:11:12.486

I was going to give a talk on Bf in NYC last month, but snow intervened. That talk has been rescheduled to february 18th - this coming Wednesday. I'll be talking about BottomFeeder development - sort of a mini-case study of doing application development and delivery in VisualWorks.

 Share Tweet This

smalltalk

Traits Support in Ruby, Squeak

February 14, 2004 11:05:46.996

Ruby Developers now have traits support - something Squeak has had for awhile. Traits are described here. There's an interesting comment on ease of development with traits in the article:

Despite that, I'm still not sold on the Traits concept. I'm not sure that sprinkling methods over a distributed set of Mixins would be fun to maintain, on a large scale. The Squeak implementation took advantage of the browser: you only ever see one method at a time in Squeak (smalltalk) code, anyway, and if the browser integrates with Traits, you could view and edit the methods as "part" of the class anyway. With Ruby, without a great IDE, you'd need to flick across files and use a bit of imagination to get a good "view" of your composed class - to even see what methods it's composed of. I believe that traits lose a good deal of their appeal without the Smalltalk browser, or a great Trait-aware IDE.

Interesting that he likes traits in Squeak better, due to the IDE support - one of my issues with traits - or method level namespaces - has been the whole dveloper presentation/understandability issue. It looks like I should grab Squeak and take a look, so that my preconceptions can be addressed with some actual data points :)

 Share Tweet This

tv

Angel is over

February 13, 2004 23:45:14.435

The Buffyverse is closing out - this is the last season of Angel. I've been pretty happy with the way the series has been progressing this year too. This may not be entirely bad news; Buffy lingered at least one season too long, and Boreanaz can't look young forever. Better to go out while it's still going well, but still - one more good show off the air. Can we please have Firefly back now?

 Share Tweet This

blog

The many joys of CSS

February 13, 2004 23:35:36.280

I noticed earlier this evening that my blog page - not any of the other CST blogs - was messed up - the link bar, post footers, and title were all pushed to the right. This was only on IE; I checked with Mozilla, and it looked fine. I was sure that I had dropped a closing tag (or something) in a recent post, so I started looking through the recent ones... and they all looked ok. Finally, I scrolled all the way down the page - and lo and behold, one of the referral links was long - off the right side of IE. I fixed that by having long URLS shortend, and now it's back to looking good again. Yep, HTML and CSS - the replacement for complex client interfaces....

 Share Tweet This

rss

Re: More traveling and a syndication scalability question

February 13, 2004 23:03:13.658

Scoble references someone worried about scaling syndication requests:

RSS and Atom feeds are pulled down by news aggregators like the NewsGator I use every hour. Multiply that by 20 million people and that's a bandwidth bill that's many times higher than it is via a web browser (because browsers only visit occassionally, and not every day).

RSS and Atom feeds pull down all the content every time, even content that hasn't changed since last time. Is there a way for him to only send down a feed that's changed, or even better, a partial feed with only new items? (My feed sends down 75 items each time whether new or not).

This is one of the things that already has a stock set of answers:

  • Have your server handle conditional-get
  • Have your server use mod-gzip

That's pretty much it - it has worked for years to scale the web, and I expect it will work for years to scale syndication as well...

 Share Tweet This

development

Martin Fowler discusses Domain Specific Languages

February 13, 2004 15:41:13.573

Martin Fowler discusses the idea of domain specific languages, and relates it to code generation:

I've always used the analogy of creating a DSL to help think about building up a design - developing classes and methods with an eye to making them be a DSL. As much as possible I do this within the language I'm using, but if I can't I'm very ready to switch to code generation. At ThoughtWorks we've used code generation and similar techniques widely on our larger systems. The point at which I pull the separate language DSL lever is clearly different between languages. I never really felt the need in Smalltalk to use a separate language, while it's quite common in C /Java/C#.

I think this is another one of those places were C (etc) developers and Smalltalk (or Lisp, or Ruby) developers talk right past each other. Interesting article; go read the whole thing

 Share Tweet This

cst

How to munge a Store DB

February 13, 2004 13:26:19.055

This is from one of our internal bug reports:

If you lose your connection (which happens to me a lot), Store will offer to reconnect. In many circumstances this is useful, but if you're in the middle of publishing, it's a very bad idea. In the best case, the publish won't succeed, as you'll almost certainly encounter errors due to data Store thinks it wrote, but which was in a different transaction. Even worse, it might succeed, leaving partial data in the database.

The bottom line is this - if you are publishing to Store and the db connection drops, do not accept the offer the reconnect. Yes, this is an ugly, ugly bug - and it will get addressed. In the meantime, be aware that it's a nasty one...

 Share Tweet This

smalltalk

Smaller Smalltalk redux

February 13, 2004 12:58:33.683

Patrick Logan points to an interesting usage of Squeak by Mitsubishi

 Share Tweet This

xml

Encoding Issues

February 13, 2004 11:23:43.220

Dare Obasanjo talks about the specs and reality, and the variances thereof, in the encoding of xml docs on the web:

All files are sent with a content type of text/xml and no encoding specified in the charset parameter of the Content-Type HTTP header. According to RFC 3023 which Mark Pilgrim quoted in his article that clients should treat them as us-ascii. With the above examples this behavior would be wrong in all four cases.

He then goes on the list the way a client application actually needs to deal with this conundrum - check for:

  1. the encoding given in the charset parameter of the Content-Type HTTP header, or
  2. the encoding given in the encoding attribute of the XML declaration within the document, or
  3. utf-8.

Which is what I stumbled on for BottomFeeder awhile back. I wish Dare had posted this back when I was stumbling in the dark :)

 Share Tweet This

development

Visual Cues

February 13, 2004 11:07:09.884

BC4J comments on the efficacy of visual cues - pointing out that the 3.5" disk icon is meaningless to his child :) Perhaps it is time to update some of the older icon standards :)

 Share Tweet This

law

MS "innovation"

February 12, 2004 23:51:11.400

Maybe Scoble can clue the MS lawyers in on a secret - see this patent over here - the one where MS claims as an invention:

According to the application filed by Microsoft, the patent involves "systems, methods and data structures for encompassing scripts written in one or more scripting languages in a single file."

"The scripts of a computer system are organized into a single file using Extensible Language Markup (XML)," Microsoft's patent document continues.

The document explained that each script is delimited by a file element and the script's instructions are delimited by a code element within each file element. When a script is executed, the file is analyzed to create a list of script names or functional descriptions of the scripts.

One or more scripts are selected and the code for those scripts is extracted from the file and executed by the appropriate scripting process, the document said. The scripting process that executes a particular script is identified from the scripting extension attribute that is included in the XML format of the file.

Maybe these yahoos should look at the XML based fileouts that VisualWorks has been using since 1999. Just look at the bozo example here - scroll all the way down. Now go file some VW code out.....

 Share Tweet This

smalltalk

A Really Small Smalltalk

February 12, 2004 22:57:28.359

Resilient releases a preview of their embedded development kit

 Share Tweet This

rss

Re: RSS, Atom, Feh.

February 12, 2004 16:04:40.426

Mark Bernstein comments on the ongoing Atom/RSS silliness, and points to something new:

Have you noticed how little new syndication software is showing up lately?

It's been my contention all along that Atom is nothing but a tax on aggregator developers; it serves no useful purpose as a syndication format, but does manage to create tons of extra work (with more to come - the spec is only 0.3, and people are implementing). Wait awhile, and we'll have as many versions of Atom - and of the Atom API - as we have of RSS. As crappy as the Blogger and MetaWebLog API are (passwords in the clear) - at least there are only two of them....

 Share Tweet This

marketing

We'll be producing more RSS

February 12, 2004 12:36:47.589

The marketing group here has decided that an RSS feed for the press releases would be a good thing. So, I've created a small snippet of Smalltalk code to do that this morning - all I need to do now is get it deployed by the IT guys.

 Share Tweet This

general

Special Software

February 12, 2004 9:58:46.007

So I'm just getting started with my morning catch up on news and email when boom - Eudora up and dies on me. I restart, and it offers to rebuild my inbox index. This is something you have to do, but - if you haven't compacted your mailboxes recently - sucks. I had 2480 messages in inbox - pretty much everything since the last time I compacted. Here's the best part - Eudora, which has some decent filtering capability, won't re-run filtering on inbox. Gah! There went an hour, resorting messages. Grrrrr

 Share Tweet This

spam

Had to happen sooner or later

February 11, 2004 20:04:33.116

The server got hit with its first dose of comment spam just now - likely though the comment API, but I'll have to take a look at the log files to be sure....

Update: It turns out I was wrong - both were entered via the web form, and both from the same IP address. Which likely means some moron actually went to the trouble to spam two older posts by hand.

 Share Tweet This

StS

ST Solutions 2004 Info

February 11, 2004 18:12:59.963

Smalltalk Solutions 2004 Is Fast Approaching,
So Mark Your Calendars Now!
When: May 3-5, 2004
Where: Crowne Plaza Seattle
Seattle, Washington

Register Now for Smalltalk Solutions 2004!
To register for Smalltalk Solutions 2004, please visit www.smalltalksolutions.com.

Smalltalk Solutions, sponsored by the Smalltalk Industry Council (STIC), is the premier trade show and conference for Smalltalk users, developers and enthusiasts. This three-day conference and exhibit program will bring together hundreds of buyers and sellers of Smalltalk products and services, while updating the industry on the latest in Smalltalk technologies.

Conference program highlights include:
Key Smalltalk technology exhibitors, including Cincom, GemStone, IBM, Knowledge Systems Corporation, Mission Software, and Silvermark.

Keynote speeches by Avi Bryant of Beta4.com on continuation-based web frameworks, and Lars Bak of OOVM on Smalltalk for extremely small embedded systems. Plus a third keynote that will be announced shortly!

Sponsorship Information
For information regarding sponsorship or to exhibit at the show, please contact Joy Murray or call 1-800-2CINCOM.

Technical Program
For information on participating in the technical program, please contact Alan Knight.

Smalltalk Industry Council
For information on the Smalltalk Industry Council, please contact Allen Davis, Chairman, STIC

Hotel Information
For hotel reservations at the Crowne Plaza Seattle, visit www.smalltalksolutions.com/hotel/hotel or call 206-464-1980.

 Share Tweet This

management

Outsourcing - canary in the mine?

February 11, 2004 12:57:21.268

Paul Strassman has some interesting conclusions about outsourcing:

  • My 1995 assertion that "outsourcing is a game for losers" still stood up in 2002, even though in this case I don't propose to connect the outsourcing of IT with negative profitability. The current findings offer a managerial perspective on the economics of outsourcing.
  • My calculations indicate that only 26% of the low profitability results are attributable to outsourcing. Companies already failing for other reasons will tend to outsource increasing amounts of work, thus diminishing their value-added.
  • My findings don't support the frequent predictions that U.S. firms will tend to outsource in order to increase profits and thus eventually leave us with a "hollow" economy

It's not that outsourcing causes problems - it's that companies in trouble run to outsource - and such companies, already having process issues, manage the outsourcing as well as they manage everything else (which is to say, not well). Interesting article

 Share Tweet This

development

Metacrap redux

February 11, 2004 12:41:01.555

Dare expands on the issues with metadata, and cites a few interesting sources on the problem. Good stuff

 Share Tweet This

rss

Winer Loses it...

February 11, 2004 12:33:20.276

As much as I think the Atom effort is a waste, it's going forward, and I support Atom - both the older 0.2, and the newer 0.3 - in BottomFeeder. Dave's torqued because Google (Blogger) is defaulting to Atom feeds now. I think it's a mistake; Atom isn't done, and supporting it this early will simply fragment Atom as effectively as RSS has been fragmented (and we all know how much fun that's been!). Still, the key thing is end users of aggregators - and they don't care. What they want is to be able to subscribe to content, and most aggregators either already support RSS and Atom, or will soon. Google can ship Atom, or RSS, or both - and people won't care so long as they can read the results.

 Share Tweet This

tv

Galactica goes live

February 11, 2004 12:27:53.472

Sci Fi Fans have a new series to watch - the new Battlestar Galactica is going forward. The plot looked loads better than the original - I just hope that they get a reasonable effects budget.

 Share Tweet This

BottomFeeder

BottomFeeder possible UI issue

February 11, 2004 12:11:42.668

If you have been using the dev stream updates to BottomFeeder, then you may have seen a toolbar related problem. I've had a few people report problems with mode switching - i.e., once they are in "all new" or "alerts" view, they can't switch back to "all". I have a few thoughts on what might be causing this, but nothing definite. In the meantime, here's a work-around. If toolbar options become unresponsive, then open settings, and change the look policy. Then change it back to your preferred policy - that should clear the issue.

 Share Tweet This

security

Windows Update blues

February 11, 2004 9:18:48.367

Arcterex explains why so many people have Windows Update in the off position:

A font update that may cause me to restart my computer. What the hell? Do they attach that warning to every update these days, or does repacing a font seriously mean that I have to reboot.

Under linux you reboot when you change hardware, update the kernel, or something is completely f***** up and it's causing a hang (normally driver issues, doesn't happen that often, but it does happen).

Under windows you reboot when you change a font. <shaking head> There's that old windows joke about "you moved the mouse, please reboot to continue"... suddenly it's not so funny anymore.

Heck, quitting and updating AIM yesterday resulted in a plea by the installer to restart Windows. I can understand wantiing to restart the app; no problem there. But Windows? Sheesh...

 Share Tweet This

smalltalk

New Source server for Squeak

February 11, 2004 9:00:58.748

The Squeak guys have another interesting looking service deployed - a Monticello based, web accessible source code control system. I can't link to the Seaside blog item directly, due to the fact that SmallBlog doesn't actually provide item links....

 Share Tweet This

events

Ottawa STUG - Smalltalk on Eclipse

February 10, 2004 16:32:16.996

The Ottawa Carleton Smalltalk Users Group will be holding a general meeting on Feb 25, 2004.

Smalltalk in Eclipse: How to build your favorite language IDE

John Duimovich
Eclipse Tools
Project Lead
Feb 25, 2004, 7:00 pm

The Eclipse IDE is definitely not just for Java. This talk will describe the creation of a Smalltalk IDE on the eclipse platform and some of the architectural decisions that went into building it. We will explore the levels of integration that a language IDE implementor should consider when bringing their language to the eclipse platform. If you have a favorite language and you have been thinking about writing an eclipse plug-in to support it, this talk is for you.

Location Details:

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.

Visit the Ottawa Carleton Smalltalk Users Group web site at http://smalltalk.ottawa.on.ca for more details on the group.

 Share Tweet This

development

Re: WinFS and Metacrap

February 10, 2004 15:10:27.622

Dare Obasanjo questions the metadata ideas pushed by Scoble a lot better than I did

 Share Tweet This

browsers

Scoble wanted feedback

February 10, 2004 15:05:28.053

Every so often, Scoble posts about IE, or asks for comments on it. Well, I've got one. With the help of a colleague, I've got a nice looking site now thanks to CSS. We have had a few issues though, and have had to add some ugly hacks specific to IE - because the IE team refuses to do a compliant CSS implementation. Come on guys - are you telling me that the mighty MS can't keep up with the guys doing Opera, or Mozilla? I'd really, really like it if MS acted responsibly about this. Most people use IE, because way back when - when IE 4 and NS 4 were battling - IE was better. Enough resting on your laurels - get the heck back to work!

 Share Tweet This

blog

Now comes the hard part

February 10, 2004 14:58:55.232

With the latest stylistic change to this blog, the server needs a fair amount of weeding - there's tons of 'relic' code lying around that needs to be cleaned out. That will likely occupy me for awhile, as any such "spring cleaning" will need good testing before deployment

 Share Tweet This

development

Some performance thoughts

February 10, 2004 14:34:21.249

Panopticon Central has a good article on performance tuning - I especially liked this, and it rings very true:

Rule #1: Don't assume you know anything.

In the immortal words of Pogo, We have met the enemy, and he is us. Your biggest enemy in dealing with performance is by far all the little assumptions about your application you carry around inside your head. Because you designed the code, because you've worked on the operating system for years, because you did well in your college CS classes, you're tempted to believe that you understand how your application works. Well, you don't. You understand how it's supposed to work. Unfortunately, performance work deals with how things actually work, which in many cases is completely different. Bugs, design shortcuts and unforeseen cases can all cause computer systems to behave (and execute code) in unexpected, surprising ways. If you want to get anywhere with performance, you must continuously test and re-test all assumptions you have: about the system, about your components, about your code. If you're content to assume you know what's going on and never bother to prove yyou know what's going on, start getting used to saying the following phrase: I don't know what's wrong It's supposed to be fast!

That's something many of us forget - we know far less about even our own code than we think we do (BottomFeeder and the blog server have demonstrated that to me time and time again!

Another thing that came to me while reading this is this - release early and often. I don't care how good your benchmarks are, actual usage by real users will teach you a lot - far more than benchmarks ever will

 Share Tweet This

blog

New site Look

February 10, 2004 11:14:05.933

I've updated the site with a new look and feel - Vassili provided the CSS templates and the new layout (and images). It looks great in Mozilla - there are a few layout issues with the link bar in IE that may have to be looked into. I'll be updating the userblogs index page later today.

 Share Tweet This

news

Spin and all that

February 10, 2004 8:53:42.349

Here's Scoble on a Trippi (former Dean campaign manager) speech, wherein Trippi blames the media for much of what happened to the campaign. That's amusing. Why? Because that sort of spin is what happens in the media. Journalists are looking to simplify and "boil down" a story. Recall what they did to Dan Quayle, for instance. The same thing happens with the tech industry stories - look at the coverage of Oracle's attempt to buy PeopleSoft, and you'll see a heavy focus on Ellison - because that's a way to simplify the story. This is just the way it is, and it's hardly unique to politics or the Dean campaign. You can see it even in word choice - companies try really hard to make a name common, but then cry foul when said term becomes commoditized (by journalists) into overall usage (think xerox).

The interesting part is how and where blogs play a role in this. In politics, blogs didn't help Dean shape the general view of him - because most of the electorate isn't reading blogs. On the other hand, I think blogs such as Scoble's are doing a fair amount of good for MS - because a meaningful percentage of the developer community is reading blogs - in particular, many of the trade press journalists are reading blogs. The difference with the political world is pretty clear here - Dan Gillmor reads blogs, and writes one himself - the pundits you see on the Sunday shows almost certainly do not. That might change, over time - Virginia Postrel and Andrew Sullivan are examples of pundit blogging - but it's not (yet) enough to influence the voices on tv.

 Share Tweet This

development

Automated meta-crap

February 10, 2004 8:36:20.526

Scoble explains metadata in the context of WinFS:

Anyway, if the file system itself had a concept of metadata, there are whole rafts of ways that metadata could get added to files without having users enter data into forms. Another one I talked about in the interview. What about if you had a QuarkXpress document. And you imported a picture. What if the QuarkXPress document had the words "Patrick's 10th Birthday." Wouldn't the file system be able to assume that "Patrick's 10th Birthday" could be associated with the file named DSCN6133.jpg that I had just imported? Isn't that metadata? Couldn't that be used to improve search? Shouldn't the photo come up now on searches for "Patrick's Birthday Photo?"

The problem with this scenario is the cases where it works badly. You could easily end up with files that have bogus metadata - and then have searches of your file system bring up some of the same crap that comes up on many Google searches. I have very, very little faith in auto-generated metadata - it's too easy to have tons of auto-crap

 Share Tweet This

BottomFeeder

One more push on text settings in Bf

February 9, 2004 15:09:08.489

With some help from Sames, I now have the entire BottomFeeder obeying the user's text size settings - including the menus, which previously ignored them. This makes the whole thing much more consistent.

Update - The html pane scales up and down with changes in text size as well. To get that work, you'll need to grab the updated Twoflower (html) as well as the updated BottomFeeder. Many thanks to Holger Kleinsorgen for making this possible!

 Share Tweet This

blog

Coming up - new site Look

February 9, 2004 13:43:35.895

Vassili created a nice CSS for the blog, and I've gone ahead and added code support for the kinds of queries necessary to easily (and generically) support this. I'll likely try swapping my page out for the CSS page sometime this evening, and see how reactions go. If it all works out, I'll start making it possible for the userblogs to select from a small range of styles, or create their own and submit it.

 Share Tweet This

marketing

Fervor isn't votes

February 9, 2004 8:58:13.996

Ted Leung discusses fervor in politics. It's funny, but I keep seeing marketing in many of these political posts. Like this:

You can do it -- if you can change someone's mind. But (ideally) you can't force them to change their mind, you actually have to persuade them. Persuasion is tough. There are different components to persuasion. There's the idea you are trying to push. That better look good in the other person's mind. Then there's the persuader. You can have a good idea, but if people don't trust you, you may not be able to persuade them. There's also relevance. You may have a perfectly good idea, and be trustworthy, but your idea may be irrelevant to the hearer. They just won't care. Many people believe that they know how to persuade, when in reality they only know how to give orders.

That's something that all Smalltalkers - and Lispers - should read and ponder. A lot. One of the problems we have in making our case for Smalltalk (and I've seen the same problem, possibly worse from Lisp people) is arrogance. We are so sure that we have a better answer than (fill in today's language of choice) that we tick people off. Instead of presenting what we have, and letting them start asking "how did you do that?", we insist on running down the other technology. The problem with that strategy is that it puts many developers right on the defensive. They chose to use that technology; by denigrating it so loudly, we implicitly impugn their intelligence. That's no way to convince; in fact, it's a sure way to get people walking out of the room.

That's one of the reasons I have started using BottomFeeder and this blog as examples - it's easier to point to fast turn around and ease of development by example than it is to do so by tearing down (Java, .NET, etc). Here's another interesting thing Ted quotes:

Imagine if a mailing list had to issue a formal opinion on the issues discussed, and lurkers got a vote. The high-flow posters would complain that the lurkers votes would not reflect the actual discussion that took place, merely the aggregate opinions of the group, and yet that is how the primaries work. Talking loudest or most or even best means nothing

One of the hardest things to remember is that most of the people you want to influence won't necessarily be asking questions. They'll be sitting back, and listening. And maybe not listening all that hard either - many of them will come away remembering more about the tone and attitude of the conversation - so if you come across as condescending, it'll leave a bad taste in their mouths. The tragedy is, you might feel like you walked away from a long conversation about the efficacy of manifest typing having won a few points - and never realize that lots of people walked away from it thinking "jerk". The longer I stay in this business, the more I realize that Alan is exactly right when he says that the person who leaves an argument without losing his temper wins

 Share Tweet This
-->