<?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>Arrested Dev</title>
	<atom:link href="http://scotalt.net/arthurcanal/feed/" rel="self" type="application/rss+xml" />
	<link>http://scotalt.net/arthurcanal</link>
	<description></description>
	<lastBuildDate>Tue, 05 Jan 2010 17:53:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Git in there!</title>
		<link>http://scotalt.net/arthurcanal/2009/11/20/git-in-there/</link>
		<comments>http://scotalt.net/arthurcanal/2009/11/20/git-in-there/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 14:38:58 +0000</pubDate>
		<dc:creator>arthurcanal</dc:creator>
				<category><![CDATA[Git]]></category>

		<guid isPermaLink="false">http://scotalt.net/arthurcanal/?p=38</guid>
		<description><![CDATA[Since starting as Software Engineer at Vamosa I have had the chance to work properly with source control. I primarily started out using Subversion (svn) which I thought was great and easy to use, except those pesky conflicts. Anyway...after working with Subversion and absolutely loving it along comes Git and github.com. I moved from working [...]]]></description>
			<content:encoded><![CDATA[<p>Since starting as Software Engineer at <a href="http://www.vamosa.com">Vamosa</a> I have had the chance to work properly with source control.</p>
<p>I primarily started out using Subversion (svn) which I thought was great and easy to use, except those pesky conflicts.</p>
<p>Anyway...after working with Subversion and absolutely loving it along comes Git and github.com.  I moved from working on Vamosa's main software to their other piece of software, this is when I discovered the joys of Git.</p>
<p>Their are a number of features that make Git stand out from the rest of the version control systems, I will touch on a few <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Distributed</h2>
<p>Git was initially designed by Linus Torvalds for the Linux Kernel.  From the beginning Git was designed to be a distributed version control system meaning branching and multiple redundant repositories are a huge part of Git.</p>
<p>In Git, as with any distributed version control system, the user has a copy of the whole repo on their local work station, not only does this gives the user superb performance but also means they can have the full functionality when disconnected from their network.  Each user having a local copy of the whole repo also acts as a backup system, you may have 10 users all with a local copy and if all these users are pushing and pulling changes frequently you will suffer minimal loss if a machine dies some how (touch wood).</p>
<h2>Branches</h2>
<p>Branches are a central concept used in Git, every developer that is working with the Git respository has a working directory which is a branch.</p>
<p>Git also tracks all merge events, what branch was merge, who performed the merge and why (blame culture <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) and what changes were made to successfully complete the merge.  Git also automatically tracks the revision the branch was started from which is vital to successfully merge the branch back to the main trunk.</p>
<h2>Line Ending Conversion</h2>
<p>This was one of the big things that influenced our decision to switch to Git.  The team I work in consists of 4 developers, 2 of us develop on Linux and 2 on Windows.  One of the great features of Git is the ability to configure Git to check out code with CRLF and check in code with LF, Windows users simply configure "core.autocrlf = true".  This can be achieved just as easy with Subversion but you have to specify which files should be converted but with Git it all happens automagically.</p>
<h2>Space</h2>
<p>When we moved to Git one of the things we noticed was the size of the Git working directory compared to the Subversion working directory, the Git one is a whole lot smaller than Subversion.</p>
<p>In a Subversion working directory their is two copies of each file, one which the user actually works on and another hidden in .svn/.  The purpose of the copy in the .svn/ folder is to assist in tasks such as commit, status and diff.  Where as with Git the working directory only need a index file for each file which is tiny.  We decided to do a little comparison and it worked out that the history for our Subversion was almost 25 times bigger than that for our Git history.  I would imagine that if you have a huge code base this would make a big difference on disk usage.</p>
<h2>Speed</h2>
<p>One of the other advantages of having a local repository is no network slow down.</p>
<p>I was extremely impressed by the performance of tasks such as diff, committing changes, merging branches, viewing the history for a file and switching branches, it is insanely fast!</p>
<p>The only tasks that suffer from network slow down is pushing and pulling</p>
<h2>Install</h2>
<h3>Linux</h3>
<p>I use Git on Debian and installing it on a machine with APT is easy:</p>
<p><strong>sudo apt-get install git-core</strong></p>
<p>Installing it on a machine that uses Yum (Red Hat, Fedora) is just as easy:</p>
<p><strong>yum install git-core</strong></p>
<h3>Windows</h3>
<p>A couple of solutions are available for Windows <a href="http://code.google.com/p/msysgit/downloads/list" target="_blank">msysGit</a> is what the developers here use</p>
<h3>Mac</h3>
<p>On the Mac you can install Git with <a href="http://www.macports.org/install.php" target="_blank">MacPort</a></p>
<p>After you install MacPort run:</p>
<p><strong>sudo port install git-core</strong></p>
<p>The things I have discussed are just some of the benefits of Git.</p>
<p>Install it and Git pulling and pushing <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<div id="_mcePaste" style="overflow: hidden;width: 1px;height: 1px">
<pre><code>yum install git-coreyum instal
</code></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://scotalt.net/arthurcanal/2009/11/20/git-in-there/feed/</wfw:commentRss>
		<slash:comments>1664</slash:comments>
		</item>
		<item>
		<title>PIC &#8211; Up and Run!</title>
		<link>http://scotalt.net/arthurcanal/2009/11/10/pic-up-and-run/</link>
		<comments>http://scotalt.net/arthurcanal/2009/11/10/pic-up-and-run/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 10:54:38 +0000</pubDate>
		<dc:creator>arthurcanal</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[PIC32]]></category>

		<guid isPermaLink="false">http://scotalt.net/arthurcanal/?p=10</guid>
		<description><![CDATA[After a weekend of intense reading on the PIC32 architecture I finally got some code working. The PIC32 Starter Kit only comes with 3 LEDs and 3 Switches but I have never felt so much reward in seeing LEDs flashing. I wrote the following code, which gives the user a menu to choose which LED [...]]]></description>
			<content:encoded><![CDATA[<p>After a weekend of intense reading on the PIC32 architecture I finally got some code working.</p>
<p>The PIC32 Starter Kit only comes with 3 LEDs and 3 Switches but I have never felt so much reward in seeing LEDs flashing. I wrote the following code, which gives the user a menu to choose which LED to turn on or off...</p>
<pre style="border: 1px solid black">/*
Author: Eef
Desc: User Toggle LED's <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />
*/
#include "db_utils.h"
#include &lt;plib.h&gt;

char GetMenuChoice(void);
void DoEcho(void);
void ToggleRed(void);
void ToggleOrange(void);
void ToggleGreen(void);
void InitLEDs(void);

int main(void) {

  char choice;
  char repeat;

  DBINIT();

  // Make the lights flash!
  InitLEDs();

  while (repeat != 'x') {

    // Print the options to the user
    DBPRINTF("R to toggle the red one. \n");
    DBPRINTF("O to toggle the orange one. \n");
    DBPRINTF("G to toggle the green one. \n");
    DBPRINTF("X to exit. \n");

    // prompt the user for his/her choice
    choice = GetMenuChoice();

    // now switch on the chosen light
    switch(choice){
      case 'o':
      case 'O':
        ToggleOrange();
        break;
      case 'g':
      case 'G':
        ToggleGreen();
        break;
      case 'x':
      case 'X':
        repeat = 'x';
        break;
      default:
        // if the user presses anything else but the choices thrown an error
        DBPRINTF("Whit, type either E,R,G,O,X! ya nugget\n");
        ToggleRed();
        ToggleOrange();
        ToggleGreen();
        ToggleRed();
        ToggleOrange();
        ToggleGreen();
        break;
    }
  }

  DBPRINTF("Exited. \n");
  return 0;
}

char GetMenuChoice(void) {

  char choice;

  // let the user know what they can choose
  DBPRINTF("Choose a light to light (e,r,o,g): \n");
  choice = 'r';

  // get the user input
  DBGETC(&amp;choice);
  return choice;
}

void InitLEDs(void) {
  mPORTDSetPinsDigitalOut(BIT_0);
  mPORTDClearBits(BIT_0);
  mPORTDSetPinsDigitalOut(BIT_1);
  mPORTDClearBits(BIT_1);
  mPORTDSetPinsDigitalOut(BIT_2);
  mPORTDClearBits(BIT_2);
}

// methods to turn on the lights
void ToggleRed(void) {
  DBPRINTF("Red LED \n");
  mPORTDToggleBits(BIT_0);
}

void ToggleOrange(void) {
  DBPRINTF("Orange LED \n");
  mPORTDToggleBits(BIT_1);
}

void ToggleGreen(void) {
  DBPRINTF("Green LED \n");
  mPORTDToggleBits(BIT_2);
}
</pre>
<p>This is very simple stuff with the PIC32 MCU and I have not explorered it fully.</p>
<p>From what I have developed so far it is a great environment to develop on especially as the guys at MicroChip have provided a excellent C library to handle most of the nitty gritty stuff.</p>
<p>If you have ever programmed C before you will notice that the usual stdio.h library is not included and the normal printf is replaced with DBPRINTF. The PIC32 library replaces a lot of the usual C functions but stays very close, so anyone with some C experience can pic (excuse pun) one up and get going.</p>
<p>My next project is getting output directed to a LCD screen that I have bought, I was going to attempt it with a OLED but I do not have the correct expansions yet, specs:</p>
<p><span style="font-weight: bold">PIC32 Starter Kit</span></p>
<p><span style="font-weight: bold">PIC32 I/O Expansion Board</span></p>
<p><span style="font-weight: bold">Powertip PG12864 LCD Module</span></p>
<p>Will post some pics once I get things to display on the LCD module. <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://scotalt.net/arthurcanal/2009/11/10/pic-up-and-run/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PIC of the day</title>
		<link>http://scotalt.net/arthurcanal/2009/11/09/pic-of-the-day/</link>
		<comments>http://scotalt.net/arthurcanal/2009/11/09/pic-of-the-day/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 15:08:34 +0000</pubDate>
		<dc:creator>arthurcanal</dc:creator>
				<category><![CDATA[PIC32]]></category>

		<guid isPermaLink="false">http://scotalt.net/arthurcanal/?p=3</guid>
		<description><![CDATA[Today my PIC32 Microcontroller arrived. First off I need to say UPS are a top class delivery company. Ordered the MCU yesterday at 4.30pm and it arrived today at 1.30pm...less than 24 hours, get that roond yi Royal Snail Mail I have recently started learning C for a little project that me and a friend [...]]]></description>
			<content:encoded><![CDATA[<p>Today my PIC32 Microcontroller arrived.</p>
<p>First off I need to say UPS are a top class delivery company. Ordered the MCU yesterday at 4.30pm and it arrived today at 1.30pm...less than 24 hours, get that roond yi Royal Snail Mail <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I have recently started learning C for a little project that me and a friend are working on, nothing serious, just messing about.</p>
<p>I rattled threw 2 C book's last week, mainly learning about pointers and memory mumbojumbo, but got my head around them eventually.</p>
<p>I decided to take C a little further after a friend sent me this post about Steve Wozniak <a href="http://hackaday.com/2009/11/03/wozs-watch-makes-air-travelers-nervous/">[Link]</a> and purchased a MCU.  It's nothing special, PIC32 running at 80 MHz with 512K Flash, 32K RAM, 4 ch <a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=2591">[Link]</a> , also got a excellent looking book "Programming 32-Bit Microcontrollers in C" <a href="http://www.amazon.co.uk/Programming-32-bit-Microcontrollers-Exploring-Technology/dp/0750687096">[Link]</a></p>
<p>I will be recording my progress on the rest of my adventures with C and Microcontrollers, so watch this space for my frustration <img src='http://scotalt.net/arthurcanal/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://scotalt.net/arthurcanal/2009/11/09/pic-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pain in the Flash</title>
		<link>http://scotalt.net/arthurcanal/2009/11/08/pain-in-the-flash/</link>
		<comments>http://scotalt.net/arthurcanal/2009/11/08/pain-in-the-flash/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 09:48:29 +0000</pubDate>
		<dc:creator>arthurcanal</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://scotalt.net/arthurcanal/?p=8</guid>
		<description><![CDATA[Today I had the pleasure of working with Flash on Ubuntu 64bit - First of it was a pain in the to get installed. Eventually used 32bit flash player plugin and it work o.O I then implemented JQuery Thickbox into my application. All was well, Thickbox is a very nice JQuery plugin. I did however [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had the pleasure of working with Flash on Ubuntu 64bit - First of it was a pain in the to get installed. Eventually used 32bit flash player plugin and it work o.O</p>
<p>I then implemented JQuery Thickbox into my application. All was well, Thickbox is a very nice JQuery plugin. I did however notice that my Flash objects were appearing on top of the Thickbox.</p>
<p>After a little investigation I solved it with a little attribute called wmode.</p>
<p>Here is some information on wmode.</p>
<p>wmode was brought in by Macromedia, it purpose is to give developers/designers the ability to hide Flash from older screen readers.</p>
<p>I have not tested but I presume that all elements with similar attributes to the Thickbox popup will appear behind flash.</p>
<p>If this is the case for you then follow these steps:</p>
<p>Make sure you have a params element nested inside your object element. Now simply add the attribute "wmode" and try both values "opaque" or "transparent", one of them should do the trick.</p>
<p>This should hopefully solve the issue of your Thickbox window appearing below Flash objects.</p>
<p>If you do not have a object element and only a embed element, just add the same attribute to this element.</p>
<p>Happy Flashing!</p>
]]></content:encoded>
			<wfw:commentRss>http://scotalt.net/arthurcanal/2009/11/08/pain-in-the-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

