<?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:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"> <channel><title>Robert Shedd</title> <link>http://blog.shedd.us</link> <description>Blogging about the business, technology, and life of startups</description> <lastBuildDate>Sun, 02 Dec 2012 22:53:51 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5.1</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Robert" /><feedburner:info uri="robert" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>40.026626</geo:lat><geo:long>-75.223118</geo:long><feedburner:emailServiceId>Robert</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>BetDash wins EGR’s Innovation in Gaming Award</title><link>http://feedproxy.google.com/~r/Robert/~3/TEWzqolNgC4/</link> <comments>http://blog.shedd.us/betdash-wins-egrs-innovation-in-gaming-award/#comments</comments> <pubDate>Sun, 02 Dec 2012 22:53:51 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[betdash]]></category> <category><![CDATA[paddypower]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944956</guid> <description><![CDATA[Last week, at the EGaming Review 2012 Operator Awards, BetDash took home the Innovation in Gaming award. Presented to the company with the most disruptive innovation, the award is a great testament to the contributions of everyone on the BetDash team and within the Paddy Power organization. Three years ago, we had an early prototype, [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fbetdash-wins-egrs-innovation-in-gaming-award%2F' data-shr_title='BetDash+wins+EGR%27s+Innovation+in+Gaming+Award'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p><a
href="http://cdn.blog.shedd.us/wp-content/uploads/2012/12/EGR-Winning.jpg"><img
class="alignleft size-thumbnail wp-image-374944957" title="BetDash - Winner of EGR's Innovation in Gaming award" src="http://cdn.blog.shedd.us/wp-content/uploads/2012/12/EGR-Winning-150x150.jpg" alt="" width="150" height="150" /></a></p><p>Last week, at the EGaming Review 2012 Operator Awards, <a
href="http://www.betdash.com">BetDash</a> took home the <a
href="http://www.egrmagazine.com/event/events/event_page/egr_operator_awards_2012_winners/event/egr_operator_awards_2012">Innovation in Gaming award</a>. Presented to the company with the most disruptive innovation, the award is a great testament to the contributions of everyone on the BetDash team and within the Paddy Power organization.</p><p>Three years ago, we had an early prototype, some grand visions, but very little background in what is a huge industry outside of the US. Now we are poised to disrupt a part of that industry. Lots of exciting potential for BetDash!</p><div
class="shr-publisher-374944956"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=TEWzqolNgC4:etkbJr17j8U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=TEWzqolNgC4:etkbJr17j8U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=TEWzqolNgC4:etkbJr17j8U:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=TEWzqolNgC4:etkbJr17j8U:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=TEWzqolNgC4:etkbJr17j8U:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/TEWzqolNgC4" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/betdash-wins-egrs-innovation-in-gaming-award/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://blog.shedd.us/betdash-wins-egrs-innovation-in-gaming-award/</feedburner:origLink></item> <item><title>Amazing experiment by One Laptop Per Child</title><link>http://feedproxy.google.com/~r/Robert/~3/v0ymvtg863E/</link> <comments>http://blog.shedd.us/amazing-experiment-by-one-laptop-per-child/#comments</comments> <pubDate>Mon, 05 Nov 2012 10:06:06 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[link]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944954</guid> <description><![CDATA[Just to give you a sense of what these villages in Ethiopia are like, the kids (and most of the adults) there have never seen a word. No books, no newspapers, no street signs, no labels on packaged foods or goods. &#8220;We left the boxes in the village. Closed. Taped shut. No instruction, no human [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Famazing-experiment-by-one-laptop-per-child%2F' data-shr_title='Amazing+experiment+by+One+Laptop+Per+Child'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><blockquote><p>Just to give you a sense of what these villages in Ethiopia are like, the kids (and most of the adults) there have never seen a word. No books, no newspapers, no street signs, no labels on packaged foods or goods.</p><p><em>&#8220;We left the boxes in the village. Closed. Taped shut. No instruction, no human being. I thought, the kids will play with the boxes! Within four minutes, one kid not only opened the box, but found the on/off switch. He&#8217;d never seen an on/off switch. He powered it up. Within five days, they were using 47 apps per child per day. Within two weeks, they were singing ABC songs [in English] in the village. And within five months, they had hacked Android. Some idiot in our organization or in the Media Lab had disabled the camera! And they figured out it had a camera, and they hacked Android.&#8221;</em></p></blockquote><p><strong><a
href="http://dvice.com/archives/2012/10/ethiopian-kids.php">Ethiopian kids hack OLPCs in 5 months with zero instruction</a></strong></p><p>Originally from <a
href="http://www.technologyreview.com/news/506466/given-tablets-but-no-teachers-ethiopian-children-teach-themselves/">MIT Technology Review</a></p><div
class="shr-publisher-374944954"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=v0ymvtg863E:MtX7WkTTt-c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=v0ymvtg863E:MtX7WkTTt-c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=v0ymvtg863E:MtX7WkTTt-c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=v0ymvtg863E:MtX7WkTTt-c:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=v0ymvtg863E:MtX7WkTTt-c:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/v0ymvtg863E" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/amazing-experiment-by-one-laptop-per-child/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://blog.shedd.us/amazing-experiment-by-one-laptop-per-child/</feedburner:origLink></item> <item><title>BetDash.com Infrastructure</title><link>http://feedproxy.google.com/~r/Robert/~3/-u7tzHpS3dw/</link> <comments>http://blog.shedd.us/betdash-infrastructure/#comments</comments> <pubDate>Sun, 04 Nov 2012 15:42:08 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[betdash]]></category> <category><![CDATA[ruby on rails]]></category> <category><![CDATA[technology]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944951</guid> <description><![CDATA[One of the biggest improvements at BetDash.com in October was our migration into a new production environment. We had outgrown our previous environment and took the opportunity to improve many aspects of our production setup as we built out the new systems. The majority of our servers are now virtualized using VMWare ESX. Of the [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fbetdash-infrastructure%2F' data-shr_title='BetDash.com+Infrastructure'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>One of the biggest improvements at BetDash.com in October was our migration into a new production environment. We had outgrown our previous environment and took the opportunity to improve many aspects of our production setup as we built out the new systems.</p><p>The majority of our servers are now virtualized using VMWare ESX. Of the BetDash servers, only our database remains on physical hardware &#8211; this is at the recommendation of the Oracle MySQL consultant we worked with on our deployment.</p><p>This is what our infrastructure looks like in our new environment and how our stack is distributed across the different tiers:</p><ul><li>Citrix Netscaler load balancers</li><li>Web servers running Apache, serving the contents of our Rails app&#8217;s public folder, i.e. all static assets (CSS/JS/Images). This content is also replicated into our CDN.</li><li>Passenger Enterprise on top of Apache for our front-end application servers, serving our primary Rails 3.2 app. These boxes are presently 8 virtual CPUs and 8 GB RAM</li><li>Resque, Resque Scheduler, and other proprietary backend applications run on our backend application servers &#8211; these are 16 virtual CPUs and 32 GB RAM.</li><li>Dedicated instances for our Admin panel application, Redis, Memcached, and other internal applications utilized by our system.</li><li>Redis is currently deployed in a master/slave replicated setup, however, we&#8217;re keeping a close eye on Redis Sentinel emergence from beta and are also looking to deploy Redis Failover on top of Apache Zookeeper.</li><li>MySQL is on physical hardware, configured as a RedHat Conga Cluster with the database files themselves sitting on a SAN. Each node in the cluster has 12 physical CPUs and 96 GB RAM.</li><li>Dedicated MySQL instances for reporting and data warehousing</li></ul><p>The instances are built with Puppet and the applications are deployed out of git using a combination of Capistrano and Paddy Power&#8217;s proprietary release tool.</p><p>One of the most common comments in regard to our stack and environment is the question of why we&#8217;re running on our own VMs and hardware as opposed to hosting in the AWS cloud like everyone else. The regulated nature of real-money gaming requires that our systems sit in the Isle of Man and thus this rules out the IaaS options. It was extremely interesting to see the number of leading Rails consultancies, which we were speaking with in regards to our deployment strategy and tuning our application for the new environment, that haven&#8217;t worked with non-IaaS systems in years.</p><p>With our move to these systems, we&#8217;re well positioned as we continue to scale the BetDash platform, thanks to the hard work of a large cross-functional project team. Our next step will be to move to run in an active/active configuration across Paddy Power&#8217;s multiple data center sites.</p><div
class="shr-publisher-374944951"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=-u7tzHpS3dw:ZUpn6sc7WLM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=-u7tzHpS3dw:ZUpn6sc7WLM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=-u7tzHpS3dw:ZUpn6sc7WLM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=-u7tzHpS3dw:ZUpn6sc7WLM:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=-u7tzHpS3dw:ZUpn6sc7WLM:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/-u7tzHpS3dw" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/betdash-infrastructure/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://blog.shedd.us/betdash-infrastructure/</feedburner:origLink></item> <item><title>The key question for managers to ask themselves – How do employees feel after they interact with you?</title><link>http://feedproxy.google.com/~r/Robert/~3/TVIcCByizHw/</link> <comments>http://blog.shedd.us/how-do-employees-feel-after-they-interact-with-you/#comments</comments> <pubDate>Mon, 29 Oct 2012 15:14:49 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[management]]></category> <category><![CDATA[thoughts]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944941</guid> <description><![CDATA[There was an excellent nugget of management advice in Bob Sutton&#8217;s Stanford Entrepreneurial Thought Leaders podcast, What Great Leaders Do. Dr. Sutton, Professor of Management Science and Engineering in the Stanford Engineering School, referenced work by Rob Cross, from the University of Virginia. Apparently, the findings were derrived from a network analysis study done for [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fhow-do-employees-feel-after-they-interact-with-you%2F' data-shr_title='The+key+question+for+managers+to+ask+themselves+-+How+do+employees+feel+after+they+interact+with+you%3F'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>There was an excellent nugget of management advice in <a
href="http://ecorner.stanford.edu/author/bob_sutton">Bob Sutton&#8217;s</a> Stanford Entrepreneurial Thought Leaders podcast, <a
href="http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2485">What Great Leaders Do</a>.  Dr. Sutton, Professor of Management Science and Engineering in the Stanford Engineering School, referenced work by Rob Cross, from the University of Virginia.  Apparently, the findings were derrived from a network analysis study done for a large management consulting firm.  (If you want to listen to the section, it starts around 43:25 in the podcast.)</p><p>In this study, Cross included a question in the study that had interesting results:</p><p><b><i>After you talk with your boss, do you have more or less energy?</i></b></p><p>When analyzing the results from the study and subsequent studies using the same question, they found a strong correlation between whether the employee was promoted, management&#8217;s performance evaluation of the employee (whether the employee was promoted/fired) and whether the manager is surrounded with a network of energized innovators.</p><p>Therefore, Dr. Sutton suggests that the most salient question for managers to ask themselves is:</p><p><b><i>How do people feel after they interact with you?</i></b></p><p>I think this is a great way of boiling down what can be difficult to evaluate for yourself (how am I doing as a manger) into something straightforward to focus on.  In your interactions with your employees, energize them.  Empower them.</p><p>I think we all know from personal experience how difficult it is when you have a manager that drains your energy.  Where interacting with them sucks your enthusiasm for the job away.  It&#8217;s not a good experience for either party.</p><p>Make sure you&#8217;re energizing &#038; empowering your employees each and every time you interact with them.</p><p>(More on this from Bob Sutton <a
href="http://bobsutton.typepad.com/my_weblog/2007/03/rob_cross_on_en.html">here</a>)</p><div
class="shr-publisher-374944941"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=TVIcCByizHw:PWijLaahWXs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=TVIcCByizHw:PWijLaahWXs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=TVIcCByizHw:PWijLaahWXs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=TVIcCByizHw:PWijLaahWXs:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=TVIcCByizHw:PWijLaahWXs:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/TVIcCByizHw" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/how-do-employees-feel-after-they-interact-with-you/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://blog.shedd.us/how-do-employees-feel-after-they-interact-with-you/</feedburner:origLink></item> <item><title>Engineer Shortage</title><link>http://feedproxy.google.com/~r/Robert/~3/8VtZMBn-DYo/</link> <comments>http://blog.shedd.us/engineer-shortage/#comments</comments> <pubDate>Tue, 01 Mar 2011 14:19:12 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[hiring]]></category> <category><![CDATA[personal branding]]></category> <category><![CDATA[startups]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944937</guid> <description><![CDATA[There&#8217;s been an increasing amount of conversation recently about how difficult it is for startups to find qualified engineers. And yet at the same time, recent graduates with strong engineering credentials are saying that they can&#8217;t find jobs. What&#8217;s going on here? (Let&#8217;s set aside those who aren&#8217;t looking to work for a startup. Nothing [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fengineer-shortage%2F' data-shr_title='Engineer+Shortage'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>There&#8217;s been an increasing amount of conversation recently about how difficult it is for startups to find qualified engineers.  And yet at the same time, recent graduates with strong engineering credentials are saying that they can&#8217;t find jobs.</p><p>What&#8217;s going on here?</p><p><i>(Let&#8217;s set aside those who aren&#8217;t looking to work for a startup.  Nothing wrong with that &#8211; but the hiring process for corporations is governed more by the macroeconomic situation and waiting for executives to feel comfortable that the analysts on Wall Street are comfortable with increased hiring expenditures.  I can&#8217;t provide much insight into that.  But I can offer some thoughts for recent graduates who are chomping at the bit to get out there and put the skills that they&#8217;ve spent years honing to good use, and they&#8217;re hungry for any opportunity, especially at a startup where their contributions will actually move the needle.)</i></p><p>I think the immediate reaction is to try to attribute this apparently misalignment of supply and demand to some generalization that startups won&#8217;t hire recent graduates.</p><p>In December, Vivek Wadhwa wrote a post on TechCrunch, <a
href="http://techcrunch.com/2010/12/04/shortage-of-engineers-or-a-glut-no-simple-answer/">Shortage of Engineers or a Glut: No Simple Answer</a>.  The post made a lot of useful points and quoted some smart people (including a comment that I left on his blog).</p><p>After thinking about this again recently, I went back and read some of the comments on the post.</p><p>Most of the comments seemed to be along one of the following themes:</p><p><b>1)</b> Schools don&#8217;t train me in what&#8217;s really being used in industry.  All of the job requirements that I read ask for X years of experience with Y skill (that I don&#8217;t have).  What is wrong with education?</p><p><b>2)</b> Startups don&#8217;t just hire anyone.  They are looking for engineers who have strong fundamental skills, can pick up new technologies and run with them, and are willing to tackle any problem.</p><p>There is truth in both of these themes.</p><p>&nbsp;</p><h3>School doesn&#8217;t teach me what I need to know for industry</h3><p>Perhaps the <a
href="http://ist.psu.edu">Information Sciences and Technology program</a> at Penn State was unique in this regard, but the Dean and professors would regularly get up in front of students and say something along the lines of, &#8220;Technology is an industry which requires lifelong learning.  We will teach you how to learn.  Then you can use that skill to learn what you need for your career.&#8221;  Sure, we learned some useful things along with the theories, but it was always made clear to us that we shouldn&#8217;t expect the curriculum to teach us everything we would ever need for a career in technology.</p><p>Good thing, too.  Because the vast majority of the skills that I use on a day-to-day basis in my COO/CTO role were things that I&#8217;ve learned myself.</p><p>One of the <a
href="http://techcrunch.com/2010/12/04/shortage-of-engineers-or-a-glut-no-simple-answer/#comment-106798502">comments</a> on the post spoke to this point: &#8220;I was shocked that so many of my classmates didn&#8217;t apply what they learned &#8212; about how to learn &#8212; to themselves. In the time between my CS degree and my first industry job, I&#8217;d taught myself version control, design patterns, unit tests, embedded systems programming, user interface design, and so on. It&#8217;s easy to get a good job when so many of my classmates thought that college was the last time they&#8217;d ever have to learn something!&#8221;</p><p>This is why so many companies look for candidates who contribute to Open Source.  Because contributions aren&#8217;t something that you regularly do as a part of school or as a part of most jobs.  Instead, it&#8217;s something you do on your own accord, and it demonstrates both initiative and the ability to pick up something and run with it.</p><p>&nbsp;</p><h3>Startups don&#8217;t hire just anyone</h3><p>That&#8217;s true &#8211; they don&#8217;t.  But it doesn&#8217;t mean that you aren&#8217;t already or can&#8217;t become the kind of person that they will hire.</p><p>I make this point in my <a
href="http://wadhwa.com/2010/11/22/is-there-a-shortage-of-engineers-or-a-glut-please-comment-i-may-write-an-article-about-this/#comment-106034630">comment</a> on Vivek Wadhwa&#8217;s personal blog, that led to the subsequent TechCrunch article:</p><blockquote><p> Just because engineers are graduating, or there are engineers on the bench with decades of experience, this doesn&#8217;t immediately solve the issue that a startup CTO faces in trying to staff their team.  At the start, an entrepreneur is looking for a driven technologist who can come in and partner with them to translate their vision into reality.  If you&#8217;re making hire #2 or beyond, you&#8217;re looking for specific needs &#8211; startups often don&#8217;t have the luxury to train someone into their technology stack and are looking for folks who can hit the ground running and get stuff done.  As a result, simply having an engineering degree or decades of experience from BigCompany clearly does not make an engineer an immediate fit.</p><p>Try to find an engineer with the right experience and the ability to get stuff done &#8212; this is what entrepreneurs are struggling with and is what drives the entrepreneurs and investors to complain that there isn&#8217;t enough talent in the market.</p></blockquote><p>Startups are looking to fulfill a need.  There&#8217;s no leadership development program to train a pipeline of technologist for future needs three years away.  Startups have a problem.  They need to grow their product. Now. Faster.  If you&#8217;re not the solution to that problem, you won&#8217;t get in.</p><p>So, become the solution.</p><p>Pick the area that you want to work in. Ruby on Rails web development?  Great.  Objective C iPhone development?  Sounds good.  Now start writing code.  Show that you get stuff done (code on GitHub, contribute to open source, blog!).  If you have experience already, find ways to make it relevant to the position that you&#8217;re looking for.</p><p>And to really get a gold star, don&#8217;t limit yourself to the one technology that you start with.  If you&#8217;re doing Ruby on Rails development, it&#8217;s likely that you may need to do some basic systems administration on a Linux server to get your stack up and running.  Embrace that opportunity as a chance to prove that you can do whatever it takes to get the job done.  Same thing when you need to setup memcached or Redis or whatever additional technologies might come onto your radar.  Because a startup will expect you  to pickup new technologies, and to become productive rapidly.</p><p>Finally, you need to get in touch &#8211; I think this point is under-appreciated: startups don&#8217;t have big recruitment search budgets (or a lot of time) &#8211; if we can&#8217;t find you easily, we can&#8217;t hire you.  Promote yourself.  You are a brand.  Figure out how to get found.</p><p>&nbsp;</p><p>I sent some very similar advice to my summer development interns at the end of August.  I closed with the comment that, if you put some time into really considering the skillets that you&#8217;ll need in the job that you want, and then really make an effort to build those skillets (and any supporting skillets on your own), and then do the extra work to publicize what you&#8217;re doing, you will be easily heads and shoulders above 90% of the other students you&#8221;re graduating with who could do the work, but won&#8221;t bother.</p><p>Much has been said about the Gen Y folks who are eager to get out there and  start making a difference in the world.  You don&#8217;t need anyone&#8217;s permission to go get started.  What are you waiting for?</p><div
class="shr-publisher-374944937"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=8VtZMBn-DYo:Z9ziA7VjWeA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=8VtZMBn-DYo:Z9ziA7VjWeA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=8VtZMBn-DYo:Z9ziA7VjWeA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=8VtZMBn-DYo:Z9ziA7VjWeA:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=8VtZMBn-DYo:Z9ziA7VjWeA:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/8VtZMBn-DYo" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/engineer-shortage/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <feedburner:origLink>http://blog.shedd.us/engineer-shortage/</feedburner:origLink></item> <item><title>Upgrade Ruby Enterprise Edition</title><link>http://feedproxy.google.com/~r/Robert/~3/Vv20BLtLsBU/</link> <comments>http://blog.shedd.us/upgrade-ruby-enterprise-edition/#comments</comments> <pubDate>Mon, 21 Feb 2011 23:51:06 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[ruby]]></category> <category><![CDATA[ruby on rails]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944939</guid> <description><![CDATA[A security update for Ruby has been released to respond to multiple vulnerabilities. All versions of the interpreter are affected, including the Ruby Enterprise Edition interpreters. Fortunately, it&#8217;s easy to upgrade with RVM: Tell RVM to upgrade your specific REE installation to the latest: rvm update #upgrade RVM rvm upgrade ree-1.8.7-2011.02 ree-1.8.7-2010.02 #upgrade REE Accept [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fupgrade-ruby-enterprise-edition%2F' data-shr_title='Upgrade+Ruby+Enterprise+Edition'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>A <a
href="http://www.rubyinside.com/two-security-vulnerabilities-force-3-new-releases-of-mri-ruby-1-8-7-1-9-1-and-1-9-2-4323.html">security update for Ruby</a> has been released to respond to multiple vulnerabilities.  All versions of the interpreter are affected, including the <a
href="http://blog.phusion.nl/2011/02/21/ruby-enterprise-edition-1-8-7-2011-02-released/">Ruby Enterprise Edition interpreters</a>.</p><p>Fortunately, it&#8217;s easy to upgrade with RVM:</p><p>Tell RVM to upgrade your specific REE installation to the latest:</p><pre>
rvm update                                                   #upgrade RVM
rvm upgrade ree-1.8.7-2011.02 ree-1.8.7-2010.02              #upgrade REE
</pre><p>Accept Y to all options to move elements of your current install.</p><p>Then reset REE to be your default:</p><pre>
rvm ree-1.8.7-2011.02
rvm --default ree-1.8.7-2011.02
</pre><p>Following this, confirm that the new install of Ruby is active for your shell session (<code>which ruby</code>).  Then, you will likely need to install bundler again to make sure you have 1.0.10 for the upgraded copy of gem 1.5.  Also, run bundle install from the app root to make sure your gemset is up to spec.</p><p>Despite telling the upgrade process to move everything, I still needed to reinstall Passenger (3.0.2) and reconfigure it for Apache:</p><pre>
gem install passenger
passenger-install-apache2-module
</pre><p>With this reinstallation, you&#8217;ll also need to edit your Apache config file (on Mac OS X: <code>/etc/apache2/httpd.conf</code> ) to point to the new Passenger gem.</p><p>Restart Apache from System Preferences > Sharing > Web Sharing and you should be good to go.</p><div
class="shr-publisher-374944939"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=Vv20BLtLsBU:lbVKo1pOJE4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=Vv20BLtLsBU:lbVKo1pOJE4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=Vv20BLtLsBU:lbVKo1pOJE4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=Vv20BLtLsBU:lbVKo1pOJE4:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=Vv20BLtLsBU:lbVKo1pOJE4:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/Vv20BLtLsBU" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/upgrade-ruby-enterprise-edition/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://blog.shedd.us/upgrade-ruby-enterprise-edition/</feedburner:origLink></item> <item><title>Connecting a Windows VM to a Mac-based localhost Ruby on Rails site (Passenger)</title><link>http://feedproxy.google.com/~r/Robert/~3/RKFfNCJuU1k/</link> <comments>http://blog.shedd.us/connecting-windows-vm-to-mac-ruby-on-rails-site/#comments</comments> <pubDate>Fri, 21 Jan 2011 00:14:40 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[mac os x]]></category> <category><![CDATA[ruby on rails]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[web development]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944928</guid> <description><![CDATA[Supporting Internet Explorer for your web app is a pain. At least, trying to test your Ruby on Rails (or other localhost-based site) in IE while developing on the Mac should be easy, given the prevalence of virtual machines. Right?? You&#8217;d think. However, trying to setup our front-end developer to access a local instance of [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fconnecting-windows-vm-to-mac-ruby-on-rails-site%2F' data-shr_title='Connecting+a+Windows+VM+to+a+Mac-based+localhost+Ruby+on+Rails+site+%28Passenger%29'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>Supporting Internet Explorer for your web app is a pain.  At least, trying to test your Ruby on Rails (or other localhost-based site) in IE while developing on the Mac should be easy, given the prevalence of virtual machines.  Right??  You&#8217;d think.  However, trying to setup our front-end developer to access a local instance of Passenger running on Mac OS X from a Windows VM proved to be more of an issue than it needed to be.  Adding to this, most of the top Google results for relevant keywords for this configuration made the process more overly difficult than it needed to be.</p><p>So, to help ease your pain in testing your Mac-based Rails site from a Windows virtual machine, here is an easy configuration for the three main VMs.</p><p>We need to do two main things:</p><ol><li>Trying to serve port-based or subdomain-based sites over to the Windows VM is going to be more challenging.  Let&#8217;s make things easy &#8211; we&#8217;ll set the default http://localhost site for our Mac to our Rails site.</li><li>We need to get the VM&#8217;s network to communicate with the Mac&#8217;s network correctly so that we can access this site.</li></ol><p>On my team, we&#8217;re using Passenger on the Mac (running on top of the Mac&#8217;s base install of Apache).  We&#8217;re using Passenger Pane to configure Apache easily.  We also have this hooked into RVM, but that won&#8217;t be relevant to what we&#8217;re doing here.  For the purposes of this post, I&#8217;ll assume that you have Passenger successfully serving a site that you can access via http://somedomain.local  I&#8217;ll also assume that for whichever VM you&#8217;re opting to use, you have Windows installed and running in it.</p><p><em>** Do yourself a favor. Make sure that VM Ware Tools, Parallel Tools, or VirtualBox Guest Additions are installed &#8211; this ensures that the network connectivity will work as expected.</em></p><p>&nbsp;</p><h2>Let&#8217;s get http://localhost serving our Rails site</h2><p>At the bottom of /etc/apache2/httpd.conf when using Passenger Pane, you&#8217;ll find the following configuration:</p><pre>
&lt;IfModule passenger_module&gt;
  NameVirtualHost *:80
  &lt;VirtualHost *:80&gt;
    ServerName _default_
  &lt;/VirtualHost&gt;
  Include /private/etc/apache2/passenger_pane_vhosts/*.conf
&lt;/IfModule&gt;
</pre><p>&nbsp;</p><p>To make our Passenger site the default localhost site, go into passenger_pane_vhosts/, view the Apache config file for the site you want to be the default, and you&#8217;ll see something along the lines of the following:</p><pre>
$ cat yoursite.local.vhost.conf
&lt;VirtualHost *:80&gt;
  ServerName yoursite.local
  DocumentRoot &quot;/Users/username/rails/yoursite/public&quot;
  RackEnv development
  &lt;Directory &quot;/Users/username/rails/yoursite/public&quot;&gt;
    Order allow,deny
    Allow from all
  &lt;/Directory&gt;
&lt;/VirtualHost&gt;
</pre><p>&nbsp;</p><p>Copy the lines from inside the VirtualHost block and paste them back into /etc/apache2/httpd.conf so that it looks like the following:</p><pre>
$ cd ..
$ sudo mate httpd.conf
# Added by the Passenger preference pane
# Make sure to include the Passenger configuration (the LoadModule,
# PassengerRoot, and PassengerRuby directives) before this section.
&lt;IfModule passenger_module&gt;
  NameVirtualHost *:80
  &lt;VirtualHost *:80&gt;
    ServerName _default_
	####
	DocumentRoot &quot;/Users/username/rails/yoursite/public&quot;
	RackEnv development
	&lt;Directory &quot;/Users/username/rails/yoursite/public&quot;&gt;
	  Order allow,deny
	  Allow from all
	&lt;/Directory&gt;
	####
  &lt;/VirtualHost&gt;
  Include /private/etc/apache2/passenger_pane_vhosts/*.conf
&lt;/IfModule&gt;
</pre><p>&nbsp;</p><p>Restart Apache by going to System Preferences > Sharing and uncheck &#038; recheck Web Sharing.</p><p>Also, if you&#8217;re using VMWare Fusion or Parallels, note the IP address that&#8217;s shown here.</p><h2>Configuring VirtualBox</h2><p>Let&#8217;s start with Virtual Box, which was the biggest pain to configure.  Not because there&#8217;s a lot of work, but because they one critical detail doesn&#8217;t seem to be well known (most of the posts you&#8217;ll read online try to guide you through using the command-line network configuration tool).  I should note that this was my first real opportunity to use Virtual Box, having only used Parallels and VMWare Fusion beforehand.  It&#8217;s a little rough around the edges in a few places, but overall very impressive.</p><p>1) First, ensure that network settings for VirtualBox should be set to NAT &#8211; no port forwarding needed</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2011/01/VirtualBox-Network-Adapters.png" alt="" title="VirtualBox Network Adapters" width="520" height="375" class="aligncenter size-full wp-image-374944929" /></p><p>&nbsp;</p><p>2) Now, here&#8217;s what took a while to dig up: VirtualBox connects http://10.0.2.2 to the Mac&#8217;s localhost (thanks to this <a
href="http://ubuntuforums.org/showthread.php?t=682519">forum post</a>)  That is, just typing that into IE within the VM should connect you to http://localhost running on the Mac.</p><p>&nbsp;</p><h2>Configuring Parallels</h2><p>1) For Parallels, you want to make sure that your VM is running on a Shared Network.</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2011/01/Parallels.png" alt="" title="Parallels Network Settings" width="620" height="432" class="aligncenter size-full wp-image-374944930" /></p><p>&nbsp;</p><p>2) If you&#8217;re setup with this network configuration, you should be able to directly access the local IP address of your Mac, as shown in the System Preferences > Sharing screen:</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2011/01/Mac-Web-Sharing.png" alt="" title="Mac Web Sharing" width="541" height="446" class="aligncenter size-full wp-image-374944931" /></p><p>&nbsp;</p><h2>Configuring VMWare Fusion</h2><p>1) VMWare Fusion is much like Parallels.  Configure your VM to &#8220;Share the Mac&#8217;s network connection&#8221; via NAT.</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2011/01/VMWare-Fusion-Network-Settings.png" alt="" title="VMWare Fusion Network Settings" width="623" height="410" class="aligncenter size-full wp-image-374944932" /></p><p>&nbsp;</p><p>2) If you&#8217;re setup with this network configuration, you should be able to directly access the local IP address of your Mac, as shown in the System Preferences > Sharing screen, as with Parallels.</p><p>Hopefully, if you&#8217;ve made it to this point, for your respective VM, you have IE accessing your Passenger-based site.  Success!</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2011/01/Screen-shot-2011-01-20-at-6.09.26-PM-1024x570.png" alt="" title="Passenger from Windows" width="512" height="285" class="aligncenter size-large wp-image-374944933" /></p><p>&nbsp;</p><p>Hopefully, at least now you&#8217;ll be able to spend your time on all of the issues that poor users confined to IE are suffering through and get bug fixing quickly.</p><div
class="shr-publisher-374944928"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=RKFfNCJuU1k:56juJUv8X0c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=RKFfNCJuU1k:56juJUv8X0c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=RKFfNCJuU1k:56juJUv8X0c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=RKFfNCJuU1k:56juJUv8X0c:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=RKFfNCJuU1k:56juJUv8X0c:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/RKFfNCJuU1k" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/connecting-windows-vm-to-mac-ruby-on-rails-site/feed/</wfw:commentRss> <slash:comments>5</slash:comments> <feedburner:origLink>http://blog.shedd.us/connecting-windows-vm-to-mac-ruby-on-rails-site/</feedburner:origLink></item> <item><title>Resolving the MySQL Homebrew Install Issue</title><link>http://feedproxy.google.com/~r/Robert/~3/GnprGx9Zflc/</link> <comments>http://blog.shedd.us/resolving-the-mysql-homebrew-install-issue/#comments</comments> <pubDate>Tue, 30 Nov 2010 15:46:35 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[development environment]]></category> <category><![CDATA[mac-osx]]></category> <category><![CDATA[mysql]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944926</guid> <description><![CDATA[We switched from using MacPorts to Homebrew for package management on our Mac OS X development machines. Recently, when building two machines and using brew to install MySQL on them, we ran into an issue where MySQL would only partially install and we&#8217;d get a mysql database with an empty user table. This was with [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fresolving-the-mysql-homebrew-install-issue%2F' data-shr_title='Resolving+the+MySQL+Homebrew+Install+Issue'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>We switched from using MacPorts to Homebrew for package management on our Mac OS X development machines.  Recently, when building two machines and using brew to install MySQL on them, we ran into an issue where MySQL would only partially install and we&#8217;d get a mysql database with an empty user table.  This was with mysql-5.1.52:</p><pre>
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from user;
Empty set (0.00 sec)
</pre><p>We tried a couple of things to solve this, but were not able to come up with a workable way to insert a root user, as you can&#8217;t create users when running with the &#8211;skip-grant-tables option.</p><p>I also tried the binary download from MySQL.com and hit the same snag.</p><p>After a couple of rebuilds and testing with a fresh install of Snow Leopard, we traced the issue back to the following error message from the MySQL setup script:</p><pre>
$mysql_install_db
Installing MySQL system tables...
ERROR: 1049  Unknown database 'mysql'
101121 19:21:38 [ERROR] Aborting
101121 19:21:38 [Note] ./bin/mysqld: Shutdown complete
Installation of system tables failed!  Examine the logs in
./data for more information.
"¦
</pre><p>Error 1049 proved to be the key to solving this.  It led me to this <a
href="http://bugs.mysql.com/bug.php?id=52644">MySQL bug report</a>, which discusses that this error can be generated when the default temporary directory doesn&#8217;t exist.</p><p>Passing the /tmp temporary directory to mysql_install_db as a param seems to resolve error 1049 and allow us to get the default mysql system database setup with a working root user.</p><p>Most of the instructions for installing MySQL with Homebrew don&#8217;t mention any additional params needed, which leads me to believe this is something recent in the recent builds of MySQL.  We didn&#8217;t have this issue when installing MySQL on our other Snow Leopard machines (which have 5.1.49).  However, this is the sequence of commands that we found that worked for us &#8211; hopefully, this will help others hitting similar snags:</p><pre>
brew install mysql
mysql_install_db --user=mysql --tmpdir=/tmp
mysql.server start
#server must be running first
mysql_secure_installation
</pre><div
class="shr-publisher-374944926"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=GnprGx9Zflc:lry93DhKC4A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=GnprGx9Zflc:lry93DhKC4A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=GnprGx9Zflc:lry93DhKC4A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=GnprGx9Zflc:lry93DhKC4A:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=GnprGx9Zflc:lry93DhKC4A:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/GnprGx9Zflc" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/resolving-the-mysql-homebrew-install-issue/feed/</wfw:commentRss> <slash:comments>6</slash:comments> <feedburner:origLink>http://blog.shedd.us/resolving-the-mysql-homebrew-install-issue/</feedburner:origLink></item> <item><title>Hey, what caused that ActiveRecord::ConnectionAdapters::TableDefinition gooblygook on my table?!</title><link>http://feedproxy.google.com/~r/Robert/~3/wFDYusdEdGs/</link> <comments>http://blog.shedd.us/hey-what-caused-that-gooblygook/#comments</comments> <pubDate>Wed, 24 Nov 2010 15:47:54 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[ruby on rails]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944917</guid> <description><![CDATA[Maybe you&#8217;ve run into this, too? You&#8217;re taking a look at the tables generated by your Rails migration and you see this really odd column. #&#60;ActiveRecord::ConnectionAdapters::TableDefinition:0x10245fd78&#62; Here&#8217;s another look: Yuck! Searching the web didn&#8217;t turn up much in this case, so I thought I&#8217;d post what I found when figuring out the root cause. See [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fhey-what-caused-that-gooblygook%2F' data-shr_title='Hey%2C+what+caused+that+ActiveRecord%3A%3AConnectionAdapters%3A%3ATableDefinition+gooblygook+on+my+table%3F%21'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>Maybe you&#8217;ve run into this, too?  You&#8217;re taking a look at the tables generated by your Rails migration and you see this really odd column.</p><p>#&lt;ActiveRecord::ConnectionAdapters::TableDefinition:0x10245fd78&gt;</p><p>Here&#8217;s another look:</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2010/10/wacky-active-record-small.png" alt="" title="wacky active record small" width="570" height="132" class="aligncenter size-full wp-image-374944923" /></p><p>Yuck!</p><p>Searching the web didn&#8217;t turn up much in this case, so I thought I&#8217;d post what I found when figuring out the root cause.</p><p>See the issue in this migration?</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2010/10/migration-code.png" alt="" title="migration code" width="454" height="254" class="aligncenter size-full wp-image-374944919" /></p><p>No?  I didn&#8217;t the first time I looked, either.</p><p>It&#8217;s the comma &#8211; at the tail end of the last column definition before t.timestamps.</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2010/10/migration-code-annotated.png" alt="" title="migration code annotated" width="454" height="254" class="aligncenter size-full wp-image-374944920" /></p><p>This little typo doesn&#8217;t look like much, but it&#8217;s the cause of that wacky column.</p><p>Here&#8217;s what the table looks like when you run the migration with the comma:</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2010/10/result-with-comma-small.png" alt="" title="result with comma small" width="467" height="159" class="aligncenter size-full wp-image-374944921" /></p><p>And here&#8217;s what it looks like when you fix your typo:</p><p><img
src="http://cdn.blog.shedd.us/wp-content/uploads/2010/10/result-without-comma-small.png" alt="" title="result without comma small" width="448" height="162" class="aligncenter size-full wp-image-374944922" /></p><p>Ah!  Much better.</p><p>As for creating a migration to fix this, I just resolved the typo and dropped the column manually.  It&#8217;s a little difficult to script this because the column name will be different in each database, so, it&#8217;s some variation of this (the part in bold on each database that the original typo ran on):</p><pre class="brush: sql; gutter: true; first-line: 1; highlight: []; html-script: false">ALTER TABLE `friendships` DROP `#&lt;ActiveRecord::ConnectionAdapters::TableDefinition:0x10245fd78&gt;`;</pre><p>Hope this helps someone else avoid wasting time on this!</p><div
class="shr-publisher-374944917"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=wFDYusdEdGs:7lxx5PxUJjw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=wFDYusdEdGs:7lxx5PxUJjw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=wFDYusdEdGs:7lxx5PxUJjw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=wFDYusdEdGs:7lxx5PxUJjw:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=wFDYusdEdGs:7lxx5PxUJjw:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/wFDYusdEdGs" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/hey-what-caused-that-gooblygook/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://blog.shedd.us/hey-what-caused-that-gooblygook/</feedburner:origLink></item> <item><title>Greetings from Ireland…</title><link>http://feedproxy.google.com/~r/Robert/~3/sSvflJK3sZ0/</link> <comments>http://blog.shedd.us/greetings-from-ireland%e2%80%a6/#comments</comments> <pubDate>Tue, 23 Nov 2010 16:12:39 +0000</pubDate> <dc:creator>Robert Shedd</dc:creator> <category><![CDATA[posts]]></category> <category><![CDATA[thoughts]]></category> <category><![CDATA[working abroad]]></category> <guid isPermaLink="false">http://blog.shedd.us/?p=374944925</guid> <description><![CDATA[When I last posted in June, we were heading to Europe to continue growing the FanGamb product. I&#8217;ve taken a bit of a vacation from blogging while I&#8217;ve been focusing on all that&#8217;s been involved in this. I moved to Dublin in July and we&#8217;ve been rapidly rebuilding our team and the product. I&#8217;ll be [...]]]></description> <content:encoded><![CDATA[<div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div
class='shareaholic-like-buttonset' style='float:right;height:30px;'><a
class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fblog.shedd.us%2Fgreetings-from-ireland%25e2%2580%25a6%2F' data-shr_title='Greetings+from+Ireland...'></a></div><div
style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><p>When I last posted in June, we were heading to Europe to continue growing the FanGamb product.  I&#8217;ve taken a bit of a vacation from blogging while I&#8217;ve been focusing on all that&#8217;s been involved in this.</p><p>I moved to Dublin in July and we&#8217;ve been rapidly rebuilding our team and the product.  I&#8217;ll be able to go into more detail on the changes when the product re-launches in the near future, but things are going well.  We&#8217;re having a great time in Ireland and have really enjoyed working abroad.</p><p>Since I can&#8217;t yet delve into the details of the move and transition, or the next version of the product, I&#8217;ll be focusing for a while on what it&#8217;s like to working abroad, and also some topics that I haven&#8217;t given as much &#8220;airtime&#8221; to in the past.  Most of my posts to this point have been on various startup/entrepreneurship topics, which I&#8217;ve enjoyed writing about.  A large part of my job, though, as VP of Product &#038; Technology for Three Screen Games, has me deeply involved with both the technical product development and customer-centric product management efforts.  These are petty broad areas and I look forward to exploring them further through future blog posts.</p><p>And of course, an update to the <a
href="http://blog.shedd.us/321987608/">seed stage accelerator list</a> is overdue &#8211; it&#8217;s amazing how this space has continued to grow in the last few months.</p><p>Anyway, it&#8217;s good to be back.</p><div
class="shr-publisher-374944925"></div><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Robert?a=sSvflJK3sZ0:uG4tzFsP_pA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Robert?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=sSvflJK3sZ0:uG4tzFsP_pA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Robert?i=sSvflJK3sZ0:uG4tzFsP_pA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Robert?a=sSvflJK3sZ0:uG4tzFsP_pA:XZZ4fGVpEw0"><img src="http://feeds.feedburner.com/~ff/Robert?i=sSvflJK3sZ0:uG4tzFsP_pA:XZZ4fGVpEw0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Robert/~4/sSvflJK3sZ0" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://blog.shedd.us/greetings-from-ireland%e2%80%a6/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://blog.shedd.us/greetings-from-ireland%e2%80%a6/</feedburner:origLink></item> </channel> </rss>
