<?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>Code Perspective &#187; Software</title>
	<atom:link href="http://codeperspective.ca/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeperspective.ca</link>
	<description>Coding is awesome</description>
	<lastBuildDate>Wed, 25 Jan 2012 20:51:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Using Zend Framework on a shared host</title>
		<link>http://codeperspective.ca/2011/04/30/using-zend-framework-on-a-shared-host/</link>
		<comments>http://codeperspective.ca/2011/04/30/using-zend-framework-on-a-shared-host/#comments</comments>
		<pubDate>Sat, 30 Apr 2011 19:57:57 +0000</pubDate>
		<dc:creator>Mark Hazlett</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://codeperspective.ca/?p=250</guid>
		<description><![CDATA[I recently got Zend Framework up and running on Media Temple's grid service. Turns out this isn't as easy as I originally thought. In order to get it to work properly i needed to add the following to the .htaccess file in the root of my domain directory.]]></description>
			<content:encoded><![CDATA[<p>I recently got Zend Framework up and running on Media Temple&#8217;s grid service. Turns out this isn&#8217;t as easy as I originally thought. In order to get it to work properly i needed to add the following to the .htaccess file in the root of my domain directory.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">AddHandler php5-script .php
&nbsp;
RewriteEngine On
&nbsp;
RewriteRule ^\.htaccess$ - <span style="color: #7a0874; font-weight: bold;">&#91;</span>F<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>REQUEST_URI<span style="color: #7a0874; font-weight: bold;">&#125;</span> =<span style="color: #ff0000;">&quot;&quot;</span>
RewriteRule ^.<span style="color: #000000; font-weight: bold;">*</span>$ <span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #7a0874; font-weight: bold;">&#91;</span>NC,L<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>REQUEST_URI<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>^<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*</span>$
RewriteRule ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$1</span>
&nbsp;
RewriteCond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>REQUEST_FILENAME<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #660033;">-f</span>
RewriteRule ^.<span style="color: #000000; font-weight: bold;">*</span>$ - <span style="color: #7a0874; font-weight: bold;">&#91;</span>NC,L<span style="color: #7a0874; font-weight: bold;">&#93;</span>
&nbsp;
RewriteRule ^public<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*</span>$ <span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>index.php <span style="color: #7a0874; font-weight: bold;">&#91;</span>NC,L<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div>

<p>This will properly re-route all of the requests to make some prettier url&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeperspective.ca/2011/04/30/using-zend-framework-on-a-shared-host/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Iphone Programming Part 2 &#8211; Intro to Views</title>
		<link>http://codeperspective.ca/2010/03/27/iphone-programming-part-2-intro-to-views/</link>
		<comments>http://codeperspective.ca/2010/03/27/iphone-programming-part-2-intro-to-views/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 19:32:45 +0000</pubDate>
		<dc:creator>Mark Hazlett</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Iphone]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://codeperspective.ca/?p=235</guid>
		<description><![CDATA[Welcome to iphone programming part 2, introduction to views. In this tutorial I'll go over creating an application from scratch that transitions between 2 different views using the iphone's built in UINavigationController and the navigation stack. If you haven't done so already, I suggest reading through my first iphone article. If you already have a basic understanding of how to create an iphone application and hooking up IBOulets and IBActions in interface builder then you can head straight into this article. So let's jump into it, and as always if you have any questions feel free to leave a comment and I'll get back to you.]]></description>
			<content:encoded><![CDATA[<p>Welcome to iphone programming part 2, introduction to views. In this tutorial I&#8217;ll go over creating an application from scratch that transitions between 2 different views using the iphone&#8217;s built in UINavigationController and the navigation stack. If you haven&#8217;t done so already, I suggest reading through my first iphone article. If you already have a basic understanding of how to create an iphone application and hooking up IBOulets and IBActions in interface builder then you can head straight into this article. So let&#8217;s jump into it, and as always if you have any questions feel free to leave a comment and I&#8217;ll get back to you.</p>
<p>Let&#8217;s start out by opening up XCode and creating a new window based application from the standard iphone OS templates. Save the file to wherever you save your iphone files to and create.</p>
<p style="text-align: center;"><a href="http://www.codeperspective.ca/images/ViewTransitionDemo/createNewWindow.png"><img class="aligncenter" title="CreateNewWindowApplication" src="http://www.codeperspective.ca/images/ViewTransitionDemo/createNewWindow.png" alt="" width="287" height="217" /></a>Once you create and save your new window-based application, open up the classes and resources folders in the XCode folder explorer. Open up the ViewDemoAppDelegate.h and insert the following code&#8230;</p>
<p style="text-align: left;">

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//  ViewDemoAppDelegate.h</span>
<span style="color: #666666; font-style: italic;">//  ViewDemo</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//  Created by Mark Hazlett on 10-03-26.</span>
<span style="color: #666666; font-style: italic;">//  Copyright Code Perspective 2010. All rights reserved.</span>
<span style="color: #666666; font-style: italic;">//</span>
&nbsp;
<span style="color: #339933;">#import &lt;UIKit/UIKit.h&gt;</span>
@interface ViewDemoAppDelegate <span style="color: #339933;">:</span> NSObject
<span style="color: #009900;">&#123;</span>
    UIWindow <span style="color: #339933;">*</span>window<span style="color: #339933;">;</span>
    UINavigationController <span style="color: #339933;">*</span>navController<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
@property <span style="color: #009900;">&#40;</span>nonatomic<span style="color: #339933;">,</span> retain<span style="color: #009900;">&#41;</span> IBOutlet UIWindow <span style="color: #339933;">*</span>window<span style="color: #339933;">;</span>
&nbsp;
@end</pre></div></div>

<p>All we&#8217;re doing here is creating a UINavigationController object so that we can access it in our application delegate implementation file. Let&#8217;s go ahead and open up our ViewDemoAppDelegate.m and add the following code to the application did finish launching method.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>applicationDidFinishLaunching<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>UIApplication <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>application
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//Allocate and instatiate a new UINavigationController Object</span>
	navController <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>UINavigationController alloc<span style="color: #009900;">&#93;</span> init<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Allocate and initialize a First View Controller Object</span>
	FirstViewController <span style="color: #339933;">*</span>firstViewController <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>FirstViewController alloc<span style="color: #009900;">&#93;</span>init<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Push the first view controller onto the view controller stack without animation</span>
	<span style="color: #009900;">&#91;</span>navController pushViewController<span style="color: #339933;">:</span>firstViewController animated<span style="color: #339933;">:</span>NO<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Some memory management</span>
	<span style="color: #009900;">&#91;</span>firstViewController release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Make it visible</span>
	<span style="color: #009900;">&#91;</span>window	addSubview<span style="color: #339933;">:</span>navController.<span style="color: #202020;">view</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Override point for customization after application launch</span>
    <span style="color: #009900;">&#91;</span>window makeKeyAndVisible<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The first thing we&#8217;re doing in this function is instantiating the UINavigationController that we declared in our header. We pass it an alloc and init to allocate the appropriate amount of memory for it as well as an init to initialize it properly. The next thing we&#8217;re going to do is create a new FirstViewController object. Now you may be asking what a FirstViewController object is? That&#8217;s because we haven&#8217;t created it yet. So let&#8217;s go ahead and go to &#8220;File &gt; New File&#8221; and add a new file that&#8217;s of the type UIViewController subclass. Make sure you check the little check box that says &#8220;With XIB for user interface&#8221;. This will give you an XIB file to work with instead of producing your interface programmatically. Now that we have our FirstViewControllerObject the only thing we have to do is import the header into the ViewDemoAppDelegate. So make sure to declare #import &#8220;FirstViewController.h&#8221; at the top of your code. Now onto the rest of the code in our application did finish launching method. The first thing we do with our allocated view controller is push it onto the navigation stack. Now because this is our first view we&#8217;re pushing onto the navigation stack we want to make sure to pass &#8220;NO&#8221; to the animated parameter because we don&#8217;t want to animate the root view when it&#8217;s pushed onto the stack. Now for some memory management. Once the FirstViewController is pushed onto the navigation stack the retain count on the object moves up to 2, therefore we can perform a release on the FirstViewController object so that the retain count stays at 1. Last thing we do in this method is add the view so our window so that it&#8217;s actually visible when we load the application.</p>
<p>Now we&#8217;re going to get into some interface builder stuff. Let&#8217;s start by opening up our FirstViewController.xib file in Interface Builder(or by just double clicking on it). You should see just a plain white view. Now in order to transition between views we need a button to press to actually transition between views. So let&#8217;s go ahead and add a UIButton to the view. Label the button anything you would like to to transition between views. Go ahead and save that file for now(we&#8217;ll come back to it later to connect the pointers). Next we&#8217;re going to create a new file in our project that&#8217;s a subclass of UIViewController. Again we&#8217;re going to make sure that &#8220;use XIB for user interface&#8221; is selected and press create. We&#8217;re going to name this view controller &#8220;SecondViewController&#8221; as it&#8217;s the one that we transition to from pressing the button on our first view controller. Once you create the new View Controller you should see it appear on the left hand side in your package explorer. Let&#8217;s go into our FirstViewController.h and add the following code.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#import &lt;UIKit/UIKit.h&gt;</span>
@interface FirstViewController <span style="color: #339933;">:</span> UIViewController
<span style="color: #009900;">&#123;</span>
	IBOutlet UIButton <span style="color: #339933;">*</span>transitionButton<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>IBAction<span style="color: #009900;">&#41;</span> pushViewContoller<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span> send<span style="color: #339933;">;</span>
&nbsp;
@end</pre></div></div>

<p>All we do here is create an IBOutlet for the UIButton we added to the XIB file and call it transition button. Then we create an IBAction method that will get called whenever the user presses inside the UIButton. Let&#8217;s open up our FirstViewController.m implementation file and implement the IBAction method like so&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#import &quot;FirstViewController.h&quot;</span>
<span style="color: #339933;">#import &quot;SecondViewController.h&quot;</span>
&nbsp;
@implementation FirstViewController
&nbsp;
<span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>IBAction<span style="color: #009900;">&#41;</span> pushViewContoller<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span> send
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//Allocate and instantiate the second view controller object</span>
	SecondViewController <span style="color: #339933;">*</span>secondView <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>SecondViewController alloc<span style="color: #009900;">&#93;</span> init<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Push the secondViewController onto the navigation stack</span>
	<span style="color: #009900;">&#91;</span>self.<span style="color: #202020;">navigationController</span> pushViewController<span style="color: #339933;">:</span>secondView animated<span style="color: #339933;">:</span>YES<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//Some memory management</span>
	<span style="color: #009900;">&#91;</span>secondView release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Now as you can see, we first provide our implementation with an import of the SecondViewController.h that we created earlier. We then proceed to allocate and instantiate our SecondViewController object. This time we&#8217;re going to push it onto our navigation stack and passing the YES parameter to our animated option because this time we do want it to be be animated when we press the button. After that we just provide some basic memory management to bring the retain count of the SecondViewController object back down to 1. That&#8217;s al the necessary code we need right now, however if you run this program right now you&#8217;ll notice that if you press the button on the first view controller it won&#8217;t really do anything. So let&#8217;s open back up our FirstViewController.xib file and hook up our IBOutlet and IBAction to our button that we created. After you&#8217;re finished hooking up these actions in the File&#8217;s owner connections inspector, the file&#8217;s owner connections inspector should look something like this..</p>
<p><a href="http://www.codeperspective.ca/images/ViewTransitionDemo/completedConnectionInspec.png"><img class="aligncenter" title="Completed Connections Inspec" src="http://www.codeperspective.ca/images/ViewTransitionDemo/completedConnectionInspec.png" alt="" width="301" height="247" /></a>Now you should be able to run the application and press the button and see the transition to the second view controller(which will be blank unless you added something to the nib) and press the back button in the navigation controller and transition back to the first screen.</p>
<p>If you&#8217;re having some troubles, here is the project and all the code. <a title="View Demo Download" href="http://codeperspective.ca/ViewDemo.zip" target="_blank">Download</a></p>
<p>Also again, if you have any questions feel free to leave them in the comments section.</p>
]]></content:encoded>
			<wfw:commentRss>http://codeperspective.ca/2010/03/27/iphone-programming-part-2-intro-to-views/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Program Design</title>
		<link>http://codeperspective.ca/2009/03/01/program-design/</link>
		<comments>http://codeperspective.ca/2009/03/01/program-design/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 03:56:34 +0000</pubDate>
		<dc:creator>Mark Hazlett</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[School]]></category>

		<guid isPermaLink="false">http://codeperspective.ca/blog/?p=26</guid>
		<description><![CDATA[So in school, we are learning some fundamentals on object oriented design in Java such as inheritance and polymorphism. The thing that we haven&#8217;t done is the actual concept of object oriented design. So things like how to structure classes and methods for optimal code efficiency and use. This is such a fundamental concept to [...]]]></description>
			<content:encoded><![CDATA[<p>So in school, we are learning some fundamentals on object oriented design in Java such as inheritance and polymorphism. The thing that we haven&#8217;t done is the actual concept of object oriented design. So things like how to structure classes and methods for optimal code efficiency and use. This is such a fundamental concept to teach in school to allow programmers just coming out of school to produce optimized and efficient code. </p>
<p>It&#8217;s no matter in today&#8217;s society we deal with so many programs that crash and don&#8217;t work properly. If fundamental programming techniques such as design are not being taught, then when students graduate it is to be expected that they continue the programming practices that they picked up in college/university. </p>
<p>This being said, when you come out of college/university, you&#8217;re most likely to have a &#8220;code monkey&#8221; position, where you&#8217;re actually coding the enterprise applications. So it&#8217;s almost expected, knowing this that programs you use everyday crash on such a regular basis.</p>
<p>Cheers</p>
<p><!--digg--></p>
]]></content:encoded>
			<wfw:commentRss>http://codeperspective.ca/2009/03/01/program-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swing vs QT Jambi</title>
		<link>http://codeperspective.ca/2009/02/17/swing-vs-qt-jambi/</link>
		<comments>http://codeperspective.ca/2009/02/17/swing-vs-qt-jambi/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 03:07:42 +0000</pubDate>
		<dc:creator>Mark Hazlett</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[QT]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://codeperspective.ca/blog/?p=13</guid>
		<description><![CDATA[So I figured I should touch on this as I've been frustrated with this for a while at school. First of all I would like to say how frustrating I think java swing is.... I mean you change one thing in the layout and the entire GUI changes for some reason or another that I cannot explain.... So that is my first topic...]]></description>
			<content:encoded><![CDATA[<p>So I figured I should touch on this as I&#8217;ve been frustrated with this for a while at school. First of all I would like to say how frustrating I think java swing is&#8230;. I mean you change one thing in the layout and the entire GUI changes for some reason or another that I cannot explain&#8230;. So that is my first topic&#8230;</p>
<p>Java GridLayout Vs. QGridLayout</p>
<p>QGridLayout is coded in a way that I found extremely easy to use and manipulate. If you change one thing it doesn&#8217;t change the rest of the GUI and it keeps everything where you want it to be. You have the ability to set how big you want something to be. Then, based on the size of all the components in your display it displays the GUI in an appropriate manner. Overall the QGridLayout wins this battle.</p>
<p>Java Gui Components Vs. QT Components</p>
<p>The methods that swing uses to handle components causes an extreme amount of code that is not useful when creating a GUI. For instance, when creating a group of radio buttons, you must first create the buttons, then add the buttons to whichever group then add each individual button to a panel or something to make them appear in the GUI. This is crazy in my opinion and there is no reason that you cannot add a ButtonGroup to a panel. In QT you can add whatever component you like to a GUI. This radio button example is just that, one example and there are far too many to display here.</p>
<p>This is just some short thoughts on QT vs Swing, however If you try it out yourself then I&#8217;m sure you will find out which is better for yourself. Bye For Now,</p>
<p>Cheers</p>
<p><!--digg--></p>
]]></content:encoded>
			<wfw:commentRss>http://codeperspective.ca/2009/02/17/swing-vs-qt-jambi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software at a young age</title>
		<link>http://codeperspective.ca/2008/12/10/software-at-a-young-age/</link>
		<comments>http://codeperspective.ca/2008/12/10/software-at-a-young-age/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 03:02:10 +0000</pubDate>
		<dc:creator>Mark Hazlett</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Moral]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Young age]]></category>

		<guid isPermaLink="false">http://codeperspective.ca/blog/?p=10</guid>
		<description><![CDATA[I came across an article on the very popular slashdot.com tonight that was very interesting in my opinion. The article is a user based question asking which language is best to teach 11-14 year olds with varying computer knowledge. The article found here, surprised me very much when I looked at it the first time.]]></description>
			<content:encoded><![CDATA[<p>I came across an article on the very popular <a title="Slashdot" href="http://www.slashdot.com/" target="_blank">slashdot.com</a> tonight that was very interesting in my opinion. The article is a user based question asking which language is best to teach 11-14 year olds with varying computer knowledge. The article found <a title="Slashdot news Article" href="http://news.slashdot.org/news/08/12/10/2257223.shtml" target="_blank">here</a>, surprised me very much when I looked at it the first time.</p>
<p>Now this may be because of changing times and school&#8217;s are getting more computer literate now, but, wow, 11-14 year olds now have computer programming as part of their curriculum? This is extremely great to hear! I just wish that we would have had something like that back when I was in school and that age. Even if just basic concepts are taught like loops, variables, etc, it opens up the possibility of programming to be taught at a very young age.</p>
<p>This being said, I think we will see a major jump in programming skills in the next 10-20 years as more kids are now being taught these things earlier. This leads to maybe the posibility of an even easy language than maybe Basic or QBasic to be able to teach the fundamentals at a younger age.</p>
<p>I think that there is a dark side to this as well. Computer programming will take away from fundamental subjects such as math, science, and social studies that all kids must learn to be successful. This could be good or bad, up for you to decide&#8230;</p>
<p>Cheers</p>
<p><!--digg--></p>
]]></content:encoded>
			<wfw:commentRss>http://codeperspective.ca/2008/12/10/software-at-a-young-age/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Software vs. Bridges</title>
		<link>http://codeperspective.ca/2008/12/07/software-vs-bridges/</link>
		<comments>http://codeperspective.ca/2008/12/07/software-vs-bridges/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 00:33:40 +0000</pubDate>
		<dc:creator>Mark Hazlett</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://codeperspective.ca/blog/?p=4</guid>
		<description><![CDATA[First of all I would like to welcome you to Mark's blog on technology. The first topic I'd like to talk about is from a book called Dreaming in code. The book says, " Why can't we build software like we build bridges?" We all know that bridges are usually pretty safe, sturdy, secure. All in all they rarely fail us.]]></description>
			<content:encoded><![CDATA[<p>First of all I would like to welcome you to Mark&#8217;s blog on technology. The first topic I&#8217;d like to talk about is from a book called Dreaming in code. The book says, &#8221; Why can&#8217;t we build software like we build bridges?&#8221; We all know that bridges are usually pretty safe, sturdy, secure. All in all they rarely fail us.</p>
<p>I have to say, why can&#8217;t we build software like that? How many hours of man time and corporate money are wasted each year on software that is not functioning perfectly? Could the time that is spent on ill-conceived software be re-routed to perfecting it? Computers understand the code that humans put into it. So I ask&#8230; Is it possible to have a piece of software in today&#8217;s market that&#8217;s perfect? I&#8217;m talking no flaws, no errors, just perfection?</p>
<p>With the software changing the way it is today, I can&#8217;t answer that question. Having been coding for only about 6 months, I really am not best suited to answer that. Who can answer that question? As consumers why should we have to accept that software does not function the way we want it to? Is there not a single company out there that can make this type of software? I&#8217;m asking these questions because I think that there are companies(not naming any) that can change how the world is run. I&#8217;m not talking politically or religiously, I&#8217;m talking digitally. Almost our entire world runs on digital equipment&#8230; I mean almost everything you can think of. So why is the world putting up with digital equipment being almost &#8220;faulty&#8221;. Going back to the bridge analogy from the book <em>dreaming in code</em>. Imagine if bridges were built like software is built today? People would not stand for things like that to happen&#8230;</p>
<p>So why do we accept it with software?</p>
<p>Cheers</p>
<p><!--digg--></p>
]]></content:encoded>
			<wfw:commentRss>http://codeperspective.ca/2008/12/07/software-vs-bridges/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

