java

Do they get it at all?

January 23, 2003 19:28:18.238

David Buck pointed me to a thread on slashdot. I had noticed, but I rarely delve that deeply into the slashdot threads. Dave points out two interesting replies: From the "Java is great (but they don't realize Smalltalk does it better)" camp and From the "They just don't get it" camp For instance:

no stack objects; I don't know the internals of the stack management and the complexity of C++, but since C++ managed it, why not Java ? why should I have to create an object on the heap just to use it locally ?
As Russ Pencin used to say in Smalltalk classes, Why do you care? or this:
I don't know why the garbage collection is such an advantage. In the place that I work we have written apps with milions of lines of code using C++ and we never had a problem with memory leaks. Of course, being military and scientific apps, there was a good design before coding, so we had a pretty good knowledge of when to allocate/free stuff. But it is not hard to make C++ objects garbage-collected. All that is needed is a base class that upon its construction puts the object in a global list and a template pointer that increases/decreases automatically the reference counter of the garbage-collected object when assigned to it; later, the list will be traversed and objects with no reference will be deleted.
Chuckle. Either he's effectively written his own GC system and doesn't realize the sunken investment, or he's just clueless. Then there's this:
For the second point, I don't like either interpreted or byte-code languages with virtual machines. I think they are a waste of CPU time and resources. I am 100% certain that there is no point in having static Java apps executed by a virtual machine: they are very slow, even with top-of-the-range Pentiums. And when we say slow, we mean slow enough for an experienced user to handle: for example, I have personal experience of a versioning and control application that we use at work which is very slow, although it runs on a P4 at 1.8 GHz. It may not be slow, but it definitely feels slow.
That's right, one badly written app condemns an entire paradigm. Why doesn't he write machine code?

 Share Tweet This

java

Truth is stranger than fiction again

January 23, 2003 18:51:08.756

Or, Why Java sucks for XP Go visit this Sun page. After I picked myself back up (ROTFL), I grabbed this text:

Suppose that you want to add some functionality to StockWatcher. For instance, suppose that you want to add a method that reports the current stock price, regardless of whether the value changed:

 
public interface StockWatcher {
    final String sunTicker = "SUNW";
    final String oracleTicker = "ORCL";
    final String ciscoTicker = "CSCO";
    
    void valueChanged(String tickerSymbol, double newValue); 
    void currentValue(String tickerSymbol, double newValue); 
}
However, if you make this change, all classes that implement the old StockWatcher interface will break because they dont implement the interface anymore! Programmers relying on this interface will protest loudly. Try to anticipate all uses for your interface up front and specify it completely from the beginning. Given that this is often impossible, you may need either to create more interfaces later or to break your customers code. For example, you could create a StockWatcher subinterface called StockTracker that declared the new method:
public interface StockTracker extends StockWatcher {
    void currentValue(String tickerSymbol, double newValue);
}
Now users of your code can choose to upgrade to the new interface or to stick with the old interface
Read that again: Try to anticipate all uses for your interface up front and specify it completely from the beginning. Given that this is often impossible, you may need either to create more interfaces later or to break your customers code So, YAGNI isn't possible, and using Java interfaces demands that you over-build up front. Bah.

 Share Tweet This

itNews

More bad news for Sun

January 23, 2003 18:21:05.917

I've posted before on why I think Sun has problems. Here comes another story on that subject:

NEW YORK--Dell Computer has switched 14 of its internal servers from Sun Microsystems machines to its own systems running Linux and a new version of Oracle's database software, Chief Information Officer Randy Mott said Thursday. The new systems, which spread the database across a "cluster" of interconnected lower-end machines instead of using a single more powerful system, cost less and work faster, Mott said in a keynote address at the LinuxWorld Conference and Expo in New York.
That's got to hurt

 Share Tweet This

law

Truth is stranger than fiction...

January 23, 2003 18:13:30.734

Catching up on my feeds this afternoon, I stumbled on this. Good thing I wasn't having a beverage:

SBC Communications Inc is enforcing a patent it owns that, it claims, covers the use of frame-like user interfaces in web sites, it emerged this week Kevin Murphy writes. . If your web site uses a frames or a persistent user interface, then you could be in infringement. Using SBC's interpretation of its patent, hundreds of thousands of web sites, including those of many SBC's own hosting customers, many of the web's biggest sites, and the United States Patent and Trademark Office itself, could be in infringement.
This is just insane. What next, books? Get the whole story from the Register

 Share Tweet This

development

XP is hacking?

January 23, 2003 12:29:53.836

I spotted this item via Gordon's log.

The trouble with XP is that its just the type of dogma that appeals to jerkoffs. And hence they want to letter of the law everything to the point where it has no meaning while violating its spirit. I think peer-programming is Awesome provided I get my "me" time and I find someone who's working style complements me. (which is my nice way of saying, "cold day in hell: ;-)) I've peer-programmed remotely quite successfully.
The post is actually not anti-XP - it makes some good points. I agree with Gordon:
That's the trouble with any methodology, I don't think it's a problem unique to XP.
I've also paired remotely - with BottomFeeder , we've used an IRC channel to communicate.

 Share Tweet This

news

Digital Revisionism

January 23, 2003 10:53:58.985

This is amazing to me.

THE classic Beatles' Abbey Road album cover showing the band on a zebra crossing has been altered - to remove the cigarette in Paul McCartney's hand. The original image shows a barefoot Macca third in line holding his ciggie. The 1969 photo has been a poster best-seller since it was shot near Abbey Road studios in North London, where the Fab Four recorded most of their music. But companies including US giant Allposters asked for the cigarette to be removed by computer wizardry to make it more politically correct.
Wow.

 Share Tweet This

development

More on RSS...

January 23, 2003 9:10:58.552

I posted on RSS yesterday - and Steve Waring linked to it here. Today, I started catching up on the news in my feedlist when I came across this post from Mark Pilgrim:

As I said in last month's article, RSS is an XML-based format for syndicating news and news-like sites. XML was chosen, among other reasons, to make it easier to parse with off-the-shelf XML tools. Unfortunately in the past few years, as RSS has gained popularity, the quality of RSS feeds has dropped. There are now dozens of versions of hundreds of tools producing RSS feeds. Many have bugs. Few build RSS feeds using XML libraries; most treat it as text, by piecing the feed together with string concatenation, maybe (or maybe not) applying a few manually coded escaping rules, and hoping for the best. On average, at any given time, about 10% of all RSS feeds are not well-formed XML. Some errors are systemic, due to bugs in publishing software. It took Movable Type a year to properly escape ampersands and entities, and most users are still using old versions or new versions with old buggy templates. Other errors are transient, due to rough edges in authored content that the publishing tools are unable or unwilling to fix on the fly. As I write this, the Scripting News site's RSS has an illegal high-bit character, a curly apostrophe. Probably just a cut-and-paste error -- I've done the same thing myself many times -- but I don't know of any publishing tool that corrects it on the fly, and that one bad character is enough to trip up any XML parser
I can certainly feel for this problem. With BottomFeeder, we have had to catch lots of complaints from the VW XML Parser. We generally let them go by and continue on - because if we just rejected the feeds when they were invalid, there are precious few feeds that we would support. Marks goes on a bit further down:
There is a social solution to this problem: register at Syndic8.com to be a "fixer", and volunteer your time contacting the authors of individual sites to get them to fix their feeds. There is also a technical solution to this problem: don't use an XML parser. I know, I know, this is heresy. The point of XML is that content producers are supposed to put up with the pain of XML formatting rules so that content consumers can do cool things with off-the-shelf tools. Well, guess what? It's not happening. Judging by the sad state of affairs in the RSS world, content producers are either ignorant of the error of their ways, or too lazy to fix the errors, or too busy, or locked into inflexible tools whose vendors are too busy... Whatever the reasons, content consumers are rarely in a position to solve the problem. So we must work around it. We need a parse-at-all-costs RSS parser.
It's an interesting article with some controversial ideas. I think Mark's right though - we are headed down the road to heck, where we will end up with tools that deal with just about anything that stumbles by calling itself RSS - not unlike the current HTML mess...

 Share Tweet This

development

Some new code published

January 22, 2003 23:31:08.857

I published the XML-RPC code that I got from Roger Whitney into the public store this evening. This is the code I used to get Pingback (which uses XML-RPC) working with the blog. This version was Wave (not Web Toolkit) based, and also came from VW 3 - so it does not use the stock VW XML parser. The code could use a port to the features of VW 7, but these initial hacks got me going.

 Share Tweet This

development

RSS - the Web Service we have now

January 22, 2003 18:20:51.409

Interesting article on the O'Reilly site - Timothy Appnel writes that RSS is more than a syndication format - and is being used as a proto-web service. If you follow the early users of RSS, you'll see that - Pingback and Trackback are effectively web services enabling backtracking. Various blog tools support updates via other RSS features. Here's what Timothy writes:

DJ Adams writes: It seems that beyond carrying syndication information, RSS is a very useful and flexible way to get all sorts of application data pushed to a user over time. In the same way that a web browser is a universal canvas upon which limitless services and information can be painted, so (in an albeit much smaller way) an RSS reader/aggregator might also find its place as an inbox for time-related delivery of all sorts of information.
Amen DJ! As I asserted in a previous weblog post, Web Services We'd Like To See, I wrote Whether it is just assumed or simply overlooked, RSS is the most widely deployed Web service across the Internet. Granted, most RSS feeds have very simple interfaces with almost as simple backends that are unlike the Web services that usually come to mind. (Who says Web services need to be complex or sophisticated anyhow?) Under the principles of the REST architectural style that the Web was built on, RSS feeds do qualify. Consider that any site search engine becomes a Web service if it could emit results in RSS and the format's potential in the realm of Web services becomes more apparent. It is this perceived potential that I've been an advocate of getting the RSS format's house in order.
I can vouch for the value. I started monkeying around with RSS at the end of the summer, and Dave Murphy joined in and wrote the user interface for BottomFeed. Over the next few months, our engineering group added RSS feeds for our bug tracking tool (2 - one for all AR activity, and one for newly closed items). We added feeds for our source code databases. I added a feed for our public wiki and for this blog. I can see further possibilities as well; a nice, easier to use client interface to some of the cruftier web based tools out there, for instance. In any case, go read the whole article

 Share Tweet This

BottomFeeder

Fixed a BottomFeeder Bug...

January 22, 2003 15:44:41.383

But I am still baffled on my efforts to upgrade the server. Something in my new codebase blows up on the server, but works fine on my testbed. Sigh...

 Share Tweet This

BottomFeeder

Updated BottomFeeder Documentation

January 22, 2003 9:35:14.710

BottomFeeder has updated documentation, thanks to Rich Demers. Just pull down the Help>Users Guide menu item, and you'll browse the latest. Thanks to Rich for a great job!

 Share Tweet This

development

Richard Gabriel - Objects have Failed

January 22, 2003 8:40:18.766

Richard Gabriel, author of Worse is Better, gave a talk last November title "Objects have Failed". The talk may be found here. I find this narrative interesting:

Objects, as envisioned by the designers of languages like Smalltalk and Actor - long before C++ and Java came around - were for modeling and building complex, dynamic worlds. Programming environments for languages like Smalltalk were written in those languages and were extensible by developers. Because the philosophy of dynamic change was part of the post-Simula OO worldview, languages and environments of that era were highly dynamic. But with C++ and Java, the dynamic thinking fostered by object-oriented languages was nearly fatally assaulted by the theology of static thinking inherited from our mathematical heritage and the assumptions built into our views of computing by Charles Babbage whose factory-building worldview was dominated by omniscience and omnipotence. And as a result we find that object-oriented languages have succumb to static thinkers who worship perfect planning over runtime adaptability, early decisions over late ones, and the wisdom of compilers over the cleverness of failure detection and repair
Now the ironic part: Richard Gabriel, distinguished engineer at SUN. I find this fascinating. The quote above effectively states that things like Java are part of the problem. And there he is, at Sun.

 Share Tweet This

itNews

Oracle Release and IT shops

January 22, 2003 8:06:47.877

I was looking over my feed update this morning when I came across this item from the Loosely Coupled blog. It seems that Oracle has put Do it yourself portal capabilities in their latest release, and this has some of the control freak types upset:

The launch this week of DIY portal capabilities for Oracle's application server platform has not been welcomed in all quarters. According to Forrester analyst Nate Root, quoted in Internet Week, "Portal development isn't a business-user function. IT doesn't want it to be a business-user function ... The way to break the development bottleneck is to give IT better tools, not try to circumvent IT."
In my experience, the typical IT group wouldn't know a business function if it walked up and bit it on the nose. There was an encouraging thing in this for me; it showed me that I'm not the only business user who sees the words value and IT Group put together in a sentence and starts snorting whatever beverage he has at hand...

 Share Tweet This

general

When Advertising goes wrong...

January 21, 2003 15:51:22.009

I caught this piece on the Truth Laid Bear blog:

Have you ever noticed how stunningly inappropriate some of the advertisements which appear on the pages of Slate can be? If they are using any kind of logic to present ads appropriate to the readership of a given piece, then it has to be the worst such system ever created, as the advertisements seem to be utterly random. But this can lead to amusement: in a moment of boredom, I decided to make it a game. (And you can play along at home, too!) What's the most inappropriate pairing of a Slate piece and its accompanying advertisement that can be found?
To be fair, I've seen other pathetic examples elseqhere. But it's still funny...

 Share Tweet This

BottomFeeder

BottomFeeder - new dev build 1/21/03

January 21, 2003 15:34:04.948

I am posting a new build of BottomFeeder now. After adding the toolbar, I noticed some anomolies - since it is generated from the menu we use in the feed items list, options were not always appropriate (for instance, if a folder was selected). I fixed that. I also added a requested feature while I was in the code - you can now add feeds or feedlists while offline, and they will be appropriately updated when the tool is put back online. Enjoy!

 Share Tweet This

development

RSS as a message queuing system?

January 21, 2003 11:26:50.387

I saw this post on the 0xDECAFBAD blog.

It seems that beyond carrying syndication information, RSS is a very useful and flexible way to get all sorts of application data pushed to a user over time. In the same way that a web browser is a universal canvas upon which limitless services and information can be painted, so (in an albeit much smaller way) an RSS reader/aggregator might also find its place as an inbox for time-related delivery of all sorts of information.
go read the whole thing

 Share Tweet This

BottomFeeder

Toolbars for BottomFeeder

January 21, 2003 10:50:41.517

I have a toolbar for BottomFeeder now. There were some oddball issues with the image creation, but I finally figured that out. If my connection stops being flaky, I'll post a new DEV build.

 Share Tweet This

cst

VW is lower risk too!

January 20, 2003 22:53:36.573

Overheard in the IRC Channel:

Something you might like to hear. With VA there is high risk for our company every time a new release is made available to the public. We not only have to get our hands on it but we have to make sure all our existing applications still work when moved to the new framework. Inevitably there are changes that break things. Undocumented changes. With the VW-Dev program, if my company were using VW, we could have continual integration against the dev builds to make sure our applications are not going to hit something new that'll break the way our application works. There's no such doppleganger for VA.
And the example:
The offset for all widgets were re-aligned with the windows standard instead of being consistent (ie: text is 15 high and comboboxes are 17 high. Previous versions they were both 17 high). Because we use attachments of widgets to widgets (to allow for multilingual fonts) this meant that all our labels didn't line up with our fields The labels would all be 15 instead of 17 making them progressively slide up 2 pixels at a time offset. As you can imagine, this had a rather large impact on our applications and we had to fix up the problem so that it worked the same as it did in previous versions. That is high risk and worse still it was undocumented. The opinion of management is if it's incompatible, we won't upgrade - so we need to make it feasible to upgrade. When you're hit with something like that, it's hard to argue that we should put in the time to figure it out and fix it.
I found that fascinating. And the VW-DEV Program can keep you up to date on VW changes as we make them!

 Share Tweet This

blog

The Comments Feed...

January 20, 2003 22:03:09.264

Was a little sparse. Over on the Smalltalk IRC Channel, it was pointed out to me that the feed did not have enough information. I changed it to include the comment author's name and a link back to the original post.

 Share Tweet This

smalltalk

Why Smalltalk? Why Not Smalltalk?

January 20, 2003 19:39:40.213

Hat tip to Eliot Miranda for pointing out this cls post I had blipped over:

A poster asks:
I need database access I need all kinds of graphical display Which freely availabe Smalltalk fits these needs? BTW: Why I do not start immediately with Jave / C++?
  1. I hope SmallTalk is faster (or at least not slower) then Java
  2. I like to try "new" languages"
  3. C++ has not garbage collector
(I also think about Lisp + TCL/TK)
And the response is: Note: Many things I say here with respect to VisualWorks are mostly true with other Smalltalks as well. Most Smalltalks have threads (for a long time) even though they may not use native OS threads. Based on seven years of experience with VisualWorks (VW), I would suggest to go with VisualWorks(VW). For the past three years I have been using ControlWorks - a very complex, realtime, distributed, multithreaded framework, tool suite for semiconductor equipment control software developed using VW (www.adventact.com). I am neither part of Cincom or Adventa, just a customer of them. Reliability of VW has been incredible. Thread support is superb. Probably our application could be one of the worst case scenario for testing complex multithreaded architectures and VW has proven over the past three years. We didn't use native threads for valid reason - there was no necessity. VW (and of course in other Smalltalks as well) threads are extremely light. Unlike Java, VW threads work uniformly across all platforms. Thread creation, context switch is much faster than native OS threads ( I have measured these times on Win2k and XP using VC++, Java and VW). Java spec regarding threads is loose, it doesn't clearly tell about thread scheduling or priority and can be problem in some cases for multi platform applications. On Windows, JVM from Sun uses native OS threads. Smalltalk threads support suspend, resume and terminate operations (these operations have been deprecated in Java for few valid reasons). These operations should be used with caution but very handy in few cases (in some cases necessity). VW supports semaphores, critical sections, shared queues for thread synchronization, asynchronous notifications, inter-thread communication. As I mentioned earlier, all these were put to test in extreme conditions in our system. Interactiveness of Smalltalks are incredible, you don't have to stop the application in order to modify code (the only other IDE that comes close is VisualAge Java). All source code will be at finger tips including one for framework classes and IDE tools themselves (no non-smalltalk IDEs can claim that). Reflection capabilities are simply amazing. Any complex UI needs a good visual UI builder and VW has a good UI building tool. You can configure text fields and combo boxes to handle text as well as numbers in various formats with automatic conversions. There is a large set of widgets. All of the VW IDE tools are built using VW widgets and tools. Java Swing also has a large set of widgets. Recently, there has been lot of improvements in performance of Swing. Performance is not an issue in Java or Smalltalk. In some cases Java is better and in few cases VW works faster. Only C/C++ folks think that performance is an issue in Java or Smalltalk. Such conclusions are based on running some trivial test cases. It is very hard to write complex applications in multiple languages and compare the results. If you take VW IDE itself as a complex application written in VW, you will feel the performance and responsiveness of UIs. In contrast, Forte for Java is just terrible with respect to responsiveness and memory footprint. For reasonably complex applications, VW certainly beats Java and MS tools in the memory footprint. Unlike in Java, you can add or modify methods of framework/library classes themselves. This can be a great advantage in many cases but can be a problem in applet environments or getting code from dozen different vendors. IMO, Java should have allowed adding methods to API classes. I would suggest to download VWNC, you will see how responsive and lean the IDE is. You will need some time to get used to environment(tools, libraries etc)since it is radically different from Borland Turbo IDE derivatives (which includes most non-Smalltalk IDEs in the industry).

 Share Tweet This

general

The Replay is back!

January 20, 2003 14:28:21.160

I guess the ReplayTV I had so much trouble with was just a lemon. Sonic Blue sent me a new one, and it worked just fine right out of the box. Found the DHCP server right off, changed channels perfectly - everything is cool. If the customer service interactions hadn't been so bad, I'd be perfectly content.

 Share Tweet This

general

Work?

January 20, 2003 13:38:07.756

It's one of those non-work work days. It's MLK day, a federal (and state) holiday, but not a Cincom holiday. What that means is that my daughter is home, my wife is home (and it turns out her brother is here - we had a party yesterday). So I'm feeling fairly unmotivated at the moment...

 Share Tweet This

BottomFeeder

New BottomFeeder DEV Build - 1/19/03

January 19, 2003 21:50:41.252

I just posted a new BottomFeeder build. This one has Dave's fixes to the new item problem. The 2.6 version had a problem with some updating - some feeds would get new items, but not show as new until they were selected. This build should fix that.

 Share Tweet This

blog

New Feed for Comments

January 19, 2003 20:08:35.986

I added a new RSS Feed for the comments that get added to the blog. I also think I have trackback working now, both for the old style GET and the new style POST. Additionally, I support the Movable Type API for querying trackbacks. At this point, it answers all the comments instead of all trackbacks, but I will get to that eventually.

 Share Tweet This

blog

Trackback jollies

January 19, 2003 17:32:37.650

Ronaldo Melo Ferraz has helped me out on Trackbacks, pointing me to the Trackback specs page. Apparently, the geniuses behind this spec released a first version that operates as an HTTP GET (with args passed in the URL) and a second version that operates as an HTTP POST with arguments in the content. Sigh. Moving targets are so much fun.

 Share Tweet This

news

When Copyright Law bites Congress

January 19, 2003 11:51:45.980

I spotted this item about Copyright law on the Reflective Surface web log. There's a story in the Post as well:

Congress to lawyers: Don't take away our BlackBerrys. Please. In a rare intervention into a private lawsuit, the chief administrator of the House of Representatives yesterday pleaded with attorneys in a patent-infringement case to settle their differences in a way that allows the popular handheld e-mailing device to continue operating. "The device is used routinely by most members of Congress . . . as well as senior staff," wrote James M. Eagen III. Any disruption in the service "creates a serious risk to the House's critical communications and could jeopardize the public interest, particularly in the event of an emergency," he said.
Yeah, I see how well they like it when the shoe is on the other foot. Could they stay away from my fair use rights while they are at it?

 Share Tweet This

java

Generics in Java?

January 19, 2003 0:34:32.884

So I'm reading the JSR for Generics. There's a whole lot of weasel words about why support for primitive data types would be a bad idea; I boiled it down to inappropriate concern for optimization. It took more than a page of text to get there, and my head hurt after reading it. Then I came across this:

Supporting generic types at run time seems undesirable for the following reasons:
  1. Lack of experience with such constructs in widely used languages
  2. Burden of extensive VM changes on vendors throughout the industry
  3. Increased footprint on small devices
  4. Decreased performance for generic methods
  5. Compatibility
Run time support for genericity has not been implemented in any major programming language, and research efforts are also extremely few. Consequently, the body of experience with such constructs is very limited. It is therefore inappropriate to deploy such constructs in a widely used, mission critical language. The risks are too great. Beyond the general principle of relying on well understood technology, the following discussion should make it clear just how big a technological risk is involved.
Now admittedly, Smalltalk doesn't have generics in the sense these guys mean. On the other hand, it doesn't need generics in the sense they mean - it's a non-issue in a language like Smalltalk. What amused me is their assertion that experience with such constructs is limited. This goes back to my whole echo chamber theory of Java and the designers who work there. Heaven forbid that they go and see what people using Smalltalk or Lisp have done.

 Share Tweet This

itNews

Here's a thought on Copyright

January 18, 2003 23:02:12.649

Reflective Surface has an interesting post on Copyright law -

Lawrence Lessig has a new proposal for copyrights. Fifty years after a work has been published, its copyright owner would be required to pay a small tax to keep it under copyright protection. If the tax is not paid for three years, the works is forfeit to public domain
There are additional links, go here to see them

 Share Tweet This

blog

Pingback, Trackback - questions

January 18, 2003 22:54:49.006

A reader asks what these Pingback and Trackback things are. Roughly speaking, they are ways of finding out who is referring to your posts (and for others to find out that you are referring to theirs. Yes, this information is all living in the server logs. However, these mechanisms have the advantage of immediacy - you get notified of a link right away. Trackback is simpler, but more manual. You grab the trackback URL from the site you are linking to, add a few arguments to the URL, and then POST it. The nice part is, it only involves creating an URL and submitting it; no fuss, no muss - but it's manual - you have to remember (when you are creating your post) to list the trackbacks. Pingback is somewhat more complex - you create an XML-RPC server to get hits, and send XML-RPC messages to notify others. In this setup, your blog software looks at all the links you have in your post, and then sees if the servers at those links support Pingback. If they do, you create the XML-RPC message and send it. More server logic, but nothing to remember when you make the post. As of yet, I'm unclear on the real value. But it was easy enough to implement (hey, this is Smalltalk!), and we'll see what happens.

 Share Tweet This

blog

Pingback should be operational

January 18, 2003 18:31:06.350

I actually had time to test Pingback out on my LAN, so I pushed it to the server. The bottom of each post is starting to look cluttered now; I think I'm going to have to address that. In the meantime, I should be able to send and receive pingbacks now.

 Share Tweet This

blog

Pingback support coming

January 18, 2003 16:57:13.237

I have been working on Pingback today, and I think I have it done. I haven't deployed it yet; that will mean a slight modification to the server configuration (new parcels to load, update to the blog software). Since I have party cleaning to do, I'll get to that later.

 Share Tweet This

news

Watch out for the cows!

January 18, 2003 12:30:25.791

This had me laughing.

HANOI, Vietnam - An airport in central Vietnam suspended plane traffic for two and a half hours because seven cows were blocking the runway, state-controlled media reported Saturday. Two Vietnam Airlines flights from Danang to Ho Chi Minh City were delayed and two other flights from Hanoi to Danang were canceled Thursday night because the cows belonging to army units in the airport area broke free from their corrals and ran loose around the runway, the Lao Dong (Labor) trade union newspaper quoted Luu Van Hanh, director of the Vietnam Airlines office in Danang, as saying. A Danang airport official said Saturday that flights resumed promptly after all the cows had been captured.

 Share Tweet This

general

Popups - how stupid can they get?

January 18, 2003 12:03:21.352

I spotted this today over on the Syndirella site: visit here to get the full popup treatment...

Welcome to The Buffy Network. It has come to our attention recently that a lot of visitors to this website do not have the correct setting on their computer when they try and access the site. For example, 0.82% of visitors are using Netscape - which does not support the kind of html coding we use. 2.10% of visitors dont have Java installed and/or turned on, Java is essential for some of the pop up windows we use. And 40.76% of vistors are using the wrong screen resoloution. Anything larger than 800 x 600 is too large, and the pages do not diosplay properly. Please try and use the right settings on your computer before entering the site, in order to make it look on your screen, how we intened it to look on ours. Thank you for visiting The Buffy Network. Please click 'Ok' to close this window
And I thought sysadmins had issues with users...

 Share Tweet This

BottomFeeder

New DEV Build is up

January 18, 2003 3:01:40.815

I just posted a new build on the site. There were potential problems with command line argument handling, and those are resolved. Dave Murphy is busy fixing some other bugs, including the problem where some feeds get new items, but don't show up as new.

 Share Tweet This

general

Customer "Service"

January 17, 2003 19:18:36.949

Here's an all too common story on dealing with customer service people. This poor guy had AOL, but I've had this conversation before (MSN). Not to mention the heck I went through trying to convince Sonic Blue's tech support that yes, in fact, my new replay tv was not functioning properly. I really wonder about this problem. Does the typical Help Desk staffer have a script and a guy with a rifle watching to make sure he doesn't go off message? Sheesh...

 Share Tweet This

itNews

Programming Languages like OS, and vice versa

January 17, 2003 19:04:57.844

Here's an interesting article. The author makes the contention that languages and operating systems are converging:

A couple of months ago, at the Lightweight Languages Workshop 2002, Matthew Flat made a premise in his talk: Operating system and programming language are the same thing (at least "mathematically speaking"). I find this interesting and has a lot of truth in it. Both OS and PL are platforms on which other programs run. Both are virtualizing machines. Both make it easier for people to write applications (by providing API, abtractions, frameworks, etc.) Intro, Isolation, Perl The difference between the two, Matthew continued, is that OS focuses more on non-interference--or isolation between OS processes. The main task of a multiuser OS is to let several users use the computer simultaneously. Thus, it is important that no user can take over the machine or use up its resources permanently. Also, no processes shall be able to terminate other processes, peek into their resources, or do any other things that violate privacy unless it is permitted by the OS security policy. On the other hand, PL focuses on expressiveness and cooperation. PL provides high level constructs and facilities so that one can write programs in less time and with less amount of effort. 10 lines of higher level PL code might be equivalent to 100 to 1000 lines of machine/lower level language code. Additionally, PL provides means for people to share reusable code through the concepts of modules, shared libraries, components, etc. As time progresses, OS'es are becoming more like PL. And vice versa. OS now provides more and more ways for cooperation/sharing: IPC, threads, COM, etc. PL now provides ways to do isolation: sandboxing, processes, etc. However, in all programming languages that I am currently using (Perl, Python, Ruby), none of them had been designed from the ground up to do isolation. Thus, none of the isolation mechanisms really work well.
The whole article is worth reading, and there's also a slashdot thread on this. This is interesting for Smalltalkers - after all, Smalltalk started out as an OS...

 Share Tweet This

cst

New 5i.4 engines available

January 17, 2003 15:59:14.240

If you have not yet moved to VW 7, you probably want to get the new 5i.4 engines.

 Share Tweet This

blog

Comments work again

January 17, 2003 12:16:04.735

More evidence that I update the blog software frequently - a change to an api I made yesterday broke the comments page. What learned from this is, senders/implementors does not tell you everything once you start slapping code on ssp pages...

 Share Tweet This

general

A bridge too far in personalization

January 17, 2003 12:06:52.604

Go to Amazon and buy some clothes. Come back later, and you'll find this in the recommendations

"Customers who wear clothes also shop for:"
This is why you need human intervention in some of these automated systems. My wife saw this while Christmas shopping last month. Talk about unintentional humor...

 Share Tweet This

BottomFeeder

Stumbling up late

January 17, 2003 10:29:12.055

Thank goodness for 2 hour delays after light snowfalls here in Maryland - I needed the sleep. It's something to do with baking. What I cannot figure out is why my wife always decides to bake after 11 pm. So off she goes, making something good (I have no complaints about the results), and it gets finished sometime after 1 am. There's always a good excuse - all I know is, it makes for late nights. This works for her - she just stays in bed. I, on the other hand, stumble out of bed, hook up the caffeine IV, and get my daughter ready to catch the bus. So here I am, yawning and catching up on feeds, news and USENET when I stumble on this post on Sam Ruby's web log. I see this:

I've been trying for days to subscribe to Ted Leung's RSS feed using Radio's aggregator. What I have been getting is:
"Can't subscribe to the channel. The most likely cure is to check the URL in a web browser and see if you can get it to read the feed. The following message probably won't help you figure out what went wrong, but we include it here because it might. "Assignment over existing table object "s" is not allowed. Delete the object first, or use table.assign to override protection."
Well, I can't resist. I added the feed with no problems to BottomFeeder. I feed better already...

 Share Tweet This

BottomFeeder

New BottomFeeder DEV Build

January 17, 2003 1:54:01.812

Dave took a look at the code tonight, and addressed a number of updating issues. I had created an MNU with some new support I was adding for textinput (part of the RSS standard), and fixed that as well. The build is up.

 Share Tweet This

development

Radio Silence Policy?

January 16, 2003 20:21:30.687

Joel on Software has an interesting post on how much information you should let out on upcoming releases. I want to disagree with this post, but I find it makes a lot of good points:

Simplicity. If your policy is Radio Silence, every employee understands it and can follow it. If your policy is in any way complicated, nobody is sure what to do and things leak. Doesn't advance buzz and publicity help? I don't know. A little, but not as much as nonadvance publicity. I'm inclined to think that publicity that comes out when you can't actually buy the product is 90% wasted. Remember that incredibly big burst of Segway publicity about a year ago" With Jeff Bezos and Steve Jobs talking about how "IT" was going to revolutionize the entire universe? Cities would be reconfigured. OK, so, we all talked about the Segway, but nobody could buy one, so it's not clear that it was publicity well-spent. And it certainly seems like the same amount of publicity would have helped more if it appeared when every Walmart has Segways in stock.
I'm going to have to sit back and think about this one...

 Share Tweet This

news

A bad week for bloggers?

January 16, 2003 16:31:19.853

I stumbled on this post detailing some job troubles related to blogging. I can relate to that; Some of my wilder ravings about industry analysts raised a few eyebrows with my employer. Still, I'm posting on a server owned by my employer, so I have to be more careful.

 Share Tweet This

blog

Trackback enabled!

January 16, 2003 14:41:15.746

A few days ago I posted a question as to the utility of trackback/pingback. Well, I just added Trackback capability to the blog. I did that because it's a far simpler mechanism, and didn't require XML-RPC support. I'm looking around - apparently Roger Whitney did some work on this. In the meantime, trackback is operational here. See the bottom of each post for the trackback link.

 Share Tweet This

development

A plea for closures?

January 16, 2003 11:53:26.490

Gordon Weakliem writes:

Today, I'm wishing for a way to do closures in .NET or Java. I have a bunch of SOAP calls and I'd like to save off, parameters and all, and invoke later, without writing any code, or very much. I've been itching to pick up Python again, but all this is sparked by a need to do some testing, and I've got a deadline. I'll probably end up doing this the hard way.
Here's his post Well, look no further than VisualWorks Smalltalk. We have a full SOAP implementation, and Smalltalk, of course, has closures. A neat aside on this is a topic that came up on comp.lang.smalltalk the other day - Cees de Groot wanted to do a demonstration of pushing a Smalltalk process out of a Windows box and then running it - from where it left off - on a different OS. A few messages later, and he had his demo using BOSS (a binary object serializer). That would work ;-)

 Share Tweet This

development

XP in Smalltalk is better

January 16, 2003 9:22:34.720

I spoke at the New York Smalltalk User's Group meeting last night, and gave this presentation. There were 30+ people in attendance, and a lot of conversation - questions came up, and discussion on the points I was discussing flowed freely. Of course, this was a mostly friendly audience - but even so, the conversation was excellent. The point that seemed to resonate most was this:

XP is a methodology by, and for, developers
I see something different about the adoption of XP (compared to many of the other methodology fads that have passed by) - this one engages the developers. It doesn't add a set of ancillary staff playing with diagramming tools and creating reams of paper - it engages developers in their day to day activities. It's not a theoretical exercise - it arose in the heat of difficult assignments over a long period of time. If you are in NY, you should definitely plan to attend the group's meetings - contact Charles Monteiro for details. If you don't know Smalltalk, attend anyway - the group is now offering free training classes!

 Share Tweet This

development

A slap at RUP

January 16, 2003 8:44:42.408

Jeff Sutherland takes a shot at RUP on his SCRUM site. Here's an excerpt:

How to Fail with the Rational Unified Process: Seven Steps to Pain and Suffering Three RUP experts have identified patterns of failure when using RUP and written an excellent paper that elucidates them in depth: Larman, Craig, Kruchten, Philippe el al. How to Fail with the Rational Unified Process: Seven Steps to Pain and Suffering. Valtech Technologies and Rational Software, 2001. In order to ensure absolute misunderstanding and failure in RUP adoption, we provide the following checklist or score sheet. Of course, the more points scored, the more successful the RUP failure. You know you didn't understand the RUP when:
  1. You think that inception = requirements; elaboration = design; and construction = implementation.
  2. You think that the purpose of elaboration is to fully and carefully define models, which are translated into code during construction.
  3. You think that only prototypes are created in elaboration. In reality, the production-quality core of the risky architectural elements should be programmed in elaboration.
  4. You try to define most of the requirements before starting design or implementation.
  5. You try to define most of the design before starting implementation.
  6. A "long time" is spent doing requirements or design work before programming starts.
  7. An organization considers that a suitable iteration length is measured in months, rather than weeks.
  8. You think that the pre-programming phase of UML diagramming and design activities is a time to fully and accurately define designs and models in great detail, and of programming as a simple mechanical translation of these into code.
  9. You try to plan a project in detail from start to finish, allocating the work to each iteration; you try to speculatively predict all the iterations, and what will happen in each one.
  10. An organization wants believable plans and estimates for projects before they have entered the elaboration phase.
  11. An organization thinks that adopting the RUP means to do many of the possible activities and create many documents, and thinks of or experiences the RUP as a formal process with many steps to be followed.
We are confident that by ... applying the checklist of misunderstandings, your adoption of the RUP and iterative development will be a spectacular mess.
And the beauty of it is, he lifted this checklist from the Rational site! Go read the whole post.

 Share Tweet This
-->