<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Cutter&apos;s Crossing</title>
			<link>http://www.cutterscrossing.com/index.cfm</link>
			<description>ColdFusion Development, Life, and Other Stuff</description>
			<language>en-us</language>
			<pubDate>Wed, 19 Jun 2013 09:31:10 -0400</pubDate>
			<lastBuildDate>Tue, 21 May 2013 07:55:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>web.admin@cutterscrossing.com</managingEditor>
			<webMaster>web.admin@cutterscrossing.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>web.admin@cutterscrossing.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>ColdFusion Dev Needed: Albany, NY</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/5/21/ColdFusion-Dev-Needed-Albany-NY</link>
				<description>
				
				&lt;a href=&quot;mailto:Naresh@ustechsolutions.com&quot;&gt;Naresh Taneja&lt;/a&gt;, of USTech Solutions, forwarded on the following position. If interested, please email your latest resume.

&lt;b&gt;Position:           Coldfusion Consultant&lt;br&gt;
Duration:         24+ Months&lt;br&gt;
Location:          Albany, NY

Description&lt;br&gt;
Required&lt;/b&gt;
  
&lt;ul&gt;
&lt;li&gt;Minimum of 60 months of experience with ColdFusion 8 or newer administration / programming&lt;/li&gt;
&lt;li&gt;Minimum of 60 months of experience of Microsoft IIS 6 web server administration&lt;/li&gt; 
&lt;li&gt;Minimum of 60 months of SQL-Server administration / database design &amp; development in versions 2000, 2005 and/or 2008&lt;/li&gt;
&lt;li&gt;Minimum of 48 months of experience in SQL-Server development tool set including; Management Studio and Business Intelligence Development Studio (BIDS) for Integration Services (SSIS).&lt;/li&gt;
&lt;li&gt;Minimum of 48 months of experience using Content Management tools such as Adobe Creative Suite (CS 5) Contribute or Drupal&lt;/li&gt;
&lt;li&gt;Minimum of 48 months of experience mentoring and training staff&lt;/li&gt;
&lt;li&gt;Minimum 24 months experience working with end-users to assess business needs, translate needs into application requirements and use those requirement specifications to architect, develop and &lt;/li&gt;
&lt;li&gt;Bachelor&apos;s Degree in Computer Science &lt;/li&gt;
				</description>
				
				<category>ColdFusion</category>
				
				<category>Jobs</category>
				
				<pubDate>Tue, 21 May 2013 07:55:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/5/21/ColdFusion-Dev-Needed-Albany-NY</guid>
				
				
			</item>
			
			<item>
				<title>ColdFusion Dev needed: South Florida</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/5/20/ColdFusion-Dev-needed-South-Florida</link>
				<description>
				
				&lt;a href=&quot;etaylor@beaconhillstaffing.com&quot;&gt;Ellie Taylor&lt;/a&gt; called me this morning, looking for a solid ColdFusion developer in south Florida.

Beacon Hill Technologies is seeking a Coldfusion/SQL Devloper for a direct hire or contract position with a large financial company in Coral Springs FL.

Required Skills: 
&lt;ul&gt;
&lt;li&gt;Expert in Coldfusion   (5+ years/current)&lt;/li&gt;
&lt;li&gt;Advanced skills in MS-SQL&lt;/li&gt;
&lt;li&gt;Strong skills in Java, JQuery and Crystal Reports&lt;/li&gt;
&lt;li&gt;Must be able to design, develop and document&lt;/li&gt;
&lt;li&gt;Local Area Candidate Preferred&lt;/li&gt;
&lt;li&gt;Position is Onsite in Coral Springs&lt;/li&gt;
&lt;/ul&gt;

Top 3  skills:
&lt;ul&gt;
&lt;li&gt;Certified in Coldfusion&lt;/li&gt;
&lt;li&gt;Strong in SQL- They will be doing extensive updates to the database&lt;/li&gt;
&lt;li&gt;Strong Java/Jquery skills&lt;/li&gt;
&lt;/ul&gt;

This opportunity is for a long term contract if you are interested but only looking for permanent this can be negotiated. The opportunity is with a large fast paced financial firm. The reason for the need is due to their tremendous growth this past year. 

Please feel free to reach me (&lt;a href=&quot;etaylor@beaconhillstaffing.com&quot;&gt;Ellie Taylor&lt;/a&gt;) directly, they are looking to do interviews this week.
				</description>
				
				<category>ColdFusion</category>
				
				<category>Jobs</category>
				
				<pubDate>Mon, 20 May 2013 17:00:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/5/20/ColdFusion-Dev-needed-South-Florida</guid>
				
				
			</item>
			
			<item>
				<title>eBay Looking for a ColdFusion Developer</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/5/20/eBay-Looking-for-a-ColdFusion-Developer</link>
				<description>
				
				&lt;a href=&quot;mailto:ben@panzersolutions.com&quot;&gt;Ben Smith&lt;/a&gt;, of Panzer Solutions, sent me an email stating that eBay is looking for a ColdFusion developer to work on their Marketing Resource Management solution (MARS). Here are the particulars:

Job Title      : ColdFusion Developer
Location      : San Jose, CA 
Duration     : 3+ months with extensions
 
Required Skills:  Excellent working knowledge of ColdFusion

Job Description: 
The ColdFusion developer will augment eBay&apos;s Marketing Resource Management solution (MARS), built in ColdFusion, based on pre-defined and prioritized business and technical requirements.

If you&apos;re interested, click on his name (at the top of this post) and send him the latest version of your resume.
				</description>
				
				<category>ColdFusion</category>
				
				<category>Jobs</category>
				
				<pubDate>Mon, 20 May 2013 16:54:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/5/20/eBay-Looking-for-a-ColdFusion-Developer</guid>
				
				
			</item>
			
			<item>
				<title>Skinning Bootstrap Tabs</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/5/20/Skinning-Bootstrap-Tabs</link>
				<description>
				
				&lt;a href=&quot;http://twitter.github.io/bootstrap/&quot; target=&quot;_blank&quot;&gt;Bootstrap&lt;/a&gt; is the number one downloaded project on &lt;a href=&quot;http://www.github.com&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt; today. A small, lightweight framework for layout, Bootstrap is a combination of CSS, HTML format, and JavaScript that allows one to create very dynamic, responsive web sites and applications. This isn&apos;t a new concept, being the same sort of thing that &lt;a href=&quot;http://ui.jquery.com&quot; target=&quot;_blank&quot;&gt;jQueryUI&lt;/a&gt; and &lt;a href=&quot;http://www.sencha.com/products/extjs&quot; target=&quot;_blank&quot;&gt;Ext JS&lt;/a&gt; are conceptually designed for. Each has their merits, and differences. Those libraries primarily utilize JavaScript for designing and configuring layouts and components, whereas Bootstrap focuses primarily on HTML and CSS (and a small JS file for event handling) for building these things.

&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe width=&quot;420&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/gsWVW2DX5cg&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

One of the things that sets Bootstrap apart is the ease with which one can &quot;skin&quot; the library. Bootstrap uses &lt;a href=&quot;http://lesscss.org/&quot; target=&quot;_blank&quot;&gt;LESS&lt;/a&gt; for building it&apos;s CSS files. LESS allows you to define variables and functions, that are then utilized in style declarations. Once compiled, those variables and functions are parsed in the definitions, to create your CSS. By changing a few variables, you can completely change the look and feel of your application.

In this example, I&apos;m going  to change the default Bootstrap tab display. When you see the default Bootstrap tabs, they aren&apos;t always  easily identified as a tabbed interface, until you mouse over a tab. My clients have become used to the contrast provided by the layouts of the other libraries I&apos;ve mentioned, having seen those interfaces time and again. Here, we&apos;ll update the Bootstrap tabs so that they appear more like those used by jQueryUI.

&lt;h3&gt;Basic File Structure&lt;/h3&gt;

I, personally, don&apos;t like to change a libraries files. Even though you can do so, I find it better to create an &quot;override&quot; file that will add or change a definition. That way, if I update that library I&apos;m not trying to find and replicate my changes. First, I start off by organizing my assets. I personally like to separate my CSS from my images from my scripts. I also like to create sub-folders under each, to further organize my assets for easy change, management, and retrieval. From Bootstrap&apos;s &lt;a href=&quot;http://twitter.github.io/bootstrap/getting-started.html&quot; target=&quot;_blank&quot;&gt;Getting Started&lt;/a&gt; page, I downloaded both the basic download, as well as the &quot;source&quot; download. I moved the &lt;i&gt;.less&lt;/i&gt; files out of the &lt;i&gt;css&lt;/i&gt; folder in the &quot;source&quot; distribution, placing them in &lt;i&gt;/assets/css/bootstrap&lt;/i&gt;. I then moved the &lt;i&gt;.js&lt;/i&gt; files out of the &lt;i&gt;js&lt;/i&gt; folder in the &quot;basic&quot; distribution, placing them in &lt;i&gt;/assets/js/bootstrap&lt;/i&gt;. Last, I took the &lt;i&gt;.png&lt;/i&gt; files, out of the &lt;i&gt;img&lt;/i&gt; folder in either distro, and put them in to the &lt;i&gt;/assets/img/bootstrap&lt;/i&gt; folder. The last thing I&apos;m going to do is create a new sub-folder to the &lt;i&gt;css&lt;/i&gt; folder, titled &lt;i&gt;core&lt;/i&gt;. Within this folder I&apos;m going to create three files: core.less, overrides.less, and variables.less.

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;img src=&quot;/images/BSFileStructure.gif&quot; width=&quot;196&quot; height=&quot;254&quot;&gt;
&lt;/div&gt;

&lt;h3&gt;Getting started with LESS&lt;/h3&gt;

We&apos;re going to start off by doing something really simple. First I told you that I didn&apos;t want to change the core Bootstrap files, but instead create &quot;overrides&quot;. Since we changed the basic file structure of the Bootstrap distro, the first thing we&apos;ll need to do is correct the pathing to the image sprites. What we&apos;re going to do, rather than including the Bootstrap css directly, is create our own &quot;core&quot; file. &quot;Core&quot; needs to include Bootstrap, and then our overrides. We do this by adding the following lines to our &lt;i&gt;core.less&lt;/i&gt;.

&lt;code&gt;
@import &quot;../bootstrap/bootstrap.less&quot;;

@import &quot;overrides.less&quot;;
&lt;/code&gt;

These statements will &lt;i&gt;include&lt;/i&gt; these two files, when &lt;i&gt;core.less&lt;/i&gt; is compiled. If you go back and look at &lt;i&gt;bootstrap.less&lt;/i&gt;, you will see that it is nothing but import statements as well.We want to create variables that we might need to reuse elsewhere. This is the general purpose of our &lt;i&gt;variables.less&lt;/i&gt; file. If we open Bootstrap&apos;s &lt;i&gt;variables.less&lt;/i&gt; file (/assets/css/bootstrap), we can search through it and find two specific variables: &lt;i&gt;@iconSpritePath&lt;/i&gt;, and &lt;i&gt;@iconWhiteSpritePath&lt;/i&gt;. Copy and paste these two lines into our &lt;i&gt;variables.less&lt;/i&gt; file, then adjust their paths to coincide with our new file locations.

&lt;code&gt;
// Sprite icons path
@iconSpritePath:                &quot;/assets/img/bootstrap/glyphicons-halflings.png&quot;;
@iconWhiteSpritePath:           &quot;/assets/img/bootstrap/glyphicons-halflings-white.png&quot;;
&lt;/code&gt;

Finally, we need to use these updated variables in our &lt;i&gt;overrides.less&lt;/i&gt; file, to override the proper style declarations. First we add the import statement that includes our &lt;i&gt;variables.less&lt;/i&gt; file. Then, we find the declarations, in the &lt;i&gt;sprites.less&lt;/i&gt; file (/assets/css/bootstrap), that currently define these paths (you can search for the variable names). Copy and paste these two declarations into our &lt;i&gt;overrides.less&lt;/i&gt; file, and then take out all of the definition  items except for those that define the background images. Our override only needs to &quot;override&quot; the background image paths, keeping everthing else.

&lt;code&gt;
@import &quot;variables.less&quot;;

/* Icon Sprite Path Overrides */
[class^=&quot;icon-&quot;],
[class*=&quot; icon-&quot;] {
  background-image: url(&quot;@{iconSpritePath}&quot;);
}

/* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white,
.nav-pills &gt; .active &gt; a &gt; [class^=&quot;icon-&quot;],
.nav-pills &gt; .active &gt; a &gt; [class*=&quot; icon-&quot;],
.nav-list &gt; .active &gt; a &gt; [class^=&quot;icon-&quot;],
.nav-list &gt; .active &gt; a &gt; [class*=&quot; icon-&quot;],
.navbar-inverse .nav &gt; .active &gt; a &gt; [class^=&quot;icon-&quot;],
.navbar-inverse .nav &gt; .active &gt; a &gt; [class*=&quot; icon-&quot;],
.dropdown-menu &gt; li &gt; a:hover &gt; [class^=&quot;icon-&quot;],
.dropdown-menu &gt; li &gt; a:focus &gt; [class^=&quot;icon-&quot;],
.dropdown-menu &gt; li &gt; a:hover &gt; [class*=&quot; icon-&quot;],
.dropdown-menu &gt; li &gt; a:focus &gt; [class*=&quot; icon-&quot;],
.dropdown-menu &gt; .active &gt; a &gt; [class^=&quot;icon-&quot;],
.dropdown-menu &gt; .active &gt; a &gt; [class*=&quot; icon-&quot;],
.dropdown-submenu:hover &gt; a &gt; [class^=&quot;icon-&quot;],
.dropdown-submenu:focus &gt; a &gt; [class^=&quot;icon-&quot;],
.dropdown-submenu:hover &gt; a &gt; [class*=&quot; icon-&quot;],
.dropdown-submenu:focus &gt; a &gt; [class*=&quot; icon-&quot;] {
  background-image: url(&quot;@{iconWhiteSpritePath}&quot;);
}
&lt;/code&gt;

Ok, now that you have the mechanics out of the way, all you need to do is compile your file. If you use a dynamic server side language (&lt;a href=&quot;http://www.adobe.com/products/coldfusion-family.html&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; for instance), then you might be using an asset management framework that will automatically compile LESS files for you at runtime (I like &lt;a href=&quot;http://dominicwatson.github.io/cfstatic/&quot; target=&quot;_blank&quot;&gt;cfStatic&lt;/a&gt;). But, you can always get a standalone compiler that will process your files manually. There are many freeware programs available on the web. I Googled &quot;Windows LESS compiler&quot;, and came up with &lt;a href=&quot;http://winless.org/&quot; target=&quot;_blank&quot;&gt;WinLess&lt;/a&gt;. I was able to plugin the folder name, select my &lt;i&gt;core.less&lt;/i&gt; file (you only need to compile the one, as it includes the rest), and hit &quot;compile&quot; to get my &lt;i&gt;core.css&lt;/i&gt; file created.

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;img src=&quot;/images/WinLess.gif&quot; width=&quot;871&quot; height=&quot;546&quot;&gt;
&lt;/div&gt;

I unselected the &lt;i&gt;Minify&lt;/i&gt; option, so that could see the underlying result in an easy to read format. For production code, I suggest having a minified and unminified version, using the unminified for debugging purposes. If you check your new, unminified &lt;i&gt;core.css&lt;/i&gt; file, you can go all the way to the bottom and see your two overriding style declarations, verifying that they now reflect the updated sprite paths.

&lt;h3&gt;Creating Tabs&lt;/h3&gt;

OK, we have the basics out of the way. Now lets make some tabs. First, lets write up an &lt;i&gt;index.html&lt;/i&gt; that will be prepared for Bootstrap, using our new all-in-one css file.

&lt;code&gt;
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
    &lt;head&gt;
        &lt;meta charset=&quot;utf-8&quot;&gt;
        &lt;title&gt;Bootstrap Themed Nav&lt;/title&gt;
        &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
        &lt;meta name=&quot;description&quot; content=&quot;&quot;&gt;
        &lt;meta name=&quot;author&quot; content=&quot;&quot;&gt;
        &lt;link href=&quot;assets/css/core/core.css&quot; rel=&quot;stylesheet&quot;&gt;
        &lt;!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --&gt;
        &lt;!--[if lt IE 9]&gt;
            &lt;script src=&quot;http://html5shim.googlecode.com/svn/trunk/html5.js&quot;&gt;&lt;/script&gt;
        &lt;![endif]--&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div class=&quot;container&quot;&gt;

        &lt;/div&gt;
        &lt;script src=&quot;//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js&quot;&gt;&lt;/script&gt;
        &lt;script src=&quot;assets/js/bootstrap/bootstrap.min.js&quot;&gt;&lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
&lt;/code&gt;

The next thing we need is the proper markup to create a tabbed interface within Bootstrap.

&lt;code&gt;
&lt;ul id=&quot;myTab&quot; class=&quot;nav nav-tabs&quot;&gt;
  &lt;li class=&quot;active&quot;&gt;&lt;a data-toggle=&quot;tab&quot; href=&quot;#home&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a data-toggle=&quot;tab&quot; href=&quot;#profile&quot;&gt;Profile&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a data-toggle=&quot;tab&quot; href=&quot;#tab3&quot;&gt;Tab3&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a data-toggle=&quot;tab&quot; href=&quot;#tab4&quot;&gt;Tab 4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div id=&quot;myTabContent&quot; class=&quot;tab-content&quot;&gt;
  &lt;div id=&quot;home&quot; class=&quot;tab-pane fade active in&quot;&gt;
    ...
  &lt;/div&gt;
  &lt;div id=&quot;profile&quot; class=&quot;tab-pane fade&quot;&gt;
    ...
  &lt;/div&gt;
  &lt;div id=&quot;tab3&quot; class=&quot;tab-pane fade&quot;&gt;
    ...
  &lt;/div&gt;
  &lt;div id=&quot;tab4&quot; class=&quot;tab-pane fade&quot;&gt;
    ...
  &lt;/div&gt;
&lt;/div&gt;
&lt;/code&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;img src=&quot;/images/BareBSTabs.gif&quot; width=&quot;952&quot; height=&quot;194&quot;&gt;
&lt;/div&gt;

This produces a basic Bootstrap tabbed interface. No additional JavaScript is required here, the base &lt;i&gt;bootstrap.js&lt;/i&gt; will handle all the basic event binding necessary for a fully functional interface. But, as you can see, there&apos;s not much in the way of contrast, identifying tab separation, nor is your tabbed interface really separated from the rest of your page. What&apos;s needed now is to create that contrast and separation.

&lt;h3&gt;Skinning Tabs&lt;/h3&gt;

We&apos;ll look to jQueryUI&apos;s tab representation, as a guide for how we wish ours to look. We won&apos;t get an exact match, but we can get really close. First, let&apos;s start with the new stuff. jQueryUI&apos;s tab sets have a border around the entire interface, separating the tabs from the rest of page flow. Bootstrap doesn&apos;t have this, so we&apos;ll make it. We&apos;ll add a new &lt;i&gt;div&lt;/i&gt; around the &lt;i&gt;nav-tabs&lt;/i&gt; unordered list and &lt;i&gt;tab-conent&lt;/i&gt; div, and give it a class: &lt;i&gt;nav-tabs-container&lt;/i&gt;. Next, we&apos;ll add a style declaration to our &lt;i&gt;overrides.less&lt;/i&gt; file.

&lt;code&gt;
/* Add a tab container class, for a border around the entire tabset */
.nav-tabs-container {
  padding: 3px;
  border: 1px solid @grayLight;
  .border-radius(4px);
}
&lt;/code&gt;

Here&apos;s what we&apos;re doing here. We gave the container a 3 pixel padding all the way around. We gave it a one pixel solid light gray border, using the color variable in Bootstrap&apos;s &lt;i&gt;variables.less&lt;/i&gt; file. Last, we gave it rounded corners with a four pixel radius (for those browsers that support it) by calling on the &lt;i&gt;.border-radius()&lt;/i&gt; LESS function that&apos;s defined in Bootstrap&apos;s &lt;i&gt;mixins.less&lt;/i&gt; file.

Our next step is to see what makes jQueryUI&apos;s tab interface different. We make a list of the basic elements.

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;img src=&quot;/images/jquitabs.gif&quot; width=&quot;578&quot; height=&quot;166&quot;&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;The tab bar (&lt;i&gt;ul&lt;/i&gt; with a class of &lt;i&gt;nav-tabs&lt;/i&gt;) has:
    &lt;ul&gt;
      &lt;li&gt;a one pixel gray border with rounded corners&lt;/li&gt;
      &lt;li&gt;padding on the left, top, and right of a few pixels&lt;/li&gt;
      &lt;li&gt;a gradient background of a gray that is darker than the tabs&lt;/li&gt;
    &lt;/ul&gt;&lt;/li&gt;
  &lt;li&gt;The tabs (&lt;i&gt;li&lt;/i&gt;st item tags containing &lt;i&gt;a&lt;/i&gt;nchor tags) have:
    &lt;ul&gt;
      &lt;li&gt;active tab (&lt;i&gt;li&lt;/i&gt; with a class of &lt;i&gt;active&lt;/i&gt;) has:
        &lt;ul&gt;
          &lt;li&gt;a white background&lt;/li&gt;
          &lt;li&gt;a one pixel gray border with rounded corners&lt;/li&gt;
          &lt;li&gt;no bottom border&lt;/li&gt;
        &lt;/ul&gt;&lt;/li&gt;
      &lt;li&gt;inactive tabs (&lt;i&gt;li&lt;/i&gt;&apos;s without classes) have gray backgrounds, of a lighter gray than the &lt;i&gt;nav-tabs&lt;/i&gt;&lt;/li&gt;
      &lt;li&gt;active and inactive tabs have text that is gray&lt;/li&gt;
    &lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

At this point, our next step is to find the original Bootstrap declarations for tabs. These can be found in the &lt;i&gt;navs.less&lt;/i&gt; file (/assets/css/bootstrap). Copy and paste these declarations into your &lt;i&gt;overrides.less&lt;/i&gt; file. From here, it&apos;s a matter of  removing lines that won&apos;t change, adjusting lines that meet your requirements, and adding any new code needed to finalize those requirements. I&apos;m not going to go over every line of code, instead giving you the full set, but we&apos;ll hit the high parts. First, the code:

&lt;code&gt;
/* Tab Theming Overrides */
// TABS
// ----

/* Add a tab container class, for a border around the entire tabset */
.nav-tabs-container {
  padding: 3px;
  border: 1px solid @grayLight;
  .border-radius(4px);
}

// Give the tabs something to sit on
.nav-tabs {
  border: 1px solid @grayLight;
  padding: 4px 3px 0 3px;
  margin-bottom: 5px;
  .border-radius(4px);
  #gradient &gt; .vertical(@grayLighter, @grayLight);
}

// Actual tabs (as links)
.nav-tabs &gt; li &gt; a {
  line-height: 10px;
  background-color: @grayLighter;
  border: none;
  outline: 0;
  &amp;:hover,
  &amp;:focus {
    border-style: solid;
    border-width: 1px 1px 0;
    border-color: @grayLight @grayLight transparent;
  }
  &amp;:link,
  &amp;:active,
  &amp;:visited,
  &amp;:hover,
  &amp;:focus {
    color: @gray;
  }
}

.nav-tabs &gt; li:not(.active) &gt; a {
  &amp;:hover,
  &amp;:focus {
    padding: 7px 11px;
  }
}
// Active state, and it&apos;s :hover/:focus to override normal :hover/:focus
.nav-tabs &gt; .active &gt; a,
.nav-tabs &gt; .active &gt; a:hover,
.nav-tabs &gt; .active &gt; a:focus {
  border-style: solid;
  border-width: 1px 1px 0;
  border-color: @grayLight @grayLight transparent;
}
&lt;/code&gt;

&lt;div style=&quot;text-align: center;&quot;&gt;
  &lt;img src=&quot;/images/SkinnedBSTabs.gif&quot; width=&quot;945&quot; height=&quot;177&quot;&gt;
&lt;/div&gt;

We mentioned earlier the use of &lt;i&gt;variables&lt;/i&gt; within LESS. Throughout this block of code you will see multiple references to various colors identified in the base Bootstrap &lt;i&gt;variables.less&lt;/i&gt; file. We also previously utilized the &lt;i&gt;.border-radius()&lt;/i&gt; method from Bootstrap&apos;s &lt;i&gt;mixins.less&lt;/i&gt; file. We use this again, within this block of code, as well as other mixin methods, such as the &lt;i&gt;.vertical()&lt;/i&gt; method we&apos;re using in our gradient definition. It&apos;s a good idea to look at the &lt;i&gt;mixins.less&lt;/i&gt; and &lt;i&gt;variables.less&lt;/i&gt;, to get ideas as to what&apos;s available to you. You will also notice nested declarations (such as the link psuedo selectors) that will automatically build out with LESS.

That&apos;s it! I hope you found this post helpful and informative. Any feedback, please leave me a comment. Here&apos;s what I hope you&apos;ll takeaway from this post:

&lt;ul&gt;
  &lt;li&gt;Bootstrap is a powerful layout framework&lt;/li&gt;
  &lt;li&gt;Bootstrap is easy to modify/skin by making minor modifications using LESS&lt;/li&gt;
  &lt;li&gt;LESS is a great way to create dynamic, adjustable CSS&lt;/li&gt;
  &lt;li&gt;LESS can be a lot of fun&lt;/li&gt;
&lt;/ul&gt;
				</description>
				
				<category>Bootstrap</category>
				
				<category>CSS</category>
				
				<category>JavaScript</category>
				
				<category>Development</category>
				
				<pubDate>Mon, 20 May 2013 14:10:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/5/20/Skinning-Bootstrap-Tabs</guid>
				
				
				<enclosure url="http://www.cutterscrossing.com/enclosures/BootstrapTabSkin.zip" length="118653" type="application/zip"/>
				
			</item>
			
			<item>
				<title>ColdFusion 10 File Uploads and MIME Types</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/2/21/ColdFusion-10-File-Uploads-and-MIME-Types</link>
				<description>
				
				Quick Note: On one project that I&apos;m on, we&apos;re in the process of moving from ColdFusion 9 to 10. During some regression testing, one of the testers began receiving errors on file uploads. When looking at the code, I saw this:

&lt;code&gt;
fileUploadResult = fileUpload(arguments.tierCSSDirectory, &quot;header_background_image&quot;, &quot;image/*&quot;, &quot;overwrite&quot;);
&lt;/code&gt;

Now, I remembered that there were changes to MIME type checking in CF 10, but I wasn&apos;t entirely sure. This code, written by one of our developer&apos;s several months ago, would allow any &quot;image&quot; MIME type. What we discovered is that we couldn&apos;t do this kind of wildcard mapping under CF 10, that we now had to list out each accepted MIME type as a comma delimited list.

Just thought I&apos;d share.
				</description>
				
				<category>Adobe</category>
				
				<category>ColdFusion</category>
				
				<category>Development</category>
				
				<pubDate>Thu, 21 Feb 2013 10:44:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/2/21/ColdFusion-10-File-Uploads-and-MIME-Types</guid>
				
				
			</item>
			
			<item>
				<title>ColdFusion Position - Denver, Colorado - Zen Planner</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/1/9/ColdFusion-Position--Denver-Colorado--Zen-Planner</link>
				<description>
				
				&lt;a href=&quot;mailto:ben@zenplanner.com&quot;&gt;Ben Pate&lt;/a&gt;, of &lt;a href=&quot;http://www.zenplanner.com&quot; target=&quot;_blank&quot;&gt;Zen Planner&lt;/a&gt;, contacted me yesterday about a new position they have, in their office in Denver, Colorado. A quick look shows a fun company to work for, with a great list of benefits. &lt;a href=&quot;http://www.zenplanner.com/coldfusion-developer&quot; target=&quot;_blank&quot;&gt;Check out their job posting&lt;/a&gt; and, if you&apos;re interested, &lt;a href=&quot;mailto:ben@zenplanner.com&quot;&gt;drop Ben an email&lt;/a&gt;.
				</description>
				
				<category>ColdFusion</category>
				
				<category>Jobs</category>
				
				<pubDate>Wed, 09 Jan 2013 07:43:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/1/9/ColdFusion-Position--Denver-Colorado--Zen-Planner</guid>
				
				
			</item>
			
			<item>
				<title>2012 In Review, and the View for 2013</title>
				<link>http://www.cutterscrossing.com/index.cfm/2013/1/3/2012-In-Review-and-the-View-for-2013</link>
				<description>
				
				2012 was....unexpected. January really kicked it off when my immediate supervisor left, to take a position with another company. When this happened my employer approached me about taking on his position. Now, I had left a management position to come to this company, so that I could again focus on writing code, so this meant stepping back into a management role. This is also the third time this particular scenario has played out in my career. Luckily, this position still allows me to write code (at least for the moment), I&apos;m just putting in more time.

Time. The one thing we all need, and the one thing we can&apos;t make. I&apos;ve put in a lot of time at the office, for both my day job and side contracts. You do what you have to do to get things done, and there are some things I&apos;m trying to get done. That said, 2013 will have me dialing it back a bit. I have some current obligations, but I&apos;m gonna drop back some after that, and put some time towards more important things, like my Open Source projects, development mentoring, my health, and (most importantly) my family.

In 2012 I started riding a bike (bicycle) again. Nothing fancy, just an 18 speed Mongoose from Walmart. What was important was that it got me active again. Current work load has put a temporary damper on riding, but I was doing 10+ miles a day. Time to get back into the groove. Not only is it healthy, but it&apos;s fun.

One thing I want to do this year is become more involved beyond my desk. It&apos;s time to rejoin the world. I want to start speaking to the development community again (which I started in 2012, and want to continue). I want to find a civic organization to become a part of. I want to get more active with the American Legion and the VFW. And, I want start telling Washington how I really feel about the job they&apos;re (not) doing.

2012 was the year I moved all of my Open Source projects to &lt;a href=&quot;http://www.github.com/cutterbl&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt;. Each of those projects saw some movement last year, and I&apos;m looking to get some more spun up in 2013. Still a huge focus on dealing with ColdFusion json data, but I do have some JQuery utility bits out there, as well as starting to work on some Bootstrap components, and the Google Maps custom tag.

2012 was also a year for consulting. I&apos;ve done some minor consulting in the past, but 2012 saw me traveling for consults. In one project, I consulted with a niche market company in creating an MSOC platform for their growing business, to sell and host low cost, high impact sites for their industry. For three days we hashed out exactly what it was they were trying to accomplish, going over the details of systems and code architecture, scalability, and standards. With one developer they built (from scratch), tested, and launched their new platform in six months, with their own custom CMS, templating engine and more. I enjoy consulting, particularly in addressing architecture challenges, and hope to do more of that in 2013.

So, I know some of the things I would like to do in 2013. I could map it all out, but that lacks flexibility. I didn&apos;t plan for all of the things that came my way in 2012, but most of it was for the better. May 2013 be a wonderful, and prosperous, new adventure for everyone.
				</description>
				
				<category>Who I Am</category>
				
				<pubDate>Thu, 03 Jan 2013 08:53:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2013/1/3/2012-In-Review-and-the-View-for-2013</guid>
				
				
			</item>
			
			<item>
				<title>KnockoutJS Starter - A Review</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/12/23/KnockoutJS-Starter--A-Review</link>
				<description>
				
				A few weeks back, &lt;a href=&quot;http://packtpub.com/&quot; target=&quot;_blank&quot;&gt;Packt Publishing&lt;/a&gt; contacted me about reviewing one of their new titles, &lt;a href=&quot;http://www.packtpub.com/knockoutjs-starter/book&quot; target=&quot;_blank&quot;&gt;KnockoutJS Starter&lt;/a&gt;. Now, I&apos;m in the middle of two contracts, plus my day job, and the holidays right now, so the idea of a &quot;quick review&quot; wasn&apos;t all that appealing. That said, I was interested in the material, and this is one of a new &quot;Starter&quot; line of books that Packt has started publishing. Basically small, quick primers that get you up and running with something new.

So, here&apos;s the &quot;quick review&quot;. KnockoutJS Starter is by &lt;a href=&quot;http://www.ericbarnard.com&quot; target=&quot;_blank&quot;&gt;Eric M. Barnard&lt;/a&gt;. My e-book copy says it&apos;s 69 pages long, but the first 12 are the TOC, credits, and format info, so you take out the resources in the back of the book too and you&apos;re talking about 55 pages of meat. And there is meat.

The &quot;Starter&quot; books kind of come off as a printed blog series, sometimes, but Eric has done a pretty good job here, for the most part. The first half of the book takes you through installing the files, and setting up a quick sample app to take and edit inventory information. Now, it&apos;s all client side, with no data to start with, but line for line copy of the code will get you working. And, it was pretty slick how &lt;a href=&quot;http://knockoutjs.com/&quot; target=&quot;_blank&quot;&gt;KnockoutJS&lt;/a&gt; ties data and interface together fairly seamlessly. And Eric explains how those connections are made very well.

While the base example, in the beginning of the book, is pretty straight forward, the second half could use some help. The second half goes beyond the basics, trying to describe Subscribables, Observables, and Bindings and Handlers. I was able to get through it, having some prior knowledge conceptually, but some of it is still confusing. The right idea was there, but the execution could use some polish and follow-up.

Ultimately, it was still a good introduction to KnockoutJS. If you aren&apos;t familiar with the library, I would take a good look at Eric and Packt&apos;s &quot;Starter&quot; book, and dive right in.
				</description>
				
				<category>JavaScript</category>
				
				<pubDate>Sun, 23 Dec 2012 22:59:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/12/23/KnockoutJS-Starter--A-Review</guid>
				
				
			</item>
			
			<item>
				<title>Mura Shared ORM Model - A Follow-Up</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/12/1/Mura-Shared-ORM-Model--A-FollowUp</link>
				<description>
				
				So, in my last post I talked about &lt;a href=&quot;http://www.cutterscrossing.com/index.cfm/2012/12/1/Creating-a-shared-ORM-model-in-Mura-CMS&quot;&gt;setting up a shared ORM model within Mura CMS&lt;/a&gt;. But, you always find the kicker after-the-fact. Mine&apos;s not a biggie though. I had setup a CF mapping to &lt;em&gt;myModel&lt;/em&gt;

&lt;code&gt;
    &lt;cfset this.mappings[&quot;/myModel&quot;] = variables.mapPrefix &amp; variables.BaseDir &amp; &quot;/mySite/includes/themes/mySite/model&quot;&gt;
&lt;/code&gt;

Turns out this wasn&apos;t the best location. I was pushing to the themes directory, because that was what the client wanted (&quot;What the client wants....&quot;) Sometimes, you find a valid reason to deviate.

The Mura {site}&lt;em&gt;/includes&lt;/em&gt; folder has it&apos;s own Application.cfc, with this wonderful tidbit of code in it:

&lt;code&gt;
		&lt;cfif not listFindNoCase(&quot;styles.js.cfm,templates.js.cfm,editor.css.cfm,default.js.cfm,config.js.cfm&quot;,listLast(cgi.SCRIPT_NAME,&quot;/&quot;))&gt;
		&lt;cfoutput&gt;Access Restricted.&lt;/cfoutput&gt;
		&lt;cfabort&gt;
		&lt;/cfif&gt;
&lt;/code&gt;

Now, most of the time this won&apos;t matter to you. Until you need to hit a remote method, of your model, for an Ajax request. Then...well, you see what happens. Now, you could probably change the Application.cfc, but I don&apos;t know if Mura won&apos;t overwrite this file on some future update, so it&apos;s better to just move my model into my {site} directory, as a sibling of the &lt;em&gt;includes&lt;/em&gt; folder.
				</description>
				
				<category>ORM</category>
				
				<category>ColdFusion</category>
				
				<category>Mura</category>
				
				<pubDate>Sat, 01 Dec 2012 16:29:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/12/1/Mura-Shared-ORM-Model--A-FollowUp</guid>
				
				
			</item>
			
			<item>
				<title>Creating a shared ORM model in Mura CMS</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/12/1/Creating-a-shared-ORM-model-in-Mura-CMS</link>
				<description>
				
				So, I&apos;m working a new project, and using &lt;a href=&quot;http://www.getmura.com&quot; target=&quot;_blank&quot;&gt;Mura CMS&lt;/a&gt;. We decided to write our modules as plugins, and are using the &lt;a href=&quot;http://www.getmura.com/marketplace/apps/fw1-plugin-template/&quot; target=&quot;_blank&quot;&gt;MuraFW/1&lt;/a&gt; plugin template to do so. Thing is, each plugin really needs to share a common model that uses &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSD628ADC4-A5F7-4079-99E0-FD725BE9B4BD.html&quot; target=&quot;_blank&quot;&gt;ColdFusion&apos;s ORM&lt;/a&gt;.

The MuraFW/1 plugin template has facility for defining a &lt;em&gt;cfclocation&lt;/em&gt; for ORM configuration, but that location is relative to the plugin itself, so this took a little hunting. Finally, what made the most sense was to define ORM for the Mura site (as a whole), and let that definition propogate down to the plugins.

For those who are unfamiliar with Mura, it&apos;s a very nice CMS, and very extensible, but incredibly undocumented. There is some documentation, but it&apos;s spotty, and there are articles on their site that are quite dated. (I know this is something they are working on, so I&apos;ll leave it at that.) Luckily, I do write code for a living, so I just started pulling on strings until I found the thread I needed.

The MuraFW/1 template&apos;s application.cfc includes the core application settings:

&lt;code&gt;
	include &apos;../../config/applicationSettings.cfm&apos;;
&lt;/code&gt;

That works to our advantage, as anything defined in the core app then becomes available to the plugin. Looking at that file, I started looking for anything related to ORM. The first bit I came upon showed me this:

&lt;code&gt;
	&lt;cfset this.ormenabled = properties.getProperty(&quot;ormenabled&quot;,&quot;true&quot;) /&gt;
&lt;/code&gt;

From there, I had to figure out where &lt;em&gt;ormenabled&lt;/em&gt; would come from. I discovered that all of those properties are defined in the &lt;em&gt;/config/settings.ini.cfm&lt;/em&gt; file. So, if I added the right properties, I should have my orm configuration. Here is a list of the properties supported by the &lt;em&gt;applicationSettings.cfm&lt;/em&gt; at this time:

&lt;ul&gt;
    &lt;li&gt;ormenabled&lt;/li&gt;
    &lt;li&gt;ormdbcreate&lt;/li&gt;
    &lt;li&gt;ormcfclocation&lt;/li&gt;
    &lt;li&gt;ormflushAtRequestEnd&lt;/li&gt;
    &lt;li&gt;ormeventhandling&lt;/li&gt;
    &lt;li&gt;ormautomanageSession&lt;/li&gt;
    &lt;li&gt;ormsavemapping&lt;/li&gt;
    &lt;li&gt;ormskipCFCwitherror&lt;/li&gt;
    &lt;li&gt;ormuseDBforMapping&lt;/li&gt;
    &lt;li&gt;ormautogenmap&lt;/li&gt;
    &lt;li&gt;ormlogsql&lt;/li&gt;
&lt;/ul&gt;

So, knowing this, I started looking at my model. First, I placed the model in my theme:

/mysite/includes/themes/mysite/model

This was a requirement of the client, so that was ok for me. Except now, I needed a reference to that directory. A mapping. Mura allows custom CF mappings, by making changes to the &lt;em&gt;/config/mappings.cfm&lt;/em&gt; file:

&lt;code&gt;
    &lt;cfset this.mappings[&quot;/myModel&quot;] = variables.mapPrefix &amp; variables.BaseDir &amp; &quot;/mysite/includes/themes/mysite/model&quot;&gt;
&lt;/code&gt;

Now that I had my mapping, I needed to setup the ORM settings in that &lt;em&gt;settings.ini.cfm&lt;/em&gt; file:

&lt;code&gt;
ormenabled=true
ormcfclocation=/myModel
ormflushAtRequestEnd=false
ormautomanageSession=false
ormeventhandling=true
&lt;/code&gt;

The only thing I was missing was my ORM Event Handler. While the settings allowed me to enable &lt;em&gt;ormeventhandling&lt;/em&gt;, they did not allow me to define the handler. For that, I added the setting in my plugin &lt;em&gt;Application.cfc&lt;/em&gt; files, right after the initial includes:

&lt;code&gt;
    this.ormsettings.eventhandler = &quot;myModel.aop.GlobalEventHandler&quot;;
&lt;/code&gt;

I reloaded my application, then updated my plugins (in the Mura Plugin admin) for good measure. Presto! Shared ORM! Hopefully this will help others from spinning their wheels.

&lt;strong&gt;Side Note:&lt;/strong&gt; During this process, I also updated to the &lt;a href=&quot;http://www.getmura.com/blog/mura-cms-v6-ready-for-preview/&quot; target=&quot;_blank&quot;&gt;Mura v6 Preview&lt;/a&gt;. Wow! What an improvement. And the Bootstrap usage should make layout and theming much easier.
				</description>
				
				<category>ORM</category>
				
				<category>ColdFusion</category>
				
				<category>Mura</category>
				
				<pubDate>Sat, 01 Dec 2012 13:54:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/12/1/Creating-a-shared-ORM-model-in-Mura-CMS</guid>
				
				
			</item>
			
			<item>
				<title>VFS and Zip Files...Kinda</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/11/24/VFS-and-Zip-FilesKinda</link>
				<description>
				
				There are several posts, out there in the wild, about using ColdFusion&apos;s built-in VFS support for working with zip files. I posted the other day (and fairly quickly removed it), about using the &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6d9d.html&quot; target=&quot;_blank&quot;&gt;FileMove()&lt;/a&gt; function to rename a zip file and all of it&apos;s contents. What I discovered, though, was that this &lt;em&gt;wasn&apos;t&lt;/em&gt; possible. Even though the documentation states that FileMove() and &lt;a href=&quot;http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-6da0.html&quot; target=&quot;_blank&quot;&gt;FileCopy()&lt;/a&gt; support the in-memory file system, I found that zip files are not included in that support. Luckily there was the &lt;a href=&quot;https://github.com/CFCommunity/CFScript-Community-Components&quot; target=&quot;_blank&quot;&gt;CFScript Community Components&lt;/a&gt; project, for working with zip files within script. And, though zip files were unsupported, &quot;ram://&quot; was still a viable option:

&lt;pre&gt;
  /**
   *  Rename a zip file, and the internal files as well
   *  @access private
   *  @returntype boolean
   *  @output false
   */
  function RenameZipAndContents (required string srcPath, string destPath=ARGUMENTS.srcPath, required string srcFileRoot, required string newFileRoot) {
    // Create the zip object
    var zip = CreateObject(&quot;component&quot;, &quot;com.ccc.zip&quot;).Init();
    // Create a temp directory in RAM
    var vfsDir = &quot;ram:///&quot; &amp; ARGUMENTS.newFileRoot &amp; &quot;/&quot;;
    DirectoryCreate(LOCAL.vfsDir &amp; &quot;zip&quot;);
    // Unzip the source file to the RAM directory
    zip.unzip(destination=LOCAL.vfsDir &amp; &quot;zip&quot;, file=ARGUMENTS.srcPath &amp; ARGUMENTS.srcFileRoot &amp; &quot;.zip&quot;);
    // Get a list of the files
    var files = DirectoryList(LOCAL.vfsDir &amp; &quot;zip&quot;, false, &quot;query&quot;);
    // Loop the file list
    for (LOCAL.file in LOCAL.files) {
      // Get the file extension
      var ext = Right(LOCAL.file.name, 4);
      // Rename the file
      FileMove(LOCAL.vfsDir &amp; &quot;zip/&quot; &amp; LOCAL.file.name, LOCAL.vfsDir &amp; &quot;zip/&quot; &amp; ARGUMENTS.newFileRoot &amp; LOCAL.ext);
      // Zip up renamed file in new zip
      zip.zip(file=ARGUMENTS.srcPath &amp; ARGUMENTS.srcFileRoot &amp; &quot;.zip&quot;, source=LOCAL.vfsDir &amp; &quot;zip/&quot; &amp; ARGUMENTS.newFileRoot &amp; LOCAL.ext);
      // Delete original file from zip
      zip.delete(file=ARGUMENTS.srcPath &amp; ARGUMENTS.srcFileRoot &amp; &quot;.zip&quot;, entrypath=LOCAL.file.name);
    }
    // Delete the temp RAM directory
    DirectoryDelete(LOCAL.vfsDir, true);
    // Rename the original zip file
    FileMove(ARGUMENTS.srcPath &amp; ARGUMENTS.srcFileRoot &amp; &quot;.zip&quot;, ARGUMENTS.destPath &amp; ARGUMENTS.newFileRoot &amp; &quot;.zip&quot;);

    return true;
  }
&lt;/pre&gt;

Yes, that&apos;s a lot of jumping through hoops, and the multiple zip operations really drag out something that should be pretty simple. I&apos;m not sure why zip isn&apos;t supported by these operations. Maybe some future revision will correct that.
				</description>
				
				<category>Zip</category>
				
				<category>ColdFusion</category>
				
				<category>CFScript</category>
				
				<category>VFS</category>
				
				<pubDate>Sat, 24 Nov 2012 09:09:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/11/24/VFS-and-Zip-FilesKinda</guid>
				
				
			</item>
			
			<item>
				<title>Bootstrap Tree</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/11/3/Bootstrap-Tree</link>
				<description>
				
				It&apos;ll be a little while before I add this to the projects link on the site, but yesterday I pushed a new project up to GitHub. &lt;a href=&quot;https://github.com/cutterbl/Bootstrap-Tree&quot; target=&quot;_blank&quot;&gt;Bootstrap Tree&lt;/a&gt; is a lightweight Tree component, for use with the &lt;a href=&quot;http://twitter.github.com/bootstrap/index.html&quot; target=&quot;_blank&quot;&gt;Bootstrap&lt;/a&gt; framework. This is still a work in progress, and very bare bones at the moment, but basically you write some formatted HTML (nested lists with data attributes), include the css and js (very small) and it works. Currently you&apos;ll have to download the code for the example, but I welcome any feedback, suggestions, comments, etc.

I can think of several things to add to this project, but what do you look for in a tree component?
				</description>
				
				<category>Bootstrap</category>
				
				<category>Development</category>
				
				<pubDate>Sat, 03 Nov 2012 01:51:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/11/3/Bootstrap-Tree</guid>
				
				
			</item>
			
			<item>
				<title>ColdFusion Roadmap</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/8/27/ColdFusion-Roadmap</link>
				<description>
				
				Shilpi, the &apos;Security Czar&apos; of Adobe&apos;s ColdFusion Engineering team, recently posted about the &lt;a href=&quot;http://www.shilpikhariwal.com/2012/08/coldfusion-roadmap-is-available.html&quot; target=&quot;_blank&quot;&gt;Roadmap for future ColdFusion Server Devlopment&lt;/a&gt;, post CF 10. This links to an abbreviated set of slides, presented in a PDF document, that layout the focus on next two versions of CF.

There are some things you might easily miss, in reading over the slides. First thing I picked out was in &quot;Splendor&quot;&apos;s &lt;em&gt;Other focus areas&lt;/em&gt; section, you see &lt;b&gt;Pluggable Framework&lt;/b&gt; mentioned. Hmmmmmm...

Mobile, Social, HTML 5 and the Cloud are big topics here, but I also noted that &quot;Dazzle&quot; has &lt;b&gt;Customizable Enterprise Video Portal&lt;/b&gt; mentioned. Interesting...

Another one that&apos;s easy to miss? How about the timeline? According to the last slide, &quot;Splendor&quot; looks like a 2013 release, while &quot;Dazzle&quot; is slated for 2014. That&apos;s a much more progressive release cycle than we&apos;re used to seeing.

The biggest, immediate take away here, is the fact that Adobe is obviously investing time and resources in to continuing to produce and progress the ColdFusion platform. That&apos;s a win.
				</description>
				
				<category>Adobe</category>
				
				<category>ColdFusion</category>
				
				<category>Development</category>
				
				<pubDate>Mon, 27 Aug 2012 11:04:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/8/27/ColdFusion-Roadmap</guid>
				
				
			</item>
			
			<item>
				<title>ColdFusion + Ext JS Position: Los Angeles</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/7/18/ColdFusion--Ext-JS-Position-Los-Angeles</link>
				<description>
				
				This was forwarded to me yesterday. Anyone who might be interested, ping me on the contact form and I&apos;ll forward you the details:

&lt;blockquote&gt;
ColdFusion Developer will be responsible for the development of financial reporting systems. He/She will also develop detailed system design and programming specifications, support daily business activity by providing technical support of systems and regularly meet with the IT project lead to review progress and problems related to the job. Additionally he/she will design intuitive and effective UIs using modern client-side technologies, including AJAX, Sencha Ext JS, and other JavaScript libraries.

ColdFusion developer with 5 years+ experience.
Knowledge of ColdFusion CFC components, and MVC frameworks, and current feature set in ColdFusion 9.

Knowledge of (Sencha/4.1) Ext JS

Excellent knowledge of JavaScript, HTML, CSS, Web services, and importing Web-based data to Excel.

Good written and verbal communication skills.

Maintains a solid knowledge of information system software development life cycle and quality assurance

Demonstrates proficiency in systems analysis of business requirements.

Good knowledge of relational databases and SQL, experience with Oracle including writing stored procedures, triggers, views etc?
&lt;/blockquote&gt;
				</description>
				
				<category>ExtJS</category>
				
				<category>ColdFusion</category>
				
				<category>Jobs</category>
				
				<pubDate>Wed, 18 Jul 2012 08:59:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/7/18/ColdFusion--Ext-JS-Position-Los-Angeles</guid>
				
				
			</item>
			
			<item>
				<title>ColdFusion 10 is Now Available</title>
				<link>http://www.cutterscrossing.com/index.cfm/2012/5/15/ColdFusion-10-is-Now-Available</link>
				<description>
				
				Adobe has released &lt;a href=&quot;http://www.adobe.com/products/coldfusion-family.html&quot; target=&quot;_blank&quot;&gt;ColdFusion&lt;/a&gt; 10. The engineering team has done a fantastic job putting this release together. Here&apos;s a short list of some of what&apos;s new:

&lt;ul&gt;
    &lt;li&gt;Improved/Updated
        &lt;ul&gt;
            &lt;li&gt;caching&lt;/li&gt;
            &lt;li&gt;ORM&lt;/li&gt;
            &lt;li&gt;webservices&lt;/li&gt;
            &lt;li&gt;scheduler&lt;/li&gt;
            &lt;li&gt;hotfix management&lt;/li&gt;
            &lt;li&gt;security&lt;/li&gt;
            &lt;li&gt;MS Exchange integration&lt;/li&gt;
            &lt;li&gt;security&lt;/li&gt;
            &lt;li&gt;Solr&lt;/li&gt;
            &lt;li&gt;charting (now html 5)&lt;/li&gt;
            &lt;li&gt;Java integration&lt;/li&gt;
            &lt;li&gt;Flex and AIR lazy loading&lt;/li&gt;
            &lt;li&gt;VFS&lt;/li&gt;
            &lt;li&gt;more!&lt;/li&gt;
        &lt;/ul&gt;&lt;/li&gt;
    &lt;li&gt;html 5 support&lt;/li&gt;
    &lt;li&gt;websockets&lt;/li&gt;
    &lt;li&gt;RESTful services&lt;/li&gt;
    &lt;li&gt;greater cfscript parity&lt;/li&gt;
    &lt;li&gt;geo-tagging&lt;/li&gt;
    &lt;li&gt;CFC auto constructors&lt;/li&gt;
    &lt;li&gt;method chaining&lt;/li&gt;
    &lt;li&gt;closures&lt;/li&gt;
    &lt;li&gt;Tomcat (no more JRun)&lt;/li&gt;
    &lt;li&gt;more!&lt;/li&gt;
&lt;ul&gt;

Wow! A lot of changes and additions. The team has been in overdrive, and it all looks spectacular. Download the free Developer&apos;s Edition and start playing.

As a bonus, they also release an update to &lt;a href=&quot;http://www.adobe.com/products/coldfusion-builder.html&quot; target=&quot;_blank&quot;&gt;ColdFusion Builder&lt;/a&gt; as well!
				</description>
				
				<category>Adobe</category>
				
				<category>ColdFusion</category>
				
				<pubDate>Tue, 15 May 2012 07:58:00 -0400</pubDate>
				<guid>http://www.cutterscrossing.com/index.cfm/2012/5/15/ColdFusion-10-is-Now-Available</guid>
				
				
			</item>
			</channel></rss>