<?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/"
	>

<channel>
	<title>Derek Gallo</title>
	<atom:link href="http://derekgallo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://derekgallo.com</link>
	<description>Technology, Interests and My Life</description>
	<pubDate>Sun, 22 Mar 2009 17:48:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>My Blog Is Back Up!</title>
		<link>http://derekgallo.com/2008/12/20/my-blog-is-back-up/</link>
		<comments>http://derekgallo.com/2008/12/20/my-blog-is-back-up/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 02:35:24 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[blog]]></category>

		<category><![CDATA[domain]]></category>

		<category><![CDATA[hosting]]></category>

		<category><![CDATA[slicehost]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2008/12/20/my-blog-is-back-up/</guid>
		<description><![CDATA[After more than 3 months of being out of commission, I have finally got my blog back up and running!  My domain name had expired.  I had it grouped in with all of the domains we own under the NFi Studios account at Host Department.  What a piece of junk for a [...]]]></description>
			<content:encoded><![CDATA[<p>After more than 3 months of being out of commission, I have finally got my blog back up and running!  My domain name had expired.  I had it grouped in with all of the domains we own under the <a href="http://nfistudios.com" onclick="javascript:urchinTracker ('/outbound/article/nfistudios.com');">NFi Studios</a> account at Host Department.  What a piece of junk for a domain company.  Repeatedly, we have had domains expire even though they were set to auto-renew.  They have also had the worst customer service and reliability.  We have since moved all of our domains to GoDaddy.</p>
<p>Host Department was less than cooperative with moving derekgallo.com though, go figure.  Every time I tried to initiate the transfer to GoDaddy, it would never work and they could never give a reason why.  Anyway, I finally have it back in my control and back up and running.</p>
<p>I am up and running on my new <a href="http://slicehost.com" onclick="javascript:urchinTracker ('/outbound/article/slicehost.com');">SliceHost</a> server.  I have just started with them but so far so good.  Bringing a slice online is quick and extremely simple.  They offer a wide variety of slice &#8220;sizes&#8221; so you don&#8217;t have to spend more than is necessary.  Their prices are great too.  I got a slice large enough to run this blog at a price only a little higher than a shared hosting environment BUT I have complete control of my server <img src='http://derekgallo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Now its time to upgrade to Wordpres 2.7 and maybe get a new theme, ahem <a href="http://derekbender.com" onclick="javascript:urchinTracker ('/outbound/article/derekbender.com');">Derek Bender</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2008/12/20/my-blog-is-back-up/feed/</wfw:commentRss>
		</item>
		<item>
		<title>California, BarcampOrlando and OrlandoPHP</title>
		<link>http://derekgallo.com/2008/04/01/california-barcamporlando-and-orlandophp/</link>
		<comments>http://derekgallo.com/2008/04/01/california-barcamporlando-and-orlandophp/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 00:53:31 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[Memberfuse]]></category>

		<category><![CDATA[barCamp]]></category>

		<category><![CDATA[meetup]]></category>

		<category><![CDATA[orlando]]></category>

		<category><![CDATA[orlando php]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2008/04/01/california-barcamporlando-and-orlandophp/</guid>
		<description><![CDATA[Its going to be a busy week because the following day, Saturday the 5th of April starts the second BarcampOrlando.  The first day is geared towards developers and the second towards media.  Don&#8217;t miss the official after party GeekOut &#8216;08!  It should be a great day of learning and meeting fellow geeks [...]]]></description>
			<content:encoded><![CDATA[<p>Its going to be a busy week because the following day, Saturday the 5th of April starts the second <a href="http://barcamporlando.org" onclick="javascript:urchinTracker ('/outbound/article/barcamporlando.org');">BarcampOrlando</a>.  The first day is geared towards developers and the second towards media.  Don&#8217;t miss the official after party <a href="http://www.geekoutparty.com/" onclick="javascript:urchinTracker ('/outbound/article/www.geekoutparty.com');">GeekOut &#8216;08</a>!  It should be a great day of learning and meeting fellow geeks in Orlando.  I will be meeting Gregg early on dev day to help pickup the chairs for the event.  If you would like to help unload or setup other aspects please come by.</p>
<p>Last, I would like to mention another geek meetup I along with some help from others am trying to revive/startup.  <a href="http://orlandophp.org" onclick="javascript:urchinTracker ('/outbound/article/orlandophp.org');">OrlandoPHP</a> will be a monthly meetup to discuss and learn everything PHP.  If you dabble in PHP development or are interested in picking up more knowledge, stop on by!  Our first meeting is scheduled for April 22nd at Devry from 7:00pm to 9:00pm.  We are currently planning on reviewing the the available frameworks for php and discussing their pros and cons.  If you have any questions or want to help get this going contact me.</p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2008/04/01/california-barcamporlando-and-orlandophp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Barcamp and Future of Web Apps in Miami</title>
		<link>http://derekgallo.com/2008/03/02/barcamp-and-future-of-web-apps-in-miami/</link>
		<comments>http://derekgallo.com/2008/03/02/barcamp-and-future-of-web-apps-in-miami/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 04:04:57 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[barCamp]]></category>

		<category><![CDATA[barcampmiami]]></category>

		<category><![CDATA[fowa]]></category>

		<category><![CDATA[miami]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2008/03/02/barcamp-and-future-of-web-apps-in-miami/</guid>
		<description><![CDATA[
The Future of Web Apps in Miami has past.  I found the event a great opportunity to learn from some of the industry tops as well as socialize and network with industry peers.  I attend many conferences but usually I am working at them, providing kiosk technology for their attendees.  They are [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://futureofwebapps.com' title='Future of Web Apps'><img src='http://derekgallo.com/wp-content/uploads/2008/03/h1-02.gif' alt='Future of Web Apps' align="right"/></a><br />
The <a href="http://futureofwebapps.com/2008/miami/index.php" onclick="javascript:urchinTracker ('/outbound/article/futureofwebapps.com');">Future of Web Apps in Miami</a> has past.  I found the event a great opportunity to learn from some of the industry tops as well as socialize and network with industry peers.  I attend many conferences but usually I am working at them, providing kiosk technology for their attendees.  They are usually not conferences for my profession, so to go to this one as an actual attendee was great.</p>
<p><a href="http://barcamp.org/BarCampMiami"href='http://derekgallo.com/2008/03/02/barcamp-and-future-of-web-apps-in-miami/barcampmiami/' rel='attachment wp-att-50' title='BarcampMiami'><img src='http://derekgallo.com/wp-content/uploads/2008/03/350931611_b8ff6d2ac5.thumbnail.jpg' alt='BarcampMiami' align="left"/></a>Besides just the main Future of Web Apps conference, the Miami community hosted <a  onclick="javascript:urchinTracker ('/outbound/article/barcamp.org');">BarcampMiami</a>.  Barcamp is a community driven un-conference where anyone can choose to give a presentation or talk on whatever they feel and contribute to the overall knowledge of the community.  BarcampMiami was held on the day before the main conference day and was a free alternative to the FOWA workshops.</p>
<h4>Don&#8217;t miss our own second <a href="http://www.barcamporlando.org/" onclick="javascript:urchinTracker ('/outbound/article/www.barcamporlando.org');">BarcampOrlando</a> in April!  <a href="http://barcamporlando.eventbrite.com/"  onclick="javascript:urchinTracker ('/outbound/article/barcamporlando.eventbrite.com');">Registration</a> is already open.</h4>
<p><span id="more-48"></span><br />
I found both events to be incredibly educational and valuable but some presentations really stuck out:</p>
<h2>Barcamp</h2>
<h3>How Not To Fail At Web Services - <a href="http://railsenvy.com" onclick="javascript:urchinTracker ('/outbound/article/railsenvy.com');">Gregg Pollack</a></h3>
<p><img src="http://farm4.static.flickr.com/3260/2299200506_e259b4c56a_m.jpg" alt="Gregg Pollack" title="Gregg Pollack"  align="right" />Gregg gave a good presentation on implementing REST web service architectures.  He didn&#8217;t get into the details of how to implement a web service call.  Instead, he explained how to do it the CORRECT way.  He gave examples of sites that have failed and others who have got it right such as the OpenSocial API.  Every time Gregg speaks I feel like I come away with an exact understanding of what he talked about.  He is very articulate and brings the points in well.</p>
<h3 style="clear: both;">Agile devellopment w/ respect  - Ed Toro</h3>
<p>Ed&#8217;s presentation was all about Scrum development.  Scrum is a procedure NFi has taken on recently and we LOVE it.  The kicker with development methodologies is that you should take them more as a guidline and implement them in a way that works for you and your team.  Ed outlined the basic features of scrum and how he has used them in the past.  I took away some good ideas on how to change our own implementation a little bit.  The biggest point of his presentation was the respect factor.  We should all try to remember to treat each other with respect and trust our developers to get their jobs done.</p>
<h3>Inventing - Brad Neuberg</h3>
<p>This session was all about coming up with ideas.  Brad is pretty much the originator of the co-working, aka cow-orking <img src='http://derekgallo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> movement.  Brad ran his session in a manner that would make <a href="http://alexrudloff.com" onclick="javascript:urchinTracker ('/outbound/article/alexrudloff.com');">Alex</a> proud because it was more of a discussion than a presentation.  A Key point taken from that session was that if something makes you uncomfortable then there is probably room for a good invention because that means it is most likely something &#8220;new&#8221;.  Other points taken away were some techniques on generating ideas:</p>
<dl>
<dt>Sacred Cow Technique</dt>
<dd>Take 2 opposite ways of doing things and mix them.  An example would be the Green Industrial Revolution.  The Green Movement and the Industrial Revolution are on opposite sides of the spectrum but this combines them to produce a greater good.</p>
<dt>Cranky Inventor</dt>
<dd>This one is pretty common.  Listen and take notes on what people are complaining about the most and then just come up with something to fix it.</dd>
</dl>
<h2>FOWA</h2>
<h3>Creating Passionate Users - <a href="http://headrush.typepad.com/" onclick="javascript:urchinTracker ('/outbound/article/headrush.typepad.com');">Kathy Sierra</a></h3>
<p><img align="right" src="http://farm3.static.flickr.com/2026/2299622883_e54d719fd3_m.jpg" alt="Kathy Sierra" title="Kathy Sierra" />Kathy Sierra is a unique speaker.  She is engaging and isn&#8217;t shy to use her own style.  She teaches valuable lessons but throws in just enough comedy and even cursing to keep the crowd interested and remind you this isn&#8217;t a college class lecture.  Kathy is all about geting developers to remember who they are creating software for.  We need to think about and if at all possible, physically see our users reactions to using our software.  Only then will we truly be able to make it easy for them.  She also pushes us to make our software more human.  So many developers forget that to a user, its not about the tool itself, but about what the tool can do for the user.</p>
<h3 atyle="clear: both;">The Architecture of Wordpress - Matt Mullenweg</h3>
<p><img align="right" src="http://farm3.static.flickr.com/2150/2300251589_c44c394bb9_m.jpg" alt="Matt Mullenweg" title="Matt Mullenweg" />Matt Mullenweg, in case you didn&#8217;t know is the founder of wordpress.com.  He is extremely young and looks like he is just out of high school yet he is running one of the highest traffic sites on the internet.  More impressively was with how little resources he was able to make this site scale.  He outlined the exact structure of wordpress.com and they only have a total of about 19 servers.  For a site that probably ranks around 5th on the internet in traffic, thats pretty impressive.  Adding to the list is that the entire company is only about 19 people.  Matt is truly a gifted individual and very transparent with how he achieved his sucess not just on the sides of scaling the technical platform but how to scale the business and the community around your site.</p>
<h3 style="clear: both;">The Future of APIs - Kevin Marks</h3>
<p><img align="right" src="http://farm3.static.flickr.com/2129/2300786779_125eb0e494_m.jpg" alt="Kevin Marks" title="Kevin Marks" />This talk was really all about Google&#8217;s Open Social and Social Graph API&#8217;s.  Kevin Marks works for Google and is a main driving force behind these api&#8217;s. These two api&#8217;s will be the center of the social networking universe.  They take opposite approaches to help solve the same problem.  People are starting to belong to more social networks than friends they have in those networks.  Google&#8217;s apis aim to help social networking platforms come together and combine all the data so users aren&#8217;t being so repetitive in filling out all their profiles.  These will require all of social platforms to adopt the conventions.  The larger players already are though.</p>
<h3 style="clear: both; ">The Application of New Features to an Established Application - Cal Henderson</h3>
<p><img align="right" src="http://farm4.static.flickr.com/3143/2301181164_5b4fedc2fe_m.jpg" alt="Cal Henderson" title="Cal Henderson" />Cal Henderson is a top engineer (didn&#8217;t catch his exact title sorry) for Flickr.  He is absolutely hilarious!  I have never seen anyone take a topic as boring as processes in the software development lifecycle and  make them absolutely entertaining.  He talked about the different tools you should employ such as source control, regression testing, etc.  I didn&#8217;t learn much that I didn&#8217;t already know but it was really great to get confirmation as to many of the techniques we use that are also employed by a top player such as Yahoo.  I really want to find a video of this presentation to show to my team.<br />
<img src="http://farm4.static.flickr.com/3245/2302252979_1ac7990a41_m.jpg" title="Nom om Nom" alt="Nom om Nom"  /><br />
<br style="clear: both; " /><br />
And that was that!  Some other things that were part of the general theme of FOWA Miami were the use of Open ID, oAuth and Google&#8217;s social apis.  Nearly everyone touched on why we should adopt these and why we should all contribute back to the community and keep our advancements open.  We at NFi have every intention to integrate with all three of these as well as contribute anything we develop that is worthwhile.</p>
<p><img src='http://derekgallo.com/wp-content/uploads/2008/03/2301019475_4f4a023a1e_o.jpg' alt='The NFi Crew At The FOWA After Party' align="right" width="400" height="266" />After the conference was an after party at Nikki Beach Club.  Everyone showed up and it was a great time.  We got to talk with some of the speakers as well as hang out with some of our colleagues from Orlando.  All in all, I had a good time but now I feel like I have a ton more work to do! <img src='http://derekgallo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2008/03/02/barcamp-and-future-of-web-apps-in-miami/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quickly Launch Multiple Remote Desktop Windows with Quicksilver</title>
		<link>http://derekgallo.com/2008/02/04/quickly-launch-multiple-remote-desktop-windows-with-quicksilver/</link>
		<comments>http://derekgallo.com/2008/02/04/quickly-launch-multiple-remote-desktop-windows-with-quicksilver/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 00:51:49 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[Mac RDC Quicksilver tips]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2008/02/04/quickly-launch-multiple-remote-desktop-windows-with-quicksilver/</guid>
		<description><![CDATA[Being a Mac OSX user but managing several Windows based servers, I find myself using the Microsoft Remote Desktop Connection Client for Mac quite a bit.  Until version 2.0 Beta of the RDC software this was quite cumbersome.  The older version would not let you have a connection to more than one Windows [...]]]></description>
			<content:encoded><![CDATA[<p>Being a Mac OSX user but managing several Windows based servers, I find myself using the Microsoft Remote Desktop Connection Client for Mac quite a bit.  Until version 2.0 Beta of the RDC software this was quite cumbersome.  The older version would not let you have a connection to more than one Windows computer at a time.  The new version does however and if you combine the power of Quicksilver you can greatly increase your efficiency in launching your most common connections.</p>
<p>The key is in the RDC client&#8217;s ability to save connection settings.  You can save a .rdp file into a location indexed by Quicksilver and then quickly launch that connection in just a few keystrokes from that point on.  Here is how to set up a connection to a computer located at mydomain.com:<br />
<span id="more-43"></span><br />
NOTE: You must have <a href="http://en.wikipedia.org/wiki/Quicksilver_(software)" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Quicksilver</a> and the <a href="http://www.microsoft.com/mac/products/remote-desktop/default.mspx" onclick="javascript:urchinTracker ('/outbound/article/www.microsoft.com');">Microsoft Remote Desktop Connection Client for Mac</a><br />
<script type="text/javascript"><!--
google_ad_client = "pub-8685554516960131";
/* 468x60, created 3/2/08 */
google_ad_slot = "8034001026";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<ol>
<li>Launch the RDC application</li>
<li>Enter mydomain.com into the text field in the RDC window<br /><img src='http://derekgallo.com/wp-content/uploads/2008/02/picture-2.png' alt='RDC Client Window' /></li>
<li>Press command+s to save the RDC file.  The default save location will be a folder named RDC Connections which will be located in your Documents folder.  The Documents folder is indexed by Quicksilver by default so this is a great place to save your .rdp file.  Name the file something familiar and something that represents the keystrokes you will want to use to activate this connection with Quicksilver.  Quicksilver will index the filename.  I usually keep my files named the same as their domain name.<br /><img src='http://derekgallo.com/wp-content/uploads/2008/02/picture-4.png' alt='RDC Client Save Window' /></li>
<li>Now your connection file is ready to be indexed by Quicksilver and you can use it to launch your connection from now on.  <br /><em style="font-size: 8pt">Note that by default Quicksilver re-indexes only about every 10 minutes so it may take that long before the following steps work.  You can manually force quicksilver to re-index the Documents folder through the Quicksilver configuration menus.</em></li>
<li>Invoke Quicksilver (I have mine set to use alt+space)<br /><img src='http://derekgallo.com/wp-content/uploads/2008/02/picture-5.png' alt='Quicksilver Launcher' /></li>
<li>Start typing the name of your connection (in our case mydomain.com) until the matching result in Quicksilver is the newly saved .rdp file<br /><img src='http://derekgallo.com/wp-content/uploads/2008/02/picture-6.png' alt='mydomain.com Quicksilver match' /></li>
<li>Press Enter and the connection launches and prompts you for you login credentials.</li>
</ol>
<p><script type="text/javascript"><!--
google_ad_client = "pub-8685554516960131";
/* 468x60, created 3/2/08 */
google_ad_slot = "8034001026";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script><br />
Once you launch this connection in this way you find that you don&#8217;t even type the entire connection name but only a few letters.  It soon takes only a matter of seconds to press alt+space, type my, then press enter.   I have a separate .rdp file saved for each of my commonly managed servers to quickly access them by name.  You can make the process even quicker by selecting to save the username and password into your keychain at the login prompt.   Note that anyone with access to your Mac will also have access to your remote computer however and therefore is not recommended when security is a concern.</p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2008/02/04/quickly-launch-multiple-remote-desktop-windows-with-quicksilver/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Memberfuse Website Launch</title>
		<link>http://derekgallo.com/2007/12/27/memberfuse-website-launch/</link>
		<comments>http://derekgallo.com/2007/12/27/memberfuse-website-launch/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 18:17:44 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[Memberfuse]]></category>

		<category><![CDATA[NFi Studios]]></category>

		<category><![CDATA[associations]]></category>

		<category><![CDATA[professional networking]]></category>

		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2007/12/27/memberfuse-website-launch/</guid>
		<description><![CDATA[The team at NFi has been working hard the last couple of months on our upcoming professional networking product for associations.  We have just released the Memberfuse Website now and I would like to say that Bender our creative director has done an excellent job.  I really love the overall look and theme, [...]]]></description>
			<content:encoded><![CDATA[<p>The team at <a href="http://nfistudios.com" onclick="javascript:urchinTracker ('/outbound/article/nfistudios.com');">NFi</a> has been working hard the last couple of months on our upcoming professional networking product for associations.  We have just released the <a href="http://memberfuse.com" onclick="javascript:urchinTracker ('/outbound/article/memberfuse.com');">Memberfuse Website</a> now and I would like to say that <a href="http://derekbender.com" onclick="javascript:urchinTracker ('/outbound/article/derekbender.com');">Bender</a> our creative director has done an excellent job.  I really love the overall look and theme, especially the new themes inside of the product (<a href="http://memberfuse.com/productOverview.php" onclick="javascript:urchinTracker ('/outbound/article/memberfuse.com');">see glimpses</a>).</p>
<p>Look for an official release of the first version of the product in the next couple of months.  Until then I would like to thank everyone on the team for their hard work in getting us this far.</p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2007/12/27/memberfuse-website-launch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First Annual Barcamp Orlando</title>
		<link>http://derekgallo.com/2007/09/23/first-annual-barcamp-orlando/</link>
		<comments>http://derekgallo.com/2007/09/23/first-annual-barcamp-orlando/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 02:37:50 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[barCamp]]></category>

		<category><![CDATA[community]]></category>

		<category><![CDATA[meetups]]></category>

		<category><![CDATA[orlando]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2007/09/23/first-annual-barcamp-orlando/</guid>
		<description><![CDATA[
The first barCamp Orlando was great.  All of the people who spoke prepared good presentations and all of them gave something to learn.  I even picked up some good information from the topics I was already familiar with.  Many thanks to Gregg and Jason and everyone else who helped as well as [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://derekgallo.com/wp-content/uploads/2007/09/orlandobarcamp.jpg' alt='barCamp Logo' width="265" height="78" style="float: right;margin: 10px;"/><br />
The first <a href="http://barcamporlando.com" onclick="javascript:urchinTracker ('/outbound/article/barcamporlando.com');">barCamp Orlando</a> was great.  All of the people who spoke prepared good presentations and all of them gave something to learn.  I even picked up some good information from the topics I was already familiar with.  Many thanks to <a href="http://railsenvy.com" onclick="javascript:urchinTracker ('/outbound/article/railsenvy.com');">Gregg and Jason</a> and everyone else who helped as well as all of the presenters.</p>
<p>I was originally hoping most of the presentations would be more code based examples of programming techniques, but I am glad they were higher level as I am sure that would have become pretty boring after a couple presentations.  Next year I hope to have a presentation of my own.  I thought about presenting something this year, but everything I thought of presenting on I kinda just figured with all the geeks in the audience they would already know it.  After seeing the variety of presentations this year, I am sure I can find something to present on next year.</p>
<p>Some of the presentations I particularly enjoyed:</p>
<dl>
<dt>Designing Apps for the iPhone</dt>
<dd> (mostly because I just bought one and I am ready to start writing apps for it)</dd>
<dt><a href="http://www.techcfl.com/public/files/ProjectManagement_BCO07.pdf" onclick="javascript:urchinTracker ('/outbound/article/www.techcfl.com');">Staying on Track (Project Management)</a>  by <a href="http://www.techcfl.com/" onclick="javascript:urchinTracker ('/outbound/article/www.techcfl.com');">Robert Dempsey</a>.  </dt>
<dd>Project Management has always been a strong topic for me.  While I don&#8217;t particularly enjoy it, doing it correctly can decrease my headaches and let me do what I love more effectively, development.  Robert&#8217;s presentation pointed out many great points, some of which we pretty much know and a couple of other good tips.  I hope to see a presentation next year on applying the principles.  Many of us &#8220;know&#8221; what goes into it, but effectively executing on those principles is usually the deciding factor.</dd>
<dt>Why Ruby on Rails by <a href="http://railsenvy.com" onclick="javascript:urchinTracker ('/outbound/article/railsenvy.com');">Gregg Pollack</a></dt>
<dd>I am not a RoR activist and I have never even written an application in Ruby.  I have always been skeptical of it because of all of the scaling problem rumors and the fact that there is sort of an elitist attitude among many RoR developers, kinda like Mac enthusiasts vs. Windows.  I have eventually made the switch to Mac also but I like to make informed decisions on what to use instead of just following the herd and I can say that Mac is pretty good but using it doesn&#8217;t necessarily make you better at everything.<br />
<br/><br />
Gregg&#8217;s presentation was good though and showed some real reasons for considering RoR.  We already use a custom MVC php framework but I want to really do a couple of RoR projects to try it out.  At the very least I picked up a couple of ideas to possibly include on our own framework.</dd>
</dl>
<p>I really look forward to next year.  I am sure we can double the attendance so we will need a bigger venue for sure.  Oh, and let&#8217;s do it on a Sat. so we can watch football on Sun. <img src='http://derekgallo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2007/09/23/first-annual-barcamp-orlando/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Help Him Pay His Loans</title>
		<link>http://derekgallo.com/2007/09/19/help-him-pay-his-loans/</link>
		<comments>http://derekgallo.com/2007/09/19/help-him-pay-his-loans/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 23:57:53 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[Friends]]></category>

		<category><![CDATA[charity]]></category>

		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2007/09/19/help-him-pay-his-loans/</guid>
		<description><![CDATA[Help Me Pay My Loans is a little experiment by Derek Bender (no it is not my alter ego and yes that is really his last name).  Bender, as we like to call him, is an excellent designer but to gain his skill level he has racked up a substantial amount of debt from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://helpmepaymyloans.com" onclick="javascript:urchinTracker ('/outbound/article/helpmepaymyloans.com');">Help Me Pay My Loans</a> is a little experiment by <a href="http://blog.derekbender.com/helpmepaymyloanscom-has-launched/" onclick="javascript:urchinTracker ('/outbound/article/blog.derekbender.com');">Derek Bender</a> (no it is not my alter ego and yes that is really his last name).  Bender, as we like to call him, is an excellent designer but to gain his skill level he has racked up a substantial amount of debt from student loans.  He has put up a little sight to see just how much money he can generate through donations from the online community.</p>
<p>If you have some change to spare and feel like helping him out <a href="http://helpmepaymyloans.com" onclick="javascript:urchinTracker ('/outbound/article/helpmepaymyloans.com');">check it out</a></p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2007/09/19/help-him-pay-his-loans/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Read-Only Member Variables with PHP 5</title>
		<link>http://derekgallo.com/2007/09/08/read-only-member-variables-with-php-5/</link>
		<comments>http://derekgallo.com/2007/09/08/read-only-member-variables-with-php-5/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 21:34:44 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[computers]]></category>

		<category><![CDATA[object oriented design]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2007/09/08/read-only-member-variables-with-php-5/</guid>
		<description><![CDATA[A simple concise method to create read-only member variables for classes defined using PHP 5.  This method utilizes the __get magic function to eliminate the tedious task of creating access methods for every private or protected member variable in your class.]]></description>
			<content:encoded><![CDATA[<p>I was talking about Object Oriented Design with someone the other day and the topic of making an object&#8217;s member variable read only came up.  This is normally a simple task, simply define the member variable as protected or private within the class definition.  That essentially makes it inaccessible to any code outside of the class it is a member of.  One would then typically define an access function that allows outside code to read the variable.  Here is an example:</p>
<p><!--adsense--><br />
<code></p>
<pre>
class readOnly
{
    private $readOnlyVar;

    public function __construct()
    {
        $this->readOnlyVar  = 'This is read only';
    }

    public function getReadOnlyVar()
    {
        return $this->readOnlyVar;
    }
}

$readOnly = new readOnly();
echo $readOnly->getReadOnlyVar();

$readOnly->readOnlyVar = 'Trying to change this';
</pre>
<p></code> </p>
<p>Running that code would produce the following output:</p>
<blockquote><p>
This is read only<br />
Fatal error:  Cannot access private property readOnly::$readOnlyVar
</p></blockquote>
<p><span id="more-38"></span><br />
<br/><br />
Perfect!  The issue is solved.  You now have a variable that outsiders can get the contents of but not change it.  One annoying problem can arise though.  What if you have a large number of member variables inside of one class that you need to make read only?  Do you really want to go and write an access function for every single variable?  What if there are hundreds?  An even worse situation can arise when utilizing more advanced schemes with a dynamic set of member variables that you may not know at the time of writing the code.</p>
<p>We want to come up with a scheme that would allow us to write code like below to access the readOnlyVar in our readOnly class:</p>
<p><code></p>
<pre>
echo $readOnly->readOnlyVar;
</pre>
<p></code></p>
<p>With our readOnly class as it is now, the above line of code would produce a fatal error complaining that the readOnly::$readOnlyVar  is a private property.  So how can we accomplish the above line of code without errors?  Let magic functions in PHP 5 come to the rescue.  There are several ways to use magic functions to accomplish our goal but we will utilize the __get magic function.</p>
<p><!--adsense--></p>
<p>The __get magic function is called anytime that a non-existent member variable is referenced on an object.  It just so turns out that it is also called when external code tries to access private or protected member variables, since they are technically non-existent to the outside world.  The name of the member variable attempting to be accessed is passed in to the __get magic function and we will utilize this to retrieve the value of our read only variable.</p>
<p><code></p>
<pre>
class readOnly
{
    private $readOnlyVar = "This is read only";
    private $readOnlyVar2 = 3;

    public function __construct()
    {
        //Standard initialization statements
    }

    public function __get($varName)
    {
        return $this->$varName;
    }
}

$readOnly = new readOnly();
echo $readOnly->readOnlyVar;
echo $readOnly->readOnlyVar2;

//try to change the variables though
$readOnly->readOnlyVar2 = 5;
</pre>
<p></code></p>
<p>Here is our new output:</p>
<blockquote><p>
This is read only<br />
3<br />
Fatal error:  Cannot access private property readOnly::$readOnlyVar2
</p></blockquote>
<p><br/><br />
As you can see, we can easily get the contents of any of the private member variables without writing a new access function for each one.  We still get an error when trying to change the read only member variables also.  There is one catch to consider and it lies in the first sentence of this paragraph.  The scheme will expose <strong>ALL</strong> of your private or protected member variables as read only.  There will most likely be cases where some member variables you want to be visible but others you want to be truly private.  I would recommend in this situation to setup a naming convention for truly private member variables.  I usually prefix any inaccessible member variable with an underscore.  You could then modify your __get magic function to first check if the variable starts with an underscore before returning its contents.  </p>
<p>There are various upsides and downsides to this approach.  Some positives are less code to write, faster development and cleaner more concise code that uses the object.  Some negatives are that it can be a little cryptic to other programmers that a variable is read only and you may accidentally expose a private member variable that you do not wish to.  In the end though, I believe it is a great approach to quickly develop a class with many read only member variables.</p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2007/09/08/read-only-member-variables-with-php-5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thanks Donna Dowless</title>
		<link>http://derekgallo.com/2007/08/25/thanks-donna-dowless/</link>
		<comments>http://derekgallo.com/2007/08/25/thanks-donna-dowless/#comments</comments>
		<pubDate>Sat, 25 Aug 2007 17:04:23 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[Business]]></category>

		<category><![CDATA[NFi Studios]]></category>

		<category><![CDATA[motivation]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2007/08/25/thanks-donna-dowless/</guid>
		<description><![CDATA[Donna Dowless came in and spoke to the NFi team on friday.  Donna has lead an interesting and successful life in the entertainment industry.  She has worked directly with The Beatles, James Brown, Prince and many other legendary people.  She has served as the director of many top venues.  She was [...]]]></description>
			<content:encoded><![CDATA[<p>Donna Dowless came in and spoke to the <a href="http://nfistudios.com" onclick="javascript:urchinTracker ('/outbound/article/nfistudios.com');">NFi</a> team on friday.  Donna has lead an interesting and successful life in the entertainment industry.  She has worked directly with The Beatles, James Brown, Prince and many other legendary people.  She has served as the director of many top venues.  She was also a Senior Vice President of Ticketmaster and helped build and grow it starting from working off of her kitchen table in the beginning.  Donna Dowless has received a Lifetime Achievement Award in the Entertainment Industry and she is the only woman ever to receive one.</p>
<p>Donna told us the story of her life and the various lessons she has learned along the way.  The basic moral was to work hard and don&#8217;t reject change.  When it is challenging just know that you will figure it out.  I usually don&#8217;t go for motivational speaking but I particularly enjoyed Donna&#8217;s story because it was just that, a story.  She just told us about her experiences and the various setbacks she had along the way and how she persevered.  I enjoyed her story because it made me remember more about how far I have come instead of where I am not.  Listening to the problems she faced made me remember similar problems I have faced and how I have figured it out.</p>
<p>Thank you Donna.  I enjoyed meeting you and hope to see more of you in the future. </p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2007/08/25/thanks-donna-dowless/feed/</wfw:commentRss>
		</item>
		<item>
		<title>iMIS Is the Top Association Management System</title>
		<link>http://derekgallo.com/2007/08/17/imis-is-the-top-association-management-system/</link>
		<comments>http://derekgallo.com/2007/08/17/imis-is-the-top-association-management-system/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 17:39:07 +0000</pubDate>
		<dc:creator>derek</dc:creator>
		
		<category><![CDATA[ACTE]]></category>

		<category><![CDATA[AMS]]></category>

		<category><![CDATA[Business]]></category>

		<category><![CDATA[NFi Studios]]></category>

		<category><![CDATA[associations]]></category>

		<category><![CDATA[iMis]]></category>

		<guid isPermaLink="false">http://derekgallo.com/2007/08/17/imis-is-the-top-association-management-system/</guid>
		<description><![CDATA[The Lehman Associates have released a study on the use and satisfaction of AMS systems among large associations in North America.  iMis ranked at the top among the available solutions out there.  iMis holds a 37 percent market share and ranked at the top in implementation experience and product satisfaction.  The study [...]]]></description>
			<content:encoded><![CDATA[<p>The Lehman Associates have released a study on the use and satisfaction of AMS systems among large associations in North America.  iMis ranked at the top among the available solutions out there.  iMis holds a 37 percent market share and ranked at the top in implementation experience and product satisfaction.  The study was done using national and international associations in North America with budgets greater than $2 million.  iMis rated higher than others in stability/reliability, cost and ease of implementation, time, upgrade path options and performance.</p>
<p>Personally, from a developer&#8217;s point of view, I think iMis has plenty of room for improvement but I am probably inserting opinions based on areas I view as more important being a developer (like structure, simplicity, etc.) and not on how it is actually used by an association.  All in all, it actually provides a pretty strong back-end to a CMS for an association&#8217;s website.  Since it contains all the data for an association&#8217;s events, members, products and finances, and it provides a decent COM API into that data we can setup websites to be administered directly from iMis for the most part.  We are actually in the process of integrating the <a href="http://acte.org" onclick="javascript:urchinTracker ('/outbound/article/acte.org');">ACTE Website</a> directly into their iMis system.  Integrated features include, membership management and registrations as well as registration for events and conferences.  Check out more that <a href="http://nfistudios.com" onclick="javascript:urchinTracker ('/outbound/article/nfistudios.com');">NFi</a> can do with <a href="http://nfistudios.com/services/iMIS" onclick="javascript:urchinTracker ('/outbound/article/nfistudios.com');">iMIS</a></p>
]]></content:encoded>
			<wfw:commentRss>http://derekgallo.com/2007/08/17/imis-is-the-top-association-management-system/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
