OO ColdFusion Presentation Today on ColdFusion Meetup!

Posted By: Brian Meloche; Posted At : June 3, 2010 9:16 AM

Related Categories: User Groups, Open Source, ColdFusion, Mach-ii, Speaking, LightFront, Conferences

This is a late post, but I wanted to mention that I'll be presenting my Common Sense Approach to Object Oriented ColdFusion, 2010 Edition presentation in a few hours to the ColdFusion Meetup, 12pm Eastern (UTC/GMT-4) today. This is a slightly refined version to the one I presented in April at the CFObjective conference.

Watch Live Here

After the presentation, you'll find the recording posted here. I'll update this post after the fact with the direct URL.

Also, I'll finally be making the code from the CFObjective/Meetup for public view for the first time following the presentation, as well as post it on RIAForge and Github. One of the sample applications is the most extensive LightFront example posted to date, so this presentation should also show you a little bit on the framework as well. In that sample, there's also an "old school" version, as well as an unfinished Mach-ii/ColdSpring version that I'll continue to work on (but there's enough there to show the stark differences between a typical OO CF application and a simpler OO LightFront one).

I'll also be releasing a new version of LightFront (0.4.5) today as well.

UPDATE: The recording of the presentation can be found here:

http://experts.na3.acrobat.com/p93791252/

Note: It went a bit long... 1:53:02

The code I show and the slide deck in the presentation is available via Subversion here.

To download a zip file, which has the code, PDF and PowerPoint of the presentation all in one, just go here:

http://svn.lightfront.org/svn/cfobjective2010/CFObjective2010/download/CFObjective2010.zip

LightFront - New Video Series - Getting Started with LightFront

Posted By: Brian Meloche; Posted At : May 13, 2010 12:27 AM

Related Categories: ColdFusion, Tutorials, Videos, LightFront

I am starting a new series of videos that will also be carried on the CFConversations feed for my new LightFront. This first video is a Getting Started. In just a few minutes, I'll leisurely set up a LightFront skeleton application, and I'll spend the rest of the video showing you the Model, View and Controller within the skeleton.

LightFront even gets easier than this! I'll save that for the next video!

Update: Some people are reporting issues seeing the entire screen on this video. If you are seeing the same thing, you can view the video here by opening up a window.

Click here to view the video

LightFront 0.4.4 has been released, and... my CFObjective talk...

Posted By: Brian Meloche; Posted At : May 10, 2010 5:03 AM

Related Categories: ColdFusion, Frameworks, LightFront

I've FINALLY released LightFront version 0.4.4. With this version, despite the version number, I am officially deeming this version of LightFront production ready.

Why did it take so long? I've spent a number of months on building a LightFront application, and I had to get that application out the door before I could spend time updating the framework.

That is both a detriment and a blessing. Sean Corfield's FW/1 framework, which started out very similar to LightFront, has been developing a big following, and that just proves that the lightweight framework idea we both had at about the same time had something. However, there's been a lot of work going on with FW/1, and LightFront's been quiet.

It really hasn't been quiet, though. As I said, I've been out there, using LightFront, and I've figured out lots of ways to use the framework and learned ways to be more flexible. While doing that, I also discovered something rather important about Object Oriented ColdFusion that fits right into LightFront. I also figured out some of the potential pitfalls you could run into while using the framework that all revolve around trying to work around the simplicity and trying to be "too clever", trying to do too much. This really had nothing to do with LightFront, but instead dealt with my own pitfalls with the model - the OO.

I'm not going to go into it more right now... this is just a teaser!

As FW/1 has built a following, it's also started to diverge from the direction LightFront is going. Both frameworks are still quite similar, but I definitely do see big differences in how we deal with views, and LightFront's push towards greater flexibility, especially with existing applications, over opinionated software development. The philosophy's different. I've made a career being able to make things work that other people couldn't, or couldn't as easily, so my tendency is to figure out a way how to do something instead of saying that's not how you do something and leave it at that. Rather than giving an opinion, LightFront gives you a chance to form your own software opinions using the framework. That's not, in any way, a slam on FW/1 or trying to say that LightFront is better. It's just different.

Although it's production ready, the documentation and how-tos need a lot of work, and the meetup I did several months back could have been a lot better. My hope is that my schedule will continue to be light enough so I can start making some strides toward building the docs and making some screencasts, and doing another meetup or two.

There are a few people using LightFront, too, besides me. Unfortunately, they aren't bloggers, so you probably won't hear much out of them, at least for now. However, they are very enthusiastic about LightFront, just like I am, and see its potential.

I think LightFront's turning out to be the framework I wanted, but I've got to spend more time showing that to you.

To those who have asked, yes, I am doing a presentation on my Object Oriented ColdFusion talk on the meetup soon. Unfortunately, thanks to scheduling conflicts, it won't be until June. With that, there is a new sample app that has been written three ways: One that shows spaghetti code, one that's a Mach-ii/ColdSpring version, and one that's a LightFront version. I've got a little bit of cleanup left on that, now that 0.4.4 is out, and I'll post the code once it's cleaned up. However, here's that presentation:

Vote for me to speak/open mike podcast at CFUnited!

Posted By: Brian Meloche; Posted At : February 11, 2010 10:57 PM

Related Categories: About Me, LightFront, Conferences

I'm hoping to do a CFConversations Open Mike at CFUnited this year... but I need your help to get on the schedule.

I'll be at CFUnited regardless (well, hopefully; I'm planning to be there), but I'd like to have a big audience for one of the podcasts.

You can vote for the open mike here:

http://callforspeakers.cfconf.org/?event=vote&eventId=188

I've sent in a total of four topics, including one on LightFront, that could all use your vote:

  1. CFConversations Open Mike
  2. Improving Website Performance in the Browser
  3. LightFront - The CFML Framework that you don't need to be a rocket scientist to use!
  4. Object Oriented CFML: 2010 Edition

RE: CFConversations - I probably won't get another podcast out until March, as I'm pretty swamped with work right now until the end of the month, but I've got a few episodes coming, including a few guest interviewers, and two that are already recorded. I have to hit it hard in March, as CF Hour() is about to lap CFConversations. :( I'm all about healthy competition. :)

Speaking at CFObjective 2010!!!

Posted By: Brian Meloche; Posted At : January 6, 2010 5:31 PM

Related Categories: ColdFusion, Conferences

Following my friend, Dan Vega's post about speaking at cf.Objective() 2010, I, too, am announcing that I am speaking at cf.Objective() this year.

You may remember that my topic last year was "What to Do When OO Fails You in ColdFusion", something that was a bit of a controversial topic... or at least a controversial title. This year, you may be surprised that my topic is "The Common Sense Approach to Object Oriented ColdFusion, 2010 Edition".

Have I changed my tune? Nope, not really. I've just taken a look at the subject in a different way, and I'll talk about how many of the issues that were a problem in the past have been addressed or have workarounds in CF9, and try to explain it better than I did last year. Although a lot of people enjoyed my presentation (which I was going to do on a CFMeetup, but it never worked out), there were some negative comments that I wanted to address in a new version, that I also didn't get to do on the Meetup which I was going to call "Object Influenced ColdFusion". Anyway, it should be an interesting talk, and I hope if you are planning to attend, you'll make my presentation.

A lot of my talk will fall in nicely with Dan's talk, as I'll be talking about CF9 a lot in my talk.

I should point out that this is not scheduled to be the only session on what I like to call, "Pragmatic OO in ColdFusion". In fact, there is a similar session scheduled. Since that person hasn't announced his session yet, I'll hold off talking about it here, but we're going to work on making sure we don't repeat ourselves too much. We're looking at it the issues from different perspectives, such as issues vs. technique.

Change a comment in an SVN log (or fixing a malformed SVN log file after changing a comment)

Posted By: Brian Meloche; Posted At : December 10, 2009 1:46 PM

Related Categories: Subversion, Notes to Self

This post falls into the category of "self-reminders".

Several months back, I ran into an issue with a corrupt Subversion log entry while trying to update the comments in a log. I found this post then on what the problem was, and how to fix it:

svn: malformed file recovery

Back up for a minute... Why corrupt? How would that happen in the first place?

OK... let's say you post a comment when doing a commit, and you realize after committing that your comment was pertaining to the wrong fix, or you didn't make a comment and needed to, or did but you left something off. You can try to do this through your SVN GUI or maybe command line, but I've seen times where that change didn't work. You try to go into the repository manually, and you find where the logs are located, you find the revision and comment, change it, and... voila! Corrupt! You do a sanity check and discover that manual edit was the cause of the corruption. So, now what?

Let's take you through just that. Learn from my mistake!

Simply put, finding the revision comment in the log is easy enough to fix, assuming you have access to where the repository is stored (as opposed to access to the repository). Just go into your actual repository. You should find a "db" folder, then a revprops folder, and then a 0 folder and finally a file for the revision you want to change. On Windows, you should have something like this:

C:\{where my repositories are stored}\{repo name}\db\revprops\0\{revision number}

Assuming your comment hasn't been changed yet (it won't matter below), open that file, and you'll find the comment at line 12 that you want to change and change it.

Thought that was easy? Nope, not quite. Save the file, and then try to browse your repository log. You should now get a malformed file error message. If you had this before, you're probably snickering, as you're no farther ahead.

Now, go back to that revision number file that contains the log comment. See line 11? That should say V, then a space, and finally a number. That number is significant. That represents the number of characters in line 12. Count the number of characters on line 12 and replace the number on line 11. Save the file and try browsing the log again... problem fixed.

I thought this mental reminder would help others as much or more as it'll help me!

CF8 Cumulative Hotfix 4 is out... and LightFront continues...

Posted By: Brian Meloche; Posted At : December 5, 2009 2:18 PM

Related Categories: ColdFusion, Frameworks, Adobe, LightFront

It's been a while since my last blog post, so I thought I'd kill two birds with one stone, so to speak, as this post has two subjects. I'm terrible about blogging! :) I figured I could get this one out quickly so here goes!

Subject #1: LightFront development continues...

My last posting was on LightFront back in October. Don't take that to mean nothing has been going on with LightFront... it just means I've been too busy these days to blog much! LightFront has received a lot of updates since that post, and I even did a presentation on it for the CFMeetup: http://experts.na3.acrobat.com/p15958860/. That was back around version 0.4.0. I now have 0.4.3 in a branch, which is fully functional and feature complete (for 0.4.3, not for everything that will go into 1.0.0), but example 2 hasn't been brought up to speed yet. I hope to get to that in the next couple of weeks after I complete a project that's taking all of my bandwidth these days. 0.4.3 brings in full support for the model with the new initService() and initComponent() functions, as well as the new callAction() that will replace callEvent() in the next release, and loadAction(), which allows you to load an action into the request scope instead of outputting it directly. It's a great leap in the framework, despite the version sounding like it's a point release. If you've been using LightFront, make sure to start using callAction() instead of callEvent(), as callEvent() will be deprecated in 0.4.4 and removed in 0.5. This is in reaction to Joe Reinhart's comment in the previous blog entry, and I do agree that "event" portrays LightFront as an event-driven framework, which implies implicit invocation. There's nothing implicit about LightFront, and that's because you call your actions directly (explicit invocation). If you're looking at LightFront for the first time, use 0.4.3, which you can get at RIAForge (see link above).

Subject #2: A new CF 8 cumulative hotfix is out...

A mystery still present in the Adobe CF space is how word gets out on hotfixes and security updates, which don't always get the publicity they need to get them out into the public. Though I'm a registered CF8 user, I never get any emails from Adobe on these, and I wish that would change.

I got word of this one in, of all places, a Google alert. I thought I'd pass it on.

Adobe has just released cumulative hotfix #4 for ColdFusion 8.0.1. You can find more information about it here:

http://kb2.adobe.com/cps/529/cpsid_52915.html

LightFront: The incredibly simple & approachable MVC Framework for ColdFusion

Posted By: Brian Meloche; Posted At : October 7, 2009 5:59 AM

Related Categories: ColdFusion, Frameworks, LightFront

I'm finally blogging here about my new MVC framework, which I call LightFront. I first published it on RIAForge on August 31st, and I finally made the project publicly available on RIAForge on October 1st, with updates almost every day since.

I'm not at MAX this year (sorry no CFConversations episodes from MAX this year), and it's been a bit difficult for me to get out a podcast at the moment (a logistics/timing/personal issue... not worth discussing here, but I have two episodes almost out the door), so I thought it was time to post a blog entry about LightFront here.

First, here's where you can find it, and find out about it (beyond what I have said below):

LightFront is an MVC framework for ColdFusion. What, another one? Yes, another one. This one's a little different than the rest, although it's a close relative to one of them.

LightFront is short for Lightweight Front-controller. Unlike most of the CF frameworks out there, it uses only one CFC, and it's just a little bit above 200 lines, so it's straightforward enough most of you reading this with a CF background can look at the core and understand what's going on.

It's conventions based. If you follow conventions, you only have to set three settings in your Application.cfc. That said, there are some conventions that can easily be overridden with another setting. Need to put your views in the /includes/ folder (and subfolders) instead of the default /view/ folder? No problem - that's just an additional setting:

lfs.viewDirectory = "/includes/";

There are some optional settings, too, but I'll get to that below.

Your controller is all defined in CFCs. You don't need an XML file. As previously stated, all of your settings are defined in your getSettingsForLightFront() function in Application.cfc as a structure. There are no additional XML files to config or define your events... do that in your CFCs.

That's if you use CFC-based controllers. The folder has to exist, but you don't need them to make LightFront work. LightFront has a unique feature. You can also use switch-based controllers, a la Fusebox 2 and 3. It can take a switch file from an old Fusebox app and it will work in LightFront. That's not to say LightFront is 100% Fusebox compatible, and I don't intend on making it that way, but I think we can offer an easier update path on old Fusebox 2/3 sites than even Fusebox/FuseNG can. It does make it a lot easier for a team who wants to move into CFC-based apps to gradually transition into that architecture while at the same time still maintain legacy Fusebox-ian style applications. There are a couple of additional settings to add if you have a Fuseboxian switch/circuit to add to LightFront, similar to how you define circuits in Fusebox, but it's very simple to do.

LightFront is also easy to make work with legacy applications that use no framework at all. Let's say you have an application that has index.cfm, aboutus.cfm, contactus.cfm at the root. No problem. Create a view/home mapping and point it to your root. then, you will be able to call /view/home/aboutus.cfm as displayView("home.aboutus") or displayView("home/aboutus").

That is a double benefit. Let's say you have a site which has a number of static or mostly static pages. You don't need a switch or a CFC controller if you follow simple conventions. If you want to call a static /view/home/aboutus.cfm directly as an event, no problem. As long as all home events are direct calls to view pages and don't use a home.cfc controller or a home switch file, you're fine. Your URL would be ?/do=home.aboutus. LightFront will automatically check for the existence of a home controller. If it doesn't find one, it will try to call /view/home/aboutus.cfm and it will display that as the event. This is also great for prototyping a site, too. You can also define pre-events and post-events, should you need to call events before and after each url called event (they only run once per request).

You can also map assignments from one event class to another (help.contactus goes to home.contactus), change event names (do) and delimiters (.), change naming conventions of the CFCs, and a few other things.

The closest currently supported framework that I know of in ColdFusion to LightFront is FW/1. In fact, Sean beat me to the punch to release FW/1 over LightFront by a few days. I had to go back and see if LightFront was worth it at all to complete, and stopped working on it for a few weeks. After a lot of reflection and some deep analysis of the two frameworks, I decided just before CFUnited that LightFront would continue. FW/1 is very similar, but it doesn't support legacy applications quite as easily as LightFront does, it's more conventions based than LightFront and less flexible in how you code (some would say "more opinionated"), and it ties into ColdSpring or Lightwire and the services layer. I intentionally decided not to do this. It's not that I disagree with using dependency injection/inversion of control or a simple bean factory, or in the idea of a services layer (all my apps have them). It was a conscious decision for LightFront to be a controller framework - nothing more and nothing less. The same can be said for ORMs - LightFront doesn't care whether you use them or not. It's up to you. LightFront only cares about being the controller. In fact, FW/1 and LightFront have so much in common that I could see them merging at some point if that's what people want, or they could travel separate paths. I'm open to either possibility.

Where I see LightFront going depends on what developers that use the framework want. As the first developer to use the framework :-), my thought is if people want what the big frameworks have, those things would go in via a plug-in architecture. Perhaps that would continue to be in the controller folder, or a plugins folder... I don't know. That said, it's fairly simple to build a controller CFC that functions like a filter or add a controller CFC that handles caching, and building those things directly into the framework adds greater complexity to the framework - something I am dead set against. I want to keep LightFront approachable, easy to learn and easy to use.

In fact, one of my goals in making LightFront was to make a simple framework for people to use. I wanted something that didn't require a CS degree or 10 years of CF experience to understand. LightFront should be a framework you can teach any developer the basics in 30 minutes or less you have to learn three functions:

  • callEvent()
  • displayView()
  • relocate()

That, and a few helpful settings changes, are all a developer needs to know.

If you can keep things simple enough for a junior developer to both be productive AND build good code, LightFront will succeed in its main objective.

Anyway, I hope you take a look at the framework, join the Google group and help shape the new framework. And now, back to CFConversations!

Want a stripped down Eclipse? A 64-bit Eclipse? Get it here...

Posted By: Brian Meloche; Posted At : September 22, 2009 4:00 PM

Related Categories: ColdFusion, Eclipse

Since I was first introduced to Eclipse about 3 1/2 years ago (via CFEclipse), I've had a love/hate relationship with it.

I've loved the power it gives you, particularly in most of CFEclipse (though it's also but I've found myself going back to other IDEs and editors. I've always found Eclipse to be slow, bloated and often buggy. Mind you, those are often the fault of the plugins I use, but that's always been a sore spot.

Eclipse just is a pig. Well, that's what I thought, but I'll get back to that in a minute.

I never know... WHICH version of Eclipse should I run? I've tried the J2EE version, but that's the biggest one, and as a CF developer, installs a lot of plugins that I don't use, and although some of those I may use or use occasionally, many of those plugins I'll never use. The Java version in the past gave me problems, but that was a couple of versions back. I've thought of running the PHP version, but... I don't use PHP much, so that's not a great match. Classic? Yeah, but that installs all the source code, and I don't see myself in the immediate future needing that. I've tried the newer interactive builds like YOXOS, Pulse and I even tried MyEclipse once (trial). I've tried standalones of Flex Builder (now Flash Builder), and now ColdFusion Builder. I thought maybe CFBuilder would be the ticket - but... well, it's a beta, and even that's not been the best experience.

I have wanted a stripped down Eclipse - one that had only the plugins that I installed, and nothing more. I've looked, but hadn't found it.

Recently, I've been running a Vista 64-bit edition, and have just converted my laptop (as of last night) to Windows 7 64-bit to take advantage of all the RAM I could throw at it. Strangely, I searched, but could only find a 64-bit for Linux. Surely, I thought, there HAD to be a Windows 64-bit.

That's where these two journeys meet each other.

Thanks to a reply on a list that I belong to (thanks, Andrew), I've found both (for Galileo - Version 3.5 - the latest at the time of writing) here:

http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/

YES, there IS a Windows 64-bit version of Eclipse. It doesn't seem to exist as a package, but it definitely exists. Mac lovers? There's a 64-bit OSX version, too.

The category for the one that's stripped down, with no extra extensions is called: Platform Runtime Binary. You'll find that about half way down the page.

Now, that said, you'll have to download and install the plugins you want... but that's just it... install Eclipse as small as you need to, and don't add stuff you don't need. In previous versions of Eclipse, this would have been a major pain, but Galileo will include the dependencies you need.

Anyway, it was a MAJOR find when I found both the 64-bit Windows Eclipse AND the stripped down Eclipse all in one! I thought I should share it... since it took ME so long to find it.

Kudos to Andrew Scott for the tip that helped me solve two problems at once!

UPDATE 1: Get the latest downloads here:

http://download.eclipse.org/eclipse/downloads/

That page will always have a link to latest and greatest. For example, the June 11th build is linked today, but when 3.5.1 comes out, and newer releases as they come out, you'll find the links here. You'll also find early Eclipse 3.6 builds as well as the 3.4 (Ganymede) builds.

UPDATE 2: Eclipse 3.5.1 came out late last week so the latest and greatest can be found at:

http://download.eclipse.org/eclipse/downloads/drops/R-3.5.1-200909170800/index.php

(I'll update this post with more links later, if you need them...)

Having problems installing a new instance of ColdFusion 8 or 9 on J2EE with JRun?

Posted By: Brian Meloche; Posted At : September 17, 2009 12:03 AM

Related Categories: ColdFusion, J2EE

Like many of you, I have been testing out CF9, and I ran into a problem that I thought I'd share that's not CF9 at all, but... well, here it goes.

I usually install my CF locally as a J2EE install, as that gives me compatibility with back at the office and more flexibility (my long overdue multiple instance blog post will have to wait, but this is related).

I need to keep running and supporting ColdFusion 8.0.1, so rather than messy double installs, I installed CF9 as an EAR file. Initially, I had some successes, but when I had to uninstall everything and start from scratch on an unrelated issue that I won't get into here, I couldn't install CF9 as an instance. It kept failing on deletion of folders, like this example:

There was a problem Message: The specified directory attribute V:\JRun4\servers\cfusion\SERVER-INF\temp\cfusion-war-tmp\{UUID here}\cfusion.ear\cfusion.war\WEB-INF\cfusion\temp_zip cannot be deleted. Detail: You may not have permissions to delete this directory. The exception occurred during a cfdirectory action="delete".

It was not a permissions issue. I bumped up CF8 to run as an Admin on the notebook. Same result. It also wasn't CF9. Although I hadn't replicated it before, I since replicated it twice on a CF8 EAR file.

I will backtrack to say this is on an HP laptop, running XP SP3 with an effective 3GB RAM from 4GB (after running Physical Address Extension).

After reporting the issue to Adobe, and trying many variations on the install, a couple of guys from the CF development team asked me to turn off my Antivirus - eTrustITM - to see if it would work. I wanted to go further, so I turned off: Firewall (XP standard security), eTrustITM antivirus AND PestPatrol, and try installing until I could find a culprit.

Turning on each of them and not the other two resulted in good installs for each. That told me it wasn't one of them, but a combination of two or more of them was the problem.

It was the combination of eTrustITM - antivirus, AND PestPatrol that caused the problem. Turning those two on and leaving the firewall off caused the failure again.

Anyway, I bid you a cautionary tale - if you try running a similar J2EE JRun install and try to make a new instance... beware that you should turn off both antivirus and anti-spyware program before doing so. I hope it helps someone out there. And thanks to the Adobe team who were able to steer me in the right direction!

An SVN Server Commit Gotcha... Why can't I commit? Check case sensitivity!

Posted By: Brian Meloche; Posted At : August 23, 2009 1:47 AM

Related Categories: Subversion

My friend Dan Vega has become a blogging machine lately, and he keeps telling me that I need to blog some of the many pearls of wisdom I've collected. This one's bit me now twice, so it's time to blog it.

I have been doing a lot of work in recent months with Subversion, setting up two Subversion servers in different environments, both on Windows.

I ran into several issues setting up one of those servers. There is a TON of content I have on that - I could probably teach a course of setting up Subversion on a Windows server at this point... but I do suck at blogging, specifically finishing a blog post before it goes stale... so I'll keep my posts short and let out what I've learned as I have time (not often, including now!).

With that, here is my first Subversion blog post of what I think will be many to come... Even though you might set up Subversion on a Windows server, beware of case sensitivity. Yes, that's right... it's case sensitive.

In one of the installations I've recently completed, we're using the SVN server as a service rather than Apache. Why is the subject of a future blog entry, so let's keep that out of it for this one.

When you point to a repo that uses the SVN server and you have commit rights on the repository, make sure you use the correct URL and that includes case.

In other words, if your repository is called ProjectX, and you point to:

svn://www.yourrepo.com/projectX

You will have no trouble grabbing updates to your working copy, but when you commit, it will fail, and you'll get a notification like so:

8/23/2009 - 12:21:04 AM
Command              : Commit
Error                : Commit failed (details follow):
Error                : Authorization failed
Finished!            : 
1 kBytes transferred in 0 minute(s) and 13 second(s)

The correct URL would be:

svn://www.yourrepo.com/ProjectX

To change the URL, you have to relocate the working copy to the correct URL. Your Subversion client will object, warning that you may corrupt your working copy. Ignore the warnings, and proceed. Once you have relocated the working copy, you should have no trouble performing a commit to the Subversion repository.

A colleague of mine had this occur about a month and a half ago, just after that Subversion server was set up. Tonight... I had the same issue, though it took me a while to realize what I had my colleague change the first time. It was my first commit to this repository in some time, so I hadn't noticed my error until now.

If you are using Apache, you won't be able to update or commit, so it becomes pretty obvious when you first try to set up your working copy that you entered the wrong URL. The SVN server is a little more subtle, and it won't become obvious until you try to commit.

As they say, fool me once, shame on you... but I was fooled twice, and I should have remembered this one a lot sooner than I did tonight! :-) I hope this helps someone out there.

About to leave for CFUnited

Posted By: Brian Meloche; Posted At : August 11, 2009 7:15 AM

Related Categories: ColdFusion, About Me, CFConversations, Conferences

I am about to leave for CFUnited... I just wanted to just send out a quick post.

It's been a while since I've released a CFConversations episode, just due to me being insanely busy on a bunch of things. There hasn't been any time for a podcast, but I'll be trying to get some out this week, including ones recorded at the conference.

I'll be hosting a day 1 open mike round table podcast scheduled for 5:30 on Wednesday, and CFConversations will be situated in the Legolas room throughout the conference, interviewing and podcasting away. Anyone who's at the conference can attend the open mike session, to listen and/or participate, and I'll be looking to schedule interviews throughout the conference.

That's all I have time for right now, but for more, see here:

http://www.cfconversations.com/index.cfm/2009/8/11/I-know-I-know-On-my-way-to-CFUnited

The ColdFusion and Flex Tours come to Cleveland this Wednesday!

Posted By: Brian Meloche; Posted At : June 12, 2009 3:56 AM

Related Categories: CFConversations, User Groups, Cleveland AUG, Podcasts, ColdFusion, Cleveland, Flex, Cleveland CFUG, Adobe

On Wednesday, June 17th, join us for what will be the biggest Adobe user group event in Cleveland history! All of the official Adobe groups: The Cleveland ColdFusion User Group, the Cleveland Flex User Group, the Cleveland Adobe User Group and the Cleveland InDesign User Group join forces for this big, big, BIG... SOOOOO BIGGG event that you'll want to be there!

The ColdFusion 9 and Flex 4 tours are here! Adam Lehman of Adobe, who was featured on CFConversations this week, will be our speaker for this event.

If you're in or near the Cleveland area, join us! It's at 6pm, and at the offices of:

Dealer Tire, LLC 3711 Chester Avenue Cleveland, OH 44114

There will be food, beverages, and prizes, along with swag!

If you are planning to attend, it's imperative that you RSVP on the Cleveland CFUG website.

If you're not in the area, check out your user group website for more information about a tour date in your area.

The new me at cf.Objective()

Posted By: Brian Meloche; Posted At : May 16, 2009 1:20 PM

Related Categories: Weight Loss, About Me, Conferences

A lot of people have asked me to upload a pic, and thanks to O?uz Demirkap?, I've got one:

UPDATE: I forgot to say that on my last weigh-in on Wednesday (at the gym located in the hotel), I weighed a super unofficial 279.8 lbs. That makes my current weight loss total at 98.7 lbs!

UPDATE 2: I am back from cf.Objective, and weighed in today (5/17) at 278 lbs. That means I have now lost over 100 pounds! 100.5, to be exact. Here's another pic:

At cf.Objective(), and I'm no longer CF_Heavy...

Posted By: Brian Meloche; Posted At : May 13, 2009 6:51 PM

Related Categories: Blogging, About Me, Conferences

I arrived in Minneapolis this afternoon, and am waiting for the fun to begin for CFObjective. My presentation is on Friday, What to Do When OO Fails You in ColdFusion. It should be interesting, and I'm looking forward to presenting it.

If you are reading this on my Blog, you'll see that I've finally got the last couple of kinks out of the new design, and I've just uploaded it. I found the Notepad theme at Skinpress. I made several mods to it, including the background from the main column is completely different, a few font differences and many of the icons are different as well.

Weight loss update: As of last Sunday, I have lost a total of 94 pounds since June, and 51 of that since the surgery on 2/27. I'm probably down even more as I write this, but until I get on the scale, I won't know for sure.

With that, I am retiring the CF_Heavy name of this blog. I may STILL be heavy, although a lot less heavy, and you will see that those days will soon be over. It no longer seems appropriate, and I will discard that just like I have the clothes that used to fit me only a few months ago that are now WAY too big.

UPDATE: I've finally uploaded a pic, which you can see here.

So how AM I doing?

Posted By: Brian Meloche; Posted At : May 4, 2009 1:51 AM

Related Categories: Weight Loss, About Me

I'm doing well, for the most part.

After some coaxing, I thought I'd finally say the things here that I should have said on here for months now.

Before I get into the now, how, what and why, here's some backstory, and I'll take you step by step through the last few months, as I had planned to blog about it, but hadn't until now. I have Twittered on it a lot, but until now, no blog entry.

For those of you who have never met me, except for a few years in high school and at the start of university, I've been big most of my life. It's embarrassing to say how big I've really got. I hope by coming clean, my story can help others.

I had been considering weight loss surgery for the last two or three years. I was reluctant, and thought I should give it one last try the old fashioned way, like I did seven years ago. I'd say over the last two years, I started having issues I never had before. Over the last year, my health was just getting worse and worse, and I had enough. I realized it was time to take it off once and for all. Something needed to be done.

I came close to losing the weight seven years ago. I was 380 pounds then. I went on a low carb diet, got a gym membership and a trainer, and started working out like crazy. I had one point where I lost 29 pounds in 29 days. I thought I had it. I had lost over 100 pounds. However, that success was short lived. In November of that year, I switched jobs, and moved from Jacksonville, FL to Charleston, WV a few months into working out very hard. That move didn't go very smoothly. I started work 2 weeks later than I was supposed to, of no fault of my own. I was broke, and couldn't afford a gym membership, and had to use the crappy gym at the apartment building. The workouts slowed down and I eventually stopped working out. I lost my momentum. The weight loss slowed, then stopped, and then I gradually started putting it back on. After my mother passed away, and some other stress, the weight gain accelerated. By late 2004, I had gained all but about 25 pounds of it back. By 2006, I gained it all back. I fluctuated from that point on, but with my health worsening, it was time.

I had friends who had the surgery, my wife had it, and I knew it was the right thing and the right time to do it for me. Surgery is not a cop-out. You still have to do everything you'd do to lose the weight without surgery. It only makes it more difficult to overeat. It's an insurance policy, and if I do everything I am supposed to, I will lose the weight.

The weight loss process actually started months ago, June 25th to be exact. I weighed 378.5 pounds that day, the day I went to the surgery workshop.

What's worse? Two weeks later, at my family doctor, I gained and came in at 381, tied for my all-time high, which I set two years before.

On August 5th, I started six months of medically supervised weight loss, as per my insurance carrier. I weighed 375 that day, and was asked to lose 20 pounds in the next six months. It seemed attainable, though so far away.

A few weeks later, another trip to the family doctor, and tests were run, and for the first time in my life, I had type 2 diabetes. I had tested positive a few times, but this was the first time I had fasted before the test, so it was clear that I was diabetic. Though it wasn't high enough for insulin, I was put on metformin, a pill to help control blood sugar. That diabetes news made me more serious to lose than ever. It was quite a shock.

When you're told you need to lose 20 pounds in six months, you might do what I did at first, and not take it too seriously, even with the diabetes news. It seemed so far away that it was hard to take seriously even though it was more clear than ever I needed to lose the weight. The closer I got to the six month deadline, the more serious I got.

By MAX, I was down to 361 pounds, only six pounds from my goal, and that's the weight many of you saw me at last.

Somehow, a week away from home (vacation after MAX) and I gained ten back. I still can't figure out how because I didn't eat badly while I was away and got a lot of walking in. I had only about six weeks left in my six months, and I was at 371 - 16 pounds to lose! I was shocked, and still am about that weight gain, but that got me even more serious. Two weeks later, at my weigh-in, I got that 10 off and reached 360.4 pounds. A bad month, only .6 pounds lost, but my goal was still in reach and considering I got that 10 pounds I gained off, I was happy.

Thankfully, after six months, I reached my goal and a little more. I got down to 353 pounds, down 22 pounds over that six month period.

A month later, I got the call that I was approved for surgery, set for Feb. 27th.

Two weeks before the surgery, I was put on a strict 800-calorie liquid diet. Through that, I lost another 18 pounds. My weight the day before the surgery was 335.5 pounds.

The surgery itself went well. I was on my feet and walking the night of the surgery, and was out of the hospital in only two days. It was not that bad. I fought through the pain. My mother, may she rest in peace, told me that your only goal once you're in the hospital should be to get well enough as fast as you can to leave the hospital as soon as possible. I kept hearing her advice to me and she was right. She motivated me. Only two incisions caused any serious pain, but the major pain was something I wasn't prepared for: Gas. No, not that kind of gas!!! :) When they do laparoscopic surgery, they pump your cavity full of gas, and most of it stays in you. Once I realized that the pain medications they were giving me weren't doing anything for the majority of my pain, I realized it was gas pain, and although it was painful, I ignored it as best as I could. It took about a week to get rid of that gas, passing it as any other kind of gas, but I had to absorb it before I could release it! :)

The day after I got out of the hospital, I went to the gym. I started slow, on the treadmill only, and slowly increased my exercise routine over the next two months. Up until a few days ago, I have been working out 4-6 days per week.

Last Tuesday, April 28th, I officially broke the 300 pound milestone, weighing in at 295.1 lbs. That was a big milestone for me. To put that into perspective. I haven't been that low since before I was a user group manager, in early 2003. That means I've lost 83.4 pounds total, with 40.4 lost since the day before the surgery. Most of you reading this didn't even know who I was back then!

Unfortunately, the last few days have slowed me down a bit. I got rundown, had abdominal pains and became light-headed. I didn't drink enough, and I think my electrolytes or vitamin absorption is a little low. It could also be a flare up of diverticulosis. I am better now, but still not quite 100%, and I will probably see a doctor if I still don't feel quite right in a few days. I should be OK, I am better, but not 100% yet. I've still got occasional abdominal pain, but it's not like it was. At the time of writing, I haven't worked out since Tuesday, five days ago.

There are some things that it's difficult to get used to after surgery. You're not supposed to eat and drink at the same time. You are supposed to stop drinking 30 minutes before eating and not start drinking again until 30 minutes after eating. Sometimes, you have a hard time eating. You'll eat too fast, or too much, and it gets stuck. When that happens, it takes a while to get unstuck. Sometimes, you have the opposite: It takes you a long time between bites, and a meal lasts hours. When either of those happen, you can have a lot of trouble getting in enough fluids. You also have to make sure to get at least 60 grams of protein per day and it can be a challenge on those tough days. I get lots of protein some days, but the days you could dehydrate are also days when you might not get in enough protein.

It's late, and I really should go to bed, but before I do, it's been five days, and I haven't gotten in a workout. I vow to you that, despite the very late hour (and all of the edits I've made since posting this entry), I am about to go on our elliptical machine and get my first workout in since Tuesday. I've been busy today, and these two blog posts and one I made on the podcast blog didn't help me get down there any earlier, but I'm definitely well enough to workout, and I will after I stop editing this entry! As I said in my last blog entry, I can edit myself to death at times.

Update: Yes, despite the late hour, I did do an hour on the elliptical, which said I burned 833 calories. It was good to get that in, and get that workout in on the fifth day (though, technically, it was the sixth by then). So, I took four days off.

By cf.Objective(), in a week and a half, I will probably be under 290, which would mean I will have lost somewhere around 90 pounds total by then, assuming the last few days without working out haven't slowed down my weight loss too much.

What's my goal? Well, I'm keeping my goals small, and attainable. When I make that goal, it's time for the next goal.

My first goal was to get under 350, and I did that just before the surgery. Next was 320, which I made about one month after surgery. The 300 goal was next, and I passed that one on Tuesday (officially, but I unofficially passed it the Saturday before, when I weighed 298 at the gym). My next goal is 275, 20 pounds to go. That's another big milestone. During three previous weight loss attempts, including the attempt in 2002 and two earlier attempts where I started at a lower weight, I plateaued between 277-279 each time. Making it to 275 will mean that this attempt has been more successful than any other attempt to lose the weight in the last 15 years or so. Assuming I make the 275 goal, my next goal will be 250. Other goals I've thought about are 225, 200, 180, 160 and if I get that far, I'll try 145, which I weighed at 17 and I was the best shape of my life. Now, I doubt 145 is attainable, and 160 may not be. They are not goals. I only have one goal right now and that is 275. I don't care about any goals I might have down the road, even though I have what those goals might be in my head. Before I could get to 250, I have to reach 275, so that's the only goal that counts. Keeping my goals in reach is the right way to do it.

What's more, I may say those will become goals, but that may change. Like many who have been overweight for years that manage to lose it, I have no idea whether I will have a lot of loose skin, or if I will be one of the lucky ones. That will have a bearing on how much weight I will be able to lose. That loose skin can weigh a lot, too, or so I am told. I may decide it's better to beef up, and go muscular and that may keep the weight up but have less loose skin. My point is that having loose skin will be a problem, but it's a problem I'd like to have, and that's some months from now if at all. As I say, the next goal only becomes one when the previous goal is reached. Those weights mentioned above and proposed goals may and probably will change.

So far, despite the little setback in the last few days, I do highly recommend getting the surgery if you're morbidly obese and decide, like I did, it's time. For one thing, my diabetes is gone. In fact, it was gone within a few days of the surgery, and I no longer take any medication for it.

Pictures? No, I don't have any yet to show. When I do, I'll post them. I know I need a few, and I'll probably have some by next week.

So that's how I am doing. Any questions?

I suck at blogging! I'm better at Twittering!

Posted By: Brian Meloche; Posted At : May 4, 2009 1:18 AM

Related Categories: Weight Loss, About Me

Look at me... it's been almost three months since my last blog entry, and there have been no CFConversations since 2/24. What gives?

People might know I've had surgery recently, and are wondering how I'm doing, and still nothing on the blog until now. I'll talk more about the surgery in my next post.

On this blog, I tried to complete a new blog design before my surgery, but just didn't quite finish it, and haven't gotten back to it. I think that failure turned me off a bit from the blog. Who knows? Maybe I'll work on it when I'm at the airport or on the plane coming or going from cf.Objective() and get it done. It's a really nice design. I took two Wordpress designs, made a few custom changes, and came out with something nice. I just have to fix up a few pieces, like comments. My favicon is a bit of a sneak peek of the design, though I changed the colors slightly since then.

I am one of those people who just can't get a blog entry written. To be honest, I used to ATTEMPT to blog a lot, 90% of what I would write would either get lost (a browser crash, an incomplete thought), goes stale (a nearly finished post that sits, and is no longer relevant) or otherwise never sees the light of day.

My other tendancy is that I edit myself to death and edit so much that I just don't feel like sending it out. I do that in emails, too.

If you are clamoring to hear from me, rather than checking the blog, check me out on Twitter,, as I do post a lot there: http://twitter.com/coofuushun

It's probably ADD-like symptoms, but I tend to get out entries easier if I am limited to 140 characters. :) I've said quite a lot on there. You can go back and look at what I've tweeted to get a sense of things. I'm on Facebook, too, and most of what I tweeted went to Facebook also.

Another reason why I haven't blogged... the podcasts. I've had two episodes to finish up since before the surgery, and I just got another long interview done tonight, and probably a bunch more at cf.Objective(). I thought I would have had at least another five published after the surgery by now, but it's been difficult getting time to do the editing, first while recovering, then getting back to work, and now working and working out. I haven't want to blog until I could get podcasts out.

Nevertheless, and a friend suggested I REALLY should blog something.

I am doing well, and recovering well from my surgery. In my next post, I'll tell you how well.

My Blog has moved to HostMySite...

Posted By: Brian Meloche; Posted At : February 8, 2009 5:47 PM

Related Categories: Blogging, About Me

Yeah, I know I don't update my blog as often as I produce CFConversations, my ColdFusion podcast. Part of the reason for that was a long standing change I had to make that I just never got around to. This weekend, in preparation for some personal things coming up, I decided I had better get this done now, and I wanted to get it done before I had to pay another hosting bill.

My blog has been moved over to Host My Site, hosted where CFConversations is also hosted. The old and dated look and feel is on the site for now, but I plan to give it a really nice change in the next few weeks. Thanks to Host My Site for getting me setup, particularly Rory, one of the tech support guys who was very helpful in getting a few remaining things finished in the changeover.

If you are a subscriber, you will notice the emails are now coming from a brianmeloche dot com domain. That was also changed in the process.

Server Side ActionScript in ColdFusion: The VIDEO

Posted By: Brian Meloche; Posted At : December 1, 2008 9:55 AM

Related Categories: ColdFusion, MAX, ActionScript

After MAX 2008 in San Francisco, I went on vacation, so I'm sorry it's taken me so long to get this uploaded.

However, I've finally uploaded a video of the ColdFusion sneak peek from MAX 2008, showing the server side ActionScript functionality in ColdFusion:

http://www.youtube.com/watch?v=uImhKFhwAu0

CFConversations 20 - Controller Frameworks Roundtable - Part 2

Posted By: Brian Meloche; Posted At : November 18, 2008 8:57 AM

Related Categories: Podcasts, CFConversations

CFConversations 20 is part 2 of a two part series on controller frameworks.

Both episode 19 (part 1) and 20 were well received by those that have listened to them so far. The plan is to do more framework roundtables over the next few months, focusing over ORM/data, dependency injection and testing frameworks.

Hosting provided by...

Hosting provided by hostmysite.com

Calendar

<< July 2010 >>

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Archives By Subject

  • About Me (41) [RSS]
  • ActionScript (1) [RSS]
  • Actuate (1) [RSS]
  • Adobe (16) [RSS]
  • Adobe Community Professionals (2) [RSS]
  • AIR (1) [RSS]
  • AJAX (1) [RSS]
  • Animals (11) [RSS]
  • Articles (2) [RSS]
  • ASP (1) [RSS]
  • Blogging (14) [RSS]
  • BlueDragon (2) [RSS]
  • Canadian-American (1) [RSS]
  • CFConversations (16) [RSS]
  • Cleveland (3) [RSS]
  • Cleveland AUG (20) [RSS]
  • Cleveland CFUG (23) [RSS]
  • ColdFusion (78) [RSS]
  • Conferences (33) [RSS]
  • Design (3) [RSS]
  • Dreamweaver (1) [RSS]
  • Eclipse (1) [RSS]
  • Flash (2) [RSS]
  • Flex (10) [RSS]
  • Frameworks (7) [RSS]
  • Fusebox (1) [RSS]
  • J2EE (1) [RSS]
  • JavaScript (1) [RSS]
  • Jobs (2) [RSS]
  • LightFront (6) [RSS]
  • Linux (2) [RSS]
  • Mac (3) [RSS]
  • Mach-ii (9) [RSS]
  • Macromedia (9) [RSS]
  • MAX (34) [RSS]
  • Notes to Self (1) [RSS]
  • Open Source (7) [RSS]
  • Personal (16) [RSS]
  • Podcasts (23) [RSS]
  • Politics (1) [RSS]
  • Railo (0) [RSS]
  • Random Musings (10) [RSS]
  • Reality TV (1) [RSS]
  • Social Networking (1) [RSS]
  • Speaking (7) [RSS]
  • Subversion (2) [RSS]
  • Tech News (2) [RSS]
  • Technology (2) [RSS]
  • Tutorials (1) [RSS]
  • User Groups (22) [RSS]
  • Videos (1) [RSS]
  • Weight Loss (4) [RSS]
  • Windows (0) [RSS]
  • Work (8) [RSS]
  • Search

    Twitter Updates
    Follow me!

      RSS

      Subscribe

      Enter your email address to subscribe to this blog.

      Tags

      about me adobe animals blogging cfconversations cleveland aug cleveland cfug coldfusion conferences flex max personal podcasts random musings user groups

      Recent Comments

      LightFront 0.4.4 has been released, and... my CFObjective talk...
      maertsch said: great presentation. really cool anti-mainstream but with lots of facts. i have learned a lot. thanks... [More]

      LightFront: The incredibly simple & approachable MVC Framework for ColdFusion
      tech said: Thanks for work! Good article. I am a junior developer and wanna to try the LightFront =) [More]

      LightFront - New Video Series - Getting Started with LightFront
      Brian Meloche said: As they say, "it's not you, it's me". :-) I thought everything worked as it should. I'll h... [More]

      LightFront - New Video Series - Getting Started with LightFront
      Derek said: I believe 1600x1200. 24" monitor. Not at home to check, but looks like u gotten taken care of n... [More]

      LightFront - New Video Series - Getting Started with LightFront
      Brian Meloche said: I must have a newer version of the Flash player or something. I was able to replicate the problem. I... [More]

      Podcasts I Listen To...

      Active Podcasts
      CFConversations (My Podcast)
      CFPanel (technically not a podcast, but close enough!)
      RIA Podcast
      CFHour()
      The Flex Show
      Non-active CF/Flex Podcasts (still worth a listen)
      ColdFusion Weekly
      The ColdFusion Podcast
      Helms and Peters Out Loud
      Other Podcasts
      This Week in Tech (TWiT)
      Windows Weekly with Paul Thurotte
      MacBreak Weekly
      Net @ Nite
      Slashdot Review
      Ruby on Rails Podcast (I'm not a Rails developer, but it's always a good idea to stay in touch with the competition!)
      Web Design Podcast from boagworld.com
      Practical Web Design Magazine