<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Asheville Web Design</title>
	<atom:link href="http://www.appliedtns.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.appliedtns.com/blog</link>
	<description>Asheville Web Design and Technology Blog</description>
	<lastBuildDate>Mon, 12 Dec 2011 21:56:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MAMP is Slow with Snow Leopard / Lion</title>
		<link>http://www.appliedtns.com/blog/2011/12/mamp-is-slow-with-snow-leopard-lion/</link>
		<comments>http://www.appliedtns.com/blog/2011/12/mamp-is-slow-with-snow-leopard-lion/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 21:55:21 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[development server]]></category>
		<category><![CDATA[mamp pro]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=238</guid>
		<description><![CDATA[I use MAMP Pro for local development and after upgrading to Snow Leopard it seemed to slow down when it came to the initial connection to my testing domains. When I upgraded to Lion I also upgraded MAMP Pro and the problem became even worse. So much that it could take upwards of 5-7 second [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.appliedtns.com/blog/wp-content/uploads/2011/12/mamp-logo.png"><img class="alignright size-full wp-image-239" title="mamp-logo" src="http://www.appliedtns.com/blog/wp-content/uploads/2011/12/mamp-logo.png" alt="" width="201" height="200" /></a>I use MAMP Pro for local development and after upgrading to Snow Leopard it seemed to slow down when it came to the initial connection to my testing domains. When I upgraded to Lion I also upgraded MAMP Pro and the problem became even worse. So much that it could take upwards of 5-7 second for a fresh Wordpress install to load in the browser. After some searching around I found a dead forum post at http://forum.mamp.info/viewtopic.php?f=6&amp;t=14081 where someone suggests using anything but .local for your domain names. Sure enough after firing up MAMP Pro and changing one of my test domains over to .devel from .local everything worked perfectly and MAMP Pro is back to being fast locally like it used to be.</p>
<p>The forum post offers some explanation that since Apple uses .local for Bonjour that due to something new in Lion it has started to cause real issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2011/12/mamp-is-slow-with-snow-leopard-lion/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mining of Massive Datasets</title>
		<link>http://www.appliedtns.com/blog/2011/09/mining-of-massive-datasets/</link>
		<comments>http://www.appliedtns.com/blog/2011/09/mining-of-massive-datasets/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:50:32 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[stanford]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=234</guid>
		<description><![CDATA[via Stanford University InfoLab
This book is placed on the Web for free use of all who wish it. We do, however, retain copyright on the work, and we expect that you will acknowledge our authorship if you republish parts or all of it. We are sorry to have to mention this point, but we have [...]]]></description>
			<content:encoded><![CDATA[<p>via <a title="Stanford University InfoLab" href="http://infolab.stanford.edu/~ullman/mmds.html">Stanford University InfoLab</a></p>
<p><em>This book is placed on the Web for free use of all who wish it. We do, however, retain copyright on the work, and we expect that you will acknowledge our authorship if you republish parts or all of it. We are sorry to have to mention this point, but we have evidence that other items we have published on the Web have been appropriated and republished under other names. It is easy to detect such misuse, by the way, as you will learn in Chapter 3.</em></p>
<p>Download the book <a href="http://www.appliedtns.com/blog/wp-content/uploads/2011/09/book_data_mining.pdf">Stanford Data Mining &#8211; Data Sets</a></p>
<p>Download chapters of the book:</p>
<p><a href="http://infolab.stanford.edu/~ullman/mmds/preface.pdf">Preface and Table of Contents</a><br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch1.pdf">Chapter 1</a> Data Mining<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch2.pdf">Chapter 2</a> Large-Scale File Systems and Map-Reduce<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch3.pdf">Chapter 3</a> Finding Similar Items<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch4.pdf">Chapter 4</a> Mining Data Streams<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch5.pdf">Chapter 5</a> Link Analysis<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch6.pdf">Chapter 6</a> Frequent Itemsets<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch7.pdf">Chapter 7</a> Clustering<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch8.pdf">Chapter 8</a> Advertising on the Web<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/ch9.pdf">Chapter 9</a> Recommendation Systems<br />
<a href="http://infolab.stanford.edu/~ullman/mmds/index.pdf">Index</a></p>
<h3>Gradiance Support</h3>
<p>If you are an instructor interested in using the <a href="http://www.gradiance.com/">Gradiance Automated Homework System</a> with this book, start by creating an account for yourself at <a href="http://www.gradiance.com/services"><tt>www.gradiance.com/services</tt></a>. Then, email your chosen login and the request to become an instructor for the MMDS book to support@gradiance.com You will then be able to create a class using these materials. Manuals explaining the use of the system are at <a href="http://www.gradiance.com/info.html"><tt>www.gradiance.com/info.html</tt></a>.</p>
<p>Students who want to use the Gradiance system for self-study can register at <a href="http://www.gradiance.com/services"><tt>www.gradiance.com/services</tt></a>. Then, use the class token <tt>1EDD8A1D</tt> to join the &#8220;omnibus class&#8221; for the MMDS book. See <a href="http://infolab.stanford.edu/~ullman/pub/stud-guide.html">The Student Guide</a> for more information.</p>
<h3>Other Stuff</h3>
<ul>
<li><a href="http://infolab.stanford.edu/~ullman/mining/mining.html">Slides and Course Material</a> from old CS345A. Like the book, you are welcome to use these as you like, but please preserve our authorship.</li>
<li><a href="http://infolab.stanford.edu/~ullman/mmds/errata.html">The Errata Sheet</a>. We shall endeavor to keep the downloads up to date. But if you bought or printed out a copy, you can check this list for known errors with the date of discovery. Please report errata to ullman a t gmail.com.</li>
</ul>
<p>Original Post <a title="Stanford University InfoLab" href="http://infolab.stanford.edu/~ullman/mmds.html">Stanford University InfoLab</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2011/09/mining-of-massive-datasets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inserting Multiple Rows in Google Docs &#8211; Spreadsheet</title>
		<link>http://www.appliedtns.com/blog/2011/09/inserting-multiple-rows-in-google-docs-spreadsheet-2/</link>
		<comments>http://www.appliedtns.com/blog/2011/09/inserting-multiple-rows-in-google-docs-spreadsheet-2/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 18:50:49 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Productivity Tools]]></category>
		<category><![CDATA[google docs]]></category>
		<category><![CDATA[google spread sheet]]></category>
		<category><![CDATA[insert rows]]></category>
		<category><![CDATA[inserting multiple rows]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=224</guid>
		<description><![CDATA[Google recently upgraded their docs interface and they made big improvements within Google Docs.  I have always been comfortable with their word processor, but recently I decided to take the plunge and begin using their spreadsheet doc.
Things seemed to be a bit streamlined and I was okay with the clean, simple interface.  My biggest challenge [...]]]></description>
			<content:encoded><![CDATA[<p>Google recently upgraded their docs interface and they made big improvements within Google Docs.  I have always been comfortable with their word processor, but recently I decided to take the plunge and begin using their spreadsheet doc.</p>
<p>Things seemed to be a bit streamlined and I was okay with the clean, simple interface.  My biggest challenge was inserting multiple rows.</p>
<p><em>Clicking on every menu, right-clicking on single rows,  or trying the traditional ctrl + did not do the trick.  It is a little cumbersome, but here is how I got around this annoyance:</em></p>
<p><strong><em>This what Google gives you by default:</em></strong></p>
<p><img class="alignnone" title="insert single row above or below" src="https://img.skitch.com/20110915-xnjqxr5894ajqdkwrg53tegbyd.jpg" alt="insert single row above or below" width="481" height="473" /></p>
<p><em><strong>After all my cutting and pasting, I decided to highlight multiple rows, this did not work. What you need to do is highlight the row numbers (headers?) and not the actual rows.  Once they are highlighted, right-click on the row numbers column and you will see the menu change, like so:</strong></em></p>
<p><em><strong><img class="alignnone" title="multiple row inserts google docs" src="https://img.skitch.com/20110915-rwwrwbmyw92kg7i3ka2iqxf1kr.jpg" alt="multiple row inserts google docs" width="220" height="539" /><br />
</strong></em></p>
<p>Although this is a bit clunky, it did resolved my issue of adding one row at a time.  I really hope Google brings shortcut support to this little, yet important task.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2011/09/inserting-multiple-rows-in-google-docs-spreadsheet-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Recursive Permissions in Lion &#8211; Chown (enable root required)</title>
		<link>http://www.appliedtns.com/blog/2011/08/recursive-permissions-in-lion-chown-enable-root-required/</link>
		<comments>http://www.appliedtns.com/blog/2011/08/recursive-permissions-in-lion-chown-enable-root-required/#comments</comments>
		<pubDate>Mon, 29 Aug 2011 00:09:30 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[chown]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[recursive]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=214</guid>
		<description><![CDATA[Disclaimer: I am not responsible for any damage you may cause to your system.  Make sure you understand how to copy your files before locking your self out of an account or inadvertently deleting a profile that you need
I had a situation where I had to move a home directory (in-tact) from one user to [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Disclaimer: I am not responsible for any damage you may cause to your system.  Make sure you understand how to copy your files before locking your self out of an account or inadvertently deleting a profile that you need</p></blockquote>
<p>I had a situation where I had to move a home directory (in-tact) from one user to another.  Permissions became very inconsistent since the previous user never fully migrated his profile from his predecessor.  To clean up the mess I did the following (works on Snow Leopard/Lion):</p>
<p><strong>Enabled Root User</strong><br />
Go to your System Preferences and under system click on Accounts</p>
<p><img src="https://img.skitch.com/20110829-c94kmmsianw7hb7frx4p4y7myj.jpg" alt="" /></p>
<p>Then click on Login Options, and to the right you will see Network Account Server, click Join.</p>
<p>A window will pop-up, continue by clicking on Open Directory Utility &#8230;</p>
<p><img src="https://img.skitch.com/20110829-qddsbex6u9tm548fh2gc6jp79c.jpg" alt="" /></p>
<p>This will open the Directory Utility, make sure the small lock on the bottom left is in the Unlocked position, if not, click on it and enter your admin password.  Once it is unlocked, go to the top menu, click Edit &gt; Enable Root User<br />
<img src="https://img.skitch.com/20110829-eg5pmfc9n2d1cypfsqy847mu59.jpg" alt="" /></p>
<p>Once you Enable Root User, you will be prompted to enter a password for the Root.</p>
<p><strong>Backup up both profiles</strong><br />
Now that Root is enabled, <em>log in under a separate Admin account</em> &#8211; Make sure you are not logged in as one of the users you are moving.</p>
<p>Add the new user to your system.  (System Preferences &gt; Accounts &gt; +)</p>
<p>Once you have added the new user to your system, open up Terminal and become root by typing &#8220;su &#8211; root&#8221; without the quotes.<br />
Once you are done, make a copy of both the new user and the old user profile directory e.g. /Users/NewUser/ and /Users/OldUser. Compare the newly created backups with the old directories to make sure the structure is the same.</p>
<p><strong>Move the profile to the new user</strong><br />
Now that you have compared the directories, you are ready to move everything over to the new user.  Remove the original (not the newly created backup) /Users/NewUser.</p>
<p>Now move the old user to the new user e.g. mv /Users/OldUser /Users/NewUser</p>
<p><strong>Recursively change permissions</strong><br />
I had a minor issue with syntax, but after a little trial and error I did the following:</p>
<p>From /Users/ I typed chown -R NewUser *</p>
<p>This changes the permissions(ownership) from OldUser to NewUser.</p>
<p><strong>Log in and Test your new permissions</strong><br />
Log out of the current profile and log in under NewUser and test the permission by opening up any documents or desktop elements.</p>
<p>Good Luck</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2011/08/recursive-permissions-in-lion-chown-enable-root-required/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error 1013 on Verizon iPhone 4.2.6 osx (fix)</title>
		<link>http://www.appliedtns.com/blog/2011/02/error-1013-on-verizon-iphone-4-2-6-osx/</link>
		<comments>http://www.appliedtns.com/blog/2011/02/error-1013-on-verizon-iphone-4-2-6-osx/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 14:21:16 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[OS X]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[error 1013]]></category>
		<category><![CDATA[iphone error]]></category>
		<category><![CDATA[iphone loop]]></category>
		<category><![CDATA[verizon iphone]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=206</guid>
		<description><![CDATA[This morning I was prompted to upgrade my Verizon iPhone to 4.2.6.  During the upgrade, I ended up in an endless loop &#8220;The iPhone &#8220;iPhone&#8221; could not be restored. An unknown error occurred (1013).

I confirmed I had the latest iTunes, confirmed all OSx updates with no luck.  After looking around the web I found that [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I was prompted to upgrade my Verizon iPhone to 4.2.6.  During the upgrade, I ended up in an endless loop &#8220;The iPhone &#8220;iPhone&#8221; could not be restored. An unknown error occurred (1013).</p>
<p><img class="alignnone size-medium wp-image-207" title="Verizon-iPhone-4-Error-10131" src="http://www.appliedtns.com/blog/wp-content/uploads/2011/02/Verizon-iPhone-4-Error-10131-300x88.jpg" alt="" width="300" height="88" /></p>
<p>I confirmed I had the latest iTunes, confirmed all OSx updates with no luck.  After looking around the web I found that the issue is related to a DNS entry in the host file.  To fix the issue and get around the loop, do the following:</p>
<ul>
<li>Open &#8220;Terminal&#8221;(<em>/applications/utitlities/terminal.app)</em></li>
<li>Type <em>sudo vim /etc/hosts (you will be prompted to enter your password)</em></li>
<li>Scroll down till you find <em>gs.apple.com, now arrow to the beginning of that line (hit the &#8220;i&#8221; to insert a the following character) put a &#8220;#&#8221;  in front of it, the result should be simliar to #127.0.0.1 gs.apple.com, now hit the &#8220;esc&#8221; key.</em></li>
<li>Now type :w and the enter key, followed by :q and the  enter key <em>(this is writing the new hosts file, and quitting the editing program)</em></li>
<li>To clear your cache type <em>dscacheutil -flushcache</em></li>
</ul>
<p>Good luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2011/02/error-1013-on-verizon-iphone-4-2-6-osx/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cannot select deselect objects in Fireworks &#8211; Spotify &#8211; Fix</title>
		<link>http://www.appliedtns.com/blog/2010/12/cannot-select-deselect-objects-in-fireworks-spotify/</link>
		<comments>http://www.appliedtns.com/blog/2010/12/cannot-select-deselect-objects-in-fireworks-spotify/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 21:03:55 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[cannot click on layers]]></category>
		<category><![CDATA[cannot select layers in fireworks]]></category>
		<category><![CDATA[cs5]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[spotify]]></category>
		<category><![CDATA[spotify breaks fireworks]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=197</guid>
		<description><![CDATA[Update: January 11, 2011 Spotify has released a temporary fix within their preview build http://www.spotify.com/int/download/previews/ &#8211; The current fix re-enables your cursor while running Spotify.  The one thing that has changed in this build, is the fact that you have to put Spotify in focus to use your media keys (fwd, play, prev, etc) I am [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: January 11, 2011 </strong>Spotify has released a temporary fix within their <a title="Spotify Preview" href="http://www.spotify.com/int/download/previews/">preview</a> build <a title="Spotify Fireworks Fix" href="http://www.spotify.com/int/download/previews/">http://www.spotify.com/int/download/previews/</a> &#8211; The current fix re-enables your cursor while running Spotify.  The one thing that has changed in this build, is the fact that you have to put Spotify in focus to use your media keys (fwd, play, prev, etc) I am excited to see Spotify&#8217;s efforts in resolving the issue and I look forward to permanent fix.</p>
<p>***</p>
<p>Recently I have been trying to wrap my head around a very annoying bug in Fireworks CS5.  The bug is noticeable when you are working on a document with two or more layers.</p>
<p>To see it in action you open a document and try to select a layer by left clicking your cursor on the layer. No matter how many times you try to click on the other layer, it won&#8217;t select it. (red outline)</p>
<p><img class="alignnone size-medium wp-image-198" title="Fireworks" src="http://www.appliedtns.com/blog/wp-content/uploads/2010/12/Screen-shot-2010-12-29-at-3.46.09-PM-300x256.jpg" alt="" width="300" height="256" /></p>
<p>After several attempts, I restarted Fireworks, but the problem persisted.  I also restarted my computer and continued to have the same problem.  Finally, I started closing all my applications and all of sudden I could select again.  So what was the problem? after closing all my apps I narrowed it down to <a href="http://www.spotify.com/int/free-user/">Spotify</a>.</p>
<p>Yes, running <a href="http://www.spotify.com/int/free-user/">Spotify</a> while you are working on Fireworks CS5 disables your ability to click on the layers within the canvas.  The only work around is to click on the layers via the layers panel or turn off Spotify.</p>
<p><img class="alignnone size-medium wp-image-199" title="Spotify break Fireworks" src="http://www.appliedtns.com/blog/wp-content/uploads/2010/12/Screen-shot-2010-12-29-at-3.54.34-PM-213x300.jpg" alt="Spotify break Fireworks" width="213" height="300" /></p>
<p><strong>Productivity disruption.</strong></p>
<p>I am not sure when the engineers at Spotify will be able to resolve the problems, but I was able to find a support post on <a href="http://getsatisfaction.com/spotify/topics/spotify_breaks_adobe_fireworks_cs5">Get Satisfaction</a> &#8211; you can also follow the latest on <a href="http://forums.adobe.com/message/3351883#3351935">Adobe Forums</a>.</p>
<p>I really hope this doesn&#8217;t mean its &#8220;back to iTunes&#8221; I have learned to love Spotify and I believe that once it hits the USA it will replace most if not all other music services.  We heart Spotify but can&#8217;t work with it on.  We will keep you posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2010/12/cannot-select-deselect-objects-in-fireworks-spotify/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adium Facebook Captcha Error</title>
		<link>http://www.appliedtns.com/blog/2010/09/adium-facebook-captcha-error/</link>
		<comments>http://www.appliedtns.com/blog/2010/09/adium-facebook-captcha-error/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 00:32:19 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[captcha fail]]></category>
		<category><![CDATA[facebook adium]]></category>
		<category><![CDATA[facebook chat]]></category>
		<category><![CDATA[facebook chat error]]></category>

		<guid isPermaLink="false">http://www.appliedtns.com/blog/?p=191</guid>
		<description><![CDATA[How to fix the Facebook Captcha prompt in Adium 1.4
Since Adium 1.3ish, we have noticed a bug that seems to be related to Facebook&#8217;s chat protocol.   After a bit of digging around we found that using the XMPP protocol fixes the captcha issue.
Below are a few simple steps  to setup Adium 1.4 to use [...]]]></description>
			<content:encoded><![CDATA[<h2>How to fix the Facebook Captcha prompt in Adium 1.4</h2>
<p>Since Adium 1.3ish, we have noticed a bug that seems to be related to Facebook&#8217;s chat protocol.   After a bit of digging around we found that using the XMPP protocol fixes the captcha issue.</p>
<p>Below are a few simple steps  to setup Adium 1.4 to use the standard XMPP protocol with <a title="facebook chat adium" href="http://www.facebook.com">Facebook</a> chat.</p>
<h2>To use XMPP instead of the old implementation, do the following:</h2>
<ul>
<li>Open Adium</li>
<li>Add a &#8220;Jabber&#8221; account</li>
<li>Type in your Facebook username* + @chat.facebook.com.</li>
<li>Under Options, Set the connection server to &#8220;chat.facebook.com&#8221;</li>
</ul>
<p><em>*To activate your username, go to Account, then Account Setting, and then Username</em></p>
<p><em><br />
</em><br />
<strong>update</strong> confirmed on the <a title="adium wiki" href="http://trac.adium.im/wiki/FacebookChat">Adium Wiki</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2010/09/adium-facebook-captcha-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weird Font Issues and Strange Characters in Snow Leopard 10.6</title>
		<link>http://www.appliedtns.com/blog/2009/08/weird-font-issues-and-strange-characters-in-snow-leopard-106/</link>
		<comments>http://www.appliedtns.com/blog/2009/08/weird-font-issues-and-strange-characters-in-snow-leopard-106/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 15:08:35 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Tech News]]></category>
		<category><![CDATA[crappy]]></category>
		<category><![CDATA[delete da font]]></category>
		<category><![CDATA[font problems]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[osx 10.6]]></category>
		<category><![CDATA[snow leopard]]></category>

		<guid isPermaLink="false">http://ashevillewebblog.com/?p=153</guid>
		<description><![CDATA[So you just upgraded to the new Snow Leopard and everything looks like crap and you can&#8217;t read it because all you have are boxes with A&#8217;s in them. Well rest easy, cause Apple actually solved this one for you and they let you know too but it just wasn&#8217;t a clear explanation.
When you started [...]]]></description>
			<content:encoded><![CDATA[<p>So you just upgraded to the new Snow Leopard and everything looks like crap and you can&#8217;t read it because all you have are boxes with A&#8217;s in them. Well rest easy, cause Apple actually solved this one for you and they let you know too but it just wasn&#8217;t a clear explanation.</p>
<p>When you started the computer it said that there was a font conflict and asked if it should ignore the conflict or move one of the files to the trash, well you should have moved it to the trash. Then just logged out and back in. That is it, empty the trash and you are completely done.</p>
<p>If you are having trouble with things like SIMBL and it&#8217;s plugins that is a different story, but as a hint: For now SIMBL stuff still works if you run the target application it in 32-Bit mode. Click the *.app file and then press Apple-I to bring up the info box where you can select 32-Bit only.</p>
<p>One last bit of advice is to ensure you upgrade programs like Little Snitch before you run your Snow Leopard Upgrade because it will not run without the upgrade and you will be left without a firewall until you upgrade, so might as well do it before and have it the whole time, or at least do it almost right away when you restart after the upgrade.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2009/08/weird-font-issues-and-strange-characters-in-snow-leopard-106/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TEDx comes to Asheville</title>
		<link>http://www.appliedtns.com/blog/2009/08/tedx-comes-to-asheville/</link>
		<comments>http://www.appliedtns.com/blog/2009/08/tedx-comes-to-asheville/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 14:48:52 +0000</pubDate>
		<dc:creator>Jose Ibarra</dc:creator>
				<category><![CDATA[Tech News]]></category>
		<category><![CDATA[asheville]]></category>
		<category><![CDATA[ted]]></category>
		<category><![CDATA[tedx]]></category>
		<category><![CDATA[tedxasheville]]></category>
		<category><![CDATA[tedxavl]]></category>

		<guid isPermaLink="false">http://ashevillewebblog.com/?p=145</guid>
		<description><![CDATA[
In the spirit of ideas worth spreading, TEDx is a program of local, self-organized events that bring people together to share a TED-like experience. At a TEDx event, TEDTalks video and live speakers combine to spark deep discussion and connection in a small group. These local, self-organized events are branded TEDx, where x=independently organized TED [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<h5><em>In the spirit of ideas worth spreading, TEDx is a program of local, self-organized events that bring people together to share a TED-like experience. At a TEDx event, TEDTalks video and live speakers combine to spark deep discussion and connection in a small group. These local, self-organized events are branded TEDx, where x=independently organized TED event. The TED Conference provides general guidance for the TEDx program, but individual TEDx events are self-organized. </em></h5>
</blockquote>
<p>We are excited to be a part of Asheville&#8217;s very own independant TED event, <a href="http://tedxavl.com">TEDxAsheville</a>.  Tonight at 7pm, people will come from all over the region to listen to some of Asheville&#8217;s most influentional speakers and performers.  Tonight&#8217;s Line-up includes:</p>
<p><span style="color: #800000;"><strong>2009 TEDxAsheville Speaker Lineup:</strong></span></p>
<p style="padding-left: 30px;"><strong>Dee Eggers</strong><br />
UNC Asheville professor of environmental studies</p>
<p style="padding-left: 30px;"><strong>Drew  Jones</strong><br />
Climate scientist, the Sustainability Institute</p>
<p style="padding-left: 30px;"><strong>David McConville</strong><br />
Media artist, the Elumenati</p>
<p style="padding-left: 30px;"><strong>Caroline Yongue</strong><br />
Buddhist minister and director of Asheville’s Center for End-of-Life Transitions</p>
<p style="padding-left: 30px;"><strong>Robert Zimmerman</strong><br />
Coder, designer and illustrator</p>
<p><strong><br />
</strong>In addition to our speaker lineup, TEDxAsheville will feature several Asheville performers, intermission entertainment, non-profit tables, a parking lot full of demos, displays and performances PLUS a few special surprises.</p>
<p><a href="http://appliedtns.com">Applied Solutions Group</a> is proud to support <a href="http://tedxavl.com">TEDxAsheville</a>.</p>
<p><em>We have been seeking a light to shine on our local talent and TEDx has provided us with a light and platform. </em><em>-Jose Ibarra, Co-Founder TEDxAsheville</em></p>
<p>Follow the event at <a href="http://tedxavl.com">http://tedxavl.com </a></p>
<p>TEDxAsheville website design was donated by Jose Ibarra, development by Tom Constant, and hosting by Applied Solutions Group</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2009/08/tedx-comes-to-asheville/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverstripe CCK or Silverstripe for Drupal Users</title>
		<link>http://www.appliedtns.com/blog/2009/08/silverstripe-cck-or-silverstripe-for-drupal-users/</link>
		<comments>http://www.appliedtns.com/blog/2009/08/silverstripe-cck-or-silverstripe-for-drupal-users/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 16:31:14 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[C5]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Conrete 5]]></category>
		<category><![CDATA[Controllers]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Extend Silverstripe]]></category>
		<category><![CDATA[Models]]></category>
		<category><![CDATA[MODx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Silverstripe]]></category>

		<guid isPermaLink="false">http://ashevillewebblog.com/tom/2009/08/silverstripe-cck-or-silverstripe-for-drupal-users/</guid>
		<description><![CDATA[The first CMS I really got into that wasn&#8217;t some system I had built was Drupal. It is both a great and a terrible CMS to use, especially as my cherry poppin CMS. One thing that I liked about Drupal that makes the switch to other CMS a lot of work for me is the [...]]]></description>
			<content:encoded><![CDATA[<p>The first CMS I really got into that wasn&#8217;t some system I had built was <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a>. It is both a great and a terrible CMS to use, especially as my cherry poppin CMS. One thing that I liked about <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a> that makes the switch to other CMS a lot of work for me is the way <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a> uses Content Construction Kit (CCK) to allow you to create new &#8220;node&#8221; types and the forms that match. This seemed really easy to me where I could take a list much like this:</p>
<ul>
<li>Pages
<ul>
<li>Already Created at Install</li>
</ul>
</li>
<li>Sponsors
<ul>
<li>Sponsor Name</li>
<li>Sponsor URL</li>
<li>Sponsor Banner Image</li>
<li>Sponsor Priority</li>
</ul>
</li>
<li>Classes
<ul>
<li>Class Category</li>
<li>Class Name</li>
<li>Class Description</li>
<li>Class Instructor</li>
<li>Class Capacity</li>
<li>Class Slots Filled</li>
</ul>
</li>
</ul>
<p>and begin to turn this into my node types by just making a few adjustments to the list, really not even adjustments just classifications. Now here is that list after classifying them</p>
<ul>
<li>Pages
<ul>
<li>Already Created at Install</li>
</ul>
</li>
<li>Sponsors
<ul>
<li>Sponsor Name &#8211; Textfield &#8211; Limit 128</li>
<li>Sponsor URL &#8211; Textfield &#8211; Limit 128</li>
<li>Sponsor Banner Image &#8211; Textfield &#8211; Limit 64</li>
<li>Sponsor Priority &#8211; Dropdown &#8211; 0-10</li>
</ul>
</li>
<li>Classes
<ul>
<li>Class Name &#8211; Textfield &#8211; Limit 64</li>
<li>Class Description  &#8211; Textarea &#8211; 5&#215;20</li>
<li>Class Instructor  &#8211; Textfield &#8211; Limit 64</li>
<li>Class Capacity  &#8211; Integer &#8211; Limit 3</li>
<li>Class Slots Filled  &#8211; Integer &#8211; Limit 3</li>
</ul>
</li>
</ul>
<p>Now for <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a> we have a pretty nice little list to just create in CCK by naming them applying these limits to the fields. This is pretty easy and if you ask your client to classify a certain area of their site like sponsors many times they will give you a list must like the first one. Using CCK this is all easy and once you are done you have a nice form, automatically built, that will only ask the administrator for the information that is needed and will create the node for them, it is straight forward, looks like all the other <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a> admin forms and handles validation for you.</p>
<p>So when I try other CMSs like modX, Concrete5, Joomla, etc&#8230; I always wonder as soon I install it how i go about doing the same thing within their system. Well the truth is that most CMS have something similar to <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a>&#8217;s CCK and to tell the truth again it is usually hard to find documentation on it because every calls it something different. There are content types, page types, and many many more names for the same thing. I prefer the term page type, because i think that it universally makes sense.</p>
<p>Creating this same thing in <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a> is actually really simple, it makes sense, and to me it is better than <a title="Drupal" href="http://drupal.org" target="_blank">Drupal</a>&#8217;s system because it is more flexible and since you are building basically a model and controller for your page type that extends the base Page model and controller then you have all the functionality of the Page but can also extend it as far as you want.</p>
<p>So lets get started with this same process just using <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a>! Lets take our blank list and classify it for <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a>.</p>
<ul>
<li>Pages
<ul>
<li>Already Created at Install</li>
</ul>
</li>
<li>Sponsors
<ul>
<li>Sponsor Name &#8211; Textfield &#8211; Varchar(128)</li>
<li>Sponsor URL &#8211; Textfield &#8211; Varchar(128)</li>
<li>Sponsor Banner Image &#8211; File Upload</li>
<li>Sponsor Priority &#8211; Dropdown from 0-10 &#8211; Integer(2)</li>
</ul>
</li>
<li>Classes
<ul>
<li>Class Name &#8211; Textfield &#8211; Varchar(64)</li>
<li>Class Description  &#8211; Textarea &#8211; Text</li>
<li>Class Instructor  &#8211; Textfield &#8211; Varchar(64)</li>
<li>Class Capacity  &#8211; Textfield &#8211; Integer(3)</li>
<li>Class Slots Filled  &#8211; Textfield &#8211; Integer(3)</li>
</ul>
</li>
</ul>
<p>Notice that the classifications of these fields more closely models a database, this is because <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a> is smart and they know that you are going to build these extensions with Models, so they should model a data source more closely. Let Take our list and get started with creating our page types now!</p>
<p>Lets start by creating a new file for our site. Open up the installation of <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a> and open up the folder mysite/code Next we want to create a file to extend the Page Model and Controller. Following Silverstipe conventions we will append the word &#8220;page&#8221; at the end of the file name, since we are extending Page. Lets do Classes as our example for simplicity. So lets add a file to our mysite/code folder and name it ClassPage.php With <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a> extending things is a lot like working with an MVC framework such as CakePHP or Code Igniter so we chose to name that ClassPage.php after the singular version of what our Model will represent. If we had been doing the Sponsors instead we would of named it SponsorPage.php</p>
<p>Now that we have our file, lets open it and start editing our code! Once we open the file we are going to want to let the system know what we have by declaring our Model class first. So lets do the following:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">		<span style="color:#DADEFB; font-weight:bold;">class</span> ClassPage <span style="color:#DADEFB; font-weight:bold;">extends</span> Page
		<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
			<span style="color:#FFFFFF; font-weight:bold;">static</span> <span style="color:#AADDFF; font-weight:bold;">$db</span> = <span style="color:#FFFFFF; font-weight:bold;">array</span><span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
&nbsp;
			<span style="color:#DADEFB; font-weight:bold;">function</span> getCMSFields<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>
			<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
				<span style="color:#9FBFFE; font-weight:bold;">return</span> <span style="color:#AADDFF; font-weight:bold;">$fields</span>;
			<span style="color:#AA66FF; font-weight:bold;">&#125;</span>
		<span style="color:#AA66FF; font-weight:bold;">&#125;</span></pre></div></div>

<p>Basically we have just declared our Model and told the system the name. Next we need to add more code to this declaration and make it actually add our database fields and connect them to this model. We also need to write the getCMSFields function, as it is a <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a> standard that will be called for your Model once someone creates a new instance of this page type. So lets get that out of the way and create our class variable db, another <a title="Silverstripe" href="http://silverstripe.org" target="_blank">Silverstripe</a> standard. This will ensure that when someone runs a db update that our fields will be installed into the DB. So lets change that previous code to this:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">		<span style="color:#DADEFB; font-weight:bold;">class</span> ClassPage <span style="color:#DADEFB; font-weight:bold;">extends</span> Page
		<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
			<span style="color:#FFFFFF; font-weight:bold;">static</span> <span style="color:#AADDFF; font-weight:bold;">$db</span> = <span style="color:#FFFFFF; font-weight:bold;">array</span><span style="color:#AA66FF; font-weight:bold;">&#40;</span>
				<span style="color:#A8FF60;">'ClassInstructor'</span> =<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt; Varchar<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#006666;">64</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>,
				<span style="color:#A8FF60;">'ClassCapacity'</span> =<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt; Int<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>,
				<span style="color:#A8FF60;">'ClassSlotsFilled'</span> =<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt; Int<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>
			<span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
&nbsp;
			<span style="color:#DADEFB; font-weight:bold;">function</span> getCMSFields<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>
			<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
				<span style="color:#AADDFF; font-weight:bold;">$fields</span> = parent::<span style="">getCMSFields</span><span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
				<span style="color:#AADDFF; font-weight:bold;">$fields</span>-<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt;addFieldToTab<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'Root.Content.ClassInfo'</span>, <span style="color:#DADEFB; font-weight:bold;">new</span> TextField<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'ClassInstructor'</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
				<span style="color:#AADDFF; font-weight:bold;">$fields</span>-<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt;addFieldToTab<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'Root.Content.ClassInfo'</span>, <span style="color:#DADEFB; font-weight:bold;">new</span> TextField<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'ClassCapacity'</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
				<span style="color:#AADDFF; font-weight:bold;">$fields</span>-<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt;addFieldToTab<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'Root.Content.ClassInfo'</span>, <span style="color:#DADEFB; font-weight:bold;">new</span> TextField<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'ClassSlotsFilled'</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
				<span style="color:#9FBFFE; font-weight:bold;">return</span> <span style="color:#AADDFF; font-weight:bold;">$fields</span>;
			<span style="color:#AA66FF; font-weight:bold;">&#125;</span>
		<span style="color:#AA66FF; font-weight:bold;">&#125;</span></pre></div></div>

<p>Notice i left out the Title and Description fields, i feel that since they are kind of standard that leaving them out is ok to do, makes it easier to read and they are standard so they will be some kind of common tie among the different content types. So now we have our Content Type created, we only need to do one more thing to have a basic working extension here and that is to define the controller. This part might be confusing to people coming from other MVC frameworks as they are included in the same file, I didn&#8217;t like it at first but it really is ok and you will get used to it. Notice that in the getCMSFields() function that we are adding &#8220;Root.Content.ClassInfo&#8221; That is basically the tab at the top of the admin interface to let you know it is separate from the main content tab. So at the bottom of the model start a new class and leave it empty, since we are not needing to customize the existing Page_Controller.</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">	<span style="color:#DADEFB; font-weight:bold;">class</span> ClassPage_Controller <span style="color:#DADEFB; font-weight:bold;">extends</span> Page_Controller
	<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
	<span style="color:#AA66FF; font-weight:bold;">&#125;</span></pre></div></div>

<p>So our entire file should look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;">	<span style="color:#DADEFB; font-weight:bold;">class</span> ClassPage <span style="color:#DADEFB; font-weight:bold;">extends</span> Page
	<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
		<span style="color:#FFFFFF; font-weight:bold;">static</span> <span style="color:#AADDFF; font-weight:bold;">$db</span> = <span style="color:#FFFFFF; font-weight:bold;">array</span><span style="color:#AA66FF; font-weight:bold;">&#40;</span>
			<span style="color:#A8FF60;">'ClassInstructor'</span> =<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt; Varchar<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#006666;">64</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>,
			<span style="color:#A8FF60;">'ClassCapacity'</span> =<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt; Int<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>,
			<span style="color:#A8FF60;">'ClassSlotsFilled'</span> =<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt; Int<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#006666;">3</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>
		<span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
&nbsp;
		<span style="color:#DADEFB; font-weight:bold;">function</span> getCMSFields<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>
		<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
			<span style="color:#AADDFF; font-weight:bold;">$fields</span> = parent::<span style="">getCMSFields</span><span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
			<span style="color:#AADDFF; font-weight:bold;">$fields</span>-<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt;addFieldToTab<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'Root.Content.ClassInfo'</span>, <span style="color:#DADEFB; font-weight:bold;">new</span> TextField<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'ClassInstructor'</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
			<span style="color:#AADDFF; font-weight:bold;">$fields</span>-<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt;addFieldToTab<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'Root.Content.ClassInfo'</span>, <span style="color:#DADEFB; font-weight:bold;">new</span> TextField<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'ClassCapacity'</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
			<span style="color:#AADDFF; font-weight:bold;">$fields</span>-<span style="color:#DDEEBB; font-weight:bold;">&amp;</span>gt;addFieldToTab<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'Root.Content.ClassInfo'</span>, <span style="color:#DADEFB; font-weight:bold;">new</span> TextField<span style="color:#AA66FF; font-weight:bold;">&#40;</span><span style="color:#A8FF60;">'ClassSlotsFilled'</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span><span style="color:#AA66FF; font-weight:bold;">&#41;</span>;
			<span style="color:#9FBFFE; font-weight:bold;">return</span> <span style="color:#AADDFF; font-weight:bold;">$fields</span>;
		<span style="color:#AA66FF; font-weight:bold;">&#125;</span>
	<span style="color:#AA66FF; font-weight:bold;">&#125;</span>
&nbsp;
	<span style="color:#DADEFB; font-weight:bold;">class</span> ClassPage_Controller <span style="color:#DADEFB; font-weight:bold;">extends</span> Page_Controller
	<span style="color:#AA66FF; font-weight:bold;">&#123;</span>
	<span style="color:#AA66FF; font-weight:bold;">&#125;</span></pre></div></div>

<p>Now we can test it out, the first thing we need to do is go to our site and login to the admin areas. Then in a new tab append the following to the end of the URL /dev. Once you open that page you will see some text and the DB will be updated. Now we can go to our admin area and use our new page type!</p>
<p>There is still more to do but mainly in the TPL files and making sure that your info displays correctly or at least has a default for people to override in their own themes. We will save the theming for next time, it is nice and straight forward too but try this out and see what you think. If there are errors in any of this code let me know, I was mainly doing this as a reference so I didn&#8217;t build and run this but it should work just fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.appliedtns.com/blog/2009/08/silverstripe-cck-or-silverstripe-for-drupal-users/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

