<?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>Ryan Alford - Guitarist &#187; hardware design</title>
	<atom:link href="http://www.ralford.net/wordpress/category/hardware-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ralford.net/wordpress</link>
	<description>musician, backpacker, tinkerer</description>
	<lastBuildDate>Mon, 16 Jan 2012 13:46:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>SVN Externals and Relative Links</title>
		<link>http://www.ralford.net/wordpress/2009/08/16/svn-externals-and-relative-links/</link>
		<comments>http://www.ralford.net/wordpress/2009/08/16/svn-externals-and-relative-links/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 15:42:14 +0000</pubDate>
		<dc:creator>ralford</dc:creator>
				<category><![CDATA[hardware design]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://www.ralford.net/wordpress/?p=300</guid>
		<description><![CDATA[Last week I encountered a limitation with using externals in SVN. It shows up when you are using the svn:externals property to bring a folder into your working copy, and when the folder you are bringing in uses the svn:externals property to bring in another folder whose path is no longer valid. In my case, [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I encountered a limitation with using externals in SVN.  It shows up when you are using the svn:externals property to bring a folder into your working copy, and when the folder you are bringing in uses the svn:externals property to bring in <em>another</em> folder whose path is no longer valid.   In my case, the problem was caused by the second external referring to a path with an absolute link instead of a relative link &#8211; the absolute link was no longer valid.</p>
<p>Here&#8217;s an example.</p>
<p>Let&#8217;s say you have a project called <em>Pizza</em> which has the svn:externals property set to bring in a folder <em>Pepperoni</em> from revision 4500.  The property looks like this:</p>
<p><code>-r 4500 http://server_name/meals/pizza/toppings/peperroni Pepperoni</code></p>
<p>And let&#8217;s say you want revision 4500, because the head of the trunk is at 4900, and features that were added to <em>Pepperoni</em> between 4500 and 4900 do not apply to the new <em>Pizza</em> project.  The unique thing about the <em>Pepperoni</em> project is that it has subfolders for different spices and flavors: <em>Salt</em>, <em>Pepper</em>, and <em>Smoke</em>.   The <em>Smoke</em> folder happens to be using the svn:externals property, and it looks like this:</p>
<p><code>-r 3222 http://server_name_old/meals/pepperoni/spices/smoke Smoke</code></p>
<p>Again, you want revision 3222, because features that were changed between 3222 and the 4900 (the top revision of the trunk) do not apply to your <em> Pizza</em> project.</p>
<p>If you noticed the difference in paths, you&#8217;ll see the external for the <em> Smoke</em> folder is using an old name of the server.   Sometime between version 3222 and 4500, the server&#8217;s name changed from &#8216;server_name_old&#8217; to &#8216;server_name&#8217;.   Because of this, when you commit your <em>Pizza</em> project (with the svn:externals property set to bring in <em>Pepperoni</em>), the subfolder of <em>Pepperoni</em>, <em>Smoke</em>, which is being externalled in at a second level, will not see the old server name.</p>
<p>Because the svn:externals property applied to <em>Pepperoni</em> occurred back in time (at revision 3222), you can only correct the invalid absolute path by copying revision 3222 of <em>Pepperoni</em> to a branch, and adjusting the externals property to use the new server name.   You wouldn&#8217;t want to keep it in the trunk as you&#8217;d lose the changes made between 3222 and 4900 (the head).</p>
<p>The URLs I show in the svn:externals above are absolute.  In Subversion 1.5, relative externals were introduced, which allow you to external in a folder without naming the server.  Here is the correct external, which uses a relative path to the repository root (without the server name):</p>
<p><code>-r 3222 ^/meals/pizza/toppings/peperroni Smoke</code></p>
<p>Using relative links with the svn:externals property will prevent broken external properties that happen as a result of dead (invalid) paths.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ralford.net/wordpress/2009/08/16/svn-externals-and-relative-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Naming Power Rails Vdd or Vcc</title>
		<link>http://www.ralford.net/wordpress/2009/05/01/when-to-name-power-rails-vdd-or-vcc/</link>
		<comments>http://www.ralford.net/wordpress/2009/05/01/when-to-name-power-rails-vdd-or-vcc/#comments</comments>
		<pubDate>Fri, 01 May 2009 22:07:21 +0000</pubDate>
		<dc:creator>ralford</dc:creator>
				<category><![CDATA[hardware design]]></category>
		<category><![CDATA[naming conventions]]></category>

		<guid isPermaLink="false">http://www.ralford.net/wordpress/?p=165</guid>
		<description><![CDATA[Today I was comparing some connections on a schematic to a reference design and I noticed the reference was using a net name &#8216;Vdd&#8217; for a power rail that I had named &#8216;Vcc&#8217;. In most of my work, I use Vcc because I seem to have encountered it more in datasheets and references, or so [...]]]></description>
			<content:encoded><![CDATA[<p>Today I was comparing some connections on a schematic to a reference design and I noticed the reference was using a net name &#8216;Vdd&#8217; for a power rail that I had named &#8216;Vcc&#8217;.   In most of my work, I use Vcc because I seem to have encountered it more in datasheets and references, or so it seems.  For some designs, I&#8217;ve applied a Vcc prefix to all of my power rails, so when my net names are alphebetized, they all appear in a group, making it easier to select this group of nets in the PCB layout.</p>
<p>Today I questioned what <em>is</em> the implied difference when a rail is named Vcc or Vdd.    The historical difference is that Vcc was used in BJT circuits for connections to the transistor&#8217;s collector.   Vdd came about when FET technology entered the world, and indicates a connection to a FET&#8217;s drain.  On a similar note, &#8220;Vee&#8221; comes from BJT technology and indicates a connection to the collector while &#8220;Vss&#8221; comes from FET technology and indicates a connection to a FET&#8217;s source.   (Reference: <em><a href="http://en.wikipedia.org/wiki/Vcc">Vcc</a></em> on Wikipedia)</p>
<p>Really either convention will suffice, but as the hardware design field continues moving forward, it never hurts to know the history behind a naming convention.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ralford.net/wordpress/2009/05/01/when-to-name-power-rails-vdd-or-vcc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

