Over the last 2 days, you may have noticed some odd behavior in the way comments were displayed - i.e., they were there on the main page, and not hideable. This had to do with a cache I implemented to make delivery of the content faster in between updates to the site. The problem was, it was possible for the HTML to get cached with comments showing, and then - without updates coming in - for the comments not to hide. I fixed that, so the comment options on the main page should work as expected again.
BloggerCon at Harvard looks like an interesting mix - there are political bloggers like Instapundit and Josh Marshal, and the technical folks like Dave Winer - as well as people that live in both worlds, like Doc Searls. Perhaps I should have looked into attending; that's an interesting mix of people.
The Yankees got closer to the next round by going up 2-1 today. Meanwhile, the Marlins advanced to the NL championship series, dispatching the Giants - something I didn't really expect to see. That leaves the Cubs/Braves series. As I write this, the Braves are up 4-1 - so maybe they'll stay alive. While not as frsutrating as the Red Sox saga, the Braves have been a spectacle this last decade as well - 9 straight division wins, and only one World Series victory to show for it. To get a feel for what the Red Sox fans go through, read this in the Times, and this in the Boston Globe. 85 years of waiting - there are only a few people even alive who have living memory of the last Red Sox World Series victory.
The worst part is, it just dawned on me that I'll be in Japan through the whole series - and the games will start at 9 AM Tokyo time. So much for watching any of the games live this year....
Dave Johnson seemed to have some wild idea that resources are infinite:
As Chiara has pointed out, JavaLobby is obligated to provide free weblogs, free bandwidth, free file storage, free system adminstration services, and free support to anybody and everbody who wants a weblog - all without charging a dime to anybody, placing any advertisements, or restricting anybody elses right to place advertisements.
Until I noticed - after prodding in a comment - that he was kidding:
As I have said before: if, at this point, you do not know that I am kidding, then you are an idiot.
Heh. Yet more proof that I can step right into it via blogging as well as in person :)
Every so often I see page defacement on the Cincom Wiki or on the VW Wiki. There have also been countless attempts to execute server scripts - lots of people have uploaded scripts (seeing the upload capability), and then been disappointed when attempts to execute their scripts fail (Smalltalk based Wikis are pretty secure that way). I just saw a very slick example of Wiki spamming on the Atom Wiki - the wiki being used to discuss/define the Atom posting/syndication format. Have a look here to see an example - the "seo" links - which look normal enough - are actually part of a large scale (100 page +) effort to spam the page. I followed the links; they lead to the site a guy who claims to be able to improve your google page rank (never mind that he just lost any chance of doing business with any of the users of the atom Wiki).
This sort of thing happens on a regular basis on Wikis - heck, the C2 Wiki even has a page devoted to such "hacks" (but I can't find it right now). The main issue with these is the time wasting aspect - someone has to maintain the WIki (clean out dead links, prune pages, etc) - and these attacks make that job more onerous. How do I manage this problem? Well, the CincomSmalltalk Wiki has an RSS Feed. The feed is pretty much just an XMLized version of the recent changes page - but it comes to me instead of me having to go to it. When I see changes pop up, I check them out - and weed out any defacements that have stumbled along. It works pretty well, and it works a lot better than trying to remember to visit "recent Changes" on a daily basis.
Scoble wants computers in his son's school. A better idea would be to look in on how they teach basic arithmetic, and find out whether or not they plan to use calculators in the elementary grades (a truly horrible idea). I'd gladly have my daughter's school lose ever single computer if it meant that they were going to teach the basics.
I found out today that BottomFeeder didn't support OPML 1.1 feedlists - I hadn't noticed that there even was an OPML 1.1 :) I had a quick look at the format - not a lot of change relative to 1.0 - and the dev steam of Bf now supports it.
Ted Leung, in a post mostly about Lisp, makes a point I'll echo:
Python is attracting a lot of people who like Lisp. There's only one Python, and there's starting to be a body of interesting programs. There's momentum there, quite a bit more than there is around all the various Lisps. I think that the momentum around languages like Python and Ruby is going to open a window of opportunity for Lisp and Smalltalk. The question is will those communities be ready when the window opens? This is something to be thinking about now.
There is a lot of buzz happening around Python, and there's a lot of potential benefit for Smalltalk (and Lisp) in it - are we ready to take advantage of it?
Daniel Steinberg talks about exception handling - and while he's posting on Java, many of his points are generally applicable. In particular, he warns about throwing generic exceptions - have a look at his column.
Joseph Pelrine is giving a talk on SCRUM and Smalltalk in Switzerland:
SSUG the Swiss Smalltalk User Group in collaboration with CHOOSE is glad to invite you to the next half-day tutorial given by J. Pelrine (MetaProg GmbH):
"SCRUM: A Methodology to Keep the Team Going" on tuesday, October 14th 2003 from 14h to 18h at the IAM Room 001. http://www.iam.unibe.ch/~ssug/Events/20031014.html
Scrum, one of the agile processes, has been used to develop systems and products since 1995 on thousands of projects in hundreds of organizations. Scrum implements in several days and delivers increments of functionality within thirty days. Scrum wraps existing engineering practices. Because Scrum is a development management process, it has also been used for such projects as marketing, research, and hardware product development.
In this talk, we'll discuss how Scrum and all agile processes work, the theory behind them and their underlying practices of inspection and adaptation. Then we'll look at Scrum's detailed practices of iterations, increments of code, emergence of requirements and design, and self-organization of teams. Through these practices, Scrum introduces a heartbeat of regular productivity to an organization that foments customer and engineering collaboration. If XP is wrapped by Scrum, XP's engineering practices ensure the quality of this code and stability of the emerging product, while Scrum provides the organizational framework which allows development to flourish.
Ken Schwaber and Mike Beedle, Agile Software Development with Scrum (First edition), Alan R. Apt, 2001.
Mike Beedle, Martine Devos, Yonat Sharon, Ken Schwaber and Jeff Sutherland, SCRUM: A Pattern Language for Hyperproductive Software Development
Pattern Languages of Program Design 4 , Neil Harrison, Brian Foote and Hans Rohnert (Eds.), pp. 637-652, Addison Wesley, 2000.
Joseph Pelrine is CO 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. In addition to being one of EuropeÃs most experienced eXtreme Programming practitioners and coaches, he is also Europe's first certified ScrumMaster.
140 CHF for Choose member
120 CHF for SSUG members (in fact 100 CHF + 20 CHF for registration)
80 CHF for students
200 CHF SI member
250 CHF others
SSUG Sponsors:Daedalos Consulting AG,
Fill in the form below and sent it to firstname.lastname@example.org. You will then receive an invoice from the University of Berne.
I want to register to the SCRUM tutorial held at Bern the 14 October 2003. Name: ______________________________________
Company Address: ______________________________________
Company ZIP/City: ______________________________________
[ ] CHOOSE member
[ ] SUGS member
[ ] students
[ ] SI member
[ ] Non-Member
I've posted on BOSS schema migration before, and now Dave Murphy has published a nifty package in the public store - BOSSClassMappings - that will help out in wider circumstances. The standard migration mechanism works for the straightforward cases - i.e., you have added/removed/changed instance variables - the most common being that version 1 of a class has N instance variables, and version 2 has N+1. But what if the change is bigger? What if you either:
- Moved a class or classes to a different namespace?
- Renamed a class?
You can handle these in schema migration code, but with complexity. What Dave has done is publish a package that makes it easier. Normally, I open an existing BOSS file for reading like this:
stream := 'somefile.bos' asFilename readStream. bos := BinaryObjectStorage onOld: stream.
With Dave's changes, you do it like this:
mappings := Dictionary new. mappings at: 'Foo.Bar' put: 'Baz.Bar'. stream := 'somefile.bos' asFilename readStream. bos := BinaryObjectStorage onOld: stream withMappings: mappings.
What you'll then get is that all instances of class Foo.Bar will map over to instances of Baz.Bar. This is something that should make the work Rich Demers is doing on BottomFeeder much easier to integrate - he's building a brand new domain, and the current save files reference the current one. What this also does is make refactorings less onerous in the face of an installed base - one of the reasons I haven't rearranged the existing domain was the hassle of dealing with this problem. Nifty piece of work.
What if the Red Sox and the Cubs actually advanced to the series? Well, these are the likely results:
- A City would have to be sacrificed to the deity of your choice
- The game just go to extra innings to the point where so many players had dropped dead that it wasn't possible to carry o
Instapundit reports that the Bush campaign has a blog. I'm not terribly impressed with any of the campaign blogs I've seen (I subscribe to most of them). Why not? Well, they are to blogging what the marketing department is to communications - completely packaged. This isn't a big surprise; a political campaign is going to want to stay on message. On the other hand, one of the great things about blogs is that they enable a more open form of communication - without all the pre-processing and editing that you get from the marketing process. Don't get me wrong - that pre-processing has a place, and it's crucial - one of the reasons Java broke through in 1995-1996 was the huge marketing promotion from Sun. It's not that marketing isn't needed - it is. But is marketing needed in a blog? That I'm not too sure about. Why exactly do I want to read blow-dried words in a blog when I can already find them in my newspaper? There's been a lot of talk about how the various campaign blogs are some kind of breakthrough event, but I'm just not seeing it...
The BC4J blog points out some issues with stock vendor demos. The poster states that many client apps he's seen show that developers haven't looked at the demos - and the post actually explains why, without realizing it:
Some time ago, one of our developers on the JClient team took a similar amount of time and built a demo that illustrates virtually all of the different kinds of JClient bindings for Swing-based UI's that we support.
This is a common thing for developers to do - create the kitchen sink demo that shows off every feature. The trouble is, most developers open those demos once, say something like "wow, that looks like too much to digest", and then run off and just wade through the code as best as they can. This is an industry problem; I've seen it as often in Smalltalk demos as I've seen it elsewhere. What developers really need is short, simple demonstrations of common things they'll use, not baroque examples of every possible use. The former will get looked at and digested; the latter will get ignored.
Clarence Westberg mentions that there's a challenge to build a blog server in Squeak. They should feel free to look at the code that dives this site :)
Last night's game between the Red Sox and A's was great baseball - it was a close game, coming right down to the final out - it may be the case that I want the Yankees to demolish the Red Sox, but I can admire gritty play, and that's what we saw last night. The collision between Damon and Jackson was scary too - I shuddered every time they ran the replay. The amazing thing was watching Garciaparra keep his cool - picking up the dropped ball and getting the runner at second in the middle of all that. Here's hoping Damon makes a full and fast recovery - that was an ugly accident, and one that I wouldn't wish on anybody....
I made a small UI change in BottomFeeder - so far, only visible in the dev stream. On the Mac platform, the font used in the listbox is bold - which means that having new items bolded isn't meaningful. What I've done is made new items appear in red (as well as bold) to add an additional highlight. That should make new items in feeds much easier to spot.
With the deals announced Monday, JBoss Group will now sell services for software from the Tomcat, JGroups, Hibernate, Javassist and Nukes projects. As part of the arrangement, the lead developers from Tomcat, JGroups and Hibernate will become JBoss employees, and the project heads of Javassist and Nukes will work with JBoss Group on a consulting basis.
These open-source projects will remain independent in that development on each product will continue under the auspices of their respective leaders.
The move will allow JBoss to ensure that each open-source product works well with the JBoss software and expand the potential revenue the company generates from services, said Marc Fleury, the company's president and founder.
"We go out and hire these guys and turn them into professionals, as opposed to an amateur or a hobbyist," said Fleury. "Other (companies) expand by acquisition or by deepening their (software) stack. We expand by recruiting those projects."
Aside from the "professional Open Source" terminology, this is a familiar business plan - think any large consulting company and their various software "practices" - they tend to focus on a business domain - and in doing so, they tend to focus on a few software products. This looks an awful lot like that model carried over to open source. It will be interesting to see how well the model translates.
Outsourcing isn't just an American issue - Don Park reports that call centers in Korea are being outsourced to China. I guess "low cost" is a relative term.....
If you still don't follow what continuations are or how they are used in a web app, go read Chris Double's post now. It gives a simple example of how and why they work.
I've seen this business plan. Worse, I've worked with that business plan :)
Read this and you'll see why - simply accessing files from an EJB application is a pain. It's amazing how much work you apparently have to go through to do so:
Of course, many types of file access can be worked around. For example, configuration information can be placed in LDAP, JNDI, a database, or even properties files delivered inside your JAR files that get loaded as a resource through the classloader. In those circumstances where accessing files is a requirement, then other solutions include loading the file through the servlet container, having it sent to the EJB tier via messaging, downloading the file from a webserver through a socket connection and so on.
These are all workarounds for the programming restriction but at the end of the day I think you have to be pragmatic.
The sort of pragmatism we see is lots of use of JSP's, and not a lot of use of EJB. This sort of thing explains a lot of that. Of course, I use Smalltalk Server pages, so the entire problem is avoided....
Don Park explains that there are three ways to deal (technically speaking) with the Eolas patent:
- Add a special - i.e., non-standard - attribute
- Require users to click Ok in a dialog box before proceeding
As I reported yesterday, Eolas is now trying to get an injunction against IE distribution. This shouldn't make users of Netscape, Opera (et. al.) happy, because those browsers have exactly the same problem with respect to the Eolas suit. This whole thing just stinks, and I'm amazed that it hasn't been sunk yet by a prior art showing.
Phillip Brittan complains that Microsoft is is moving purposely away from the browser in order to push server managed fat clients. I'm wondering how that's different from the original Java vision of server managed applets running on the client. I guess it's different because it's not Java as the fat client....
This stinks worse than your job. You have to read it to believe it....
Probably the biggest problem with the current javah-based package is the tremendous difficulty using existing native libraries - there's no reverse version of javah that sucks up existing header files and produces a set of Java classes filled with native keywords that automatically binds.
DLLCC in VW does parse header files and produce classes and bindings. What were those Sun guys thinking? And they say that us Smalltalkers live on an island....
I linked yesterday to a post on the difficulties of doing file i/o from a server based EJB app. Today, I see more oddball work arounds to this problem. Here's a cluestick - it's a server side app. Presumably, the hosting company can set it up such that your application only has permissions to diddle in your directory (you know, using ultra-complex stuff like file permissions). So why again do you have to jump through hoops to do this? Maybe because the EJB Spec is just plain stupid in this area?
Ted Leung points out what the real costs of going overboard with DRM are - the RIAA likely won't understand it....
Just go read what Doc Searls posted on the latest silliness by the music industry. I can't possibly improve on his take :)
Wired News reports that parents in an Illinois district are suing the local scholl district over WiFi at the schools. Here's what should be asked of these clowns:
- How many of you have cell phones?
- How many of you have walk-around phones?
Sheesh. Luddites everywhere...
AT LUNCHTIME TODAY, I moderated a panel discussion on digital downloading and music, featuring a bunch of musicians, songwriters, and industry people from Nashville. Here's the scary bit: one of the industry guys said that their big legislative priority is to try to create a regime where you have to register with a unique, verifiable ID to access the Internet.
Just when I think those morons have gone over the top, they say or do something crazier....
I added filtering capabilities to BottomFeeder this morning - both a global capability, and a per-feed capability. The per-feed filter will override any global filter you have set. This is still early development on this - there may be some glitches. I'm pushing it out in the dev stream in order to get feedback
Joel on Software tells you everything you always wanted to know about encodings and character sets, but were afraid to ask....
Travis Griggs explains how to prevent code forks when you have more than one person working on a project. You can merge a published version with what's in your image, and then - via reconciling with what's in the db (i.e., making sure that Store versions your code based on the right published version), you can avoid a code fork.
We are about to release a new version of Cincom Smalltalk - both VisualWorks and ObjectStudio. There's a lot of cool new things coming up - there are details on the referenced page, but here are a few tidbits:
- Opentalk for ObjectStudio - this will allow object level communication between VW and OS applications. That means that OS developers will be able to expose their business objects to all the interfaces supported by VisualWorks
- New Platforms! We are releasing WinCE support in preview (beta). Check the wiki page for processor details
- Squeak plugin support in the VM - the plugin support that Squeak uses is now available to VisualWorks. This allows for tighter OS integration, if desired
And there's lots of other good stuff as well. Check the Wiki page for details. We expect to release in November.
I'm going to miss this WOAD event, as I'll be in Tokyo that week. Here's a rundown for those of you that might be interested:
(Washington Object-Oriented Architecture and Design)
WHEN Tuesday, October 21st, 2003 at 7:00 PM WHERE: Best Western of Rockville (in the Restaurant) DINNER: Buffet $12.50 (includes tax $ tip - to get the space, we have to eat) TOPIC: MDA: The Future of Modeling or Costly Diversion? SPEAKER: David Fado (co-author of UML 2 Toolkit)
This session reviews MDA as an initiative to guide modeling. In some ways, MDA provides an encouraging road map for the use of UML 2 and modeling for information technology. At the same time, the "big tent" of MDA contains goals and aspects that will likely prove a costly diversion. As MDA is very much in formation, how it will evolve depends on how modelers and tool vendors take advantage of the opportunities presented by MDA/UML 2 and deliver success under the MDA umbrella. This talk will look both at the "future of modeling" side and the "costly diversion" side and invite comment on the best direction for MDA's future.
The talk will include an example of using UML 2 activity diagrams as a way of managing high level information about a project with greater precision.
About Our Speaker:
David Fado is a software architect for Number Six Software in Rosslyn. He is co-author of the recently released second edition of the UML 2 Toolkit with Brian Lyons. He has presented at numerous software conferences and is currently on the program committee for the MDA implementer's conference run by the OMG. Before joining Number Six, he worked with Reuters Information as well as with an offshore development group using UML to communicate about software development.
Put WOAD-RSVP in the subject line. RSVP by email to email@example.com Space WILL be limited to those who RSVP.
These events always produce a lot of good discussion - well worth attending!
Don Park explains why you always have to read the license for software products:
My situation is a common one in that I will have a single server driving several websites and web services, some of which will be commercial. More servers might be added later, but still located at a single data center (ServerMatrix). BDBXML license allows free use under this situation. But the software that runs on my server(s) is being written at home which is in a different state. Since my development machine is in California and my production server(s) are in Texas, I am in fact redistributing whenever I upload my software to the server(s), violating free use under BDBXML license.
Liz Pennell, Account Executive at Sleepycat Software, confirmed this but, recognizing that this might discourage developers from developing software based-on their new product, they graciously granted me free license.
Kind of makes me wonder how many people are violating licenses without knowing it. Funky....