news

Gentlemen, apply your SPF 30

October 23, 2005 11:01:36.421

Spotted in digg NASA has a very sharp picture of the Sun available - check it out.

 Share Tweet This

web

Get your typos here

October 23, 2005 11:23:36.814

The web is a marvelous thing - sometimes it even immortalizes the otherwise irrelevant typo. Witness "Instant Massaging"

 Share Tweet This

books

Untold history

October 23, 2005 13:05:01.750

I've been reading "Red Star Rogue" - a history of a Soviet sub that apparently tried to launch a nuclear warhead at Pearl Harbor in 1968. It's an amazing book - I'll have to look for other information on this incident after I finish it. The context of the times is interesting as well - as this rogue strike was being attempted, you also had the Pueblo incident and the Tet Offensive in Vietnam. In other words, lots of bad things happening all at once. Kind of amazing to me to consider just how close things got to global war when I hadn't even reached the age of 7...

 Share Tweet This

open source

The end result of free - a spate of 80% solutions

October 23, 2005 19:22:30.327

Inessential hits on one of the ugly truths about free software (which is separate from open source) - if a given niche in software goes free, you end up with 80% solutions:

There are some email clients I personally like—Mailsmith and mutt, in particular—but I’m not the first person or the last to say that there is no Ultimate Email Client for OS X. Justin is right in that nobody can afford to create it. Even if you made Pretty Much the Greatest Email Client Ever, it would be hard to compete against Mail.app and gmail and so on. Email clients are like air: people don’t want to pay for something so basic. (Okay, some rare people will.) What’s frustrating is the sense that, by the year 2005, we shouldhave a great email client. It’s not like it’s new technology. It could be done. The problem is the economics.
 Share Tweet This

marketing

Step One: Don't Insult the Customer

October 24, 2005 7:40:29.060

Bug Bash asks what we think of a couple of MS marketing campaigns - the dinosaur campaign is one I don't think much of at all:

The Office “dinosaur”campaign. I can tell you that in the hallways of a certain Large Northwest Software Company, this campaign is the topic of many lively impromptu debates, to the point where one of my favorite conversation starters there is “so, are you pro-dinosaur or anti-dinosaur?” Me, I’m pro-dinosaur. I like the campaign. It’s attention-grabbing. It also does a good job of using humor to balance what amounts to a rather bold challenge to the target audience (i.e. to upgrade to the latest version of Office or risk obsolescence). The dinosaur campaign seems to inspire a “love it or hate it” reaction, however, so I’d love to hear what others think about it.

Here's my reaction - any campaign that insults the target customers is a mistake. This campaign does that in spades.

 Share Tweet This

spam

Splogs, after the flood

October 24, 2005 8:21:51.432

It's hard to tell whether the search engines have done anything concrete against splogs, or whether the wave has passed temporarily. I say that because of what I see with referer spam - it's quiet for awhile, and then all of a sudden there's a wave of new crap (which is why the referer list for the CST blogs is no longer public). Anyway, I posted on the raw amount of splog content sitting in my aggregator awhile back (here), and I figured it might be interesting to have another look. So, I ran my test script again, using a cutoff date of October 22 - to see what's been coming up since then:

Feed TitleTotal ItemsBlogSpot ItemsSplog Percentage
IceRocket: Smalltalk8034
PubSub: Smalltalk301447
IceRocket: Cincom17424
Feedster Smalltalk55713

PubSub is still getting hit pretty hard (mind you, my script understates the damage - I'm looking only at Blogspot splogs here - eyeballing notes a few others). Seems like the other engines are addressing this problem a lot better, but again - you have to keep that leading caveat in mind.

 Share Tweet This

blog

Blogs must be mainstream

October 24, 2005 8:57:28.684

Wired News reports that some companies are blocking blogs at the firewall:

Robert Mason (not his real name) would love to spend a few minutes during lunch catching up on blog posts from around the web, but his company doesn't allow it. The financial institution where Mason works as a vice president has security filters set up to block access to -- among other things -- any website that contains the phrase "blog" in the URL.
What's more, says Mason, such practices are becoming prevalent in corporate America, particularly in financial services. Mason sits on a roundtable privacy group of 20 of the country's largest banks. "My best understanding is that my company's anti-blog stance is the industry norm," he says.

If that's not a sign of mainstream arrival, I don't know what is :)

 Share Tweet This

cst

Anatomy of a Smalltalk Servlet

October 24, 2005 11:14:43.204

In VisualWorks, the Web Toolkit makes it pretty easy to create ASP/JSP style applications, complete with support for servlets. The way you get a servlet invoked is the same whether you use Smalltalk or anything else; you simply name the servlet appropriately at the client side, in the web page.

Take this blog, for example - there's a login page for the site bloggers to use if they want to post from the web form or use the online admin tools - here's the snippet from the SSP (Smalltalk Server Page):



<form action="servlet/LoginServlet" method="post" name="blogLoginForm">

Looks pretty normal, doesn't it? That's the point - you don't have to do anything special from the client side to support the web toolkit. You can even use JSP tags - I have no experience with that, but there are examples that ship with the product. How do things look on the server? This form is very basic - two fields, one for username, one for password. Here's the servlet definition:


Smalltalk.Blog defineClass: #LoginServlet
	superclass: #{Blog.AbstractServlet}
	indexedType: #none
	private: false
	instanceVariableNames: ''
	classInstanceVariableNames: ''
	imports: ''
	category: 'Blog'

AbstractServlet is a simple subclass of SingleThreadModelServlet, with some code specific to the needs of the blog server. There are two servlet classes in VW - the one I just mentioned, and HttpServlet. What's the difference? HttpServlet passes the request and response as arguments into the API methods, while SingleThreadModelServlet passes them in as instance variables - i.e., it maintains them as state information. Which one is right depends on your usage.

The entry point for a post servlet is going to be #doPost: or #doPost:response: - the latter for the stateless model. Here's how that looks in the LoginServlet:


doPost
	| model userOrNil |
	model := BlogUser new.
	model appkey: self appkey.
	model getInputFrom: request parameters.
	userOrNil := model validate.
	userOrNil notNil 
		ifTrue: [self session initialize.
				self session at: 'currentUser' put: userOrNil.
				self determineDestinationFor: userOrNil]
		ifFalse: [self redirectTo: (self handler linkNamed: 'blogLogin')]

Basically, I grab the input, ask it to validate (which checks the input against the valid users of this blog), and then determine where login should take them. In general, there are two types of users - people who can post, and people who can post and have admin rights. The method #determineDestinationFor: redirects valid users to the appropriate page, based on their access rights.

And that's pretty much it - the heart of this servlet is that one method, with the supporting code being simple lookup stuff. The bottom line - getting a Smalltalk servlet working is pretty easy - and, since it's Smalltalk, you can debug the code during test. In fact, when I was refining the MetaWebLog API servlet, I did just that - one of the bloggers on the site tested a client against my test server, and I had breakpoints in to see what I was being sent (and more importantly, what I was expected to send back). The fact that the servlet was just another Smalltalk object - rather than a file artifact that would have to be loaded, flushed, and reloaded repeatedly - made the whole things a lot easier to deal with.

 Share Tweet This

general

Which way does that adage go?

October 24, 2005 17:05:28.763

There's a reason they say "measure twice, cut once" - when you do it the other way, you get this:

Cut Twice, Measure Once

It's hard to see, but if you look above the TV mount, you'll see three holes - Those are ffrom my first crack, before I realized that the TV wouldn't fit in that space. Dohhh

 Share Tweet This

weather

Wilma in the neighborhood

October 24, 2005 17:16:15.541

My parents live in Melbourne beach, FL (the barrier island side), so I called them up this morning. They downplayed the storm's effect in their area, but then they sent a couple of pictures - the winds there were stronger than they had thought while they were locked inside. They didn't lose power (otherwise, I wouldn't have these pictures :) ) - but there was some slight damage. Here's a shot of the community pool, which now has less fence than it did yesterday:

Wilma Damage, Melbourne Beach

And here's a shot of the Indian River side, looking at a pier that took some damage:

Wilma Damage, Melbourne Beach

 Share Tweet This

books

Not all reading is alike

October 24, 2005 17:40:53.594

Dare thinks that this is the reason publishers (and some authors) are worried about Google's plan to scan books and make them searchable:

So what does this have to do with Google Print? Well, I personally don't buy computer books anymore thanks to the Web and search engines. The last book I bought was Beginning RSS and Atom Programmingand that's only because I wrote one of the forewards.

The trouble is, looking up technical information isn't like reading a book for pleasure or research purposes. Sure, I could haul my laptop up to the bedroom - but it's a whole lot less trouble to have a real book - and the book doesn't need power. The point is, I don't see a lot of people deciding to read the 7th "Harry Potter" book online. Looking for a bit of technical information isn't at all like trying to follow a plot line.

 Share Tweet This

analysts

Fake, but Accurate

October 24, 2005 18:53:36.809

Looks like politics isn't the only place we find "Fake, but Accurate" as an argument - some of the most well respected people in the analyst game have done the same thing - Tom Peters, for instance:

Confession number three: This is pretty small beer, but for what it's worth, okay, I confess: We faked the data. A lot of people suggested it at the time. The big question was, How did you end up viewing these companies as "excellent" companies? A little while later, when a bunch of the "excellent" companies started to have some down years, that also became a huge accusation: If these companies are so excellent, Peters, then why are they doing so badly now? Which I'd say pretty much misses the point.

Umm, no Tom, it is the point. If the data is inaccurate, then you have a set of anecdotal evidence and assumptions. But go ahead, do some hand waving - like this:

Start by using common sense, by trusting your instincts, and by soliciting the views of "strange" (that is, nonconventional) people. You can always worry about proving the facts later.

Shorter Peters: "Just make crap up, and then prove by assertion."

 Share Tweet This

development

They still don't know...

October 24, 2005 20:30:24.855

Joe Winchester expounds on the Smalltalk roots (idea-wise) of Eclipse, and then steps in it:

The Eclipse roll call, not only in terms of the core team that Mike has created around him, but in terms of its comitters and participants is like a who's who of the old Smalltalk rearguard. At Eclipsecon 2005 it's amazing how many of the speakers, the companies exhibiting products, are the same ones who were part of the Smalltalk community, but also amazing how it is bigger and better than Smalltalk ever was.

Oh? Can you modify the tools as they are running? And before you say that's absurd, what if I want to - on an ad-hoc basis - modify the tools in some way? Heck, using Smalltalk, I can do that to a running application - I've done that, as demonstrated here. With a tool like Eclipse? Sure, if you want to make the change in some limited (i.e., in one of the exposed APIs) way, and then either restart or start a new instance. Rinse, Repeat.

Heck, I have this level of "muckability" in my application server - the one that runs this blog. How do you think I modify it? I sure don't take it down and restart it. Eclipse is in no way, shape, or form "better" than a Smalltalk image. At best, it's a pale reflection, showing what a bunch of Smalltalk literate developers can do with a lower wattage language.

Ed Burnette has thoughts on this here.

 Share Tweet This

web

The Web Accelerator Returns - expect yelling

October 24, 2005 21:23:42.981

Well, the Google Web Accelerator is back. Some people are completely panicked (again), and others are in full "tut, tut" mode. I don't know. I was kind of ambivalent about this 5 months ago, but now? I think I'm still kind of ambivalent. I see Bill de hÓra's point about how assumptions are what a lot of the web is built on - but at the same time, I see where the 37 Signals guys are coming from too. Still - Bill's more right - these kinds of bots aren't going away, and this is hardly going to be the last such thing running around on the web.

 Share Tweet This

tv

"Surface" dances on the shark's grave

October 24, 2005 21:43:55.847

"Surface" hasn't just jumped the shark - it's killed the shark, and is currently dancing on its grave. I'm not sure I've seen such concentrated stupidity before, unless Lucas or Berman have been involved.

Oh gosh, and following the links for this post I ran across worse news - someone has given Berman money for another Star Trek movie. Clearly, the universe is out of balance.

 Share Tweet This

spam

Splogs explained

October 25, 2005 7:50:04.951

Joel has a concise explanation of what the splog storm is about - it's all about gaming Google AdSense in order to scam money from them. Thus the scraping of real content - it makes it harder for Google to tell that the links are total crap. This is Google's problem to solve now - and, as Doc points out, the splogs aren't limited to BlogSpot.

 Share Tweet This

BottomFeeder

Technorati Tag Support

October 25, 2005 10:30:42.328

The posting tool now has support for Technorati tag addition - if you grab the latest update, you'll see a new option under the "Post" menu. Once you post, the tags are part of the body of the post, and will need to be edited as such. It's basic, but it's a start.

 Share Tweet This

gadgets

Small may not be the answer

October 25, 2005 10:48:40.310

Slashdot reports that laptop screens (and thus, laptops) are getting bigger:

With so many DVDs featuring letterboxed or wide-screen versions of films, consumers' fascination with larger screen sizes is changing the size and shape of the laptop industry, stated an IDC report issued on Monday. The wide-screen format, found in only 39.2 percent of laptops expected to ship this year, will become dominant in mid- to late 2006.

I feel like a voice in the wilderness on this, but I don't think handhelds are going to overtake laptops anytime soon. For one thing, typing with your thumbs gets old fast, and it leads to injury (carpal tunnel, anyone)? The closer you get to a full size keyboard, the better off you are.

Second, video - Yes, I know video on the new iPod is kind of neat. However, I'm not at all sure that I want to watch more than a snippet of video on that size screen. The small form factor works perfectly for audio. I'm not at all sure that it works well for much else.

 Share Tweet This

itNews

Clueless copyright issues

October 25, 2005 12:13:02.548

Winer thinks we should wait for publishers to tell us about their books, and not index them as Google wants to:

The likely reason they insist on opt-out instead of giving an inch and letting it be opt-in -- very few publishers would opt-in, and at least some would forget to opt-out.

To use the example he brings up - iTunes - had Apple let the RIAA folks do this one, then we would still be waiting for a service, and paying $5 a song when it finally rolled out with DRM that would make the Apple system look like an OSS playground. There's also this, from Wired - not all authors are on board with the publishers on this one:

Google's plan to scan library book collections and make them searchable may be drawing ire from publishers and authors' advocates, but some obscure and first-time writers are lining up on the search engine's side of the dispute -- arguing that the benefits of inclusion in the online database outweigh the drawbacks.
"A cover does sell a book to a certain extent, but once you're intrigued by a cover you want to dig deeper," said Meghann Marco, whose first book, Field Guide to the Apocalypse, was published in May.

Some authors think that - wait for it - making their books easier to find will help sales. What a shocker! Winer's hatred of "bigCorps" (unless they have big checks) is blinding him here.

Here's the thing - Google already indexes copyrighted works - everything we write on the web is copyrighted, so far as I know (IANAL). Google crawls that stuff (as do the other search engines) and indexes it all, making content easier to find. What they propose to do here is the same thing, but with books that tend not to exist in an easily searchable form. Ultimately, if it all works out, it'll be easier to find books I might be interested in, and easier to buy them as well. Should we require opt-in for indexing of the web, too? The way it works now is opt-out via robots.txt. Does Winer propose that we reverse that? If not, why not? By Winer's *cough* argument *cough*, our rights are being violated as we speak....

 Share Tweet This

web

I said there would be yelling

October 25, 2005 17:45:17.132

 Share Tweet This

web

There's a difference between "Can" and "Must"

October 25, 2005 19:51:16.469

Someone explain the difference to Chris Pirillo

Is it okay to be scared now? There's a new Google app that's set to be unleashed soon. Google Base? "Google Base is Google's database into which you can add all types of content. We'll host your content and make it searchable online for free." This is either really good, or really bad - depending on how you look at it. As a Google shareholder, I'm sure this is good news (now your company is worth more than God). But my spidey senses are tingling. The very thing we feared Microsoft would try to do with the Internet, Google is doing. Do you understand what's happening - truly?
We're potentially giving the Internet to Google, people. With great power comes great responsibility. I just hope that someone does not set us up the bomb.

Sheesh. GWA is the end of the web as we know it, and GoogleBase is going to turn us all into robots. In other news, Chicken Little is out there.

 Share Tweet This

weather

Surf's up in NYC

October 25, 2005 20:48:58.959

Here's something you don't see every day: surfing at a NYC beach:

Surfing NYC

 Share Tweet This

smalltalk

Planet Smalltalk Feed fixed

October 26, 2005 7:53:26.936

The feed at Planet Smalltalk has been broken for the last few days; it's fixed now (at least, it loaded into BottomFeeder just fine). The Feed Validator reports an encoding mix-up, but that's small stuff in the grand scheme of things.

 Share Tweet This

BottomFeeder

Doing a Dev Build for Bf

October 26, 2005 10:34:51.079

I'm in the process of uploading a new Development build for BottomFeeder - this would be a full build, under the dev links on the download page.

I'll update this post when it's ready. The reason for the build? I've updated (in dev) the main BottomFeeder components, and the WS (xhtml display) component, and having those load in at startup can be slow.

Update: The dev build is up now.

 Share Tweet This

management

Solutions, or just negativity?

October 26, 2005 11:07:58.974

Here's a great post on the dangers that can arise from the common "devil's advocate" approach:

Tom Kelley--general manager of IDEO--believes that "devil's advocate may be the biggest innovation killer in America today." We've all been in a meeting where a passionate idea is put forth but someone plays devil's advocate and drains the life out of the room. Invoking "the awesome protective power" lets the devil's advocate be incredibly negative and slash your idea to shreds, all while appearing not only innocent but reasoned, balanced, intelligent... all attributes loaded with business "goodness".

Read the whole thing - it's good. The important take-away is to remember that criticism isn't enough - you need to have an explanation of why something else (maybe the status quo) is better.

 Share Tweet This

management

Now if only we would do this

October 26, 2005 11:43:45.755

By "We" I mean those of us that work in the technology sector. The problem? Drowning in jargon that means different things to different people. Look at what police (and fire, etc) are doing about the problem:

It's time to say over-and-out to 10-4. The Department of Homeland Security recently mandated that police, fire, and other first-responder groups no longer signal everything they do in an emergency with a speedy 10-code - as in, say, 10-76, meaning "on our way." Why kill the jargon? It turns out that the codes have different meanings from place to place. What's more, some agencies have added 11- and 12-code systems, and others have dropped the whole numeric thing altogether. When multiple agencies responded to major disasters, people could barely understand each other. So, over the next year, as fire and police stations around the country begin adopting the new protocol for management of wide-scale emergencies, their drills will include an amazingly interoperable radio communication system: plain English.

Ponder that the next time you read one of those TLA ridden documents expounding on the benefits of SOA using an ESB...

 Share Tweet This

events

OOPSLA 2005 roundup

October 26, 2005 16:35:09.844

Martin Fowler has a nice roundup on this year's OOPSLA. I especially liked the quotes from various people he included at the bottom of the post. I especially like the quote from Don Roberts:

Static types give me the same feeling of safety as the announcement that my seat cushion can be used as a flotation device.
 Share Tweet This

itNews

Shorter Dave Winer

October 26, 2005 16:37:02.710

Closed events are a bad thing, unless I get invited

Based on the comment below, I was referring to this item:

Next Tues, Nov 1, Microsoft is briefing press and analysts on a new strategy. The two presenters are Bill Gates and Ray Ozzie. Thanks for the invite, I'll be there

Not the podcasting conference. It's easy to confuse them on Winer's blog, because he wouldn't know what a post title was if it beat him about the head and shoulders...

 Share Tweet This

tv

Happiness is a working ReplayTV

October 26, 2005 21:00:48.703

We have an old ReplayTV 4040 unit - well out of warranty, and - sadly - well out of decent condition. For the last little while, the device has been rebooting on a regular basis, often multiple times during a recording. So - we went out and looked for a replacement hard drive. We found a vendor who sells drives with the OS pre-installed, so we bought a larger drive than the one we had. It all looks good - it booted up, and we are now setting up the recording options. It was all pretty easy - just like the instructions here.

 Share Tweet This

general

Looks like I pass

October 26, 2005 21:44:50.781

Can you pass an 8th grade math test?

You Passed 8th Grade Math
Congratulations, you got 10/10 correct!
 Share Tweet This

development

Not liking Intellisense

October 27, 2005 8:02:52.493

Amongst other things, Charles Petzold has some unkind things to say about Intellisense:

For example, suppose you’re typing some code and you decide you need a variable named id, and instead of defining it first, you start typing a statement that begins with id and a space. I always type a space between my variable and the equals sign. Because id is not defined anywhere, IntelliSense will find something that begins with those two letters that is syntactically correct in accordance with the references, namespaces, and context of your code. In my particular case, IntelliSense decided that I really wanted to define a variable of interface type IDataGridColumnStyleEditingNotificationService, an interface I’ve never had occasion to use.

On the plus side, if you really need to define an object of type IDataGridColumnStyleEditingNotificationService, all you need do is type id and a space.

If that’s wrong, you can eliminate IntelliSense’s proposed code and go back to what you originally typed with the Undo key combination Ctrl-Z. I wish I could slap its hand and say “No,” but Ctrl-Z is the only thing that works. Who could ever have guess that Ctrl-Z would become one of the most important keystrokes in using modern Windows applications? Ctrl-Z works in Microsoft Word as well, when Word is overly aggressive about fixing your typing.

Now, I have to caveat this with the observation that I've not used VisualStudio - but boy, that sure sounds like something annoying rather than something useful. What it reminds me of more than anything else is that damnable "feature" of Microsoft Word that knows where the bullet points go better than I do.

 Share Tweet This

deployment

Deployment Screencast coming

October 27, 2005 9:51:00.788

There's been some good work on making deployment easier in the upcoming VW 7.4 release - I'm going to walk through the process using a simple UI application later this morning in a screencast. I have to get the family moving out the door first though :)

 Share Tweet This

deployment

Moving a service: non-trivial

October 27, 2005 10:24:09.770

I think the upshot of this Typepad story is that upgrading a service that needs constant uptime is a completely non-trivial thing. Most businesses don't have the sheer volume that Typepad does, which is probably fortunate.

 Share Tweet This

examples

How Class Promise can help

October 27, 2005 16:07:05.121

Update: Fixed the code snippet

One of the slower operations on the blog server right now is a text search - I don't cache all blog entries in memory, and I have the same (OS) process that gets the request fetch all the items in order to index and do the search. That's fairly expensive, and it makes the image unresponsive if it happens at the same priority as everything else.

The solution in VW terms is to have that expensive search take place in another process. The problem? Well, there's the browser on the far end that made the request, and can't deal with having the server fork the request and hand back nothing. Enter class Promise. From the comment:

A Promise represents a value that is being computed by a concurrently executing process. An attempt to read the value of a Promise will wait until the process has finished computing it. If the process terminates with an exception, an attempt to read the value of the Promise will raise the same exception.

In short, what that means is that you can push an expensive calculation off to another process, and have the one that is waiting for the result just wait for it. In server terms, said process goes into a non-runnable state, which lets other things happen.

At this point, understanding the VW process model is useful. Processes at the same priority level do not time slice. So, as requests come in from browsers, the server forks off processes at the same priority - and they all compete for the CPU. In general, if they complete quickly or end up waiting on I/O, it all works out ok. The latter is what I needed in this case - I needed to have the process wait until results were ready. Here's the old code:


	allResults := self 
		actuallySearchFor: searchText 
		inTitle: searchInTitle 
		inText: searchInText.
	^allResults asSortedCollection: [:a :b | a timestamp > b timestamp].

Inside that method, the actual search happens, which can be slow. So, I modified it like so:


	promise := [self 
		actuallySearchFor: searchText 
		inTitle: searchInTitle 
		inText: searchInText] promiseAt: Processor userBackgroundPriority.
	allResults := promise value.
	^allResults asSortedCollection: [:a :b | a timestamp > b timestamp].

What that does is set up a process that runs at the given priority, with a Semaphore signalling when results are ready. As a consequence, the value allResults isn't produced until that process finishes - and the process waiting for that result goes into a non-runnable state until that happens. Which means that other processes at that priority level don't get starved for CPU as that one munches through the backlog of posts searching.

Realistically, I need to add a cache here, and I'm in the process of doing that. In the meantime, this pushes an expensive task to the background, and optimizes server responses for everyone else.

 Share Tweet This

general

Hold that Screencast

October 27, 2005 16:20:04.905

I had planned to do a screencast today, but I got tied down with the performance issue. If I have time in the next hour or so, I'll get it done. Otherwise, look for it tomorrow.

 Share Tweet This

deployment

Speaking of browser specificity

October 27, 2005 16:32:04.636

I was interested in the presentations here - they are from the MS PDC, and one covers dynamic languages on the CLR. However, much to my surprise, when I hit the link I got a dialog popped in Firefox:

Browser Specificity

How bogus is that? What kind of browser check are they doing over there?

 Share Tweet This

screencast

Creating a Runtime in VW

October 27, 2005 17:18:59.416

It turns out I had time to get this done today. Here's the url to the WMV, where I walk through a simple demonstration of the VisualWorks 7.4 based Runtime Packager. Kudos to Alan for improving the tool.

Update: Navigate here for the flash version. Oddly, in Firefox, I had to view the swf directly (same url, with a .swf ending) to see that. In IE it worked fine. Go figure :/

Enclosures:
[http://www.cincomsmalltalk.com/casts/application_creation.wmv ( Size: 15223006 )]
[http://www.cincomsmalltalk.com/casts/application_creation.swf ( Size: 20545128 )]

 Share Tweet This

media

Blogs are evil!

October 27, 2005 23:00:54.027

Apparently, some of the professional media gets really, really touchy when the rest of us jump into the sandbox with them. Witness this outburst from Forbes - they start out with an unethical blogger as their first example, in order to try and paint the whole field. Gee, it's as if they've never heard of Jayson Blair, or Steven Glass. Nope - it's "we're the professionals - trust us!" And the bloggers? All a bunch of rats:

Blogs started a few years ago as a simple way for people to keep online diaries. Suddenly they are the ultimate vehicle for brand-bashing, personal attacks, political extremism and smear campaigns. It's not easy to fight back: Often a bashing victim can't even figure out who his attacker is. No target is too mighty, or too obscure, for this new and virulent strain of oratory. Microsoft has been hammered by bloggers; so have CBS, CNN and ABC News, two research boutiques that criticized IBM's Notes software, the maker of Kryptonite bike locks, a Virginia congressman outed as a homosexual and dozens of other victims--even a right-wing blogger who dared defend a blog-mob scapegoat.

Yep, it's all bad out here - we should rely on those trusty industry analysts and big name journalists, because they never get anything wrong, and they never fall under the undue influence of vendors. There's then a whole page about how bad "word of mouth" negativity is on blogs. Hmm - I guess the author has never said a bad thing about a service experience to friends, because that would be, you know, wrong. But wait! It gets better - look at what Forbes is recommending:

BUILD A BLOG SWARM. Reach out to key bloggers and get them on your side. Lavish them with attention. Or cash.Earlier this year Marqui, a tiny Portland, Ore. software shop, began paying 21 bloggers $800 per month to post items about Marqui, while requiring them to disclose the payments. Marqui's listings soared on Google from 2,000 to 250,000 results. Never mind that one blogger took the money and bashed a Marqui marketing strategy anyway.

Yeah, that whole Marqui thing went over well. People always respond well to fake publicity. Their next idea is even worse:

BASH BACK. If you get attacked, dig up dirt on your assailant and feed it to sympathetic bloggers. Discredit him.
ATTACK THE HOST. Find some copyrighted text that a blogger has lifted from your Web site and threaten to sue his Internet service provider under the Digital Millennium Copyright Act. That may prompt the ISP to shut him down. Or threaten to drag the host into a defamation suit against the blogger. The host isn't liable but may skip the hassle and cut off the blogger's access anyway. Also:Subpoena the host company, demanding the blogger's name or Internet address.

Yeah, getting into a catfight will gain the respect of everyone, and tossing frivolous lawsuits at the little guy is even better. Their next tip is to sue for defamation. I have a better idea - flog the writer at Forbes who wrote this with a clue by four, and do the same to the editor(s) who approved the story.

 Share Tweet This

development

Specs, shmecs

October 28, 2005 8:12:21.178

Apparently, Dave Winer went to the Torvalds school on specs:

Linux creator Linus Torvalds began the discussion saying, "a 'spec' is close to useless. I have _never_ seen a spec that was both big enough to be useful _and_ accurate. And I have seen _lots_ of total crap work that was based on specs. It's _the_ single worst way to write software, because it by definition means that the software was written to match theory, not reality."

The crucial difference being, Torvalds is talking about an OS kernel, while Winer's "specs" are supposed to define a method for interoperability.

 Share Tweet This

smalltalk

Smalltalk discussion

October 28, 2005 8:26:32.015

Drunk and Retired has a discussion of Smalltalk about halfway into their episode 27 podcast. They looked at GNU Smalltalk and Squeak.

 Share Tweet This

marketing

Quality does, in fact, matter

October 28, 2005 10:53:44.387

Dave Slusher makes a comment about podcasts and "slick" production values:

It’s interesting that the only people I ever hear talking about how the public won’t listen to anything but slick programming are people that produce slick programming.

Depends on what you mean by "slick". I don't like "I turned the mic on to see what would happen" podcasts. If there are dogs barking in the background, or drifting music, or people coughing - it's just annoying. Do you need studio quality stuff? No, but a broadcast filled with extraneous noise is just irksome.

Amateur audio doesn't have to mean "whatever noise happened" audio. Which reminds me - I need to buy a real microphone for my periodic screencasts :)

 Share Tweet This

humor

Friday Funnies

October 28, 2005 11:00:18.413

If you like Lileks, you'll like his bleatcasts. Short and funny send ups of the pop culture of yore.

 Share Tweet This

StS2006

Smalltalk Solutions 2006

October 28, 2005 13:40:25.700

We'll have an announcement about Smalltalk Solutions 2006 coming up on Monday - look for a press release from STIC, as well as an announcement from us. Of course, I'll post it here as well.

 Share Tweet This

blog

Light posting this afternoon

October 28, 2005 17:58:54.517

I had a few conference calls, and then a bunch of documents to slap together - We (the Cincom Smalltalk team) are having a quarterly review with senior management next week, so it was time to get everything prepared - short presentation, documents, the works. The tech blogosphere has been pretty light today anyway, overshadowed by the partisan excitement going on over on the political side. Maybe we can all argue about XML formats again next week :)

 Share Tweet This

logs

Weekly Log Analysis: 10/29/05

October 29, 2005 9:43:49.363

Time for my weekly look at the logs. Things still look solid for BottomFeeder downloads - they went at a rate of 430 per day last week. Here's the detail:

Platform BottomFeeder Downloads
Windows 893
HPUX 586
Mac 8/9 367
Sources 341
Update 204
Linux x86 201
Mac X 174
CE ARM 108
Windows98/ME 39
Solaris 26
Linux Sparc 26
AIX 20
Linux PPC 13
SGI 8
ADUX 5
Source Script 5

Next, I'll have a look at the accesses to the HTML pages for the blog site:

Tool Percentage of Accesses
Internet Explorer 47.2%
Mozilla 36.6%
Other 7.2%
MSN Bot 4.5%
Java 2.3%
Google Bot 2.2%

That higher use of IE is sticking around - my traffic numbers have increased lately, so I suspect that what I've got is an influx of IE users. Finally, a look at the accesses to the RSS feed - where IE isn't making serious inroads yet:

ToolPercentage of Accesses
Mozilla26.9%
BottomFeeder14.4%
Net News Wire11.3%
Other11%
Safari RSS4.1%
Java4%
NewsGator2.8%
SharpReader2.6%
Internet Explorer2.6%
Magpie2.5%
RSSReader2.4%
Feed Reader2.4%
Planet Smalltalk2.1%
Feed Demon1.7%
BlogLines1.6%
RSS Bandit1.4%
JetBrains1.2%
Liferea1%
BlogSearch1%
News Fire1%
Google Bot1%
Jakarta1%

Still a lot of different tools being used to access the feeds - but I think it's notable that over 15% are directly identifiable as coming from Macs.

 Share Tweet This

BottomFeeder

Bug fix update

October 29, 2005 11:28:25.145

It looks like I'm going to be pushing an interim (bug fix) BottomFeeder release soon - I'm just waiting on a new build of the XHTML component from the WithStyle guys. There's a bug in the network library we use - if you've seen the update loop stall (i.e., not complete) - then you've seen the bug. You can grab the updates to NetResources and NetResourcesHTTP to address that bug now.

 Share Tweet This

web

Attention and bingo

October 29, 2005 11:39:37.483

Scoble on Gillmor's Attention Trust site:

I still don’t think I totally understand Steve’s vision, but that’s OK. It took me two years to understand Dave Winer’s vision of RSS. I have a 486 brain in a 64-bit world.

There's a reason he doesn't quite get it. Go visit the Attention Trust site - it's a rampant case of "Buzzword Bingo", with absolutely no details as to what problem (if any) it's on about. There's no point in paying attention if all you get back is worthless marketing-speak.

 Share Tweet This

management

Formats, Standards, and Interop

October 29, 2005 11:58:46.931

Tim Bray mentions a forum he participated on, dealing with the Massachusetts/ODF brawl that's breaking out:

I spent Thursday the 27th in Boston; I was invited by Harvard Law School’s Berkman Center to participate in a round-table discussion of interoperability and standards in general, and the current Massachusetts/ODF brouhaha in particular. It was interesting and instructive, and I recommend that anyone who cares about this check out the recording. To help understand the context, there is this guy in the room from ACT who was pushing back pretty hard against the new Massachusetts policy. His arguments are lifted pretty well word for word from the Microsoft talking points, which was useful as the event might otherwise have been a love-in.

The point that many people make about this is that MS Office is the de-facto standard for document interchange, and that moving to another toolset is therefore a large risk. The question I have is this: Is it really? Cincom's IT group is pretty heavily invested in Microsoft technology, and most of the documents that get created by employees are Word, Excel, or PowerPoint.

Now, readers of this blog know that I have a fairly low opinion of the competing tools - they come across as clones of MS Office, copying (to my mind) all the irritating crap that makes me dislike MS Office in the first place. Having said that, I've never received a Word document that I couldn't open in Open Office (and I don't have the latest rev installed, either). I suppose there are shops that have invested heavily in office automation, building various tools off of Office using the COM apis. But I suspect that they are a minority, and - even for them - most of the work product produced is just simple documents with few macros.

Heck, I can't recall the last Word document I received with macros in it, and with Excel, the macros I see tend to be simple - sums and such. In other words, stuff that the competition handles pretty well. Which means the following - I expect that most shops could start using Open Office (et. al.) tomorrow and not suffer any real interoperability problems. MS has done a good job of feasting off of their de-facto standard status, but it's all held up by a wall of assumptions. I rather expect that Massachusetts will have far fewer problems using a competing product than MS would have you believe - and that's what they are afraid of.

It's kind of like the situation that French wine found itself in recently. For a very long time, French wine was perceived to be the best in the world, and sellers were able to charge a premium based on that perception. Over time, various competing sellers popped up with much, much lower costs - Chilean, Australian, and Italian wines, for example. For a variety of reasons (some political, some price based), people started trying out the alternatives over the last few years and discovered two things:

  • The alternatives weren't worse - they were at least as good
  • The alternatives were a lot cheaper

That's what put French vineyards into a world of hurt - the loss of caché cost them their premium price (and a fair bit of their sales volume). That's exactly the situation MS could find itself in, if enough people try out the competing products and start saying "hey - this is no worse, and it's a ton less expensive!" That's what MS is worried about.

 Share Tweet This

development

When separation isn't

October 29, 2005 12:33:38.300

I just love this explanation of partial classes from devx:

One of the greatest benefits of partial classes is that it allows a clean separation of business logic and the user interface (in particular the code that is generated by the visual designer). Using partial classes, the UI code can be hidden from the developer, who usually has no need to access it anyway. Partial classes will also make debugging easier, as the code is partitioned into separate files.

Yeah, so long as we keep the UI and domain code in separate methods in the same class, we've achieved real separation. Someone fetch the clue by four...

 Share Tweet This

BottomFeeder

Another dev build up

October 29, 2005 15:07:59.888

I've done another dev build of BottomFeeder - this includes all the fixes necessary to get rid of the stalling update issue. If no serious issues poke up over the weekend, I'll mark it as 4.1 and move it out to the standard download.

 Share Tweet This

media

Who's the pot, and who's the kettle?

October 29, 2005 15:19:24.486

Doc points to Nick Carr's piece on the Forbes article - the summation of Carr's piece:

Lyons's article isn't beyond criticism. His rhetoric does get overheated at times, and he can stretch too far in trying to make his points as pointed as possible. But those are hardly hanging offenses in magazine writing, and in the "citizen journalism" of the blogosphere they're as commonplace as typos. In rushing to dismiss the article, the blogosphere is simply exposing another of its shortcomings: It can dish it out, but it can't take it.

I think I could say the same thing about large segments of the print sphere - I haven't noticed a particular joy on the part of the print (or television, or radio) media when there are reports of errors on their part. It's common for corrections - even on large stories - to be buried deep in the paper, for instance, and to run long after the original story has done whatever damage it could do.

Then there's Doc's take on splogs:

That said, we also need to face the fact that some of the blogosphere (and it's more than a "sliver," I would submit - David Sifry of Technorati reportsthat close to 6% or more of new blogs are splogs) is a slum. That's the case with both splogs and attack bloggers, which are smaller in number than splogs but comprised of human beings (rather than robotic programs) practicing real offenses against other human beings.

Hmm - walked by a supermarket checkout recently? What do you think most of the rags there are, if not the "slums" of print media? The only real difference is that the barrier to entry for blogging is lower. The slums exist in both worlds, and they've existed in print for a long while. I don't notice the New York Times agonizing over its validity simply because the Enquirer exists. Splogs irritate me, but they have no more to do with me than the Enquirer has to do with the Times.

 Share Tweet This

BottomFeeder

Dev build problems

October 29, 2005 17:50:03.567

The dev build I posted earlier has problems on non-Windows platforms. So, if you grabbed it - skip back to the non-dev build and use that. I'll have a new build up tomorrow

 Share Tweet This

BottomFeeder

New Dev Build coming (again)

October 30, 2005 9:24:12.749

If you grabbed the dev build and have been having trouble, help is on the way. I'm doing a new dev build, since it looks like Michael has fixed the problems with the NetResources library we use. Should be ready in a couple of hours.

 Share Tweet This

movies

Weekend Movies

October 30, 2005 12:34:44.857

We saw two interesting movies this weekend - "Stay" (at the theater), and "Shaun of the Dead") (with friends on DVD). Stay was well done, and had me guessing until the end - I was off on the wrong track as to the relationship between the psychiatrist and the protagonist right up the last few minutes. Definitely worth the time, I think.

"Shaun" was just a funny send up on zombie flicks. The first part where he and his friend Ed are completely oblivious to the growing chaos is hilarious. Worth the time as well.

 Share Tweet This

BottomFeeder

Finally, a working Dev Build

October 30, 2005 13:47:05.065

Update: The dev build is ready for download now

I've been working to get a functional development build ready all morning. It turns out that there were two issues to be addressed, due to changes that Michael and the SwS guys had made in the NetResources library, and in WithStyle itself.

First off, the NR libraries had eliminated all references to the Twoflower HTML parser. As it happens, the replacement parser isn't ready for that step yet - there's lots of HTML it doesn't handle yet, so the result was content that we couldn't display unless LibTidy (A C library) did it for us. That was a problem, and I addressed it by making the relevant code invoke the old Tf parser as a last resort. Voila - it works!

The other problem was due to API changes made in WithStyle. I've implemented a parallel API for document loading in the Blog poster - the default API forks a few processes, and I wanted to be able to catch exceptions (and toss the poster into plain view mode) if a downloaded post was just too messy to handle. I did that quite awhile ago, and there were a few subtle changes in the latest WithStyle code that nuked my API. So, I walked through it again, patching it back up. I'm using the poster now, so clearly it's working again :)

I've got the new build uploading now, and it should be ready for download later today. Mind you, this only matters if you downloaded a full development build in the last few days - if you haven't, you should be fine with what you have now.

 Share Tweet This

rss

Is Subscribing too hard?

October 30, 2005 17:11:59.200

Scoble reports from the Blog Business Summit:

At the Blog Business Summit yesterday we discovered just how bad RSS usability sucks. Molly Holzschalg was on stage with me and visited a blog and was trying to find its RSS feed. She couldn’t find it. Why? Cause there’s no consistency in this industry on how to subscribe.

Some sites use RSS icons. Most that I visit use the orange XML icon. But other sites don’t have any icon and instead use words like “subscribe” or “feed” or “web feed.”

Even others, like many Blogger sites, don’t have any icon or word with a link at all. For those you’ve gotta know to simply add “atom.xml” onto the end of the URL. Aaaaarrrrrrgggggghhhhhhh.

The icons are for the minority of the audience that knows what they are. Most people are going to interact with RSS in one of two ways:

  • Their favorite browser will do auto-discovery for them, and offer to subscribe for them
  • They'll try to subscribe (in their aggregator) to the main page, and the aggregator will do auto-discovery for them. BottomFeeder does the latter already; is there an aggregator out there that doesn't?

No one (with the possible exception of Dave Winer) expects people to look for orange icons. One way or another, they expect to have the "right thing" just happen.

 Share Tweet This

usability

What could suck worse than Office?

October 30, 2005 18:07:49.576

I've discovered what could actually suck worse than MS Office, Open Office, and the rest of the competition: the same thing, but hosted on a web server:

Microsoft is leaping into hosted applications big time. InformationWeek reports that Microsoft plans to offer hosted implementations of SharePoint, CRM and ERP applications. But the best quote in that article was left till last. A "Microsoft insider" was asked which other products and services Microsoft would host and the reply was: "Everything. Hosted Office. Everything hosted."

Yeah, that's what I want - server lag and possible network outages, in addition to the aggravation of not being able to put the $%^&*() bullet points where I want them.

I have a simpler solution for MS - how about you whack the Office team with a clue by four (especially the morons who dreamed up that gosh awful ribbon), and get the team to start from scratch - with the simple mission of creating something that doesn't make users pound their heads against the wall with every usage?

 Share Tweet This

smalltalk

An introduction to Squeak

October 30, 2005 20:25:34.718

This is an interesting introduction to Squeak - this part is intriguing:

Also, and to give one example more, Squeak can be used as a windows manager of any Linux, replacing Gnome, KDE, or whatever, using some of the modules that can be loaded with the Package Loader. Surprising, isn't it?
 Share Tweet This

BottomFeeder

And we'll do one more

October 30, 2005 23:43:12.892

I have one more dev build going up - it turns out that my previous fixes were still off. I've got that addressed now, and the new build will be available for download later tonight (if I'm still awake), or tomorrow morning if I'm not :)

 Share Tweet This

humor

He's going corporate!

October 30, 2005 23:45:06.615

Check out the new Blaine. Now, we just need to get him a tie :)

 Share Tweet This
-->