analysts
December 20, 2002 1:33:21.286
That I laid out here. I got a comment that said, more or less: "1000 man years? No one does projects like that anymore!"
Maybe they don't. However, there are plenty of projects like that dating from the early and mid (even late) 90's - a number of our Cincom Smalltalk customers have such large projects. How do I reach a number like that? Well, I have personal experience with one huge effort at a large (Fortune 100) firm. They have had 150-300 people developing the applications in question since late 1993 or early 1994. That's well over a thousand man years in at this point. It's hardly the only example of such a system either - I have friends on many other similar systems, and not a few of them have tried migrations to Java (watch for it - some will now try to go to .NET).
Most of the efforts I know of failed; the ones that succeeded merely re-delivered the existing functionality in the (now trendy) language. The question remains - Where's the business value?
Share
smalltalk
December 20, 2002 8:05:04.503
Dynamic typing is still able to raise controversy - check out the archives of the USENET comp.lang.smalltalk newsgroup and you'll see what I mean - threads can pop up and linger for weeks (even months!). So it's always useful when someone discusses the issue intelligently. Have a look here - tip of the hat to Why Smalltalk for the link.
Anatol Fomenko wrote:
...Why Smalltalk is dynamically typed, and why it
does not affect negatively the stability of the large Smalltalk
applications?
Rephrasing slightly gives the two following questions:
- Why is Smalltalk dynamically typed?
- Why does dynamic typing (as done with Smalltalk) not negatively affect the stability of large applications?
The first question would be better answered by Alan Kay and the Smalltalk team more than anyone else relaying their reasons. Alan Kay has described some of his reasoning in the book "History of Programming Languages II", various OOPSLA & Smalltalk talks, and other sources.
In my own words, the main reason is that Smalltalk has a simple and powerful concept of building software out of Objects that send Messages to other Objects. This is more powerful in both the small and the large than a language that adds the additional concept (and constraints) of "Types". Note that biology has Objects (e.g. Cells) but no Types, Humans are Objects but there is no compile-time type-checking between humans, and even electronics do not have compile-time Types: you can plug the GROUND pin into +5V if you want although some physical constructs will discourage (but not prevent) it. These highly scalable areas (life, civilization, electronics) have done fantastically without the support of Types, growing in orders of magnitude of functionality. Alan Kay (who has a biology background) leveraged insights on how cells and other highly-scalable areas could scale, and applied them to Smalltalk. The main concept was membranes/encapsulation and little else was needed.
The second question may partially support the first. The short answer is dynamic typing can scale well because one tends to create much less code as the system grows bigger. As the system grows, objects will get reused in many different situations for which they work well, and the layers of "membranes" allow clients to not worry about internal details very much. It still requires a good architecture to build a big system, but the generalizable functionality of the objects is helping a lot with the design/implementation.
There's not a lot to disagree with there, IMHO.
Go read the whole thing
Share
analysts
December 20, 2002 8:13:13.075
On my conference call. There were some positive things (and interesting things) that came out of it. The analysts we spoke to did say the following, quoting from some of their older papers (1997 and 1999):
- Smalltalk is a niche
- niches are bad, because you get less vendors supporting you, higher risk of being orphaned, and harder to find and more expensive people
- Don't stay in a niche unless it offers you compelling technical advantages that outweigh these considerations
smalltalk has strong advantages, most notably in the area of complex and changing requirements
And to quote one of the other people on the call from Cincom (i.e., one of the more level headed ones who did not lose his temper):
I'll take that. I'd take it as an advertising slogan:
If your requirements are simple and never change, then you don't need our products.
Which is the summary of what we were told about Smalltalk. We were also told that they (the analysts on the call) had not looked at VisualWorks
in over five years as well. Draw your own conclusions from that next time you see advice being proffered from that direction.
Share
smalltalk
December 20, 2002 8:27:53.231
No sooner do I re-enter the dynamic/static fray here when this shows up in comp.lang.smalltalk:
As we all have found out (latest when reading this thread ;-) is that there
are at least two big philosophies in programming languages: static typing
and dynamic typing. While many people make a white/black distinction between
these two claiming one or the other side is inherently bad, I cannot agree.
IMO programming languages are all in an early stage of development, and I
feel disadvantages in all of them.
ATTENTION static typing stuff ahead:
Regarding generics, while uselesss for dynamic type languages, are
important in statically typed languages, as they are the only way to solve
certain problems. E.g. you have an AbstractBuffer superclass with ByteBuffer
and IntBuffer subclasses. You will then can write a
int getNext(); in IntBuffer
and a byte getNext();
each dealing with its particular buffer. With generics, there is only one
method.
I agree fully that Generics do not solve everything. Another big issue is
that types cannot be refined in subclasses (this is even more painfull than
the problems solved by generics).
A good example is Object.clone();
Any subclass can override, but they all are forced to return Object instead
of their type, leading to ugly code like e.g.
ByteBuffer copy = (ByteBuffer) myByteBuffer.clone(); //yucc
This one is particularly hurting when designing class hierachies. Also, it
apparently drops back to runtime type checking, static types are merely a
burden. (BTW: these two problems are on (1) and (3) in the java
RequestForEnhancement list).
Apparently all this is absent in dynamic type languages.
Share
community
December 20, 2002 9:46:45.047
That interest in the Cincom Smalltalk NC is high? We are getting 800 - 1300 downloads a month - I've been personally tracking the numbers since September. Those are very good numbers, IMHO, and represent a good level of interest in Smalltalk.
Share
blog
December 20, 2002 10:01:45.178
I decided that the list of tech blogs I follow wasn't really expansive enough, so I added links to the various other industry and Smalltalk sites I follow. The sites listed don't encapsulate all the things I follow (for instance, I specifically omitted politics), but it's a pretty complete list of the places I get ideas and content from. Enjoy.
Share
analysts
December 20, 2002 11:02:54.591
I got this today from a customer. Now, I've dropped the company names and industry sector, but this is a perfect example of what I talked about here.
Our business and technology bigwigs went through a 3-month review of our business needs and the system itself to see whether a migration is necessary. Nearly everyone agreed that migration would waste a lot of money to achieve less than stand still. It is now accepted that both VW and GS/S are the cornerstones of the system's success, and that by mirating/rewriting we would lose the market share and ability to deliver.
For our sector look no further than (our prime competitor) who had a competitive system to ours. About 3 years ago, a newly appointed CIO decided to do away with Smalltalk because he had never heard of it. It took them 2 years to unwind the system, whilst the unsuccessful rewrite in Java failed miserably. We now employ most of their Smalltalkers (who have a solid background in our business domain - a big asset) and their end user support personnel. The outcome? They have lost a BIG profit making business completely, which now in the times of reduced business could have put their entire organisation into profit.
That's exactly the risk I referred to in migrations. Sure, Smalltalk is a niche product when compared to Java or .NET. However, deciding to do a migration based solely on the niche status of a technology (any technology) without regard to the risk is just strange. If nothing else, there is a
huge opportunity cost involved in having a team do a standstill migration - what business value could they be adding instead?
Share
itNews
December 20, 2002 11:57:45.283
Share
cst
December 20, 2002 12:10:05.642
From the VW Wiki:
Originally StORE was known as Bernstein but it was extensively revamped for VisualWorks 5i's namespaces and parcels. Members of the team wanted to call it StASH for Smalltalk Archival Source Holder but certain nameless senior members of engineering with a vague memory of the seventies poo-poohed the idea.
Chuckle. Some of us even remember that the working name for class ApplicationModel was
GluePuppy
Share
java
December 20, 2002 13:23:58.647
Although it's not exactly clear to me what Oracle expects. See the story. Excerpt:
According to this article: "The proposal outlines a standardized way to merge Java programming tools from several companies into an integrated development environment (IDE), which would then allow access to all the tools through a single interface. Oracle intends to present a draft of the specification by March next year through the JCP. Java backers such as BEA Systems, Borland and IBM will contribute to suggested add-ons and incorporate approved updates to the specification to ensure it will work with their products. Oracle's stated goal is to codify the mechanism for plugging together different Java programming applications. Once standardized, an application developer could use a single Java IDE and be sure that an application for testing Java code, for example, would work glitch-free with tools for program design and source-code control."
This sounds an awful lot like a description of
Eclipse to me.
Share
general
December 20, 2002 14:20:36.203
That's the only way I can describe this web revival of old BBS stuff.
Follow this link to get the story:
Welcome home! The new ANSI / BBS stylesheet is now live. MarkupLanguage.net, the latest of Mozquito's Webaccess developments, will be used for the revival of the StadtNet community system and is planned to initially run the forum, as many BBS systems had news forums at their core. It will be linked off Stadtnet as the 3.0 version of the "SN Foren", after having reached agreement with Joerg Stengel, founder of StadtNet, to restart the operation of this community system based on Mozquito software.
Call Dr. Emmit Brown!
Share
smalltalk
December 20, 2002 14:32:40.075
John Brant posted this on cls today - IMHO, it demonstrates one of the truly cool things about the RB:
One thing that the RB has that I haven't seen in any Java refactoring tools
is the generic parse tree rewriter (I've never programmed in Java, so I
might be missing something obvious). Using the rewriter users can define
their own transformations. There was an experience report at OOPSLA '02
where Will Loew-Blosser used the rewriter to change the data access layer:
The report.
Using the rewrite rules he was able to make the 16,000 changes 34x faster
than he would have by hand.
Now
that's productivity
Share
itNews
December 20, 2002 15:24:30.756
This is a wild story.
Law.com reports that software company Citrix is suing the Florida Department of Revenue to avoid paying taxes. Citrix's theory? "That all companies acting as purveyors of information and facilitators of communications, including newspapers, TV stations, telephone companies and computer companies, are constitutionally exempt from paying taxes of any kind," because "taxes have a chilling effect on the First Amendment right to free speech under the U.S. Constitution."
hmmm. double hmmm. triple hmmm, even...
Share
community
December 21, 2002 10:44:56.659
Share
general
December 22, 2002 8:57:09.648
I have a head cold - the sort where the cough gets worse when you lie down. To top that off, Christmas (and the deluge of relatives) is only three days away. Should make for a lovely holiday (hack, cough) week (sniffle).
Share
BottomFeeder
December 22, 2002 11:17:31.050
In the current BottomFeeder development cycle, I added binary save support to the tool. The XML file save/restore was getting way, way too slow for the list of feeds I track (1 minute on my PIII 500 Mhz box!). So I decided to add an option (likely the default in the next release) to save and restore via BOSS, while keeping the XML format as an option.
Well, BOSS does not save graphics handles (i.e., screen objects). That should be ok; why would I want to save them? I don't, but the various UI level dependencies (both those set by me and those set by the framework) have hooks from the domain to the UI.
Again, shouldn't have been a problem, except that the code for save/restore was a bit convoluted - over time, it had spread out across three classes. I was getting BOSS exceptions with this as a result - it was too hard to track what was going on (my first crack at removing dependencies ended up with code that iterated over all the feeds twice). So I finally sat down this morning and refactored the nightmare - yet another case where the RB made my life way, way simpler.
I should have a new dev build up shortly. We have a lingering Twoflower issue with parsing that we want to resolve before we push 2.6 out, but it's getting closer.
Share
BottomFeeder
December 22, 2002 11:57:44.811
Share
blog
December 22, 2002 12:15:28.975
I'm sick, I'm coughing, and I'm bored. What better time to mess with layout ideas?
Share
BottomFeeder
December 22, 2002 19:21:37.629
I was able to get a few more things done on BottomFeeder - some bug fixes around the settiings change, and some work that tries to locate the last save file on non-Windows platforms. On Windows, we save the filename and directory (of the save file) in the registry. On Unix/Linux (and Mac), there is no such beast. There are environment variables for the these, as well as command linee arguments. In their absence, I look for a reference to the last save file in the default sav directory.
Since I added binary save, this became less trivial - before, I always looked for rssViewerFeeds.rss. Now, binary saves go to .bss. So, I need to have a way to check for that possibility at startup. I'm not completely happy with what I've done, but it seems to work.
I also eliminated a nasty Twoflower bug. If an html entry has embedded xml tags, Tf barfs. It seems that the MS Office tools do that, so we are only going to see more of it. The fix needs review; I basically just have the tag being willfully ignored. In any case, if you grabbed a build earlier today, the one that is being uploaded now (about 7:20 pm EST) is worth getting.
Share
BottomFeeder
December 23, 2002 11:06:32.430
BottomFeeder is getting closer to the 2.6 release. This morning, I added a zoom mode - allowing the user to expand the html viewer to the entire right side of the interface. The binary save format issues have been wrung out, and that's now stabilized. A few lingering menu contextualization things have been addressed, and the Users Guide (Big tip of the hat to Richard Demers for that!) is now available from the help menu. At the moment, the User's Guide is online only - if we want to ship that with BottomFeeder, we really need to get an installer...
Share
movies
December 23, 2002 11:12:43.340
This is truly precious - go read the secret diaries of the various denizens of Middle Earth. For Instance, RingWraith Number 5:
Day 1
Just opened Christmas pressie from Sauron. Pretty, pretty, pretty, pretty ring!
Day 1,000,967
Got box of chocolates as Christmas bonus from Dark Lord, again. As per usual, Sauron ate all the toffees and left the strawberry creams. How I detest this life of vile servitude.
Still disembodied.
Day 1,001,056
V. bored in Barad-Dur. Nothing to do but play Scrabble with Orcs. Is v. annoying as Orcs only know Black Speech of Mordor. You try spelling Azg Nazg Gimbatul for a triple word score. Yeah, I didn't think so.
Day 1,001,102
Suspect Sauron gearing up for something. Walked in on him applying ceremonial sparkly mascara. Suspect he will be v. happy when he has body back and can really dress up again.
Day 1,001,105
Yes, Sauron definitely gearing up for something. Have been given orders to sally forth and hunt down hobbit and close personal hobbit friend, who have somehow gotten hold of Ruling Ring.
Witch-King of Angmar's suggestion to place pictures of Ruling Ring on milk cartons and wait for calls to come in was ignored
It's worth reading the rest....
Share
movies
December 23, 2002 11:17:17.639
This is funny as well.
SMEAGOL: I Likes then new film...Master Peter did well for us...he did.
GOLLUM: No...Master Peter is treaterious...he destroyed Master Tolkien
SMEAGOL: But the film is good...We likes the effects and landscapes!
GOLLUM: They are filthy theives who stole the Precious story and changed it!!!
SMEAGOL: Well the evil NEW LINE Executives only gave master Peter 3 hours and that is not enough time for us we say.
GOLLUM: We could have 5 hours and they would still mess up Faramir!
SMEAGOL: We Loves it!!!
GOLLUM: We HATES IT!!!
Share
general
December 24, 2002 11:41:44.032
So we just hooked up the second Replay TV, and we started recording more stuff and watching across the house network. BAM
So much for the 10 mb network! Sending shows across the wire from one room to the next requires more bandwidth than I seem to have - at least, if my wife keeps using the high quality settings. Looks like a network upgrade is in my future.
Share
general
December 25, 2002 11:59:39.816
Merry Christmas to all! There was apparently a power outage in Cincinnati last night, which took out all the online systems. Back up, and I'm off to help with the cooking.
Share
general
December 26, 2002 19:16:52.102
The suckage started last night. The power flickered last night, and took out my server's power supply. Since that was the router, it took me offline. So today I took that in to get it fixed, andn picked up a Linksys router. That was broken. back to the shop, got a new one.
This one works.... but, neither of the Replay TV's could get a dynamic address off of it. So I gave them static IP's, that worked. Then there's my wife's PC. After a lot of twiddling, I think her ethernet card wennt, likely taken by the power spike.
Sigh. I can't find the spare ethernet card I have lyinng around somewhere, so I can't test that idea. And my local repository is offline, since it's on the Linux box. To make things even better, The power in Cincinnati went out at some point yesterday, and took all the services down. The web apps are back up (obviously), but - we apparently didn't put the postgres db out as a cron job, so the public Store is offline, and I can't get ahold of the admin.
I should grab some eggnog....
Share
general
December 26, 2002 19:34:01.904
Sorry for the inconvenience folks; that winter storm did some damage to us, but we are back up.
Share
smalltalk
December 26, 2002 20:11:58.132
From the Cincom Smalltalk Wiki comes a neat idea from Boris Popov:
Introduction
The goal is to create a fully functional Smalltalk implementation of the Galaxy server capable of simultaneous support of different game specifications such as Galaxy+ and GalaxyNG. I would like this to become next-generation Galaxy server which will allow people to define their own Galaxy rules without having to modify source code every time.
What is Galaxy?
Galaxy a free very addictive play-by-email war game for multiple players. A game usually has somewhere between 10 and 80 players and one Game Master that runs the game. Each player gets to play one nation. The game is set in a Galaxy filled with many planets. Each nation starts with one populated planet. The other planets are empty. The goal of the game is to conquer the whole Galaxy by colonising the empty planets and killing the other nations.
A game runs several turns a week. Players send in orders before each turn. These orders tell what the player wants his nation to do, and after each turn runs each player receives a report that states what happened that turn.
There are many programs that allow you to graphically browse these turn reports. They show a map of the galaxy, the position all ships, and all kind of other statistics, and allow you to create orders.
When you play a nations you can do many things. You can design your own ships. Each ship has many parameters, drive, number of weapons, shields, and cargo capabilities. These can all be tweaked to create many different ship designs. Populated planets can be used to build the ships you designed. The ships can be used to transport cargo and colonize planets, or to fight battles with your neighbours to take over their planets. Ships can be improved by technology research.
Experienced players do not operate alone, they use diplomacy to create a pacts with other players, and attack their enemies together. Back stabbing, double deals, and other treason are of course also possible, no-one is to be completely trusted, and you will find that Galaxy is a good simulation of real-world politics. It is also very addictive :)
Galaxy has been around for quite a while. Many variants have been developed during that time. In random order:
- Galaxy. This is the original version of galaxy, it was developed Russel Wallace somewhere in 1991 or maybe even earlier (V2.9 has a 1991 copyright).
- Blind Galaxy. It differs from Galaxy in that less information is visible. For instance you do not know what other nations there are in the Galaxy until you encounter them. The game was developed by Howard Bampton. He frequently starts new games. The code is a massively hacked offshoot of the early versions of Galaxy plus substantial new code. The home page of Blind Galaxy is on http://www.cs.utk.edu/~bampton/blind.html.
- Galaxy plus (G+). A variation of the game developed in Russia somewhat similar to GalaxyNG but there are differences. Galaxy is Big in the former soviet union.
- GalaxyNG. This is a partial rewrite of the original code to create a more stable version of galaxy developed by a number of people. It also introduces some changes to the rules and the option to create more diverse kinds of galaxies. The home page for GalaxyNG with loads of information is at http://galaxy.pbem.net/index2.html.
- GalaxyNT a port of GalaxyNG to Windows NT.
- Blind GalaxyNG. This is a modification of GalaxyNG source code to create a game that is like Blind Galaxy.
- Galactica and Galaxy/2 are extinct varients, Galaxy/2 was the precursor to Galactica.
Boris Popov
Share
general
December 27, 2002 1:36:40.586
With a bad network cable. The good news is, the Replay TV transfers video very nicely across a 100 mb network. The bad news is that the cable running from my wife's system to the basement won't synch up, and it's definitely a cable issue - a quick test with a good cable across the floor to the office figured that out.
Oh the joys of crawling around in the basment to replace the wiring....
Share
smalltalk
December 27, 2002 12:26:56.093
Share