<?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>No Name Blog &#187; python</title>
	<atom:link href="http://ebroder.net/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://ebroder.net</link>
	<description>Because all the cool names are taken</description>
	<lastBuildDate>Mon, 14 Jun 2010 03:14:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>BlueChips: Hassle-Free Apartment Finances</title>
		<link>http://ebroder.net/2010/03/09/bluechips-hassle-free-apartment-finances/</link>
		<comments>http://ebroder.net/2010/03/09/bluechips-hassle-free-apartment-finances/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 14:15:54 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[planet sipb]]></category>
		<category><![CDATA[posts]]></category>
		<category><![CDATA[apartment]]></category>
		<category><![CDATA[bluechips]]></category>
		<category><![CDATA[finance]]></category>
		<category><![CDATA[pylons]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://ebroder.net/?p=411</guid>
		<description><![CDATA[I live in a really awesome apartment. I&#8217;m living with really awesome people. And we tend to err on the side of awesome when it comes to buying stuff for the apartment. Specifically, we&#8217;re big fans of communalism &#8211; we do communal groceries, communal furniture, whatever. But all four of us are paying for stuff <a href='http://ebroder.net/2010/03/09/bluechips-hassle-free-apartment-finances/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I live in a really awesome apartment. I&#8217;m living with really awesome people. And we tend to err on the side of awesome when it comes to buying stuff for the apartment. Specifically, we&#8217;re big fans of communalism &#8211; we do communal groceries, communal furniture, whatever.</p>
<p>But all four of us are paying for stuff for all four of us, it does make keeping track of money a little tricky. The traditional solution is for everybody to stuff their receipts into a drawer, and every month you all sit down and slowly work your way through the receipts.</p>
<p>Each of us owes you $50 for your grocery run, and you owe me $20 for my grocery run.</p>
<p>It&#8217;s a painful process, and the difficulty scales super-linearly as you add more people. Even with four, it would be pretty bad.</p>
<p>Now, it turns out that programmers hate tedious tasks like that, so there&#8217;s a long history amongst my friends of programmatically solving this in various ways. When we moved into this apartment, I figured I&#8217;d try my hand at it, and <a href="http://github.com/ebroder/bluechips">BlueChips</a> is the result.</p>
<p>Since we set it up, BlueChips has been used by us and by other roommate setups to manage their expenses. We use it for tracking everything &#8211; rent, utilities, groceries, furniture, when all of us go out for dinner…</p>
<p>BlueChips has a very simple data model. There are users. A user can move money in two ways: expenditures and transfers. In an expenditure, one person spends money on behalf of a bunch of people. As a result of the expenditure, each of those people owes the spender some amount of money. BlueChips lets different people owe different amounts as the result of a single expenditure. For example, when we pay rent, each of us pays a different percentage, and BlueChips can follow that.</p>
<p>BlueChips&#8217; biggest feature, though, is its ability to calculate the transfers necessary to settle the books. When it makes this calculation it also does something we call &#8220;pushing transfers&#8221;. Let&#8217;s say Larry owes Moe $1, and Moe owes Curly $1. BlueChips can &#8220;push&#8221; the $1 through, and will tell you that, to settle the books, Larry should give Curly $1.</p>
<p>If you&#8217;re still confused, or just want to see what the app looks like, I have a demo instance running at <a href="http://demo.bluechi.ps"> http://demo.bluechi.ps</a>.</p>
<p>The software&#8217;s been around for a year, and it&#8217;s been open-source for most of that time, but I&#8217;ve never quite gotten around to putting a finishing coat of polish on it and getting it into a form that other people can use it.</p>
<p>When I lived with <a href="http://www.scotttorborg.com/">Scott Torborg</a> and some other friends over the summer, we used BlueChips again for handling finances. Scott decided to put some of that polishing effort into BlueChips, and I have him to thank for all of the styling, excellent test coverage, and the iPhone interface, along with innumerable other tweaks.</p>
<p>I finally coded up the last big feature that BlueChips was missing: the ability to add new users without directly interacting with the database.</p>
<p>And so today I&#8217;m pleased to announce that I&#8217;ve <a href="http://github.com/ebroder/bluechips/tree/1.0.0">tagged</a> and <a href="http://pypi.python.org/pypi/BlueChips/1.0.0">released</a> a version 1.0.0 of BlueChips.</p>
<p>BUT WAIT! THERE&#8217;S MORE!</p>
<p>For those of you MIT folks, I&#8217;ve worked with the <a href="http://scripts.mit.edu">scripts.mit.edu</a> team to provide a Scripts autoinstaller. To install BlueChips, you can run the following commands from any Athena workstation:</p>
<blockquote><pre>dr-wily:~ broder$ add blue-sun
dr-wily:~ broder$ scripts-bluechips</pre>
</blockquote>
<p>Please remember that this is <strong>not</strong> a Scripts-managed autoinstaller. If you run into any problems, like it says, please let me know at <a href="mailto:bluechips@mit.edu">bluechips@mit.edu</a>.</p>
<p>And if you find BlueChips to be missing a feature you want, please feel free to write it yourself! In general, I don&#8217;t expect to have a lot of time going forward for new feature development, but I&#8217;m more than willing to review contributions from others. It&#8217;s my hope that the community can pick up my slack and keep BlueChips moving forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://ebroder.net/2010/03/09/bluechips-hassle-free-apartment-finances/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spam, Eggs, Bacon, Sausage, and Spam</title>
		<link>http://ebroder.net/2009/01/14/spam-eggs-bacon-sausage-and-spam/</link>
		<comments>http://ebroder.net/2009/01/14/spam-eggs-bacon-sausage-and-spam/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 17:01:23 +0000</pubDate>
		<dc:creator>evan</dc:creator>
				<category><![CDATA[posts]]></category>
		<category><![CDATA[iap]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sipb]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://ebroder.net/?p=245</guid>
		<description><![CDATA[Last year I taught SIPB&#8217;s IAP Introduction to Python class. It was a really good experience, so I decided to do it again this year, and last night was the first class. But with Mystery Hunt coming up and other things having my focus, I didn&#8217;t really start prepping for the class until the day <a href='http://ebroder.net/2009/01/14/spam-eggs-bacon-sausage-and-spam/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Last year I taught SIPB&#8217;s IAP Introduction to Python class. It was a really good experience, so I decided to do it again this year, and last night was the first class. But with Mystery Hunt coming up and other things having my focus, I didn&#8217;t really start prepping for the class until the day of.</p>
<p>Apparently Python is trendy these days! I was in a room that seats 65 or so people, and there were lots of people sitting in the aisles.</p>
<p>In spite of being somewhat intimidated by the large audience, and struggling to hit my stride during the beginning of the talk, I think I did a much better job this year once I actually started covering linguistic constructs. In spite of not spending a lot of time preparing this year, I had good notes for the first lecture from last year. But more importantly, I felt like I knew Python better, which really made the difference. I thought that my discussion was more focused, more concise, and more clear.</p>
<p>The room was an impressive mix of skill levels &#8211; several people who had never programmed and a few people who had clearly been doing it for years. Both groups asked very good questions as well.</p>
<p>Hopefully I&#8217;ll get to spend more time preparing for the next class, because my notes from last year get worse as I get further into the class.</p>
]]></content:encoded>
			<wfw:commentRss>http://ebroder.net/2009/01/14/spam-eggs-bacon-sausage-and-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

