BottomFeeder
January 31, 2003 22:32:56.206
I just posted on the client tools and BottomFeeder integration through plugins - now I've got the new dev build posted. In slim mode, the menubar disappears, so as to allow for smaller shrinking. The 2.7 release is getting closer....
Share
BottomFeeder
January 31, 2003 22:05:08.863
Now this is cool! After tweaking the blog client tools package to minimize its reliance on other packages, I modified BottomFeeder to allow plugin loading. Bf now looks for plugin parcels, which use a simple API to add themselves to the Bf menubar. I'm posting this from the client blog tool, started from BottomFeeder as a plugin. Very cool, and something that can be updated separately. If I can get the Typeless folks to package up the IRC tool as a loadable parcel, that could be added as well.
Share
blog
January 31, 2003 15:37:03.791
After some fits and starts, I have client side posting and update capability - the data extraction from the POST was different in my test env (TinyHTTP) than in the server (CGI-Relay and Apache connected to VW). After compensating for that, it all seems to be working nicely.
Share
general
January 31, 2003 11:17:54.661
Mark Pilgrim writes that he works too much. I can definitely identify with this:
I used to have a home life; now I have a home office. I used to come home from work and bitch about it for twenty minutes and get it out of my system and have the rest of the night for myself. I used to punch a clock. I didn't make anything, I didn't produce anything, I didn't write anything, I just punched a clock and when I was done I was done and I went home or out or somewhere else, anywhere else, because it was after work and that's what you did after work. Now there is no after work, there is no before work, there is no work day, no office, no clock. There is only one long continuous 24-hour day that is always work, always office, and I never punch in and I never punch out
Yes, a home office is a mixed blessing. No travel or commute, but work is
always right there - it is
so easy to just do
one more small thing - and based on the people I see on the
IRC Channel at odd hours, I am hardly the only one doing
just one more thing late at night. I think I worked less when I traveled, to be honest....
Hat tip to
Matt Croyden
Share
smalltalk
January 31, 2003 10:20:00.061
The NY Smalltalk User's Group has more cool events coming:
Feb 19th, Main Event: Eclipsing Eclipse
Eclipsing Eclipse
We will present a compelling case which will argue that the
VisualWorks 7 IDE may very well eclipse Eclipse. The argument will
be based on the following comparison points:
Extensibility
Refactoring
Support for XP
Immediacy
Ease of use
Responsiveness
Community support
The presentation will include review of the Refactory Browser, Sunit
integration, the new StarBrowser and its powerful classifications
and other conveniences.
Date: February 19
Location: Suite LLC offices
Address: 440 9th Avenue, 8th Floor
Time: 6:30pm to 7:00pm Open House
Main Event: 7:00to 8:30 pm
Directions:
Take E or C train to 34th (Penn Station) walk to corner of 34th and
8th. Walk up one block to 9th.
RSVP is requested. Please send mail to: charles@ocit.com
with subject line of: NYC Smalltalk February 19.
Our meetings are opened to the general public. Invite a friend!
To join our mailing list simply send mail to:
nycsmalltalk-subscribe@yahoogroups.com
Any questions send mail to: charles@ocit.com
Share
smalltalk
January 31, 2003 10:15:37.291
The NYC Smalltalk User's Group is as active as usual:
Feb 3rd, Introduction to Smalltalk emphasizing on: Writing Sunits and collection api
The fundamentals of Smalltalk can be easily taught in less than an
hour. We will help install a Smalltalk IDE for those guests that
bring their laptops.
This will be a hands-on presentation with emphasis on the creation
of Sunits and review of the collection api.
Date: Feb 3rd
Location: NYPC Offices at the New Yorker Hotel, 15th Floor
Time: 6:00pm to 7:00pm
Directions:
take E or C to 34th (Penn Station), get off at 34th & 8th
RSVP is requested. Please send mail to: charles@ocit.com with subject line of: NYC Smalltalk Feb 3rd
Share
blog
January 31, 2003 9:58:12.859
Here's an interesting article on CNET about blogs and their utility for getting the word out. Hey, I thought I was just pontificating!
Web logs (commonly known as "blogs"), message boards and other online forums are becoming increasingly important vehicles for developers to attract customers--and development talent--well before an application even enters the beta stage.
Mitch Kapor, founder of software pioneer Lotus and creator of its breakthrough 1-2-3 spreadsheet program, started a development blog early on in his quest to build a smarter personal information manager. He said the blog has been a vital conduit for him to communicate with users about the project and to solicit their ideas.
"Some of the world's smartest software people are interested in this project and communicating with me," Kapor said. "The more open feedback there is, the better we can incorporate those ideas into the product."
While I'm sure my readership is smaller than Mitch's, I do get good feedback from this forum - both in email and comments. Keep the cards and letters coming, as the saying goes...
Share
development
January 31, 2003 9:51:43.917
Steve Waring is worried about Wikis and REST:
From: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1
Safe: "... the convention has been established that the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval ..."
Idempotent: " ... the side-effects of N > 0 identical requests is the same as for a single request. The methods GET, HEAD, PUT and DELETE share this property ..."
Dolphin Wiki
The Dolphin wiki provides links for the user to change the state of the Wiki, for example; "Delete this page". These links cause the Browser to make a GET request.
The most obvious problem that results from this is the badly behaved spiders that turn up every couple of months, ignore the robots file, and do a "wiki-wipe". The spiders are at fault for ignoring the robots file, however they are not at fault for the way they follow the links, as they can expect GET requests to be both safe and idempotent.
I don't think the VW Wiki suffers from this (although other things, like the URL construction metaphor, are problematic). However, it's not as if I've looked that deeply into the Wiki code either. I suspect that this problem will only get larger as time goes by -
Trackback started out as a GET interface. Perhaps this is why it changed to a POST...
Share
BottomFeeder
January 31, 2003 2:14:47.908
I've posted a new dev build up - there are some more bug fixes (still shaking out from the save file format change), and a change to slim mode. Slim mode no longer has a menu - it instead has a small toolbar with three menu options - toggle online status, toggle slim mode status, and quit. The builds are getting more stable - we should be ready for a release soon.
Share
general
January 30, 2003 23:28:17.667
A few days ago, I saw this post over on Reflective Surface. This evening, there was a horrible accident right across the street from me. I didn't see it, but I heard it. Some guy came down the street very fast - a witness called it close to 100 mph. He took out the mailbox (serving 10 houses), a number of small trees, and landed in the neighbor's garden. The neighbor was lucky he didn't land in the living room - we was apparently airborne on the way to the garden.
I ran out as soon as I heard the commotion, phone in hand. At least three other people had already called 911, so I went over and helped get the injured guy out of the car - it was starting to catch fire. The homeowner put the fire out, and then someone got blankets for the injured guy. He was in shock - he had no idea where he was, or how he had gotten there.
The police and ambulance arrived very quickly, and got things under control. It certainly got me thinking - the way that car came down the street, it could easily have landed in my house. Other than the driver, no one was hurt, which was very fortunate, all things considered. Mail delivery will be a pain, but that's a small price...
Share
smalltalk
January 30, 2003 17:39:25.583
If you'll be in Ottawa Feb 3rd, come see Martin Kobetic talk about security and cryptography in VW.
This talk will introduce some basic cryptographic algorithms and techniques that are available in the VW Security library and then show how these are used in SSL to achieve various security objectives. The session should conclude with demonstration of the VW SSL implementation and it's application in VW HTTPS support.
The meeting will be held in Room 5115, Herzberg Laboratories (building 13 on the map at http://www.carleton.ca/cu/campus/map.htm). Pay-parking is available in Lot 1, 2, and parking meters can be found along University Drive. Free parking is available across Bronson Avenue
opposite Lot 5.
Enjoy!
Share
blog
January 30, 2003 15:01:53.633
I've been working on client tools for the blog - I want the ability to edit the existing entries, and to post new ones, from a client GUI. I've made fairly decent progress on that front, but I'm not quite done yet. Later tonight the first post from a VW client (instead of straight from the browser) should show up.
Share
general
January 30, 2003 11:40:36.079
I'm building client tools for posting to the blog, and for editing existing items already posted. On top of that, I will be teaching a Smalltalk class - I use Squeak with 8-10 year olds. They have a blast, and there's no way I could get anywhere using something like Java with this age group.
So posting will be light until later on...
Share
news
January 29, 2003 21:40:46.830
This morning I pointed out an odd ebay sale. Now the Register is reporting that it's been pulled - and that it might have been a hoax:
A spokesperson for Ebay told us that the listing fell foul of a technicality.
"We do advertise professional services," he told us. "But the reason we removed it was that it contained wording that made it appear that there was a price to be determined. It appeared that winning bidder would have to determine what the individual would be paid."
Gallows humor from insiders, or a prank? The debt-laden tech behemoth, which had run up $2.4 billion in accumulated deficits last fall, employs 1,500 staff and laid off five per cent of its workers a fortnight ago.
It was amusing while it lasted...
Share
development
January 29, 2003 20:17:12.089
Travis Griggs came up with a fascinating summary of the inherent problems with reliance on comments:
In reality, I'm not so much against the idea of class extension comments, as the percolating push to "comment more". Comments lie. Code doesn't. Good comments are really helpful, and usually very hard to find amongst all the others. I haven't noticed that encouraing programmers to use more hooks to comment stuff improves the situation.
That's brilliant, actually -
Comments lie. Code doesn't
Share
development
January 29, 2003 20:12:45.636
How many of us have seen large projects crash and burn? How many have seen them turn into Death Marches? I would guess that most of us have.
Dewayne Mikkelson writes about this on his weblog:
This is really frustrating. True, but frustrating. I've got alot of thoughts about why this is true. Most of them break down when I start trying to draw parallels to very large construction and other engineering projects (avionics, etc.)
Perhaps the fundamentally abstract nature of what we're doing removes the ability to "rely" on lower level component results. (i.e. when a die is milled you can test whether its shape, size, and material strengths are within acceptable tolerances.) Is there even an analog in software? Are there just unknowns at even the smallest component level that "prevent" us from architecting aggregate systems without exponentially reducing reliability?
Are these issues Architectural? Design? or do they have to do with the nuts & bolts code-monkey work? Of course it's at the very least a combination of the three.
But it SHOULD be possible to design reliability criteria that we can blast a component with and see if it holds up.
IIRC, This is the exact problem that
Agile Methods and XP are solving. Write Unit tests, all the time, every time. Make sure that the bar is green, all the time, every time. Too many of us (myself included) simply
don't do this. We then have constant small problems on our own projects. These become large problems on medium sized projects, and become
absolute killers on large projects. This is where,
IMNSO, death marches come from - problems crop up
all the time, and it takes huge amounts of extra work to crawl past the problems.
Share
general
January 29, 2003 17:44:50.334
Maybe I'm the last person to notice this, but the Google Toolbar is pretty cool! Steve Waring referenced it on his blog, and it's a neat thing to have installed. Highly recommended.
Share
java
January 29, 2003 13:17:18.470
Sun says here that Java's survival depends on the injunction forcing MS to ship Java:
In a court filing, Sun Microsystems claims that a federal judge's order to include its Java programming language in Microsoft's is imperative to prevent Java from extinction.
It's nice to see Sun taking responsibility for their own success instead of gaming the court system. Oh, wait....
Share
general
January 29, 2003 12:56:35.679
From Travis Griggs via the Smalltalk IRC:
Three types for the Lispy-things up there so high. Seven for the Fortran in their days bygone. Nine for the Algol ones, doomed to try. Just One Type for the Code Lord all alone, in the land of Smalltalk where the messages fly.
One Type to rule them all, One Type to find them, One Type to bring them all and so enlightened bind them.
Share
itNews
January 29, 2003 11:01:19.301
Looks like my Linux Replacing Unix theory is getting traction. During Linux World, IBM announced that Unilever was adopting Linux. Unilever has been and HPUX and AIX shop, according to ComputerWorld (who did not provide an electronic version of their cover story...).
Looks like the Unix vendors are shifting to Linux - HP and IBM figured this out awhile ago. Sun has a different problem, since the bulk of their revenue comes from their proprietary hardware - and IMHO, there are fewer and fewer reasons to consider buying Sparc and Solaris instead of intel and Linux. It's going to be an interesting next couple of years for them.
Share
news
January 29, 2003 10:25:52.553
First there was the town for sale. Now, ebay is selling an IT staff:
Complete staff of ZDNet Tech Update, formerly a vital division of one of the top ten highest-trafficked sites on the Web, currently available to instantly implement professional Web site or print magazine. (...) Resumes available to highest bidder. Bidders should be prepared to make a total annual commitment for salary and benefits in the high six figures. Sellers will also consider contract work. Please e-mail any questions before bidding.
Whoa. I'm waiting for the first country to be sold on ebay.
Picked up via Reflective Surface
Share
java
January 29, 2003 0:09:06.910
I drove down to Rockville for the WOAD meeting, where the speaker was giving a talk on things that are "impossible" in Java - and for which he was going to show solutions. First problem:
He wanted to show how to emulate the C++ friend feature. This was somewhat amusing to me - here's a language with all these levels of call security, and the first thing we talk about is how to get around it. Anyhow - the solution involved creating an exception object, peering up the stack, taking the name of the calling method's package as a string argument, and then checking whether the calling package was allowed to call in. It was a page of complex code.
As opposed to, say, thisContext in VisualWorks. With which one could create arbitray call leve security....
Ok, then we went on to Design by Contract. What he wanted here was to be able to create an object, and ensure that the object created was valid - i.e., that the object is in a valid state after the multi-part constructor was called. This involved the creation of a lightweight transaction framework. The transaction framework involved caching a copy of the object for rollback, and custom copying code.
As opposed to, say - block closures, ensure: and become:. The solution wandered along for 8 pages, most of it code. I was kind of stunned, actually. This is how Java developers look to solve these problems?
Last, he brought up a lock question - a desire to have what amounts to a timed semaphore. I've seen such creations in Smalltalk. His assertion was that it's not possible in Java.
At the end of all this, it just seemed like everything in Java took so much work. The interesting thing was, lots of the people I spoke to are using Java at work, but actually interested in Python, or Ruby, or Zope. I handed out a number of NC CD's. I got the distinct impression that this group uses Java, but has no great love of it....
Share
smalltalk
January 28, 2003 16:35:19.808
I guess I'm going to give a talk on the Web log at Smalltalk Solutions. This whole blog started as a way for me to express opinions and rant in public ;-)
Over time, it got a lot more complex than that - the whole web log could be taken as an exercise in scope creep - the addition of an RSS Feed, comments, a comment RSS Feed, support for Trackback and Pingback - it's gotten a lot like normal projects.
Next up, I'll have to go fill out the abstract....
Share
analysts
January 28, 2003 9:32:14.092
This is interesting - Jupiter Research has some of their analysts blogging now. If this is a trend, it's likely a good one - the more feedback people looking at the industry get, the better. I think Jupiter is doing the right thing here!
Share
development
January 27, 2003 21:43:29.821
I saw this interesting post, which I'm extracting in its entirety:
Cameron Purdy wrote,
So I saw this interesting blog entry. The interesting thing with .NET is that you can actually run the JVM inside the .NET process and use a product like JNBridge to semi-transparently access the one from the other. The best of the Java world easily available in .NET, sans the web services overhead. Could that mean software-level peer-to-peer clustering for .NET? (Heh.) Stay tuned.
It goes the other way, too. The CLR can be hosted from a process started by the Java bootstrapper, just as well. For example, I've got some JNI code called from a webapp that loads the CLR and calls into the ASP.NET runtime. At this point, all I'd need to do is (a) build the appropriate HttpRequest class in .NET that knows how to extract the HTTP request data from the servlet HttpServletRequest and HttpServletResponse objects (as well as a few associated others), and (b) set up the webapp to map .aspx, .ashx, .asmx and a few other extension types to a servlet that does this call-transition, and lo and behold, we have ASP.NET running behind a Tomcat front-end. Depending on how the bindings take shape, you could conceivably have shared session state between both environments, all running in-process. The fact that both environments have a well-documented interface for hosting their respective managed environments and that both environments run entirely in-process is what makes this possible. (About the only thing left, then, is to bind in the Python runtime and we've got just about every language in use today covered. Of course, that process will consume about 100,000 megs of physical memory, but hey, memory's cheap, right? :-) )
So
that gets me thinking.... What about from VisualWorks? I take the above stuff as glossing over the difficulties and making it sound too easy, but still....
Share
security
January 27, 2003 20:46:13.023
Looks like Microsoft doesn't always take its own medicine:
Microsoft's policy of relying on software patches to fix major security flaws was questioned Monday after a series of internal e-mails revealed that the software giant's own network wasn't immune from a worm that struck the Internet last weekend.
The messages seen by CNET News.com portray a company struggling with a massive infection by the SQL Slammer worm, which inundated many corporate networks Saturday with steady streams of data that downed Internet connections and clogged bandwidth.
"All apps and services are potentially affected and performance is sporadic at best," Mike Carlson, director of data center operations for Microsoft's Information Technology Group, stated in an e-mail sent at 8:04 a.m. PST Saturday to other members of Microsoft's operations groups. "The network is essentially flooded with traffic, making it difficult to gather details concerning the impact."
Well, there's some rich irony for you. The
exploited flaw is a year old - and even MS' internal IT group had not patched the various SQL Server db's they run. Oops.
Share
smalltalk
January 27, 2003 14:42:47.388
Would do well to read this article on VHS vs. Betamax.
VHS won because "the whole product" did what people wanted at a price they were willing to pay. And when people use the VHS vs. Beta analogy, they are not indicating a market failure but their own ignorance.
Definitely worth pondering
Share
blog
January 27, 2003 13:34:34.997
I spent some time this morning fighting HTML tables......
After I pulled out what little hair I have left, I got rid of the table I was using for the main view (the entries). I now just have the links and blogroll at the bottom, and a link to it (and back from it). This should make the display cleaner in most browsers....
Share
development
January 27, 2003 8:16:48.001
I've seen this idea in cls recently, and now in this article on O'Reilley: Prototype in (Smalltalk, Python), then build in Java.
I like programming problems where you think, "There has to be something really interesting over there, but I can't see it clearly." All you can do is move one step over there, with a small bit of code, and start exploring to see it more clearly. And maybe it actually wasn't there, it was over here. Or it had a different shape than you thought initially. Maybe it wasn't interesting at all, and you didn't waste a lot of time.
The danger of planning is that you plan for the contingencies you know about, but by definition you don't plan for things you don't know you'll encounter. So when you do encounter an unexpected event in your programming endeavor, you have to fix many interfaces and change multiple method signatures. If you've already committed to your original plan and that's no longer where you're going, then you have a problem.
I'm not particularly worried by the fact that people say you can prototype more easily in Python, but eventually the Java version makes it easier to build a robust large system. You can prototype in Python. Once you've explored the space more, you can do the planning and design that the Java version requires. If you start writing in Java knowing as little as you did when you started writing the Python version, you'll waste way more time exploring than actually building the system you'll eventually build.
Here's a hot tip - just build the system in Smalltalk or Python. If you skip the (unproductive) porting step, how much further along would you be?
Share
general
January 27, 2003 8:03:59.160
Picked this thought up today.
But there is one SQL Server box that I almost forgot about: my laptop. I tend to connect to all sorts of foreign networks with my laptop. Had I done so with an unpatched SQL Server running on my laptop, I would have brought the Slammer worm back home behind my ISA server firewall. Then all hell would have broken loose.
So the lesson here is: beware of laptops. They can easily subvert the security provided by your network's perimeter defenses. And make sure you patch ALL SQL servers regardless of whether they are behind your firewall or not!
Yeah, I run mine all over too. I should be more careful....
Share
development
January 26, 2003 21:40:49.079
Victor Goldberg pointed me to a meeting of the Washington (DC) Object Oriented Architecture and Design Group this week:
WOAD 1/28 - Java Impossible : What can't be done with Java and how to do it
anyway
RSVP quickly to reserve a seat.
Space WILL be limited to those who RSVP.
WHAT: WOAD
(Washington Object-Oriented Architecture and Design)
WHEN: Tuesday, Jan 28th, 2002 at 7:00 PM
WHERE: Best Western of Rockville (in the Restaurant)
DINNER: Buffet $12.50 (includes tax $ tip - to get the space, we have to eat)
TOPIC: Java Impossible
SPEAKER: Michael Trachtman
Already excited about a talk on "Java Impossible"! Or are you wondering why
in the world WOAD is doing a bits and bytes language talk?
Even if you don't code, if you design, architect or manage anything in the
Java or J2EE space, you need to know what can and can't be done. This will
be fun and given WOAD, controversial.
Michael will present prepared challenges with solutions and invite new
challenges.
Some of the topics that Michael will discuss include how to create a
distinction between "public" and "published". We'll also discuss how to
make a simple general mechanism for creating light weight transactions in
Java, and show their use in enforcing Design By Contract and
Componentization in Java.
For new challenges, bring your toughest problems, give them to Michael and
build toward a solution. We'll welcome challenges from Java gurus and .Net
folks alike. Challenges with solutions are of course especially welcome. The
only restriction is that the challenges should useful.
Well. I have one, and I've been discussing others on the
IRC Channel. My first question:
I have a web log where the daily entries are stored as serialized object files (to disk). I need to add attributes to the objects that are serialized to disk. At the same time, I need to
- Make the change to the running server - i.e., Not take the server down
- Not modify any of the existing serialized object files as part of the change
In VisualWorks, I have actually done this - the files are BOSS files, and you can add code to any object that allows for
schema migration of existing objects. I last did this when I added pingback and trackback support to the blog - and most of the data files are still in the older format, as they haven't been resaved in the newer format. I'll be curious to see how a Java solution to that works out.
Share
general
January 26, 2003 17:42:19.823
The intelligent folks at my local WB station had a sports event earlier today - a college hoops game. Ok, I set up the Replay to record Angel long in case the show got started late. The bozos at WB ran the show 1/2 hour early. Early!??? What's up with that? It's bad enough that the college basketball season bounces the show from one day to the next - but now I can't make any kind of educated guess at all as to the airtime. Sheesh.
Share
blog
January 26, 2003 17:05:27.308
I had a nasty layout issue with the blog that Roger Whitney pointed out to me. After some investigation, I found out that the code I was using to place trackback, pingback, and comment links was just atrocious. I fixed that and patched the server, and the presentation should be back to normal now. Thanks Roger!
Share
itNews
January 26, 2003 12:39:39.652
Infoworld has a thought provoking story on outsourcing. The conventional wisdom seems to be that 40% or more of IT jobs could be outsourced by 2005:
AS MANY AS 35 percent to 45 percent of U.S. and Canadian IT workers will find themselves replaced by contractors, consultants, offshore technicians and part-time workers by 2005, according to a report issued this week by New Canaan, Conn. based Foote Partners.
And though some analysts and IT labor experts said those figures, while eye-popping, may not be far-fetched, four high-level IT managers said the predictions probably won't apply to their companies. For them, outsourcing hasn't proved to be a lower-cost alternative to keeping IT inside corporate walls.
"While there are times where I'd love to throw something to the outsourced den, so far we've found that it wouldn't be cost-effective for us," said Amy Courter, vice president of IT at Valassis Communications Inc., a Livonia, Mich. based marketing services firm.
"We do everything in-house," said John Studdard, senior vice president and chief technology officer at Lydian Trust Co. in Palm Beach Gardens, Fla. "The reason we've been successful in light of 9/11 and the economy and the bursting of the dot-com bubble is that we're in control of our own destiny and not locked into long-term contracts that may or may not be relative to our business anymore."
I can state pretty unequivocally from my experience (see my
ReplayTV support saga that outsourced level one support is a
fine way to irk customers - they get to deal with distant support people who are empowered to do nothing except follow a tightly controlled script.
Still, it looks a lot like application development could be going the same way manufacturing went 20 and 30 years ago:
Nevertheless, David Foote, president and chief research officer at Foote Partners and a Computerworld columnist, said American companies "can't afford to do application development in the U.S. anymore. The nature of the business has changed." Foote said he based his estimates on surveys his company conducted last year with 1,880 private-sector and government employers, which were asked what percentage of their future IT workforces will be in-house vs. external.
Discouraging though that sounds, I expect the effort to be tried. I also expect that it won't go nearly as well. Software development is not
nearly as well understood a field as is manufacturing - in most respects, an assembly line doesn't care where it's located. Software development is different - it's a communications heavy field, and I question the ability of development staffs 12 hours (in time zone) away to adequately communicate with the end users.
Agile Development and XP are a response to the seeming inability of
local development groups to communicate well; somehow I doubt that adding language and time barriers will improve that.
Share
itNews
January 26, 2003 12:19:34.954
Infoworld has a big story this week on packaged applications and their hidden costs.
A NOSTRUM of the late '90s was to dump internally developed, custom applications in favor of packaged applications. But the hidden costs of those packaged apps are coming back to haunt many companies that implemented them too hastily.
The motivation behind that lurching, tectonic shift was the horror generated by over-budget attempts to build systems internally. An entire generation of in-house programmers was pulled from projects and thrown at ERP and CRM systems -- or out the door -- because executives believed that packaged apps would fix the problem of hidden costs.
"Companies that had been building their own software for 40 years started thinking maybe they didn't need all those people, and that was a sign of something bigger: a crisis of confidence," says Tom DeMarco, a Camden, Maine-based principal at Atlantic Systems Guild and co-author of Peopleware.
DeMarco thinks the rush to packaged software was accelerated by organizations losing confidence in their ability to invest wisely in IT and the creeping belief that original works of code were merely a cost, not an investment. But the hidden-costs problem didn't go away with the adoption of packaged apps, which can hide even more expenses.
That's an understatement. Very few companies take packaged applications
as-is. Instead, they customize. This has two problems:
- The application is now forked from your vendor's version, making upgrades harder
- The application wasn't necessarily written with the kinds of customizations you had in mind
I see this at Cincom - we have an internal bug tracking system that is a heavily customized version of (an external vendor's software) product. We are now 2 or 3 versions out of date, because our internal staff could not upgrade the product
and the customizations in synch with the vendor. The vendor can't support our version with normal support, since it's so heavily customized. So we spend precious dollars on support of an out of date application. I'm not beinging this up to embarass our IT group; it's hardly a unique problem. My point is that, in general, packaged applications end up being at least as much trouble to maintain and upgrade as custom ones. While you may become dependent on a particular version of a development tool or set of libraries, upgrading - given source - is typically a resource issue.
With a packaged application, you likely don't have source, and API's you depend on could disappear. You can end up just as far down the river. Basically,
TANSTAAFL.
Here's another interesting snippet from the article:
"If companies were feeling defeated by custom software, then packaged software has proven an even greater defeat. The fiasco with Oracle last year indicates that even upgrading a package isn't affordable," DeMarco adds, referring to the snarled application-migration problems last August that purportedly cost Agilent more than $100 million.
Read the whole article - it's thought stimulating.
Share
development
January 26, 2003 8:16:17.806
THis idea of RSS as The Web Service we have Now seems to be common. I posted on this a few days ago, and yesterday I made some additional comments. Now I've just spotted Matt Croyden's Blog, and he's been making the same kind of noises:
Jeremy Allaire notes that there have been over 10,000 sightings of RSS Web Services spotted in the wild:
As I've been reading and writing today I've come to a somewhat obvious conclusion: there's been an explosion of 'web services' in the past year, and it has nothing to do with SOAP, WSDL and such standards as described in the industry but with the ascending role of RSS and RDF as XML data and syndication formats.
Jeremy has a point. Another interesting tidbit from his post:
Today's count of RSS feeds from Syndic8.com: 10408 feeds
Today's count of SOAP APIs from xMethods.com: 275 APIs
That's a huge difference.
Share
development
January 26, 2003 0:23:07.067
Share
blog
January 25, 2003 19:16:25.430
Share
development
January 25, 2003 18:16:57.094
I posted on some issues in RSS the other day. It's been a widely discussed topic; I saw this just now on Reflective Surface.
But there are still some problems. Obviously, not all tool developers care about generating well-formed feeds. Some even have a history of providing feeds that are almost garbage, if feeds are provided at all. That's the problem I see with any solution other than parsing at all costs: it may be harder to convince some providers to create tools that generate correct XML than write liberal parsers. And even if those developers could be convinced, there are still large amounts of deployed tools that won't be upgraded and will continue to generate invalid feeds.
I don't like this situation. As Dare Obasanjo said, it's quite depressing. XML was supposed to bring a new age to information processing. But real life is always different, and now we must deal with those problems in a way users can benefit. After all, there is no point in creating technology that cannot add value to people lives.
So it is
back to the future, just like the wild world of HTML - wild variations and client front ends that have to handle just about any darn thing that comes their way.
Share
examples
January 25, 2003 17:50:44.888
It is often the case that applications - be they client applications, or server applications - need to make network connections via standard internet protocols. VisualWorks supports a wide variety of such protocols, including HTTP and HTTPS. It's becoming more and more common for applications to expose what some call REST (REpresentational State Transfer) as a way of opening up some of their internal API's to the world.
What, do you ask is REST? Simply put, it's an HTTP based interface to an application. While that sounds complicated, it's not. For instance - searching my web log for information on REST could take the form of this HTTP based query:
http://www.cincomsmalltalk.com/blog/blogView?search=REST&searchTitle=true&searchText=false. The interesting thing is, the results of a query like this need not be parsed solely by a web browser - they can be parsed by an application that doesn't even expose the results directly to the end user. Now, this is a simple example - the query above is a GET, and the results come back in the HTML body as text. What if you have a more complex interface?
Using my weblog again as an example, let's look at exposing POST interfaces. In the weblog and RSS world, there's growing interest in being able to trace posts, comments, and related posts on other web logs. Two examples of this are Trackback and Pingback. Both are interfaces that accept HTTP POSTS from clients. Handling those in a VisualWorks server is easy; you just create a servlet, a post handler, and grab the form elements. But what about the client end?
In the RSS/Web log world, a web log should not only be able to receive these notifications, but be able to send them. How do you create a POST in code? Very easily, as it turns out. Using the NetClients libraries, here's an example of creating and sending a trackback POST:
doPostTBFor: tbToSendUrl from: entry
| client content |
client := HttpClient new.
content := self postTBFor: tbToSendUrl from: entry.
request := HttpRequest method: 'POST' url: tbToSendUrl.
request referer: entry getPermaUrl.
request contents: content.
request contentType: 'application/x-www-form-urlencoded'.
^[client executeRequest: request] on: self httpExceptions
do: [:ex | ex return].
In this example, #postTBFor:from: looks like this:
postTBFor: baseUrl from: entry
| stream settings excerptLength myUrl |
stream := WriteStream on: (String new: 500).
settings := BlogSaver default settings.
excerptLength := entry blogText size min: settings excerptLength.
stream nextPutAll: 'title=', (entry getHTMLEncodingFor: entry title).
myUrl := settings mainLink, '?entry=', entry timestamp asSeconds printString, '&showComments=true'.
stream nextPutAll: '&url=', myUrl.
stream nextPutAll: '&excerpt=', (entry getHTMLEncodingFor: (entry blogText copyFrom: 1 to: excerptLength)).
stream nextPutAll: '&blog_name=', (entry getHTMLEncodingFor: settings blogName).
^stream contents
What I've done here is created a POST object, set the type to 'application/x-www-form-urlencoded' - which will allow the remote end to interpret it as a form being posted - and then placed the URL-Encoded form data in as the contents. That's the second method. Note that the code is simple streaming; I just create the URL-Encoded data manually. If this is something you need to do a lot of, you could pretty easily add convenience protocol to automate this.
In any case, using the above two methods, my web log sends trackbacks and pingbacks whenever I refer to an enabled site in a post. It's all pretty simple - a few lines of simple Smalltalk code, and you have an interface into any site on the web!
Share
security
January 25, 2003 14:31:51.486
I posted this morning on the worm that was apparently slowing net traffic; there's also a CNN Story on it. If you point your browser here, you can see what purports to be a "health" meter for the internet, showing a distinct problem this morning. I found all this refs here.
As I said this morning, I doubt things are going to get better in this regard anytime soon.
Share
security
January 25, 2003 10:26:06.771
This is why we don't use SQL Server for the Cincom Smalltalk server.
"Since about midnight EST almost every host on the internet has been receiving a 376 byte UDP payload on port ms-sql-m (1434) from a random infected server. Reports of some hosts receiving 10 per minute or more. internetpulse.net is reporting UUNet and Internap are being hit very hard. This is the cause of major connectivity problems being experienced worldwide. It is believed this worm leverages a vulnerability published in June 2002. Several core routers have taken to blocking port 1434 outright. If you run Microsoft SQL Server, make sure the public internet can't access it. If you manage a gateway, consider dropping UDP packets sent to port 1434." bani adds "This has effectively disabled 5 of the 13 root nameservers."
Sooner or later, some attack is going to take down a critical mass of those root servers, and no one will be able to see anything.
Share
BottomFeeder
January 24, 2003 15:02:45.939
Rich Demers has found a few more bugs, and made some more suggestions. A new DEV Build is up.
Share
itNews
January 24, 2003 8:47:37.704
I posted yesterday on this, and this morning this pops up in my feed list from Linux Today:
In the short term, Linux is mainly a threat to companies that make computers based on variations of the Unix operating system, the dominant system driving corporate mainframes and servers. But the company that could eventually find itself in the line of fire is Microsoft, whose position in the computing industry rests heavily on its Windows family of operating systems. "We see Linux going over the moon," says Larry Ellison, chairman and chief executive officer of Oracle. "We have never seen anything with this much of an uptake in 25 years in the industry..."
Now I don't necessarily take Ellison as an authoritative source - after all, he was sure that
network computers were going to overtake Windows. Still, the signs don't look good for the Unix vendors. Especially since IBM is on the Linux bandwagon...
Share
BottomFeeder
January 24, 2003 0:34:13.490
I posted a new DEV Build - there was a bug that prevented look policies from being restored at startup.
Share