java
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
java
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
itNews
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
law
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
development
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
news
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
development
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
development
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
development
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
BottomFeeder
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
BottomFeeder
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
development
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
itNews
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
general
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
BottomFeeder
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
development
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
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
cst
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
blog
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
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++?
- I hope SmallTalk is faster (or at least not slower) then Java
- I like to try "new" languages"
- 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
general
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
general
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
BottomFeeder
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
blog
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
blog
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
news
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
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:
- Lack of experience with such constructs in widely used languages
- Burden of extensive VM changes on vendors throughout the industry
- Increased footprint on small devices
- Decreased performance for generic methods
- 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
itNews
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
blog
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
blog
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
blog
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
news
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
general
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
BottomFeeder
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
general
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
itNews
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
cst
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
blog
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
general
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
BottomFeeder
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
BottomFeeder
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
development
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
news
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
blog
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
development
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
development
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
development
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:
- You think that inception = requirements; elaboration = design; and construction = implementation.
- You think that the purpose of elaboration is to fully and carefully define models, which are translated into code during construction.
- 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.
- You try to define most of the requirements before starting design or implementation.
- You try to define most of the design before starting implementation.
- A "long time" is spent doing requirements or design work before programming starts.
- An organization considers that a suitable iteration length is measured in months, rather than weeks.
- 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.
- 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.
- An organization wants believable plans and estimates for projects before they have entered the elaboration phase.
- 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