<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>DevChix</title>
	
	<link>http://www.devchix.com</link>
	<description>Boys can't have all the fun</description>
	<pubDate>Wed, 17 Feb 2010 14:44:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Devchix" /><feedburner:info uri="devchix" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Remote Pair-Programming</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/UQUmPMgdNro/</link>
		<comments>http://www.devchix.com/2010/02/11/remote-pair-programming/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 19:16:00 +0000</pubDate>
		<dc:creator>Nola</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Apprenticeship]]></category>

		<category><![CDATA[Design process]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Testing]]></category>

		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=479</guid>
		<description><![CDATA[Seems like Pair Programming is &#8220;all the rage&#8221; lately in my circles. I haven&#8217;t exactly done it before but after hearing about the success and rapid knowledge growth amongst those that pair program&#8230;I was almost dying to try it! Especially after i saw David Chelimsky and Corey Haines at WindyCityRails in Sept 2009. I saw [...]]]></description>
			<content:encoded><![CDATA[<p>Seems like Pair Programming is &#8220;all the rage&#8221; lately in my circles. I haven&#8217;t exactly done it before but after hearing about the success and rapid knowledge growth amongst those that pair program&#8230;I was almost dying to try it! Especially after i saw <a href="http://davidchelimsky.net/">David Chelimsky</a> and <a href="http://coreyhaines.com">Corey Haines</a> at <a href="http://www.windycityrails.com">WindyCityRails</a> in Sept 2009. I saw them pair and do BDD with Rspec/Cucumber and it was so fascinating, It was like I was watching a ballet as they hopped from RSpec to Cucumber and back and forth. I was like, wow&#8230;I wish I was that good! I would have paid good money for a recording of that so I could watch it again and again! I  see <a href="http://coreyhaines.com">Corey Haines</a> traveling around pairing with people too. Some people get together and play cards, but Corey gets together to code!</p>
<p>So ok, I like code, I like people, I want to try it! I live a little south of Chicago so its a long commute and it seemed everyone was so busy to pair in person when I asked. I asked on Devchix mailing list for suggestions on how to do pairing online. I had found a few, and the group had some good suggestions. I even had a volunteer to try it with me! This week <a href="http://edendevelopment.co.uk/blogs/aimee/">aimee</a> and I set a few hours aside to try it and see if we could do it!</p>
<p>This article was also sort of &#8220;paired&#8221; as it was written from my perspective with input and suggestions from <a href="http://edendevelopment.co.uk/blogs/aimee/">aimee</a>!</p>
<p>We asked on Devchix mailing list for suggestions on how to do pairing online. I had found a few, and the group had some good suggestions. I even had a volunteer to try it with me! This week <a href="http://edendevelopment.co.uk/blogs/aimee/">aimee</a> and I set a few hours aside to try it and see if we could do it!</p>
<p>After introductions on Skype we set about getting a shared environment in which to code together. Ideally, we wanted some kind of desktop sharing so we could run tests, console and editor.</p>
<p>We had heard of a few tools and got suggestions from the devchix list:</p>
<p>IChat desktop sharing - we couldn&#8217;t get this to work, we did different things and it would appear to connect but then it failed. I tried to mess with settings for Sharing on mac, but nothing doing.</p>
<p><a href="http://www.ordcamp.com/Home/session-ideas-2010/real-time-collaborative-apps-with-rio">Rio</a> seems to be a library to make collaborative apps, not to use in a pair programming environment.</p>
<p><a href="http://bespin.mozilla.com">BeSpin</a> was hard to use.. we couldn&#8217;t figure out exactly how to use it. It almost seemed to offer to import the git repository we were working on, but then it said it only supports Subversion and Mercurial, not git.</p>
<p><a href="http://www.subethaedit.net/">SubEthaEdit</a> worked but we would have to open each file individually and share each file&#8230;  unless I was missing something. This would be fine for collaborating on a single file but then we could not share the test runs, terminal commands or view the browser together.</p>
<p><a href="http://etherpad.com">Etherpad</a> - we didn&#8217;t end up trying this but I have used it before to debug some code or try out ideas with a friend. They recently got bought by Google, so it would be interesting to see what they do with it. This would suffer the same limitations as SubEthaEdit in that it&#8217;s just a text editor.</p>
<p><a href="http://gotomeeting.com">GoToMeeting</a> (which is $40-50/month) its a little steep for the open source work I want to do. But people say it works really well.</p>
<p><a href="http://borderstylo.com/posts/24-pair-programming-remotely">VNC and Unix Screen</a> - <a href="http://edendevelopment.co.uk/blogs/aimee/2010/01/06/remote-trio-programming/">aimee had used this successfully before</a> but since we weren&#8217;t on the same network, just our laptops at home, we weren&#8217;t sure it how we could make it work easily.</p>
<p>Then we came to <a href="http://www.teamviewer.com">TeamViewer</a> which worked brilliantly! We shared desktop and I could type in aimee&#8217;s console window, see the tests running and type in textmate. Even with aimee on her Dvorak keyboard and I on Qwerty! I could type fine but couldn&#8217;t copy/paste with keyboard shortcuts so I used the mouse to copy/paste and it worked fine.</p>
<p>All in all, it was an awesome experience and I picked up on a few tidbits of knowledge from aimee on git, and rake! I had some bits of code from another project i was able to quickly copy/paste and get us rolling. We had a few discussions about coding style as we went.</p>
<p>Since  <a href="http://edendevelopment.co.uk/blogs/aimee/">aimee</a> was more familiar with the codebase, she mainly wrote the behavioral specs and I wrote the code to satisfy them. We plan to switch around next time, when we pair on a different project that I&#8217;ve been developing for a while.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=UQUmPMgdNro:HmeRA92lNv4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UQUmPMgdNro:HmeRA92lNv4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=UQUmPMgdNro:HmeRA92lNv4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UQUmPMgdNro:HmeRA92lNv4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=UQUmPMgdNro:HmeRA92lNv4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UQUmPMgdNro:HmeRA92lNv4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UQUmPMgdNro:HmeRA92lNv4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=UQUmPMgdNro:HmeRA92lNv4:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2010/02/11/remote-pair-programming/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2010/02/11/remote-pair-programming/</feedburner:origLink></item>
		<item>
		<title>Book Review: “Refactoring in Ruby”</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/L93pQ95aeQ4/</link>
		<comments>http://www.devchix.com/2010/01/04/book-review-refactoring-in-ruby/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 00:28:15 +0000</pubDate>
		<dc:creator>Nola</dc:creator>
		
		<category><![CDATA[Book]]></category>

		<category><![CDATA[Design process]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[Introductions]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Testing]]></category>

		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=472</guid>
		<description><![CDATA[&#8220;Refactoring in Ruby&#8221; written by William C. Wake and Kevin Rutherford.
Published by Addison-Wesley
This is more like a &#8220;workbook&#8221; then a &#8220;how to write awesome code&#8221; book. You can download the code from github http://github.com/kevinrutherford/rrwb-code and you will find tests/specs for the exercises.
The book is arranged in three parts, The Art of Refactoring, Code Smells, and [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Refactoring in Ruby&#8221; written by William C. Wake and Kevin Rutherford.<br />
Published by Addison-Wesley</p>
<p>This is more like a &#8220;workbook&#8221; then a &#8220;how to write awesome code&#8221; book. You can download the code from github http://github.com/kevinrutherford/rrwb-code and you will find tests/specs for the exercises.</p>
<p>The book is arranged in three parts, The Art of Refactoring, Code Smells, and Programs to Refactor.</p>
<p>There are explanations of &#8220;code smells&#8221; which are one characteristic of code that could be improved. Some of them are long parameter lists, unnecessarily complex, global variable, feature envy sections, etc. One thing I find interesting is the &#8220;How did it get this way?&#8221; section. It gives some insight into the thought process and reasoning behind the smell. I think this is good, as programmers our ego may be rather miffed to hear &#8220;This code stinks&#8221; but with some reasoning, it makes the pain less and I think firms up in our minds when this happens again, to do it this other way. I always want to know why when someone says I could do such and such thing better.</p>
<p>In addition to the code smell examples there are three programs to refactor in the end of the book. In a conversational tone, it walks through and gives some hints on what needs refactoring. Its almost as if you had a pair programming buddy working with you and identifying in small chunks what can be improved. This is definitely something I want to work through more carefully.</p>
<p>What I find odd, is that not all the code smells have code examples. The inspiration for the book I think is the Martin Fowler book &#8220;Refactoring Improving the design of Existing Code&#8221; which has examples for every code smell. Maybe Ruby smells less than Java? Or those fixes are really trivial? I don&#8217;t know. Overall, this is a great book and is certainly worth the price and investment and you will be a better programmer because of it!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=L93pQ95aeQ4:-01EBphPzX8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=L93pQ95aeQ4:-01EBphPzX8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=L93pQ95aeQ4:-01EBphPzX8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=L93pQ95aeQ4:-01EBphPzX8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=L93pQ95aeQ4:-01EBphPzX8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=L93pQ95aeQ4:-01EBphPzX8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=L93pQ95aeQ4:-01EBphPzX8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=L93pQ95aeQ4:-01EBphPzX8:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2010/01/04/book-review-refactoring-in-ruby/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2010/01/04/book-review-refactoring-in-ruby/</feedburner:origLink></item>
		<item>
		<title>She’s Geeky 2010 Bay Area, Jan 29-31</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/MoDMSJ2ZnN4/</link>
		<comments>http://www.devchix.com/2009/12/15/shes-geeky-2010-bay-area-jan-29-31/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 17:01:17 +0000</pubDate>
		<dc:creator>gloriajw</dc:creator>
		
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=470</guid>
		<description><![CDATA[She&#8217;s Geeky is my favorite stateside women&#8217;s tech event. It is a great opportunity to network, learn about other women&#8217;s projects and ideas, and test the viability of some of these ideas against receptive VCs. It&#8217;s also a great  un-conference environment. It is low-key, entirely attendee-drivien, and will be whatever you all make it. [...]]]></description>
			<content:encoded><![CDATA[<p>She&#8217;s Geeky is my favorite stateside women&#8217;s tech event. It is a great opportunity to network, learn about other women&#8217;s projects and ideas, and test the viability of some of these ideas against receptive VCs. It&#8217;s also a great  un-conference environment. It is low-key, entirely attendee-drivien, and will be whatever you all make it. I was thoroughly impressed with this conference, now hosted multiple times a year throughout the country, each with it&#8217;s own regional twist. It can be a great place to find your next job, start your next dream project, or simply be inspired by others who are doing so. </p>
<p>Early registration ends Friday. Go <a href="http://shesgeeky.org/">here</a> for details.</p>
<p>Gloria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=MoDMSJ2ZnN4:NxIDCj_htj4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=MoDMSJ2ZnN4:NxIDCj_htj4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=MoDMSJ2ZnN4:NxIDCj_htj4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=MoDMSJ2ZnN4:NxIDCj_htj4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=MoDMSJ2ZnN4:NxIDCj_htj4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=MoDMSJ2ZnN4:NxIDCj_htj4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=MoDMSJ2ZnN4:NxIDCj_htj4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=MoDMSJ2ZnN4:NxIDCj_htj4:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/12/15/shes-geeky-2010-bay-area-jan-29-31/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/12/15/shes-geeky-2010-bay-area-jan-29-31/</feedburner:origLink></item>
		<item>
		<title>How rails has changed how I seek for a job</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/eugISEVXwp4/</link>
		<comments>http://www.devchix.com/2009/12/10/how-rails-has-changed-how-i-seek-for-a-job/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 02:59:06 +0000</pubDate>
		<dc:creator>narwen</dc:creator>
		
		<category><![CDATA[People]]></category>

		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[Thoughts]]></category>

		<category><![CDATA[Tips and Tricks]]></category>

		<category><![CDATA[job]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=461</guid>
		<description><![CDATA[For nine years, I have developed for the web. Over the years I&#8217;ve programmed in C, C++, Python, Java, ASP, PHP, Perl, and most recently, Ruby.
Since my first job as a developer, I&#8217;ve never looked for a new job: all of my job transitions have come through friends or co-workers.
In mid 2007 I was happy [...]]]></description>
			<content:encoded><![CDATA[<p>For nine years, I have developed for the web. Over the years I&#8217;ve programmed in C, C++, Python, Java, ASP, PHP, Perl, and most recently, Ruby.<br />
Since my first job as a developer, I&#8217;ve never looked for a new job: all of my job transitions have come through friends or co-workers.</p>
<p>In mid 2007 I was happy working with Perl. One day a friend told me about a Ruby on Rails job. Back in 2007, Rails developers in Brazil were rare. Because of that, the employer was seeking someone who fit the company instead of someone with Rails experience. That was great for me!</p>
<p>After a pleasant summer, the new job&#8217;s charm wore off and I decided that I wanted to move on but continue to program with Rails. Finally, I left my job.</p>
<p>When I started to send out resumes I soon realized that Rails&#8217; culture fundamentally changed the way that a Rails job search functioned. In addition to the traditional resume or CV, Rails jobs demanded to know about Working With Rails, LinkedIn, GitHub, Twitter, personal blogs and sites, discussion forum posts, participation in open source projects, and a multitude of other online presences. These new demands made me realize that I hadn&#8217;t been cultivating a comprehensive web presence, which is not uncommon for female programmers, in my experience.</p>
<p>At first, this realization was disturbing. Though it&#8217;s still possible to get a Rails job without a vast web presence, I was upset to realize that I hadn&#8217;t been adhering to this best practice. It was particularly jarring the first time I was unable to answer these questions to potential employer.<br />
The practice of software development as a craft is constantly reinventing itself and this includes the processes around job seeking and reputation building. Despite all of the hours, projects, languages, and jobs I&#8217;ve previously invested in, I now realize that I need to adapt to this new developer reality of being social and visible with my work in order to win back my standing as a desirable developer and potential candidate for a Rails position. The details of how I&#8217;ll implement that strategy will be the subject of an upcoming post, but I look forward to the possibilities ahead.</p>
<p>To read in <a href="http://tcamilo.wordpress.com/2009/12/03/como-rails-mudou-a-forma-de-procurar-emprego/" target="_blank">portuguese</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=eugISEVXwp4:S0tz5YejVsw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=eugISEVXwp4:S0tz5YejVsw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=eugISEVXwp4:S0tz5YejVsw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=eugISEVXwp4:S0tz5YejVsw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=eugISEVXwp4:S0tz5YejVsw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=eugISEVXwp4:S0tz5YejVsw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=eugISEVXwp4:S0tz5YejVsw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=eugISEVXwp4:S0tz5YejVsw:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/12/10/how-rails-has-changed-how-i-seek-for-a-job/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/12/10/how-rails-has-changed-how-i-seek-for-a-job/</feedburner:origLink></item>
		<item>
		<title>PyCon 2010 Financial Assistance Grant for Women</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/CEAJQGRo9Es/</link>
		<comments>http://www.devchix.com/2009/12/03/pycon-2010-financial-assistance-grant-for-women/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 19:59:12 +0000</pubDate>
		<dc:creator>gloriajw</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=452</guid>
		<description><![CDATA[I am happy as hell to announce that this grant exists. The deadline is Dec. 18th, and I strongly encourage you to apply. 
http://us.pycon.org/2010/registration/financial-aid/
This conference gets a bit bigger each year, but the organizers make a great effort to keep the small conference feel. It also has many level-100 tutorials, and is both socially and [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy as hell to announce that this grant exists. The deadline is Dec. 18th, and I strongly encourage you to apply. </p>
<p><a href="http://us.pycon.org/2010/registration/financial-aid/">http://us.pycon.org/2010/registration/financial-aid/</a></p>
<p>This conference gets a bit bigger each year, but the organizers make a great effort to keep the small conference feel. It also has many level-100 tutorials, and is both socially and technically welcoming for py-newbies. </p>
<p>Open space sessions (everything from software development to Settlers) and poster sessions happen every night, tutorials run two days prior, and code sprints run for a few days after the conference. It promises to be a great learning and social experience you should not miss. </p>
<p>I am reserving a room and sharing it: <a href="http://us.pycon.org/2010/registration/room_sharing/">http://us.pycon.org/2010/registration/room_sharing/</a><br />
I&#8217;ll room with as many as possible, to cut costs for everyone. Bring a sleeping bag :)</p>
<p>See you there,</p>
<p>Gloria</p>
<p><ins datetime="2009-12-04T03:30:19+00:00"></ins><img alt="" src="http://www.processmechanics.com/media/pycon2010/tutorial-pycon2010-250x40.png" width="250" height="40" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=CEAJQGRo9Es:BVnv9FsxHbU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=CEAJQGRo9Es:BVnv9FsxHbU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=CEAJQGRo9Es:BVnv9FsxHbU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=CEAJQGRo9Es:BVnv9FsxHbU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=CEAJQGRo9Es:BVnv9FsxHbU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=CEAJQGRo9Es:BVnv9FsxHbU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=CEAJQGRo9Es:BVnv9FsxHbU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=CEAJQGRo9Es:BVnv9FsxHbU:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/12/03/pycon-2010-financial-assistance-grant-for-women/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/12/03/pycon-2010-financial-assistance-grant-for-women/</feedburner:origLink></item>
		<item>
		<title>Google Web Toolkit, 2.0</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/y4yTr4leoTA/</link>
		<comments>http://www.devchix.com/2009/11/29/google-web-toolkit-20/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 22:21:42 +0000</pubDate>
		<dc:creator>Nola</dc:creator>
		
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=433</guid>
		<description><![CDATA[Our life basically lives on the web, the web is the platform! One of the advantages of creating your web application in GWT is it is pure html/javascript/css and the user doesn&#8217;t need to install a plugin to use your app! It is easily viewed on most smart phones as well. It compiles to each [...]]]></description>
			<content:encoded><![CDATA[<p>Our life basically lives on the web, the web is the platform! One of the advantages of creating your web application in GWT is it is pure html/javascript/css and the user doesn&#8217;t need to install a plugin to use your app! It is easily viewed on most smart phones as well. It compiles to each browser making it more efficient than using alot of if/else statments to build code for the particular browser you are using. It standardizes the method you use to make your app, no more studying the nuances and ripping your hair out over tiny browsers quirks. GWT 2.0 which is scheduled for release this fall has some great new features that I am finding to make GWT more flexible and easy to maintain.</p>
<p><strong>Get GWT Trunk</strong><br />
The 2.0 features talked about here are in trunk and building it yourself is fairly straight forward.</p>
<ol>
<li> If you don&#8217;t already have it, get the latest version of eclipse - Galileo, with the Google plugin.<br />
http://code.google.com/eclipse/</p>
<li>Checkout the source code<br />
Follow the <a href="http://code.google.com/webtoolkit/makinggwtbetter.html#workingoncode">instructions</a> on the GWT homepage, its pretty good.<br />
Make sure you have ant installed. It takes awhile, i think maybe 20 mins or so on my macbook.</p>
<li>Setup the API directory in the Preferences for GWT<br />
In eclipse, add the new version of GWT library.</p>
<p>Go to Eclipse > Preferences.<br />
 Find the Google Web Toolkit on the left.  Click add, add the path to the compile files like so:<br />
~/gwt/trunk/build/lib<br />
I named it &#8220;trunk&#8221;</p>
<li>Create project<br />
Create a new Web Application Project, select &#8220;trunk&#8221; (or whatever you named it in the previous step) as the version of GWT to use.
</ol>
<p>The most interesting things in 2.0 is the UiBinder and UiHandler. </p>
<p><strong>Using UiBinder</strong><br />
Usually for each element on the page you need to do something like this</p>
<p><code><br />
CheckBox box = new CheckBox("this is the label for the checkbox");<br />
box.setFormValue = "3";</p>
<p>Panel verticalPanel = new VerticalPanel();<br />
panel.add(box);<br />
</code></p>
<p>If you have alot of elements on the page, that comes out to alot of java code. And you might start wondering if you are writing a Swing app or a web app?!?</p>
<p>in UiBinder, we can can put it in a XML file like:</p>
<p><code><br />
&lt;ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'<br />
                    xmlns:g='urn:import:com.google.gwt.user.client.ui'&gt;<br />
  &lt;g:VerticalPanel&gt;<br />
    &lt;g:CheckBox ui:field="rubyCheck" formValue="ruby"&gt;Ruby&lt;/g:CheckBox&gt;<br />
  &lt;/g:VerticalPanel&gt;<br />
&lt;/ui:UiBinder&gt;<br />
</code></p>
<p>Typically any attribute you can use in the java code like setName, setFormValue, setStyleName you can add right in the xml as attribute=&#8221;"</p>
<p>You can reference your objects from the xml like so:<br />
<code><br />
public class LanguageList extends Composite {<br />
  interface MyUiBinder extends UiBinder&lt;Widget, LanguageList&gt; {}<br />
  private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);<br />
  @UiField CheckBox rubyCheck;<br />
  public LanguageList() {<br />
      // bind XML file of same name to this class<br />
      initWidget(uiBinder.createAndBindUi(this));<br />
      // use rubyCheck as if you had defined it already with new<br />
      rubyCheck.setStyleName("rubyCheckStyle");<br />
  }<br />
}<br />
</code><br />
Note you have to bind the xml to the java code with:<br />
<code><br />
  interface MyUiBinder extends UiBinder&lt;Widget, LanguageList&gt; {}<br />
  private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);<br />
</code><br />
This process is called deferred binding. This may be familar to java programmers already but My background is LAM(P|P|R) programming so I am still trying to fully understand it myself! GWT homepage explains it here: http://code.google.com/webtoolkit/doc/1.6/FAQ_Client.html#Deferred_Binding</p>
<p><strong>Using UiHandler</strong></p>
<p>Typically, event handlers are written as such:</p>
<p><code><br />
// add button and handler to alert the values of checkboxes<br />
button.addClickHandler(new ClickHandler() {<br />
   public void onClick(ClickEvent event) {<br />
     String output = "";<br />
     for(CheckBox box : boxes) {<br />
       if (box.getValue()) {<br />
           output += box.getFormValue() + ", ";<br />
       }<br />
     }<br />
     Window.alert("You checked: "+ output);<br />
   }<br />
});<br />
</code><br />
Instead of having the click handler specified in the java method, you can attach it via an annotation:</p>
<p><code><br />
@UiHandler("languageButton")<br />
  void doClick(ClickEvent event) {<br />
      String output = "";<br />
         for(CheckBox box : boxes) {<br />
          if (box.getValue()) {<br />
              output += box.getFormValue() + ", ";<br />
          }<br />
      }<br />
      Window.alert("You checked: "+ output);<br />
 }<br />
 </code></p>
<p>Sweet, huh? I think it cleans up the code nicely and gets the job done!</p>
<p>Go compile the Trunk version of GWT and give it a try!</p>
<p>If you want to see the full source for a simple gwt app before and after UI Binder, I have a write up here with links to sources on github <a href="http://www.rubygeek.com/2009/10/31/gwt-20-uibinder-first-look-at-simple-example/">here</a>.</p>
<p>Resources for learning gwt that I found helpful:</p>
<p>GWT Homepage<br />
<a href="http://code.google.com/webtoolkit/">http://code.google.com/webtoolkit/</a></p>
<p>GWT Can Help You Create Amazing Web Apps<br />
<a href="http://www.youtube.com/watch?v=T0X9BcBd-I0">http://www.youtube.com/watch?v=T0X9BcBd-I0</a></p>
<p>GWT Best Practices<br />
<a href="http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html">http://code.google.com/events/io/2009/sessions/GoogleWebToolkitBestPractices.html</a></p>
<p>OnGWT - various blog posts about GWT<br />
<a href="http://www.ongwt.com/">http://www.ongwt.com/</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=y4yTr4leoTA:fT5jw6Tv7Ek:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=y4yTr4leoTA:fT5jw6Tv7Ek:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=y4yTr4leoTA:fT5jw6Tv7Ek:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=y4yTr4leoTA:fT5jw6Tv7Ek:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=y4yTr4leoTA:fT5jw6Tv7Ek:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=y4yTr4leoTA:fT5jw6Tv7Ek:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=y4yTr4leoTA:fT5jw6Tv7Ek:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=y4yTr4leoTA:fT5jw6Tv7Ek:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/11/29/google-web-toolkit-20/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/11/29/google-web-toolkit-20/</feedburner:origLink></item>
		<item>
		<title>Craftsmanship without the Man</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/7cPjZ7P-UIg/</link>
		<comments>http://www.devchix.com/2009/11/28/craftsmanship-without-the-man/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 07:47:36 +0000</pubDate>
		<dc:creator>Victoria</dc:creator>
		
		<category><![CDATA[Thoughts]]></category>

		<category><![CDATA[codesmith]]></category>

		<category><![CDATA[craftsmanship]]></category>

		<category><![CDATA[gender]]></category>

		<category><![CDATA[language]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=426</guid>
		<description><![CDATA[Recently on the Devchix mailing list, aimee brought up the software craftsmanship movement and asked whether other women felt awkward about being labeled &#8220;craftsmen.&#8221;
Some of our members were fine with it, while others said they felt alienated by the term. Beth explained that it was because of its usage in the movement—“master craftsman&#8221; is held [...]]]></description>
			<content:encoded><![CDATA[<p>Recently on the Devchix mailing list, aimee brought up the software craftsmanship movement and asked whether other women felt awkward about being labeled &#8220;craftsmen.&#8221;</p>
<p>Some of our members were fine with it, while others said they felt alienated by the term. Beth explained that it was because of its usage in the movement—“master craftsman&#8221; is held up as an ideal that everyone should aspire to, but its male bias makes it difficult for some women to relate to it.</p>
<p>We discussed alternatives like craftsperson, crafter, and artisan. After a bit of brainstorming, Tess came up with &#8220;codesmith.&#8221; Many of us were excited about this term—it has a fun and geeky vibe that captures the enthusiasm we have about our work, while having the same emphasis on creation present in &#8220;craftsman.&#8221;  While it&#8217;s certainly based on words like blacksmith, I like to think of it as more similar to wordsmith—a person who is skilled at using language to make something great.</p>
<p>As the sort of programmers who get into debates over small differences in syntax and rack our brains to come up with the most appropriate name for some variable, we know language is important. It&#8217;s a shortcut for identifying something, but over time it can create expectations and beliefs. Making changes to language can be difficult, but in the case of being inclusive to women in a women-starved field, I think it&#8217;s worth it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=7cPjZ7P-UIg:hzRRr5NGK54:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=7cPjZ7P-UIg:hzRRr5NGK54:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=7cPjZ7P-UIg:hzRRr5NGK54:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=7cPjZ7P-UIg:hzRRr5NGK54:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=7cPjZ7P-UIg:hzRRr5NGK54:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=7cPjZ7P-UIg:hzRRr5NGK54:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=7cPjZ7P-UIg:hzRRr5NGK54:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=7cPjZ7P-UIg:hzRRr5NGK54:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/11/28/craftsmanship-without-the-man/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/11/28/craftsmanship-without-the-man/</feedburner:origLink></item>
		<item>
		<title>PyArkansas: Small town, big tech!</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/FzvRxJ46bFc/</link>
		<comments>http://www.devchix.com/2009/11/21/pyarkansas-the-big-bang-in-a-small-town/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 00:54:40 +0000</pubDate>
		<dc:creator>gloriajw</dc:creator>
		
		<category><![CDATA[Django]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[People]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=413</guid>
		<description><![CDATA[Last weekend I flew out to to Little Rock, Arkansas, took a two hour crawl through a snarl of traffic, and arrived just in time for my Friday night pre-PyArkansas tutorial in Conway. Held on the stunning campus of Hendrix College, I wended my way around buildings, a massive fountain, inspiring structures, until I found [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I flew out to to Little Rock, Arkansas, took a two hour crawl through a snarl of traffic, and arrived just in time for my Friday night pre-PyArkansas tutorial in Conway. Held on the stunning campus of Hendrix College, I wended my way around buildings, a massive fountain, inspiring structures, until I found the building where my tutorial was about to happen. Standing in the foyer with the beautiful Foucault pendulum, I could not help but to stop for a moment, exclaiming &#8220;Oooo!!!!&#8221; aloud, wishing I had gotten there thirty minutes earlier. </p>
<p>My tutorial was intended to encourage women in computer science by serving two purposes: discussing the source code and functionality of a particular project, and openly discussing some of the issues they faced in their current programs and surroundings. I was pleasantly surprised to discover that these women needed no technical or social encouragement. They are already enthused, technically and socially well prepared, and on their way to a very bright future in engineering or computer science. I was pleasantly surprised that they were very comfortable in the bash shell, and as comfortable in their current college curriculum. Like children at play, they picked up the moderate-levelled tutorial code quickly, made great strides in such a short time, and had a lot of fun doing it. </p>
<p>It was profoundly encouraging to see such a small computer science program achieve diversity as well as such a high level of skill. It made me wonder why larger colleges and universities cannot accomplish the same on bigger budgets, with larger staff, and a more diverse mix of students. It touched me to hear and see the enthusiasm, eagerness, and skill of the students in this program. Their learning experience under the Department Chair, Dr. Burch, comes as close to perfect as I have ever seen. </p>
<p>The next day&#8217;s events at PyArkansas were held at the also-very-nice campus of University of Central Arkansas, where an entire day&#8217;s worth of tutorials took place. Two Python 101 tracks were held: one for programmers and one for non programmers (a great concept). An all-day Django Track was given, where the advanced course was taught by <a href="http://jacobian.org/">Jacob</a> himself. I held an afternoon tutorial addressing advanced Python concepts, with downloadable example code, where we compared and contrasted build and deployment tools, played with regex, and showed examples of some internal Python oddities involving static variables. I unfortunately missed the Python Blender tutorial, held at the same time as mine, and I heard it went quite well. </p>
<p>The campus facilities were very accomodating. Everything was well organized,and  up and running for us when we arrived. This is a very welcome surprise to anyone who has travelled a bit to do tutorials. I was specifically told by Dr. Chenyi Hu, the Department Chair of UCA, that he really does care about diversity, and it is something they strive to achieve. This was truly touching, quite impressive, and a pleasant surprise from such a small town. </p>
<p>Kudos to Greg Lindstrom, Dr. Carl Burch of Hendrix College, Dr. Chenyi Hu of UCA, and everyone else involved. You induced a big technical &#8220;tremor&#8221; through your small town, which echoed far and wide. It is yet another example of the great people drawn to the Python community, and the amount of quality effort they are willing to give back. I feel honoured to have been part of this event, and I hope to be involved in many more to come. </p>
<p>Gloria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=FzvRxJ46bFc:y0X8FXJX1U8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=FzvRxJ46bFc:y0X8FXJX1U8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=FzvRxJ46bFc:y0X8FXJX1U8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=FzvRxJ46bFc:y0X8FXJX1U8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=FzvRxJ46bFc:y0X8FXJX1U8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=FzvRxJ46bFc:y0X8FXJX1U8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=FzvRxJ46bFc:y0X8FXJX1U8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=FzvRxJ46bFc:y0X8FXJX1U8:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/11/21/pyarkansas-the-big-bang-in-a-small-town/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/11/21/pyarkansas-the-big-bang-in-a-small-town/</feedburner:origLink></item>
		<item>
		<title>Pair programming Issues</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/5rowSxX0brI/</link>
		<comments>http://www.devchix.com/2009/11/11/pair-programming-issues/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 22:07:23 +0000</pubDate>
		<dc:creator>narwen</dc:creator>
		
		<category><![CDATA[Thoughts]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[love and software]]></category>

		<category><![CDATA[pair programming]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=386</guid>
		<description><![CDATA[&#8220;Pair programming is a software development practice in which two programmers work together at one work station&#8221; http://en.wikipedia.org/wiki/Pair_programming.

I&#8217;ve worked with pair programming at just 1 company for 9 months, the results were both good and bad.
During the time when you are pairing you share your computer with another person. You also share your virtual life details, such as:


organization: how [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Pair programming is a software development practice in which two programmers work together at one work station&#8221; <a href="http://en.wikipedia.org/wiki/Pair_programming" target="_blank">http://en.wikipedia.org/wiki/Pair_programming</a>.</p>
<p><img class="alignnone size-medium wp-image-388" title="pairing" src="http://www.devchix.com/wp-content/uploads/2009/11/pairon1-300x172.jpg" alt="pairing" width="300" height="172" /></p>
<p>I&#8217;ve worked with pair programming at just 1 company for 9 months, the results were both good and bad.</p>
<p>During the time when you are pairing you share your computer with another person. You also share your virtual life details, such as:</p>
<div class="im">
<ul>
<li><em>organization</em>: how you organize your documents, projects, music, etc.</li>
<li><em>choice</em>: which applications you use and how you use it, like: themes, hotkeys and configurations.</li>
<li><em>skills</em>: typing velocity, how much you know about the application that you&#8217;re developing.</li>
</ul>
</div>
<div class="im">
<p>Off course, when these pairs get along with each other sharing information becomes productive.</p></div>
<p>The one billion dollar question is: &#8220;<strong>What happens when the pair does not get along</strong><strong>?</strong>&#8221;</p>
<p><img class="alignright size-thumbnail wp-image-391" title="not_pair" src="http://www.devchix.com/wp-content/uploads/2009/11/not_pair-150x150.jpg" alt="not_pair" width="150" height="150" /></p>
<p>If both people aren&#8217;t open to learning with from the experience, the day by day can become difficult.</p>
<p>Pair programming doesn&#8217;t work when one party feels the result could be better if the work was done alone. In this case, pair programming is an intrusive and negative experience.</p>
<p>Some people doesn&#8217;t understand this situation. To make it easier to understand I usually like to compare pair programming to driving a car and having someone beside you.</p>
<p><strong>First case: Going by a known path.</strong></p>
<div class="im">
<p>Imagine you&#8217;re going to a party, you&#8217;re driving your car and you know the way to go there. Beside you is someone, a friend or just an acquaintance.</p></div>
<div class="im">
<p>If you have some doubt how to get the place or make some mistake this person can help you, suggest a better way or street.</p>
<p>When you arrive in the party you&#8217;ve learned something or at least both of you have had a great time together.
</p></div>
<p><strong>Second case: Learning new path.</strong></p>
<div class="im">
<p>Now, imagine you&#8217;re going to another party. Beside you is another friend or acquaintance.</p>
<p>During the way you ask for some help. That person helps you as best as possible.</p>
<p>When you arrive in the party you&#8217;ve learned a good path and both had a great experience.</p></div>
<div class="im">
<p><strong>Third case: The beginning of the end.</strong></p>
<p>Now, imagine you&#8217;re going to a party, doesn&#8217;t matter if you know how to get there. Beside you have someone again.</p></div>
<p>You are driving but now this person prefers to do the driving. If you make some mistake that person says &#8220;It would be better if I was driving.&#8221; or &#8220;If I was driving it wouldn&#8217;t have happened.&#8221;. What would you do?</p>
<p>Probably both of you arrive at the party in a bad mood and will try to avoid sharing the same the car again.</p>
<p>Maybe if you were in the car a debate would start. But, during pair programming you&#8217;re in a company and some words wouldn&#8217;t and shouldn&#8217;t be said.</p>
<div class="im">
<p>Think about it, before sharing your computer with someone.<br />
<em><strong> It&#8217;s better to both if you enjoy it.</strong></em></p>
<p style="text-align: center;"><em><strong><img class="size-thumbnail wp-image-392 aligncenter" title="pairing" src="http://www.devchix.com/wp-content/uploads/2009/11/323337511_nvcrt-m-150x150.jpg" alt="pairing" width="150" height="150" /></strong></em></p>
<p style="text-align: left;">
<p style="text-align: left;"><em><strong>PS:</strong><strong><span style="font-style: normal;"> <span style="font-weight: normal;">Thank you Desi for reviewing this post. I&#8217;m a english learner and Desi have been helping me.<br />
<strong><em>PS1: </em><span style="font-weight: normal;">To read in portuguese </span></strong> <a title="tcamilo's blog" href="http://tcamilo.wordpress.com/2009/11/05/pair-programming/" target="_blank">click here</a>.</span></span></strong></em></p>
<p style="text-align: left;"><em><strong><span style="font-style: normal;"><span style="font-weight: normal;"><br />
</span></span></strong></em></p>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=5rowSxX0brI:VXtQkGOJ_rE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=5rowSxX0brI:VXtQkGOJ_rE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=5rowSxX0brI:VXtQkGOJ_rE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=5rowSxX0brI:VXtQkGOJ_rE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=5rowSxX0brI:VXtQkGOJ_rE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=5rowSxX0brI:VXtQkGOJ_rE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=5rowSxX0brI:VXtQkGOJ_rE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=5rowSxX0brI:VXtQkGOJ_rE:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/11/11/pair-programming-issues/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/11/11/pair-programming-issues/</feedburner:origLink></item>
		<item>
		<title>Satchmo: Python Storefront out-of-the-box</title>
		<link>http://feedproxy.google.com/~r/Devchix/~3/UM0BuOEafFQ/</link>
		<comments>http://www.devchix.com/2009/09/29/satchmo-python-storefront-out-of-the-box/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 16:21:59 +0000</pubDate>
		<dc:creator>gloriajw</dc:creator>
		
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.devchix.com/?p=376</guid>
		<description><![CDATA[Satchmo is turning out to be an interesting project. The first true Python contender to challenge the plethora of PHP CMS tools used for the de facto net store front, it fares quite well in the face of this challenge. .
Satchmo is based on the Django framework. More accurately, it is loosely coupled to Django [...]]]></description>
			<content:encoded><![CDATA[<p>Satchmo is turning out to be an interesting project. The first true Python contender to challenge the plethora of PHP CMS tools used for the de facto net store front, it fares quite well in the face of this challenge. .</p>
<p>Satchmo is based on the Django framework. More accurately, it is loosely coupled to Django through several external Django plugins. For example, registration functionality is extended through the django_registration external interface, installed as a separate egg in the Python distribution directory. Satchmo makes calls to this extension, leaving Django code untouched. </p>
<p>Compare this to Drupal registration changes, where source code is wedged into the existing framework, applying deep back end database schema changes, as well as code changes throughout the framework. The changes are irreversible, and if they fail, you&#8217;re SOL. Look under the hood of Drupal, and you see a tangle of database calls, auth and group checking calls, intertwined around back end logic. It&#8217;s not pretty, which is why it&#8217;s so hard to maintain and upgrade over time. </p>
<p>The Satchmo/Django coupling is not perfect. If you mismatch incompatible versions of Django plugins to Satchmo, or other applications, cryptic messages can appear  from either side, pointing back to code compiled elsewhere and placed in your Python distro. This makes it difficult to trace back, even if you vaguely know where the failure point is. </p>
<p>But this is the worst problem Satchmo has presented to me so far. I can certainly live with that, compared to digging through many chunks of Drupal framework source code and database schema backups to figure out why a recent patch broke authentication, how group permissions were changed, etc. </p>
<p>Satchmo takes full advantage of all of the juicy Django goodness that makes web framework development fun again: built-in internationalization and localization all the way down to currency handling and language choices in templates, built-in registration, email verification and customer account management, built-in form data validation, seamless form-to-database data entry.</p>
<p>This is a revolutionary, much needed improvement in the Open Source store front choices. Now all we need is an Open Source back end inventory system, and a very functional Open Source phone bank system based on Asterisk, with Python wrappers, and life would be wonderful.</p>
<p>Gloria</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Devchix?a=UM0BuOEafFQ:o1Wh59Km9JY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UM0BuOEafFQ:o1Wh59Km9JY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Devchix?i=UM0BuOEafFQ:o1Wh59Km9JY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UM0BuOEafFQ:o1Wh59Km9JY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Devchix?i=UM0BuOEafFQ:o1Wh59Km9JY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UM0BuOEafFQ:o1Wh59Km9JY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Devchix?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Devchix?a=UM0BuOEafFQ:o1Wh59Km9JY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Devchix?i=UM0BuOEafFQ:o1Wh59Km9JY:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.devchix.com/2009/09/29/satchmo-python-storefront-out-of-the-box/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.devchix.com/2009/09/29/satchmo-python-storefront-out-of-the-box/</feedburner:origLink></item>
	</channel>
</rss>
