development

How the C world holds development back

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 Tweet This

BottomFeeder

New BottomFeeder code

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 Tweet This

smalltalk

Croquet - more info

March 12, 2003 11:11:44.290

Now that slashdot has noticed Smalltalk, maybe there's some interest. This year's Smalltalk Solutions show has a keynote by one of the Croquet developers. Come hear David Smith tell you what it's all about!

 Share Tweet This

development

Pinging weblogs.com - blog updates

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 Tweet This

development

Buffer Overflows - how to avoid them

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 Tweet This

smalltalk

Smalltalk gets slashdotted

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 Tweet This

itNews

Fries and WiFi?

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 Tweet This

BottomFeeder

New BottomFeeder capabilities

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 Tweet This

development

How the other 90 percent suffers

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 Tweet This

development

Looks like MS is serious about the XML integration

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 Tweet This

cst

Updated Cincom Smalltalk Product Roadmap

March 11, 2003 13:44:48.657

Have a look here for the up to date roadmap presentation.

 Share Tweet This

cst

Cincom Smalltalk and .NET - Technology White Paper

March 11, 2003 12:49:11.884

The .NET White Paper has been updated - mostly some wordsmithing from the marketing folks. Have a look, and send feedback to me

 Share Tweet This

BottomFeeder

New BottomFeeder parcels up

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 Tweet This

blog

Pingback and weblog pings now working

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 Tweet This

law

Yet another over the top software patent:

March 11, 2003 8:24:20.327

Aspect Oriented programming - the approach, not a particular implementation - has been patented. Spotted on Ted Neward's blog, who in turn reported it from here.

Sigh

 Share Tweet This

itNews

Deja Vu all over again in IT

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 Tweet This

development

Test-First and GUI 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:

  1. GUI rendering code where "correctness" is determined by how something must look
  2. 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 Tweet This

development

I know how this feels...

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 Tweet This

development

The talk at XpDc

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 Tweet This

blog

Light posting today

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 Tweet This

blog

Light posting today

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 Tweet This

BottomFeeder

fixing more HTTP issues in Bf

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 Tweet This

BottomFeeder

New BottomFeeder 2.8 dev build up

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 Tweet This

xp

XP in DC tomorrow night

March 9, 2003 14:11:36.663

Just a reminder that I will be speaking at the XP DC Group tomorrow night. Follow the link for details.

 Share Tweet This

xp

XP in DC tomorrow night

March 9, 2003 14:11:36.663

Just a reminder that I will be speaking at the XP DC Group tomorrow night. Follow the link for details.

 Share Tweet This

BottomFeeder

Upcoming Attractions

March 9, 2003 14:03:01.538

If you would like to see what's coming in the 2.8 release of BottomFeeder, then have a look at the User's Guide for 2.8.

Kudos to Rich Demers for this excellent work!

 Share Tweet This

itNews

Sun to Linux - Drop dead, please....

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 Tweet This

development

An RSS Search Engine

March 9, 2003 8:15:44.650

This looks interesting - an RSS search engine, playfully called Roogle. It's only just been put up, but it's an early sign of what Google will likely do with their purchase of Pyra

 Share Tweet This

BottomFeeder

mailto: now works in 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 Tweet This

java

So how many Java servers run the "wrong" JVM?

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 Tweet This

BottomFeeder

New Btf screen shot up

March 8, 2003 15:34:51.207

I've posted a new screen shot of BottomFeeder. It occurred to me that the old shot was getting long in the tooth....

 Share Tweet This

cst

The Cincom Smalltalk .NET story

March 8, 2003 15:18:03.714

We have a draft white paper out on Cincom Smalltalk and Microsoft's .NET platform. Jave a look, and send feedback to me.

 Share Tweet This

java

Private JRE's - what a concept

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 Tweet This

development

With refactoring, the regressions...

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 Tweet This

cst

goodies with 7.1

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 Tweet This

itNews

What the internet is - and isn't

March 7, 2003 11:22:25.643

Here's an interesting article:

Here's what it isn't:

  1. The Internet isn't complicated
  2. The Internet isn't a thing. It's an agreement.
  3. The Internet is stupid.
  4. Adding value to the Internet lowers its value.
  5. All the Internet's value grows on its edges.
  6. Money moves to the suburbs.
  7. The end of the world? Nah, the world of ends.
  8. The Internet's three virtues:
    • No one owns it
    • Everyone can use it
    • Anyone can improve it
  9. If the Internet is so simple, why have so many been so boneheaded about it?
  10. 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 Tweet This

development

Refactoring for fun and profit

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 Tweet This

BottomFeeder

New BottomFeeder base builds up

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 Tweet This

general

Polemicism and all that...

March 6, 2003 19:12:05.942

I have a tendency to rant first and ask questions later. However, the comment chain on the referenced post was both civil and interesting. Have a look also at Sam's related post on his blog.

 Share Tweet This

development

Land of Low expectations...

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 Tweet This

smalltalk

Camp ST at Smalltalk Solutions

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 Tweet This

BottomFeeder

Text input searches now work in Bf

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:

  1. 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
  2. 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 Tweet This

xp

XP DC Talk

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 Tweet This

xp

XP DC Talk

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 Tweet This

development

Test-First and .NET?

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

  1. Write the test - it fails, because you have no objects yet
  2. Start writing code
  3. 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 Tweet This

development

my WOAD .NET Notes

March 6, 2003 0:16:12.325

 Share Tweet This

development

.NET Demo

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 Tweet This

development

The "real" .NET

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 Tweet This

development

.NET - "Cool things"?

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 Tweet This

development

.NET Overview at WOAD

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 Tweet This

development

WOAD meeting again

March 5, 2003 17:10:12.837

There's another WOAD meeting tonight (Washington Object-Oriented Architecture and Design). Tonight, they have two people talking about .NET. I'll be going to see what it's all about. Here's a the meeting info:

WOAD Wednesday 3/5 - .Net Architecture Overview

Whether you love or hate Microsoft, every architect needs to know about .Net . Space WILL be limited to those who RSVP .

WHAT: WOAD

(Washington Object-Oriented Architecture and Design)

WHEN: Wednesday, March 5th, 2003 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: .Net Architecture Overview

SPEAKERS: Dion Hinchcliffe, Thad Scheer & Mike Lastort


Without a doubt the most significant software engineering achievement of calendar year 2002 was the production release of the .NET Platform and its associated development tools. This is a true statement not because .NET belongs to Microsoft; but because it was a slow year in the software industry.

Jokes about Microsoft aside, .NET is colossal and its creation was a tremendous undertaking. .NET brings the industry a new platform, new frameworks, new architecture patterns, new languages, new servers, and new development tools; all integrated and running on multiple operating systems including Linux. If you think it is just Web Services and C# then you have not begun to understand the full extent of the contribution of .NET.

Dissecting this beast is no easy task. .NET is more than a runtime, more than the Microsoft answer to Java, and more than a new way to dynamically generate web pages. .NET is a platform designed from the ground up to support scaleable distributed enterprise architectures. .NET has aggressive security controls burned into the platform and woven throughout its languages and tools. The C# language is more than just a Microsoft-ized implementation of Java. It bakes-in distributed computing, security, design by contract, and enough other things to make Bertrand Meyer (who hates all languages that are not Eiffel) complement the designers and vouch his support for the CLR (he could not quite make himself support C#).

In this WOAD presentation our speakers will introduce the .NET Platform and show its usefulness for enterprise architecture and see why they are certain C# is hands down the best software development language. They will present many interesting new capabilities offered by the platform itself (the CTS & CLR), give an overview of ASP.NET, and then demonstrate its enterprise application architecture capabilities. If for no other reason, come and see how .NET will save the Linux software development industry. Who knows? You might even see us go from a blank screen to a scaleable distributed enterprise application in 10-minutes!!!

About our speakers:

DION HINCHCLIFFE is an independent consultant and mentor specializing in recent advances in software development, architecture and infrastructure technology including .NET, SOAP, COM/DCOM, CORBA, and Enterprise JavaBeans. His specialty is the development, interoperability, deployment, and scalability of these technologies in large enterprise environments. Mr. Hinchcliffe is also a published technical author, is an occasional speaker at software development conferences, and holds various software development certifications. The clients of Mr. Hinchcliffe include T. Rowe Price Investments, where he was chief architect for a several years, as well as Nevada Power Company, National Operator Service, e-centives.com, and most recently GEICO Insurance.

THAD SCHEER runs a premium consulting company (Sphere of Influence) specializing in software architecture and enterprise systems development. He has successfully finished several large projects on-time, building the software to spec and with the best possible engineering. His expertise is with methodologies, process, software engineering, programming, and project management. He is the author of many technical articles, and an occasional lecturer at conferences.

MIKE LASTORT is a software engineering consultant with extensive Windows and web experience, including ASP, ASP.NET, C#, C , and large scale systems integration. He's had a long and varied consulting career; clients have included MICROS Systems Inc where he was principal engineer, Manugistics, the Department of the Treasury, Ruesch International, and is currently consulting for GEICO Insurance.

RSVP:

Put WOAD-RSVP in the subject line.

RSVP by email to cpbell@sysnet.net

Space WILL be limited to those who RSVP

Should be interesting; I'll take notes...

 Share Tweet This

general

I guess I won't just take my wife's word for it...

March 5, 2003 11:45:27.909

There are 9 episodes of 24 left, not one. We didn't catch the very beginning of the season, and assumed it started at middnight to 1 am; apparently not.

Sorry for the bad tip

 Share Tweet This

general

It's Wednesday, so there must be a Buffy update

March 5, 2003 9:26:28.884

I didn't watch Buffy last night - it was a repeat, and I was traveling back home. Still, I think the choice of which episode they chose to repeat was instructive - Joss likes to drop hints, and I think "Selfless" was a hint. A lot like the runup to the end of last season for the gang, I think.

I'd be more specific,. but I was asked to not leave spoilers.

24 was intense again - and there's only one episode left. I think I know how this is going to play out, and it's tracking some of the headlines from a few months ago pretty closely. I'm looking forward to the last episode.

 Share Tweet This

general

RSS Feeds I'd like to see

March 5, 2003 9:20:13.508

I'd really, really like to see an RSS Feed for the Smalltalk Forum on Ezboard. I try to remember to check on the forum regularly - I have it in my favorites list. Trouble is, I'm using the browser to scan favorites less and less. I really, really prefer seeing an RSS Feed....

 Share Tweet This

BottomFeeder

New BottomFeeder base build

March 5, 2003 9:01:19.768

I uploaded a new base build for BottomFeeder last night. I yanked another one of the components we use out of the base image - and now have it loading at startup. That will certainly make it easier to upgrade it. So if you are using the 2.8 dev stream, it's likely a good idea to grab the whole base again.

This should all settle down when 7.1 ships. I'm hoping to not require a new base image after that until the VW 7.2 release time frame.

 Share Tweet This

itNews

fuel cells and laptops?

March 5, 2003 8:58:15.790

There's a fascinating story in the Register today - apparently, Toshiba has been busy getting fuel cells to work as a power source for laptops:

Toshiba's small form factor direct methanol fuel cell (aka DMFC) can operate for five hours, generating between 12W and 20W of power and is electrically compatible with existing Lithium-Ion rechargeable batteries. It's not yet the size of a typical notebook battery, but Tosh is working on it.

The fuel cell generates electricity as a by-product of a chemical reaction involving dilute methanol. Methanol can be produced easily and in vast quantities, so the fuel cell is widely seen as a very inexpensive alternative to batteries. And by generating electricity directly, it's arguably a greener technology too.

They are claiming 5 hours of battery life too. That would be cool, but I seem to recall every new power technology for laptops over the last few years claiming 5 hours. Meanwhile, my effective battery life seems to just get shorter ;-)

 Share Tweet This
-->