Smalltalk in Los Angeles
Andres Valloud will be talking about hashing in Smalltalk next week at the LASTUG meeting.
Technorati Tags: smalltalk
Andres Valloud will be talking about hashing in Smalltalk next week at the LASTUG meeting.
Technorati Tags: smalltalk
There's been a fair amount of traffic in the vwnc mailing list over the Widgetry decision for the last few days. This morning, I put together another message that I sent to the list - with a few changes for general posting, I'm going to post here, and expand on it a bit.
This is in response to a question that was asked about our reasoning: that reasoning being that evolving tools in the existing UI would be simpler and faster than building new ones from scratch in Widgetry. I thought that was clear, but I was asked why we didn't have our tools staff building in Widgetry. Well: here's the thing: we did.
A large part of this decision stems from the unhappy results of that. We took that path, and we were distinctly unhappy with how it was looking. Ultimately, in my role as Product Manager, I had to ask a simple question:
If our internal people are having this much trouble dealing with Widgetry, how are customers going to deal with it?
This does not imply that Wrapper is some shining city on a hill, or that Widgetry is a disaster. Here's the bottom line, though: In order to ask customers to migrate from Wrapper to Widgetry, Widgetry would have to be dramatically better than Wrapper. At the end of the day, we couldn't say that it was. It was an improvement in many areas, but it also has problems, and simply didn't "move the ball forward" enough to ask people to move to it.
It was also implied that I was creating "politically correct" responses based on some kind of secret feedback from a small group of customers. Nothing could be further from the truth - I rarely check with anyone before I post here, or in email. Heck, I created my blog, and offered to host other people, without getting formal permission to do so.
The decision to cancel Widgetry and move the current UI forward was made based on internal considerations, along with feedback from a number of customers over the course of the last few years.
Technorati Tags: smalltalk, cincom smalltalk, GUI
The Squeak guys have a new book out: "Squeak by Example"
Technorati Tags: squeak
Anyone who watches the UIUC VW Wiki knows what a spam magnet it's become - I do my part to restore pages regularly. I didn't want to have that sort of thing happen to our Wiki, so I put two levels of spam checks on it:
The problem was in the first check. I decided that "N" was too many hrefs, So I put in a check on that. However, it turns out that there are pages that already have more hrefs on them than "N", and my check was stupid - it didn't check for the difference between old and new, just the raw number.
That meant that no one could update pages like the Namespace reservation page. I fixed that this morning - sorry for the inconvenience.
Technorati Tags: smalltalk
On today's Smalltalk Daily, we finally get down to extracting the calendar data from the gCal namespace in the Atom feed that comes back from the calendar request we've been working on this week. I've published package GData to the public store repository so you can see the code yourself; the workspace I've been using is in the package comment for GData.
On today's Smalltalk Daily, we add a module class to hold the calendar specific information available in the Google calendar feed. Along the way, we discover that we'll have to do some customization to extract the data we need.
Technorati Tags: smalltalk, syndication, web api
It's all about gameplay: cool graphics are nice, but the superior experience is what counts - the Wii has now passed the 360 in total sales:
Not many would have predicted it a year ago, least of all that it would happen this fast: The Financial Times reports that the Wii has surpassed Microsoft's Xbox 360 in global sales. It's the first time in 17 years -- during the dominate 16 bit days of the SNES -- that Nintendo sits at the top spot of the console market.
I have to admit, I'm a casual gamer who loves the Wii. I'll ooh and ahh at the graphics on the 360 - but I can't justify the purchase based on how much I play. The Wii - whole different story there :)
I won't get to "Smalltalk Daily" today (unless I manage to squeeze out some time late in the day) - we are seeing my in-laws today, and that's simply going to chew up most of the day for me. Back tomorrow!
This post originated as a response to an email in the vwnc mailing list. The premise of that email was that our decision on Widgetry - and the stated justification - implied that there would be virtually no changes to the existing UI framework in VW. That's not true, and I thought it would be worth making a public explanation of the point. So:
The need for customers to make a significant change to their code was a major issue in the decision to cancel Widgetry. It was not the only one though. Widgetry was under development for 6 years before any effort was made to build tools or applications using it. This was a large mistake on our part, and one that won't be made again.
It is possible to make significant improvements to the UI frameworks without a complete migration to something new. You'll start to see improvements fairly quickly. Bear in mind that no real changes have been made to the UI framework for years. During the Parc/Digitalk merger, the VW UI was abandoned, and when the Jigsaw effort failed, the remaining team had no UI members left on it. Thus the UI stagnated.
When the decision to create Widgetry was made, no thought went into making changes to the UI, as "Pollock was coming". All work in that direction was frozen, as we waited. Plenty could have been done, plenty should have been done. Now, plenty will be done.
Now, as to the theory that the existing UI framework is essentially frozen:
Evolution of the existing code base may require changes to customer code, but the key thing is this: it will require relatively small changes over time, instead of a huge change all at once. For an example, look at the NetClients code in VW. I can speak to this one personally, having used the code extensively over the last few years (Silt, BottomFeeder). With each new release since VW 7, I've had to make minor changes to my code. They were all documented though, and all minor. I didn't have to drop all of my HTTP handling code and start over - I had to apply a change over here, a modification over there.
The difference between what would have happened with Widgetry and what is happening now is the difference between revolutionary change and evolutionary change. Change there will be, but it will not be massive and all at once.
I have no idea whether this will work, or whether there will be any interest. Having said that - if you have questions for us on the podcast, a cool thing would be sending us an mp3 file with your question. We'll play it, and then answer it. Interested? Email (unzipped) mp3 files to my private email address, jarober@gmail.com - my corporate address has been doing nasty things to mp3 attachments :)
Technorati Tags: smalltalk
Mathew Ingram notes that businesses are starting to worry about time lost to Facebook (et. al.):
The BBC has a story about a survey that says businesses are losing hundreds of millions of dollars a day because employees are wasting time on Facebook and other social networking sites. According to this consulting firm, 233 million hours worth of work time is lost every day -- and the firm recommends that more businesses ban or block Facebook, as both the Ontario government and Toronto City Hall have done recently.
Here's a small suggestion for managers who have this idea cross their mind: How about you try doing your job? If you have staff that isn't getting assigned tasks done, then perhaps it behooves you to notice that fact and do something about it? Banning access to websites (or even the web in general) is simply an abdication of responsibility on the part of management.
Nick Carr completely misses the point on sites like Digg, Reddit (et. al.) - there's a reason "top stories" in traditional media tend not to hit big there: we already know where to find those stories. That simple thought apparently hasn't crossed his mind:
So what happens when "the people formally known as the audience," as the citizen journalism hypesters like to say , take charge of the dissemination of news? A study released today by the Project for Excellence in Journalism provides a hint, and it's not exactly encouraging.
The researchers examined the top stories appearing in the crowd-edited news sites Digg, Reddit, and Del.icio.us during a week in June and compared them to the top stories covered by the mainstream media. They found that the stories in the user-driven sites were "more diverse" but also "more fragmented and transitory." Hard news tended to be buried in a stream of soft news, gossip, product announcements and trivia.
Examining the front page of Digg in hopes of finding (say) coverage of a Supreme Court decision is like expecting to find coverage of that decision on the sports pages.
Having a bad copy of Smalltalk isn't enough - now Sun has a bad copy of the Smalltalk balloon :)
The topic of "accidental complexity" came up last week in a few posts about Smalltalk, Ruby, and code generation - but this NY Times piece speaks to the real thing - massive complexity due to the ad-hoc dependencies of various networks and services:
When the electrical grid went out in the summer of 2003 throughout the Eastern United States and Canada, “it wasn’t any one thing, it was a cascading set of things,” Mr. Bellovin noted.
That is why Andreas M. Antonopoulos, a founding partner at Nemertes Research, a technology research company in Mokena, Ill., says, “The threat is complexity itself.”
Some people will read this and advocate strict planning, but that's not going to do it. What we really need are systems that react better to error states - instead of "throw my hands in the air and die", "try to move on as if nothing happened" is probably a better answer in an awful lot of these cases. Not all, to be sure - there are catastrophic error states that require shutdown. However, a bad network card in one system really shouldn't be one of them :)
Technorati Tags: software development, networks
On today's Smalltalk Daily, we continue with the Web API work - we take the feed we got yesterday, and use the Smalltalk syndication library to get it into a Feed Object.
Technorati Tags: smalltalk, web, syndication
We appreciate all of the feedback that's come in - positive, negative, and otherwise. We understand that the decision announced here yesterday on Widgetry was a difficult one to understand, and we realize that our customers and community are going to have a variety of opinions on the matter. I'd like to take the time to do two things:

Other improvements will be coming, sooner rather than later. The largest mistake we made over the last few years with Widgetry was not working to build tools in it as we built out the framework. That's not a mistake we will make again.
On today's Smalltalk Daily, we plow forward with the Google calendar example - using the authentication information we got yesterday, we query an API and get back some data.
There's more to it though - Google is using a custom authentication scheme, rather than Basic or Digest. So, to use the API we first have to create a custom AuthenticationPolicy class, and plug that in. I need to thank Martin Kobetic and Tamara Kogan, two of our engineers, for their help - without them, this screencast would not be done.
Travis takes a look at the existing UI framework in VisualWorks, and what's right and wrong with it
Update: Michael Lucas-Smith adds some thoughts
Technorati Tags: smalltalk
Blaine Buxton explains why Groovy is slow on the JVM: it has nothing to do with the language, and everything to do with the environment:
It's not that the above posts are bad. I think they are wonderful. It gives something that the Groovy guys can use to make their product better. And that's good for all of us wanting to be dynamic in a static world. But, those numbers will also be used to prove why you shouldn't use dynamic languages. And that's sad. It's all come full circle. I hope I am wrong, but I doubt it. The numbers are not bad because dynamic languages are slow, but because trying to get them run on an architecture not built with them in mind.
Technorati Tags: dynamic languages, JVM
As most of you know, Cincom embarked on the creation of a new user interface framework for VisualWorks in 2001. It is now 2007, and this framework, Widgetry, has been in development (but not formally released) for six years. At this point in time, our customers have many questions:
In looking at those questions, we stepped back and took a look at Widgetry and its goals. Widgetry was built as an entirely new framework, without concern for backward compatibility. Unfortunately, in making that decision, we had not adequately thought through the issues of migration (both on our part and that of our customers), tool support, and maintaining two large frameworks simultaneously for a lengthy period. As is clear from the length of time it has taken to bring Widgetry to this initial release status, still without tools or documentation, we also underestimated the effort involved in the task. When we began looking at migrating our own tools forwards, it became clear that we would have had to commit a large percentage of the total development effort to this task alone, sacrificing numerous other areas that are also important to our customers.
We have come to the conclusion that the leap to Widgetry is simply too large for most of our customers, and have decided not to make it. Widgetry does offer improvements over the existing VisualWorks UI framework, and we have invested a lot of time and effort into Widgetry - but that time and effort is not nearly as large as what would be required of our customers in a migration effort. We understand that many of our customers have been patiently waiting for the improvements promised in Widgetry, and we will be using Widgetry as a base from which to incorporate improvements for the UI in VisualWorks in a more incremental fashion.
What does this mean for you, as a user of VisualWorks? It means that your existing UI tools and applications will continue to work, and will not need to be migrated. However, it does not mean that there will be no improvements. In the next release (scheduled for January, 2008), improvements to existing tools (the Refactoring Browser in particular) will appear. Incremental improvements to the UI will start to appear after that, including:
We think that incremental improvements will serve our customers - both existing and new - better than a large leap into a new and incompatible framework. Widgetry will stay in the “preview” directory on the installation media, and will remain available for anyone who is interested in using it. It will not be supported by Cincom, however, and will not be a direct part of our future plans for the product. In the future, we will be avoiding long term projects that require lengthy lead times before customers can examine and explore them. We are committed to working more closely with our user and customer community, and we apologize for the pain and confusion caused by this decision - but we think it’s the best one for our customers
If you have feedback on this, please feel free to send it directly to me, James Robertson, the Cincom Smalltalk Product Evangelist.
On today's Smalltalk Daily, we look at using web APIs - specifically, the Google Calendar API. For starters, we look at the client login authentication.
Technorati Tags: smalltalk
Alan Knight adds some light to last week's heat on Smalltalk, Ruby, and meta-programming.
Update: Blaine Buxton weighs in.
Technorati Tags: ruby, meta programming
![]() |
I just finished "Osman's Dream", a history of the Ottoman Empire. While it was a tough slog in some places, I found it to be an interesting look at one of the least understood - but longest lasting - empires in history. Perhaps the most interesting thing is this: the empire almost didn't outlive its birth. I had already read a history of Tamerlane, and between that book and this one, it's clear that the Ottoman Empire nearly died in the wake of Tamerlane's 14th century expansion. |
It lived on though, and grew right up until the end of the 1th century, when - like many other empires (Russian, Austro-Hungarian, British) - it went into long term decline. There were many reasons for that, and the book does a good job of explaining the problems that were specific to the Ottomans. For instance - as they lost non-Muslim peoples (during wars with the Russians, British, French, Italians, and Austrians), they lost their tax base. That was an artifact of Islamic law as they ran it, where taxes fell more heavily on non-Muslim peoples. As they lost that population, they lost revenues, and it was hard for them to cope with that.
The end game of the empires was interesting, too - apparently, the Ottoman sultans never really played up their role as Caliph of all Muslims until close to the end. Their position as head of the Empire was seen as far more prestigious until they started to collapse inward, and lost their non-muslim populations. That kind of throws a monkey wrench into some of the recent readings of history from some quarters, but it makes sense, and seems to be well researched.
In any event, I recommend the book to anyone who's interested in learning more about the Ottomans.
Technorati Tags: history
The Office Application space is no longer dull - Nick Carr notes that Cap Geminii is pushing Google Apps:
In the clearest sign yet that Google Apps may be about to make the leap from small businesses to large ones, a major systems consulting firm, Capgemini, is announcing today a partnership with Google to push Apps into the enterprise market. Capgemini is incorporating Apps into its outsourcing service for managing companies' PC networks. It currently manages about a million desktops for corporate clients. In a statement that is sure to annoy Microsoft, which has long dominated business PCs with its Office suite, Capgemini says that Google Apps represents "the next-generation communication and collaboration tools [workers] need to manage electronic communications, share and publish information, and stay connected while on the go."
Over on the Mac, iWork has added a spreadsheet, which makes that suite much more compelling as well - and if you run Parallels, you can open Word docs (et. al.) directly into iWork from your Windows mail client.
Microsoft's tidy little office monopoly is getting some actual competition, and from more than one direction. Even if you like MS Office, this is good news - recall that Internet Explorer has only improved when competition (Netscape in the 90's, Firefox now) has shown up.
This is very, very true:
What the PARC guys got that the PC guys didn’t was that the computer is much better at conforming to our mental models of how things should work than we are at learning its model. If programming a computer is just a matter of telling it what to do, then anybody can be a programmer. If, instead, it’s a matter of telling the computer how to do it, then programming is going to be a lot harder. Computers are fast enough for this conceptual gap to be bridged, but no compelling solution is available yet.
Of course, the way things turned out is much better for the Enterprisey, "if it isn't hard, it isn't work" types, who love long meetings and inscrutable code. For the rest of us? Not so much.
Technorati Tags: pc, development
Andres Valloud points to this paper by Wilf Lalonde (PDF), which explains Smalltalk syntax for C/C++/Java developers.
It looks like it's all going to come down to October: The three games between the Yankees and Red Sox next week will be meaningful: if the Yankees sweep that series, they could take the AL East:

Even if that doesn't work out, things are looking good in the wild card race:

We may well be looking at another Yankees/Sox AL battle in October :) Oh, and I think all of A-Rod's detractors can sit down now, too.
I find this highly amusing - from PC World:
The fastest Windows Vista notebook we've tested this year is a Mac. Try that again: The fastest Windows Vista notebook we've tested this year--or for that matter, ever--is a Mac. Not a Dell, not a Toshiba, not even an Alienware. The $2419 (plus the price of a copy of Windows Vista, of course) MacBook Pro's PC WorldBench 6 Beta 2 score of 88 beats Gateway's E-265M by a single point, but the MacBook's score is far more impressive simply because Apple couldn't care less whether you run Windows.
I'm using XP Pro on my MacBook (under parallels), but I might install Vista at some point - if only to be able to demonstrate our product on that OS.
There are people who are connectors, and then there's everyone else. Scoble is a connector, and that makes him an outlier in terms of Facebook usage:
That brings me to Techquilashots. He repeats something a lot of people have said without really understanding what I’m doing with Facebook: “But the problem Robert (and others with tons of friends -- even if it’s 100) is that you don’t really care about the actions of all those people — and in FB apps, you really want to see the actions of certain top friends of yours.”
Totally untrue. I regularly just click around on my friends social graph. Not just the “big name” ones that I recognize. But especially the ones I don’t recognize. I want to know what connection we have and I want to discover new people before someone else does.
I think Robert needs to step back and recognize that the way he uses tools like Facebook is very, very different from the way most people use it. That doesn't make him weird - but it does mean that he needs to recognize his own status as something of an outlier from time to time.
Another example: he mentions from time to time that he's subscribed to over a 1000 news feeds. Heck, most people I know think I'm nuts, being subscribed to 290.
Technorati Tags: social media, facebook
It's been a full year since we started doing "Industry Misinterpretations" - so with that in ind, I've put together a one year compilation - segments of all the preceding episodes, mashed together in what might be considered a humorous fashion. There's a new jobs report and a new design minute, and I have those up front in ths episode - so if that's all you want to hear, just stop at 3:55 in.
We'll be back next week with the start of year two - thanks for subscribing, and of course, if you have feedback, send it to smalltalkpodcasts@cincom.com. You can also find us on iTunes, Facebook, and Podcast Alley.
Technorati Tags: smalltalk
Enclosures:
[http://www.cincomsmalltalk.com/audio/2007/industry_misinterpretations-09-09-07.mp3 ( Size: 13767390 )]
You have to love the elitist idiocy of Time Magazine's "50 worst cars of all time list" - check out page 2, where they list the Model T - and get a load out of the summation:
And by the way, with its blacksmithed body panels and crude instruments, the Model T was a piece of junk, the Yugo of its day.
Um, right. Maybe the author (Dan Neil) should consider the era it was built in, the materials available, and the goals Ford had at the time - which was to make the car affordable for enough people to make it mass marketable. When you look at things in history, it's often tempting to apply modern standards - but it's not fair. The people who lived then had different ideas, and had grown up with different constraints.
I rate this particular article one of the 50 worst of all time for not remembering the basics of history and journalism.
Technorati Tags: stupidity
Ken Treis explains an IE issue that might give you some grief with one field forms and Seaside - the vagaries of how it gets submitted to the server, depending on whether the user hit "Enter" or used the mouse.
I've learned more about browser portability issues than I would have liked to believe existed over the last couple of years :)
I'm still waiting on one audio segment for the podcast - this week is episode 52, meaning we've been at this for a year. Gievn that, I decided to compile an entire episode out of snippets from the year. I like it, but ten again, I'm biased on this :) We'll be back next week with a regular episode, and I should be able to get this one out late tonight or early tomorrow.
Is it the second week of September already? BottomFeeder downloads went back to a nice clip: 230/day. The distribution:
| Platform | BottomFeeder Downloads |
| Windows | 812 |
| Update | 130 |
| Mac X | 126 |
| Linux x86 | 114 |
| Solaris | 102 |
| CE ARM | 60 |
| Mac 8/9 | 53 |
| HPUX | 42 |
| Windows98/ME | 34 |
| AIX | 33 |
| Linux Sparc | 30 |
| Linux PPC | 28 |
| SGI | 21 |
| CE x86 | 9 |
| ADUX | 7 |
| Sources | 6 |
Windows downloads sure popped :). On to the HTML accesses:
| Tool | Percentage of Accesses |
| Mozilla | 56.1% |
| Internet Explorer | 29.8% |
| MSN Bot | 7.2% |
| Other | 4.2% |
| Opera | 2.7% |
And the Syndication numbers:
| Tool | Percentage of Accesses |
| Mozilla | 23.2% |
| BottomFeeder | 16.2% |
| Internet Explorer | 11.8% |
| Vienna | 8.5% |
| Net News Wire | 6.5% |
| Google Feed Fetcher | 6% |
| Other | 4.7% |
| Safari RSS | 4.4% |
| FeedOnFeeds | 3.8% |
| BlogLines | 3.5% |
| NewsGator | 3% |
| JetBrains | 1.8% |
| Python | 1.4% |
| News Fire | 1.1% |
| iTunes | 1.1% |
| Java | 1% |
| MSN Bot | 1% |
| Jakarta | 1% |
I may have spent my career avoiding databases, but this guy takes it to a whole other level :)
However I've become increasingly convinced that relational databases are some kind of sinister death cult who want to lure you in and get you to wear strange stripy clothes with shiny shoes and give all your money to your superiors in the cult. And if you don't conform, or if you conform too well, you just know you'll end up in a pit of dismembered bodies back in the woods somewhere.
Heh.
I don't know why, but even though it was a short week, it feels like it lasted forever. That might have something to do with my mornings - my daughter is now in high school, so our wake up time shifted to 5:45 AM. To say that I dislike that time of day would be a gross understatement :)
Anyway - I have been chipping away at the main website this week - things are changing over there, and you should see a cleaner website starting to emerge. It's a work in progress :)
On today's Smalltalk Daily, we take a look at the XML-RPC library from the client side.