I am a Web Application Developer in Tampa, Florida (by way of Southern California) who has been lucky enough to gain diverse experience, learn from great mentors and find rewarding work over the last 11 years. Today I am on the WRECKINGBALL team, a digital marketing group with some great clients. I also work with some fantastic partners on proprietary software-as-service products.
Fortunately, my diverse experience allows me to keep complex projects simple and see the whole picture without losing track of the details. I love formulating a concept, executing the plan and evaluating and adjusting to ensure success. I thirst for feedback and demand personal growth. I strive to be aware of my weaknesses and improve daily. I most enjoy helping others achieve their full potential, as it also helps me reach my own.
This Web site exists so I can share my experiences in hopes of helping you. If I can help you reach your goals, please, let me know.
I have been doing a lot of work lately on optimizing a Web site for visitors on tablet devices such as the iPad, Zoom and Galaxy Tab. For some situations I found it helpful to spoof the User-Agent String for my favorite browser, Chrome. I thought I'd take a moment to share this simple tick today.
The Central Florida Web Developers User Group is holding our first Orlando, Florida meeting next Tuesday! Join us on the last Tuesday of the month (3/29/2011) at Full Sail University for two presentations to kick-start our Orlando meeting schedule! The Central Florida Web Developers User Group will continue to meeting on the first Tuesday of the month in Tampa, Florida and now will hold meetings the last Tuesday of the month in Orlando Florida.
The Life Cycle of a ColdBox Request
POSTED Tuesday, February 22, 2011
Keywords:
ColdBox
With the imminent release of ColdBox 3 I wanted to stop and share some examples of how ColdBox 3+ can be applied in a real world application. To start what may become a series of posts I thought it would be wise to first provide a foundation for these posts by explaining the life cycle of a ColdBox request.
Track and Report Errors in ColdFusion Apps using Hoth
How many errors are happening in your Web application?
If you answer "not many" you may not know enough about what is happening with your application. I love building Web applications--specifically, I build applications that deliver a great experience and quality service. In the game I play even a single error is one error to many. I am an advocate of test-driven development and I build all sorts of unit/integration tests to confirm my applications behave as expected. But, Web applications are constantly evolving and the way clients interact with our services constantly changing. Errors happen. They just happen. Sometimes it's a hardware failure and sometimes it is a bug in your code. I've been searching for a way to easily parse logs to pluck the relevant data. I've looked at logging products and definitely see their value; but, none solved my problem the way I required.
Introducing Hoth: ColdFusion Error Tracking and Reporting
Hoth is a lightweight, frame ...
Backbone.js Presentation Slides, Recording and Code
Yesterday I presented "Give your JavaScript some Backbone" at the Central Florida Web Developers User Group in Tampa, Florida. If you are interested in seeing what you missed you can access the recording, download the slides and get the code. The code is heavily commented (please ignore my spelling errors) so you should be able to take a self-guided tour as you learn how Backbone can work for you.
Monitoring Tomcat Performance with Open Source Software
Last night, I setup Tomcat monitoring for a Railo application deployed on Tomcat 6. Of course, Tomcat is just a servlet container so these instructions will work for any web-app deployed on Tomcat including Adobe ColdFusion, Spring, Groovy or your custom Web application.
This brief tutorial guides you on setting up JavaMelody which monitors a wealth of data--I've summarized a list at the end of this post.
This month it seems as if Amazon has sent a shockwave through the various developer communities I frequent with their announcement of the Amazon Beanstalk. Amazon selected Apache's Tomcat as the servlet container for their ground breaking product and a lot of people have started to ask about Tomcat. A few months ago I read a book on Tomcat and I recommend it to anyone considering deploying with Tomcat. However, the book does not cover URL Rewriting for search engine safe (SES) links–also called pretty urls.
October, 2010 I began a search for a JavaScript framework to provide a conventional structure to my applications. After spending hours (and hours) with JavaScriptMVC, PureMC, KnockOutJS, Sprote Core and even Google’s Web Toolkit nothing felt quite right. I setteled with Ben Naddel’s corMVC mainly because his code reminded me of the framework I would have written if I rolled my own. In fact, I even asked Ben to get corMVC up on GitHub so I could start playing with it and molding it to my needs. But, then I got some Backbone.
This morning you can experience my favorite Adobe TV video "Scubaman: Behind the Snorkel" in quite a few languages! But, that is not even the best part. The coolest new feature of Adobe TV is that you can translate Scubaman into your favorite language! Do you think Scubaman should be shared with people fluent in German, Japanese, Spanish or Arabic? If so, join Adobe TV's new Community Translation Project and translate Scubaman into the language of you're choice! The project launched last night and some great perks are in store for everyone who participates in the project.
I find myself shifting more and more of my focus away from the server and onto the client. When building Web clients powered by JavaScript proper management of your assets (you know, the JavaScript and CSS files) becomes increasingly important. I wanted to take a moment and share my current solution for managing assets which allows me to reduce HTTP calls in production, make my source transparent in development and allow JavaScript to be tested directly in Eclipse thanks to JSTestDriver.
Yesterday, I did a quick search for “Sort an array of objects with ColdFusion” and returned some pretty poor results so I wanted to take a moment to contribute an example to the community. This post shows how to quickly sort an array of objects into a struct and array.
A Look at ColdBox Resource Management
POSTED Tuesday, September 14, 2010
Keywords:
ColdBox
There are lots of great ways to manage your JavaScript and CSS assets. If you are managing JavaScript you may want to look into RequireJS which delegates the resource management to the client. You can achieve the same client-side management in CSS by using the @import declaration within your style sheets. To manage assets on the server using ColdFusion I had previously released a plugin for ColdBox called ScriptInclude. I have since stopped using it in favor of the following decorations to the ColdBox Request Context and wanted to take a moment to share with the community. Finally, I also wanted to share a new feature found in ColdBox 3 to help achieve similar results.
A recruiter contacted me seeking a Senior Web Application Developer who is a ColdFusion expert in Tampa, FL. I wanted to pass the information on in hopes of helping others in our community.
ColdFusion Builder can be Sexy
POSTED Monday, August 16, 2010
Keywords:
IDE, ColdFusion
Writing code in a dark color scheme makes you a better programmer. The evidence is overwhelming but takes a little discovery on your part. Fortunately, I have taken the time to document some instruction to help you transition from the boring "Mr. Anderson" coder into "Neo"--the badass deadline defying "there is no spoon" computer hacker.
Sharing Code on September 7, 2010 in Tampa, Florida
POSTED Monday, August 16, 2010
Keywords:
Community
On the first Tuesday of each month, the Central Florida Web Developers User Group holds a meeting in Tampa, Fl covering a topic of interest to our members. For the September 2010 meeting (09/07/2010 at 7PM), we are going to do something a little different. Inspired by Sean Corfield and the BACFUG, we are asking members to share their code, offer insight to help others and work on any problems our members may be having (or wish they could solve more elegantly).
As I surfed the Web to discover ColdFusion ORM examples, found messages in the CF-ORM Google Group and developed my own ORM application I realized how easily it would be to create an insecure application that allows a User to submit data you did not expect and have it persisted in the database. Fortunately, you can avoid this security issue by taking one little step during development.
Those who augment their development practice to include unit-testing--as I hope you have if you are following this series--can help insure they continue to embrace the discipline of 'test first'
by saving their understanding of the software-under-test (SUT) within the actual test. This practice guards against you or another developer modifying the SUT without informing the test. For example,
if someone adds a new property or function your test can alert you. This practice provides a little insurance to keep you honest to your promise to test first.
This practice can also check the implicit functions found within the SUT. Generally, I only check for the functions/methods I explicitly define within the SUT and ignore the implicit assessors
provided by ColdFusion 9. But, the samples below can check for both if desired.
On the first Tuesday of each month, the Central Florida Web Developers User Group holds a meeting in Tampa, Fl covering a topic of interest to our members. In July, I will be presenting on the crazy cool features provided by the ORM integration in Adobe ColdFusion 9 and the soon to be released Railo 3.2. If you are not a ColdFusion developer you should take a moment to participate to see what you are missing. If you are a ColdFusion developer and are not using ORM you definitely do not want to miss out.
You should take a moment to head over to the Central Florida Web Developers User Group ORM event page and register.
A unit test isolates and executes a small part of your software and compares the result with your expectations. The small part of your software being tested is generally called the Software-Under-Test (SUT). Isolation of the software (SUT) is improved when you fake the dependencies. Faking the dependencies is called 'Mocking'. Mocking will be covered in the next post in this series.
ColdFusion Web Developer Job in Tampa - $60-$75k Base
My client (who is also a member of the Central Florida Web Developers User Group) has an opening for a ColdFusion Web Developer. They are migrating to the ColdBox Framework and are seeking people with ColdBox (or other MVC framework) experience.
You can send me email or work with me for digital marketing, web design and application development.