Viewing By Month : April 2004 / Main
April 30, 2004
The most fascinating takeaway from Jon Gay's History Of Flash for me was that he write Intellidraw for Aldus. I loved that program - I used to use it for visual design and documentation of software before I settled on OMT (later Booch and even later UML) CASE tools for that purpose. It was an awesome program, revolutionary in its simplicity and in its smartness. It's an interesting read!
I know that you don't expect to find quarterly results very interesting but I really do encourage you to spend a few minutes watching and listening to Rob and Betsey talk about Macromedia's finances and future plans. There's more than good numbers here, there's quite a bit about future strategy and future markets - and future opportunities for both Macromedia and its existing customer base (i.e., you).
It's really kinda trashy but I've become somewhat addicted to Hani's BileBlog. Hani rants about all sorts of subjects but only posts about once a week. However, the rants often have a wonderful grain of truth in them that is really insightful.
Some recent rants have targeted the Slashdot commentary on the Microsoft / Sun settlement, framework developers' obsession with flexibility and, most recently, framework developers' obsession with plugins for their frameworks.
Hani's outrageous sniping draws a lot of comments (not surprising) which are very varied in content (from calm justifications to babbling indignation and often the downright weird) but it's all a good read if you're not easily offended.
I just wish Hani would fix the damned RSS feed so that it worked properly!
Some recent rants have targeted the Slashdot commentary on the Microsoft / Sun settlement, framework developers' obsession with flexibility and, most recently, framework developers' obsession with plugins for their frameworks.
Hani's outrageous sniping draws a lot of comments (not surprising) which are very varied in content (from calm justifications to babbling indignation and often the downright weird) but it's all a good read if you're not easily offended.
I just wish Hani would fix the damned RSS feed so that it worked properly!
Rob Brooks-Bilson blogged this warning about using ColdFusion's in-page debugging when you are storing HTML in variables that the debugging output attempts to display (e.g., through the use of
cfsavecontent). He encountered it with Mach II but it can crop up in other situations too. Daniel Daugherty posted a useful tip as a comment that involves changing classic.cfm (remember: you have full control over CF's debug output!).
April 28, 2004
An interesting thread on BACFUG's mailing list just highlighted an interesting difference between a scope and a struct. Now, we all know that scopes are really structs but they behave like them in so many ways, it's easy to forget. Nolan Erck was trying to pass
To really see why, you need to dig into Java a little bit: for any variable (and many expressions) in ColdFusion you can find out the underlying Java type by calling
This subtle difference doesn't matter when you're passing
form
scope to a web service method that expected a struct. He got an obscure Axis error saying that the argument (form
) could not be serialized. He found that if he duplicated form
scope, it worked. He later found that if he tried to use structCopy()
instead, it didn't work and he got the same serializable error. To really see why, you need to dig into Java a little bit: for any variable (and many expressions) in ColdFusion you can find out the underlying Java type by calling
getClass().getName()
on it: form.getClass().getName()? #form.getClass().getName()#
structNew().getClass().getName()? #structNew().getClass().getName()#
duplicate(form).getClass().getName()?
#duplicate(form).getClass().getName()#
structCopy(form).getClass().getName()?
#structCopy(form).getClass().getName()#
If you run that code, you'll get this output: structNew().getClass().getName()? #structNew().getClass().getName()#
duplicate(form).getClass().getName()?
#duplicate(form).getClass().getName()#
structCopy(form).getClass().getName()?
#structCopy(form).getClass().getName()#
form.getClass().getName()? coldfusion.filter.FormScope
structNew().getClass().getName()? coldfusion.runtime.Struct
duplicate(form).getClass().getName()? coldfusion.runtime.Struct
structCopy(form).getClass().getName()? coldfusion.runtime.LocalScope
We can see from this that structNew().getClass().getName()? coldfusion.runtime.Struct
duplicate(form).getClass().getName()? coldfusion.runtime.Struct
structCopy(form).getClass().getName()? coldfusion.runtime.LocalScope
form
is not a struct even it plays one on TV. We can also see that duplicate(form)
does return a struct but structCopy(form)
does not. This subtle difference doesn't matter when you're passing
form
directly to a function that expects a struct because CFMX understands the magic behind a scope, but when you pass it to a web service, you're relying on Axis to be able to serialize the object... and Axis does not understand the magic.
April 27, 2004
Next Tuesday (May 4th), I'll be down in San Diego for a week's vacation with my wife, timed to coincide with my speaking at the San Diego ColdFusion User Group about Mach II at Macromedia. I think there will be some folks there from Macromedia San Diego as well, talking about RoboDemo and/or RoboHelp so it'll be an information-packed evening. Hope you can make it!
April 26, 2004
As ColdFusion programmers we're constantly being told to embrace Object Oriented Programming and, especially, Object Oriented Design. It's a big shift for a lot of people and the amount of information out there can be quite overwhelming (especially since most of it is written for a non-ColdFusion audience). Along with the drive to OO comes the drive to Design Patterns as "best practice". Now, I'm a big advocate of learning about design patterns and using them where appropriate but it's easy to get distracted by the glamor of design patterns for their own sake...
Alan Richmond shared a link to this wonderfully insane article recently on the Mach II mailing list: Hello World in Patterns. The sheer ingenuity of the author has to be admired in combining so many patterns to create something so complex just to say "Hello World!". That article doesn't have a great of substance, it's true, and it is a very extreme edge case, however it links to this rather excellent discussion: Design Patterns Considered Harmful. I think the best quote from that discussion is "A master will no longer use patterns except where they would occur naturally. After all, this is really what patterns are - the natural solution to the problem that have repeatedly arisen even before they were written."
Alan Richmond shared a link to this wonderfully insane article recently on the Mach II mailing list: Hello World in Patterns. The sheer ingenuity of the author has to be admired in combining so many patterns to create something so complex just to say "Hello World!". That article doesn't have a great of substance, it's true, and it is a very extreme edge case, however it links to this rather excellent discussion: Design Patterns Considered Harmful. I think the best quote from that discussion is "A master will no longer use patterns except where they would occur naturally. After all, this is really what patterns are - the natural solution to the problem that have repeatedly arisen even before they were written."
David Goodger has posted some thoughts about refactoring that struck a chord with me. He says it's a bit like symbolic algebra (I agree that a math background certainly helps with this stuff) and also notes that as you refactor, the code will often expand first before it can be simplified back down again. That last observation is very important: don't be discouraged when your attempts at refactoring lead to an increase in code and complexity at first!
April 20, 2004
Another question I was asked recently was:
That's another good question! It's very subjective. I tend to be fairly critical of my own abilities so even after years of exposure to a particular technology, I might still only rank myself as "Intermediate". See my resume. Seven years of Java and I still wouldn't call myself "Expert"!
However, I see a lot of people claiming themselves to be "Advanced" or even "Expert" after a year or two (sometimes even less). Very few technologies are so simple you can completely master them in such a short space of time. On the other hand, even an "Expert" can't know everything so don't assume they have nothing to learn - Stroustrup said some years ago that no one person can know all of C++ and the same applies to Java, SQL, UML and any number of other languages and tools.
How do you determine your level of understanding for a particular subject (Novice, Beginner, Intermediate, Advanced or Expert)?I responded:
That's another good question! It's very subjective. I tend to be fairly critical of my own abilities so even after years of exposure to a particular technology, I might still only rank myself as "Intermediate". See my resume. Seven years of Java and I still wouldn't call myself "Expert"!
However, I see a lot of people claiming themselves to be "Advanced" or even "Expert" after a year or two (sometimes even less). Very few technologies are so simple you can completely master them in such a short space of time. On the other hand, even an "Expert" can't know everything so don't assume they have nothing to learn - Stroustrup said some years ago that no one person can know all of C++ and the same applies to Java, SQL, UML and any number of other languages and tools.
I just received notification this morning that the DENG project has now been open sourced under the GPL. Visit the SourceForge DENG project website for more details.
April 19, 2004
When programmers first learn OOP, they tend to overuse inheritance - they see it everywhere and often end up with deeply-nested inheritance trees. This is a Bad Thing. In the real world, inheritance is actually fairly rare because inheritance represents the "is-a" relationship and most real world relationships between entities are more "has-a" than "is-a". Some languages make inheritance more appealing than others. C++ forces you to explicitly declare methods as virtual in order to create the polymorphic behavior associated with inheritance but, on the other hand, encourages you to inherit left, right and center by supporting multiple inheritance. Java proudly eschews that technique but makes all methods virtual by default thus encouraging overuse of inheritance in a different way. Ted Neward mentioned Smalltalk recently (see my earlier blog entry) as a context where inheritance is the hammer for all problems, and in two further posts, he takes Cedric and Bo to task for defending the inheritable-by-default position. Having programmed extensively in both C++ and Java (as well as some Smalltalk), I think I'd side with Ted on this issue because it is harder to write good base classes than it is to write good leaf classes and, in my experience, most classes are not base classes - so it's better to protect the majority and inconvenience the minority.
I like Hacknot. Even when they're being really negative about something. Although I wasn't going to blog this when I first started reading it... XP is, after all, such an easy target these days and Hacknot takes some very, very easy pot shots at it in the beginning of this latest piece. However, it's the second part of the article that convinced me to blog it. Read the dialogue between the XPer and Mr Ed toward the end of this post. It resonated because I've had a couple of similar conversations with XP proponents in the past.
Daemon have made a pre-release version of Certifiable available - a Central client that helps you prepare for your Flash MX and ColdFusion MX certification exams.
If you've tried to write strict XHTML-compliant web pages, you've no doubt discovered that
target="_blank" is not allowed in the strict XHTML DTD. If you dig into the XHTML definition, you will find that you can specify this attribute but you have to use a slightly different DTD that takes advantage of W3C's modularization of XHTML. You can read more details on Eva Lindqvist Fagerstrom's website.
April 18, 2004
Ted Neward's blog has been covering Smalltalk lately - in passing, as an example of an OO language where inheritance is very prevalent. It's been a long time since I played with Smalltalk but Ted's comments got me interested enough to visit the Cincom Smalltalk page and download VisualWorks 7.2 Non-Commercial (free!) to experiment with. I'd forgotten how fiddly it is to define new classes in Smalltalk (because of all the packages and namespaces) but it is otherwise an extremely simple and very powerful language.
Everything is an object. You get things done by sending messages to objects. That's all you have to know.
Everything is an object. You get things done by sending messages to objects. That's all you have to know.
3 squared tells the object 3 to return the square of itself. The squared method is defined as: squared ^self * selfVery simple, very powerful. A good way to explore Object-Oriented programming in a very pure way. VW7.2NC is free and available for most platforms.
April 16, 2004
The Australian Personal Computer magazine has an opinion piece by David Emberton on web standards. He says "Web standards. They�re big, dumb, and they don�t work." yet he claims to be a "professional Web developer". The web wouldn't exist without standards and the continued uptake of web-enabled devices is going to make compliance with web standards even more important, to say nothing about Section 508 and government-mandated accessibility. Go read his article and tell him your thoughts by leaving comments there.
The APC article doesn't even validate as HTML 4.01 Transitional (none of the APC page validate as far as I can tell!) so perhaps Mr Emberton represents the magazine fairly well :)
The APC article doesn't even validate as HTML 4.01 Transitional (none of the APC page validate as far as I can tell!) so perhaps Mr Emberton represents the magazine fairly well :)
My friend Mata is an animator - creator of Mittens the Kittens, Little Goth Girl and Mr Snaffleburger, amongst others. He says:
Just a note to anyone in the San Francisco area, the first Mittens and the Mr Snaffleburger Island animations are going to be shown as part of the I Hate Cartoons animation festival that's going on on Saturday 17th April, yes, that's tomorrow.You can also check out his twisted cartoons online - The Other Side.
If you fancy going along there are two showings, one at 8pm and one at 10pm, tickets are $8, you can buy them using the links on this page,
http://www.yumfactory.com/ihcspangy.html
It's happening at 3376 19th Street, Spanganga, if you're around San Francisco then check it out!
April 15, 2004
I was recently asked the following question:
On the other hand, if you have two candidates and they are otherwise equally well-suited for a particular job, picking the one who has some certifications over the one that doesn't is a reasonable approach. And then there are some certifications that are hard enough to get that they do speak to the candidate's abilities.
How would you rate Educations vs. Experience vs. Certifications in todays IT environment? (i.e Should one focus more on obtain certifications or experience or both).I responded as follows (and the questioner asked that I share my answer on the blog for wider commentary from y'all):
A lot depends on where you are in your career. Early on, education is important because, well, it's basically all you have. Similarly, certification shows that you are dedicated to improving your skills and getting official recognition of your knowledge. Over time education becomes less important as your experience grows. I'm a bit ambivalent about certification in general, I must admit. I have never felt the need to obtain any certification and I've never lost a job opportunity because I didn't have a particular certification. I also feel that most certifications - like most exam-based evaluations - don't really measure your skills, only what you are capable of memorizing short term.Since responded, I realized that there's a pragmatic addendum to the above:
On the other hand, if you have two candidates and they are otherwise equally well-suited for a particular job, picking the one who has some certifications over the one that doesn't is a reasonable approach. And then there are some certifications that are hard enough to get that they do speak to the candidate's abilities.
I posted the following to the Mach II mailing list on Topica.com recently but it's more widely applicable than just Mach II (except for one paragraph) so I thought it was worth blogging it too... It was in response to someone writing their own code based on someone else's example code, without necessarily understanding exactly what the example code did.
I'm not picking on you here but this is something that needs to be highlighted: following code examples without fully understanding the concepts behind them is going to get you into trouble. We saw a slew of misunderstandings based on the sample code that was in the Mach II Development Guide - that's why I've removed the sample code.The bottom line is that examples may sometimes help you understand a concept but they are not, in themselves, the concept.
You can't learn this stuff from code. I know a lot of folks feel that they learn best by seeing examples but what's at issue here are concepts and each concept will have a myriad implementations, with each implementation being suitable for a particular set of circumstances. Some design patterns are simple enough that (almost) every implementation will be (almost) identical - those can be learned by rote from an example but what you don't get from the implementation are the forces, constraints and all the other important stuff that makes up a "pattern". Patterns aren't just code. The same applies to OO in general - it's about far more than just code.
If you find that you can't learn from a book on your own, take some training. I really can't stress how important good training courses are in improving your skills, especially in an area like this that requires most folks to learn a whole new way of thinking!
If you're serious about learning OO and using Mach II, I can highly recommend Ben and Hal's training course. $2,500 might sound expensive but you definitely get your money's worth if you're new to OO and Mach II. When I was an independent consultant (as I know many of you are), I made sure to attend training courses to improve my skills (as well as reading and practicing a lot) and I feel I recouped the cost many times over in both my own productivity and by getting more interesting (and better paid!) projects.
No, I'm not going to rant about it - I'm going to point at someone else's rant...
Ted Neward quotes (with a little additional commentary) a post by Rockford Lhotka about Service-Oriented Architecture. Rockford offers some sanity checkpoints and warns of the potential for a train wreck. He's right that there's certainly too much hype around this topic (as there is around several other 'hot' topics these days). After all, cross-application integration isn't exactly a new concept and, so far, almost every attempt to standardize such integration has failed to deliver fully on the promises made...
Is SOA another case of the emperor's new clothes? In the context of being touted as a 'solution', yes I believe it is. If you treat it as a guiding principle (which, after all, is what an architecture should be), then it makes more sense. In other words, don't expect to buy "an SOA" off-the-shelf - but do expect it to cost you $$$ and be prepared to work hard on your business case. There's ROI to be had if you know what you're doing.
Ted Neward quotes (with a little additional commentary) a post by Rockford Lhotka about Service-Oriented Architecture. Rockford offers some sanity checkpoints and warns of the potential for a train wreck. He's right that there's certainly too much hype around this topic (as there is around several other 'hot' topics these days). After all, cross-application integration isn't exactly a new concept and, so far, almost every attempt to standardize such integration has failed to deliver fully on the promises made...
Is SOA another case of the emperor's new clothes? In the context of being touted as a 'solution', yes I believe it is. If you treat it as a guiding principle (which, after all, is what an architecture should be), then it makes more sense. In other words, don't expect to buy "an SOA" off-the-shelf - but do expect it to cost you $$$ and be prepared to work hard on your business case. There's ROI to be had if you know what you're doing.
April 14, 2004
One of my team was struggling today to use
Fortunately, my colleague was luckier in his searching and found this informative post by Stacy Young on CF-Talk...
cfhttp with a secure site. He kept getting an uninformative "connection failure" message. It struck a chord with me and I suggested something to do with importing certificates but couldn't remember any of the details... I searched and searched and turned up lots of items about problems with cfhttp and SSL but no solution... Fortunately, my colleague was luckier in his searching and found this informative post by Stacy Young on CF-Talk...
Macromedia provides an official installation guide for CFMX on Mac OS X but some people still run into problems so Ken Ford has created this awesome step-by-step visual installation guide (unfortunately, it seems to have moved from http://mail.maclaunch.com/tibs75/MacOSXInstall.pdf - PDF, 1.3Mb).
I'll provide another update when the doc gets a new, more permanent home.
I'll provide another update when the doc gets a new, more permanent home.
April 12, 2004
There's a nice article by Alex Bell on ACM Queue called Death by UML Fever which talks about the many inappropriate uses of and attitudes to UML in the real world. It's a nicely humorous article but it makes a serious point: there are no silver bullets so don't get carried away... I've seen several of Alex's 'fevers' over the decade or so that I've been using modeling languages and that's why I tend to stick to using "UML as sketch" (Fowler) rather than doing full formal modeling. UML, in my opinion, should be an enabler not a burden or a regime - it's meant to help you organize, clarify and communicate your thoughts on software system design. It can also be useful documentation for a system (if it is kept up to date).
A recent question on the Mach II forum asked how to model applications with UML and there is, of course, no simple answer to that. The question has cropped up in a different form on the Mach II mailing list: "Can someone share some good examples of UML diagrams for planning my application?". The answer is not simple - what works for one person might not work for another because there is no "one way" to use UML...
A recent question on the Mach II forum asked how to model applications with UML and there is, of course, no simple answer to that. The question has cropped up in a different form on the Mach II mailing list: "Can someone share some good examples of UML diagrams for planning my application?". The answer is not simple - what works for one person might not work for another because there is no "one way" to use UML...
As the newly re-designed SacCFUG website says, I'll be up in Sacramento tomorrow evening, talking about Mach II. I'm also bringing a good prize for the raffle... CFMX 6.1 Enterprise!
I've just finished polishing the talk some more - it's essentially the same as the version I'll be giving at CFUN-04 at the end of June and therefore a little different to the MXDU and SCCFUG Conference versions (and December's BACFUG version). It'll probably change again before the San Diego CFUG meeting next month (5/4) - the CFUN preso has already been submitted so it's pretty much set in stone now. And it'll change again, I'm sure, by the time I present it in Portland in August!
And remember that in June, Ben Forta will also be visiting the Portland and Sacramento CFUGs - and Orange County for the San Diego folks - as part of his Summer 2004 Tour!
I've just finished polishing the talk some more - it's essentially the same as the version I'll be giving at CFUN-04 at the end of June and therefore a little different to the MXDU and SCCFUG Conference versions (and December's BACFUG version). It'll probably change again before the San Diego CFUG meeting next month (5/4) - the CFUN preso has already been submitted so it's pretty much set in stone now. And it'll change again, I'm sure, by the time I present it in Portland in August!
And remember that in June, Ben Forta will also be visiting the Portland and Sacramento CFUGs - and Orange County for the San Diego folks - as part of his Summer 2004 Tour!
April 8, 2004
Pete Freitag blogged a problem with
XMLSearch() and XML namespaces while he was trying to parse an RSS feed. I spent some time reading up on XPath and experimenting and eventually figured out a solution - posted to Pete's blog as a comment. If you are using XMLSearch() on an XML document that uses multiple namespaces, you need to specify the relevant namespaces in the query which means that an XML path that looks like /rdf:RDF/item/dc:subject is really /rdf:RDF/:item/dc:subject - note the explicit empty prefix for item.
Waldo Smeets has been playing around with Flex for quite a while now and is starting to blog about it. In this useful tip, he explains how to get changes to flex-config.xml automatically redeployed. I expect Waldo will have a lot of useful hints & tips on his blog soon.
The BBC report that WiFi is coming to trains in Britain. GNER (Great North Eastern Railway) ran a trial of the service a while back and have deemed it a success so now they are rolling it out for all passengers. This makes rail a very appealing option: reasonable comfort, beautiful scenery, no driving / flying stresses and to top that off you can actually get some real work done while you're traveling to / from work or to / from that business meeting.
April 7, 2004
MAX 2004 has been announced - November 1st thru 4th, New Orleans, LA. Suggest a topic or apply to speak! Keep your eye on the site for more information.
As part of the preparation for CFUN-04, Michael Smith conducts interviews with all the speakers. His interview with me is now online along with sixteen others.
April 6, 2004
A fascinating piece over on Hacknot, about a Pair Programming experiment conducted by Laurie Williams at the University of Utah, an advocate of the technique. The article points out several problems with the methodology, showing how hard it is to perform meaningful empirical comparisons.
A couple of interesting numbers pulled out of the article: "The average elapsed time for assignment completion was about 15% less for pairs than for individuals" (which I read as saying the total developer time for a pair was about 1.7 times that of the individual) and "The average quality level of the assignments was about 15% higher for pairs than for individuals" (which I'm not at all surprised by since a pair can perform a better QA job as they are effectively checking each other's work). That seems to say a cost increase of 70% achieving a quality increase of 15%. However, the article then says "a 15% increase in development cost for a 15% improvement in quality" has become the "value proposition for pair programming". I'm clearly missing some important math here!
My take is: pair programming builds better quality software in an overall shorter period of time - and so it should since it uses two engineers and costs more than a single engineer doing the same job! In a general team environment, where a solo programmer can actually go and ask her peers for help or input whenever necessary, how cost effective can pair programming really be? Yes, two programmers will almost certainly produce a higher quality solution faster but how much is that delta worth to an organization?
A couple of interesting numbers pulled out of the article: "The average elapsed time for assignment completion was about 15% less for pairs than for individuals" (which I read as saying the total developer time for a pair was about 1.7 times that of the individual) and "The average quality level of the assignments was about 15% higher for pairs than for individuals" (which I'm not at all surprised by since a pair can perform a better QA job as they are effectively checking each other's work). That seems to say a cost increase of 70% achieving a quality increase of 15%. However, the article then says "a 15% increase in development cost for a 15% improvement in quality" has become the "value proposition for pair programming". I'm clearly missing some important math here!
My take is: pair programming builds better quality software in an overall shorter period of time - and so it should since it uses two engineers and costs more than a single engineer doing the same job! In a general team environment, where a solo programmer can actually go and ask her peers for help or input whenever necessary, how cost effective can pair programming really be? Yes, two programmers will almost certainly produce a higher quality solution faster but how much is that delta worth to an organization?
April 5, 2004
Seen on Darron Schall's blog, a Rich Internet Application version of the well-known MySQL administrator written in PHP. Very slick! As Darron points out, it's not free but for $5 it's worth having.
April 2, 2004
Nice observation on redev.org about sites that are horribly non-standards compliant and break in various non-IE browsers. I wish 'barryf' had named the guilty party - perhaps some adverse publicity could shame them into doing something about their IE-specific website? The "97%" figure they quote in their response to Barry seems bogus too - I know it varies from site to site but I only see 69% IE on my blog and 76% elsewhere on my site so excluding 25-30% of your potential audience seems... well... dumb!
April 1, 2004
Oh I bet that got your attention...
It's just "no more web" for me. For a while. I officially moved into my new cube today in the "other" building... the building where the back office enterprise IT teams live (ERP, CRM, data warehouse / business analytics and IT Operations). It was very sad saying "goodbye" to the web team folks - although I still technically report into the web team - as I packed up my stuff and headed into the "other" world.
Lots of exciting stuff going on there - lots of changes to systems, adoption of XML and JMS messaging and web services. It'll be a fun time to be in the back office as we work through the next couple of years. But not a lot of ColdFusion I suspect (nor much of any other Macromedia products). We mostly interact with the message hub through Java although some folks are developing C# code to interact with it. The back office systems are all about data - data modeling and data ETL (extract, transform, load). And, for me, UML and XML and DTDs etc.
That'll probably mean a change in the content of this blog although I'll remain active with Mach II and some of the ColdFusion lists so there will continue to be CF content here for the foreseeable future...
It's just "no more web" for me. For a while. I officially moved into my new cube today in the "other" building... the building where the back office enterprise IT teams live (ERP, CRM, data warehouse / business analytics and IT Operations). It was very sad saying "goodbye" to the web team folks - although I still technically report into the web team - as I packed up my stuff and headed into the "other" world.
Lots of exciting stuff going on there - lots of changes to systems, adoption of XML and JMS messaging and web services. It'll be a fun time to be in the back office as we work through the next couple of years. But not a lot of ColdFusion I suspect (nor much of any other Macromedia products). We mostly interact with the message hub through Java although some folks are developing C# code to interact with it. The back office systems are all about data - data modeling and data ETL (extract, transform, load). And, for me, UML and XML and DTDs etc.
That'll probably mean a change in the content of this blog although I'll remain active with Mach II and some of the ColdFusion lists so there will continue to be CF content here for the foreseeable future...
I just received confirmation from Lisa Wilson about the time and location for the April Sacramento CFUG meeting. She wrote:
We have confirmed the location for our April 13th SacCFUG meeting.I'm looking forward to speaking up in Sacramento and fielding all manner of questions! :)
New Horizons is hosting the meeting. They are located at 1215 Howe Avenue in Sacramento next to TGI Fridays. The nearest major cross street is Arden Avenue.
We expect the meeting to run from 6:30pm to 8:30pm. We would like you to be available to speak and answer questions about Mach II from 7:00pm to 7:50pm, if that is comfortable for you. I would expect a lot of questions as there is interest in Fusebox and Mach II here and there have been no other speakers on the topic since Hal was out here a couple of years ago.
Gordon Clarke, manager of Sierra MMUG in Auburn will be announcing your talk at his meeting next week, so we expect folks from his group to show up.


