Blogging Roller is apparently hard coded to ping weblogs.com specifically - that reminds me of a nifty little feature of Silt. The Silt settings file has an on/off option for blog pings, and another setting that allows you to specify the sites that will be pinged. Heck, I even allowed an option for setting the xml-rpc method to use, in case that ever changed :)
I didn't have time to put together a screencast today, so it was fortuitous that I got a link to one in email - a Seaside screencast. It's fairly large - 42 MB.
Rogers Cadenhead points out that anything you try to "get away with" on the web will be spotted by someone sooner or later. Unlike a Newspaper, you can't bury corrections somewhere in the back...
Darren Hobbs points out that having an artificial divide between compile time and runtime just makes life harder:
It gets more interesting when you get errors that aren't caught by the compiler (eg. calling a method on a null reference). In Java or C# the defect is already ossified in the compiled bytecode, and to fix it I have to change the source and recompile it plus everything that depends on it. On a big project this can be a time consuming process. On the other hand, in Smalltalk the error would be 'UndefinedObject doesNotUnderstand:someMethod'. And it would be as easy to correct as the mispelled method name from the previous example.
Seems to me that compile time checking is only important when you have the inconvenience of compile time in the first place.
Having to compile up front is like airport security - it gives you the illusion of safety with none of the actual benefits - and it makes the whole process slower as well...
I'm hoping to have a talk at ESUG this summer - I'd be giving the same talk that I'm planning to deliver at StS 2005. I just went through the process of creating PDF documents describing BottomFeeder and Silt - I'm also submitting those as innovative Smalltalk applications - we'll see what happens there. In any case, I've got my flight set up, so I'll be attending ESUG. Hope to see you there!
I've been planning to go to ESUG this summer, and was planning to take the family. We dawdled on getting free seats, and as of last week, there weren't any free seats available in coach (on the airlines I have miles on). I was resigned to buying seats ($1500 for two was the best rate I could find to Brussels), but I decided to check American's website once more. To my pleasant suprise, there were seats - so I grabbed them quickly. We now have a passport to arrange, but the trip is set - I'll be in Europe from the 15th - 24th of August. Whoo Hoo!
I just ran through the logs again - this set is for the period between March 17 and March 29. I find it interesting to see what tools are being used to access the site - especially the ups and downs of the various aggregators:
|Net News Wire||5.6%|
Now, that all adds up to 100%, but that's because I rounded. There were a number of things under the 1% threshold I use as a cutoff, but it all washed out in the rounding. The stats are overall; here are the stats for the various feeds:
|Net News Wire||12.2%|
David Buck airs one of his pet peeves - bad Science in tv and books:
One thing that really bothers me is when I see bad science shown on TV shows, books, or movies. For example, the CSI series often take pictures captured from video cameras and continue to enhance and zoom them until they can see a perfect reflection of a person in another person's eyeball.
I would like to see them blow up an image until they see a black square.
"What's that?" "A pixel" "Can you zoom in some more?" "Sure, how big a square do you want?"
Heh. This plays right into my ongoing issue with reporting on various subjects - with the reporting on subjects I do know something about being so bad, I can only wonder about the rest...
The Marcom Blog points out that - if you are a blogger - you are actually creating one, and it can come back to bite you:
I have a friend that works at a large retail chain in the PR department. For the most part their company is very low on the radar in blogs. Recently though when I did a search in Technorati for the company name I came across a blog post from a teenager who had just started working there. In his post he detailed the training program and videos they watched as part of orientation. His comments were not very flattering.
He doesn’t work there anymore.
This is the way it's going to be - there's a small window right now where (some) hiring managers aren't that net savvy, so you can "get away" with saying whatever you want on a blog. That window is narrowing all the time though - I wouldn't be at all surprised to see past blog posts of mine being brought up if I were in a job search mode (I'm not :) ).
Maybe it would be a good idea to post one of those WWII vintage "Loose Lips Sink Ships" posters next to the keyboard :)
Update: Dana VanDen Heuvel has some good related points. I have a small comment on one one of the points:
Most people have never dealt with the media, and the media are only getting more savvy - everyone in your company should know how to deflect media inquiries and handle themselves in front of the media
The thing to keep in mind is - anyone can be a member of the media now. Say you attend a trade show, and - after a talk (or during it), you make a few comments. Do you have any idea whether you'll be quoted on someone's blog? I actually have people (not that often, but I expect to see more of it) ask me not to blog things - i.e., they want to stay off the record.
Slashdot reports on a ruling that could really wreak havoc on those of us who work remotely - a telecommuter working for a NY State firm was told he had to pay NY taxes. Mind you, his home state was taxing him as well. Does this sort of thing mean that I can be taxed by Ohio, since Cincom is based there? Or perhaps California, since we have a lot of our engineering resources there, and my job as Product Manager involves setting development priorities? This is a disaster waiting to unfold...
Curt Schilling is slowly coming back from that Frankenstein procedure they used last fall during the playoffs. I realize that having him then meant beating the Yankees and winning the Series; I also wondered whether it was going to be worth it in the long run. The fact that Schilling has been shaky this spring - and is currently pitching in the minors - is not an auspicious sign.
We have information on the keynote speakers for StS 2005 - register now so you won't miss any of it:
Eric Evans, author of Domain-Driven Design, will be presenting "Domain-Driven Design: Tackling Complexity in the Heart of Software" on Monday, June 27. Full abstract and bio here.
Niall Ross, who owns a consulting firm, has worked on a variety of meta-data-driven systems, mostly in the financial domain will be presenting:" The Value of Smalltalk" on Wednesday, June 29. Full abstract and bio here.
So I'm killing time at LAX - supposedly part of hi-tech California. Only no one sent the memo to LAX,which is blissfully free of WiFi - at least in the American terminal. There's a "Travel Right" cafe here, complete with dialup plugs. How very, very 90's of them. I'm not impressed :/
It's been a good trip out to California - my daughter visited he cousin, we had a good LAStug meeting, and my daughter and I capped it off with a trip to "California Adventure" today. That was a lot of fun - the coaster in the park in very cool. I'll have pictures once I get online.
The nightmare was the first few minutes after I arrived at Victoria's cousin's house.They had a PC set up that they wanted me to look at, because it wouldn't print. That seemed straightforward - the printer was showing an error light, and it looked like a hardware problem. The nightmare was the connection. Here was a PC - running XP service pack I, no updates installed, no software firewall enabled, no router.
Oh boy. Now, many people at this point get all huffy and claim that they "asked" trouble. And in a sense, they did - I explained to them that an unprotected PC was like not locking your door. Ad-Aware found a bunch of stuff, for instance. I immediately turned on the Windows firewall (better tha nothing), and switched them over to FireFox. I suggested that they buy a real firewall and a router as well. The trouble is, they really shouldn't have to do any of those things. Look at buying a TV, or a TiVO, for instance - do you have to babysit either one, making sure that all relevant patches are installed all the time?
No, you don't. Why? Because both are consumer grade appliances. The PC, for good or ill, isn't - it's somewhere between hobbyist device and consumer appliance, neither fish nor fowl. They still need far more attention than most people are willing to give them - and those of us that geek out on this stuff would do well to remember that. It's all well and good to say "user training". It's also a good idea to look at other consumer grade technology and realize what the expectations actually are.
I'll probably be offline all or most of tomorrow - my daughter and I will be heading to California Adventure (or possibly Universal - I'll leave it up to her). This time, I'll wear a hat!
Martin Fowler brings up a point about testing that can't be hammered enough: isolation, isolation, isolation:
If tests sometimes pass and sometimes fail on a run without any code changes, or tests pass when run in some suites but fail when run in others; nine times out of eight the reason is that there is some shared data between tests that isn't being properly reinitialized. When that happens just running a test can be the difference between other tests passing and failing. The result is an intermittent failure - always the worst because you can't reliably reproduce it.
More than once, I've needed a pounding with the cluestick over this sort of thing...
Stephen Pierzchala: my kids are learning more by not being in California Public Schools.
I agree. My son is in a California Public school. They are so far behind kids in other states it isn't funny. Class sizes are bigger. Fewer computers per student than my friends' kids in other states (my son's school doesn't have any computers for kids to use, for instance because the school couldn't afford to keep them up -- and that was for a Mac lab). Teacher pay ridiculously low compared to cost of living (translation: best teachers leave the state to work elsewhere).
Lack of computers isn't a problem. Heck, if the curriculum was half decent, not having PC's would be a positive benefit. I don't even think that the large class sizes are the issue. My daughter attends a well funded school system in suburban Maryland - one that has consistently high ratings. My wife and I constantly have to back-fill the things that the school just doesn't teach:
- In the lower grades, they simply didn't teach basic arithmetic. If we hadn't spent a long time drilling, my daughter would not know basic addition, subtraction, multiplication, and division facts. Heck, sixth grade was the first time she was introduced to the simple tricks for figuring out whether a number is divisible by 3 or 9. Are computers an answer here? Hell no. The answer is simple, and it involves some actual work in the lower grades, coupled with not handing out calculators in first grade.
- In sixth grade, there's math only 3 days a week. Why? Because they insist on a reading class and an English class - instead of simply having the English teacher assign reading. There are kids who need reading help in 6th grade - but an additional class for all students isn't the way to provide it.
- History - based on her school instruction alone, my daughter had no idea why the pilgrims and puritans came to North America. The schools are so afraid of being accused of religious instruction that they wash all references to religion out. I can barely wait for their coverage of the Islamic spread across North Africa and the Crusades - those should be amusing with all religious references washed out.
- All of this makes me wonder about what she isn't learning in the subjects that I don't have a good grasp on (specifically, the physical sciences). It's the same thing I started to wonder about science reporting once I realized how bad most IT reporting is. If they do so badly with the subjects I know, what's going on with the ones I don't?
The pay for teachers in Maryland is decent, as far as teacher pay goes. No, it's not a way to get rich, certainly, and I doubt it keeps up well with the cost of housing (at least, not where I live). There's something deeper wrong with the education system though, and additional money isn't really going to address it, I don't think. The curriculum is weak, too many people (like Scoble) seem to think that a PC at every desk is a magic answer, and too many other people think that reducing class sizes from (say) 35 to (say) 28 is going to bring salvation. I have my doubts. So long as the curriculum is lame, and schools are afraid of bringing subjects up for fear of being yelled at (by activisits of all political persuasions), I don't think it's going to get much better.
Slashdot points out how the most elaborate security in the world means nothing in the face of a simple social engineering attack:
Well, at this year's Infosecurity Europe, it was revealed that 92% of the 200 attendees surveyed would gladly trade enough information to steal their identities for a chance to win theater tickets. Social engineering at its best. Why spend time writing bots and rootkits when people will give you what you want for a piece of candy or a ticket to see The Pacifier?"
And this was at a security conference :)
Julia Lerman points to sad news from Sumatra - an 8.2 earthquake, with Banda Aceh right in the middle of the zone. This is definitely not what those poor people needed.
Well, just in case I'd forgotten how bad dialup was, I'm staying at a Best Western on Sepulveda that has no broadband - and no Wifi (open or otherwise) within range either. I seem to have left the phone cable in one of my other pc bags, so I had to go beg one from the front office. Fortunately, they had one. Then, I had to call back and get my phone enabled for long distance calls. After all that, a blazing 24 kbps connection.
Which makes me wonder - there are still people using dialup instead of broadband. Why?
Steve Kelly has a screencast up showing the power of Domain Specific Modelling. The tool he's showing off is built in VisualWorks. I couldn't get Firefox to summon Windows Media Player for the WMV file, but IE did. Probably would have worked to save the file locally too.
After yesterday's trip to Magic Mountain, I have a note to myself - wear a hat. Or, I can just go for the lobster look...
Since no one else in my family like Roller Coasters, I headed out to Magic Mountain this morning - got there just before the park opened, and had a blast on some really cool rides. I ride Superman three times in a row - no one was in line, so the ride attendant let us all stay on and keep riding. The only reason that came to an end was that we blew past the stop point and out to the maintenance yard. 15 minutes later, we were off and the ride was shut down for a bit. that was ok - it was a fun ride. I took a picture of that ride from the ground - here it is:
So that was fun. I wandered around onto other rides - the Collossus was fun - an old fashioned wooden roller coaster. Pretty fast, very bumpy. I also loved the Goliath - the drop from that is something:
So it was a fun day. I'm off to meet some relatives for dinner now, and see what the plans are for my daughter tomorrow.
It turns out that I have most of today to myself - my daughter is off with her cousin, who doesn't like theme parks (go figure). So, I've decided to head off to 6 Flags, which isn't terribly far from where I'm staying. I'll be in Sherman Oaks tomorrow, with the LASTUG meeting in the evening. Then Victoria and I have a very late flight on Tuesday - we may try California Adventure. Anyone have recommendations?
Phillipe Mougin attended the O'Reilly OSX conference last fall, and just forwarded me his notes. With his permission, here they are:
O'Reilly Mac OS X conference Notes
Last October, I went to the O'Reilly Mac OS X conference to give a Smalltalk presentation. This conference gathers Mac OS X users, system administrators and developers for a week of great technical sessions, discussions and informal events (want to spend an evenings eating Korean food with Apple engineers developing the new generation of object-oriented frameworks for Mac OS X? This is the place to be!)
Introducing Smalltalk to Mac OS X programmers is ridiculously easy. Why? Because of Objective-C, the "native" programming language of OS X. It is used by Apple to implement the object-oriented frameworks of OS X and is, consequently, a programming language of choice for development on Mac. And it just happens that Objective-C is a lightweight object-oriented extension of the C language modeled after Smalltalk. As the Objective-C creators explain, "Objective-C was formed by grafting the Smalltalk-80 style of object-oriented programming onto a C language rootstock". Objective-C allows developers to access the newest and greatest innovations Apple regularly introduces in its operating system and, with its flexibility and dynamic nature inherited from Smalltalk, it contributes for a significant part to this "special fun" people have when developing for Mac OS X.
The similarities between the two languages (Objective-C even uses our beloved message sending syntax!) make it easy to introduce Smalltalk to Objective-C programmers and to concentrate on the cool things Smalltalk has to offer like a pure and unified object syntax/model and an interactive environment. Objective-C developers are well aware of the Smalltalk roots of the language and Smalltalk is often present in the Objective-C community discussions about implementation techniques, object-oriented design patterns or evolution of the language.
The presentation itself was intermixed with live demonstrations. In particular, I used Ambrai Smalltalk to show the basic features of a Smalltalk environment. Ambrai is of particular interest to Mac developers because it has been built from the ground up for Mac OS X. It provides a native Aqua look and feel and access to native Mac OS X libraries. In particular, Ambrai is developing a Smalltalk/Objective-C bridge, which will let developers to make use, from Ambrai Smalltalk, of the huge and quickly evolving set of object-oriented frameworks provided by Mac OS X. I used Squeak to show some fun development tools for Smalltalk beginners, like the method finder, and to illustrate the concept of interactive object-oriented environment. For that, nothing beats the Squeak Alice world and its pink rabbit you can message interactively. Of course, I also said a few words about Croquet and its model for a scalable planet-wide synchronized distributed object system.
Finally I showed F-Script, my own project, an open source scripting and interactive environment. F-Script applies the Smalltalk syntax and concepts to the Objective-C object model, giving Mac OS X developers a rich interpreted environment they use to visualize, script and manipulate Objective-C objects. The killer F-Script demo consists in showing the graphical F-Script object browser. This is not your daddy's class browser! It's an instance browser that let you find, explore and manipulate (i.e. invoke method on) your objects, without writing code.
Giving this presentation was great, as the assistance looked quite interested. In the future I hope to see more interactions between the Smalltalk and the Objective-C communities.
You can download the presentation materials here (PDF)
I mentioned that Silt now supports the toggling of comments on a per item basis by a site author (or authors). For instance, I opened this one back up, even though the post fell out of the main site feed. When an item is left open like that, a feed is generated. How do you find that feed? Well, if you browse an item like that, you'll find an XML link added to the item footer - you can subscribe using that. If your aggregator supports the embedded comments module, you'll see the post and all its comments. Even if it doesn't, you'll at least be notified that there are new comments.
End users do the darndest things. Here's a screen shot of Xonix, a plugin to BottomFeeder. See the problem? How did my daughter manage to get the game to play in that state?
Her comment: "o_0 Very weird... but, now I have a REALLY HIGH score...
We ended up with this before we lost interest:
Definitely odd :)
Patrick Logan points out that there are hidden bits of complexity in DotNet. From an email list patrick follows:
Passing a reference type by value lets the callee manipulate the object that is referenced. Passing a reference type by reference lets the callee manipulate the reference to the object itself - to change where the caller's reference points.
Like he says, ouch. Suffice to say, this kind of issue only comes up in Smalltalk if you are doing distributed development (WS*, CORBA, et. al.). It's not something I ever have to think about otherwise.
I know that podcasting is supposed to be getting big, but there's something missing, at least from my perspective. Maybe I'm just not subscribing to the right feeds, but I'm not seeing many enclosures (and of the ones I am seeing, a number are just images). Here's the thing - I subscribe to 266 feeds. I maintain a cache of about 80-100 items per feed. Out of all that, I have only 15 Enclosures. Here's the list I found:
- http://www.lessig.org/blog/archives/Wilco on NPR with Matteen.mp3
So I'm curious - is there a lot of Enclosure use that I'm not seeing, or are people just not taking advantage of it? Heck, even Dave Winer, one of the proponents of Enclosures, usually just puts his audio stuff into his feed as a link in the description body. Is it that the blog client tools don't make it easy to define Enclosures? Is it that the common blog servers don't?
I have support in Silt for it, and matching support in the client poster. I note that the MetaWeblog API supports files, but I don't see a way to have that hook into Enclosure definitions - at least not any standard way of doing it.
In any event, this little exercise illustrated one of the cool things about BottomFeeder that I've brought up in my screencasts - the fact that you can write Smalltalk code directly in the runtime (try that in a shipping .NET or Java app). I was too lazy to create all of the links above by hand, so I opened up a workspace (from the System menu) and wrote the following:
|stream | stream := WriteStream on: (String new: 100). stream nextPutAll: '</ul>'; cr. RSS.Enclosure allInstances do: [:each | stream nextPutAll: '<li>'. stream nextPutAll: '<a href="', each url, '">', each url, '</a>'. stream nextPutAll: '</li>'; cr]. stream nextPutAll: '</ul>'; cr. ^stream contents.
I inspected the results, which gave me the list above. I flipped the post tool into tag mode (from XHTML editing), pasted it in, and then went back to the normal edit mode. This is one of the more empowering things about Smalltalk, actually - the fact that there's no artificial line between development and deployment - heck, I had forgotten to add the #printOn: method that I spoke about in the last podcast, so I went ahead and added that to the application while I was fiddling with the script. This is one of the reasons that Smalltalk is back at the house having lunch while Java and C# are still trying to find their underwear...
The confused folks at Synchrony need someone to explain what "modernization" actually means. Hint: It doesn't mean moving a client server system from one language into a server based system built on top of WebSphere, in a different language.
Unless, of course, your goal is consulting fees rather than actually helping clients...
I'm about to get started on my LA trip - my cousin lives down in northern VA, so we are heading down to his place this evening - it will be a lot easier to get to a Dulles flight in the morning from Vienna, VA than from Columbia, MD. Don't know if I'll be posting later tonight - I'll likely stack a bunch of things up on the plane though.
I've been plugging away at the Silt server code - I've gotten new blog creation automated, with defaults fired from a server side settings file. The same thing manages the GUI blog creation tool that I talked about yesterday. So now, I can tweak a settings file, and then have any new blog I create get the default settings from there. Not rocket science by any means, but a nice admin touch. If you grab the Silt code from the server, you should always make sure to update you code and SSP files from the public repository, which always has the latest versions
There's been a lot of commenting on this post from a few days ago on the CLR and dynamic languages. Normally, comments automatically close down when an item falls out of the RSS feed. With the level of interest, I'm leaving this one open. There's a single item feed for it here, if you want to follow the fun in your aggregator. I'll close the comments down once things start to die down, most likely.
It looks like there will be some more noise from Cincom on the blog front soon - i.e., some more Cincom bloggers. I can't get into too much detail yet, but there's action afoot - and the Silt server is what's going to be used. This is pretty cool stuff, watching your own software get picked up and adopted :)
Well, I wasn't a huge fan of Point Pleasant, but it was ok. Off it goes though - March 17 was the end of the road for the show. The good news is, the last episodes of Tru Calling will appear in that timeslot. Via Sci-Fi Wire.
The schedule for StS 2005 is online now. Check it out. As an aside, it's looking a little rough, and has a number of TBD items. Those are being ironed out as I post this
Wesner Moise seems to have a few issues with a few things in the CLR, particularly weak references. He then goes on to call Smalltalk a "language of the past":
I had a lot of radical ideas that I didn’t mention, mostly involving features from various academic languages that unlikely to come in the next few years. I firmly believe that the new advances in languages will borrow heavily from languages of the past such as Lisp and Smalltalk. Already, we have seen the advent of garbage collection, closures and iterators in C#. Languages will also become more declarative over time.
Smalltalk is hardly a language of the past - look here, for instance, and download it. It's also amusing to see him describe things that Smalltalk and Lisp have supported for decades as "radical ideas". Maybe the radical idea would be to drop the language that doesn't support 3 decade old "radical" ideas and use one that already does...
And obtw - VisualWorks supports weak collections. Too "radical" for the CLr, I suppose...
My post on the CLR has certainly generated a lot of comments. I think that I'll let that conversation keep going - I'm going to leave comments on for that post after the point when they would normally go off. The nifty thing is, that action will create an item specific feed that can be subscribed to - so I'll still be able to track it without having to remember to dig through the archives.
Eric explains some of the facts of life with respect to MSDN and the licensing of MS products:
Many companies and teams buy a single subscription and share it among all their developers. This form of piracy is rampant. Some folks probably even think it's legal. It's not. We encounter this all the time when talking to people about our own products.
User: "Why should I buy Vault when SourceSafe is free?"
SourceGear: "Why do you think SourceSafe is free?"
User: "Because it's on the MSDN discs."
If you have ten developers using Visual Studio, you're supposed to have ten subscriptions to MSDN Universal. That's the way it works.
Well. If you look at their new pricing (just over $10k for "everything"), and realize that it's per developer, then it's clear that MS' products aren't as cheap as most people have assumed they are. Also note - the MS stuff is a subscription license - i.e., you pay each year. Which isn't so very different from what Cincom does, is it? Except.... consider - we only charge for deployment, not for development. Most vendors charge on both ends...