I just love this kind of article - it shows up from time to time in a mainstream media production - probably in order to reassure the author that he's still relevant. This week's entry in the "columnists are soooo much better than bloggers" sweepstakes is Andrew Binstock, a man I've written about before - often enough that it's more useful to provide this google search than to point at individual posts. Suffice to say, Binstock has a casual relationship with the concept of research. Having gotten that out of the way, let's move along to this week's dreck:
You can quickly come to 90 percent of content if you add up the self-absorbed blogs of tweens, teens and college kids; the hate blogs; and, of course, the many, many abandoned blogs. Of the remaining 10 percent, you then eliminate topics that don’t interest you. You now are way under 1 percent -- yet you have literally hundreds of blogs to choose from. If software development is your thing, you’ll want to skim off the blogs by engineers or CEOs who are shills for their companies; those who evangelize their pet technology; and most especially, those who are always attacking or condemning some person, some company or some technology. Finally, you’re in the clear, with the handful of truly useful blogs.
Maybe, just maybe, Binstock has heard of this recommendation notion; i.e., "if I like this guy's writing, perhaps I'd also like this other guy he seems to like". Nahh, that would require research, and he's just allergic to that. Far better to spin out a few hundred words, collect the check from corporate, and keep stumbling cluelessly along.
The funny thing is, his entire article could just as easily refer to media (online and offline) in general. Ever been in a suburban hotel that's away from most things, where the only place you can find to get a magazine is the local quick mart? After you eliminate the porn and the celebrity rags, there's not a lot left.
Craig Latta got a spread in this week's SD Times - with an article about how he produces music with Smalltalk:
Most concertgoers are used to seeing large projection screens behind the performers. Trippy or poignant visuals are a standard part of any major musical performance these days. But when Craig Latta performs his extemporaneous pieces in front of an audience, the screens behind him project source code.
These musical performances don’t come from a set list, and his visual performances aren’t just precooked movie clippings or looped mandalas. Latta, instead, improvises the creation of both his musical and visual presentations. His instrument is the keyboard, and his music staff is accessed via Smalltalk.
Here's the roadmap session I gave at the users conference last week. I spoke for a bit over 30 minutes, including questions. I guess I didn't restate all the questions, and they weren't all audible - but they should come out decently from the context of my answers. In any case, enjoy. You aren't missing any slides - I didn't use any.
Here are some more photos from Bruce, starting with one of Mark Grinnell, in a talk about ObjectStudio 8:
Next, two shots of the feedback session near the end of the conference - first a shot of Suzanne, Georg Heeg, and I at the table, and then one of me talking to the audience:
Finally, one of Suzanne talking to the crowd:
During the conference, Bruce Boyer took some photos (with a much nicer camera than I had with me). Here are a few of them. First, Alan Knight during his talk:
Next, Georg Heeg and Andreas Hiltner, during one of the ObjectStudio 8 talks:
Here's a picture of Michel Bany, during his Seaside for Cincom Smalltalk talk:
And a last photo for this post, Suzanne and Andreas Hiltner during one of the BOF sessions held in the evening:
It turns out that the artists don't really need more money from the public: just the studios:
Sure, the RIAA hasn't exactly been on the good side of the general public since, oh, this century began, but it sure isn't doing itself any favors with this latest hint of persuasion. While the agency has fought grandmothers, children, and cash-strapped citizens quite vigorously to "ensure artists are getting due payment," it has seemingly opened up a chink in its own armor by pleading with judges to "lower artist royalties."
Maybe Bronfman needs to buy a new house or something, now that he's given his own kids a "good talking to" about piracy.
Technorati Tags: PR
Wow - Jon Udell is going to Microsoft. I wonder how well he'll fit in there? They could certainly use his spirit.
This post on Java Generics is as good an example as any for why dynamic typing is just better. The sorts of edge cases and issues being debated simply don't come up for Smalltalkers.
If it walks like a duck, and quacks like a duck... you don't really need the compiler to tell you it's a duck.
Peter Fisk is doing what Smalltalk did back in the early 90's: getting out in front of the bigger players by being more nimble:
Over the past couple of weeks, I have been focused on building an integrated GUI designer for Vista Smalltalk. The most difficult parts are now completed and I expect that a functioning tool for building simple user interfaces will be available before Christmas.
I think Peter's work bears watching.
I gave my talk this morning, and then we had a feedback session, where Suzanne, Georg Heeg, and I took questions from the audience. Here I am, giving my talk:
Then we moved on to feedback, and here's the three of us when we started that:
And finally, the audience we sat in front of for that panel:
It's been a great set of sessions; now we have a set of BOF sessions to do before we wrap up with a dinner.
I couldn't take notes during Scott's talk - my machine was busy recording the talk. Scott introduced us to the open UP process that he's championing at IBM, which you can get information on here. Most of Scott's talk should come through pretty well on the podcast. I'll get that posted sometime next week - there's an awful lot of audio to go through though :)
So to Seaside: one major thing is that we have no templating. It's all done in Smalltalk. The metaphor is canvas and brushes.
Another nice thing is that most debugging is in Smalltalk, using the Smalltalk debugger. Michel recommends using Firefox with the Firebug plugin at the browser level.
Next we have 4 short presentations. First, Andre Schnoor of Cognitone:
Cognitone sells products that enable music prototyping. The editing allowed is pretty cool. Andre claims that he has saved 75% of the time he would have taken using anything else.
Next up: Jan Lukes, who's going to talk about using Store in a more Envy-like fashion:
What he's trying to get:
- Versions for classes
- Tool like ApplicationManager
- Better comparison tools
- Color coding for versions
They decided not to muck with Store itself, just the tool level interface to it. For auto-publish, they issue a sub-versioning publish on each accept. For class versions, they use one package per class, and hide packages completely. They treat Bundles more like Envy applications.
Next: Alfred Wullschleger - he's going to present a dynamically defined state model that's not based on the state pattern:
What they were after was a user configurable state model, so they created a state model that works a little like an event model.
And finally, Uwe Danzeglocke is going to talk about deploying cross platform software:
He also went briefly over some IT best practices standards and configuration management best practices. Interestingly, they base all of their products on one image, and control what can and cannot run based on license keys that unlock modules. They support one look and feel across the products, and have multi-lingual support.
The NY Times reports that spam has simply exploded over the last year (especially the last few months):
You’re not the only one. Spam is back -- in e-mail in-boxes and on everyone’s minds. In the last six months, the problem has gotten measurably worse. Worldwide spam volumes have doubled from last year, according to Ironport, a spam filtering firm, and unsolicited junk mail now accounts for more than 9 of every 10 e-mail messages sent over the Internet.
That kind of volume is going to kill free email. I'm not sure how a paid system would push itself onto the net, but I would bet that a paid (and open only to members) service by a large vendor would attract interest.
Martin is back up to talk about the WS* stack in VW. This is mostly a demonstration of the WS* tools that have been appearing in the product over the last few releases. The first demo is actually something I covered here, in one of my screencasts. Martin's next demo is exposing a Smalltalk service via WS*, and the example is a time service - which I posted on awhile back.
Finally, Martin demonstrated the new support for SOAP headers, both in the stack and the supporting wizards.
Alan's going to cover some advanced ideas using Glorp - for instance, how can you use Glorp to do what Ruby on Rails /ActiveRecord does. Glorp itself is an open source (LGPL, with Smalltalk qualifications) that works across Smalltalk platforms. It's also the O/R future for Cincom Smalltalk. Glorp is meta-data driven.
So to basically define Rails - "opinionated software":
- Go really fast, in one direction
- Reaction against J2EE/.NET
- "Greenfield" projects
- Ruby based
- Some Smalltalk like "tricks" in RoR
- ActiveRecord pattern for persistence
To contrast: Glorp uses explicit metadata, while ActiveRecord is implicit. It uses strict naming conventions, hints at the class level, and is aware of (English) language forms. It does code generation (mostly for the web).
Glorp uses a single broker (session). It's responsible for object identity and manages automatic writes. It's agnostic to use (GUI, web, etc). Rails is actively for the web, classes act as brokers, there's no object identity, only one global session. Glorp puts a premium on flexibility, while Rails puts a premium on simplicity - there may not even be a domain model (per se).
So the question is, can we provide some of the benefits of Rails without losing our advantages?
- Automatic persistence
- convention driven
- but be less restrictive
- use a bit more information
- allow a graceful transition to non-automated
So first, we have to be able to read the DB schema - Glorp can now do that (at least, for Oracle and PostgreSQL). After a bit of explanation of how the schema is read, it's off to a demo. The demo hooks up one of the standard Seaside demos (the Sushi Store) to use a database instead of in-image data.
“WPF/E” (codename) is a browser enhancement module that enables browsers to render rich content in addition to HTML. ‘WPF/E” is compatible with both the Safari browser and Firefox 188.8.131.52 on MacOSX 10.4.8. The Dec 2006 CTP will expire on February 18, 2007 at which point when a web page that uses it is rendered, it will prompt the user to update to the latest version. “WPF/E” (codename) will periodically ping Microsoft.com to verify its integrity (at which point the only information that will be communicated will be your IP address and the module version).
So there you go - it looks like Vista Smalltalk won't be just for Vista...
Uwe Liebold of AMD is here to talk about testing frameworks that they use in their Smalltalk applications:
The CEI application is part of their APM (Automated Precision Manufacturing) approach. The APM powered fabs are controlled by software/hardware that Uwe calls their "central nervous system". The CEI baseline began with Fab 25 in Austin, Texas in the early 90's. It's been extended, enhanced over time. Currently, they are using VisualWorks 7.2. They have:
- ~3000 classes
- ~45,000 methods
- 27 MB runtime image
They have gotten more and more interested in testing as time has gone by - they simply cannot afford downtime in a 24x7 manufacturing system. At the same time, they have continuously changing requirements, so implementation and integration are never done. They started to get more serious about unit testing after they migrated up from VW 5i.4.
They've put testing on an equal footing with development - they now run all their tests after every integration, and they use SUnit both in development and in deployment (using RuntimeTestRunner, a tool that logs results rather than reporting to a GUI). They've introduced a concept called Matric Tests, which is based on hardware test scenarios. It's a 4 step process:
- Set parameter(s)
- Run component
- Read result
- Validate result
He's wrapping up with a demo - the TestMatrix stuff is kicked off the same way that normal SUnits are - using the browser extensions, straight from the RB.
Next up: Martin Kobetic, who's going to talk about the security frameworks in Cincom Smalltalk:
This talk will be covering SSL, client authentication, and certificates in Cincom Smalltalk. The web server being used for demonstration is a simple web server implemented in Opentalk. To use a secure connection, the first thing we need is a certificate. Typically, you get a certificate from a trusted source, but you can create them from code (probably for testing), or import one that has been issued:
You can save (and restore) keys that you generate for this to and from disk (or a database, etc). You can save and restore certificates the same way (in fact, I've done that in BottomFeeder). So with that out of the way, Martin is creating a secure (https) server. This looks just like creating a normal one, but with the additional step of handing it a certificate, and telling it to use a transport of https instead if http. With that done, using Firefox, we get the normal "Do you trust this certificate" prompt from the browser.
Unlike browsers, we don't ship CST with pre-trusted certificates. The reason? It's a hard job to make sure that the ones you ship are up to date and valid. You can add certificates to the registry (and save that to disk) pretty easily:
registry := X509Registry new. registry addTrusted: someCertificate.
Likewise, there's protocol to handle revoking and removal of certificates. Also, you can export the certificates out of the browser and read them in using class CertificateFileReader.
This is Dr. Jochen Eckert of DB Systems, who's going to tell us about train scheduling using Cincom Smalltalk:
The goal of this project: They needed to accurately schedule their trains with correct times, and without conflicting train paths. They have 40,000 trains/day, over 35,000 km of tracks. They needed:
- a GUI for Visualization and user interaction
- Detailed calculation of running times. times of usage, conflicts
- Multi-user access - 7 regional business units, around 50 users per unit.
The client is a VW 7.4.1 "fat client" connected to an Oracle 9 DB and some Smalltalk servers. There's also a lighter weight version for notebooks that uses personal Oracle.
After a few interesting hiccups with his slides, Alan proceeded to talk about Store futures:
The topics: Shadow Compilation, updated Merge Tool, Glorp as a Store back end, Projects and Streams, and Internationalization (for Store).
Shadow Compiling: motivated by partial code loading - i.e., errors that occur while the code is loading from Store. Source loading involves filing in code from the repository, which can lead to file-in load ordering issues. For instance: you are loading a new version of the Oracle Database Connect while using the Oracle Database Connect as your repository connection.
Parcels obviate these issues by installing code after all the code has been read. Parcels also supports the loading of code that cannot be fully installed (but will be if/when the pre-requisites for it are loaded). Store loading works in one of two ways: Source (like file-in), Binary (like parcel loading). Source loading does handle unloadable definitions better than filing in. Binary loading does not.
So Shadow Compilation: like file-in, compiles source. Like binary, defers installation (loads into a shadow namespace). From the user's point of view, it's an atomic load. This stuff will be included in 7.5, but will not be turned on by default. It's essentially preview (beta). To turn it on:
Store.Bundle useShadowLoader: true.
There will be an option in settings for that.
This next part is mostly demo, of the new merge tool that's been done. It's a much nicer tool now - you'll just have to look at it when 7.5 ships.
Store For Glorp: a Glorp back end for Store. It adds an actual object model to Store. In the process it improves performance, makes for better queries, and supports schema modifications (at present, this is hard). This is in preview now, but a number of people are using it (including Cincom engineers). Features:
- Repository Crawler
- Browse Class Versions
- Store Worksbook - a workspace of useful Store expressions
Projects and Streams: Addresses "configuration management" issues in Store. Very early stage, design level work. We do want feedback.
- Higher level code organization
- Tools aspect of that
- Code management aspect of that
We want projects to be partially loadable, aware of deployment and non-Smalltalk artifacts. We also want to support explicit branching. Streams more or less means a series of versions with branching supported. To do that now, you have to go by naming convention. Streams will allow something akin to Envy "open editions".
Up next are Ralf Ehret of SAP, and Taylan Kraus-Wipperman of Heeg, talking about the Smalltalk to NetWeaver connection project.
What does this enable?
- SAP can use Smalltalk for exploratory modeling
- SAP customers can use Smalltalk with SAP
- Provides a standard way of integrating Smalltalk and SAP in a project
This provides a connection to all SAP back end services, and is a first step to being a part of the SAP Enterprise Service Architecture [ed: maybe the enterprisey types will notice :) ].
This is all built on the industry standard WSDL/SOAP model. This allows Smalltalk to invoke RFC-enabled modules. The NetWeaver Connection makes Smalltalk a first class citizen inside the SAP NetWeaver world - it allows anyone to use Smalltalk with or instead of Java and ABAP.
The Smalltalk side is built on top of the WS* stack on VW. With that, it's a demo of the xCarrier project, using the SAP order system and the VW Transportation Zone system (the VW piece of the xCarrier project). The steps:
- Process incoming order
- Find business partner
- Get TPZ for incoming order
- Use TPZ for truck load planning
The demo shows an SAP application talking to VW via the WS* stack - you can see a similar thing in one of the screencasts I did recently. This stuff is going to be available (beta) with VisualWorks 7.5. There's future development going on: deeper access to the SAP BAPI repository, automatic access to RFC function definitions, and access to the Enterprise Service Repository.
This morning's keynote is from Heinz Roggenkamper, VP of Development at SAP Labs. His team does R&D at SAP, as a way of introducing the rest of SAP to possible futures. They've been looking at Cincom Smalltalk as one of those possibilities.
A Smalltalk test was done using a duplicate invoice finder problem as a test. They were pleasantly surprised at how quickly they got to a working proof of concept with help from Heeg. Those three weeks included a one week training class. One of the big take aways for them was that they felt like they understood the domain better at the end of the process.
They did a second proof of concept in a project called xCarrier, which deals with supporting shipping management: selecting the carrier, etc. They implemented an awful lot of the rule engine in 3 weeks, and got the proof of concept integrated with ABAP and Java components (web services). Georg Heeg picked up at this point to explain how things went from the Smalltalk side:
The approach taken was the classic one - model the known domain, and learn the rest of it as you go. This involved very short iterations with constant feedback. For the integration piece, a connection between Cincom Smalltalk and SAP NetWeaver (SAP's Web Services piece) was built by Heeg's team.
What does SAP like? They like the fast feedback from customers, and the ability to build executable case studies. Right now, they are using Smalltalk as a learning/exploratory tool rather than as a deployment tool.
Can you say "selective enforcement"?
On the last day of the recent Reuters Media and Marketing Summit in New York, Warner Music Group CEO admitted that he was "fairly certain" that one or more of his seven children had downloaded music without the permission of the copyright owner, which Reuters referred to as stealing.
Despite the alleged infringers' proximity to the major label head and his direct awareness of it without the use of ISP subpoenas, somehow no lawsuits were deemed necessary, although Bronfman said that his kids had "suffered the consequences"
You know, this is the sort of hypocrisy that makes the RIAA in general, and Bronfman in particular, look like a complete tool.
This is Andreas Hiltner and Mark Grinnell going over how you approach a migration from OST classic to ObjectStudio 8. Some limitations:
- ObjectStudio allows "- 500" as a message - that's not supported
- For backwards compatibility, method parameters can be overwritten. VW typically does not allow that.
- Global Variables are now SharedVariables defined in the ObjectStudio namespace.
- The ObjectStudio 8 compiler does not allow duplicate names between instance and class instance variables
- Immutability: literals cannot be changed at runtime (however note: in the Parcels directory, there's a backwards compatibility parcel).
- All loaded ObjectStudio code will end up in the ObjectStudio namespace (and, you need to descend from those classes in order to get the ObjectStudio Smalltalk compiler)
- If you subclass collections, you need to implement the instance method #copyEmpty: in order to copy any new instance variables you want to preserve.
- Note the #at: and #at:put: have different return semantics between OS and VW. The OS semantics have been preserved in the OS8 classes.
- Note that #whileTrue: now returns nil, and #whileFalse: also returns nil. In classic OS, they had returned true and false (respectively)
- The new Date class only allows valid dates (it raises an exception on errors). Also, month names are now case sensitive.
- Processes: Classic OS uses native threads for Smalltalk processes. In OS 8, these are all green threads (eliminates a host of synchronization issues). The ThreadBrowser has been replaced by the ProcessMonitor.
- SendHooks don't exist - MethodWrappers are the VW version of that.
- Breakpoints do not have much overhead any longer.
- User written primitives: you may well have to make some modifications to these - we provide an example makefile showing what you need to do.
- Nil (with the capital) is now a special instance of OPTR. Any pointer should be checked against Nil, not NULL or 0 (zero)
- SQL Server: The old db-lib interface has been deprecated - the interface now uses ODBC.
Niall Ross is talking about in place updating of an application. Here's Niall:
The fantasy scenario: "We'll port to (insert language here - could just be a new major release of something like Cincom Smalltalk), freezing development while we port". Fantasy, because no one can go through the porting period with no new features.
The reality: Frantic development continues while you port - which makes the porting task all the more difficult.
Niall recommends an agile approach: work with the pressures, not against them. So you minimize early code changes (namespaces, class definitions, etc).
Porting from single namespace Smalltalk to modern VW - create a single name that will be used, and to start with, do this:
- Build a package with only a namespace and the right resolutions
- define a "faux" namespace that actually maps to the Smalltalk namespace (which allows you to make the bigger change later).
Niall also recommends keeping the old (non-namespaced) and new (namespaced) codebases in synch, in Store. You can do this by creating rewrite rules and reconciling code between Store packages/bundles. One key tip: defer broken initialization issues until later. Loaded code is easier to fix than unloaded code.
The demo Niall is showing is pretty cool - using rewrite rules and a port of Store for Glorp to VW 3, he's replicating code from VW 3 into a Store repository, and then reconciling it in VW 7.x. Another cool thing - Niall and a few other people have extended the rewrite engine piece of the RB with menus, in order to make it easier to use.
I gave my roadmap talk at 2:00 pm; you'll have to wait for the podcast to get the lowdown on that. Up now, we have Andreas Hiltner and Georg Heeg, who are talking about the ObjectStudio 8 project. ObjectStudio 8 is ObjectStudio running on the VW VM (actually, inside VW).
First, a brief history - VW descends (like Squeak) from the original Smalltalk-80 at PARC. ObjectStudio was a greenfield Smalltalk (originally Enfin) aimed specifically at Enterprise users (easy DB hookups, mainframe connectivity, etc). Here's Georg and Andreas getting set up:
Smalltalk has classically been a great system for modeling - so we can model one Smalltalk system in another. VW has the higher performance VM, so we modelled ObjectStudio inside VW. So ObjectStudio and VW live together in the same image, meaning that you can use all the capabilities of both environments inside one codebase. The goal was to make it possible to use existing OST and VW code seamlessly; we've gotten pretty close to that. In most cases, there's only minimal porting necessary for existing ObjectStudio projects.
So the history of this project:
- June 2005: First "Alpha" - not tested
- Then we started testing, fixing compatibility issues (or deciding to use something else. For instance: BinaryObjectStreams are gone, you need to use BOSS instead)
- December 2006: We've been working with some early access customers to test on real applications
Now Georg is going over the basic approach taken. The idea was to model OST in VW, preserving syntax and semantics. This meant:
- Created an ObjectStudioCompiler
- Embedded in a namespace
- Shared much of the kernel code (collections, magnitude, etc)
The other goal was to make OST global names act like they did in older ObjectStudio. One of the interesting things is that ObjectStudio 8 can export code the same way as classic ObjectStudio always has - which means that the source code control strategy OST developers have always used will continue to work.
So we now have:
- One installation
- One VM
- Two sets of DLLs
- One image
- Decision at startup as to what you want to use
Another interesting fallout of this project is the way the event loop is handled: classically, the event loop in VW has been in the VM, and a subset of events have been pumped up to the image. That's been changed: the event loop is now image level (i.e., in Smalltalk). There's a positive side to this even if you aren't an ObjectStudio developer; you can create your own event handlers at the Smalltalk level now.
On source code, ObjectStudio developers can do one of two things: they can use Store, the system used by most VW shops, or use the SmalltalkArchives, which allows file based storage (one file per application). You can also write out class files as you always have in classic OST.
So our schedule: we are entering open beta this winter, and will have a supported release of ObjectStudio 8 this summer (2007). Some known issues:
- Immutability (of literals)
- Declaring Pool Dictionaries
- You must export modeling tool definitions in ASCII (binary format is incompatible)
Another thing to note: The Modeling Tool will not be supported in the initial release of ObjectStudio 8 - we would appreciate feedback from the Smalltalk community on this.
The cool thing is that everyone benefits. OST developers gain access to all the components of VW (WS*, web apps, etc, etc). VW developers get native GUIs on Windows (if they rewrite the GUI using OST frameworks). They also get access to mainframe connectivity.
In OST 8, the VW browser and debugger are used, while the OST inspector and workspace tools are still around.
Microsoft Corp.'s Zune device dropped to fifth place from second in the U.S. market for digital media players in its second week in stores, market researcher NPD Group Inc. said.
Week one sales were better than early reports, but ot looks like things are settling down to mediocre for week two. I still think MS made a huge error in killing PlaysForSure and not supporting Windows Media Player.
George Bosworth is one of our keynote speakers - he's spent the last few years at MS (as part of the CLR design team). He had previously been one of the leads at Digitalk, for the Smalltalk/V VM. He's doing some consulting now under the name "Ephemeral Consultants". Here's George:
And here's the audience:
The title of the talk is indicative of the content: "Small things matter a lot". George makes the point that as he transitioned from Pascal to Smalltalk (this is way back, before Digitalk was founded), he noticed how much easier it was to read Smalltalk code and understand what was going on.
"Too many details can make it harder to understand"
Here's a nice point: "programming in the small", as opposed to "programming in the large". To wit: Programming in the Small means that you have white box usage and text level reuse, you rewrite/refactor often. Programming the Large means that you have black box usage, object level reuse, and you standardize and attempt to fit things into your framework.
Here's another great quote, that George took from one of the early customers of Digitalk (and still one of Cincom's Smalltalk customers:
"Risk should be managed, not eliminated"
Risks are indicative of upsides and downsides; you can't win if you don't play. Another good one:
"When nothing is working, failure is not to be feared"
This one came out of an IBM lab where they decided to throw caution to the wind, since they figured that they would all be fired if they couldn't deliver their demo app within the (shrinking) time frame they were looking at. Often, we do our best work when there's no other choice :)
Another good insight:
"The critical innovation may not be the software"
Unless the software is actively getting in your way, the real innovation usually needs to happen on the business side, not the development side. Another great point:
"Usage is better than analysis"
"dogfooding" will teach you more about your product than anything else. He gives a great example from Microsoft - they started using SQL Server internally, so that they could learn first hand what did and didn't work. Here's where George sees things going:
- Large Systems
- Huge multi-cores
- Software always on
- old tradeoffs are no longer appropriate
- Requiring perfection leads to disaster
- Mistakes are to be encouraged and learned from (if you don't play, you can't win)
Smalltalk encourages the latter. Having fun is important too!
The conference has begun - we are recording the sessions, and I should be able to get podcasts up sometime after the conference ends. They'll all end up in the same podcast feed as the regular ones. Here's Dave Wood, EMEA Director for Cincom, opening the conference.
We have a good crowd - a total of about 100 people, including Cincomers and partners. Should be a good conference. Here's Suzanne Fortman, who followed Dave Wood, and then Monika Laurent:
We had a pre-conference dinner last night - mostly Cincomers and Heeg folks. Here's a picture I took of one end of the table (my camera's batteries went after this):
From the left, that's Magnus Jakt (Heeg), Helge Nowak (Cincom), Georg Heeg (Heeg), Andreas Hiltner (Cincom), and Suzanne Fortman (Cincom). I'm off to exercise and get breakfast, and then down to the conference. Everything looks good for recording the sessions, too!
I would have put this post up last night, but the hotel's internet service crapped out. So, here we are are this morning :)
With some time to kill, a few of us decided to go see some local museums. What we didn't know is that museums tend to be closed on Monday here in Germany. We did manage to see some interesting buildings though; here's a shot of a church tower taken near the Christmas fair:
Here's another one looking at the other side of the street at the fair:
The fair was packed on the weekend, according to people who were awake enough to get out that day. That wasn't me - I passed out around 5 pm :) Finally, here's a river view I took once we realized that the museums were closed, and all we could accomplish was lunch:
Technorati Tags: frankfurt
Nick Carr notes that Google's "spaghetti strategy" hasn't been well received internally, either:
Brin has been particularly blunt. In early October of this year, the Los Angeles Times reported that "Sergey Brin is leading a companywide initiative called 'Features, not products.' [Brin] said the campaign started this summer when Google executives realized that myriad product releases were confusing their users. 'It's worse than that,' said Brin, Google's president of technology. 'It's that I was getting lost in the sheer volume of the products that we were releasing.'" The article also quoted Schmidt, who said of Brin's effort, "That is a big change in the way we run the company."
I suspect that the "20% time" thing - whereby the developers spend up to 20% of their time on pet projects - has a lot to do with the scattershot product strategy. I suspect that it also has a lot to do with some of the products that have been completely neglected (splog magnet Blogger, anyone?).
More than anything else, they need focus. The ad business is doing really well for them, but it's masking a whole host of other problems.
Technorati Tags: Google
Argh, I hate being a geek sometimes. When I see a computer belonging to a relative that's in such bad shape and instead of just leaving it alone I have to volunteer to "fix it up and make it better", leaving me to be here at the computer at 9 at night on a Sunday running virus scan after virus scan on an old and busted laptop.
That's exactly why I recommend Macs to my non-technical friends and relatives. My brother in law and I were commiserating over the this kind of thing recently. My father in law - a man with multiple degrees and doctorates, who built his own PC (and he's over 80) - needs this kind of periodic help. If he had a Mac, he wouldn't have those problems.
Linux? Sure, it's a possibility. For the non-technical user though, I think a Mac is simpler. And the intel Macs aren't much of a premium (price-wise) over PCs anymore.
Technorati Tags: windows
Ralph Johnson talks about some interesting Squeak work:
The last few weeks I've been looking at Pavel Krivanek's project to break Squeak into smaller modules. Unlike most people, who start at the top and try to carve out pieces, he is starting at the bottom. He has developed several images. KernalImage is a Squeak image without any GUI. It has collections, numbers, classes, the compiler, but little else. It has a text-based UI that can evaluate Smalltalk expressions, and it can load files from disk. Pavel has a fileIn for Monticello, so then you can load any other package, as long as it doesn't have a GUI.
KernelImage is a place I'd like to see VW get to, with everything else loadable.
There are some skype artifacts in this one - we spoke to Peter Fisk, author of Vista Smalltalk. Those artifacts were there during our chat, and while they are noticeable, they don't really get in the way. We had a great conversation, and I came away with a much better feel for Vista Smalltalk and where it's going. Hope you enjoy it.
I've finally made it to the hotel (as you can probably tell from the backlog of posts that suddenly appeared). The room seems nice, and there's free wired (and wireless) internet service. That's an improvement from Philadelphia. I'm off to exercise; no idea whether I'll stay awake after that :)
|I finished a quick read this afternoon, while waiting in Philly: " In the Wake of the Plague ", by Norman Cantor. It's more of a "cultural history" of the plague, looking at the changes that followed after the death. A lot of hinge points came up:|
- The death of Princess Joan, daughter of Edward III of England. She was on her way to marry the King of Castile. Had that gone through, there would have been dynastic links between England and Spain - who knows how that would have affected the future history of relations between the two?
- The pogroms against Jews (especially in central Europe) caused a flood of refugees into Casimir's Poland. That led to the large Jewish community in eastern Europe, which was later targeted by the Czars (and extinguished by the Nazis)
- The labor shortages in England, which led to a backlash by the monarchy and nobles - and in turn led to the peasant revolt of 1391 (which in turn led to more brutality).
Anyway, that's just hitting on a few of the high points of the book. Cantor's got a great conversational style, which makes the book very approachable. I recommend it highly.
|Fortunately, I brought another book along: " Tamerlane: Sword of Islam, Conqueror of the World ". I'm not done with this one, but it's a fascinating look at the late 14th and early 15th centuries in central Asia, when Tamerlane raged across the steppes. The name we know him by is one he would have been offended by; it's a corruption of "Temur the Lame", which refers to an injury received in his early career.|
Like a lot of rulers from that era, he was a complex mix of culture and bloodthirstiness - it's likely that he killed millions as he built his empire. One thing I didn't know - he's apparently been rehabilitated in Uzbekistan since the fall of the USSR. His birthplace is in that nation, and he's become something of a national symbol. It's enough to make you wonder how people like Stalin and Hitler will be viewed 6 centuries from now...
Technorati Tags: history
My network-free stay in Philadelphia was graciously extended by USAirways - it looks like yesterday's storms had after-effects lingering into today. We had two gate changes, and didn't get off the ground until after 5:30 (which means that I could have taken the later flight from BWI this morning, and gotten more sleep. Oh well).
Anyway, it looks like we won't be terribly late - we have strong tailwinds, and we'll make up more than an hour of the scheduled air time due to that. On another positive note, there's power at the seats, and my Targus adaptor works nicely with the plugs. Looks like the flight crew is bringing dinner along, so I'll be closing the notebook soon, and flipping over from music to podcasts.
Time for the weekly look at the logs. This week, BottomFeeder downloads proceeded at a rate of 173 per day (I'm also getting another 30 or so per day from the CNet site, but the daily stats aren't really available there). The details:
I only have the Windows version available on the CNet site, and you can see that the Windows download rate on my site is down a little - it's transferred over. On to the HTML page accesses:
|Tool||Percentage of Accesses|
A little more parity between IE and Mozilla this week - they are tied, for all intents and purposes. Finally, let's have a look at the syndication stats:
|Tool||Percentage of Accesses|
|Net News Wire||8.4%|
|Google Feed Fetcher||6.6%|
|RSS 2 Email||1%|
And that's another week in the can
So after an exciting lunch in the food court, I've found a power outlet and have the laptop up. Small glitch though; no wifi. How can the international terminal in Philadelphia have no WiFi access? I feel like I've taken a quick trip back to the 90's. Oh well - I can catch up on all the feeds that updated over night, and read one of my books.