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

<channel>
	<title>Frank Korf: Professional Optimist</title>
	<atom:link href="http://blog.fkorf.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.fkorf.com</link>
	<description>He writes a blog. How quaint.</description>
	<pubDate>Tue, 11 May 2010 05:27:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Insourcing</title>
		<link>http://blog.fkorf.com/?p=117</link>
		<comments>http://blog.fkorf.com/?p=117#comments</comments>
		<pubDate>Tue, 11 May 2010 05:26:01 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.fkorf.com/?p=117</guid>
		<description><![CDATA[I think it is important that I let you all know that it is officially tomorrow. The crisis, friends, is over. We can rebuild it. And we can do it better, and faster than you think. I call it Insourcing. So does Wikipedia. This is our moment. The pressure has created diamond. This is already [...]]]></description>
			<content:encoded><![CDATA[<p>I think it is important that I let you all know that it is officially tomorrow. The crisis, friends, is over. We can rebuild it. And we can do it better, and faster than you think. I call it Insourcing. So does Wikipedia. This is our moment. The pressure has created diamond. This is already happening all around us. It is time to walk the walk, people. You know who you are.<br />
I know that you&#8217;re all very excited about the presentation, so I&#8217;ll give you quick overview.</p>
<p>1) Forgiveness. The rich played an excellent game. The economy is the result of a beautifully complex series of good and bad decisions made by an immeasurable number of people. Some of those people won the game. Most people lost. The good news is, it&#8217;s over. Let&#8217;s forget who got paid how much and when. It&#8217;s over. It was their finest hour. And that hour has passed.</p>
<p>2) Faith. Now, it&#8217;s our time. Think loaves and fishes people. Think mana from heaven. We live in a world of abundance. It&#8217;s hard to see, but it&#8217;s there. Communities of intelligent, inspired, devoted people. We don&#8217;t need money, we need jobs. The difference is subtle, but it means everything. Scarce money is not the same as scarce resources. Forget tomorrow, kids. The sun&#8217;s out.</p>
<p>3) Networking. Remember, we no longer need to be rich. We can be wealthy. Wealthy is better. It&#8217;s not about money. It&#8217;s about resources. Your biggest resource? The people you know. Dig it?</p>
<p>Frank Korf, Professional Optimist</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fkorf.com/?feed=rss2&amp;p=117</wfw:commentRss>
		</item>
		<item>
		<title>From Scratch: Meet Div!</title>
		<link>http://blog.fkorf.com/?p=115</link>
		<comments>http://blog.fkorf.com/?p=115#comments</comments>
		<pubDate>Wed, 24 Mar 2010 01:20:39 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.fkorf.com/?p=115</guid>
		<description><![CDATA[Enough theory. To become a better golfer, play golf. The same is true of computers. The more you play, the better you get. So today, we play. It&#8217;s lab time nerds!
Remember these: { } ? Those terrifying bits of punctuation were called braces, and they were used to denote an object. Remember objects? Building our [...]]]></description>
			<content:encoded><![CDATA[<p>Enough theory. To become a better golfer, play golf. The same is true of computers. The more you play, the better you get. So today, we play. It&#8217;s lab time nerds!</p>
<p>Remember these: { } ? Those terrifying bits of punctuation were called braces, and they were used to denote an object. Remember objects? Building our own was fun, but computers have some built in objects that we can play with. We&#8217;ll start with a versitile object called a div. Divs are just rectangles, but they are the building blocks of the web. Want a blue square? Simple.</p>
<p><code> div<br />
{<br />
width:100px;<br />
height:100px;<br />
background-color:blue;<br />
}</code></p>
<p>Boom. That&#8217;s how easy. But&#8230; where&#8217;s the square. That code describes a square, but that doesn&#8217;t mean we can see it yet. We can describe objects, but to see them we will need to represent them. Reread that last sentence.</p>
<blockquote><p>Side note: The letters &#8220;px&#8221; mean pixels. The square will be 100 pixels by 100 pixels. Not sure what a pixel is? Consider Googling it.</p></blockquote>
<p>Braces are one way of representing an object in code. Today we&#8217;re going to learn another way, called a tag. Tags go &lt;&gt;.  Actually, tags go &lt;&gt;&lt;/&gt;. Object descriptions begin with an open { and end with a close }. Object representations begin with an open &lt;tag&gt; and end with a close &lt;/tag&gt;. We use braces to describe objects, and we use tags to represent objects. Reread that last sentence, and observe:</p>
<p><code>&lt;style&gt;<br />
div<br />
{<br />
width:100px;<br />
height:100px;<br />
background-color:blue;<br />
}<br />
&lt;/style&gt;</code></p>
<p><code> </code></p>
<p><code>&lt;div&gt;Hi&lt;/div&gt;</code></p>
<p>This bit of code would a blue box that&#8217;s politely greeting you in a comforting tone. Now it&#8217;s your turn. Make that little blue div a reality. Open up notepad and copy the code into a new file. You don&#8217;t need to use notepad, but you need to use a simple text editor. No Word. I mean it. Save the file on your desktop and call it frankrocks.html . If you double-click it, it should open up and display in your web browser. What fun we&#8217;re having.</p>
<p>Let&#8217;s talk about how this works. Tags represent objects, and there are two tags displayed (style and div) so we have two objects. Two sets of tags, two objects. We have a style object and a div object. Style objects are invisible, but contain information on what other objects should look like. In this case, the style object describes what the div should look like. Divs have many style properties, none of which we will discuss now.</p>
<p>Good day sir.</p>
<p>-Fk</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fkorf.com/?feed=rss2&amp;p=115</wfw:commentRss>
		</item>
		<item>
		<title>From Scratch: Making Computers Do Cool Things</title>
		<link>http://blog.fkorf.com/?p=113</link>
		<comments>http://blog.fkorf.com/?p=113#comments</comments>
		<pubDate>Tue, 23 Mar 2010 02:50:25 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.fkorf.com/?p=113</guid>
		<description><![CDATA[
Thanks for joining me. Stay attentive, as the ride will move quickly. My associate Google will be happy to answer any questions you may have along the way.
Let&#8217;s begin by discussing humble object. In the world of computers, an object is anything that we can describe. An apple is red, so an apple is an [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" title="1200" src="http://www.tonightinmycity.com/wp-content/uploads/2009/11/technics_1200.jpg" alt="" width="316" height="217" /></p>
<p>Thanks for joining me. Stay attentive, as the ride will move quickly. My associate Google will be happy to answer any questions you may have along the way.</p>
<p>Let&#8217;s begin by discussing humble object. In the world of computers, an object is anything that we can describe. An apple is red, so an apple is an object. The pieces of information we use to describe an object are called variables. Apples can be different colors, sizes, and shapes. So size, shape, and color are variables that describe our apple. Remember, variables describe &#8220;what&#8221;, not &#8220;how&#8221;. Got it? Good, because the ride moves on.</p>
<p>Making computers do cool things is easier than you think. Think about how you would explain the rules of a game like checkers to a child. You would probably speak slowly and carefully as you explain how to set up the board, how the different pieces move, and what the different colors mean. Programming a computer is like talking to a child, except the computer listens. In fact, that is one of the Laws of Programming. There are only two, so pay attention. 1) The computer always does exactly what you tell it to. 2) The computer only does exactly what you tell it to. We&#8217;ll talk about those later, so let&#8217;s get back to the checker game.</p>
<p>To explain checkers to a kid you might say, &#8220;This is a checker. Checkers can be black or red. This one is red.&#8221;</p>
<p>To explain checkers to a computer you might say:</p>
<p><code>checker :<br />
{<br />
color:red<br />
}</code></p>
<p>Holy buckets! Computer code! You&#8217;re in The Matrix now my friend. You can use the simple pattern  :  to describe dern near anything to a computer. In this bit, checker is an object. You can tell because of the these bits: {}, which we call braces. Hear that? That sound means it&#8217;s time for a game. I&#8217;ll use this super techno numerical computator language to describe some things, and you get to decipher them. Sound categorical? Hexidecimal!</p>
<p><code>movie :<br />
{<br />
name: Mission Impossible 2,<br />
lead actor: Tom Cruise,<br />
rating: R,<br />
number of cool scenes: 9<br />
number of cool scenes with no explosions: 0<br />
}</code></p>
<p><code> </code></p>
<p><code>car :<br />
{<br />
make: Geo,<br />
model: Metro,<br />
year: 1995,<br />
color: teal,<br />
driver: Tim<br />
}</p>
<p></code></p>
<p><code>Jay Z:<br />
{<br />
age: 40,<br />
studio albums: 11,<br />
problems: 99<br />
}</code></p>
<p>Wasn&#8217;t that fun? Your homework is to describe some things as you would describe them to a computer. How would you describe your favorite book, your favorite shirt, your dream vacation spot, or my dazzling charm?</p>
<p>Homework will be collected on the fourth of never. Please consult Google with any questions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fkorf.com/?feed=rss2&amp;p=113</wfw:commentRss>
		</item>
		<item>
		<title>Reporting In!</title>
		<link>http://blog.fkorf.com/?p=104</link>
		<comments>http://blog.fkorf.com/?p=104#comments</comments>
		<pubDate>Tue, 09 Feb 2010 02:49:40 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

		<guid isPermaLink="false">http://blog.fkorf.com/?p=104</guid>
		<description><![CDATA[
It&#8217;s been a while, so I figured it was time to report in. So here I am, reporting in. Where has Frank been? What has he been up to? At the moment, my time is filled with 3 projects.
Rosy
Let&#8217;s start with the day job. I am working full-time at Floydware, building Rosy, which is a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blog.fkorf.com/wp-content/uploads/2010/02/1220369454875.jpg"><img class="size-medium wp-image-105 aligncenter" title="1220369454875" src="http://blog.fkorf.com/wp-content/uploads/2010/02/1220369454875-300x245.jpg" alt="" width="270" height="221" /></a></p>
<p>It&#8217;s been a while, so I figured it was time to report in. So here I am, reporting in. Where has Frank been? What has he been up to? At the moment, my time is filled with 3 projects.</p>
<p><strong>Rosy</strong></p>
<p>Let&#8217;s start with the day job. I am working full-time at Floydware, building Rosy, which is a business application for salons and spas. It&#8217;s a scheduler, a POS system, an inventory manager, a client database, and a whole lot more. My role (at the moment) is designing/implementing user interfaces. This is a fancy way of saying that I&#8217;m working to make it more attractive and easier to use. My contributions are making their way into the codebase, but none of them are live yet. I&#8217;ll let you know when you can visit the site and see my handywork.</p>
<p><strong>Project T</strong></p>
<p>Project T has an actual name, but I&#8217;m not certain I have the authority to reveal it just yet. I&#8217;m working with a small team on a web application. I&#8217;m the interface guy, so my focus is again on making the app attractive and easy to use. This project is slated for launch at the end of the month, at which point I will divulge more info and a link.</p>
<p><strong>Thickt</strong></p>
<p>Thickt (pronounced &#8220;Thicket&#8221;, like a small bundle of trees and shrubs) is my personal project. It began as an attempt to better organize my other projects. I wanted to create a reference system that made it easy to track my thoughts and ideas on multiple projects. I also wanted to easily upload files and link to resources around the net. That simple project quickly spun out of control and became Thickt. Why Thickt? Because Thicket.com was taken, and (apparently) I make questionable decisions at 2:00 am. When will Thickt be done? Maybe soon, but maybe never. I have some neat ideas, and the prototype is shaping up well, but if I don&#8217;t finish it I&#8217;m not going to be too upset.</p>
<p><strong>Other Projects</strong></p>
<p>In addition to these, I&#8217;m also (sort of) working on a few other projects. The most notable of these is a MMORPG idea that Doc and I are developing. We&#8217;re still in the brainstorming phase at the moment, which is good because I don&#8217;t really have the time to devote to development. That said, this project is one I&#8217;m very excited about, and will (hopefully) become a bigger priority in the near future. But first, I have to get through February.</p>
<p>I&#8217;ll leave you with a music video. This song has been in my head for a little over a week, and now it can be in yours.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/U631FGnXDXY&amp;hl=en_US&amp;fs=1&amp;" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/U631FGnXDXY&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
Enjoy that.</p>
<p>-Fk</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fkorf.com/?feed=rss2&amp;p=104</wfw:commentRss>
		</item>
		<item>
		<title>ORM, MVC, and PHP Frameworks. Acronyms FTW!</title>
		<link>http://blog.fkorf.com/?p=96</link>
		<comments>http://blog.fkorf.com/?p=96#comments</comments>
		<pubDate>Sat, 30 Jan 2010 06:38:53 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://blog.fkorf.com/?p=96</guid>
		<description><![CDATA[Lately I&#8217;ve been doing a lot of projects using the CodeIgniter framework. It saves me a lot of the setup code involved in a new project, and allows me to just dive right in and build an app. Fun. Unfortunately, starting a project, while easier, still requires re-writing a lot of the same code.
CodeIgniter enforces [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been doing a lot of projects using the <a href="http://codeigniter.com/">CodeIgniter</a> framework. It saves me a lot of the setup code involved in a new project, and allows me to just dive right in and build an app. Fun. Unfortunately, starting a project, while easier, still requires re-writing a lot of the same code.</p>
<p>CodeIgniter enforces the <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller">MVC</a> (Model - View - Controller) design pattern. Models can be thought of as tables in a database. Each model has an associated series of data fields. An address model might contain fields like street, city, state, and zip code. Additionally, models have methods with which to perform actions with the data. Still with me? All user input goes to a controller. The controller parses the input, and performs operations utilizing the various models. The model pulls data from the database, saves to the database, or simply does some computation. Data returned by the model is then passed, by the controller, to the view, which displays the data in a usable way.</p>
<p>Pretty straightforward, right? The problem is that most of the models I have been working with are the same. Which means that most of the code is the same. I&#8217;ve grown weary of re-writing the same c.r.u.d. methods (create, read, update, delete) for every model. Moreover, I&#8217;ve grown weary of updating both code and database whenever I want to edit the structure of an object. So, I have decided to try my hand at a simple <a href="http://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a>-inspired class that will handle these functions for me. That&#8217;s right nerds. It&#8217;s project time.</p>
<p><span style="color: #0000ff;"><em><strong>P<span style="color: #ff0000;">R<span style="color: #00ff00;">O<span style="color: #ffff00;">J<span style="color: #ff00ff;">E<span style="color: #0000ff;">C<span style="color: #ff0000;">T <span style="color: #00ff00;">T<span style="color: #ffff00;">I</span><span style="color: #ff00ff;">M</span><span style="color: #0000ff;">E</span><span style="color: #ff0000;">!</span></span></span></span></span></span></span></span></strong></em></span><span style="color: #ff0000;"><em><strong><br />
<span style="color: #000000;"><small>(Heck Yeah!)</small></span></strong></em></span><span style="color: #000000;"><br />
</span></p>
<p>Project goal: Write a simple php class that will</p>
<ul>
<li>Allow me to design simple objects for use in projects</li>
<li>Take care of the c.r.u.d. of said objects</li>
<li>Generate HTML forms to edit the objects (This may be just laziness on my part, but I&#8217;m sick of writing forms.)</li>
<li>Update DB tables when the structure of the object changes.</li>
<li>Allow me to build custom methods for each model</li>
</ul>
<p>Total work time: I&#8217;m thinking it would take a few hours, minus the database updates. Automatic DB updating would be as cool as Hoth, but I think it would be the most time consuming, and frankly the redundancy of updating code and database simultaneously doesn&#8217;t bother me. For now.</p>
<p>Anyway, if I actually follow through, I&#8217;ll post the code. If not, we&#8217;ll always have the memories of a php class that could have been.</p>
<p>-Fk</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fkorf.com/?feed=rss2&amp;p=96</wfw:commentRss>
		</item>
	</channel>
</rss>
