I'm going to take a much needed vacation late this summer - 6 nights at this Disney resort. I haven't stayed at the Beach Club since 2000 - the rates haven't looked good when I've had the opportunity to take a trip. However, they aren't bad this summer - if you have an annual pass to Disney. Now, I don't have one of those at the moment. I'll be buying one before I go, and here's the kicker - an annual pass (adult) is only about $50 more than a length of stay pass - and offers a huge discount at the high end resorts. It all worked out pretty nicly. We are heading down with friends and their kids - who have never been to Disney, so it should be an interesting experience. The Beach Club (and adjacent Yacht Club) are the nicest places I've ever stayed - good rooms, fantastic pools, very nice resort. I'm looking forward to this.
Over on MS' channel 9, there's an interview with Ward Cunningham. Page down a bit, and read the comments:
Obviously this guy has never heard of Reflector before :). Too bad for him.
ROTFL. Reflector is a bolt-on for C# that gives you a complex, weak version of what we call reflection in Smalltalk. These guys don't know what they don't know.....
Thanks to Michael, we have spell checking in the posting tool and the comment tool (both parts of BottomFeeder). I'll have to add an interface to the learn function - we are using ASpell, and it has an API for that. Once 3.5 ships, we'll have the library included for Windows (English dictionary only). You can visit the sourceforge site to install it in the meantime.
I just added a spell checker to BottomFeeder; I should explain how to go about installing it. First off, go here and grab ASpell for the platform you are running on. If it's Windows, follow this link. Next, grab the data and dict directories and copy them into the main BottomFeeder directory. Finally, on Windows, copy all the dll files from ASpell\bin into the main BottomFeeder directory.
Now, you'll need to make sure that you grab the latest dev bits from the upgrade site - make sure to install the latest Blog-Tools, BottomFeeder, and IRC-BottomFeeder-Plugin components. Once that's done, you should get spell checking in TypeLess, the Blog posting Tool, and in the comment tool. Mispelled words will be red with squiggly lines (as in Word) - right clicking on those words will offer a menu of possible replacements. We'll add in an interface for adding words to the dictionary eventually.
Ed Foster points out that the software industry isn't the only place that nasty EULAS are being pushed around:
"There is an outfit out there called the Handyman Club of America," the reader wrote. "Periodically, they send me an invitation to join their organization, promising me all kinds of tools, information, and benefits. However, one requirement of membership is I must agree to never share any of the information I learn from the club with anyone who is a non-member. Pleeeeze. Needless to say, the invitation gets tossed without opening.
The stupidity just spreads....
In response to this post, I was asked to post some links to reflection in Smalltalk. I dropped this comment into that post, but decided to surface it as a post:
Here are some of the best links on Smalltalk reflection:
Or just try this Google search and follow things that look interesting.
The phishers are getting far more clever. I just received a very realistic looking phish mail that purports to be from ebay. The bottom of the mail has a proper looking piece of boilerplate, complete with links to the appropriate privacy pages (etc.) on ebay. The only ways to tell that something might be amiss is to look carefully at
- the sender address (but only if you look at it carefully)
- the actual link address (as opposed to the printed representation
Since most people don't look at the status bar, I'm sure that this spam has taken in a large number of people. The scammers are getting far, far more clever....
What did Bruce Boxleitner do wrong to get involved in this dog? Killer Snakehead fish?
Since several ISPs were blocking his e-mail to their customers as a result of the SpamCop listing, the reader messaged Comcast in the hopes they would take appropriate action to remove the sources of spam from their server. Instead the helpful folks at Comcast replied:
"Thank you for contacting us regarding your Comcast High Speed Internet service. We're sorry but as the SpamCop server/service is the one that is blocking, you will need to contact SpamCop with your request."
Now, never mind that Comcast ought to be rooting out spammers in its own network (and there are reports that they might be starting to do so - just try following the advice to contact SpamCop. It's a completely opaque outfit that does not take feedback. Anti-social doesn't begin to describe them...
Charles Miller explains why all the JRoller blogs suddenly had all their items look new again. Changing GUIDS on old posts is pretty dodgy....
I'll be in Australia from July 14 - July 23 - I have a few things lined up via the Cincom Australia office, with customer visits and additional things still being fleshed out. Here's what I know will be happening so far:
- July 15: The July NSW Australian Computer Society Open Source SIG (possibly combined with the OOSIG as well)
- July 20: July Sydney Smalltalk Users Group
- July 22: July Canberra Linux Users Group
I've put all this time and energy into my blog page with House Ads, Adsense, Blogrolls, etc and it's a total waste of time and energy. Because by the end of this year, the number of people who actually visit my blog will be less than 10% of my total audience.
So, this means that the smart money is going to go into the feed space. Because that's where the action is. Forget AdSense. I need contextual ads built right into my feed. Forget Typepad links, I need the links built right into my feed. Same with comments
Making contextual ads for feeds is going to be a fair bit harder than it is for websites - after the content is grabbed, you don't necessarily see the reader anymore.
David Buck points out some of the things you can do in Smalltalk that are either impossible or very difficult to do in Java.
How's this for irony? The Taiwanese authorities boasted on Saturday that they'd caught a notorious hacker, author of the Peep Trojan program and the Randex series of email worms. In Germany, around the same time, they were celebrating the capture of the author of Sasser and the author of Netsky. So it was painfully ironic that it was the Sasser virus which disabled the Computex show network here in Taipei.
The worst thing is, the appropriate MS patch dates from 2003...
Peter William Lount has been writing some interesting stuff on Smalltalk and dynamic typing (as opposed to the kind of static typing you see in languages like Java). It seems that this is best viewed in Mozilla (or at least, not in IE - the style sheet baffles IE). You could also subscribe to his feed and read the content that way.
This is an old post, but the last paragraph just grabbed me:
I actually really like C#. It really rocks! In about 30 minutes I had full-on SOAP RPC working (remoting), and in about as much time I added CODEDOM - so I could compile "plug-in" code on the fly. Now that really rulez! For an added touch, I RPC'd the source to a C# add-in to the server, and compiled that in on-the-fly. Hahahaha, I feel like GOD. Too bad you can't run this code w/o the CLR installed... what a bummer. I wish you could statically link that somehow... if anyone knows how PLEASE msg me. I can tell you this, C# steamrolls Python like it was MULM in my fishtank's EHEIM (sorry Dave).
or to summarize: "Gee, these features (which are provided by the runtime env) are nifty. It's too bad it requires a runtime". I suppose his head would just explode if someone showed him live updating of a Smalltalk server...
Linux Today reports that RedHat screwed the pooch with Fedora:
As I sit before my new installation of Fedora Core 2 (FC2) I'm reminded of the first time I had to put down a beloved dog. FC2 suffers from some fatal flaws. For most people, it will be best to put this malformed whelp out of its misery and wait for the Fedora Project's next litter of pups, which promises some awesome powers.
BottomFeeder 3.5 is about to ship - I've got the most recent build available on the download page now (under dev links). The doc is being wrapped up, but other than that, I think it's about ready to go. What's new?
- Made the various view states more consistent - i.e., staying in the tree view if the user wants that
- When a folder is selected, the item view now shows all items in all feeds in that folder - appropriate to the view (all new, flagged, for instance)
- Made the application international aware - all strings exported out as User Messages
- The HTML view has been greatly enhanced, thanks to Holger!
- Better display of HTML
- Faster Image display on Windows
- Keyboard navigation (arrows, pageup/down, space bar)
- Added digest authentication - private LiveJournal feeds are now accessible
- The new A9 (Amazon) search engine is an option under searches
- Added BlogDigger as a feed builder (similar to Feedster support)
- Added support for the NewsTrove site's RSS search builder
- Added an option to adjust font scales specifically in the browser pane
- Added cross feed GUID resolution. If items in multiple feeds share a guid, then changing the state of one changes the state of all (read/unread)
- Added a 'View Related' view - If other items you've downloaded refer to the selected item, you can expand the view to show the related items
- Added a Minesweeper implementation as a plugin
- Greatly enhanced the handling of character set encoding. This results in more accurate display of items
- Added an option that allows users to change the encoding of items if they "look wrong" (happens if the encoding specified is not actually the one used)
- Added a setting allowing users to stop items being marked new when only new comments have arrived
- When loading a new page into the browser pane, the HTTP query is done in the background, and is cancelled if the item selection is changed.
- Added a spellchecker (Windows, Linux, Unix) to the blog poster, the comment tool, and the IRC plugin (TypeLess)
In the Church of Complexity, static typing makes everything harder. Go see what happens to a simple extract method refactoring over in the MS tools - and then look at what the Smalltalk Refactoring Browser does in a similar situation. Then, have a look here to see what kinds of things fall out of having static typing and interfaces. Wow. That sort of thing would have made for lots of very complex code in parts of BottomFeeder....
I've just released BottomFeeder 3.5. To see what's new, look here. I'd like to thank Rich Demers for his excellent documentation. I'd also like to thank Holger Kleinsorgen for his great work on Twoflower (the HTML component I use). Michael Lucas-Smith contributed the Spell check interface to ASpell - check the docs to see how to make sure it's installed correctly. There were many other people who contributed as well, please look under Help-About!
Updating to the new release: if you already have BottomFeeder installed, simply do this:
Download the appropriate baseApp zip file from the download page. Unzip it, and replace the executable (Windows) or Image (.im file, non-Windows) in the BottomFeeder directory. Delete all the files in 'app' and in 'plugins', and restart BottomFeeder - you should be upgraded. If you don't have Bf installed, use the Installer (Windows), or unzip the zip file (other platforms). Enjoy!
The Sydney, Australia Smalltalk STUG has some upcoming events to announce:
A general welcome to the next Sydney Smalltalk User Group Meeting on Tuesday June 8th starting at 6:30PM
This month we are featuring Bruce Badger of OpenSkills talking about the OpenSkills SkillsBase which is implemented using the Swazoo HTTP server running in GemStone, all hiding behind a Squid reverse proxy.
James Squire Brewhouse
22 The Promenade, King Street Wharf
King St Wharf, Sydney
Tel : 02 8270 7999
Head down to the bottom of King st. Turn right and it is a few hundred metres past some other restuarants almost opposite the Foxtel sign across the water
We'll be in the Ward room which is at the back of the James Squire. Go past the left hand side of bar and turn right.
And early notice of the following meeting on July 20th featuring James Robertson from Cincom.
Sign up to the Sydney Smalltalk Users Group mailing list here:
Scoble links to some advice for web developers and XP SP2. Looks like some of the security mods are going to require some tightening...
Every so often, I run across a customer using an older version of Cincom Smalltalk - typically VW users with VW 2.5.x. A question that seems to come up all the time is "why should I upgrade?" Now, I understand that it's a fairly big move (2.5 was released in 1995, so an upgrade involves moving across 9 years of active development). At the same time though, it's an odd sort of question - how many people are sticking with the 1.02 version of Java, for instance? Seems to me that it's the same sort of thing.
Oops - looks like Schwartz may have spoken too soon about open sourcing Solaris. He was reported as saying:
While speaking at the SunNetwork conference in Shanghai, China, Schwartz commented: "I don't want to say when that will happen... But make no mistake - we will open source Solaris."
Only to have McNealy say this yesterday:
At a news conference during the public sector technology showcase FOSE 2004, McNealy said he couldn't understand how open sourcing Java would solve anything.
I've certainly inserted my foot firmly in my mouth before, but you would have thought that Schwartz would have cleared something that big before getting slapped down....
At least in VisualWorks (part of Cincom Smalltalk), it's pretty straightforward. There are two simple paths for updating:
- File in new code. A file-out is simply code exported from a Smalltalk image - in a format that will allow it to be imported into another image. This is how I patch this server in place - I follow the following steps:
- Test my changes in a local (my office Linux box) image
- Once they work, I file out the changes. How do I know what's changed? In VW, any package has a change set - which holds all the changes since the last time that package was published. I just export that
- FTP the file-out to the server
- Using an interface I left open for myself (web based), I login and tell the server to load in one or more patches.
What does the server do? It executes code like this:
'someCodeFile.st' asFilename fileIn.
That's it. The nifty thing is what happens - not only is the new code compiled and loaded, but any shape changes required of existing objects (i.e., changes in the instance variables) just happen. I don't need to jump through a bunch of hoops; it all just works.
I take a slightly different tack with BottomFeeder. With that application, updates are delivered via HTTP download, as parcels. These parcels are either loaded at startup or at the time of download - and they replace the older version of the parcel that is in memory. Again, I don't need to worry about the details of shape changes - it all just works. Here's the code snippet that will load a parcel, and handle the warning exception that may notify me (if I'm loading over existing code:
[Parcel quietlyLoadParcelFrom: file] on: DuplicateBindingsError do: [:ex | ex resume].
And again, that's it. The parcel loads up, fixes itself into the system, and everything is updated. No need for custom class loaders. No need to write complex rules for exporting object state and then restoring it. It just works
This should have made the cut for the 3.5 release, but I forgot that I'd done the work for it. The Blog Tool now has spell check support - but you may not always want it on. So I just grabbed the forgotten code that adds a setting to toggle it on/off. It's in the latest update for 3.5 (both dev and normal).
David Anderson http://www.agilemanagement.net/Articles/Weblog/WorldClassVelocity.html points out that no one believes the productivity claims of XP/TDD advocates:
So is it any wonder, when I tell people (indeed, show them with metrics) that agile development team A is 5 times more productive than team B who in turn are twice as fast as team C at another location, that people don't believe me? After all, these programmers are only human - right? How can it be possible to go 10 times faster? Just what kind of drugs do you take to make that possible? Is it time we banned these prescriptions with names like FDD or TDD or XP in order to level the playing field for everyone else? Perhaps some police raids to dig out the story cards and some spy equipment to detect morning stand up meetings? It is disgusting that some developers can go so quickly. It has to be stopped!
No one believes the relevant numbers about Smalltalk vs curly brace languages either. I guess believing the claims would cause heads to explode and world views to be rearranged. Simpler to just be Vizzini, and shout "inconceivable!"
Damn my penchant for bad movies! There's going to be an X-Files 2 movie. The only suspense left: Can it make less sense than the series finale and first movie did?
I'm not the only one who wondered about the "24" finale. Follow the link (there are spoilers) if you want to see a good list of the dumb, dumb things wrong with the ending. The only thing that went the way it should have was the final decision of President Palmer....
Not having a Mac, it's been problematic for me to set up a decent installation for the OS 8/9 platform. OS X is easier; once it was explained to me, I was able to set up the proper directory structure without access to a Mac. VisualWorks (the tool I use to build BottomFeeder) is able to produce a single executable file for OS 8/9 - I'd need a Mac to do that though. So, these directions should work; I found them from an intrepid Mac user on the net:
Installing BottomFeeder on Mac OS 8/9
Do the following to download and install BottomFeeder on a Mac OS X system:
- Download BottomFeeder from the BottomFeeder Home Page, choosing the Mac OS OS 8/9 version.
- Uncompress the folder onto your desktop. The zipped package does not include a straightforward installer; it has, instead, the following files:
- bottomFeeder - the executable file
- bottomFeeder.im - an image file.
- two Lib files: NetManage WinSock Lib and StdCLib
- plus some folders that will be used once the app installs.
- Drop the icons for NetManage, StdLibC and bottomfeeder on Stuffit! Expander. You will end up with the NetManage and StdLibC icons looking like puzzle pieces and bottomfeeder will expand to an icon called "visual". Visual will have its creator already set to HPS7. To get the bottomfeeder.im icon to highlight the "visual" icon upon drag, run ResEdit 2.1.3 and change the creator for bottomfeeder.im to HPS7.
After that, BottomFeeder should run. Just drop bottomfeeder.im on bottomfeeder.
This is one of the times that I'm glad I didn't volunteer to chaperone my daughter's girl scout trip - to Hershey Park, PA. The forecast for the day there was a high of 62, and buckets of rain. I've been to Disney multiple times in dodgy weather, and it's never a great experience - cold and wet is just not a great way to spend an afternoon, IMHO. Of course, my daughter didn't mind - at 10, she was just looking forward to spending the day and evening at Hershey with her friends. Ah, youth :)
When I read movie reviews, I often wonder about some of the things that I read. Take this paragraph in a story about how scary the new "Harry Potter" flick is:
A description of some "scary moments" deepens her conviction. The transformation of a beloved character into a werewolf? "That's just one of the really hot buttons," she says: Physical transformations and monsters are especially frightening to children under 7 or 8, who can't distinguish between imaginary creatures and real ones. The fact that it's a sympathetic character who's suddenly howling and baring his teeth only makes it more disturbing.
Now, this comes from a mother (who admits that she hasn't seen the film) of some kids that age - but still, it made me wonder if she had ever met any kids that age. My daughter was in that range when the first Potter flick came out, and was that age when "Fellowship of the Ring" came out. She had no trouble - either with the books or with the film - separating reality from fiction. Neither did any of her friends, many of whom are absolute Harry Potter fanatics.
I'm sure that there are kids who shouldn't see these films - but the point is, you have to make a judgement call based on knowing your kids. Making a blanket statement that kids that age "can't distinguish between imaginary creatures and real ones" is just silly. It reminds me of the many newspaper articles I stumble across from child psychologists... nearly every time I read one, I wonder if the so called "experts" being quoted have ever met any actual children.
I guess I need to buy the soundtrack to "The Return of the King" - I kind myself scanning the beginning of the credits to hear the theme song, sung by Annie Lennox. There's something haunting about that song. It's used to very good effect in the film as well - if you pay close attention to the scene - just before the Rohirrim arrive - where Gandalf is telling Pippin not to fear death - you'll notice that Jackson used that song. This is one of the touches that I really, really like about these movies. The other one that still sticks in my mind is from the first movie. As the Fellowship walks through Moria, there's a point where Gandalf says that he'll risk some light - and he then introduces them to the heart of the Dwarrowdelf. The music that was playing then was perfect - somehow, it captured the sense of glory and loss perfectly. That's exactly the way the ROTK theme song is for me - it seems to capture the triumph and the loss of the victory in the War of the Ring perfectly. If there's another movie out there that has done the music this well, I can't think of it.