<?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>Bryan Helmig</title>
	<atom:link href="http://bryanhelmig.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://bryanhelmig.com</link>
	<description>...and a digital brain freeze.</description>
	<lastBuildDate>Tue, 16 Feb 2010 02:24:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>My Favorite Way To Sell Files Online</title>
		<link>http://bryanhelmig.com/my-favorite-way-to-sell-files-online/</link>
		<comments>http://bryanhelmig.com/my-favorite-way-to-sell-files-online/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 22:48:42 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=254</guid>
		<description><![CDATA[There are quite a few services out there that provide a mechanism for digital downloads, most of them are cart based or even store based (their store on their site). This puts you at the mercy of their approval process and can shut down your income in a flash if they don&#8217;t like what your [...]]]></description>
			<content:encoded><![CDATA[<p>There are quite a few services out there that provide a mechanism for digital downloads, most of them are cart based or even store based (<em>their </em>store on <em>their </em>site). This puts you at the mercy of their approval process and can shut down your income in a flash if they don&#8217;t like what your are selling. Wouldn&#8217;t it be awesome if you could just <strong>sell some digital file on your site</strong>, receive the money <strong>directly in your PayPal account</strong> and <strong>automate the file delivery</strong>?</p>
<p><a href="http://bitbuffet.com/"><strong>Try BitBuffet.com For Selling Files Online!</strong></a></p>
<p>I&#8217;ve been using BitBuffet.com to sell my Wordpress themes at GazelleThemes.com and haven&#8217;t hit any snags at all. I just upload the zip file containing my theme and copy the button code onto my website. I even get email notifications when I receive a sale and nice flash charts showing my past sales (including a massive database for searching past sales).</p>
<p>I can set how long the download links are active and how many times they can download. After the time is up, the link no longer works. I can send freebie to friends and resend lost download links. Each download link is unique and expires according to <em>your </em>settings.</p>
<p><strong>Sell Albums or MP3&#8217;s On Your MySpace/Band Website</strong></p>
<p>Since my band <strong>Glass Cannon </strong>is getting ready to release our debut album, I can also use BitBuffet.com to host and sell an album. Again, all I&#8217;ll need to do is make a zip of the file, upload it to BitBuffet.com and copy the button to my bands site (or MySpace). All they have to do is click, pay through PayPal and check their email!</p>
<p><strong>Sell Photos From Your Online Portfolio/Flickr</strong></p>
<p>Although I&#8217;m not a photographer (I just play one on TV), I can see photographers selling their high resolution files to interested buyers. Since the files are securely hosted, you don&#8217;t have to worry about people stealing your work by sharing a download link (each is unique and expires according to your settings).</p>
<p><strong>Sell <em>Any </em>Digital File From Your Site</strong></p>
<p>It doesn&#8217;t matter what it is! Software, images, designs, HTML/CSS themes, Wordpress Themes, Joomla! Themes, Woopra Themes, MP3&#8217;s, Albums, eBooks, vector images&#8230; you name it! If it is digital, BitBuffet.com offers the easiest way to deliver the file with after PayPal payments!</p>
<p><em><strong>Some of the Features:</strong></em></p>
<ul>
<li>Unlimited Bandwidth</li>
<li>Unlimited Sales</li>
<li>Keep Your Profits</li>
<li>Pay Flat-Fee Month-to-Month or Yearly</li>
<li>Payment Directly Into Seller&#8217;s Personal PayPal Account</li>
</ul>
<p>Check out <a href="http://bitbuffet.com/">BitBuffet.com</a> today and let me know in the comments what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/my-favorite-way-to-sell-files-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notorious B.I.G&#8217;s Crack Commandments In Business</title>
		<link>http://bryanhelmig.com/notorious-b-i-g-crack-commandments-in-business/</link>
		<comments>http://bryanhelmig.com/notorious-b-i-g-crack-commandments-in-business/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 22:22:53 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Interesting]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=240</guid>
		<description><![CDATA[In case you need a refresher, check out the tune here. While some are a stretch, a few are really quite relevant.
1. Never let no one know how much dough you hold.
Keep your finances (good or bad) to yourself.
Don&#8217;t make the mistake of bragging about how well or mentioning how badly you&#8217;re doing unless you [...]]]></description>
			<content:encoded><![CDATA[<p>In case you need a refresher, <a href="http://www.youtube.com/watch?v=6ihPOTDxMfE">check out the tune here</a>. While some are a stretch, a few are really quite relevant.</p>
<p><strong>1. Never let no one know how much dough you hold.</strong></p>
<p><em>Keep your finances (good or bad) to yourself.</em></p>
<p>Don&#8217;t make the mistake of bragging about how well or mentioning how badly you&#8217;re doing unless you have a very good reason for it. What you think of as idle talk amongst friends can get around very quickly and can affect future deals or relationships. When it comes to finances, its just better to keep your mouth shut.</p>
<p><strong>2. Never let &#8216;em know your next move.</strong></p>
<p><em>Keep your core strategies/opportunities under wraps.</em></p>
<p>I know its tempting to talk about your plans or techniques, but just like <strong>#1</strong>, sometimes it&#8217;s just best to shut up. Biggie elaborates on this with <em>&#8220;don&#8217;t you know Bad Boys move in silence or violence&#8221;</em> which is just another way of letting you know that the big dogs don&#8217;t over-plan and discuss, and they <strong>act</strong>.</p>
<p><strong>3. Never trust nobody.</strong></p>
<p><em>Words are words. Get a contract.<br />
</em></p>
<p>Trust is a funny and terribly fragile thing. While your business partners or clients may not want to ruin you from the outset, who knows what the future will bring? You need to protect yourself. Hire a lawyer, get a contract. Live by this motto:<strong> &#8220;Everybody signs something.&#8221;</strong></p>
<p><strong>4. Never get high, on your own supply.</strong></p>
<p><em>Discover the customers&#8217; needs; don&#8217;t substitute your own.<br />
</em></p>
<p>While you may think you have it under control, your customer should come first. They are the ones controlling your paycheck. Don&#8217;t forget that. If you think you have all the answers, be prepared to fail. Badly.</p>
<p><strong>5. Never sell no crack where you rest at.</strong></p>
<p><em>Don&#8217;t mix business with personal life.<br />
</em></p>
<p>It&#8217;s easy to bring your personal life into business, and some people have no problems maintaining the difference. But when you become a friend to all, you may have trouble making necessary decisions in the face of emotion. Just know that if you do mix the two, you&#8217;ll may need to break the connection to make the right decision.</p>
<p><strong>6. That God damn credit, dead it.</strong></p>
<p><em>Get cash upfront unless you don&#8217;t care about being paid.<br />
</em></p>
<p>This goes back to <strong>#3</strong>, don&#8217;t trust anyone. Get a contract and get the cash upfront. While Biggie was dealing with unreliable crackheads, you&#8217;ll still run across unreliable or dishonest businessmen. When in doubt, get it in cash.</p>
<p><strong>7. Keep your family and business completely separated.</strong></p>
<p><em>Don&#8217;t work with family for family&#8217;s sake.</em></p>
<p>This is an elaboration on <strong>#5</strong>, but don&#8217;t hire friends or family just because they are who they are. Do they have a strong skill-set? Can they contribute to your bottom line? If you can&#8217;t be honest here, you won&#8217;t make it far.</p>
<p><strong>8. Never keep no weight on you.</strong></p>
<p><em>Learn to delegate effectively.<br />
</em></p>
<p>Biggie clarifies this with the line: <em>&#8220;them cats that squeeze your guns can hold jumps too.&#8221;</em> In Biggie&#8217;s case, he doesn&#8217;t want to get nailed with possession. In your case, hire someone to do your dirty work for you. Learn to delegate and get on with more important things.</p>
<p><strong>9. If you ain’t gettin bags stay the fuck from police.</strong></p>
<p><em>Watch who you are perceived as working with.<br />
</em></p>
<p>There are probably a lot of people who in hindsight would have taken a different route when dealing with unsavory people. Biggie had the right idea, your colleagues will form their own assumption, some of them negative.</p>
<p><strong>10. A strong word called consignment; if you ain’t got the clientele say hell no.</strong></p>
<p><em>Don&#8217;t take credit without a means to repay.<br />
</em></p>
<p>This is the flip-side of <strong>#6</strong>, don&#8217;t take obligations you can&#8217;t repay. This is one very quick way of run yourself into the ground. If you already have revenue and need to grow, then by all means.</p>
<p>What do you think? Did I interpret one wrong?</p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/notorious-b-i-g-crack-commandments-in-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated Rank (and Link) Tracking Done Easy</title>
		<link>http://bryanhelmig.com/rank-tracking-done-easy/</link>
		<comments>http://bryanhelmig.com/rank-tracking-done-easy/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 08:55:39 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=230</guid>
		<description><![CDATA[Finally, after months of tweaking and building, I&#8217;ve launched Rankiac.com, a super charged automatic Google rank checker. It&#8217;s a dandy little SEO tool that doesn&#8217;t do a whole heck of a lot, but what it does, it does well. At the moment, it (1) tracks rankings in Google, (2) watches your important links and (3) [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_231" class="wp-caption alignright" style="width: 204px"><img class="size-full wp-image-231  " title="email cropped" src="http://bryanhelmig.com/wp-content/uploads/2009/12/emailcropped.png" alt="A sample email. Simple easy." width="194" height="218" /><p class="wp-caption-text">A sample email. Simple easy.</p></div>
<p>Finally, after months of tweaking and building, I&#8217;ve launched Rankiac.com, a super charged <a href="http://rankiac.com/">automatic Google rank checker</a>. It&#8217;s a dandy little SEO tool that doesn&#8217;t do a whole heck of a lot, but what it does, it does well. At the moment, it (1) tracks rankings in Google, (2) watches your important links and (3) keeps track of backlinks (and lets you know when it finds a new one!). <strong>Oh, and it emails you an update every morning! </strong>That last feature was <em>key </em>for me.</p>
<h3>So, what&#8217;s it do?</h3>
<p>Well, it does just what I mentioned before! Tracks keyword rankings in Google (hundreds of them!), hyperlinks between sites (we watch out for pesky no-follows), and backlinks (from Yahoo&#8217;s Site Explorer). But my favorite feature is by far and away <strong>daily emails</strong>.</p>
<h4>Daily Emails!</h4>
<p>How I love rolling out of bed in the morning (or lately is been afternoon&#8230;) and checking all my ranks from my iPhone&#8217;s email app. Anywhere you want, its easy access to a simple method that keeps you in the loop. I tend to forget to look at my other keywords, but Rankiac never forgets. Its handy.</p>
<h4>Charting</h4>
<p>I also love charts. Rankiac has &#8216;em. See how each of your keywords is doing over time and plan accordingly. Link building making your domains slowly increase in rankings? Double check with one click. Oh, also, <strong>you can download all the data in CSV</strong> format as well, in case you wanna play with the data yourself.</p>
<h3>If you&#8217;re interested, here&#8217;s a <strong>coupon</strong>: <em>zr6voq1y</em>. Just sign up and enter it in your profile!</h3>
<p>It&#8217;s good for the first 25 users and gives you 91 days free (in addition to the 14 day free trial!). After that, I think it runs about 11 cents a day, or less that 3 and a half bucks a month when you buy a year!</p>
<p>So what are you waiting for, go sign up at <a href="http://rankiac.com/">Rankiac</a>!</p>
<p><em>PS: I&#8217;ve also built two little baby sites for those who want a simple <a href="http://googlerankchecker.net/">Google rank checker</a> or fast <a href="http://reciprocallinkchecker.net/">reciprocal link checker</a> on the fly!<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/rank-tracking-done-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 IT Decisions for Non-IT Management</title>
		<link>http://bryanhelmig.com/6-it-decisions-for-non-it-management/</link>
		<comments>http://bryanhelmig.com/6-it-decisions-for-non-it-management/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 23:18:05 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Boring Stuff]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=227</guid>
		<description><![CDATA[
The first consideration is: is the level of spending tied to the overall strategy? Given that there are uncertain returns for IT investments, the spending should be considered like any other business investment and prudence should be exercised just the same. While industry bookmarks can be an exceptional indicator, they should not be the targeted [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>The first consideration is: <em>is the level of spending tied to the overall strategy</em>? Given that there are uncertain returns for IT investments, the spending should be considered like any other business investment and prudence should be exercised just the same. While industry bookmarks can be an exceptional indicator, they should not be the targeted spending.</li>
<li>The second consideration is: <em>is the money focused on essential, benefit producing programs</em>? While it may be tempting to streamline all business processes, it is foolish to equally distribute investments among business processes that will benefit unevenly. However, a careful balance must be struck to avoid any bottlenecks.</li>
<li>The third consideration is: <em>at what scope will the business benefit from IT centralization</em>? Another tempting move may be to provide company-wide IT integration, or centralization, regardless of the cost. This may appear to be an excellent way to provide cost savings (by buying in bulk), but the added benefit of centralization may be entirely mitigated by the added costs.</li>
<li>The fourth consideration is: <em>does the business need a premier, top-of-the-line system to operate efficiently</em>? If left to IT management, the added cost/benefit ratio may be clearly defined in raw technology terms, but the benefit as perceived by IT management may not translate to overall benefits to the business.</li>
<li>The fifth consideration is: <em>at what point does the marginal cost of more hassle cross the marginal benefit of more security</em>?  In other words, by increasing IT security, are you inadvertently creating insurmountable obstacles for non-IT employees? Research suggests that the weakest link of most security chains is the human element, and the human element is best handled through proper training, not extravagant (and costly) firewalls and encryption.</li>
<li>The sixth and final consideration is: <em>place blame on the management of IT implementation, not the IT systems.</em> Most IT systems are built to exact specifications, and many are industry wide solutions adopted elsewhere. When the expected benefits don’t materialize, find the problem in the decision chain that approved inappropriate systems, not in the IT system itself.</li>
</ol>
<p style="text-align: right;"><em><small>Six IT Decisions Your IT People Shouldn&#8217;t Make &#8211; March 3, 2009 &#8211; Jeanne W. Ross and Peter Weill</small></em></p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/6-it-decisions-for-non-it-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django Encryption &#8211; An Updated How-To</title>
		<link>http://bryanhelmig.com/django-encryption/</link>
		<comments>http://bryanhelmig.com/django-encryption/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 05:56:10 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Boring Stuff]]></category>
		<category><![CDATA[AES]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=213</guid>
		<description><![CDATA[I love Django, and I love Django Snippets, but I&#8217;ve noticed some snippets are out of date, most notably for me, Django snippet 1095 or Django Encryption. Unfortunately, some folks are hitting a few snags on TypeError: &#8220;Non-hexadecimal digit found&#8221;.
Luckily, it seems that Django-Fields have solved this problem for us! Here is my (their) technique!
Make [...]]]></description>
			<content:encoded><![CDATA[<p>I love Django, and I love <a href="http://www.djangosnippets.org/">Django Snippets</a>, but I&#8217;ve noticed some snippets are out of date, most notably for me, Django snippet 1095 or <a href="http://www.djangosnippets.org/snippets/1095/">Django Encryption</a>. Unfortunately, some folks are hitting a few snags on TypeError: &#8220;Non-hexadecimal digit found&#8221;.</p>
<p>Luckily, it seems that <a href="http://github.com/svetlyak40wt/django-fields">Django-Fields</a> have solved this problem for us! Here is my (their) technique!</p>
<p>Make a file named encryption.py to go into the same folder as your settings.py containing:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">binascii</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">random</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">from</span> django <span style="color: #ff7700;font-weight:bold;">import</span> forms
<span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">db</span> <span style="color: #ff7700;font-weight:bold;">import</span> models
<span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">conf</span> <span style="color: #ff7700;font-weight:bold;">import</span> settings
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> BaseEncryptedField<span style="color: black;">&#40;</span>models.<span style="color: black;">Field</span><span style="color: black;">&#41;</span>:
    <span style="color: #483d8b;">''</span><span style="color: #483d8b;">'This code is based on the djangosnippet #1095
You can find the original at http://www.djangosnippets.org/snippets/1095/'</span><span style="color: #483d8b;">''</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #66cc66;">*</span>args, <span style="color: #66cc66;">**</span>kwargs<span style="color: black;">&#41;</span>:
        cipher = kwargs.<span style="color: black;">pop</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'cipher'</span>, <span style="color: #483d8b;">'AES'</span><span style="color: black;">&#41;</span>
        <span style="color: #dc143c;">imp</span> = <span style="color: #008000;">__import__</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Crypto.Cipher'</span>, <span style="color: #008000;">globals</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, <span style="color: #008000;">locals</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>, <span style="color: black;">&#91;</span>cipher<span style="color: black;">&#93;</span>, -<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">cipher</span> = <span style="color: #008000;">getattr</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">imp</span>, cipher<span style="color: black;">&#41;</span>.<span style="color: #dc143c;">new</span><span style="color: black;">&#40;</span>settings.<span style="color: black;">SECRET_KEY</span><span style="color: black;">&#91;</span>:<span style="color: #ff4500;">32</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">prefix</span> = <span style="color: #483d8b;">'$%s$'</span> <span style="color: #66cc66;">%</span> cipher
&nbsp;
        max_length = kwargs.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'max_length'</span>, <span style="color: #ff4500;">40</span><span style="color: black;">&#41;</span>
        mod = max_length <span style="color: #66cc66;">%</span> <span style="color: #008000;">self</span>.<span style="color: black;">cipher</span>.<span style="color: black;">block_size</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> mod <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span>:
            max_length += <span style="color: #008000;">self</span>.<span style="color: black;">cipher</span>.<span style="color: black;">block_size</span> - mod
        kwargs<span style="color: black;">&#91;</span><span style="color: #483d8b;">'max_length'</span><span style="color: black;">&#93;</span> = max_length <span style="color: #66cc66;">*</span> <span style="color: #ff4500;">2</span> + <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">prefix</span><span style="color: black;">&#41;</span>
&nbsp;
        models.<span style="color: black;">Field</span>.<span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #66cc66;">*</span>args, <span style="color: #66cc66;">**</span>kwargs<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> _is_encrypted<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, value<span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">isinstance</span><span style="color: black;">&#40;</span>value, <span style="color: #008000;">basestring</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">and</span> value.<span style="color: black;">startswith</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">prefix</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> _get_padding<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, value<span style="color: black;">&#41;</span>:
        mod = <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span> <span style="color: #66cc66;">%</span> <span style="color: #008000;">self</span>.<span style="color: black;">cipher</span>.<span style="color: black;">block_size</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> mod <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span>:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">self</span>.<span style="color: black;">cipher</span>.<span style="color: black;">block_size</span> - mod
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #ff4500;">0</span>
&nbsp;
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> to_python<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, value<span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">self</span>._is_encrypted<span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span>:
            <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">self</span>.<span style="color: black;">cipher</span>.<span style="color: black;">decrypt</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">binascii</span>.<span style="color: black;">a2b_hex</span><span style="color: black;">&#40;</span>value<span style="color: black;">&#91;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">prefix</span><span style="color: black;">&#41;</span>:<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\0</span>'</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> value
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> get_db_prep_value<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, value<span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">if</span> value <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">None</span> <span style="color: #ff7700;font-weight:bold;">and</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #008000;">self</span>._is_encrypted<span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span>:
            padding = <span style="color: #008000;">self</span>._get_padding<span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> padding <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span>:
                value += <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\0</span>&quot;</span> + <span style="color: #483d8b;">''</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #dc143c;">random</span>.<span style="color: black;">choice</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span>.<span style="color: black;">printable</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> index <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>padding-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
            value = <span style="color: #008000;">self</span>.<span style="color: black;">prefix</span> + <span style="color: #dc143c;">binascii</span>.<span style="color: black;">b2a_hex</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">cipher</span>.<span style="color: black;">encrypt</span><span style="color: black;">&#40;</span>value<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> value
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> EncryptedTextField<span style="color: black;">&#40;</span>BaseEncryptedField<span style="color: black;">&#41;</span>:
    <span style="color: #0000cd;">__metaclass__</span> = models.<span style="color: black;">SubfieldBase</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> get_internal_type<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">'TextField'</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> formfield<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #66cc66;">**</span>kwargs<span style="color: black;">&#41;</span>:
        defaults = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'widget'</span>: forms.<span style="color: black;">Textarea</span><span style="color: black;">&#125;</span>
        defaults.<span style="color: black;">update</span><span style="color: black;">&#40;</span>kwargs<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">super</span><span style="color: black;">&#40;</span>EncryptedTextField, <span style="color: #008000;">self</span><span style="color: black;">&#41;</span>.<span style="color: black;">formfield</span><span style="color: black;">&#40;</span><span style="color: #66cc66;">**</span>defaults<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> EncryptedCharField<span style="color: black;">&#40;</span>BaseEncryptedField<span style="color: black;">&#41;</span>:
    <span style="color: #0000cd;">__metaclass__</span> = models.<span style="color: black;">SubfieldBase</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> get_internal_type<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">&quot;CharField&quot;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> formfield<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #66cc66;">**</span>kwargs<span style="color: black;">&#41;</span>:
        defaults = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'max_length'</span>: <span style="color: #008000;">self</span>.<span style="color: black;">max_length</span><span style="color: black;">&#125;</span>
        defaults.<span style="color: black;">update</span><span style="color: black;">&#40;</span>kwargs<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">super</span><span style="color: black;">&#40;</span>EncryptedCharField, <span style="color: #008000;">self</span><span style="color: black;">&#41;</span>.<span style="color: black;">formfield</span><span style="color: black;">&#40;</span><span style="color: #66cc66;">**</span>defaults<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>And then in your models.py:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> encryption <span style="color: #ff7700;font-weight:bold;">import</span> EncryptedCharField
...
<span style="color: #ff7700;font-weight:bold;">class</span> Example<span style="color: black;">&#40;</span>models.<span style="color: black;">Model</span><span style="color: black;">&#41;</span>:
    secret = EncryptedCharField<span style="color: black;">&#40;</span>max_length=<span style="color: #ff4500;">255</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">class</span> Meta:
        ordering = <span style="color: black;">&#40;</span><span style="color: #483d8b;">'secret'</span>,<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__unicode__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">self</span>.<span style="color: black;">secret</span></pre></td></tr></table></div>

<p>This should be pretty explanatory! Have fun!</p>
<p><em>PS: You need PyCrypto! Google much?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/django-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Antares AutoTune Review</title>
		<link>http://bryanhelmig.com/antares-autotune-review/</link>
		<comments>http://bryanhelmig.com/antares-autotune-review/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 05:06:39 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[autotune]]></category>
		<category><![CDATA[glass cannon]]></category>
		<category><![CDATA[jazz]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=197</guid>
		<description><![CDATA[I never thought I&#8217;d cross into the dark side. Using AutoTune? On jazz?! What?!?
Oh, I know how wrong it is. The &#8220;Trane&#8221; would roll over in his grave. Wes would be shocked. Miles would not approve. But, I don&#8217;t think those guys would listen to our records anyways (even if they were still alive). Besides, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-199" style="border:1px #ccc solid;padding:3px;" title="antares autotune review saxaphone trumpet" src="http://bryanhelmig.com/wp-content/uploads/2009/08/800px-Autotune5-300x201.png" alt="antares autotune review saxaphone trumpet" width="240" height="161" />I never thought I&#8217;d cross into the dark side. Using AutoTune? On jazz?! What?!?</p>
<p>Oh, I know how wrong it is. The &#8220;Trane&#8221; would roll over in his grave. Wes would be shocked. Miles would not approve. But, I don&#8217;t think those guys would listen to our records anyways (even if they were still alive). Besides, I think I speak for everyone when I say I am tired of doing 800 takes. We aren&#8217;t professionals who spend their lives playing live and in the studio. This is for fun. So here is my two bits about Antares AutoTune on woodwind and brass instruments.</p>
<h3>Holy shit, it worked!</h3>
<p>That was my first reaction. I snagged a copy (v5), installed it, and was thinking I just wasted time and money. Like we need Cher or T-Payne style AutoTuning on our sax duets. Right&#8230;  All I did was throw it on the tracks, leave it on the &#8220;Auto&#8221; setting. 10 seconds later&#8230; Well, holy shit, it worked!</p>
<p>Alright, so you know it worked, but how did it sound? Here&#8217;s a little excerpt on a song by Adam Loftin, named &#8220;Out Of The West Wood&#8221;. It&#8217;s a very angular jazz tune, slow and ballad like. You can hear our two sax players (who are quite talented), stray off on this strangely angular melody.</p>
<ul>
<li><a href="http://bryanhelmig.com/downloads/westbroke.mp3">Broken.</a></li>
<li><a href="http://bryanhelmig.com/downloads/westfixed.mp3">Fixed.</a></li>
</ul>
<p>Now, that may not sound that different, but listen closely to the last note. The warble is gone. The harmonic dissonance is still there (this is jazz, remember). This is actually a pretty good example, hopefully you aren&#8217;t trying to fix horribly out of tune performances, just slightly out of tune.</p>
<p>Anyways, it was literally as easy as installing the software, attaching it to the track, and selecting the instrument setting. We could probably fix the slightly out of tune note pickups, but seriously, its so much better, we don&#8217;t even care.</p>
<h3>Have you used it?</h3>
<p>Just curious about your experiences with AutoTune and your stories. What genres did you use it on? What&#8217;s the strangest track you&#8217;ve run through AutoTune?</p>
<p><em>PS: If you care, the band&#8217;s name is <a href="http://glasscannonband.com/">Glass Cannon</a>. The album is due out whenever it is done, which, at this rate, might be a while&#8230;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/antares-autotune-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://bryanhelmig.com/downloads/westbroke.mp3" length="203754" type="audio/mpeg" />
<enclosure url="http://bryanhelmig.com/downloads/westfixed.mp3" length="203754" type="audio/mpeg" />
		</item>
		<item>
		<title>Bing, Yahoo!, Google and the Ad Serving Internets</title>
		<link>http://bryanhelmig.com/bing-yahoo-google-and-the-ad-serving-internets/</link>
		<comments>http://bryanhelmig.com/bing-yahoo-google-and-the-ad-serving-internets/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 21:27:03 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=180</guid>
		<description><![CDATA[I run a few websites (lets just say over a dozen) so I generally spend a lot of my time optimizing and tweaking these sites. My first site, a free guitar lesson resource, survives solely off of Adsense. I like Adsense, its easy to use, is extremely popular, and there are is no shortage of [...]]]></description>
			<content:encoded><![CDATA[<p>I run a few websites (lets just say over a dozen) so I generally spend a lot of my time optimizing and tweaking these sites. My first site, a free guitar lesson resource, survives solely off of Adsense. I like Adsense, its easy to use, is extremely popular, and there are is no shortage of willing advertisers.</p>
<p>I receive decent traffic from all three of the big search engines, and while the night may still be quite young, I can already see which site I am leaning towards as my favorite search engine&#8230;</p>
<h3>A comparison of revenue earning power.</h3>
<p>Thanks to Google Analytics&#8217;s handy Adsense integration, I can see exactly which keywords will give me better eCPM, or &#8220;the estimated revenue from AdSense per thousand ad page views&#8221;. Out of my largest referrers, the highest eCPM earners are&#8230;</p>
<ol>
<li><em>Bing </em>with<strong> <em>425%</em></strong> of average eCPM!</li>
<li><em>Yahoo!</em> with <strong>188%</strong> of average eCPM.</li>
<li><em>Direct (no referral)</em> at <strong>98%</strong> of average eCPM.</li>
<li><em>Google </em>with <strong>71%</strong> of average eCPM.</li>
</ol>
<p>Now these numbers should be taken with a grain of salt, I haven&#8217;t controlled for other variables, like landing pages, keywords or traffic numbers. However, a cursory overview tells me that any set of numbers with a extreme deviations from the average warrant further investigation. Discuss this, I will.</p>
<h3>What&#8217;s going on?</h3>
<p>Well, Bing and Yahoo! both rank me much, much higher on my target terms than Google (think top 5 vs. top 50). So right off the bat, I am thinking of this in a couple ways:</p>
<ol>
<li><em>Bing </em>and <em>Yahoo!</em> are both sending me much <strong>more </strong>relevant traffic. Therefore the users are <strong>more </strong>engaged with the site, and are more <strong>willing to explore </strong>relevant advertising offers.</li>
<li><em>Bing </em>and<em> Yahoo! </em>are both sending me much <strong>less </strong>relevant traffic. Therefore the users are <strong>less </strong>engaged with the site, and want to <strong>click away </strong>from the site through advertisements.</li>
<li><em>Google </em>users are more web savvy, and tend to <strong>ignore </strong>the branding of the the Google Adsense ads (they do have a distinct look).</li>
</ol>
<p>Well which is it? Well, let me bring in some more information: bounce rates. Bounce rates are great indicators of whether people stick around on your site or not, the lower the bounce rate, the better. Low bounce rates mean users spend more time on your site, time that is likely to translate to favorable actions (bookmarking, ad clicking, etc.), so there might be a little harmonizing amongst the data&#8230; Let us explore:</p>
<ol>
<li><em>Yahoo!</em> with a BR of <strong>38.06%</strong>.</li>
<li><em>Bing </em>with a BR of <strong>39.52%</strong>.</li>
<li><em>Direct (no referral) </em>with a BR of<strong> 45.37%</strong>.</li>
<li><em>Google </em>with a BR of <strong>50.98%</strong>.</li>
</ol>
<p>Anyway you slice it, this doesn&#8217;t look good for Google. Google has the highest bounce rate of the bunch, even higher than the site average. Yahoo! and Bing are both neck and neck. And they make me more money per click-through, Win-win! However, in all fairness, they are sending traffic from different search terms. Yahoo! and Bing just seem to be better at choosing relevant search terms at the moment.</p>
<p>The last theory I put forth was one that suggests that Google users are a little less advertisement prone than their counterparts at Bing and Yahoo!. Perhaps this is true since most folks are learning of Bing through Microsoft&#8217;s big ad campaign. Sheeple in, sheeple out. Coincidence!? Probably. Who knows.</p>
<h3>Why is it so?</h3>
<p>Well, in reality, it may not be so. The data isn&#8217;t very normalized. In fact, as of right now, both Bing and Yahoo! combined only send about 1/5 of the traffic Google sends. But this number is growing everyday, so we&#8217;ll have to come back in a couple months to see if this changes.</p>
<p>But as for now, I am thinking Bing and Yahoo! are both ranking me better for keywords I know my site is good for. Google just seems to be pickier (and a little less efficient in this case). My suggestion would be to get you some Bing traffic and see for yourself.</p>
<p>Whoever is reading this and has a soft spot for statistics of any sort, perhaps you can put forth some clarifications or suggestions. I&#8217;d love it.</p>
<p><em>Edit: Now with the Yahoo!/Bing deal, let&#8217;s hope these numbers hold up and more traffic comes pouring through. <img src='http://bryanhelmig.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/bing-yahoo-google-and-the-ad-serving-internets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Yukon Ho!: A Retrospective</title>
		<link>http://bryanhelmig.com/yukon-ho-a-retrospective/</link>
		<comments>http://bryanhelmig.com/yukon-ho-a-retrospective/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 05:52:47 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Life of Bryan]]></category>
		<category><![CDATA[alaska]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[yukon]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=169</guid>
		<description><![CDATA[The times I&#8217;ve been caught talking to myself I was saying things like &#8220;Bryan, you won&#8217;t be doing any of that boring personal life blogging will you?&#8220;, to which I would answer: &#8220;No, of course not&#8220;. Please note, I&#8217;ve denounced drinking on more than one occasion/morning, and we all know that wagon skipped town long [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-168" title="yukon ho!" src="http://bryanhelmig.com/wp-content/uploads/2009/06/calvinhobbes-283x300.jpg" alt="yukon ho!" width="170" height="180" />The times I&#8217;ve been caught talking to myself I was saying things like &#8220;<em>Bryan, you won&#8217;t be doing any of that boring personal life blogging will you?</em>&#8220;, to which I would answer: &#8220;<em>No, of course not</em>&#8220;. Please note, I&#8217;ve denounced drinking on more than one occasion/morning, and we all know that wagon skipped town long before I got a chance to hop on (&#8220;<em>You&#8217;ll get hop-on&#8217;s</em>&#8220;). So, let me just get the relapse out of the way: <strong>I vacationed in Alaska/the Yukon and it was a hoot. </strong>Let me tell you about it.</p>
<p>Let&#8217;s talk a little about our group (we were in a tour group, just like the original Alaskan explorers!). First off, we had the venerable Scott, the twenty something law student leading the charge. With the single exception of some lovely young ladies from Chattanooga, mostly everyone in the tour was old and boring. No offense to old and/or boring people, of course. Who am I kidding, you don&#8217;t use the internet anyways.</p>
<p>Though we did stop at every expansive view, where we would all topple out of the bus, the majority of our time was spent riding a bus. I won&#8217;t elaborate.</p>
<p>Because lists are easily digested, let&#8217;s just list the things we did by the order of coolness:</p>
<ol>
<li><strong>Plane ride over glaciers. </strong>This was just good ol&#8217; fashioned awesome. You really have no idea what you are dealing with when it comes to the great white north until you see it from the sky. Really. <a href="http://www.flickr.com/photos/helmigfamily/3600149850/">Just look</a>.</li>
<li><strong>Kyle&#8217;s first three (legal?) beers</strong>. They seem to grow up so fast! Especially when you cross a border where the drinking age is lower&#8230;</li>
<li><strong>White water rafting in the Nenana river.</strong> This was very cool too. I&#8217;m man enough to admit I was the only white water virgin on the raft that day. Good thing the Tennessee family went with my little brother and I, otherwise we&#8217;d had been the only two in the raft.</li>
<li><strong>Old junk at the gold dredge</strong>. I&#8217;m a sucker for rustic like junk artifacts (read: not trash). I just love taking photos of old equipment because it&#8217;s <a href="http://www.flickr.com/photos/helmigfamily/3599366745/">so</a> <a href="http://www.flickr.com/photos/helmigfamily/3609279373/">freaking</a> <a href="http://www.flickr.com/photos/helmigfamily/3599367743/">cool</a>. It is also easy to do and makes me feel like a big-boy photographer.</li>
<li><strong>Panning for gold. </strong>Though I didn&#8217;t find much, my little brother found a little. So did my parents. <a href="http://www.flickr.com/photos/helmigfamily/3599368551/">About $30&#8217;s worth combined</a>.</li>
</ol>
<p>You can check out our entire <a href="http://www.flickr.com/photos/helmigfamily/">Helmig Family</a> Flickr photostream for the photos, we&#8217;ll be adding them regularly. Not sure if any of the tour members will ever run across this, but if you do, drop a comment and say hi!</p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/yukon-ho-a-retrospective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s J.am &#8211; Collaborative Music</title>
		<link>http://bryanhelmig.com/lets-jam-collaborative-music/</link>
		<comments>http://bryanhelmig.com/lets-jam-collaborative-music/#comments</comments>
		<pubDate>Sun, 03 May 2009 05:36:45 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[creation]]></category>
		<category><![CDATA[jam]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=162</guid>
		<description><![CDATA[Just this weekend, I launched my take on collaborative music online. I am sure there are already sites out there that do this, but I wanted to focus on the layering concept of creating music with a multitrack editor. Anyone who&#8217;s ever recorded with a single microphone knows the process of layering subsequent tracks well. [...]]]></description>
			<content:encoded><![CDATA[<p>Just this weekend, I launched my take on <a href="http://letsj.am/">collaborative music online</a>. I am sure there are already sites out there that do this, but I wanted to focus on the layering concept of creating music with a multitrack editor. Anyone who&#8217;s ever recorded with a single microphone knows the process of layering subsequent tracks well. You start with a click track or something similar and build up from that, one layer at a time.</p>
<p>I really think that this process opens up a ton of new possibilities in music creation by allowing people from all musical backgrounds to share and mix increasingly unique songs. We even provide the <a href="http://letsj.am/samples/">free drum samples</a> if you can provide the beats.</p>
<p>It&#8217;s 100% free and you can check it out at <a href="http://letsj.am/">http://letsj.am</a>. I encourage you to log in and post a few tracks or layers yourself. There&#8217;s also a tutorial/wiki if you want to learn a little about the process. Feel free to leave a comment or suggestion here, or drop me a message.</p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/lets-jam-collaborative-music/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Center of Gravity Calculation / Calculator</title>
		<link>http://bryanhelmig.com/center-of-gravity-calculation/</link>
		<comments>http://bryanhelmig.com/center-of-gravity-calculation/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 02:11:49 +0000</pubDate>
		<dc:creator>Bryan</dc:creator>
				<category><![CDATA[Help]]></category>
		<category><![CDATA[center of gravity]]></category>
		<category><![CDATA[location strategy]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[x-y]]></category>

		<guid isPermaLink="false">http://bryanhelmig.com/?p=161</guid>
		<description><![CDATA[So I&#8217;m doing homework, and this center of gravity thing is pretty cool. In Location Strategy they use it to find the best location for stores and such on an X-Y plane with points that have certain weights or populations. &#8220;Well that&#8217;s neat,&#8221; I thought to myself. &#8220;I&#8217;ll make a little calculator using AJAX and [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m doing homework, and this <em>center of gravity </em>thing is pretty cool. In <em>Location Strategy</em> they use it to find the best location for stores and such on an X-Y plane with points that have certain weights or populations. &#8220;Well that&#8217;s neat,&#8221; I thought to myself. &#8220;I&#8217;ll make a little calculator using AJAX and PHP.&#8221; Because I really have nothing better to do.</p>
<p>It&#8217;s a pretty simple center of gravity calculator, just put in the weights first, seperated by comma&#8217;s, then the X coordinates and finally the Y coordinates. You should have the same number of each, if not, well, it&#8217;s just wrong. You should get two numbers back, these are the <strong>(X,Y)</strong> coordinates of the perfect center of gravity.</p>
<p style="padding-bottom:8px;border-bottom:1px dotted #ccc;">Enjoy my fancy &#8220;Center of Gravity Calculator&#8221; that I<strong> wasted</strong> 25 minutes minutes creating.</p>
]]></content:encoded>
			<wfw:commentRss>http://bryanhelmig.com/center-of-gravity-calculation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
