Welcome another blogger
We've got another community blogger here - Sean Malloy. Subscribe to his feed here. Sean's just learning VisualWorks, and I look forward to hearing about what's easy and what's hard from the perspective of a new Smalltalker.
We've got another community blogger here - Sean Malloy. Subscribe to his feed here. Sean's just learning VisualWorks, and I look forward to hearing about what's easy and what's hard from the perspective of a new Smalltalker.
This accident happened maybe 15 miles from where I live. Sounds like a tanker trailer carrying gas fell off an overpass, onto I 95, and then blew up when a truck on 95 plowed into it at highway speeds. Video footage from the scene showed the highway had melted. Matt Croyden has a picture on his site
So what if Nicole Ritchie were a developer?. Heh
Dave Winer says that users care about things like feed quality:
Greg Reinacker says his aggregator will continue to accept bad feeds. This may make his competitors look like idealistic dreamers for thinking it would serve users' interests if they spend more time designing and coding new features and less time working around bugs in content. With all due respect, I think Greg is wrong about users. They do care about quality.
That all depends on the user in question. Technical users - like, say, the ones involved in this discussion - care. Non-technical users might well care, but not in the way you might think. I think of my neighbors, in sales and teaching. They use computers, but are not the least bit technical. Last year, after they got a PC back from their vendor support, it couldn't print. They had no idea how to fix the problem. Likewise, if they start using an aggregator, and it throws some error message at them for a feed, they won't have any idea what it means, nor will they care. They may stop using the feed; the may try another aggregator; they may get turned off on the whole notion of news aggregators. Rest assured, notifying the producer of the bad content will not be something they would do.
Now, consider - are most software users like us, or like my neighbors? I think the answer is clear, unless you aren't thinking very hard. This explains why non-technical users like Windows and Mac, and don't really like Linux - because it's too hard. End users want software that works like their TiVo or their ReplayTV. Minimal setup, easy to interact with, and - outside of absolutely critical errors - doesn't bother them with trivia. To an end user, having a non-compliant character in a feed item is trivia. Ask yourself this - would you want your stereo to inform you explicitly everytime it comes across a flaw on the CD you are trying to play? or do you want it to compensate and move on?
This is the look of momentum - Ted Neward - author of a forthcoming book called "Effective Java" - is going to be the editor of a community site called TheServerSide.Net.
I'll be speaking to the NY STUG in New York City on January 28th:
James Robertson, lead developer for the BottomFeeder project and whom has an uncanny resemblance to the Cincom Smalltalk Product mananger, will be demonstrating BottomFeeder and discussing technical issues such as the use of Web services, http based communications and so forth. BottomFeeder is an open source RSS viewer which provides for viewing of BLOGS. BottomFeeder is built using VisualWorks Smalltalk.
Details:
Date Jan 28th, 2004 Location Suite LLC offices Address 440 9th Avenue, 8th Floor Time 6:30pm to 7:00pm -- Open house Time 7:00 to 8:30 pm -- BottomFeeder presentation. Directions:
Take E or C train to 34th (Penn Station) walk to corner of 34th and 8th. Walk up one block to 9th. RSVP is requested. Please send mail to: charles@ocit.com with subject line of: NYC Smalltalk Jan 28, 2004. Our meetings are opened to the general public. Invite a friend !
To join our mailing list simply send mail to charles@ocit.com. Joining our list will give members access to all of the presentations and articles maintained on our site.
Any questions send mail to charles@ocit.com
See you there!
There's a mailing list for Squeak Smalltalkers in China: squeak-cn@lists.squeakfoundation.org. They list Liang Peng as an additional contact point. Go Smalltalk!
Dare Obasanjo talks about products that are so good that communities organize around them and advocate - without the help of the vendor's marketing department:
The interesting thing is that I find myself to be one of these people. Whenever I start talking to someone who doesn't have a TiVo about owning one the conversation eventually a sales pitch. I've found that talking to people about the iPod to be the same way. Halfway through the conversation there's the frustration that washes over me because I can't seem to find the words to truly express to the person I'm talking to about how much the iPod or TiVo would change that aspect of their lives.
To some extent, the Smalltalk community is like that - but that isn't enough. At least in the IT world, you need some level of backup from the vendor(s) in order to convince your management...
Charles Miller writes on a topic I've touched on more than once, and makes a lot of sense in the process. Go read the whole thing.
It seems that MS gets it on blogging. In a post describing a meeting with various bloggers at MS, and with a marketing manager, Chris Sells relates this story:
And then Adam Sohn from marketing talked about the need to police ourselves, describing some of the downsides in regards to blowing some group's launch plans or unconstructively criticizing another group. He preached caution when approaching the line between what was good for the customer and what was good for Microsoft. After listening to what I began to interpret as a message of self-censorship, I asked Adam a warm up, "Isn't it true that a lot of the stuff close to the 'line' is what our customers find most valuable?" He agreed that it was. And then I asked Adam my real question, "So, when we get close to that line, do we err on the side of our customer or ourselves?"
Now, you have to remember that I've been a contributing member of the Windows development community for a lot of years. I've seen how aggressive Microsoft is in everything it does to always be on top. So when I asked on what side of the line I should come down, I fully expected to be told to keep the shareholders in mind.
I think there's a simple reason that MS understands how and why blogging works - above all else, MS is a marketing machine. They are all about getting the message out to customers and prospects. They seem to have realized that blogging is (or can be) another marketing channel. Sure, a less controlled, more chaotic one - but a channel for information nevertheless. Additionally, they seem to have figured out that a lot of developers and IT managers are tired of the perfectly processed messages they get fed every day from vendor marketing machines. Blogging allows them to get that same message out, but in a more authentic voice.
This is the point where you should be asking yourself how many bloggers your company has...
Blaine Buxton hears the sound of lost productivity, and doesn't fall for it again.
And this is why I don't miss Java: Joy Of Java. While you're at it, read the rest of the blog for a lot of fun reads. This guy knows what he's talking about and is very entertaining to read. But, I remember pain like this when I was doing Java. I tell ya I don't miss the 10 minute start-up time of a Tomcat servlet so I could find out in less than 2 seconds that I had to restart it because I found my problem. Wash. Rinse. Repeat. It's nice not to have to restart the web server everytime you want to debug new code (yeah, I know about hot swap, but it only works on simple method changes....). Lots of languages can keep their web services up and running while you're programming in them though (think scripting, lisp, smalltalk, etc)...
That sound you hear? It's the rest of us busy being productive while you restart your services....
CNN is reporting on steak gone wrong:
SEATTLE, Washington (Reuters) -- The city that spawned America's obsession with strong, dark coffee is giving locals a popular new coffee-flavored steak, even while the mad cow scare that started in Washington state is putting some people off beef.
Rippe's, a local waterfront steak and seafood restaurant, began serving filet mignon steaks dusted with Starbucks Corp.'s dark espresso blend a few weeks ago and now has a runaway hit on its hands.
The authors of Feed Demon and of NetNewsWire say that they will reject malformed xml out of hand:
NetNewsWire creator Brent Simmons recently announced that NetNewsWire's future support for Atom will require Atom feeds to be well-formed. Some people aren't too happy about this, claiming that he's applying a double standard that will make Atom appear less useful than RSS.
So, I'll add to the stink by stating that my plan is the same as Brent's. FeedDemon will also support Atom, but if an Atom feed isn't well-formed XML, FeedDemon will display an error rather than try to parse it. In fairness I have to consider this decision open to input from my customers, but I want to explain why I believe this is important.
I'm already off the reservation with BottomFeeder. It doesn't handle anything thrown at it, but it does ignore as many problems as it can. I use the standard VisualWorks XML Parser, but I do intercept and ignore a bunch of the error conditions. Why? Because it's an end user tool, and many of the end users are never going to report the problem as malformed xml - not to me, and not to the author of the bad feed. What they'll actually do is hunt around for a replacement aggregator that will handle the bad feed. That's the reality of it, and all the hand waving in the world isn't going to change it.
I'm not about to use a different set of code to deal with Atom than I do with RSS either - especially since Atom is the same blasted thing, with slightly different tag names.
Charles Miller is tired of stupidity. With regards to the silly "theory" that the moon landings were faked:
So after going through the usual gang of of objections 14the stars and shadows, and so on 14and extracting grudging admissions that the chance of a conspiracy that big and with that many people involved staying secret so long is incredibly low, we ended up back at the same old place. It's just my opinion that it never happened. Opinions can't be false, right?
People believe they have some right, some moral imperative to hold any stupid opinion they want. I'm sure in the USA, it's even Constitutionally protected. You have the God-given right to hold any damn opinion you want, even if it runs counter to every single fact you've encountered.
Where's my God-given right not to be subjected to stupidity?
I'm with him on this :)
Smalltalkers, get your browsers revved up:
ESUG Innovation Technology Awards
The European Smalltalk Users Group (ESUG) is proud to announce its first Innovation Technology Awards. The top 3 teams with the most innovative software will receive, respectively, 500 Euros, 300 Euros and 200 Euros during an awards ceremony at the next ESUG conference (6-10 september 2004, Köthen, Germany). Developpers of any Smalltalk-based software are welcome to compete.Eligibility
- Any Smalltalker can apply (students, companies, ...)
- The presented piece of code/software should be written in Smalltalk or directly support Smalltalk (e.g. Smalltalk VM)
- All Smalltalk dialects are accepted
- The applicant should own the copyright/copyleft of presented code or at least be the official representative of the copyright/copyleft owner
- The presented software should be recent. It should have been finished after the 1st january 2002.
- The software should be free for non commercial use.
How to apply?
Applicants should provide :
- a short paper (in PDF format) up to 3 A4 pages in 12pt font with :
- keywords for the entry, and
- Smalltalk platforms it runs on, and
- whether it is a free or shareware, or a professional piece of software,
- names and affiliation of developers, and
- description of their software, and
- one or more screenshots of their software, if possible, and
- a runnable demo (available for download or on a CD).
- Descriptions and demo location should be sent to bouraqadi@ensm-douai.fr
Evaluation
- Winners will be selected by votes of the conference attendees.
- Pieces of software will be downloadable from the ESUG website 2 weeks before the conference to give people the chance to evaluate it.
- Every applicant can give a 10min talk/demo during the conference.
- Then, conference attendees do vote.
A vote consists in providing a sorted list of 3 prefered pieces of software. Voters should provide such a list based on their preception of software's:
- Innovation and Creativity
- Stability and Performance
- Successfull use
Winners are softwares which ranks top the most often.
Dates
- Applications (see requirements) should be sent by july 1st
- Notification of eligibility will be sent by july 31st
- Demos, votes and the Awards Ceremony will take place during the ESUG Conference, 6-10 september 2004, Köthen, Germany.
I'm curious about the "finish date" - January 2002?
The Queen Mary 2 sails - looking for all the world like a 1920's or 1930's era luxury liner.
I agree with this post - anonymous content is valuable. There's a long history of anonymous content in the US; Benjamin Franklin published anonymous screeds after the Constitution was ratified. If a person thinks it's safer/better/easier to publish anonymously, then who am I to argue? Heck, I host an anonymous blogger here.
I guess we have to support Windows 98 for a long while yet - with days until the announced end of life, MS just back-pedaled - it's supported through June 30, 2006 now. DOS lives....
I'm just about to release the 3.3 release of BottomFeeder. This release is based on VW 7.2, so upgrading will require replacing the base image and VM (non windows) or base executable (Windows). Your saved files will all be handled just fine by the upgrade; there's been no change to the formats. What's new?
There's a number of other "under the hood" changes that won't be immediately noticeable, but will result in a better application. We are working to get the doc updated, and expect to have 3.3 out shortly. Stay tuned!
This CNN article is kind of sad:
The Walt Disney Co. is expected to close a feature-animation studio in Orlando, Fla., on Monday, jeopardizing the jobs of nearly 260 animators, the Orlando Sentinel reported Saturday.
There's plenty of good animation happening outside of Disney these days -- it's just kind of a surprise to me that Disney couldn't keep up...
I just found out that the SciFi channel has a news feed. The cool thing is how I found it - the Feedster "feed of the day" feed. Keeping up with the doings of the SciFi channel should be easier now.
I've been meaning to comment on this piece from Dare Obasanjo for awhile. In the meantime, go read it.
Don't like the way VisualWorks formats things in the browser? Try this:
FormatterConfigurationTool open
Danny Ayers shows us how the Atom effort is stuck on how many angels fit on the head of a pin type discussions. These guys need to realize that "good enough" solutions beat "perfect" every day of the week....
Dave Winer points to a developing RSS Module for "The Sims". There's a use case I wouldn't have guessed in advance.
Ted Leung points out one of the reasons MS keeps winning - they understand marketing, and they glom onto new directions in marketing very, very quickly:
Sara Williams of Microsoft announced the Microsoft is doing a Planet MSDN. Of course, theirs is called blogs.msdn.com, which makes total sense. They are using the weblogs.asp.net infrastructure, and I have to give a lot of credit, because these folks were among the earliest to aggregate blogs for a development community. Maybe they'll fix their infrastructure to do 304 and Gzip.
This led me to think about other commercial development communities, which led immediately to Java. So of course, there is java.blogs, which has been out for a while. weblogs.asp.net is to javablogs.com as blogs.msdn.com is to part of java.net. And indeed java.net is aggregating bloggers. Unfortunately, the blogging activity at java.net is very, very low. If I was a Java engineer, I would be begging my management to let me put some content up on java.net. Among the early adopters, Sun looks distinctly unclueful on this.
I have some sympathy for Sun on this - I've put together a Smalltalk blogging community, and there's no way to force content - all you can do is get interesting people blogging, and hope that the content comes along. On the other hand, Microsoft has done that - they have a very large community of bloggers, both internal and external. They have people like Scoble cheerleading both internally and externally, they have lots of their product managers and project leads blogging - and they've got a growing community of users blogging, mostly about MS stuff (take a look at Sam Gentile's excellent blog, for example). Now go back and look at Sun - as Ted says, it looks pathetic
The Smalltalk community's efforts are as big as I can manage on my own - I created the blog server for this site, I'm writing BottomFeeder - it's fulltime work. With that said, anyone that wants a Smalltalk oriented blog should contact me. I can get you set up quickly, and I'm on the lookout for more community bloggers.
Last year, I spent a fair bit of money on a 51" Sony TV (stupid me, buying it right after the Super Bowl). It was very nice, and I've spent many happy hours watching DVD's on it. Lately, we've noticed that the colors are off - it's been flashing a lot of green. Well, this takes me back to the warranty information - yes, less than a year old, should be covered. Thus began another saga of "offshore and clueless support staff" lotto.
Day one
I call Best Buy, where I bought it. This, at least, was efficient. No extended warranty, I have to call Sony. Off the phone quickly, look up the Sony phone numbers, and call. After way too long navigating an automated system who's "options had just changed" (do any options ever stay static? For any automated system?) I get a real person. This is where the trouble starts
I explain the problem, give the tv's serial number and model number. He asks for the purchase date, I give him that. He tells me that I should get a call or email back within a few days with information. I grab his call center ID so that I have some evidence of the call.
Day 2, three days later
I call support again, wandering through the automated system again. Finally I get a person. After re-explaining the problem in depth, I'm told that I have to haul the 51" tv off to a service center. I explain that
This gets me nowehere, as this guy is clearly just following a script. I ask for a superviser. His response to this is interesting - he marks my case critical and says I'll get a response in 24 hours by phone or email. I grab his call center ID as the call ends
Day 3, next day
I get a call from Andy at Sony. He actually sounds like he wants to solve my problem - after I start explaining that I don't think I should haul my tv to a service center, he tells me there's no need - this tv qualifies for in-home service. Remembering that I have someone helpful, I don't explode. He gives me the names and phone numbers for 3 local service centers which will be able to help me out, so long as I have a receipt to show them. Having that, I thank him - but I also point out that the call centers I got did not even hint at the possibility of in-home service. He tells me that he'll follow up on that, and the call ends.
I immediately call the first place on the list - and they tell me that no, they only service TV's sold by them directly, and that they will be calling Sony to remind them of this. Gritting my teeth now, I call the second place on the list. Finally - a place that wants to help. They take the purchase date, model number and serial number - and tell me oh, that's a known problem - we'll order parts, and call back with a service date. I thank them, thinking - known problem??
With a car, a known problem gets me a recall. I would be much more disposed towards another Sony purchase if I'd been notified of this known problem. I'd also be more disposed to buy Sony again if the call centers I'd gotten had had accurate information - instead of lots of go away so we can close this call information
And there's the problem, I'd warrant - Sony sent their call centers offshore to save money - the first two I spoke to had those hard to place accents typical of the genre. These call centers likely have some incentive to close cases quickly - probably as part of their basic contract. Now here comes the kicker - do those policies and contracts lead to better service for the customer? No, not at all. I went through the same exact crap with ReplayTV last year. The problem with outsourcing support is not that the function goes overseas - it's that the function goes to an outside vendor who's incentives are all set by the contract you sign with them - and not by actual care or concern about the actual problems of the customer. This becomes abundantly clear whenever you have to be the end consumer of outsourced support - you have to push up at least one (sometimes two) levels before you can get anything that resembles support. Sometimes, as with Sony above - you don't even get accurate data. What you do get is an attempted brush off, as quickly as possible.
I'm going to start asking more support questions when I buy higher end products. I'll happily pay extra if support is provided by the same company that sells the product. Why? Because the employees will have a stake in the customer's problem. I understand outsourced phone support from a business perspective - it looks like it saves money. The question to ask is, just how many future customers are you ticking off and losing that way? Sony, take note - you'll be last in line next time I look into an audio-visual component.
Roy Osherove is just blown away by IntelliJ, especially by edit and continue. Maybe someone could show him a Smalltalk system and see what he thinks of the real thing.
Brad Abrams explains the concept of Managed code to the curly brace crowd. Smalltalkers and Lispers have been using a managed environment for decades now - nice to see MS catching up...
Joseph Pelrine explains some of the thinking behind the XP adage "Do the simplest thing that could possibly work". In a nutshell, he describes it as a "call to action" for thinking about the problem. It's a good read.
Dave Winer has been building an interesting site showing off voluntarily submitted feed lists. Now he's interested in subscrbing to them; BottomFeeder can already subscribe to OPML feedlists. I just added the top 100 to mine...
Lambda the Ultimate points this presentation by David N Smith (of IBM) on class behavior in Smalltalk.
I remember years ago, when ParcPlace started up a consulting group - I went to the Austin TX office for a meeting. A few of the guys who had just started with Smalltalk had a wheteboard covered with a hierarchy diagram, complete with the "wrap around" that occurs at Object. They were scratching their heads, trying to make sense of it all. Too bad they didn't have this paper! It's a bit dated (referring to ST/V on OS/2) - but the concepts explained are still current
I'm noticing that developers are reporting an "out of memory" exception in VW 7.2, with no idea how they are getting it (typically at image start). Here's the likely cause - Loading the VisualWave (Web Toolkit) server and not resetting ObjectMemory policies. In 7.2, loading the server resets the memory settings in a way that is appropriate to a server with lots of memory - but not necessarily for a client. Try this:
You'll see something like this: #(10.0 10.0 250.0 1.0 1.0 5.0 1.0). Look carefully at that third value - 250.0. What these numbers represent are multipliers - how much bigger to make a specific segment of VW's Object Memory at startup. That third one is LargeSpace. The reason it's been expanded has to do with appropriate sizes of socket buffers in a web application system. If you save your image in this state, it will try to allocate 250X of the third value returned by ObjectMemory defaultSizesAtStartup (204,800 bytes on my Windows box). That means that your system is going to ask for a lot of RAM (51MB on my system) for LargeSpace at startup. The exception means that the OS wouldn't yield up that much RAM to your process.
The solution? For development, do something like this before saving your image: ObjectMemory sizesAtStartup: #(10.0 10.0 10.0 1.0 1.0 5.0 1.0). Save your image, and you'll have more reasonable defaults for a development system. For a deployed server, the 250x may be more appropriate, but that depends on the specific configuration (RAM, swap space, etc) of your server - check the class comment and class side documentation of ObjectMemory for details
Linux today reports that SCO fooled itself. According to Novell:
On June 26, LaSala wrote: "SCO's statements are simply wrong. We acknowledge, as noted in our June 6 public statement, that Amendment No. 2 to the Asset Purchase Agreement appears to support a claim that Santa Cruz Operation had the right to acquire some copyrights from Novell. Upon closer scrutiny, however, Amendment No. 2 raises as many questions about copyright transfers as it answers. Indeed, what is most certainly not the case is that "any question of whether UNIX copyrights were transferred to SCO as part of the Asset Purchase Agreement was clarified in Amendment No. 2 (as SCO stated in its June 6 press release). And there is no indication whatsoever that SCO owns all the patents associated with UNIX or UnixWare."
The rest of the article is well worth perusing. It's starting to look like SCO's management team convinced itself that it had the goods - without actually verifying that fact. The SCO responses to these assertions look an awful lot like hand waving and "pay no attention to the man behind the curtain" theatrics. This whole thing may well end with nothing more than an epic destruction of shareholder value - SCO's.
The Cincom Smalltalk blogs now have accurate referer links. I hadn't looked at the code for that in a long time - in fact, not since I was the only one blogging here. The upshot of that was, the referer links that had been on this blog were actually for all the blogs here. That's no longer the case; the lists are now accurate for each blog (modulo referer spam, which I'm still seeing).
To start this new year full of smalltalk we propose you to attend the following talk by Joseph Pelrine on Tuesday the 13th (January) at 17h15 at the iam room 107
Breaking down the dialect barrier
New techniques for cross-Smalltalk interaction
"Smalltalkers are friends separated by a common language". One of the unfortunate side-effects of Smalltalk's popularity in the 90's is the plethora of more-or-less incompatible dialects. The ANSI standard and Camp Smalltalk notwithstanding, it still happens too often that high quality, existing code does not get reused because it's only available in one dialect or version, and the pain of porting often outweighs the benefits.
This talk will describe a number of state-of-the-art techniques being used in Camp Smalltalk and other projects to increase cross-dialect compatibility and assist migration between existing Smalltalk implementations. Demos will include moving code from VisualAge to S#, and using ENVY/Developer with VisualWorks 7 and Squeak.
An apero will be given after sponsored by our sponsors:
Sounds like an interesting talk
The European Smalltalk User Group is proud to announce that it will organize an academic track for the 12th year of existence of the ESUG Conference with an excellent program committee.
Scope:
The goal of the academic track is to have a forum for publications related to Smalltalk and dynamically-typed languages. We encourage authors to submit excellent quality papers as we plan to produce proceedings. The organizing committee strongly discourages the submission of product presentations and other marketing related material. The academic track is about research!
A non exhaustive list of topics is
The best papers will be published in a special issue of the Elsevier international journal "Computer Languages"
Program Chair:
| Dr. Noury Bouraqadi (Ecole des Mines de Douai, France) | bouraqadi@ensm-douai.fr |
| Prof. Stephane Ducasse (University of Berne) | ducasse@iam.unibe.ch |
| Prof. Roel Wuyts (Université Libre de Bruxelle, Belgium) | Roel.Wuyts@ulb.ac.be |
Program Committee:
Important Dates:
Format information:
Preferred format: PDF
Maximum paper length 15 pages
How to submit a paper:
Send your paper in pdf format to Noury Bouraqadi, Roel Wuyts, and Stephane Ducasse.
Joseph Pelrine points to a great quote:
Humphrey's Requirements Uncertainty Principle "for a new software system, the requirements will not be completely known until after the users have used it".
How true that is, and - according to Joseph - it comes from a co-inventor of CMM!
Patrick Logan comments on this piece. At issue is why vthe big language vendors - Sun and MS in particular) - don't offer much in the way of dynamic language support. Patrick asserts that in fact, they are moving that way - just very slowly:
I think an answer to the question above has more to do with the psychology and sociology of programming than it does with anything else. The big companies are almost by definition the ones whose value chain ends with giving the majority what they want. What they want is not always what works good in laboratories, nor is it necessarily what is "best for them".
Looking at language evolution in the long run, especially as plotted against a graph of Moore's Law, clearly the trend is to become more dynamic. A good indicator is a major industry journalist writing about such things.
True enough. In the meantime, people interested in productivity can take a look at Smalltalk.
Derek points out more "how to irritate the people who pay the bills" behavior - this time from the TV networks:
NBC started playing games with ER's start time, ensuring that my TiVo season pass for CSI would always get kicked to the curb by the higher priority ER, because they changed the start time from 10pm to 9:59, creating a conflict.
With the move of "Ed" to Friday nights, they're now doing the same thing with "Ed", starting it at 8:59, so that it will now conflict with "Boston Public".
This is just stupid. Time-shifting is the new reality; the networks simply have to deal with it. This happens in all businesses; sometimes, a fundamental change rolls through. The outfits that rage against the darkness die, and the ones that figure out how to adapt to the change make it through. It looks to me like NBC is in full-on "rage against the darkness" mode...
Someone hand Michael Nascimento Santos a Smalltalk system, and show him how exceptions predate Java. Since he's just seeing that CheckedExceptions can be a problem, this could be enlightening:
I would like to point out, though, that it is very easy to speak about something that was conceived almost 10 years ago, after many years have passed and after using it and seeing others using it; it's a huge advantage the original creators couldn't have. James Gosling and all the other folks at Sun have made a great job designing Java and its API and, after nearly a decade, it is obvious there are things that could be better. I'll write more about other things - some far more critical than the way exceptions work - soon. Stay tuned!
The thing is, they weren't 'conceived' 10 years ago; they were badly copied....
The Cincom Smalltalk online tutorials have been updated to reflect changes in VisualWorks 7.2. Check them out today, and download the NC
The trade rags are confused by the proliferation of Java related "standards" bodies:
Developers, not to mention journalists, must have their heads spinning trying to decipher the differences between these three outfits. Evidence of the confusion was witnessed during a press conference call Tuesday, when it was noted that a perception exists, incorrectly, that Eclipse is working on its own variation of Java.
reminds me of the old army axiom - "Any order that can be misunderstood, will be misunderstood"
Jon Udell notes that the Enterprise players - Sun, MS, etc. - still aren't paying attention to dynamic languages:
We hoped 2003 would bring a rapprochement between the dominant enterprise VMs, Java and .Net, and the dynamic-language VMs that are still in many ways well-kept secrets. That mostly didn't happen. At the JavaOne 2003 technical keynote in June there was a nod in the direction of JSR (Java Specification Request) 223, which would enable languages such as PHP to be used in the Java Web tier. But the stewards of the enterprise VMs still aren't pushing to integrate them with the popular and productive dynamic-language VMs.
Jython, the Java/Python hybrid, has a growing cult following, but isn't on Sun's radar screen. Microsoft has yet to deliver on its early promises to make dynamic languages first-class citizens of the CLR. Here's hoping that the many VMs that flourished in 2003 will work better together in 2004. (Full story at InfoWorld.com - part of 2004 Technology of the Year)
The big boys are still trapped in group-think mode, where of course we need static typing....
Charles Miller finds seven different StringUtil classes in his Java project - as opposed to the one String class in my Smalltalk project. Why? Because I can directly extend String. Here's the part I find interesting:
Today, I found myself wanting to do a pretty basic String operation that wasn't on the main class, so I sent IDEA ooff hunting and there were seven classes in my Classpath called either StringUtil or StringUtils, all of them from different projects.
So I wrote the method myself. Finding the one I should have been using amongst that lot was just too much effort :)
Just one more reason why there tends to be less duplication in Smalltalk; things go where they belong...
Ted Leung looks at conditional get. The blog server we use here is mine, with some (slightly dated) information here. Now, the interesting thing is that Ted shows my RSS feed as not producing 304 (not changed). Hmm. This server simply drops a new version of the feeds whenever there are additions or updates, so the files in question are served by Apache. Here's the relevant header info (before this post went live):
| last-modified | Wed, 7 Jan 2004 00:50:55 -0500 |
| etag | "2e2a75-ace1-3ffb9e3f" |
| server | Apache-AdvancedExtranetServer/1.3.23..... |
The html part of the page is served by Smalltalk, and the feeds are created by Smalltalk - but they are simply static pages served up by Apache. I just ran a test using the libraries BottomFeeder uses for Http access, and sure enough - I get back a 304 on successive queries. I suspect that NetNewsWire isn't actually making use of conditional-get, at least not in Ted's tests
As if it's not enough that the RIAA wants to make it impossible to listen to music in any way other than over-priced CD's, now they are creating referer spam. Like I'd ever want to know what those bozos have to say...
Via Ted Neward comes this lovely bit from the Shark Tank. Read it and weep :)
Dan Ingalls has an embedded Squeak system available:
Fellow Smalltalkers -
I have a fledgeling company that sells a weather station I designed in Squeak. To make it a real product, I had to come up with a low-cost processor that runs Squeak acceptably. Finally last year I found one based on the Mini-ITX board that looked promising. I engaged Michael Rueger and Ian Piumarta to come up with a compact Linux capable of supporting Squeak, and that could be booted from Compact Flash, and we now have what is effectively an embedded Squeak machine. I've negotiated with my supplier (for weather stations) for a "Squeak Box" configuration at a special price. Since it's a cool thing, I thought I'd let people know in the wider Smalltalk community.
The price is $250 (I get none of this). After unwrapping you get...
A black box that is just the right size for an LCD display stand (1.75"x9"x11.5"). Also a 12v power supply that plugs into the wall. Inside is a 533MHz VIA Mini-ITX motherboard with 64M of memory installed. There are no fans in the box, and it still stays cool. On the front is a slot that accepts a compact flash card, which appears to the processor as an IDE disk drive. The Squeak PC is shipped with a 96M flash card installed which includes
- A compact Linux 2.4 boot system,
- A full Squeak 3.6 (plus OSProcess and Games) with Linux VM, and
- about 60MB of free space
On the back is a host of connectors that include stereo audio in and out, network, 2 USB, RS232, mouse, keyboard, display, video and printer port.
The unit is complete and ready to boot. All you add is keyboard, mouse and display. With no fans and no disk, the only moving parts are the boot button and the electrons -- it is *silent*. The 12v setup is nice, since you can get UPS for the price of a battery, or power it straight from your car (it draws about 1 amp).
The supplier is SolarPC.com. They make a specialty of Mini-ITX products. Check out their web site at http://www.SolarPC.com and motherboard details at http://www.solarpc.com/bepia.htm.
There is an order page at http://205.147.44.194/store/commerce.cgi?product=SolarPC. The Squeak configuration is at the bottom of the page.
The Flash is set up for Squeak but, of course, it could be anything else that is happy with this Linux. Other squeak images should run fine (you can import them via FTP, or a USB memory stick), and other compact Linux-compatible systems should run fine as well. Of course you can put in more memory, and use bigger Flash or even a hard drive, but we wanted to make the Squeak Box simple and cheap. We have started a Swiki area on this (see http://minnow.cc.gatech.edu/squeak/3502), and presumably it will grow as people think of more things to do with the box.
Happy New Year
Dan
Nifty
Sun is trying to create a "standard" tools framework for Java - IBM (maker's of Eclipse) is not interested. Here's the clueless part:
"Eclipse wants to be the framework for all tools. Oracle disagrees with that," said Ted Farrell, chief architect and director of strategy for Oracle's tools division. "There should be a common API (application programming interface) so people can plug into all frameworks easily."
A common API "for all frameworks"? What the heck is he smoking? Maybe Sun and Oracle will find the OMG as they search - the OMG was last seen creating CORBA extensions that no one cared about....
Over the last twelve to eighteen months, a new kind of website has emerged - the web log (or blog, as they are often called). If blogging has a father, it would be Dave Winer, of Scripting News. Dave started Scripting News back in'97, before anyone had really coined the term blog. Over the next few years, blog syndication (RSS), news aggregation tools, and blog servers were born. This field is still in its early days - there are lots of small companies (such as Six Apart) creating tools, but no offerings (yet) from any of the large vendors, such as Microsoft, Oracle, etc. The questions I'll try to answer here are:
Briefly, a weblog is an online journal, typically focused on some topic. Most weblogs are authored by one person, although there are collaborative efforts. Most weblogs focus on a topic or set of topics - i.e., politics, some aspect of technology, marketing, etc. The main visible difference between a web log and a "normal" website is that the web log will get updated much more regularly - often more than once per day. Additionally, most web logs use an XML format (either RSS or Atom, or both) to syndicate their content. What does that mean? It means that you can use a news aggregator (there's a nice list of available ones at http://www.hebig.org/blogs/archives/main/000877.php) to subscribe to the content being produced. The aggregator will check for new updates in the background, allowing you to keep track of content you care about without having to keep an enormous list of bookmarks in your browser. Ultimately, a web log is like a journal, and there are tools that allow you to subscribe to the journal. Some web logs are interactive (allowing comments from readers) - but an up tick in spam comments is shutting a lot of that down.
That gives you an idea of what a web log is. The question then becomes, why should you care? I'm going to limit my answer to the realm of product and services companies here - blogging on politics, religion, philosophy (any non-business topic) is outside the scope of this article. With that in mind, why you should care is fairly simple - marketing and outreach. It's nearly always the case that you could stand more interest in, and more knowledge of, your products and services. As the Product Manager for Cincom Smalltalk, I'm certainly in that position. I'm responsible for a niche product in a fairly crowded space (application development and delivery platforms), and getting more awareness of Cincom Smalltalk out is clearly a good thing. There are standard marketing answers for some of that - advertising, speaking at trade shows, customer success stories, etc. You still need to do all of those things, but everyone else is doing them as well, and many of your competitors - like mine - have bigger budgets for these things. Having a web log presence is one way to route around that.
How does creating a public blog help in that regard? Well, that depends on how you run the blog. Simply creating a thing that looks like a blog and filling it with marketing press releases isn't going to cut it. Blog readers are looking for authentic voices - they can find pre-processed marketing fluff anywhere. There are also (literally) millions of blogs; I subscribe to over 200 of them myself. When I look at new content to subscribe to, I'm not interested in press releases; I'm interested in actual viewpoints from real people. As it turns out, there are many to choose from - some in (seemingly) the least likely places. Microsoft has taken to blogging in a big way, and many of their project managers and product managers are online now - have a look here:
http://www.microsoft-watch.com/article2/0,4248,933657,00.asp
It's instructive as well to look at Robert Scoble's blog
Scoble was hired by Microsoft as a marketing evangelist - and a large part of his pull that way is his blog. While he doesn't limit himself to MS topics, he posts about MS a lot. The impact of that (and of his fellow MS bloggers) is huge - it's placing a human face on the borg image of Microsoft.
Now, not all (or even most) companies have a need to modify parts of their public image to the same extent as Microsoft does. On the other hand, getting the word out to an interested audience is something we could all use. Let's go to my blog as an example. I started running the blog in the summer of 2002. At the time, I had no idea whether it would lead to anything useful. Over the first few months, I was getting on the order of a dozen visits a day - in other words, it was having no impact. Now, in January of 2004, I'm getting between 1000 and 3000 visitors a day - how did I manage that without any marketing budget?
Those two things alone started driving the number of visitors up tremendously. That's a good thing, but - how is it helping the Cincom Smalltalk business? Well, we offer Cincom Smalltalk as a free download (for non-commercial purposes). I've promoted that fact on my blog, and have promoted the free BottomFeeder tool as an example of a Cincom Smalltalk application. I've been receiving a steady (and increasing) number of inquiries about Cincom Smalltalk in my email as a result, as well as an increase in the number of downloads of the product. There have been a few sales of the product that I can trace back to conversations started on my blog. In other words, my blog has become a low cost marketing channel for the product.
It's important to keep in mind that this requires work. Coming up with interesting content on a regular basis is not easy. It's part of my job as product manager - blogging (and reading other blogs and journals) helps keep me current, and gives me plenty of fodder for posting. Creating original content to post is hard work, and it's something you need to do on an ongoing basis. Another important thing is focus - your blog should not wander over too wide a stream of topics. What you are looking for is an audience that will be interested in what you have to say - and as a side effect - interested in your products and/or services. That doesn't mean that every post needs to be specifically about your product, but it does mean that you should limit yourself to a few areas. I avoid politics and religion, for instance - it's hard enough to evangelize a product without trying to be a spokesman for a political point of view. Not to mention the fact that some of your customers are likely to have different political views than you - their money will still pay the bills.
Should you start a blog, or allow employees to run them? I think you want to jump into the water on this one soon. It's easy to get started - blog serving software can be had free or cheap (take a look at Blogger or at MovableType), for example. You can either host a blog, or start out with a free Blogger account. There's something to keep in mind though:
This is already true, of course - a document on your website will be cached by Google (et. al.) eventually. The difference with a blog is the notification. If you use the various notification schemes (like the weblogs.com one that I alluded to above) in order to increase awareness of your blog, the caching will be immediate. The upside of this is that your words will spread far and wide quickly. Yes, you have to be careful - but there's no reward without risk. Can you afford to have everyone else blabbing about their products while you keep yours in the shadows?
Joi Ito has an idealistic (and wrong) set of ideas about blogging:
To finally tie it into the discussion about technological determinism vs social constructivism, I think we need to be aware that we have an active effect on how the architecture of this technology evolves. I don't think we can yet "show the blogging world to be a just institutional structure", but rather we can try to determine what is just and strive to make the blogging world into something we feel is just. This requires us to dive into some of the questions that even Aristotle didn't answer. What is right? What is just? Hopefully the tools themselves will help guide this discussion, but rather than be nihilistic or deterministic, I think we should be actively involved in a dialog that best represents a consensus of our views. In order for this to be just, we must try be as inclusive as possible of everyone and on this I agree with danah. The tool is not yet inclusive. I think that blogs are right in many ways, but are far from right in many others. How can we try to make blogs as right and just as possible. I think that this is the question that faces us today.
Blogging and justice? Good gosh, this is the same ridiculous elevation that journalists give themselves. Blogging just is - whether a given blog is "right" or "just" depends on the author, not on the technology. The only thing to worry about is free expression - and there's not much on the technological side of things to deal with there. Sure, technology can be applied for good or ill. But that's the point - the application. It's the voices that matter, not how they got there.
Joseph Pelrine will be giving a talk in Berne, Switzerland on cross-dialect Smalltalk work on Tuesday January 13th at 5:15 pm:
"Smalltalkers are friends separated by a common language". One of the unfortunate side-effects of Smalltalk's popularity in the 90's is the plethora of more-or-less incompatible dialects. The ANSI standard and Camp Smalltalk notwithstanding, it still happens too often that high quality, existing code does not get reused because it's only available in one dialect or version, and the pain of porting often outweighs the benefits.
This talk will describe a number of state-of-the-art techniques being used in Camp Smalltalk and other projects to increase cross-dialect compatibility and assist migration between existing Smalltalk implementations. Demos will include moving code from VisualAge to S#, and using ENVY/Developer with VisualWorks 7 and Squeak.
The talk will be held at the IAM, room 107
Interesting topic