development
March 13, 2003 22:49:49.386
People wanting performance may want to ponder the stats on this page:
Table 1. Results of the benchmarking applications
| Technology | Connect time | Send string (21,000 characters) | Receive string (22,000 characters) | Send 5,000 integers | Client LOC | Server LOC | Actual message size sending 1,000 characters | Actual message size sending 100 integers |
|---|
| Raw sockets | 0.002242 | 0.001377 | 0.001359 | 6.740674 | 57 | 25 | 2,279 | 85,863 |
| CORBA | 0.000734 | 0.004601 | 0.002188 | 1.523799 | 37 | 18 | 2,090 | 27,181 |
| XML-RPC | 0.007040 | 0.082755 | 0.050199 | 100.337219 | 29 | 17 | 4,026 | 324,989 |
| SOAP | 0.000610 | 0.294198 | 0.279341 | 1,324.296742 | 32 | 10 | 4,705 | 380,288 |
Making the RPC mechanism human readable sure has helped. snicker.
Share
development
March 13, 2003 21:11:15.415
Share
blog
March 13, 2003 18:50:57.657
I saw this interesting post from Ted Leung's blog:
David Czarnecki states his reasons for not using a database to store blojsom's entries. Most of the reasons that he lists are quality of implementation issues in other blogs.
I have a different take. The reason that I liked blosxom's filesystem based approach is that ultimately, I view my blog as a part of my personal information infrastructure. And I want to be able to take that infrastructure with me wherever I go (especially after today's Centrino launch). The biggest problem that I have with using a regular SQL database is the disconnected operation problem. The blog has to be up and running on the web all the time. But I want to be able to work on entries on an airplane or on the ferry, and I want an easy way of synchronizing the web version and my private version. I'd rather not write a database synchronization package. So at the moment, the use of the blosxom filesystem seems to be the best that I can do. But the nasty mtime sorting is really a pain.
While I never gave it this level of thought before, this is why I've not moved this blog to a database. Setting up a test environment was vastly simpler - I just ftp all the files from the server - and I can have the whole thing on my notebook as well. With my offline posting tools, being able to post to an offline version of the blog is less relevant for me now, but still possible - and it makes for nifty demos.
Share
itNews
March 13, 2003 15:10:04.444
I posted on this earlier, but I just realized that it supports another truly cool feature: you can have the feed search returned as an RSS Feed.
So now I have this query coming back as an RSS Feed, so that I can see if anything new on Smalltalk has popped up recently.
This is truly, truly cool.
Share
development
March 13, 2003 13:26:49.393
Here's an interesting post on the Fishbowl:
One of the tricky aspects of API design, especially when designing the base APIs for a programming language, is deciding what goes in, and what stays out. Think of a string. There are an enormous number of things you can do with strings, but to put all of those operations on the String class would just be impractical and bloated. So as the designer, you take those operations that you feel would be most generally beneficial, such as finding the length, searching for and extracting substrings, and so on, and leave out the rest.
Some languages, such as Smalltalk, Objective-C, Ruby, Python, Perl, CLOS... Okay, a great many languages allow you to add behaviour to existing classes. So, for example, if your application really needs a method that reverses a string in-place and the language designer has decided that's not necessary for the supplied String class, you can add your method directly to the String class and be done with it.
Some languages, and this is where Java sits, don't let you do this. If you want to extend a class, you have to subclass it. And then you're stuck with whatever the superclass has made visible. And you can't do it with String anyway, because String is final. This is why most projects I work on end up having a StringUtil class, and every project ends up with a DateUtil. There are things we want to do to strings and dates all the time, but there's no way to put those things where they really belong, on the String and Date classes. Which is why having a Util class isn't a code-smell per se, it's a smell in the underlying language.
This is an area you can get into wonderfully interesting discussions on. IMNSHO, it is language smell when you can't slap code where it belongs. In VisualWorks, everyone always had their own version of CommonApplicationModel - subbed off of ApplicationModel. What that told me, as Product Manager, was that there were vast unmet needs in the current implementation.
That's what it always means
Share
itNews
March 13, 2003 12:59:27.918
Internet News has a story making the complaint that MS' XML format in the upcoming version of Office will not be terribly interoperable:
Edwards said that Office 2003 beta's handling of the XML file format means that firms will not be able to tap the rich collaborative features of Open Office 2003 without resorting to proprietary Microsoft file formats. And to truly unlock its collaborative potential, firms will have to standardize on the Windows XP operating system (Office 2003 won't run on Windows 9x), as well as Windows 2003 Server, SharePoint Server, Exchange Server, etc. As for the file formats, he called Office 2003's XML "crippled," because it strips XML files of all presentation and formatting information when saving them in the XML file format. It does not do this when saving files in Microsoft's proprietary file formats.
"Although it's still early in the review process, it does look as though XP XML has been so seriously crippled as to be useless to anyone but the big content management and collaboration system providers," Edwards said. "Reports are that when saving to XML, [Office 2003] strips out the presentation and formatting information, leaving near raw content. It appears, at least from the non-enterprise systems user's perspective, that all the really cool collaborative advantages are based on saving files in the XP proprietary format. Which means that "all" the users in the collaborative effort must be on the XP platform, using XP Office, connecting through XP servers. What kind of universal connectivity and exchange is that? XP users won't even be able to collaborate equally with the 200 million Win9x users. Not unless they upgrade."
And why exactly is this a surprise? Regardless of what you think of MS vis-a-vis anti-trust - if you had the hold on the Office market that they have, what would possess you to make it easier on competing (and free) tools?
Share
smalltalk
March 13, 2003 12:32:09.549
Eliot Miranda recently spoke at Stanford - a video feed of his talk is available. Check it out!
Share
itNews
March 13, 2003 10:53:25.362
I have to give a lot of credit to Scott Johnson for his work on the Roogle RSS Search Engine. There have been a lot of comments on this tool, but this one
Here's a homework project. Go to the RSS Search engine. Now go to Google. Search for these words: "InfoPath" and "OneNote." What do you notice? I like the quality of the RSS results a LOT better
I think I understand why Google bought Pyra better now. Try doing a search for Smalltalk in both places as well - for fairly obvious reasons, I like the results better ;-)
Share
general
March 13, 2003 10:47:20.823
Getting the replay tv hooked into the various a/v components was the usual holler fest - my wife and I reduced to jello before we got things working in something resembling the way we wanted. The stumbling block was audio going out of the TV. Instead of having to set the Receiver, VCR, and TV on separate inputs, we wanted to have the TV pumping audio back out from whatever it was tuned to.
This was harder than any reasonable person would want
The nicely labeled Audio out always took out whatever was coming in from the antenna/cable feed - regardless of what input it was tuned to. Arghhh! We had to shudder open the manual.
Sidebar - how is it that Sony has such brilliant folks building hardware, and then hires people with a minimal grasp of English to write the manuals? Would it be too much to ask to get an understandable manual?
Anyway, back to hell. The manual claimed that we could get what we wanted by plugging the jacks into the Audio out "var/fixed" plugs on the back of the TV. That was obvious (not).... and it didn't work, at least not right off. The "var/fixed" referred to the volume being pumped by the TV. For reasons not at all clear to me or my wife, setting it to "variable" on the TV silenced the audio output, while setting it to "fixed" gave us audio - but controllable only by the receiver's remote, and not the TV's remote. That led to some swearing. The TV and the receiver are the same frelling brand!
So this morning, I'm reading Ellen Goodman's column, since Instapundit referenced it. Now, I'm no luddite - I have a 100 Mbit house (wired) LAN, and an 11 Mbit wireless house LAN, two replays, and a number of computers on the LAN. But heck, there was a lot of common sense in that article. A lot of the electronics are getting too complex - maybe audiophiles understand it all, but I sure don't. My Living Room Receiver seems to constantly forget whether the CD input is analog or digital, and the readout on the blasted thing requires me to lie on the floor to read it!
There's a market opportunity for some vendor that makes a sharp break with current component plugs, and goes to something simpler, like a USB based interface whereby the receiver figures out what it's got plugged into it when it powers up. The current ugly proliferation of remotes and oddball cables can't be making anyone happy
Share
education
March 13, 2003 10:22:38.019
I've learned at least as much this time around as the kids I've been working with. This looks like a good place to start next time around. Today, I'm going to use the EToys demo that is in Squeak, and then next week, try to come in with a new one. When I teach this class in the spring, this is the way I'm going to go about it.
Share
BottomFeeder
March 13, 2003 1:32:25.640
According to this post, BottomFeeder is in the same ballpark as Radio, and a fair bit smaller than Syndirella. Bf weighs in at 36MB of RAM on my machine, with the contents of 100 feeds sitting in memory.
Share
general
March 13, 2003 0:01:27.313
The 80 hour replay is back and set up, with the new 51" widescreen TV. We are busy configuring it now. My wife's first word's when we got it back:
"My Preciousssssss"
Share
development
March 12, 2003 16:14:40.415
Here's an interesting piece that I found on Lambda the Ultimate - hat tip to Michael Lucas-Smith for pointing it out to me. Here's an interesting quote:
In my (limited) experience, nobody at a university has any clue as to what OOP really is about. In one "advanced" Java class, the professor once said that he had never been able to find a purpose for inheritance and that it would be best not to use it
Wow. And one of the stated reasons for going with Java is that the students come out of college already knowing it. Hmmm. Based on this, there's a reason for not using Java. And this is consistent with my interactions with Java people who did not start out in Smalltalk - there is very, very little understanding of OO principles. Not that inheritance can't be done badly; it quite often is, and deep inheritance trees are typically a danger sign. But look at that comment above - no discussion of pros/cons, no explanation as to why using composition is often better (see class List in VisualWorks, for instance) - just a flat No.
Take a look at this comment further down in the Lambda thread
I was about to make a snide comment along the lines of "How would you write a GUI toolkit in Java without using inheritance? Without subclassing you would need to add a hook interface for every imaginable behaviour of every component!"
Then I started to remember how Swing is written :-)
Later on in the thread we find this piece of brilliance:
Inheritance is the key to separation of interface and implementation, and hence polymorphism, in a statically typed OO language. This is perhaps the primary facet which separates languages like Java from "object-based" languages like VB.
Frankly, I don't know how projects of any significant size are accomplished using dynamically-typed languages, with their lack of interface inheritance
Translation: I've never worked in a dynamic language, so it can't possibly work. You have to love these people. This seems to be the pattern of learning going on in Java and C# - We know nothing about these other technologies, so they must be bad. Richard Gabriel had it about right in Worse is Better.
The more things change....
Share
BottomFeeder
March 12, 2003 12:48:16.837
I've uploaded a new BottomFeeder parcel - the upgrade manager should pick it up. I am also pushing up an entire new build, so that anyone grabbing the gzip files should immediately have the latest stuff.
The timezone code should now work on Mac OS X, thanks to the Heeg folks.
Share
smalltalk
March 12, 2003 11:11:44.290
Share
development
March 12, 2003 10:24:57.188
Simon Willison writes:
Blogs I would read a lot more often if only they pinged weblogs.com when they updated.....
Without pings, they languish at the bottom of my blogroll where I won't notice or visit them. My blogroll is my only mechanism for keeping track of the blogs that I read regularly - aggregators just don't do it for me, and with tabbed browsing my blogroll is almost as efficient for staying up to date.
Personally I don't check there - I use BottomFeeder to aggregate. My peeve is the lack of a good RSS Feed. Still, I took this point to heart - my habits aren't everyone's - and updated the blog to ping weblogs.com after each update. I'll have to look at blo.gs and see about pinging it as well....
Share
development
March 12, 2003 9:39:48.287
Linux Today writes on Buffer Overflows:
"Buffer overflow problems always have been associated with security vulnerabilities. In the past, lots of security breaches have occurred due to buffer overflow. This article attempts to explain what buffer overflow is, how it can be exploited and what countermeasures can be taken to avoid it.
"Knowledge of C or any other high level language is essential to this discussion. Basic knowledge of process memory layout is useful, but not necessary. Also, all the discussions are based on Linux running on x86 platform. The basic concepts of buffer overflow, however, are the same no matter what platform and operating system is used..."
Here's a hot tip - use a better language. Those of use using better tools (Smalltalk, anyone?) don't have this problem. So long as developers choose to create tools in primitive languages, problems like this will persist. Time to leave the sharp sticks and pointy rocks behind guys.
Share
smalltalk
March 12, 2003 9:34:16.771
Croquet got noticed by slashdot this morning. The common misinterpretations are already running amok - it's slow, it's interpreted, yada yada.
Cool to see Smalltalk get noticed though.
Share
itNews
March 12, 2003 9:15:19.269
Lots of people have been talking about this McDonalds WiFi experiement. Apparently, they are going to put in access points in a few cities, and offer an hour of free access if you buy a value meal.
I'm sure business travelers will like this; I would have loved such a thing when I was traveling more often. Still, McDonald's is not my ideal for hanging out and surfing. Starbucks seems much nicer, and has lots more power outlets. Not enough seating though. McDonalds, if they want this to work out, is going to have to install more access to power.
What I'd really like to see is places like Borders or Barnes and Noble doing this - they have comfortable seating, books, and coffee - just about perfect for this kind of niche. Unlike McDonalds - which mostly wants to shepard people in and out - those outfits are encouraging people to linger. What better way to do that than to offer WiFi?
Share
BottomFeeder
March 11, 2003 23:57:29.048
I had someone complain about the fact that BottomFeeder always launched a new browser in Linux. I had no idea how to go about reusing an existing browser - but there were helpfule folks on the IRC channel, (thanks pete!) who lent a hand.
So now, in the latest dev build, you can launch a page from Bf and have it reuse an existing browser - so long as it's Netscape or Mozilla.
Share
development
March 11, 2003 19:36:51.465
Next time someone says that Java is the answer, have them read this. Then show them your development cycle in Smalltalk.
No, I haven't finished laughing quite yet:
Interesting thread at TSS about 'edit/compile/debug/startup cycle for people on various J2EE projects'.
I'm pretty much sure that any VS.Net user will laugh at us seeing all these wasted minutes and seconds on silly compile/deploy cycles. Ant and Maven are a solution to a problem: treating software development like a factory line consisting of many steps which can be automated. The problem is with all these steps and complexity of each step we end up struggling with a giant slow build process.
The solutions offered look awfully complex to this Smalltalker...
Share
development
March 11, 2003 15:00:46.276
Matt Croyden spotted something interesting:
Here's the MSDN article. I'm not sure if the final version of Office 2003 will be as ugly as these screenshots, but I hope not. It looks like the Easter Bunny got in a fight with Office 2003 and Office 2003 lost.
Seems you can integrate things like Google's web services (just like I did in BottomFeeder - the picture is amusing.
Share
cst
March 11, 2003 13:44:48.657
Have a look here for the up to date roadmap presentation.
Share
cst
March 11, 2003 12:49:11.884
Share
BottomFeeder
March 11, 2003 11:54:49.321
I've got new BottomFeeder parcels posted. The new stuff uses some code from Holger to set the TimeZone and local time at startup. It doesn't work yet on the Mac; hopefully someone with a Mac will get that working.
Share
blog
March 11, 2003 9:55:26.367
I had a few issues with my pingback and weblog ping code, which are now sorted out. The problem was all on my end; improper use of the XML-RPC library. An update just showed up on weblogs.com, so it looks like it works now.
Share
law
March 11, 2003 8:24:20.327
Share
itNews
March 11, 2003 8:20:07.678
The Fuzzy Blog writes on vendor/consultant squeezing in the IT sector, and how it's going to hurt:
From the Wall Street Journal:
Mr. Kheradpir Puts the Squeeze on Tech
For clues to the tech sector's failure to revive sagging sales, pay a visit to Shaygan Kheradpir. Verizon's chief information officer relentlessly pushes his charges to get more out of less equipment, an attitude that spells gloom for tech giants.
The article is excellent and a wake up call I suspect for a lot of us. This is very similar to what I wrote recently about all vendors getting squeezed in the down economy
this is not surprising to me. I've been saying that the outsourcing trend is nothing new either - it went through manufacturing like a scythe as back when I was in high school (anyone remember the movie "Mr. Mom"?)
What's new is things like outsourcing and cost cutting hitting IT. In a very real sense, it's a sign that the industry is growing up - customers are starting to hold us accountable. This also went through manufacturing - see this story on GM and GE cost cutting around suppliers.
Share
development
March 11, 2003 8:12:17.998
John Lam makes some interesting observations about test-first as it relates to GUI development:
I've been spending a fair amount of time recently writing GUI rendering code. I've also been spending a fair amount of time recently grappling with unfamiliar API's. These experiences have revealed two areas where test-first development doesn't quite work:
- GUI rendering code where "correctness" is determined by how something must look
- Early stage implementation where interface churn is the norm
The first case encompasses virtually all of GUI development, regardless of whether your GUI is an HTML page or a traditional Windows application. In these cases, whether or not something is "correct" depends on how an object appears. Unfortunately, there are usually several different ways to render the object, all of which yield correct results. Furthermore, it's really hard to determine how an object is rendered programmatically, whereas it is usually quite simple for a human to determine if an object looks "correct".
Yeah, I can definitely see that. A lot of the GUI is subjective rather objective. A test can tell you conclusively whether or not a transaction happened - it can't tell you whether the foreground and background colors are frelled. Ultimately, you're going to have to do some human factors work.
Share
development
March 11, 2003 1:07:09.030
Gordon Weaklien writes:
Jon Udell is right. The problem with writing for the web isn't that there are no editors, the problem is that your editors speak up only after you've stuck your foot in your mouth, as I just did when I labeled scope and polymorphism as design patterns
Yep. The Test comes first, then the lesson....
Share
development
March 10, 2003 23:53:29.230
The talk went pretty well - I didn't get to meet Matt Croyden, local blogger - maybe next time. The presentation was fairly well received, and generated a good conversation - lots of good points and questions. The upshot of the conversation seemed to be that there are cultures surrounding the various programming camps, and that the culture surrounding Smalltalk encourages frequent testing - more so than the C language family. IMHO, this is due to the fact that in C , Java, C# (et. al.), you spend a fair bit of time just trying to make the compiler happy - a situation that simply does not come up in Smalltalk. All by itself, that explains a lot of the differences.
I think I got most of my points across, and had a good exchange of ideas with the group.
I handed out a few NC CD's - I should have had more. Of course, people can always follow the download links. Afterwards, we headed out to a local watering hole for some more conversation. All in all, it was a very pleasant time.
Share
blog
March 10, 2003 15:56:28.485
and it'll stay light until after the XpDc meeting. I'll be bringing VW NC CD's along as well. I had a bunch of errands to run this afternoon, and spent this morning pondering poorly formed XML. Some people apparently think that any old HTML tag can just be slapped right into their RSS feeds....
Share
blog
March 10, 2003 15:56:20.176
and it'll stay light until after the XpDc meeting. I'll be bringing VW NC CD's along as well. I had a bunch of errands to run this afternoon, and spent this morning pondering poorly formed XML. Some people apparently think that any old HTML tag can just be slapped right into their RSS feeds....
Share
BottomFeeder
March 10, 2003 12:18:37.934
There were a few more updating issues with the new HTTP code, which I think I've addressed. In the process, I ran across some oddball XML parsing barfs; there are a handful of feeds I follow that currently have bad XML - unclosed HTML tags, invalid characters. The landscape for well formed XML isn't getting any better...
Share
BottomFeeder
March 9, 2003 23:40:00.234
I'm uploading a new dev build. I've also slapped up the new parcels for the upgrade manager. It seems that in the transition to the new HTTP access I split out, I broke the handling of gzip decoding. That's now handled.
Share
xp
March 9, 2003 14:11:36.663
Share
xp
March 9, 2003 14:11:36.663
Share
BottomFeeder
March 9, 2003 14:03:01.538
Share
itNews
March 9, 2003 13:11:51.145
Sun wasted no time making hay from the SCO lawsuit:
"Sun is waisting no time taking advantage of the SCO lawsuit against IBM. They are making statements trying to play up Solaris as a safe harbor for worried Linux and IBM users. John Loiacono, VP of Sun's operating platforms group, "For people looking at the issues at hand, we are a safe harbor. We have absolute rights to our technology ... We're changing our strategy around Linux (but) we're pausing because we're trying to figure out what the implications of this are going to be". So, this begs the questions... What are the short term implications for the new Linux based desktop we've been hearing about from our fair weather friends? How will the SCO lawsuit affect Sun's long term strategy with Linux and Open Source?"
So how does this all play out? The smart thinking seems to be that SCO wants to be bought. In the meantime, it could make for some entertaining industry watching from the cheap seats....
Share
development
March 9, 2003 8:15:44.650
Share
BottomFeeder
March 9, 2003 1:46:08.290
After this post, I had it pointed out to me that mailto: links in BottomFeeder (and Twoflower) did not work. They do now. On Windows, the mail tool associated with mailto: links will be spun up. On other platforms, a mail window will open, allowing the user to send mail to the recipient specified in the link.
Share
java
March 8, 2003 15:40:50.517
This is an interesting post. apparently, the way Java installs, the JVM optimized for client usage (rather than server) is the default:
Amazing, then, isn't it, that most default installations of Java-based (as opposed to native-code implementations) J2EE containers don't make use of the VM tuned specifically for long-running server operations?
...
To fix this, if you can get at the command-line used to invoke the JVM, add the "-server" option into the command line parameters. If this is somehow hidden away from you, simply rearrange the options found in the jvm.cfg file in the JDK to list the "server" option first. Bear in mind, however, the comment at the top of the jvm.cfg file: this file format is subject to change and may use a different mechanism sometime in the future. (Case in point: the JDK 1.3 mechanism didn't make use of the keywords following each entry-KNOWN, ALIAS, and so forth.) Future J2SDK releases may change this mechanism, so be prepared to do a little spelunking when J2SDK 1.5 is released.
Now sure, it's easy enough to deploy VW servers badly - deploy an image without mucking about in MemoryPolicy and ObjectMemory, and you'll eventually get bitten. I guess what I'm curious about is, how many people even know about these sorts of server tuning, without regard to development tools?
Share
BottomFeeder
March 8, 2003 15:34:51.207
Share
cst
March 8, 2003 15:18:03.714
Share
java
March 8, 2003 13:24:32.338
So some folks in Java land are figuring out that versioning issues might require shipping a custom runtime:
Ted has a post detailing how to use a private JRE install for a java based app to side step versioning issues. This is great stuff, I used Ted's earlier white paper on the subject to do a private JVM on a current project. If you're a Java guy you need to be reading Ted's blog.
While I understand what the motivation is, doesn't this minimize the "it's standard, it's everywhere!" argument for Java? I can build faster in Smalltalk, and ship a custom runtime (smaller as well). So where's the advantage?
Share
development
March 8, 2003 13:11:09.932
After the refactoring I did, testing continued to show regressions here and there. Not a big surprise. I think I've got all of them fixed though; testing hasn't turned up any new problems.
The bottom line is, I think the 2.8 BottomFeeder release looks good for synching up with the VW 7.1 release. When VW goes gold, I'll package a new image, and push Bf. The objective now is to not have to do a new base image build after that until VW 7.2 ships.
Share
cst
March 7, 2003 15:09:10.901
There will be some new goodies shipping with 7.1:
I've slapped together a brief "How-To" on the blog as well, which should ship on the CD. It's not full doc by any stretch of the imagination, but it should be enough to get interested parties going.
Share
itNews
March 7, 2003 11:22:25.643
Here's an interesting article:
Here's what it isn't:
- The Internet isn't complicated
- The Internet isn't a thing. It's an agreement.
- The Internet is stupid.
- Adding value to the Internet lowers its value.
- All the Internet's value grows on its edges.
- Money moves to the suburbs.
- The end of the world? Nah, the world of ends.
- The Internet's three virtues:
- No one owns it
- Everyone can use it
- Anyone can improve it
- If the Internet is so simple, why have so many been so boneheaded about it?
- Some mistakes we can stop making already
and here's what it is:
All we need to do is pay attention to what the Internet really is. It's not hard. The Net isn't rocket science. It isn't even 6th grade science fair, when you get right down to it. We can end the tragedy of Repetitive Mistake Syndrome in our lifetimes - and save a few trillion dollars worth of dumb decisions - if we can just remember one simple fact: the Net is a world of ends. You're at one end, and everybody and everything else are at the other ends.
Go read the whole article - there's a lot more
Share
development
March 7, 2003 11:14:18.461
I finally decided that the Http access code in BottomFeeder was too spread out and hard to understand. So with the aid of the RB, I refactored it. I already had an HttpClientModel class I had built awhile ago to centralize such access, but I had not been using it. This morning I changed that - I was able to get rid of bunches of duplicated code, and shove all the app's requests through a simple API. Made it a lot easier to toggle between straight requests and conditional-gets. The nice part is, it made the Http access work better - the duplicated code was slightly different in variosu places, and now it's all far easier to work with.
Share
BottomFeeder
March 7, 2003 0:32:39.385
I'm pushing new base builds again, since a new VW 7.1 build came out. Again, this will stop happening once 7.1 ships. In the meantime, download the latest dev builds here.
They should be done uploading in about 2 hours.
Share
general
March 6, 2003 19:12:05.942
Share
development
March 6, 2003 14:47:27.592
Sam Gentile raves about C# - this link in particular.
Ho hum. Nothing VW hasn't had since 5i.3, and we have FTP support as well. The world turns, and the C family of developers continues to re-invent wheels we already have....
Share
smalltalk
March 6, 2003 13:05:28.304
Some questions and commentary on CampST at ST Solutions, from the Camp ST mailing list:
Ralph Johnson
ST Solutions will be in Toronto July 14-16. I assume that many of us are
going. So, my question is what kind of presence Camp Smalltalk wants to
have. In my opinion, our presence should be mostly to advertise our
projects, and we should not try to get any work done. Do people agree with
this? Who is planning to go? Would you be willing to help present some of
our projects?
Jon Hylands:
Since I live in Burlington (west of Toronto), I will be there. I'll
be presenting my AUV again as a demo, but other than that I have
no real plans, other than to hang out at Camp Smalltalk like usual.
Alan Knight
Also, I wonder if it might be interesting to also have some more formal activities related to Camp Smalltalk. For example, it might be interesting to give talks on some projects, rather than just the usual informal sessions in the Camp Smalltalk area. Or it might be worthwhile having a scheduled session explaining what Camp Smalltalk is, for those unfamiliar. A panel discussion about open source in general, and the Camp Smalltalk efforts in particular, might be an interesting event. If anyone has ideas, or is willing to do something, please let me or one of the other program committee members know
Share
BottomFeeder
March 6, 2003 12:04:19.609
A seldom used feature of RSS is the textinput tag. BottomFeeder seems to be one of the few aggregators that actually do anything with it. We do one of two things:
- If the title element contains the (case insensitive) text 'comment', then we treat the feedback as being appropriate for the feed items, and assume that appropriate information will be found in the item GUID. In this case, we enable feedback when items are selected
- In the absence of that text, we assume it's a feed level thing, and construct a query that will display results in the html pane
So how do do the two things? For item feedback, we construct a POST, with the contents set to an uRL Encoded form - with these elements:
- title - set to some text that identifies the following text as a comment
- name - this key is actually whatever came in the name element, with the value set to the description text (from the displayed text field)
- username - I added an input field allowing the user to type in a name, defaults to 'anonymous'
- itemID - I grab the GUID that was set, and the back end should be able to identify which post the comment goes to based on the GUID
So the contents might look like this, with the type being POST, set to 'application/x-www-form-urlencoded' charset: 'utf-8':
title='Comment'&username=anonymous&itemTitle=RSS Item=Title here&itemID=guid
My back end - a blog - picks that up and adds the comment. What if it's not seen as item level? Then we construct a GET that looks like this:
http://www.theURLHere.com?query=blah
where 'query' is whatever they sent in the name element, and 'blah' is the text the user entered. The results of the query are then displayed in the html pane.
All pretty easy to add!
Share
xp
March 6, 2003 2:07:45.194
I'm giving a talk on XP in Smalltalk at the XP DC Group on March 10:
The eXtreme Programming Users Group of Washington DC (XpWdc) will be
meeting on Monday March 10, 7-9 PM at the Yorktown High School in
Arlington VA.
Who: Everyone interested in XP, regardless of experience level,
is welcome to come and can benefit from attending. Customers
especially are encouraged to attend.
Where: Yorktown High School
Room 1B
5201 N. 28th Street
Arlington, VA
Directions can be obtained on the YHSLUG website
It would also be interesting if Mr Robertson has a time to write a
summary of what he will be discussing.
And here are the slides I'll be presenting
Share
xp
March 6, 2003 2:07:45.194
I'm giving a talk on XP in Smalltalk at the XP DC Group on March 10:
The eXtreme Programming Users Group of Washington DC (XpWdc) will be
meeting on Monday March 10, 7-9 PM at the Yorktown High School in
Arlington VA.
Who: Everyone interested in XP, regardless of experience level,
is welcome to come and can benefit from attending. Customers
especially are encouraged to attend.
Where: Yorktown High School
Room 1B
5201 N. 28th Street
Arlington, VA
Directions can be obtained on the YHSLUG website
It would also be interesting if Mr Robertson has a time to write a
summary of what he will be discussing.
And here are the slides I'll be presenting
Share
development
March 6, 2003 0:24:22.709
So there's an NUnit for .NET. I'm reading Gordon's Weakliem's comments:
I recently had to add a method (message?) to a web service and I took a test driven approach, though somewhat modified. In my case, I defined the WSDL interface, generated my server code, and then stub it out enough to compile, and then built my tests. One thing that I took from the experience is that it requires a great deal of discipline to break old habits (not my strength), that writing good tests is hard, and that using a Mock Object strategy really adds a lot of development overhead. But then, so does fixing bugs.
There's that Mock Object thing again. Yet another reason that Test-First is better in Smalltalk
- Write the test - it fails, because you have no objects yet
- Start writing code
- Test until you get all green
Note the lack of the Mock Object step. You might need Sham Objects - real objects with faux data, but that's another story.
Share
development
March 6, 2003 0:16:12.325
Share
development
March 6, 2003 0:09:39.232
Now, a .NET demo.
Website on his home server for picture display (and why you wouldn't just use static HTML for this?). Thumbnail pictures and main display.
ASP.NET developer studio is an IE driven project page thing. Slow. Slow.... We watch while his demo fails on a DNS lookup failure on 'localhost'....
Oh.My.God. It generates a veritable blizzard of asp code on the page. The page is just filled with C#.
Ok gang, let me tell you that compared to the VW way of doing this - I am completely unimpressed. I'll take DreamWeaver and the Refactoring Browser any day.
Share
development
March 6, 2003 0:09:33.533
Key elements - all that stuff from my other post.
Design Goals
- Consistent OO programming environment
- Code execution environment with versioning
- Code safety features (signing)
- Eliminates performance problems of scripted/interpreted environments
- Consistent developer experience
Types of Apps
Same as ever - console, GUI, scripted, web, Mobile
Theoretically portable. They have an implementation on Sparc (surprise!)
Framework classes - similar to the Java diagram....
".NET is about services" - plug and play architecture is what they tout here.
runtime system diagram looks a lot like the Java one.
Good thing!! - Smalltalk shows up on the list of supported languages!
All communications based on industry standards (Web Services)
Touting the versioning system heavily. I'll note that you ought to look here for a comment on that from a developer in the field:
Source: ShowUsYour-Blog!
I am the Framework. I run managed code. I am without flaw. (repost)
Had an interesting experience today; a friend sent me an assembly and asked me to check it out. I referenced the assembly in my application and starting writing some elite code that consumed it. Project compiled fine but when I executed the app. it blew up and complained that assemblies couldn't be found - System.Xml in particular.
Welcome to SxS ( side by side execution ). What my friend had failed to tell me is that his assembly was built on Version 1.1 of the framework and I only have Version 1.0 installed!
Thankfully this fine article - http://www.3leaf.com/default/articles/ea/SBS.aspx - told me how to rectify the problem by adjusting my configuration settings to map to the V1.0 assemblies.
So it's not as seamless as the consultants would have you believe, it seems....
ASP.NET - server side object model for the page - sounds a bit like VisualWave or AidaWeb. More like AidaWeb, to be honest. ASP.NET can be done in any .NET language. Session support, browser detection/support. Yeah, sounds a lot like AidaWeb to me.
Multi-platform .NET - MONO
For Linux and Sparc, plus Windows (for Apache)
Includes C# and VB.NET compilers (certified)
Supports lots of database vendors
Complete language binding to GTK
Note what this means - .NET from MS does not support using ASP.NET on Apache (etc). Have to use IIS. So much for real portability.....
So - who's using it? Early Adopters and Microsoft. My take on this - it's the next silver bullet for all the IT shops that most recently jumped on Java and J2EE. Pitfalls - MS (not known for Enterprise support). Also, optimized more for SQL Server than other databases (surprise).
The consultants recommendation - get your toe in the water, build departmental apps - don't bet your business on it yet.
Claim - C# is a big leap forward from Java. I asked "how?" The answer - distribution (library) more keywords (a bad thing). i.e., SOSDD. These guys totally confuse "the language" and "the platform".
Share
development
March 6, 2003 0:09:29.222
Cool Stuff, as they say
DataSets (part of ADO). in memory databases (Prevlayer?). native format is XML. XPath querying, not SQL. This will be confusing.... Can be connected to a data adaptor for movement in/out of an RDBMS.
What about O/R mapping? Use XSLT to swizzle the data from XML to db or vice versa. I seem to recall an article on how hard XSLT is recently. Tag line - This is the modern way of doing O/R mapping (insert restrained laughter on my part here....)
C#
Semantic support for all CLR stuff
Singleton support
Single and multi-cast call backs via Delegates
Lots and Lots of keywords (they think this is a good thing....
Lots and lots of method modifiers. "Architects will control this"
Overrides are possible, but has lots of rules....
Lots of fun here for the architects. XP will not be native here....
Remoting
Replaces DCOM with Web Services (UDDI, WSDL, SOAP).
Tag line -"Allows completely transparent factoring of business logic across tiers" ROFL - where have I heard that before....
BizTalk
The commercial thing to bring order to this. MS answer to WebLogic, et. al.
This one is not free.
Share
development
March 6, 2003 0:09:25.363
This is going to be a stream of consciousness thing - I'm taking notes as the talk proceeds. So on with it!
What is .NET?
A whole "platform" for Enterprise Systems
Not just Web Services
Gigantic, "State of art"
- Security
- Distributed Computing
- XML Standards
- Versioning (of libs)
.NET Platform
(From the Bottom)
- Common Type Specification (CTS)
- Intermediate Language (IL - Byte Code)
- Common Language Specification (CLS)
- .NET Extended Class Libraries (across all supported languages)
- .NET Base Libraries (across all supported languages)
- Common Language Runtime (CLR)
"Any language" (in practice, 3) - and, there's the fact that there are whatever limits MS imposed (type system, etc).
Base Class libraries provide all the framework classes for common stuff, including reflection, OS stuff, COM interop - etc. No CORBA support built in.
IL - it's compiled (JIT). IL sits on the CTS and is "language neutral"
editor sidebar - but what about dynamic languages? Dave Simmons has posted extensively on the difficulty he has had. Even C has issues - but can run as an Unmanaged application.
Question - what about unmanaged - what's the penalty? No GC, resource management, etc. If you run unmanaged, you don't live with that. Note - this is a good thing for Smalltalk, in my opinion....
Learning Curve - How long? They say "a couple of weeks". Mind you, it's effectively an OS unto itself.
Compiling and running - compile code to an assembly. Assembly gets loaded (with platform rules (security, memory checks, etc). Application Domain created, then OS process. All managed apps are garbage collected.
Deploying - Assemblies are deployable units of software. Similar to parcels in VW, but with a lot of extra stuff - security (could be certificate based), dependencies, version identification (can deploy multiple versions to same platform - that's a cool feature. Deployment consists of copying the assembly out - like Parcels.
GUI stuff - Windows Forms stuff has not been ported. Only the web stuff really has (to different operating systems, that is). They seemed to think this is next to impossible....
A CLR will run all .NET programs in a single OS process (for performance purposes). There are Application Domains to separate things. There is a remoting infrastructure to allow splitting across multiple CLR sharing. NOTE - This is pretty much what VW does....
CLR Security
Customizable, granular permissions. Role based, based on ID of the process. Also code level security based on the trustworthiness of the code itself (certificates).
Question - this sounds complex. Are there tools to help? Yes, there are admin tools for this. The security stuff can be turned on or off; there's overhead for this.
Question - NSA has not blessed .NET? Amusing, because NSA does not constrain itself that way.... (question from a Navy developer).
More questions on security - why is it in the .NET platform, instead of the OS? Answer? The CLR is the new operating system....
More security - enforcement can be as granular as the method level. Assemblies can be signed (certificates).
Editor sidebar - can't this get to be a complete nightmare if/when assemblies come from multiple sources with various certificates? i.e., a vibrant third party market... Recall that MS told people not to trust their own certicates last year after a security breach....
Share