[Looking for Charlie's main web site?]

What is the FusionReactor datasource monitoring feature? Why would I use it? Powerful stuff!

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
As I wrote my previous entry on FR over the weekend, I got to thinking that some readers (whether new to FusionReactor, or using it but unaware of the datasource monitoring setting I mentioned) might benefit from a little more information about the FusionReactor's datasource monitoring feature.

What is the datasource monitoring feature? Why would I use it? Powerful stuff!

The datasource monitoring feature, referred to in the docs as the "JDBC wrapper", is a low-overhead way to configure FusionReactor so that it captures information about each query (against a given datasource), for every request, in detail and in aggregate. It captures and reports:

  • the SQL statement (including CFQUERYPARAM values)
  • the execution time (time spent in the database, and time spent getting it from the database to CF)
  • the number of rows returned
  • the CFML template and line of code where it was executed
  • and more

This query information is tracked per request and also in aggregate across all requests (in the graphs in the Enterprise Dashboard and System Metrics pages, the Longest JDBC page, and other places.)

It's really powerful information to have when you're trying to understand why and how your page, application, or server it performing.

You can see more about using the information in these feature focus pages at the FR site: What are System Metrics? and Resource Graphs, among others.

As I said in the last entry, you can learn more about setting up the FR JDBC wrapper feature (including the simple steps on how to implement it--which have been updated in the FusionReactor 3 docs) in the Tutorial (pdf) and User Guide (pdf).

What's the overhead of this datasource monitoring? What's it doing?

That's a natural and reasonable question. The folks at Intergral (makers of FusionReactor) say that it's very low overhead, and they've done considerable testing (millions of requests before each release) to confirm it.

Maybe it would help to understand how it works. It's quite simple, really. When you configure a datasource to be wrapped (per the instructions pointed to above), you're basically just implementing an alternative JDBC driver (FusionReactor's) to literally "wrap" the driver that was being used originally by your datasource.

Your code continues to use the same Datasource Name, but the change of the datasource causes CF to pass the SQL first to the FusionReactor JDBC wrapper, which takes note of the starting time, the SQL statement, etc., and then passes it the query on to the real (original) database driver. That then passes it to the DB, and gets the result, and before it's passed back to CF, it goes back through the FusionReactor wrapper, which notes the execution time, recordcount, etc.

So you see, the wrapper is really quite lightweight. It's just an observer, watching what's going to and from the database. The info is then written to FusionReactor's JDBC log (if enabled) and stored in FusionReactor's small memory space for presentation in the various interfaces that show JDBC status information. Again there's more about this in the documentation.

Some other tips on the JDBC Wrapper

To see information on what queries were executed (if the datasource was wrapped), see the bottom of the request details page (for either a running request or the request history page). Further, note the available JDBC tab in that request details page. That will show each SQL statement and the details (time, count, etc.). The bottom of that page will also show counts and averages for all the queries in that request.

You'll see at the bottom of that page that you can also configure the JDBC settings page to restrict how many queries are shown in the JDBC request details, and you can limit it to only those exceeding a certain amount of time, as well as whether to show them in chronological order or executiontime order.

I'll note as well that if you do implement the JDBC wrapper feature, you'll probably want to enable JDBC logging, which is disabled by default. This writes all the detail above to a log file, for each SQL statement, which can be great for either post-mortem analysis (after a crash) or for trend analysis (perhaps across several restarts). You can choose to limit the logging to queries slower than a set number of milliseconds (separate from the control above about what queries to show in the request detail page.)See the JDBC>JDBC Settings option in the left nav bar of the FR interface.

The wrapper configuration for each DSN itself also offers still more features that many miss, so check out the docs. The Tutorial concludes with an example of using the rowlimiter feature to put the brakes on a rogue page, while the user guide details this and all the available features of the wrapper.

Learning more about FusionReactor

For more on FusionReactor in general, see their web site or my past blog entries on it.

(And yes, before anyone else would point it out in a comment, both the CF 8 Server Monitor and SeeFusion also provide this sort of JDBC query information. In the CF 8 Monitor, it's built-in (no need to configure the DSNs at all). And in SeeFusion, there's no need to manually configure each DSN, as there's a one-button configuration option. Intergral are said to be working on something similar for a future release of FR, so some of the concepts above apply across the monitors.)

FusionReactor works with ColdFusion Standard and Enterprise in version 6, 7, and 8, as well as Railo, Open BlueDragon, and BlueDragon/J2EE, and indeed any J2EE application server or Servlet engine. (BTW, technically, the term J2EE has been obsoleted by the more version-neutral Java EE or JEE. So many things in CF docs and related tools still refer to it as J2EE simply because most CFers aren't paying that close attention to such details, so there's been little motivation to make the clarification.)

PS: Why is it called the JDBC wrapper feature, instead of the datasource monitor?

That's an interesting question. It might feel a little clumsy calling it the JDBC wrapper. I wonder sometimes if CF users may miss the feature. Hopefully the explanation above about how it works helps. But you may wonder why it's not called the "datasource monitor", which might be friendlier for CFers.

But here's the thing: as I said a moment ago, FusionReactor is not JUST a CF server monitor. It can be used by any J2EE server or servlet engine. And not all J2EE app servers would use a concept of a "datasource".

Consider a Tomcat developer who might write a servlet or JSP that calls a database. They could leverage this JDBC wrapper feature (and all of FusionReactor's features) just as readily, though instead of changing the configuration of a datasource they would modify the JDBC URL in their code or a config file. That said, there are some J2EE servers that do use JNDI datasources.

So the makers of FusionReactor (Intergral) have to walk a bit of a fine line about labeling features in a way that might apply only to CF.

It's amazing, really, that one might not otherwise have any reason to notice that the product is designed to be used by either CF or J2EE shops. Most of us think it's just a CF monitor. It's much more.

And BTW, it's licensed per server, so you can install it on as many engines as you have (that it can monitor) on a single machine. In fact, you can even configure a free Tomcat engine just to be a monitor of other FusionReactor (Enterprise) instances.

This is something that Intergral is now offering (in beta) as a new packaging of the tool as "FusionReactor Enterprise Monitor - FREM". You can get it (or learn more) at their Fusion Labs site. I'll have more on that in a later entry.

Glenda's Obituary

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Following up on my note from Saturday, Mourning the tragic passing of Glenda Vigoreaux, trainer/speaker on CF and more, I just received a copy of the obituary her husband has written (from Ben Forta, to whom he'd sent a copy):

Dear Friends

With the greatest sorrow a heart can withstand, I regret to inform you that my beloved wife, Glenda Vigoreaux has passed into the arms of our loving God. Her courageous battle with anxiety and insomnia ended the morning of Tuesday, July 15, 2008.

Glenda is survived by her adoring husband Paul Hacker, mother Lydia Echevarria, sister Vanessa Vigoreaux, brother Luis Echevarria and a host of family and friends who also loved her dearly. At last she has the peace for which we've prayed, as she sings with a choir of angels.

Glenda has been honored in a ceremony attended only by immediate family. The final resting place for her cremated remains is yet to be determined. Memorial donations may be sent to St. John's Lutheran Church, 7205 North 51st Avenue, Glendale, Arizona 85301. Please forward this message as appropriate. My apologies to those I may have forgotten.

Each of us who met her are blessed to have encountered a loving soul, unique in the world. Her concern and respect for each individual were genuine. Glenda trusted that in giving of her many talents, she brought out the best in good people and was thereby enriched herself. She was an inspirational angel among us.

Please join my prayers celebrating her life and honoring her example as an extraordinary human being. Remember her as I will, full of life and love.

Good night sweet Angel. Te amo.

Paul A. Hacker

If you'd like to comment, please provide them instead in the previous entry. Let's regard it as a memorial roll for her from our community and others (lots of nice comments there already).

Mourning the tragic passing of Glenda Vigoreaux, trainer/speaker on CF and more

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I'm sorry to break the news, but I've not seen anyone else blog about this. Some of you may have known Glenda Vigoreaux, a widely acclaimed trainer and speaker in the CF and broader Adobe world. Sadly, she was found dead in her Glendale AZ home earlier this week, of unnatural causes.

I'll have more on that in a moment, including more about her surprisingly storied past (entirely unrelated to training and speaking) that may be a surprise to some (it was for me).

But first I'd like to remember her as I knew her.

Glenda, the acclaimed trainer and speaker

Glenda was an Adobe Certified Master Instructor who had taught Adobe/Macromedia technologies starting in 1998, including ColdFusion, Dreamweaver, Captivate, Contribute, Acrobat Connect and Presenter. She was widely praised and received consistently high marks, working for Roundpeg in Arizona (since 2005) and who before that had been on her own as GVX Technology since 1996.

Glenda was an equally lauded and popular conference speaker, winning best speaker honors at Max 2004 and CFUnited 2005 (we tied that year). You can find a podcast of her 2006 talk on CF printing and Reporting as well as her CFUnited bio of that year. You can learn more of her professional history from her LinkedIn page. She was even a speaker on the ColdFusion Meetup in May 2005, when Steven Erat was hosting.

Suicide? Glenda?

The most tragic thing about the news is that her death has been ruled a suicide. I just can't fathom that. Besides the accolades above, anyone who knew her would say that she would seem one of the very last people in the world you could ever expect of being driven to that. In fact, if you look at the about page of her GVX site, you see that she had a clear passion for life, and for others.

Of course, I'd not talked to her in a couple of years, and naturally people's personal lives can often be masked by their public persona. Indeed there was much more to her background than many may have known (I didn't). I learned of her death today in an email from Steve Drucker (for which I'm so grateful). In it, he pointed to a news article (translated from Spanish).

The story reports that her husband found her with a gun at her side, with the "forensic and physical evidence...consistent with a self-inflicted shooting". I didn't know her husband, named there as Paul Hacker.

She came from a famed family, tragically notorious in Puerto Rico

But in that story (and with additional details found in sources mentioned later here), we learn that in fact Glenda came from a background of both notoriety and family tragedy. I never knew that hers was a celebrity family in Puerto Rico. Not only were her father and mother famous there as a TV producer and actress, respectively, but tragically, her father was brutally murdered and her mother convicted of it and jailed for 13 years. Apparently, all this was big news in Puerto Rico.

Indeed, the wikiepedia entry on her mother has even already been updated to reflect Glenda's death, and her death is listed as well in Wikipedia's 2008 deaths page with references to her notable family members, all this just 3 days later as I write. Again, clearly this was significant news to some people.

As further sad testament to the notoriety of all this, the news article above even says her house in Glendale and her family's in PR were both "full of paparazzi" (representing Puerto Rican press, I'd suppose).

I was almost tempted to doubt if we were talking about the same person, since these things all referred to her as Glendaly Vigoreaux Echevarría (the latter being her mother's famed last name). But then I found this memorial page which had that same "Glendaly" name but with happy pictures of her. Yep, that was the Glenda we knew.

A one-time TV star in Puerto Rico

The page goes on to offer still more about her family, their tragedy, and her life. It says that she herself had been a child TV star and later host, comedienne, and singer with her sister Vanesa on Puerto Rican TV shows.

That doesn't surprise me. She was certainly so full of life, which makes this all the more surprising.

R.I.P., Glenda

So today we remember the passing of a member of the CF community, a stellar trainer and speaker, mystified by the asserted cause of her death...while a segment of the celebrity gossip world instead regards it only as another tragedy for a notoriously troubled celebrity family. It just doesn't make sense.

She will be sorely missed.

Using FusionReactor's datasource monitoring feature? Here's a tip

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
If you're using FusionReactor, and you set up a datasource to be monitored by it (the "JDBC wrapper" feature), did you know that you can configure it so you can see the datasource name for each query in the request details? A lot of people seem to miss it, so I wanted to point it out.

You just need to add the string:

;name=dsnname

to the end of the JDBC URL that you configure (per the instructions). For instance, for the wrapped version of my AdventureWorks SQL Server DB, I use:

jdbc:fusionreactor:wrapper:{dbc:macromedia:sqlserver://localhost:1433;
databaseName=adventureworks;SelectMethod=direct;
sendStrinParametersAsUnicode=false;MaxPooledStatements=1000}<strong>;name=AdventureWorks</strong>

That all goes on one line, of course, but I didn't want it to mess up the display in some browsers.

You can learn more about setting up the FR JDBC wrapper feature (including the simple steps on how to implement it--which have been updated in the FusionReactor 3 docs) in the Tutorial (pdf) and User Guide (pdf).

If you're not familiar with the datasource monitoring feature, I'll share more about it in a follow-up entry.

Goog411 - free 411 service from your phone, with connection, mapping, and more

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Tired of paying 411 fees? Next time you're on the road (home or away) and need to find something, use 800 goog-411. That's the number for free (and hands-free) local information.

All you need to do is say where you are, what business or category you want, and hear the closest options (with address). If that's all you need, you can hangup, or you can choose one to be connected to the business, and you can even have a map or text message sent to your phone, again all for free.

Here's a nifty (and fun) couple-minute video about it:

http://www.google.com/goog411/

Ok, maybe you can get info like this from your in-car GPS system, or via google maps on your phone, but at least this is mostly hands free. Add it to your phonebook, and it's just a pushbutton (or voice command) away.

BTW, if you've not noticed, the same feature is offered in google maps itself. While on a map, you can enter a business name or category and it will show where on that map (or an expanded one) you can find what you're looking for.

Now over 300 recorded presentations on the UGTV site

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
The UGTV site now has over 300 recordings. What a milestone. :-) John Mason just informed me, after he posted a recording to the site, that he noticed his was the 300th recording on the site. We quipped that since we're both user group managers there's really not much I can offer him as a prize that he doesn't already have. :-)

Totals so far, after 20 months

But yes, as of today there are 301 presentations from 180 presenters, totaling 290+ hours of video. The site will be 2 years old in October (I started stocking the list in late September before opening the doors to the first other contributors, and the first of which was Nick Kwiatkowski on 10/2/06.)

Anyway, so at about 20 months since then that's a rate of about 15 per month or one every other day. Not bad, and of course thanks to all who have contributed links (as well as to the speakers who let their sessions be recorded) so we could link to and view them.

Always room for more...anyone can contribute, easily

As I try to point out often, anyone can contribute a recording. No signup or registration is required. You can submit one in about 20 seconds. (And you'll note there's never been a spam entry. I've got that covered, beyond just a captcha.)

If you've not checked it out, come on down

Anyway, to learn more about the site (and its many features if you just want to find and view recordings), either visit the site or check out the other entries I've done on it, linked to below.

Here's to the next 300!

Understanding the various XML files in CF and JRun

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Ever wondered about the various XML files you may find in CF, such as all the neo-xxx.xml files? Or the JRun-based ones such as jrun-xml, web.xml, jrun-web.xml, default-web.xml, application.xml, and so on?

While tooling through the ColdFusion technotes, I came across this interesting one: Purpose and location of XML configuration files used in ColdFusion MX. While it's not especially new, it shows having been updated in 2008, and the info offered seems to apply to CF8 just as readily as CF 6 and 7.

It also happens to point to a document with brief descriptions of the JRun XML files as well.

Beware - you could be missing news of some CF technotes

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
I thought some others might be concerned about something odd I just noticed, regarding the "recent CF technote" feed I just blogged about. I'm noticing that several of these "recent" technotes (even a couple months old) don't show up on the pages that purport to list all the CF technotes! Yikes. That means that if you're not following the feed, you may not otherwise have any way to know that there are new tech notes.

And sadly, the feed lists only the 10 latest, so there may be others you could have missed out on if you've not been getting the feed. What's up with that?

Perhaps the HTML page is just out of synch with the feed but then I'd wonder where the feed is getting its source information? and why isn't the technote page updated immediately with that same info?

Here are a couple of examples that show up (as of today at least) on the recent CF technote feed list but do not show up on the page listing technotes (more on this below):

I couldn't find any HTML page that listed those (and links to them) on any of the following expected pages.

Not on the Hot Fixes page

Curiously, all three offered a link back to the CF 8 Hotfixes page, but they're not technically hotfixes. Anyway, to my point, they're not listed on the hot fixes page.

(I'll say, for those worried most about hot fixes, that all the technotes I saw listed in the "recent feed" that really were hotfixes are indeed listed on the hotfixes page, so it seems that's kept updated.)

Not on the Tech Notes page(s)

But the above are indeed technotes, and could be important to some, yet they are not listed on the pages that purport to list CF technotes: the CF Support page and the CF Technote Index page have no mention of these. (Indeed, that 2nd technote index page seems quite old, mentioning nothing of CF8 on it.) These are where I'd expect they should be listed, so it seems that these pages are not being kept updated.

And it's not like the technotes above from the recent feeds are really that new. The one on the ServerMonitorUI.swf, for example, is from May. It should be listed on the technotes page by now, shouldn't it?

Or if it's that these pages aren't meant to be the one all-encompassing list of all CF technotes, then what is?

Not found via searching

Just to make sure I wasn't missing some other meta-list of CF technotes, I used the Adobe site search, and even Google and Yahoo, to search for pages referring to the page titles above. I couldn't find any pages that had these listed. I could only find the individual pages themselves (in other words, short of the feed, I'd only find them by searching for them directly).

The problem restated: any solution?

So again my point is: the recent feeds page has technotes that are not offered in any list anywhere else on the Adobe site. Shouldn't a feed supplement a page that otherwise has the info? Does it make sense that if you don't follow the feed, you have no other way of knowing that the page exists (short of lucking out on finding it via a search on the topic)? Some of us would like very much to be able to always find and review a list of all known tech notes. The pages referred to above would seem by most to be expected to do that, but clearly they don't.

And given that the feed only shows 10 entries, the problem gets worse as new entries are added to the feed. What about those who have only just learned of it? How are they to know of items that are just old enough to no longer be listed on the feed?

Maybe someone needs to set up a page that saves the feed data. (There are other pages that show what's coming from the feed, but when the feed changes, they do too.) I'm talking about something that captures the feed output and keeps old entries while adding any that are new. But should we have to do that?

Any way to get the feed to list more than 10?

Finally, in the meantime, since the "recent feed" stops at listing 10 items, does anyone know a way to get it to list more? That would help us to find more that we might otherwise have missed (and would certainly aid in a tool to capture as many as we can).

I tried adding "?entries=20", as a guess, but to no avail.

Get your fill/feeds of Adobe ColdFusion Technotes, Hotfixes, Security Bulletins, and articles

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Ever wish you could be notified when there's a new CF technote, hotfix, security bulletin, or DevCenter CF article? You can be, whether via your favorite RSS reader or by email (more below). There are feeds for each of the following:

Don't have an RSS feed reader? Get them by email

If you don't have an RSS feed reader, or you simply prefer to receive such things by email, you can. Check out the various RSS-to-Email tools (all free) which I list in my category, "RSS to Email Tools", in my list of over 100 tools and resources for CFers.

Adobe Feeds for Other Products

If you're interested, you can find many other feeds across all Adobe products at http://www.adobe.com/support/rss/.

Beware of older CF feeds

One last FYI: you may find reference on the web to the following old technote URLs, which do still work but have not been updated since CF 7, such as http://weblogs.macromedia.com/product_feeds/archives/coldfusion/index.rdf and this "ColdFusion news" feed.

Max 2008 marks my 25th (differently named) CF conference as a speaker!

Note: This blog post is from 2008. Some content may be outdated--though not necessarily. Same with links and subsequent comments from myself or others. Corrections are welcome, in the comments. And I may revise the content as necessary.
Here's something I thought interesting. I just realized that Max 2008 marks the 25th CF conference I've been selected to speak at. I'm not talking about 25 conference, sometimes many years for each: I'm talking about 25 differently named conferences. I'll bet some people would be surprised to learn we've even HAD at least 25 differently named national and regional CF conferences over the years. :-) We have, and let's take a look.

I mentioned last night my delight in learning that I'd been selected to speak at Adobe Max later this year. It got me thinking: that was the one remaining major CF conference that I'd not yet spoken to over the last 10 years. I mentioned that I'd spoken at the MM and Allaire Devcons before it, but as I looked back in my records (carehart.org/presentations/, and elsewhere), I was surprised to see just how many there had been.

I can now say that (as of July 2008) I've been selected to speak at:

  1. Adobe Max (2008)
  2. CFunited (all 10, starting with when it was called CFUN and the DCCFUC before that)
  3. cf.objective (2008, 2007)
  4. Scotch on the Rocks (2008)
  5. Webmaniacs (2008)
  6. CFunited Europe (2008)
  7. WebDU (2007)
  8. CFUnited Express (2007: Atl, SF, Chi)
  9. Minimax (2007, 2005)
  10. CFDevcon (London) (2006)
  11. Powered by Detroit (2005)
  12. MX Vegas (2003)
  13. CF Europe (2003, 2002)
  14. MX On The Rocks, Denver (2003)
  15. Southern Cal Regional CF Conf (2003)
  16. Macromedia DevCon (2002, 2001)
  17. CF Underground (2002, 2001, 2000)
  18. MX/CFNorth (2003, 2002)
  19. Colorado Macromedia TechCon (2002)
  20. MXDC (2002)
  21. CF Edge Conference (2001)
  22. Fusebox Conference (2003, 2001)
  23. CF Odyssey, Bethesda (2001)
  24. Allaire DevCon (2000)
  25. The first national CF Conference in Ft Collins (1998)

Sadly, a lot of them were one-off events, but I always want to support conference organizers. (No one at the first CFUN would ever have imagined it would turn into CFUnited, for instance.)

And while I was invited to speak at CFSouth in 2001, I ended up being unable to attend due to my father's passing the weekend before.

I should note that there are still a couple more conferences that I didn't make or haven't made. No slight intended in not mentioning them. I'm just listing those I did speak at.

Add in user groups...for about 200 presentations!

Considering that I've spoken at some conferences for multiple years, that makes over 45 appearances total. And it's still more presentations, really, since I've often presented more than one topic at a single conference. Then if we count repeated sessions...it's been a lot of talks.

And of course, that's all in addition to all the presentations I've given to, wow, I count now nearly 60 different user groups around the country (and internationally) during the past 11 years! All told, again since I've often presented to a single user group more than once over the years, it looks like I've given nearly 200 presentations total across all CF user groups and conferences. (And that's not counting other conferences like SQL Pass, MS CodeCamps, Wireless Devcons, and then several other IT conferences during my 15 years prior to getting into CF in 1997.)

And I'm happy to say that they've not all been the same talk! :-) It's been nearly 80 different topics!

Details on past talks

If anyone's interested in the details of the talks, I list nearly all of them (with titles, descriptions, dates, locations, and links to the slides) at my site's presentations section. I can say that some are as valuable today as years ago, since I sometimes still point them to to people looking for discussion of a given topic (sometimes I've never ended up writing an article on a topic that I presented as a speaker.)

Not bragging, just looking back on a career, encouraging others, and giving thanks

I don't say any of this to brag. Not at all. It's really just rather unusual when one has a chance to stop and look back on their career (other than when writing a resume.)

You just do things day in and day out, and often you never realize how much you can accomplish with a slow and steady pace. Same with the more than 60 articles I've done, too. You just don't notice the pace while you're in the middle of it. Like the journey of a 1,000 steps, it all begins with the first. In that respect, I'd like to encourage any who've thought of giving a talk or writing an article to *just do it*. You never know where that first step may lead. :-)

Anyway, again, it's really nice to add Max as the capstone to this list. Thanks to all the organizers and attendees who've supported my presentations over the years.

For a real time warp, you can find out more about the various conferences I mentioned (including seeing speaker lists, topics, pictures, and more) at the CFConf.org site, which lists them all going back to 1998.

More Entries

Copyright ©2026 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the HTML in this page?)

Managed Hosting Services provided by
Managed Dedicated Hosting