Farscape had run downhill, but...
"Tremors the Series"????
This is what we get instead? Bleah. The first movie was funny, the second was too much of a weak concept. The series is just a waste of airtime. How far the mighty have fallen....
"Tremors the Series"????
This is what we get instead? Bleah. The first movie was funny, the second was too much of a weak concept. The series is just a waste of airtime. How far the mighty have fallen....
It looks like spring has finally found its way to Maryland. The sun is shining, the bulbs are up, and the temperature has finally escaped the 40's and 50's. And just in time as well - one of the neighbors is having their annual Easter Egg hunt this morning. It's a huge thing - separate hunts for toddlers and older kids. A huge spread of bagels, donuts, and coffee. Just a neighborhood event, but very nifty - something everyone looks forward to.
The people who throw it remind me of a personality type discussed in "The Tipping Point". Most of us have a circle of friends and business associates. Then there are the people who seem to know everyone, and be involved in everything - school activities, boy scouts/girl scouts, neighborhood activities, the works. If you start talking to them about something, they will likely have a recommendation for the person you should be talking to about it. In short, they are some of the glue that make a neighborhood a community.
So I'll be off to this year's bash soon, with my daughter. The local cache of chocolate will certainly be renewed.
Now I know why our street got plowed early last winter, and seems to always get plowed early. It seems that someone who was very high up in the last governor's staff lives on my street. Since the local (county) government is of the same party as the last governor, he still has some pull. I spent awhile last winter puzzling over this, since there didn't seem to be a good reason for our (non-through) street to get plowed early.
Same thing happened while I was growing up - we had a county legislator who lived on our dead end street, and we always got plowed early. It's obviously an independent of party sort of thing - it was one party in my old home town, and the other one here. Some things never change, I guess. On the plus side, it means that we can always get out to the local supermarket.
So we tried out Settlers of the Stone Age last Friday night. I got my butt handed to me, in pieces. It played well - I'd be more than happy to try it again, now that I have a better idea of what the winning strategies for that variant are. It would likely play differently as a 4 player game as well - we only had three on Friday. One thing's for sure - the starting position would be a lot more crowded.
Then check this site, which covers the bases.
Here's an interesting story on open source and the likely impact on industry. From the Economist:
The main loser (so far) as Linux advances is Sun Microsystems, one of the largest server vendors. Its Solaris software is generally deemed to be the most capable flavour of Unix, the family of powerful operating systems used in servers. But for many applications, Solaris is overkill, and Linux, a less capable flavour of Unix, is good enough. Many people who would once have bought expensive Sun boxes running Solaris are now running Linux on cheap, PC-like machines instead.This has forced Sun to embrace the technology that threatens its existence. Last year, Sun launched its first Linux-based server. After several zigzags, it has now decided on its Linux strategy. As well as offering cheap boxes running Linux alongside its more powerful Solaris-based ones, Sun will include its server software with both Linux and Solaris, to make its Linux boxes more attractive and to allow users to "trade up" to Solaris. Even so, many in the industry believe that, thanks to Linux, Sun is doomed.
The clearest winner is IBM, closely followed by Hewlett-Packard (HP) and Dell, each of which has done well selling Linux servers. IBM embraced Linux in 1999, and now offers it across its entire range, from lowly PCs to mighty mainframes. Linux has also boosted IBM's mainframe business, since a single mainframe can be set up to behave like dozens of small Linux servers. Firms with mainframes have thus been able to scrap entire rooms full of Unix servers, such as those made by Sun.
This is pretty much what I've been thinking for awhile now - Linux is a nice alternative to expensive Sun hardware, and is "good enough" for many situations. This is going to be the next big shock that runs through the IT industry, in my opinion - when Sun starts to crumble, the shockwaves will affect the server space (Solaris) and the developer space (Java). All the folks who are operating under the delusion that Java is "open" could be in for a few surprises...
Via the fuzzy blog I found this post from an Israeli blogger, questioning the value of RSS News aggregators:
People who read many weblogs can use an RSS newsreader that will collect the news from the RSS files of weblogs to one "place" on their desktop. The interface of RSS aggregators look quite similar to Email programs.Web sites are pull mode. People come to them to read.
Email is push mode. Information is sent to people.
RSS newsreaders bridge the gap between the web and Email. They enables web content to be pushed to the desktop of its subscribers.
Unlike Email, people who use RSS newsreaders choose what RSS feeds to subscribe to. But once they have chosen to read a feed, or to be aware of new items in a feed, they have to make the choice of reading the item or to ignore it. They cannot ignore the fact that a new item has been published, unless they unsubscribe from the feed completely.
Do we need more Email?
I don't think this is a good analogy. with email, I have no idea what will come at me. I've got a public interface into which anyone can throw things. Good stuff, bad stuff, anything. With RSS, I'm filtering based on what I know I'm interested in. I find that it takes me less time to follow the sites I care about with BottomFeeder than it used to with just a browser. However, I don't think this is the poster's real problem:
I have created an RSS feed for a weblog that deals with publishing weblogs in Hebrew. There are some issues regarding the mix of character sets and the bi-directionality of Hebrew that should be taken care of. Finding an RSS reader that can display RSS feeds in Hebrew is a hard task. I haven't found one yet.
There's his problem, I think - at present, most readers - certainly BottomFeeder - don't handle all encodings equally. This is a limitation I mean to address, but unfortunately, I'm not personally that knowledgeable about the issues. However, this next part I disagree with, a lot:
While developing the feed and testing different readers I thought about the whole idea and I think I have reached a personal conclusion. I think I don't want to use an RSS reader. I want to choose when to go a website to find if there is new content. I want to make my own decisions on when to go to a web site.The fact that a technology is possible doesn't mean it's a good idea to use it. I don't want do be more distracted than I already am.
A reader is a tool - nothing more, nothing less. When I don't want to be distracted by news feeds, I either ignore it, or mark everything read. It's not as if the reader forces me to visit a site - it merely tells me that content i have previously expressed an interest in has been updated. IMHO, this is a good thing - certainly better than wondering if there's good stuff I might have missed, and having to plow through a bunch of favorite links to figure it out...
There was another silly typo (my fault) in the download area for NC - two of us went over the information, and we worked off of different iterations of the file - so we ended up having links to non-existant files in the ObjectStudio downloads. so if you tried downloading OS NC or EVOL in the last week, go back and get them now; it's been updated. I posted the text below to comp.lang.smalltalk to explain the problem:
(re, where are the download files for OS?)No it's there, but we got snagged by a typo. A week ago, I went through the file that drives the downloads and fixed up filenames that had changed from the last release to this one. Then, one of our tech writers cleaned up the text, but he worked off an old version of the file, and I didn't recheck.
It's fixed - the ftp and http refs will now go to the right filenames. My apologies
First off, I had to take my daughter to the dentist - but no, the car wouldn't start. One jump later, I was off. The battery was shot, so it was off to Sears for a new Die Hard. back home, take my daughter to dance class. Then back home, and my wife has had a conniption because we have ants in the house. It gets worse, because I couldn't hop right up - I was on a conference call. It's definitely been one of those days...
Over on the C2 Wiki. Here's a little bit of the conversation:
Static typing adds to the complexity of the programming language. When you define a new language, do you want to focus your effort on the type system or on giving the programmer the functionality he needs? (Sometimes a static type system makes a langugae harder to extend, as Java and generic classes.)It can help with refactoring:
- As someone who has only become enlightened recently (and still immersed in a statically-typed world), I cannot be too entirely specific. I have noticed that I waste a lot of time when refactoring fiddling with the types of things. I'm a greenhorn at this, and would be overjoyed to see this comment replaced with some more solid answers.
This is more about the lack of static typing, not the addition of dynamic typing. A lack of static typing can help you to refactor incorrectly! Suppose your refactored design requires something as simple as an extra method in one interface. Without static typing, you would modify each instance of client code so that it called the new method. You would then need to modify each object that might be used by that client. Which objects are they? Oh dear... With static typing, add the new method to the interface. All implementors will not compile until you've provided them with an implementation of the new method. It's that easy!
But UnitTests, if used, will also catch the (generally small number of) problems that static compilation will catch, in addition to catching logic and other errors. My experience with a DynamicTyping language (Smalltalk) is that a very small percentage of run-time errors are due to mismatched types... maybe 1 or 2%.
There's lots more to read - go read the whole thing. Comments, assertions, and reasoned arguments from advocates of both sides.
We spent quite awhile sealing cracks that the ants might be coming through. That pretty much blew the morning, along with a conference call that I could only partially pay attention to (due to the ant stuff). Maybe this afternoon, but I'm not feeling terribly ambitious at the moment....
For those of you using the public repository, I have a question: is it hard to find things in the repository? As you look through the published items, is it difficult to make sense of what you find there? If the answer is yes, please send suggestions to me
I'm with Bill Kearney on this one - I don't want full web page content in my RSS feeds. This is why I don't really care much for this trend to XHTML either. I don't want graphics, or lots of pictures (etc.) in an RSS feed. If I'm reading your feed, it's because I like your writing. Give me a link to a picture you think is interesting, and I'll follow it.
Bottom line - I read feeds for the same reason I read books - to learn something, to be entertained - to be part of a conversation. My web browser is right here if I want the full experience of your website - don't force it on me in your RSS feed - that's not why I read it....
Alan Knight posted this in comp.lang.smalltalk:
A comment from another poster:
I find writing EJBs to be extraordinarily tedious (as with Java in general), but haven't noticed any serious impediments to development.Well, some might consider being extraordinarily tedious (and thus slow) to be an impediment to development :-)
As Niall pointed out, there are slides on the web where I covered some of these things in moderate detail. For the high-level view:
- I don't think the domain objects as components view of entity beans is a particularly good thing to try and accomplish. You throw away basic OO concepts like inheritance and polymorphism and don't get much in return.
- You lose testability. You can't test an EJB outside of deploying to its container. This is why, if you look at EJB usage patterns from people concerned about agility, they typically recommend against them. e.g. Martin Fowler's typical pattern is paraphrasable as: Don't use entity beans. You can use session beans, but they should act purely as a facade to an ordinary object with exactly the same API
- I don't buy into the model that the world is divided up into authors, assemblers, deployers, and whatever the fourth one is, especially at the fine-grained level that entity beans imply. You end up doing much more work to deploy a simple object (thus the tedium). You get to write multiple XML descriptors, totally more bytes than your actual object, just to make it work.
- The programming model is both limiting and bizarre. So, e.g. the prohibition on "loopback" forbids any sophisticated object programming techniques like recursion, double-dispatch, or even complex graphs of objects. The "enforcement" of relationships, where setting a value in one place can result in nilling it out in another is a wonderful example of the principle of most astonishment.
- The persistence model is very constraining, and not very powerful. I'll admit I'm fussy about persistence models, but IMHO this one is particularly bad. Compare what you can do with an object database, one of the JDO-relational mappings, or a tool like TOPLink, with what EJB constrains you to. EJB 1.X at least had huge holes in the spec where you could do something useful. EJB 2.0 plugged the holes, but not with anything useful.
- Performance is bad. You're adding multiple layers of code-generated stuff and remote calls onto every operation. We had people measuring performance hundreds of times worse between regular Java objects and EJBs doing the same thing.
I could expand on these, although I might have to start consulting notes if things get very technically detailed. It's been a while.
Heh. The principle of most astonishment. I'll have to remember that one...
Between the endless conference calls, the ant issue, and some sporadic work on BottomFeeder, I've not had a lot of time to post this morning. The head cold I acquired from my daughter hasn't helped a lot either. I have gotten the new BottomFeeder UI started though - there will be a pane of buttons on the left hand side, which will allow one to filtere the views. I'm working on a just show me all new items view now, as a matter of fact...
If you are trying out the 2.9 dev stream, then you should make sure to grab the latest update. You don't need to download the entire build (and I have not yet updated the gzip files anyway). If you have the upgrades pointed to the dev directory, BottomFeeder will detect an update. Grab it and restart - you'll see a new UI layout. There's now a navigation bar on the left, which allows for various filtered views:
One thing to bear in mind - this is new, and has not been tested that thouroughly yet. The save file format has not changed, so you should be able to back this out - simply save the app/BottomFeeder.pcl file, and restore it if you have any problems.
Go visit Day by Day. Today's is funny - the older geeks in the audience should navigate back to the November 24, 2002 strip....
Let's see if I can survive a family dinner with my father in law. His politics and mine are on opposite ends of the spectrum - I've long since given up starting a political discussion with him.... but he sometimes insists on starting one himself.
Well, I've got the new views in BottomFeeder - but now, various small things are out of whack. For instance, the keyboard shortcuts navigate the tree and the item pane - which is not what you want when viewing all new items in aggregate. I did add a nice touch this afternoon - when viewing a feed, you get an count of the new items now - this is useful when using the aggregate view.
Perhaps after this evening's dinner party, I'll have a chance to look at the keyboard shortcuts.
Bob Lewis of Infoworld writes:
What was the primary practical difference between the world's failed communist economies and its successful capitalist ones? The communist bloc nations managed their economies centrally, whereas capitalist nations decentralized theirs. Most IT organizations look more like communism than capitalism. See for yourself:
- IT has a fixed budget, which its leaders allocate. Sometimes they form a steering committee (politburo) to share the responsibility. It's central planning.
- If the central planners don't understand the value of a request, the request has no value and is rejected. IT's government decides what has value, not consumers.
- IT is the sole supplier. Demand is satisfied through central production or not at all. IT's government owns the means of production.
Even our desire for industry standards has a communist overtone. Our need for compatibility vastly outweighs any desire to choose from a variety of suppliers. In IT, real choice in the marketplace is a bad thing.
That sure looks a lot like communism to me.
Maybe that goes a ways towards explaining the large failure rates in IT projects - see here and here.
Clarence Westberg finds C# to be a drag compared to Smalltalk:
C# and SmalltalkBack in C# development again, what a drag compared to smalltalk. Productivity dropping at an astounding rate.
Have been using C# Reafactory a lot. I would recommend it to any C# developer.
Have been declaring a lot of things as type object to get around the typing BS of C. In the end you always end up having to cast everything anyway!
more anecdotal evidence that C# is Java in Microsoft clothing...
Heh. I saw this on Dewayne Mikkleson's blog:
If you save your plugin into a "plugins" subdirectory, SharpReader will find the plugin and make it available in the listview popup menu (shortcut ^B).
Seems I never updated the dev links after 2.8 was released. I had that pointed out to me in the Smalltalk IRC channel, and fixed up the links. The .tar.gz files there are not completely up to date - download the files in this directory to get the latest parcels. Just replace whatever is in the 'app' directory now.
A fair bit of Booch slamming takes place in the XP mailing list as well - although I give Grady a lot of credit for taking part in that list, and giving as good as he gets. Ted has a large rant here:
Chief Scientist, Rational Corporation. I'm not exactly sure what a "Chief Scientist" is or does, but it apparently doesn't have much to do with developing software: Rational Rose for years was one of (if not the most) unstable development environments I've ever had the distinct displeasure of having to use. It crashed on a regular basis, frequently losing work in the process (once during a save, no less), and for a while there it was pretty common to see Rose generate code that wouldn't compile. This is not what you call a quality product. (It's fair to ask why Rose is arguably the Number One UML IDE in the world right now; in response, I ask you to name at least three other UML tools that have been around for five or so years. TogetherSoft didn't have a product out until well after Rose had pretty much established itself as the only game in town, and ArgoUML and MagicDraw came much, much later. It's pretty easy to win a race when you're the only contestant--and lo, and behold, the software came from the same company more or less doing all the work on UML itself. Think there was some "leakage" of specs under development there?)
It goes on from there; read the whole thing
Smalltalk Solutions 2003 Announces Show Committee and Keynote Speakers
CARY, North Carolina April 18, 2003 - The Smalltalk Industry Council (STIC) is proud to announce the conference committee for Smalltalk Solutions 2003. Smalltalk Solutions is the premier forum for Smalltalk users, developers, and enthusiasts. This year's conference will be held on July 14-16 in Toronto, Canada.
Please direct your questions and comments about this year's show to the appropriate conference chairperson:
| Conference Chairperson | Allen Davis, Knowledge Systems Corp. |
| Sponsorship/Exhibitor Chairperson | Joy Murray, Cincom Systems, Inc. jmurray@cincom.com |
| Technical Chairperson | Alan Knight, Cincom Systems, Inc. aknight@cincom.com |
| Financial Chairperson | Monty Williams, GemStone monty.williams@gemstone.com |
| Conference Coordinator | Jason Jones, whysmalltalk.com jjones@whysmalltalk.com |
| Marketing Chairperson | Andrew Ignatow, Cincom Systems, Inc. aignatow@cincom.com |
The Smalltalk Solutions 2003 Conference Board is also pleased to announce this year's keynote speakers:
Scott Ambler - Are You Agile or Are You Fragile?
Abstract: The software process landscape is changing. A shift from large-scale, prescriptive processes that define rigorous procedures and policies to lighter, more agile methodologies is clearly underway within the IT industry. This is more than an idle fad that promises to disappear next year ? agile processes are here to stay. Are these processes appropriate for your organization? If so, which ones should you consider adopting? What challenges can you expect to experience as you adopt these new processes and how can you overcome them? Bio: Scott Ambler is a Senior Consultant with Ronin International, Inc. since its inception in 1999. He actively works with Ronin clients on large-scale, software development projects and on software process improvement (SPI) efforts around the world.
Scott is a Senior Contributing Editor with Software Development magazine and a member of the Flashline Software Development Productivity Council. He can be reached via e-mail at scott.ambler@ronin-intl.com.
David A. Smith - Croquet - A Collaboration Architecture
Abstract: Croquet is a computer software architecture built from the ground up with a focus on deep collaboration between teams of users. It is a totally open, totally free, highly portable extension to the Squeak programming system, a modern variant of Smalltalk. Croquet is a complete development and delivery platform for doing real collaborative work. There is no distinction between the user environment and the development environment. Croquet is a joint project being developed by David A. Smith, Alan Kay, David P. Reed, and Andreas Raab. More information is available at: http://www.opencroquet.org. Bio: David A. Smith has been focused on interactive 3D and using 3D as a basis for new user environments and entertainment for almost 20 years. He created "The Colony", the very first 3D interactive game and precursor to today's "first-person shooters" like Quake ... except Colony ran on a Macintosh in 1987. The Colony won the "Best Adventure Game of the Year" award from Macworld Magazine.
In 1989, David used the technologies developed for the game to create a virtual set and virtual camera system that was used by Jim Cameron for the movie "The Abyss". Based upon this experience, David founded Virtus Corporation in 1990 and developed Virtus Walkthrough, the first real-time 3D design application for personal computers.
In 2000, David joined forces with Alan Kay, David Reed, and Andreas Raab to develop a totally new kind of software. Croquet is intended to completely change the way you use a computer, transforming it from a closed box with very low bandwidth communication channels to a high-bandwidth collaboration and multi-user, idea processing engine.
About the Smalltalk Industry Council
The Smalltalk Industry Council (STIC) is a nonprofit trade association whose goal is to promote awareness of and increase demand for Smalltalk. STIC was reorganized in 2003 by Cincom, GemStone, IBM, and Knowledge Systems Corporation, creating a cohesive Smalltalk community where information, technical issues, new ideas, and concerns are openly discussed to benefit businesses as well as the software industry. STIC's membership consists of users, service providers, and vendors of Smalltalk tools, components, databases, and services. For more information on STIC, please visit www.stic.org.
2003 Smalltalk Industry Council All Rights Reserved
And what a simplistic mess it is. No security. No way to have titles for posts. No way to have categories for posts. I guess the first guy on the block often does win, because this thing is awful
I got a few things fixed in BottomFeeder, and posted the new parcel up to the dev download area. There were a few odd things with marking items read/unread in the new views - code that made assumptions that were no longer true. That's fixed now, and the tool should behave in a much more reasonable fashion now
I have a ton of miles on American Airlines, so this news affects me. Not nearly as much as it affects all the people working for the airline though. This whole fiasco points out something interesting to me:
FORT WORTH, Texas (CNN) -- Outraged by news that troubled American Airlines had planned to give its executives bonuses, flight attendants rescinded their approval of wage cuts and plan to vote again, a union official said late Friday.
It seems that senior management often forgets that the fate of their company rests on "the little people" who do the day to day work. If they forget too much, it can lead to ugly spats like the one we see being played out in public at AA. Always a good idea to reflect on how decisions will play with the rank and file, I think. This doesn't mean that every decision has to be poll tested; it does mean that corporate leaders should be aware of the possibility of blowback...
One of the great things about having Rich Demers help out on BottomFeeder is all the "small stuff" that I miss, but he picks up on. Things like bad tab order, shortcut keys that don't work right - all the things that a developer can easily miss, but an end user is going to be extremely frustrated by. I fixed a bunch of things this afternoon that had been broken - some for quite awhile - because of Rich's prodding. Thanks Rich!
Grass grows everywhere you don't want it, and nowhere you do want it
I spent the afternoon pulling weeds out of our gardens - tomorrow we'll plant flowers. I came to the above conclusion in my back yard - there are bare spots here and there where I've been trying to coax grass to grow for three years. Meanwhile, my gardens were filling up with the stuff. Maybe this is a metaphor for life I'm not getting :)
Wow. If you didn't think that technical arguments could get ugly, then you haven't been following this little dustup over on Sam Ruby's blog. It looks like it got started with this post from Mark Pilgrim. You have to read all the way back to the beginning of the thread to figure out what it's about - it devolved into a huge pissing match almost immediately. I guess you don't need politics or religion in an argument to get the fur flying :)
The previous post here mentioned the big fur fight over here. Going back to the original post, there's some good points that I think have been missed - by everyone in that thread except Mark.
Here's the deal. The end users of an aggregator are the important part of the equation. Yes, the producer of the content does have a responsibility to create valid content - they should not purposely create bad XML. However, the producer of the aggregator has a responsibility as well - the end user doesn't care one way or the other. Valid XML? All required fields present? They don't care. What they care about is being able to subscribe to the content they are interested in. What does that mean for the aggregator? It means that you have to bend over backwards to accept bad content. This is where the real world goes, btw - look at what web browsers do in order to display HTML.
You can argue all you want that XML is supposed to be different, and cry about how it makes your life as a developer harder - but none of that matters. The end users could not care less about your problems on the development side. If your tool doesn't show the content they want, they'll find someone else's tool. Aha! It seems we've stumbled on a valid commercial reason for being liberal in what you accept...