This is good news - CS Lewis' "The Lion, Witch and the Wardrobe" has started filming in New Zealand. I read the books as an adult, and I liked them a lot
It's always a struggle to get back to work on a travel day. I arrived home about 1:30 today, but it didn't really feel like a work day (air travel at an early hour will do that to you). I expect I'll be back in the swing of things tomorrow.
So Sun is now playing the up the version number to impress people game.
Sun announced today the Beta 2 release of the J2SE 5.0 software development kit (JDK), which includes tools such as compilers and debuggers necessary for developing applets and applications and the Java Runtime Environment (JRE). I
Not that this is new; ParcPlace jumped from VW 3.1 to VW 5i - and that was two pieces of marketing led silliness:
- The "5" was there because IBM was at version 5 of VAST - and they didn't want to look "behind" with a version 4
- The "i" was for "internet" - which was amusing all by itself, since at the time we didn't support any of the common net protocols (although we did have a browser plugin)
Lots of companies do this, and it makes me wonder - who do they they think they are fooling? Does Sun think that people will forget that it's really 1.5? Like ParcPlace thought that the "i" was enough to convince people? Like many other software firms seem to think? This kind of thing is just silly.
Yeah, Bruce Tate is in Groundhog day alright:
Enter Ground Hog Day on a grander scale. Those of you who are old enough to remember have seen this before. A long time ago, when we thought we'd taken procedural programming as far as it would go, we hit that unrunnable rapid. People wrote books like the Mythical Man Month and Death March. So we innovated. Object oriented technology was born. We started playing with it in the'70s, with Small Talk. A few joined the band wagon, and used the technology to good effect. They are like the guides that led Mike and I to the dangerous river. And they had fun, and were incredibly productive. And like Mike and I, other lesser equipped paddlers in the industry followed enthusiastically, but they were in over their head. And they crashed and burned. They heard the roar (inheritance? CORBA? #define?) And they flipped, tried to recover, and swam. Some wailed, "This is truly a river that is too mighty for the layman to run. Let us build a sign, and a wall, to keep the public safely out. Let there be no more good people drown here."
Hey - there's a reason that the Smalltalk guys made it look easy (heck, CORBA is easy in Smalltalk, for goodness sake). The answers are explained here. Unfortunately for the rest of us, neither Sun nor Bruce have learned anything:
And that, finally, brings me to the point. We're in a similar place today. The early guides are putting in on the roaring river, and their kayaks have AOP (Aspect Oriented Programming) all over them. And a few of us are going to foolishly follow them down the river, and maybe even get killed. We'll hear that AOP really isn't a seventeen-foot rubber raft that is immune to capsize. But what happens next? Can that particular river be run? I, for one, think so.
Cue the next silver bullet chase music....
StepTalk is the official GNUstep scripting framework. It is more than a scripting framework with an illusion of single objective environment between objects of scriptable servers or applications. It is language independent, but the default scripting language is Smalltalk.
Car manufacturers have been stuffing new cars (especially luxury models) with a lot of new electronics - and they aren't always debugged:
And while some automakers force car owners to sign nondisclosure agreements to avoid bad publicity when their electronics go haywire, the Internet is abuzz with the horror stories.
A widely posted Associated Press story reported that the Thai minister of finance was trapped inside his BMW when a computer malfunction locked the car's doors and windows; a bystander had to break one of the car's windows with a sledgehammer to let him escape.
I wonder what software development tools are used for these kinds of systems - is it still the fiefdom of C?
I've been making progress on the synchronization feature to BottomFeeder. How does this work? Well, there are two ways you can use this:
- From Bf, execute a remote synch. This assumes that Bf is running on the remote system, and that port 8666 is accessible (HTTP) from where you are running Bf locally
- Since that may be problematic, you can also export a synch file and then get that file over to the remote system manually (FTP, floppy, whatever) and then load it up.
The synchronization data is a simple dictionary of your feeds and all the items that have been read. When you synchronize, all matching items in the local Bf will be marked read (as they were in the source). This is pretty cool! I'll have an update to the dev stream as soon as I get more testing done on it.
Sun has Jonathan Schwartz out blogging now - given the current "be careful what you say in public" atmosphere surrounding public companies, this is a very interesting decision. I have to give them credit for opening up this way.
The synchronization feature I talked about here is now in the dev stream updates for BottomFeeder. It was pretty easy to implement; the tough part will be end users having the ability to remotely access another Bf via port 8666 (HTTP). That's why you can export a synchronization file and then load it in.
There are a number of new features in the upcoming (3.6) release of BottomFeeder. I've also addressed a number of bugs that have been brought to my attention - here's the list of the major new stuff coming down the pike:
- Added "Newspaper view" to BottomFeeder. Users can view all new items (on feed/folder selection) in an html summary, or limit those summaries to individual feeds via property settings. The view summarizes all items (either all new or all today's) at the appropriate selection level. If there are too many items, a paging view is displayed
- Added remote synchronization. A running Bf can query another Bf via HTTP (on port 8666) for its state of items (read/unread). The local image will be appropriately updated. This may be limited by firewalls, so there is also a file import/export mechanism.
- Improved the "is this item new" algorithm significantly, and decoupled the logic from the size of the feed cache.
- Upgraded the Blog Poster with more wiki markup options
- Added the ability to toggle the spell checker on and off for the poster and for the comment tool
- If you browse a document link inside of Bf, Bf will now prompt you to download the file. Previously, Bf logged an error on such requests
- Image display in the HTML component has received more upgrading. This should be improved in the latest release
This keeps Bf even with or ahead of the rest of the aggregator field, including the commercial ones. The new release should be out fairly soon - so far as I know, Rich is mostly caught up on doc.
Windley points to some information about the relative levels of security on the campaign sites of Bush and Kerry - pointing out that there's an interesting tension between security and speed on something as temporally bound as a campaign website (which may map very well to sales/marketing campaigns in the business world). The main finding is that Bush's site seems to have a lot more potential security holes in it - color me not surprised after reading this:
And for those who evaluate a candidate's choice of operating systems when choosing their president, Smith's check showed that the Kerry site is housed on an Apache Web server running on a Red Hat Linux box. The Bush website is hosted on a Microsoft IIS 5.0 server and uses Microsoft's ASP.net.
IIS is a sure way to security holes....
There's more fun in the pop up space - at least one of the keylogging pieces of malware out there detects a large number of banking sites in IE, and logs keystrokes while you are on them. How many users of IE are getting waxed by this one, I wonder? See the TechRepublic story for details.
I'll be in Australia in July, and Cincom's guy in Australia - Andrew McNeil - has posted an announcement of my talk in Melbourne:
For the information of those in and around Melbourne, Australia -
Cincom will soon release VisualWorks 7.2.1 and ObjectStudio 6.9.1. Come and hear what the plans are for the next major release (due in November 2004), as well as Cincom's plans for the next few releases. James Robertson, Cincom Smalltalk Product Manager, will give a presentation and answer your questions. As time permits James will also talk about blogs, blogging, RSS, and the open source RSS/Atom news aggregator BottomFeeder.
Venue: CSBC Mediation centre Level 15, 350 Collins st Melbourne.
Citibank Building roughly half way Between Queen and Elizabeth st on the North side of Collins St. 350 is about the halfway point of Collins st Melb.
Date: Monday 19th July
Time: From 12:30
I'm looking forward to it!
Apparently, there's things we didn't know about Blaine Buxton - not only is he dating Barbie, but he's a long lost Australian :)
When I decided to support synchronization in BottomFeeder, I decided to do something really simple. The gist of the process is to transfer a synchronize definition from system 1 to system 2. There are two ways to do that:
- Export a file, and then import it into the other system
- Have the system here request a synch from a remote system (via HTTP)
In either case, a synchronize document is transferred, decoded, and applied. The document is simple, and it's not XML. Why? Well, an XML document would end up being bloated. The data being transferred is very simple - it's a dictionary:
- Key = Feed URL
- Value = OrderedCollection (guids)
The guids are the guids of the items that have been read - there's no need to transfer information about the unread items (either they are new in both places, or you have already read it in the requesting place- either way, no need to send that information). So how to format that? A simple text format - looks like this:
http://www.someUrlHere.com/feed.xml (guid1 guid2 ... ) http://www.someOtherUrlHere.com/feed.xml (guid1 guid2 ... )
So I decode that back into a dictionary, and grab all the local feeds. Then I match feed urls, and mark all local items with matching guids as read. That's it. It's simple, it's pretty fast, and it didn't require a lot of work. If a "standard" approach to this problem ever arises, I'll probably support it. For now, this works just fine between different instances of BottomFeeder
ComputerWorld's Robert Mitchell talks about the security enhancements in XP SP2. It seems like they are at least moving in the right direction - the firewall will default to on, for instance. However, some of the security features just seem like hurdles. Take this:
To get an idea of just how far Microsoft's thinking has come, consider how SP2 handles .zip files. These can contain viruses that antivirus programs can't detect, so SP2 blocks all such attachments. To open a .zip file, the user must first save it to disk, then select it, bring up the Properties dialog box and click on an option to unlock the file. That makes handling of .zip files pretty inconvenient but safer.
How is that actually safer? As you unzip the file, either you have virus scanners that will catch bad things or you don't. Making it a pain in the butt to grab compressed files doesn't actually help. This reminds me of nothing so much as the Transporation (In)Security Agency's insistence that you take your PC out of its bag before it gets X-Rayed. News Flash - X-rays see through the bag. I'm so pleased to see that MS has gone for "in your face" perceived security, rather than the real thing.
Here's what they could do if they really wanted to improve things - make it possible to use Windows as a normal user rather than as a user with admin rights. I rarely use the root account on my Linux box - on Windows, I can't do much of anything unless I have admin rights. Since there's been zero reporting on that issue, I guess it's not going to be addressed soon...
The rational part of me wants to tell citizens of Red Sox Nation to remain calm. Last night's ugly 11-3 loss to the Yankees in the Bronx was only one game and the Sox are still 6-2 against these guys this year. The pitching matchups favor the Sox tonight and tomorrow, and we're not even halfway through the season yet.
With the best record in baseball, at 49-26, and their largest division lead of the season, the Yankees can concentrate on refining their game. Unless the Red Sox put up more fight, another division title seems all but certain.
Hehe. And the Boston Globe quote is from yesterday; they haven't got the reaction to the 4-2 loss tonight yet. Looks like the classic Red Sox choke is coming early this year. and Update: Here's this morning's Boston line: "Fire the manager. Trade Nomar. Buy every member of the team a brand new mitt, then shave all their heads. Fire Theo, bring back Dan Duquette, sell the team, and implode Fenway." Heh.
Jon Udell says that VMs are the platform, not the underlying OS:
Eclipse runs on the JVM, Chandler runs on Python, various things run on the CLR (and Mono), Longhorn apps will run on the CLR. One way or another, your platform will be a VM. Its capabilities, class libraries, OS bindings, and language bindings will matter more to you than the underlying OS or language.
Yet another way that Lips and Smalltalk presaged the future...
Looks like Croquet is getting close to being unveiled. If you've seen Croquet in action (there was a nifty demo at StS 2003 - see my writeup or Niall Ross' writeup for details), then you already know that the "revolutionary" Looking Glass project from Sun is a very, very pale shadow of what's possible. Alan Kay is still inventing the future!
The 3.6 release of Bf is available for dev (beta) download now. If you visit the download page and scroll down to the Development Version links, you'll see the 3.6 version is up. I'm waiting for final documentation from Rich, and if nothing major comes up, I'll pull the trigger and make this the official release. Enjoy, and let me know if anything bad turns up.
The next release will involve a new base VM and image, as I will be moving to VW 7.2.1 for development. That should mean better Mac performance, and a host of bug fixes (mainly, the removal of work-around code from me). After this release goes live, I'll be starting that work. In the meantime, enjoy the major new stuff - Newspaper mode and synchronization!
I've been very pleasantly surprised by the number of downloads of the BottomFeeder over the last two weeks. The latest Apache log file goes back to June 17th of this year, and here's what's happened since then:
|Platform||Number of Downloads|
Nifty. So what have I been doing right lately? More importantly, what do I need to improve?
Have you seen this guy on jeopardy? I swear, he knows everything. The stats in the story are out of date; he was still winning as of today, and at something like $737K USD. Now, the story says that his winning streak is over (we are watching shows from February, taped ahead). If you have a chance, watch the show while he's on. Absolutely amazing.
Here's an oddball thing - Virginia accidentally re-instated their blue laws:
"This is bad news, and we don't completely know what will happen," said Keith Cheatham, director of government affairs for the Virginia Chamber of Commerce.
The problem came about because state legislators attempting finally to remove the old laws from the books goofed, only completing half the job. They left the actual laws, but repealed later amendments that nullified the law and others that listed businesses and government agencies that were exempt.
It pays to read the bills before you pass them....
Danny Ayers talks about scripting, and how Smalltalk doesn't really need a distinction between the "real stuff" and the scripts:
What 19s more Smalltalk doesn 19t need the distinction between a scripting language and 18the real stuff 19 - it 19s all the same language, available to the developer/user. Ok, Konfabulator and Dashboardhave got access to web functionality, but then so do most ST systems, in a considerably more transparent fashion.
What's interesting is that there doesn't need to be a separation between runtime and development time either - I've scripted BottomFeeder, for instance. This should get even better starting with the 7.3 release of VisualWorks (late November). Why? because we are going to push out support for a defined runtime environment - including support (on all platforms) for stdin/stdout). That should make things interesting.
A lot of good observations here - go look at all of them. I'll quote the three I liked best:
- Bad code without bugs beats good code with bugs.
- Shipping code with bugs beats non-shipping code without bugs.
- Write code for clarity rather than speed. Please. More problems are caused by complicated code and than "inefficient" code.
Very good things to keep in mind on any project...
Joi's post on yard work reminds me of my experience putting in a patio. We were putting in a 20'x20' square brick patio - I started with a shovel, clearing out the grass. I'd gotten a few feet into that when a neighbor marched over, demanding our phone book. He opened it to a rental place, and explained to me how I really, really wanted a turf cutter. Boy, was he ever right. I rented on of those, and the grass was off in a jiffy. That still left the sand and gravel though - and you always need more than you think. I can tell you, 9 1/2 tons of sand and gravel by wheelbarrow from driveway to back yard is a "character building" experience. I never learn, either - I just ordered more brick for some more walkways we want to put in...
In this post, I asked for some feedback on Bf. I got quite a bit, thanks! I should explain a few things to make it clear how and why some things are the way they are:
- Startup times - startup can be slow after updates have been downloaded. Why? Well, because patches are newer versions of parcels (components) that are already loaded into the system. I ship a base image (or exe on Windows) with the parcels pre-loaded, since there are 15 components that can be updated. If they are loaded at startup, it would be slower (yes, I've tested this :) )
The question I got asked is - "Can you save the image after patches are loaded?" Well, no. On Windows, I have a merged executable and image - so it's not really a possibility. But beyond that, saving an image at such a point would put it into a different state than the known startup state. Patches can also be loaded on the fly, without restarting - a save in that case would also save all current application level state - not something you would want. This aspect of the system is what it is, more or less - unless someone can come up with a brilliant idea that I haven't thought of...
- During update cycle bf 'hiccups' too much, sometimes I have to wait multiple seconds before the app responds to a mouse click.
Well, that's simply some kind of name resolution or network access issue - it's a general problem with network applications. If Bf becomes completely unresponsive, it means that a network access is waiting at the VM level. This is a general issue that I've asked our engineers (VW engineers) about
- Redo of the folders
Rich and I have talked a lot about this - it's something we will likely approach when we make the cutover to Pollock.
Hehe - this is funny:
|Development phase, by its old name||Truly representative name for the phase|
|Design||Guess and Waffle|
|Build||Hack and Play|
|Test||Wobble and Groan|
|Deploy||Push and Pray|
|Support||Duck and Deny|
About the size of it...
The Redwood City, Calif., company this quarter will release a version of LiveMessage that lets users send messages via RSS feeds. LiveMessage, released earlier this year, uses public instant messaging networks to send communications not only via IM but also via e-mail, SMS (Short Message Service) and desktop alerts.
Whatever my local power company did when they set up power in my neighborhood, they did it wrong on my end of the street. We lost power for 4 hours this afternoon - the entire rest of the neighborhood (other than the strip of houses near us on down) were fine. The cable company showed up and put a generator on the cable box in my front yard, so that everyone else could watch TV and use the net. Grr. This isn't the first time this has happened either - it's a fairly common thing around here. It came at a very bad time though - I was about to head out and buy supplies for tomorrow's cookout... which I put off because the power (and thus all the refrigeration) was offline. Swell - so instead, we spent the day doing yard work. It needed doing, but now I'm exhausted and sunburned. Off to the grocery store anyway, for burgers, etc....
Thanks to Denis Johnson, the BottomFeeder home page has received a facelift - using the same graphics he gave me for the application itself. It's a very nice improvement, and I couldn't have done it without the help. Thanks!
We'll be celebrating the 4th in the traditional manner - barbecuing hamburgers and hot dogs, and consuming vast quantities of various beverages. I'll be getting ready for the shindig most of the day, so don't expect a lot of blogging from me. In the meantime, have a look at Blaine's post - more real world Smalltalk!
All I can say about this is ROFL. How often do you see a cabinet member doing YMCA? :)
We (STIC) have started planning for StS 2005 - we are trying to select a location. We have some ideas, but I have a general question - if we held the show in a "vacation" location, would you be more likely to come, or less likely? Would you be interested in combining the trip with a vacation if we did that? Or, would you rather that we made a selection along the same lines as the last few (Seattle, Toronto, Chicago...)? Thanks!
Burgers and dogs were grilled, kids ran around like maniacs, and one of the neighbors lit off some impressive fireworks. We had some early rain, but then it cleared up and got to be pretty nice. It was a great 4th!
Improvements come in spurts, not in a straight line. Why? Well, here's an example of wait time: Scoble is off about the Tablet again:
Tim's "senior person without a soapbox" was complaining about not seeing any improvements to notebooks in 14 years. Hmm, ever see a Tablet PC? You can't use your notebook while standing up, but I can. That's a huge improvement in UI.
Hmm - I can count the number of times I've wanted to use a computer while standing - it's a small number. And no, airport security lines don't count. Why? Well, you imagine holding a tablet PC, a shoulder bag with your clothing, and the computer bag - and then figure out just how comfortable you'll be with a Tablet taking up both hands. Now add a child to watch, or a wife you should be talking to... this isn't a use case, it's a non-use case. I've yet to see anyone doing this at an airport, and I travel a fair bit. So far as I'm concerned, the Tablet really isn't a big deal - No one I know wants to write with a pen.
Now, the question is, are we about to see a 3D user interface revolution? Sun has been showing around its cool LookingGlass user interface. Microsoft has a bunch of 3D stuff in the lab.
Yeah, and I've been pointing to Croquet as well. We were talking about this on the IRC channel the other day - outside the games space, just how useful would a 3D user interface be? At least Scoble is properly skeptical about this one (follow the link to his site).
Charles Miller gives a great example of how little it takes to make you wonder. In discussing "The DaVinci Code", he describes how he felt after reading a segment that talked about Cryptography, a subject he knows something about:
It would be easier to overlook this if the name-drop served any purpose other than as a shout-out to crypto nerds. It's not as if Bob Bookreader is going to think aha! The writers, respectively, of Applied Cryptography, and PGP!, A small part of one percentile of the book's audience would have the vaguest clue who the names belonged to, and those people would also understand why it's wrong. For everyone else, you may as well have skipped the names entirely. Surely that's worth the two minute Google search to find out who to credit?
This is the same kind of Cognitive Dissonance I experience every time I read a story in the popular press about software developement (or just about any aspect of computer science). It's a subject I know well enough to know when I'm reading uneducated cruft, and it then makes me ponder the other news in the journal/newspaper - I think "If this section is so bad, then just how much should I trust the information they convey on technical subjects I don't know much about?". I've gotten really cynical about science reporting in general because of this...