We had the snipers, and now this. I guess this is better than that nutter who was shooting at cars in Ohio, but not by a lot. I drive that stretch of highway quite frequently, as it turns out...
Building structured drawing editors using Connectors and Squeak
Ned Konz: Viewpoints Research
Wednesday 4:00:00 pm to 4:45:00 pm
Abstract: Connectors is an open-source framework for building structured drawing editors using Squeak Smalltalk. The rich component library provided with Connectors makes it easy to customize shapes and connectors, in many cases without writing any code.
This presentation will introduce Connectors and describe how Connectors can be used to quickly construct a Squeak application for editing and visualizing structured data. It will demonstrate the entire process of developing a simple Connectors application, including customizing connectors, connection policy, shapes, toolbars, flaps, and worlds.
Integration with the Genie gesture recognition system and the eToy tile scripting system will also be described.
Bio: Ned Konz has been a Squeaker since 1997, and has contributed a number of enhancements and fixes to the Squeak effort. He is also one of the six "Squeak Guides" who lead the open-source Squeak development effort. He has been working as an independent consultant since late 1999, at the end of a 7000km bicycle trip around the US west. His consulting work includes embedded system development as well as Squeak development.
About six months ago, Alan Kay invited him to join his team at Viewpoints Research, and Ned is now working with a number of projects including end-user computing, eToys, simulation, and other user interfaces.
See you in Seattle!
Patrick Logan considers how things could have gone
If Sun had gone with Smalltalk rather than Java, where would they be now?
If Microsoft had gone with Smalltalk instead of C#, or way back in the 1990's when they could have forged something with Digitalk instead of their long and winding DCOM fiasco
To sleep, perchance to dream.... :)
Apparently, DotNet actively rots your brain - just look at this post:
I'm sitting here at work building an application using TDD (which by itself is another post, and may be coming later), and every time I start a new class for another piece of the puzzle, I'm hating on how I have put the keyword "sealed" class in my declaration. Now, this isn't a major issue, but it can be if you plan on releasing an API for customers to build against. What's my issue? Well, I'm wondering if the "sealed" and "notinheritable" keywords should be applied by default in Whidbey.
He calls this "good design". Uh huh. Assuming that you know everything and that the end users of your code know nothing, I suppose it is. If you assume some level of intelligence in the end users of your code, it's just bad. I'm starting to think that "sealed" and "final" do more harm than static typing - they encourage closed end systems that cannot be extended without heroic efforts on the part of end developers. Run, don't walk, from any code developed by people who think this way...
Ted Neward takes a look at Smalltalk, and likes what he sees - with a few questions:
And suddenly I wonder, Is this the source of all that XP goodness that the Smalltalk community gushes on about? If we had the ability to "load" a JVM or CLI instance into a frozen image, and ship that, say as a 24-48 MB "image" file, think about the possibilities--less startup time (I would think, since this could be a more or less memory-mapped image), plus I could conceivably give my customer an ability to "freeze" an image if a bug hits, and email or FTP the image with the bug in it to me for diagnostics. No more having to recreate the problem! It's all right there, for me to load, inspect variables, and so on.
The worry comes here:
Then again, there's security questions--what stops an attacker from mangling an image and injecting some rotten stuff? Is the image format well-known and easily subversible? If I started using Smalltalk as a back-end HTTP-processing agent, is there weird buffer-overruns or command-injections that could corrupt the image somehow?
There's no way to do a buffer overrun - in .NET speak, Smalltalk is a managed environment - immune to that kind of thing. As to command insertion - you can't load code from a remote location unless the server is set up to do that sort of thing. I have this server set up to load code from a known (server side) directory for patching, but I have to have permissions to place code there in the first place - and the directory is not in the web directory side of things, so it's inaccessible from there.
More generally, and image is just byte code - it's somewhat like a big JAR file, but with the ability to extend and override any code you want/need to. I do live updates whenever I have new code - without taking down the server. The nifty thing is this: If I load in a new version of a class, all the existing instances get updated - i.e., if I added/removed an attribute (instance variable), then all the instances added/removed it as well. That's what makes live updates feasible. The site that hosts this server is running VisualWorks (part of Cincom Smalltalk), and the only attacks I've suffered have been the kinds that all bloggers suffer - comment and referer spam :)
Now one more thing - as to bugs? There have been a few times I've had to debug the server - in which case I've started it up with a GUI, using X over ssh. And then I've debugged the actual problem in the live server as it was handling load. If I wanted to do that with less fuss, I could set up the remote debugging tools that use Opentalk - which I intend to do, when I get a few spare minutes :).
Sean Malloy notices that the software world takes 1 step forward and 2 steps back on a continuous basis. He's not wrong :)
This is why Sun settled - they are losing money hand over fist, with few prospects of improvement....
Chris Double points to the announcement of a new version of Seaside for Squeak. There's also a new VW version in the public Store, but I believe that one is a trifle older...
I've posted a new BottomFeeder update to the dev stream - along with a new TwoFlower. You need both; you'll have some issues if you only grab one. What's new? Well, Holger has done some nice work with Twoflower, and I've been working to turn all the strings into UserMessages (so that the app can be localized). Bugs? I'm sure there are plenty (this is a dev update!) Please let me know
There's some good media news about Smalltalk in Germany:
Smalltalk and VisualWorks covered in a German computing magazine
"c't magazin fuer computer technik" is one of the best-known and most-read magazines for computer and software freaks in Germany. The current issue #8 of April 5, 2004 shows a double coverage for Smalltalk respectively Cincom Smalltalk:
The article "Einfach abheben" ("Take off simply") written by Hajo Schulz and Joachim Tuchel (p. 234 - 239) is the first part of an introduction into object-oriented programming with Smalltalk. As an overview the authors present a comprehensible comparison between Smalltalk and other programming languages. Based on Cincom Smalltalk's VisualWorks the authors explain 'step by step" how to use VisualWorks and create small examples ('hallo World" and "turtle new") for a first start.
"Programmiererfutter" ("Fodder for programmers") by Hajo Schulz (p. 126 - 128) recommends Cincom Smalltalk's VisualWorks as one of three tools for a professional software development. VisualWorks 7.2. non-commercial is part of the CD delivered with the magazine. The article helps for the first usage of VisualWorks - how to start with the CD, where to save the software on the desktop etc. It is a very good "how to use" instruction for VisualWorks beginners - excellent to start with given you understand German.
The magazine's web site: www.ctmagazin.de - Soft-Link 0408126 and Soft-Link 0408234
Report on Cincom Smalltalk Evening at OOP 2004
OBJEKTspektrum, the most important OO magazine in Germanic Europe, published in his latest issue, # 2 March/April 2004 p. 19, a report on the Cincom Smalltalk evening which was organized by Cincom and Georg Heeg eK during OOP 2004 in January in Munich and which was a great success.
Why do we distribute applications across multiple systems today? Is it because we like managing multiple systems? No! It's for scalability. We exploit the fact that tiers of a multi-tier app have different processing loads and scalability methods. Typically, we scale the web/app tier by throwing more servers at the farm while we scale the data tier with bigger servers. However, as Moore's law increases the performance of these machines, the need to scale becomes reduced, From my experience, many smaller apps could easily run a single machine today (esp. when you consider the increased efficiency of eliminating the network and process hops). Moore's law will continue increase the headroom these machines provide and expand the definition of "smaller apps". If you can run the app on a single hardware node, there'd be little reason not to run as much of it as you can inside the database, other than "we might want to scale this out someday".
I wonder if these guys have ever heard of Gemstone/S?
This is funny, but there's a lot of truth in it as well - UML is not a silver bullet, nor is MDA - but a lot of people think they are. This is the best bit:
42 fever. As opposed to the celebrated "42" being the answer to any question about life or the universe, as suggested in Douglas Adams's The Hitchhiker's Guide to the Galaxy, those afflicted with 42 fever argue that "UML" is actually the correct answer. The classical symptom of those afflicted with 42 fever in the sphere of software engineering is to have an a priori delusion that UML is the solution for all software-engineering problems. Research has shown that the delusion in victims of 42 fever can be significantly reduced by secretly playing subliminal messages in their work areas emphasizing that UML's creators did not intend for it to be the answer to all of software engineering's dilemmas
Smalltalk in an Autonomous Underwater Vehicle
Jon Hylands: EDS
Wednesday 2:45:00 pm to 3:30:00 pm
Abstract: Autonomous underwater vehicles (AUVs) are an emerging technology that are ideally suited for exploring underwater environments, in places where it may be too costly or dangerous for manned submersibles or remotely operated vehicles (ROVs) to operate. The software required to successfully pilot an AUV must be very robust, capable of complex behaviors, and also be easy to maintain and extend. Smalltalk fits the bill on all of these requirements. This demo will show MicroSeeker, a simple hobby-level autonomous underwater vehicle built by the presenter, with the high-level embedded "brain" of the system running in Squeak Smalltalk on a PDA.
Bio: Jon Hylands has been doing Smalltalk programming since 1987. Jon's main interests include sailing, hobby robotics, autonomous submersibles, and making Smalltalk work on embedded devices.
See you in Seattle!
Eric Gunnerson highlights a mis-feature of the MS development suite that he's apparently proud of:
So, for Whidbey, we allow the user to mark a class as static, which means that it's sealed, has no constructor, and the compiler will give you an error if you write an instance method.
Someone ask this guy to spell "Object". Go ahead, spot him the first six letters...
Update: I have to pass on this comment I received in email:
I read this as a Java guy taking a feature of the Java language (the ability to mark a class as "final") and taking it a step further. Yeah, it's like a guy standing near the edge of a cliff and taking a step toward the cliff, but it's a step nonetheless. A step they haven't thought through very much. What the hell is the purpose of a class like this? You can't write an instance method? Sounds like something the gang at Smalltalk Solutions would come up with after hours at the bar, as a joke.
Ryan Lowe makes an excellent point on browsers that most of us forget - a lot:
The bottom line for me is this: web browsers are meant to show pages of text, not host elaborate client-side applications. Sure, forms are build into browsers and they are OK but there's a fine line of interactivity there. Accessibility concerns remind us how far we are actually straying from the main browser idea. If you have to wonder if your web site is accessible, it's probably not designed right for everyone else either.
Danny Ayers notices that the CNet folks have done something amazing - on a page labelled as a set of RSS links, they have a link to a so called feed in a whole new format. Not RSS 2.0 with namespaced elements. Not RSS 1.0 with namespaced elements. Not Atom with namespaced elements. It's a whole new format, labelled as if it's RSS! Yeah, that's a way to deliver content in a clear fashion.
Ben Galbraith points to an interesting Wall Street Journal story on a new software co-op, and asks the question: "How long will corporate America put up with the high prices and low quality of the software industry? A handful of major corporations have "enough is enough" and have banded together to form their own "software co-op". What impact will this have on our industry?". That leads to my own question - how long will corporations continue to listen to the utter morons who give software recommendations as if they were electing a prom queen? I mean seriously, this data isn't new. If corporations want better results, they have to widen their view and look beyond the supposed mainstream....
Clean Slate: Smalltalk and its Progress
Brian Rice: Logos Research and Development
Wednesday 2:45:00 pm to 3:30:00 pm
Abstract: An introduction and progress report for the Slate programming language and environment is provided, with the design rationale and examples of the benefits already gained from it. Several new sub-systems and features will be introduced and demonstrated, include the subjective programming facilities, graphics / interface architecture, general libraries, and the design of the implementation. Since Slate is similar in spirit to Squeak, comparisons will also be drawn between them in particular.
Bio: Brian Rice is a long-time member and contributor to the open-source Smalltalk and Lisp communities. He has been conducting informal research into language and system design for several years, and recently started developing the Slate language to channel these activities into a venture.
See you in Seattle!
Worms can keep you healthy, according to new research. That's interesting...
MS is cutting back features to speed up Longhorn's initial release. That's not a big surprise - the dates had been slipping as far as 2008, and that was going to create an opening:
Microsoft won't ship an interim version of Windows, retail or otherwise, before Longhorn according to email seen by Business Week. The memos from a week ago suggest that Microsoft is jettisoning features from Longhorn in order to meet the ship date of the first half of 2006.
I addressed this general problem here, and it seems that someone at MS at least understands that the release cycle was getting absurdly long. Now that need to hand the cluestick over to the Whidbey team :)
We are looking at 4 straight days of rain. That wouldn't be so bad, if I hadn't fertilized the lawn before I went to Europe. Why is that bad? Well, it's now become very clear that I missed quite a few spots. I have a "stripey" lawn, and it's not in a good way :)
Resilient: Making Embedded Systems Serviceable
Lars Bak: OOVM A/S
Wednesday 10:30:00 am to 12:00:00 pm
Abstract: Developing software for embedded systems has until now been very static. Source code, written in C, is compiled and linked on the development platform and the resulting binary image is transferred onto the device. In an industry where robustness is paramount and dynamic software updates are required, this is simply not good enough. This presentation will describe a new approach to developing software for embedded devices. At the bottom of the software stack we have replaced the operating system with a Smalltalk based virtual machine. Scheduler, interrupt handlers, device drivers, networking code and application software are executing on top of this virtual machine. We will discuss some of the design decisions behind this dynamic, lean and mean system for embedded devices. The approach solves many software related problem within the embedded industry. The two biggest problems are full serviceability and transparent software updates. We will conclude with a demonstration of the Resilient programming environment and embedded platform.
Bio: Lars is a technology industry veteran with more than 15 years experience in virtual machine technology, product engineering and management. Prior to founding OOVM in 2002, Lars was the main architect of the Java HotSpot virtual machine at Sun Microsystems, Inc., a highly successful product with more than 50 million installations worldwide. At Sun, Lars was also the main architect of the CLDC HotSpot virtual machine, a new high-performance system for mobile phones. Lars holds a MS degree in Computer Science and is inventor on numerous patents within virtual machine technology.
See you in Seattle!
Julia Lerman talks about the general lack of women in the software development business: (in the context of an MS MVP meeting)
She brings up an interesting point about the very young MVPs - teens and college students. The only college age MVP female I know is Stacey Yasenka from Ohio. I met her when I kept asking isn't there even ONE girl in the Student Ambassador program. She now proudly tells me there are three! But there were even some highschool boys
This is a general issue in software, hardly limited to the MS side of the development house. I don't think it's a sexism thing at this point in time - most guys I know would love to have more women in the mix. No, this seems to be one of those subtle sorting things, like you see at parties. Go to a party with a bunch of married couples that know each other - over time, the men and women will tend to separate into their own groups, talking about their own subjects of interest. I've seen this for too many years to think it's a coincidence :) It looks to me like software development is one of those fields that women tend to sort themselves away from. Why? Heck, darned if I know. I just know what I see.
I haven't read any fantasy novels - other than LOTR - in many, many years - I think my love of LOTR stood in the way of exploring anything else in the genre, and I had gotten into political thrillers and "Alternate Reality" books (such as most of Turtledove's stuff). I was thrown back into the genre last fall and Christmas though - my sister bought me the first four books in this series - "The Wheel of Time" by Robert Jordan. It's a ten book series, and not over yet according to my sister.
I started reading the first book in the fall - and to be honest, had a little trouble really sinking my teeth into it. It was good, and I was interested - but I wasn't yet in the "can't put it down" frame of mind. That held pretty much through the first three books - I was interested, but not really enthralled. I finished the fourth book on my way back from London, and that brought me to the end of the gift books - and also had me hooked. I got down to Barnes and Noble straight off, and bought books five through ten - so I guess you could say I'm committed now :)
I guess I'm back to fantasy novels again. I'm enjoying this series, and last night at Barnes and Noble I noticed my eye wandering over other books in the genre. Looks like my reading habits have shifted again
Wednesday 2:00:00 pm to 2:45:00 pm
Abstract: A panel on the future evolution and directions of the Smalltalk language. Participants TBD.
See you in Seattle!
who wants OK? Not me. When there's 500 channels of people telling us how to become perfect cooks, gardeners, dressers and travellers, any compromise feels like, well, compromise. And that's the problem with choice. Whatever I choose probably won¹t live up to my expecations, leaving me to feel that somewhere out there, there was the thing I missed, the one that would make me happy right now.
A few years ago I worked with a big UK supermarket chain. We did some research into why people shopped organic. Was it for health? A commitment to the environment? To sustainability? The real reason was quite shocking: in the organic aisle, there¹s only one kind of carrot, two kinds of potatoes and one kind of lettuce. People were paying a premium to escape being confronted with twenty varieties of spud.
That's interesting - it lines up with things I hear about VisualWorks as well - there are too many ways to organize code (categories, parcels, namespaces, packages, bundles) - people don't want that - they want a recommended path. Sure, some people want more choices so that they can design their very own optimal solution - but most people don't. This is food for thought...
Steve Wart tells us just how productive DotNet is allowing him to be - read the whole thing
Mark Roberts: Cincom
Wednesday 9:15:00 am to 10:00:00 am
Abstract: SmalltalkDoc is a web application that generates API and reference documentation for the VisualWorks package and class library, reading it from a Store repository.
Bio: M. Roberts is a member of the VisualWorks team at Cincom Systems, Inc.
See you in Seattle!
Visiting New York in April? Then stop by the next STUG meeting and hear about ST goings on in South America:
Beyond OO - Smalltalking Argentina
Smalltalking is a forum created to encourage advances in object technologies. The members of this group share a particular vision of Smalltalk and the way it can be used to build information systems. The presentation will discuss concepts like ambient programming, emergencies and stability of a system.
Some of this ideas will be illutrated with four samples:
- Small OLAP system.
- Complex telecom system analisys.
- Development of a Smalltalk dialect from scratch to be used for Virtual Reality.
- Building traditional systems.
Diego Coronel has been working with object tecnologies for more than ten years. As an independent consultor he has lead system development for companies like Amadeus and Interamerican Development Bank. Member of Smalltalking from its beginings, is currently involved in a Dolphin Smalltalk project.
Date April 21st, 2004 Location Suite LLC offices Address 440 9th Avenue, 8th Floor Time 6:30pm to 7:00pm -- Open house Time 7:00to 8:30 pm -- Beyond OO - Smalltalk Argentina
Charles Miller speculates on possible side effects of the Sun/MS deal:
Now call me a cynic, but I can't help wondering if the next year will see a less aggressive, more financially responsible Sun cutting back on projects that are unprofitable and that only exist as a weapon against a company they are no longer in pitched battle with. Projects like, say, OpenOffice.org.
That wouldn't surprise me either. They just made a 9% across the board cut; if that doesn't return them to profitability (and I'd bet it doesn't), then killing projects that make no strategic sense is the next logical step. The problem for companies in this situation is determining which projects to keep, because internal politics plays as big (or bigger) a role as anything else - and I say that as someone who's been an internal witness to such nastiness...
Cringely thinks that nothing can stop MS except MS itself:
Sun no longer poses any threat to Microsoft. Part of this feeling is based on agreements between the two companies that have to exist but weren't announced. For all we know, Sun may have given up the future of Java altogether and will allow it to wither away and be replaced by .NET. Whether that's the case or not, Java Desktop (Sun's biggest strategic threat to Windows) is over. Sun now goes back to being just a maker of big Unix servers intended to support a Windows-centric IT world. And the whole Java culture, which is to say IBM and Oracle, is threatened. Microsoft hobbles three opponents in one deal.
The worst thing about this deal is that Sun brought it upon itself through a campaign of ridicule and hate promulgated personally by CEO Scott McNealy. This is McNealy's failure and nobody else's. The quotes last week from McNealy were laughable, the about face nothing short of shameful. How are Sun's big customers going to believe what the company says in the future in the face of such a change? How can they base huge technical investments on the word of Sun?
Now, I'm far less convinced that MS has hobbled IBM and Oracle in this deal (especially given the db opening MS has handed Oracle with the increasingly long delay in the release of Yukon). IBM, I'd never count out - and with this deal in the air, you now know why IBM suddenly started talking up an opening of Java. IBM has done very well the last few years by not doing what McNealy insisted on doing - taking MS on head to head in a space MS owns.
Make no mistake - this is a huge victory for MS (as I said here, right after the announcement). It's not the end of the world in IT though - Sun has been weak for a long time now, and this is simply Sun management catching up with that reality. MS is bound to slip - IMHO, it'll happen no later than the time that Gates decides that he's (personally) had enough and wants to get off the ride....