<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2274349213655191025</id><updated>2025-07-30T07:42:48.571-07:00</updated><category term="start-ups"/><category term="nerd alert"/><category term="rails"/><category term="general"/><category term="math"/><category term="ruby"/><category term="business plans"/><category term="challenges"/><category term="chicken and eggs"/><category term="code"/><category term="code ruby rails testing"/><category term="facebook"/><category term="monte carlo"/><category term="question"/><category term="technology"/><category term="testing"/><category term="tv"/><title type='text'>Good Dinosaur</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-8739233565721292216</id><published>2011-08-24T15:59:00.000-07:00</published><updated>2011-08-24T16:16:25.785-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="code ruby rails testing"/><title type='text'>Do you test?</title><content type='html'>Note: this was in response to a question asked on the &lt;a href=&quot;http://dallasrb.org/&quot;&gt;Dallas.rb&lt;/a&gt; group regarding if, how, and why you write tests (or specs, or whatever you want to call them).&lt;br /&gt;&lt;br /&gt;Definitely test. It will feel weird / slow at first, but it helps you write much cleaner, more modular code. I initially hated it when I was forcing myself to adopt it, now I feel naked without it. For me, I find testing important for a few reasons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It helps me think through what I want the app to do should do from a stakeholders standpoint.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It helps me and anyone else working on my app from a dev standpoint know how my app and its components should behave - specifications should do just that: specify what certain things should do! I try to always ask myself &lt;i&gt;&quot;What should you do, Mr. [Object]&quot;&lt;/i&gt; and then write a spec around that.&lt;br /&gt;&lt;br /&gt;For example, take a look at this:&lt;br&gt;&lt;script src=&quot;https://gist.github.com/1168937.js?file=user_spec.rb&quot;&gt;&lt;/script&gt;You can see what I&#39;d expect if you were to write &lt;code&gt;User#full_name&lt;/code&gt;. It says: &lt;i&gt;&quot;Show me the full name when available, or its parts, or default to the email address, which is ensured to be present, if all else fails.&quot;&lt;/i&gt; Perhaps we drew up this specification when determining how we should handle displaying a &lt;code&gt;&quot;Hi, #{current_user.full_name}&quot;&lt;/code&gt; in our UI for the different cases our app might encounter. Or perhaps &lt;code&gt;#full_name&lt;/code&gt; was the failing part of our acceptance test when we were &lt;i&gt;writing the code that we wish he had&lt;/i&gt; (see &lt;a href=&quot;http://pragprog.com/book/achbd/the-rspec-book&quot;&gt;The RSpec Book&lt;/a&gt; for this reference and a very informative read).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It&#39;s an insurance policy and time saver. Anytime you change your app you can be confident that other areas still behave as expected. My workflow before TDD / BDD was:&lt;ol&gt;&lt;li&gt;implement some new feature&lt;/li&gt;&lt;li&gt;think through all other parts that &lt;i&gt;could&lt;/i&gt; be effected&lt;/li&gt;&lt;li&gt;pop open my dev env and manually test each to make sure things were working.&lt;/li&gt;&lt;/ol&gt; This was a waste of time and exposed me to my own human error: perhaps I forgot to do a certain thing or whatever. The computer is your friend (and worker), make it do the checking for you. My workflow is now:&lt;ol&gt;&lt;li&gt;implement some new feature&lt;/li&gt;&lt;li&gt;initiate tests&lt;/li&gt;&lt;li&gt;go make a sandwich, return and see what passed what needs fixing.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;br /&gt;I found writing expressive and clean unit tests much easier than acceptance tests. If you are using Cucumber, check this out: &lt;a href=&quot;http://benmabey.com/2008/05/19/imperative-vs-declarative-scenarios-in-user-stories.html&quot;&gt;Imperative vs Declarative scenarios in user stories&lt;/a&gt; and try to avoid using the pre-packaged web-steps when possible.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/8739233565721292216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2011/08/do-you-test.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/8739233565721292216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/8739233565721292216'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2011/08/do-you-test.html' title='Do you test?'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-6854777312408229435</id><published>2011-08-12T13:22:00.001-07:00</published><updated>2011-08-12T13:25:38.689-07:00</updated><title type='text'>Love, S and P</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dhi_szxcEm7Ns1dPyZFhe6qqFFofhovAzGMUfsha27QPmELGLZ_wet-yB6uZuSkTzmlZZmDk-CFV1gSZ3VYvHbcNbwmJMUbAU7_EyH83-LLsYDZXhJYR3d-KYNOb_0zU4x01-cN08BUX/s1600/love-sp.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dhi_szxcEm7Ns1dPyZFhe6qqFFofhovAzGMUfsha27QPmELGLZ_wet-yB6uZuSkTzmlZZmDk-CFV1gSZ3VYvHbcNbwmJMUbAU7_EyH83-LLsYDZXhJYR3d-KYNOb_0zU4x01-cN08BUX/s400/love-sp.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5640068298182494386&quot; /&gt;&lt;/a&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/6854777312408229435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2011/08/love-s-and-p.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6854777312408229435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6854777312408229435'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2011/08/love-s-and-p.html' title='Love, S and P'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8dhi_szxcEm7Ns1dPyZFhe6qqFFofhovAzGMUfsha27QPmELGLZ_wet-yB6uZuSkTzmlZZmDk-CFV1gSZ3VYvHbcNbwmJMUbAU7_EyH83-LLsYDZXhJYR3d-KYNOb_0zU4x01-cN08BUX/s72-c/love-sp.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-2081985617917974586</id><published>2011-08-09T07:54:00.000-07:00</published><updated>2011-08-09T08:01:37.915-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="testing"/><title type='text'>DRYing up those controller specs</title><content type='html'>I recently had a bunch of duplicate code in my controller specs and wanted to share a solution I arrived at that DRYed things up significantly. Feel free to use it and abuse it and if you have recommendations on how to improve it, let me know.&lt;br /&gt;&lt;br /&gt;First, the quick requirements and background: &lt;span style=&quot;font-style:italic;&quot;&gt;all&lt;/span&gt; controller methods must explicitly demonstrate that guests do not have access to certain resources and are told, upon any attempt to access them, that they must login in order gain access.&lt;br /&gt;&lt;br /&gt;The first pass was to write the tests, get all to pass, then look to consolidate and improve the suites. Here&#39;s the first pass:&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/1134284.js?file=controller_specs.rb&quot;&gt;&lt;/script&gt;&lt;br /&gt;These specs duplicate an awfully large amount of code. This is an issue because more LoC translate into more maintenance, more potential areas to make mistakes, and more places that need to be updated when things change. (For example, what if we want to flash an alert of &quot;OH NOZ, SIGN IN FIRST PLZ&quot;? I could find and replace, but that should be handled in one place.)&lt;br /&gt;&lt;br /&gt;In order to remedy these issues, I added a controller macro that includes &lt;span style=&quot;font-style:italic;&quot;&gt;#it_should_block_access_to(action, options = {})&lt;/span&gt;, which is passed an action (:index, :create, :update), maps each to a default method (:get, :post, :put) if none is specified, and generates the appropriate routing (member vs collections). It also handles format specification, such as :json, or setting any other arbitrary params via the options hash.&lt;br /&gt;&lt;br /&gt;Here&#39;s the refactored code:&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/1134094.js&quot;&gt; &lt;/script&gt;&lt;br /&gt;The controller specs are cleaner, a big chunk of code duplication has been removed, and there is a main handler for these tests that does not (in my opinion) add too much complexity into the testing suite.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/2081985617917974586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2011/08/drying-up-those-controller-specs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2081985617917974586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2081985617917974586'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2011/08/drying-up-those-controller-specs.html' title='DRYing up those controller specs'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-4418108217005444140</id><published>2010-09-22T23:19:00.000-07:00</published><updated>2010-10-27T09:21:22.505-07:00</updated><title type='text'>Enhance Your Brand: Create a Custom Facebook Page</title><content type='html'>&lt;span style=&quot;font-weight:bold;&quot;&gt;Edit&lt;/span&gt;: I got published ... in Bulgaria! &lt;a href=&quot;http://capital.bg/blogove/andrian_georgiev/2010/10/12/974724_kak_da_napravim_fenstranica_vuv_facebook/&quot;&gt;Capital.bg - Kak Da Napravim Fenstranica Vuv Facebook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://collegejobconnect.com&quot;&gt;My startup&lt;/a&gt; wanted to add a custom Facebook landing page. Having visitors click through and seeing the standard &quot;Wall&quot; is apparently lame (that is what our undergraduate member tell us).  Here is how we implemented a custom Facebook landing page to give a more personalized greeting and to show our company&#39;s character (spoiler: we are nerds):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a public Facebook page&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;(login to Facebook &gt; Ads and Pages &gt; Create Page)&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;As mentioned, make sure your page is set to &quot;public&quot;&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;You want anyone to be able to view your page, regardless if they are logged in to Facebook or not. (Edit Page &gt; Settings)&lt;/div&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGWtqQ4CB8bFQXkrrvpHquG4CSAaMdQW_O7KhsRvsAjY_jbUI9cQlqPCxNcQwa7qOKrrjHq15-0v_-5aHSYTbDVFA09v2CXopcKC3VH0NfVqZGKOYjEas51DaEGiCW9ECVcizFhIMg8Z-v/s1600/cjc-public-fb-page.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 274px; border:9px solid #ddd;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGWtqQ4CB8bFQXkrrvpHquG4CSAaMdQW_O7KhsRvsAjY_jbUI9cQlqPCxNcQwa7qOKrrjHq15-0v_-5aHSYTbDVFA09v2CXopcKC3VH0NfVqZGKOYjEas51DaEGiCW9ECVcizFhIMg8Z-v/s400/cjc-public-fb-page.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5520005735818859938&quot; /&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the FBML application so you can create your custom tab&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;Via FBML: Add advanced functionality to your Page using the Facebook Static FBML application. This application will add a box to your Page in which you can render HTML or FBML (Facebook Markup Language) for enhanced Page customization.&lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create your landing page image.&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;Here is what we did: First, we made sure we created a new Adobe Photoshop document that was roughly 520px wide (this is approximately the width you get for your Facebook pages).&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOpKqTsxxVM4epYqKY2Wo1sV_2nPYJMFh1pUCKtHJ-90AUSX1JulqGJOulETj8tvt9e9FlbYCwwEQBsPGStbmTANBd2W75mGnTP421L9cGXEfcJgOPdO-UQAupYWxIg2XScRS6ppBVvsSv/s1600/cjc-520-width.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 96px; border:9px solid #ddd&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOpKqTsxxVM4epYqKY2Wo1sV_2nPYJMFh1pUCKtHJ-90AUSX1JulqGJOulETj8tvt9e9FlbYCwwEQBsPGStbmTANBd2W75mGnTP421L9cGXEfcJgOPdO-UQAupYWxIg2XScRS6ppBVvsSv/s400/cjc-520-width.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5520148221356821170&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We want fans to get behind what we are doing so we highlighted our request for visitors to &quot;Like&quot; our page (#1).  We also wanted to quickly explain what we do (#2). Next was to show our logo (#3). Finally, have a little fun, make it memorable, add a part that can be updated periodically with new content (#4).&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC-QCuBHe74ciOoI-YWDenyRaHJhoJbAl4PNgI4vSAcIfYX6_3E9MjTcza_St5zJBtCeJV2gO7eXhfg6_u8ca-KdiXr_VsW4e5xgbhFxdX6lUrjic07txhjk5WrU2k_YIcir1zFRugvPsI/s1600/cjc-fb-numbered.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 348px; height: 400px; border:9px solid #ddd&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC-QCuBHe74ciOoI-YWDenyRaHJhoJbAl4PNgI4vSAcIfYX6_3E9MjTcza_St5zJBtCeJV2gO7eXhfg6_u8ca-KdiXr_VsW4e5xgbhFxdX6lUrjic07txhjk5WrU2k_YIcir1zFRugvPsI/s400/cjc-fb-numbered.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5520147441652608978&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;For #1&lt;/u&gt;: I took a screenshot of the Facebook Like button (Shift+Cmd+4) and &lt;a href=&quot;http://articles.sitepoint.com/article/placing-graphic-photoshop-file&quot;&gt;placed&lt;/a&gt; the image on a new layer.  Then I added a &lt;a href=&quot;http://www.ehow.com/how_18387_create-drop-shadow.html&quot;&gt;drop shadow&lt;/a&gt;. Next, on a new layer, I added text with a Dakota font, &lt;a href=&quot;http://www.ehow.com/how_2286122_link-layers-photoshop.html&quot;&gt;linked&lt;/a&gt; these two layers, and then using &lt;a href=&quot;http://www.tutorialkit.com/tutorials/Using-Photoshop-Free-Transform-Command-57657.html&quot;&gt;free transform&lt;/a&gt;, I rotated both layers.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;For #2&lt;/u&gt;: I mostly just followed &lt;a href=&quot;http://www.myjanee.com/tuts/postit/postit.htm&quot;&gt;this tutorial&lt;/a&gt; to create the Post-It note, and &lt;a href=&quot;http://www.photoshopgurus.com/tutorials/t022.html&quot;&gt;this tutorial&lt;/a&gt; to create the Scotch tape (why a sticky note needs to be held up by tape, you got me).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;For #3&lt;/u&gt;: It&#39;s our logo, just plug-n-play.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;u&gt;For #4&lt;/u&gt;: I love legos, and wanted something that was funny, but hit on our vision: i.e. help undergrads connect with companies and find jobs.  I found a lot of content on Flickr through a Creative Commons search and then just added some text. To get the fade effect, check out &lt;a href=&quot;http://www.depiction.net/tutorials/photoshop/blurrededges.php&quot;&gt;this tutorial&lt;/a&gt;.  We plan to update this with a series of postings, you know, to keep it fresh.  If you&#39;d like to contribute, please send submissions to &lt;a href=&quot;mailto:jeff@collegejobconnect.com&quot;&gt;jeff@collegejobconnect.com&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Upload your image to an image hosting service (Picasa, Flickr, etc.).&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;I uploaded our completed image to Picasa and then clicked through to get its URL. I copied that URL, which is about to come into play.&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the image to your FBML custom tab.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiClDeaXOckdWqkgU5_Zec2KVTfBWFTpyWlGjeEjMwOvdObZJTpw0oCvPJcE_SVYZVIlA0saj2qEEVKFYvhLhdYjDzYVqGRckLVkms75qe7JGuoCLqVLCdiJbZPfuLnZUuUNi8mpre_Ev3r/s1600/cjc-edit-fbml.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 137px; border:9px solid #ddd;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiClDeaXOckdWqkgU5_Zec2KVTfBWFTpyWlGjeEjMwOvdObZJTpw0oCvPJcE_SVYZVIlA0saj2qEEVKFYvhLhdYjDzYVqGRckLVkms75qe7JGuoCLqVLCdiJbZPfuLnZUuUNi8mpre_Ev3r/s400/cjc-edit-fbml.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5520008547407985778&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;Click &quot;edit&quot; on your FBML application, and add a &quot;Box Title&quot; (title of your page&#39;s tab) and add an image tag with the source set to the hosted URL from above. Ex. our title was &quot;Welcome&quot; and our FBML was:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;img src=&quot;http://lh4.ggpht.com/_57TjKlYGT9E/TJktZ1UHO8I/AAAAAAAAASw/5OC_0GT-X8s/cjc-fb-welcome-underlined.png&quot; alt=&quot;CollegeJobConnect&quot; /&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Finally, make this custom page the default landing page.&lt;br /&gt;&lt;div style=&quot;color:#666&quot;&gt;Click to edit your page, then click to edit your Wall settings. For the &quot;Default Landing Tab for Everyone Else&quot; setting, select your newly added FBML tab (it will be the title you just entered)&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-grLpSpFLvwh2heARCAxWXuKkCnCl0nf-bVyFhiluh1GzAjsPxl2Zf-5kcHTHKVuVW1ILu50Ad42p3IRr9uvMiGBJhhopamesc31T6iX3Lu4nkO8bhB11vVtlJTpz-s59D6keIvtgmbZI/s1600/cjc-default-page.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 237px; border:9px solid #ddd;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-grLpSpFLvwh2heARCAxWXuKkCnCl0nf-bVyFhiluh1GzAjsPxl2Zf-5kcHTHKVuVW1ILu50Ad42p3IRr9uvMiGBJhhopamesc31T6iX3Lu4nkO8bhB11vVtlJTpz-s59D6keIvtgmbZI/s400/cjc-default-page.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5520011254442756322&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That is basically it. We&#39;ve seen a greater &quot;Like&quot; rate from our page&#39;s visitors after we added the landing page. You can see our final image &lt;a href=&quot;http://lh4.ggpht.com/_57TjKlYGT9E/TJktZ1UHO8I/AAAAAAAAASw/5OC_0GT-X8s/cjc-fb-welcome-underlined.png&quot;&gt;here&lt;/a&gt; and our Facebook page &lt;a href=&quot;http://facebook.com/collegejobconnect&quot;&gt;here&lt;/a&gt; (don&#39;t forget to &quot;Like&quot; us!).  Hope it helps, please email me with any questions, thanks.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/4418108217005444140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/09/how-to-create-custom-facebook-page.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4418108217005444140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4418108217005444140'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/09/how-to-create-custom-facebook-page.html' title='Enhance Your Brand: Create a Custom Facebook Page'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGWtqQ4CB8bFQXkrrvpHquG4CSAaMdQW_O7KhsRvsAjY_jbUI9cQlqPCxNcQwa7qOKrrjHq15-0v_-5aHSYTbDVFA09v2CXopcKC3VH0NfVqZGKOYjEas51DaEGiCW9ECVcizFhIMg8Z-v/s72-c/cjc-public-fb-page.png" height="72" width="72"/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-3566771754533359253</id><published>2010-09-08T19:04:00.000-07:00</published><updated>2010-09-09T08:25:55.791-07:00</updated><title type='text'>Inebriation (like Inception ... but with drinking)</title><content type='html'>Shot where I live ... bravo&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/VsZ1SagUPb4?fs=1&amp;amp;hl=en_US&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/VsZ1SagUPb4?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;640&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/3566771754533359253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/09/inebriation-like-inception-but-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3566771754533359253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3566771754533359253'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/09/inebriation-like-inception-but-with.html' title='Inebriation (like Inception ... but with drinking)'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-3084449089802918264</id><published>2010-05-25T11:19:00.000-07:00</published><updated>2010-05-25T19:38:53.223-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>Minimal Viable Product</title><content type='html'>Aside from the usage of expletives, there are several other similarities in &lt;a href=&quot;http://blog.jwegener.com/&quot; rel=&quot;external&quot;&gt;Jonathan Wegener&lt;/a&gt;&#39;s Minimal Viable Product (MVP) &lt;a href=&quot;http://blog.jwegener.com/2010/04/06/golden-skyscrapers-and-minimal-viable-products/&quot; rel=&quot;external&quot;&gt;article&lt;/a&gt; to my &quot;Kevin Costner is Full of Sh*t&quot; &lt;a href=&quot;http://www.gooddinosaur.com/2010/03/kevin-costner-is-full-of-sht.html&quot;&gt;posting&lt;/a&gt; (more on the title below).&lt;br /&gt;&lt;br /&gt;A little background: an Minimal Viable Product is the 1.0 version of your software, service, product, whatever, that you can go to market with.  It is called minimally viable because it is just that: it is the quickest thing you can whip up that demonstrates your core thesis or offering, with little room for much else.  Reid Hoffman, founder of LinkedIn, famously said: “If you’re not embarrassed by the first version of your product, you’ve launched too late.”&lt;br /&gt;&lt;br /&gt;This principle can be difficult to follow.  Jonathan Wegener, author of &lt;strong&gt;Back of the Envelope&lt;/strong&gt;, points out: &lt;blockquote&gt;&quot;Manhattan is full of gorgeous skyscrapers.  No self-respecting person walks around thinking to themselves &lt;strong&gt;“Gosh, if I were going to build a skyscraper, I’d want mine to look like sh*t.”&lt;/strong&gt;  That just doesn’t happen!  Instead, we have a natural tendency to want to ‘one up’ the status quo: &lt;strong&gt;“I’m going to build a skyscraper out of gold!”&lt;/strong&gt;&quot;&lt;/blockquote&gt;I was guilty of giving into this line of thinking when I was building myBusinessTies in 2005 (a Facebook for Wall Street back when Facebook was just for college kids).  I was following the Kevin Costner &quot;build it and they will come&quot; mantra.  I developed a fully featured and stylistically beautiful networking platform, but had no customers and no idea how to acquire them, or even if they wanted what I was peddling.  My result: long development time and significant effort invested, full product, but no idea if anyone wanted to use it, and no user marketing strategies.&lt;br /&gt;&lt;br /&gt;If following the MVP strategy is the way to go, you might wonder why you don&#39;t see more of them out there.  The answer that Jonathan offers up is: &lt;br /&gt;&lt;blockquote&gt;&quot;the heart of the issue is that very few of these minimal viable products exist in the real world. Why? They rarely stick around! Customer feedback quickly drives additional improvements and features. Soon, memories of the mediocre original product completely fade away!&quot;&lt;/blockquote&gt;Bingo.  MVP either guides your product forward quickly or advises you to cut your losses, avoiding over investment into a less-than-promising venture.  What I should have done with myBusinessTies was spend less time developing and more time reaching out to my potential customer-base, demonstrating the core offering of the platform, gathering feedback, and then iterating my product appropriately (or realizing that Wall Street didn&#39;t want an exclusive web-based network).  Either way, better than marching blindly forward.  &lt;br /&gt;&lt;br /&gt;If it helps, realize your product only has to be an MVP for a short time.  After you gather feedback and have a better idea where to push your product next, you&#39;ll step out of that category towards a Viable Product that is polished and professional.&lt;br /&gt;&lt;br /&gt;The key is this: don&#39;t blindly over develop and over invest, but rather practice customer discovery and development and don&#39;t hesitate to get out in front of potential customers and clients as early as possible.  It will make you a happier entrepreneur.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/3084449089802918264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/05/minimal-viable-product.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3084449089802918264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3084449089802918264'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/05/minimal-viable-product.html' title='Minimal Viable Product'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-2807856821314336629</id><published>2010-05-17T14:23:00.000-07:00</published><updated>2010-05-20T13:21:51.539-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="business plans"/><category scheme="http://www.blogger.com/atom/ns#" term="chicken and eggs"/><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>Solving the &quot;Marketplace&quot; Business Model</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihQMtX1PnejIX3V60RbZzV9jvWhh7kXKIUl6tOwWVB3l7jrUvCeSW3Tm9x6k-l6DGybiK6KMGZxeJjkedzV71S0_qs1uPC79py80La3k3Wo38MplC8J7FsoVK08ZKOeCkY0bmANgDCPYiw/s1600/Screen+shot+2010-05-17+at+5.03.55+PM.png&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 20px 40px;cursor:pointer; cursor:hand;width: 320px; height: 236px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihQMtX1PnejIX3V60RbZzV9jvWhh7kXKIUl6tOwWVB3l7jrUvCeSW3Tm9x6k-l6DGybiK6KMGZxeJjkedzV71S0_qs1uPC79py80La3k3Wo38MplC8J7FsoVK08ZKOeCkY0bmANgDCPYiw/s320/Screen+shot+2010-05-17+at+5.03.55+PM.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5472363329221259378&quot; /&gt;&lt;/a&gt;I came across an interesting article today about how to solve the &quot;marketplace&quot; business model issue.  The article was posted on &lt;a href=&quot;http://asmartbear.com&quot;&gt;A Smart Bear&lt;/a&gt; and you can &lt;a href=&quot;http://blog.asmartbear.com/marketplace-business-model.html&quot;&gt;read the full text here&lt;/a&gt;.  I wanted to share it with the Good Dinosaur collective, perhaps a rousing entrepreneurial discussion will ensue. &lt;br /&gt;&lt;br /&gt;There are several inherent difficulties in establishing a market place: &lt;br /&gt;&lt;br /&gt;&lt;ul class=&quot;goodul&quot;&gt;&lt;li&gt;You have a double-sided market that you must capture. This is also known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Chicken_or_the_egg&quot;&gt;the chicken and egg problem.&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Your venture itself must be two companies in one, appealing to both sides independently to win adoption.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Size can matter. You often can&#39;t bootstrap your way to success when it comes to market place establishment. It can be a go big (and spend big!), or go home situation.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The article discusses several viable ways to persever over these challenges, such as attempting to build up the supply side of your market first by offering incentives or targeting a specific niche so you can carve out a space for yourself. &lt;br /&gt;&lt;br /&gt;At &lt;a href=&quot;http://collegejobconnect.com&quot;&gt;CollegeJobConnect&lt;/a&gt;, we&#39;ve experienced the challenges in establishing a market place, so this article rings especially true. We are currently pursuing several campaigns to build our roster of companies that want to leverage us for undergraduate recruitment come the fall (attack the supply side).  We are also setting up several student affiliate programs at our target schools to increase undergraduate adoption (win both sides in parallel, carve out our niche, scale up quickly).  &lt;br /&gt;&lt;br /&gt;I&#39;d be more than happy to discuss at length with anyone that is interested.  And if you know enterprising undergraduates that are interested in working with our startup, please let me know.  Exciting stuff!</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/2807856821314336629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/05/solving-marketplace-business-model.html#comment-form' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2807856821314336629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2807856821314336629'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/05/solving-marketplace-business-model.html' title='Solving the &quot;Marketplace&quot; Business Model'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihQMtX1PnejIX3V60RbZzV9jvWhh7kXKIUl6tOwWVB3l7jrUvCeSW3Tm9x6k-l6DGybiK6KMGZxeJjkedzV71S0_qs1uPC79py80La3k3Wo38MplC8J7FsoVK08ZKOeCkY0bmANgDCPYiw/s72-c/Screen+shot+2010-05-17+at+5.03.55+PM.png" height="72" width="72"/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-4387035781254674201</id><published>2010-03-22T12:01:00.000-07:00</published><updated>2010-05-15T19:51:19.520-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="question"/><category scheme="http://www.blogger.com/atom/ns#" term="technology"/><title type='text'>What Will Be Facebook&#39;s Adwords?</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjimpT9cRUCTHAPWyKyfxgQIg34LgyENZPb2rVSigG2akPaH-is-j6fz6IyszCdfkaRO20q196XnzdOQKrOSiNwOyLph9meJDvGA0AWpZYaZ5HqrXP3cLIQmdwtp4JZ8oRbAOxkj-A5e5fQ/s1600/Screen+shot+2010-03-25+at+1.35.07+PM.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 195px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjimpT9cRUCTHAPWyKyfxgQIg34LgyENZPb2rVSigG2akPaH-is-j6fz6IyszCdfkaRO20q196XnzdOQKrOSiNwOyLph9meJDvGA0AWpZYaZ5HqrXP3cLIQmdwtp4JZ8oRbAOxkj-A5e5fQ/s200/Screen+shot+2010-03-25+at+1.35.07+PM.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5452644541064254914&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In the summer of 2004 I was interning at an NYC investment bank. We were all handed a booklet that contained the resumes of everyone in the program. Eduardo Saverin was part of our group and stuck around for about 2 days, deciding to abandon the corporate world in favor of his startup. On his resume, he had listed &quot;Co-founder of The Facebook (thefacebook.com), an social network for Ivy league undergraduates that currently has &lt;strong&gt;11 thousand members&lt;/strong&gt; and is valued at &lt;strong&gt;over 6 million dollars&lt;/strong&gt;. (I can&#39;t remember exactly so those numbers might be a bit off, but they are &quot;ball park&quot; close). &lt;br /&gt;&lt;br /&gt;A few short years later, Facebook is now open to the masses, recently &lt;a href=&quot;http://www.pcworld.com/businesscenter/article/192013/facebook_set_to_challenge_google_ad_empire.html&quot;&gt;surpassed 400 million members&lt;/a&gt;, and eclipsed Google to become the &lt;a href=&quot;http://weblogs.hitwise.com/heather-dougherty/&quot;&gt;most visited site in the United States&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Facebook did a great job to popularize itself. Mark Zuckerberg pitched his &lt;a href=&quot;http://blogs.zdnet.com/BTL/?p=5156&quot;&gt;social graph&lt;/a&gt; thesis to gain interest and the creation of a developer&#39;s platform was an ingenious move. Facebook has made it in a big way. It has a larger user population than all of the &lt;a href=&quot;http://www.census.gov/population/www/popclockus.html&quot;&gt;United States&lt;/a&gt; by more than 100 million people. Think about that for a minute. If every man, woman, and child in the United States had a Facebook account (which most do), we&#39;d still be short another 100 million people (so throw in another 12.5 NYC&#39;s and we are even stevens). Even more powerful, of those 400 million users, a large portion checks their account at least once a month, at a minimum. It is a large and &lt;a href=&quot;http://www.gladwell.com/&quot;&gt;sticky&lt;/a&gt; service.&lt;br /&gt;&lt;br /&gt;The company is reportedly on pace to produce between $1-$2 bn in revenue for 2010, which is fantastic, but I wonder what will be Facebook&#39;s money maker that puts their revenue engine in line with their customer and product achievements. A similar story was seen with Google. The search engine was beloved by all that used it, but it&#39;s monetization method was not easily found. Larry and Sergey reportedly attempted to sell it to Yahoo! for a few million dollars as this seemed like the most lucrative exit. It wasn&#39;t until their flagship advertising platform, AdWords, was conceptualized and implemented that the cash started to really flow in. Facebook is clearly beyond this point, but what will take them from a $1-2 bn dollar company to the place they should be for a service with their size and integration into our world. What will be Facebook&#39;s AdWords?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update:&lt;/strong&gt; An &lt;a href=&quot;http://techcrunch.com/2010/03/24/trademark-facebook-credits-logo/&quot;&gt;article on TechCrunch&lt;/a&gt; points to a patent the company recently filed, which features a very global-esque looking virtual currency icon. If all money continues to go digital, could Facebook become the banking or transaction platform of choice for the web? It is already the platform that many use to share pictures, plan events, and communicate.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/4387035781254674201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/03/what-will-facebooks-adwords-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4387035781254674201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4387035781254674201'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/03/what-will-facebooks-adwords-be.html' title='What Will Be Facebook&#39;s Adwords?'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjimpT9cRUCTHAPWyKyfxgQIg34LgyENZPb2rVSigG2akPaH-is-j6fz6IyszCdfkaRO20q196XnzdOQKrOSiNwOyLph9meJDvGA0AWpZYaZ5HqrXP3cLIQmdwtp4JZ8oRbAOxkj-A5e5fQ/s72-c/Screen+shot+2010-03-25+at+1.35.07+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-1688814292200340735</id><published>2010-03-05T01:00:00.000-08:00</published><updated>2010-05-15T19:51:32.642-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="tv"/><title type='text'>Thoughts: The Marriage Ref</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxeQ83RwfTvdk6bcso5W497JRvMHo81bZPkW3-RjuewOT3-tRmIoBu3b021LWdPuDDW1eIfiP8n34D7H_XpSZJV2sxO5XLw8ElbgdCANhcY2pSN80gwnIil3iDnNHIXklfJR4ZgepS5H8H/s1600-h/Screen+shot+2010-03-05+at+10.47.29+PM.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 327px; height: 309px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxeQ83RwfTvdk6bcso5W497JRvMHo81bZPkW3-RjuewOT3-tRmIoBu3b021LWdPuDDW1eIfiP8n34D7H_XpSZJV2sxO5XLw8ElbgdCANhcY2pSN80gwnIil3iDnNHIXklfJR4ZgepS5H8H/s400/Screen+shot+2010-03-05+at+10.47.29+PM.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5445378407813850562&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Everyone&#39;s family is crazy. We all argue about the stupidest things. We get into heated arguments over things that are absolutely trivial.&lt;br /&gt;&lt;br /&gt;To this day, my mother still hounds me about a head board that I used (and lost) freshman year of college to prevent my head from touching a stupidly unsafe in-wall heater positioned directly above my bed. I can tell you this for sure, that piece of furniture is long, long gone. It has been 9 years since our tragic loss. But yet, my mom will sling a &quot;Jeff, have you figured out where it is?&quot; or a &quot;can you go back to your old dorm and check for it?&quot; every now and again. Once we get going down this road, the discussion quickly devolves into how careless I am and how insane she is. I guarantee you, if she reads this posting, I will get a call. It will start off with some laughing and banter (Mom: &quot;Oh ha ha, you are funny, I don&#39;t care about that stuff, I don&#39;t act like that ha ha&quot;) and will end along the lines of &quot;Well Jeff, don&#39;t come back up to Vermont until you find that damn head board. You ruined your bed and don&#39;t even care&quot; (hangs up the phone).&lt;br /&gt;&lt;br /&gt;Seeking to capitalize on everyday squabbles such as these, the NBC braintrust unleashed a new show called &quot;The Marriage Ref&quot; where a panel of hosts reviews a family&#39;s fight and then declares a winner (and, more importantly, a loser). The first show had a star-studded line up, featuring funny woman Tina Fay, funny man Jerry Seinfeld, and all around beauty, Eva Longoria. Jerry Seinfield is also the shows executive producer, so it has to be good, right? Nope. I&#39;m not a buyer.&lt;br /&gt;&lt;br /&gt;Why not? I couldn&#39;t put my figure on it initially. My family gets into fights that are equally, if not more, stupid, silly, and annoying than the ones presented. And I certainly don&#39;t have Mr. Seinfeld or Mrs. Fay providing witty commentary or funny insights. But I just couldn&#39;t watch this show. I wanted to break my TV. Then I realized why.&lt;br /&gt;&lt;br /&gt;Even though my family gets into its fair share of absolutely inane arguments that would fit in nicely with the ones presented by the show, I love my family and can thus deal with the complaining, the fighting, the absurd whatevers that inevitably take place. I don&#39;t love the families presented. Not at all. I can look back at past personal family feuds and smile and laugh. Our problems seem funny. But, without my love for the individuals involved, there is nothing keeping my inner Hulk from becoming  immensely angered and annoyed, so I really don&#39;t see this show ever agreeing with me. Anyone else watch this show and have opinions?&lt;br /&gt;&lt;br /&gt;Hi Mom!</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/1688814292200340735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/03/thoughts-marriage-ref.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/1688814292200340735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/1688814292200340735'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/03/thoughts-marriage-ref.html' title='Thoughts: The Marriage Ref'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxeQ83RwfTvdk6bcso5W497JRvMHo81bZPkW3-RjuewOT3-tRmIoBu3b021LWdPuDDW1eIfiP8n34D7H_XpSZJV2sxO5XLw8ElbgdCANhcY2pSN80gwnIil3iDnNHIXklfJR4ZgepS5H8H/s72-c/Screen+shot+2010-03-05+at+10.47.29+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-7646860042730383792</id><published>2010-03-01T00:15:00.000-08:00</published><updated>2010-05-15T19:51:43.157-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>Kevin Costner is Full of Sh*t</title><content type='html'>Kevin Costner is full of sh*t ... when it comes to startups at least. &lt;strong&gt;Build it and they will come&lt;/strong&gt;. I implore you, do not listen to this man! This line of thinking is &lt;i&gt;out in left field&lt;/i&gt; (har har). &lt;br /&gt;&lt;br /&gt;I have to admit, I used to subscribe to this tag line. A few years back, I felt that if the idea was there, all that was barring a venture from success was time, effort, and determination. As a result, several of my early projects were drastically over engineered and tragically under utilized. &lt;br /&gt;&lt;br /&gt;Case in point, in a 2005 project a friend and I wrote an entire professional network platform. It was Facebook meets LinkedIn (this was back when FB was still only for college kids and LinkedIn was lame). We were going to make the professional network that young professionals wanted and needed to join. We would monetize it somehow, but with the eyes and ears of tomorrow&#39;s top earners, we felt this would &quot;fall into place&quot; (don&#39;t follow this either). We wrote over 50,000 LoC. It did everything: secure login, password reset, profile creation, group formation, group messaging, secret groups, public groups, photo upload, friend requests, etc. etc. etc. We saw about 150 members over the next few months with few &quot;sticky members.&quot; The issue wasn&#39;t that we had built a bad product / service, but more that we hadn&#39;t done our homework and gathered real world data before setting up shop.&lt;br /&gt;&lt;br /&gt;What could we have done differently? We should have given a big middle finger to Kevin Costner and incrementally tested our thesis: &lt;i&gt;young professionals (especially those in major urban environments a la New York City, Boston, DC, and so on) need a better way to network in the work place&lt;/i&gt;. At the very least, before we wrote a single script, we should have sent out an email to our friends (we probably could have gotten 500+ addresses, all in our target demographic) and asked if this perceived pain point (them: &quot;we need better networking capabilities!&quot;) was a reality. If yes, did our proposed solution solve the problem? Make it worse? After passing these first sanity checks and receiving some initial buy in, we then could have produced a vastly trimmed down initial service (minimally viable product) to test actual adoption and utilization and gone from there. These would have been intelligent, no brainer steps to have taken. But as developers we often don&#39;t do this. We get into the groove and let the code fly. Projects like this burn you out both emotionally and entrepreneurially. You only have so much fuel in the furnace and hours in the day, so choose wisely.&lt;br /&gt;&lt;br /&gt;This insight sprung up in my head over the past week when discussing a friend&#39;s startup idea. (No, &lt;a href=&quot;http://www.baddinosaur.com&quot; class=&quot;badDino&quot;&gt;not Bad Dinosaur&lt;/a&gt;). He had built a great product and wanted me to test it out. I told him I&#39;m not going to be one of his likely early adopters and to go to XX [a popular blog dedicated to people he&#39;d likely want to start off with] and start recruiting people (could even do this before any coding whatsoever). See if they are interested. If so, why? If not, why not? Which of the first features did they think were absolutely necessary, which were nice-to-haves, and which were unnecessary?&lt;br /&gt;&lt;br /&gt;When giving a startup a go, you certainly have to have that optimistic dedication and drive to succeed as Kevin Costner demonstrated in &quot;Field of Dreams.&quot; But rather than going whole hog right out of the gate, leveling his entire farm, and hoping for the best, Mr. Costner likely should have only hashed out a pitchers mound, picked up a few bats, and laid down some old shirts as bases. Then he could see if a any corn stalks began to rustle at night, or if that voice in his head starts to whisper further instructions (&quot;now add bench seating, we want bench seating&quot; || &quot;no, I meant build a basketball court, dummy!&quot;).</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/7646860042730383792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/03/kevin-costner-is-full-of-sht.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/7646860042730383792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/7646860042730383792'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/03/kevin-costner-is-full-of-sht.html' title='Kevin Costner is Full of Sh*t'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-4778501974209078097</id><published>2010-01-30T13:12:00.000-08:00</published><updated>2010-05-15T19:52:14.250-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><title type='text'>Don&#39;t Be A Fatty (Rails Controller)</title><content type='html'>&lt;div style=&quot;padding:1em;background-color:#ddd;border-bottom:1px solid #aaa;&quot;&gt;&lt;strong&gt;WYMC&lt;/strong&gt;&lt;br /&gt;(&lt;strong&gt;&lt;u&gt;w&lt;/u&gt;&lt;/strong&gt;hy &lt;strong&gt;&lt;u&gt;y&lt;/u&gt;&lt;/strong&gt;ou &lt;strong&gt;&lt;u&gt;m&lt;/u&gt;&lt;/strong&gt;ight &lt;strong&gt;&lt;u&gt;c&lt;/u&gt;&lt;/strong&gt;are is my effort to help you make your decision to read this posting more efficient. WYMC is a quick summary and the high level questions I pose so you can determine if you&#39;d like to read the whole article or not) &lt;br /&gt;---&lt;br /&gt;During a project&#39;s build, I decided to use the ApplicationController / session store to implement a high level, expandable filtering system. Design decision allowed quick development, but fattened up the ApplicationController and feels more like &quot;The PHP Way&quot; rather than &quot;The Rails Way&quot;. Critiques of the currently implemented system and viable alternatives requested.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As some of you know, &lt;a href=&quot;http://www.gooddinosaur.com/2010/01/listen-to-me-and-powerpoint-damnit.html&quot;&gt;I accidentally bid on a consulting project a month or so ago and was awarded the mandate.&lt;/a&gt; Oops. One of the major requirements for this application was a filtering system that was user specific and semi-persistent (filters needed to hang around while the user was logged in, despite jumping around to different views). The filtering system needed to be easily added to a model / view as per the client&#39;s request and adding / removing which criteria were &quot;filterable&quot; needed to be immensely flexible (as it was not set in stone what dimensions we would want to filter upon for any of the given models). The number of total users using this application at any one time would be very low. Oh yeah, and all this needed to be built super fast.&lt;br /&gt;&lt;br /&gt;With an eye on speed of initial development and ease to quickly and seamlessly expand / extend down the line I set off down the coding road. I ended up with the following work flow for the filtering system. I look to you, internet, for feedback.&lt;br /&gt;&lt;br /&gt;I leveraged the &lt;code&gt;ApplicationController&lt;/code&gt; and a &lt;code&gt;before_filter&lt;/code&gt; to scan for any new filters being added or removed via the params hash on each page load (&lt;code&gt;ApplicationController#handle_filters&lt;/code&gt;). This method either adds or removes a specified filter to or from the session hash, for example:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;session[&quot;#{controller_name.downcase.singularize}_filters&quot;].push( params[:filter_to_add] )&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I thought about associating the filters with the currently logged in User, but this seemed a bit overkill, especially given my time constraint. The session, while somewhat bush league, seemed like a good fit.&lt;br /&gt;&lt;br /&gt;Next I created a &lt;code&gt;shared/filter_controls&lt;/code&gt; partial that can be dropped into any model&#39;s view, which renders a standard filter control with a pre-populated list of acceptable filters for the current controller / model. &lt;br /&gt;&lt;br /&gt;Now filters can be added / removed from the session and a nice UI component is readily available. How do they actually trim down the items returned? To make a model &quot;filterable&quot; I added a &lt;code&gt;#find_all_matching&lt;/code&gt; method and pass it the model-specific session key (&lt;code&gt;Dinosaur.find_all_matching(session[:dinosaur_filters]&lt;/code&gt;). This method finds all if the passed filter hash is blank, otherwise it processes the filters and sets up the appropriate set of conditions to apply to the query.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Positives:&lt;/strong&gt; quick build; dead simple to add a filter; ApplicationController handles where to put the specified filter based upon the current controller; filters are semi-persistent; making a model &quot;filterable&quot; just requires adding a custom method to process any associated filters.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Negatives:&lt;/strong&gt; Feels more like &quot;The PHP Way&quot; rather than &quot;The Rails Way&quot;; Fat ApplicationController:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigbvi3_skQ8mjNqcs5DFaFtEYtDiF9TYK76lQNaINWsmrhXBR2INjIzKqt-otMeDMTplTSbhQ-5B3ioCZfI1U51AxkvcZwaqN67eVkxURNCuAnpxPPHP5IONFRM0oCplKd6fVjTK0K4RDm/s1600-h/controller-meat.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 189px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigbvi3_skQ8mjNqcs5DFaFtEYtDiF9TYK76lQNaINWsmrhXBR2INjIzKqt-otMeDMTplTSbhQ-5B3ioCZfI1U51AxkvcZwaqN67eVkxURNCuAnpxPPHP5IONFRM0oCplKd6fVjTK0K4RDm/s400/controller-meat.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5432707491904412418&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Gross. Look at all that meat.&lt;br /&gt;&lt;br /&gt;Given the current system, where are areas of improvement? Given more time to develop, what would be a superior set up?</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/4778501974209078097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/01/dont-be-fatty-rails-controller.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4778501974209078097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4778501974209078097'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/01/dont-be-fatty-rails-controller.html' title='Don&#39;t Be A Fatty (Rails Controller)'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigbvi3_skQ8mjNqcs5DFaFtEYtDiF9TYK76lQNaINWsmrhXBR2INjIzKqt-otMeDMTplTSbhQ-5B3ioCZfI1U51AxkvcZwaqN67eVkxURNCuAnpxPPHP5IONFRM0oCplKd6fVjTK0K4RDm/s72-c/controller-meat.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-6703943657226203791</id><published>2010-01-26T13:32:00.000-08:00</published><updated>2010-05-15T19:52:23.567-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>Listen To Me (and PowerPoint), Damnit!</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimol-AswVigS2bvSYlk7YMhWHGQb3TK1gNG0rwav-AGyxZzp1FAWze90AUFjsJg3GZkZ9aIWFzx89L4UT9iU5t3FTjmoKyHLeagPr0dbIwSP6so_VxCyBLh-07qnFB2HaW6IS2nckklIDz/s1600-h/Screen+shot+2010-01-26+at+5.18.27+PM.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 292px; height: 298px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimol-AswVigS2bvSYlk7YMhWHGQb3TK1gNG0rwav-AGyxZzp1FAWze90AUFjsJg3GZkZ9aIWFzx89L4UT9iU5t3FTjmoKyHLeagPr0dbIwSP6so_VxCyBLh-07qnFB2HaW6IS2nckklIDz/s320/Screen+shot+2010-01-26+at+5.18.27+PM.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5431192114991145938&quot; /&gt;&lt;/a&gt;&lt;br /&gt;I used to hate PowerPoint. I previously worked at an &lt;a href=&quot;http://www.ugo.com/movies/psychopaths/images/entries/Patrick.jpg&quot; target=&quot;_blank&quot;&gt;investment bank in NYC&lt;/a&gt; and putting together presentations were a major responsibility for us analysts. It was a task I dreaded. How dry! How dull! What a waste of time! What&#39;s the point?!&lt;br /&gt;&lt;br /&gt;Well, my opinion has since shifted. About a month and a half ago I was catching up with a friend of mine (no, not &lt;a href=&quot;http://www.baddinosaur.com&quot; target=&quot;_blank&quot; class=&quot;badDino&quot;&gt;Bad Dinosaur&lt;/a&gt;) when he asked if he could run something by me. We discussed a problem his company was having and the current solutions they were considering. I thought about the options they had on the table and told him that none sounded like very solid solutions, especially for the attached price tags. I was then asked if I would be interested in building a custom solution, to which I responded &quot;yes&quot; - hooray, now I&#39;m an independent contractor!&lt;br /&gt;&lt;br /&gt;A month later, I sat at my desk composing a PowerPoint presentation detailing the work I&#39;d done. I was spinning the tale of how the application solved their problem, how it worked and, more importantly, why my &quot;client&quot; should subscribe to (or outright buy) this software from me. I started thinking, I used to hate this stuff. PowerPoint Presentations suck. Why am I not having any of these thoughts ripping through my head right now? &lt;strong&gt;It hit me: tomorrow morning I will have a captive audience of decision makers (those that control the purse-strings) for 45 minutes to an hour! I get to sell them for a full hour! I get to hand them a document that details the value proposition of what I&#39;m peddling and they have to listen to me!&lt;/strong&gt; Why do I think this is a big deal?&lt;br /&gt;&lt;br /&gt;At my other venture, &lt;strong&gt;&lt;a href=&quot;http://www.collegejobconnect.com&quot; target=&quot;_blank&quot;&gt;CollegeJobConnect&lt;/a&gt;&lt;/strong&gt;, it is a constant battle to get people to give you even just 5-10 seconds of their time. Whether it&#39;s trying to spark interest from a group of students, sell our concept to a company that is looking to hire or just &quot;recruit better,&quot; or gain the ear of a potential investor / advisor, getting them to listen and care is a constant battle. The venture&#39;s other co-founder (#your link here, when you get a blog!) and I are constantly discussing marketing principles, customer conversation rates, A/B testing, funnels, and all that good stuff to help improve our &quot;attention grabbing&quot;-ness.&lt;br /&gt;&lt;br /&gt;So what&#39;s the point to all this? There are a few. The first is pretty obvious, but harder to put into practice then you&#39;d think. &lt;strong&gt;Whatever you are making, selling, or providing, make sure you have an audience to market to and make sure you can reach them effectively.&lt;/strong&gt; An audience with existing demand is even better as you will be their potential savior and have to do less convincing of why they should a) hear what you have to say, b) use or do whatever you are asking them to do. Complete strangers are hard to acquire as customers and unveiling some web-service (or any new product) that fills everyone that lay eyes on it with joy and happiness and compels them to share it with their friends is damn near impossible. &lt;br /&gt;&lt;br /&gt;I truly thought that once CollegeJobConnect&#39;s website was up and we emailed out to various on-campus newspapers about our venture there would be a tidal wave of support and interest solely based on our concept. Not so much. Again, getting people&#39;s attention is extremely difficult, especially when a) they don&#39;t know you, b) they have no perceived need for your product / service, or they don&#39;t understand it.&lt;br /&gt;&lt;br /&gt;Secondly, &lt;strong&gt;Get Involved.&lt;/strong&gt; Broadcast what you are working on, what you&#39;re interested in, and what your specialties are. Build stuff and learn by doing. The only reason I fell ass-backwards into this job was because my friend remembered that I was &quot;working on some web-thing that helped kids find jobs or something&quot; (this is unfortunately his understanding of CollegeJobConnect, and he&#39;s a close friend!). Put a lot of pokers in the fire, you never know which ones will get hot. Furthermore, do you think I would have learned RoR, Capistrano, HAML, etc. without this new project? I don&#39;t like to swear, but no f*ing way. So don&#39;t be shy, jump into the deep end. Your efforts will yield benefits in one way or another, I promise you that.&lt;br /&gt;&lt;br /&gt;Finally, &lt;strong&gt;all work is cumulative, so treat it as such&lt;/strong&gt;. Looking back, yeah, I didn&#39;t like PowerPoint Presentation composition, but I should have attacked it with a bit more drive. I&#39;m now spending time learning things I should have already had under my belt. If what you are doing is not too fun or seems dull (but pays the bills right now), take a step back and think about how it is preparing you for future projects and how it is making you a more skilled and valuable individual. Hone your skills and take pride in your work. &lt;br /&gt;&lt;br /&gt;All in all, I now look at creating a PowerPoint presentation as a reward for hard work. It is my time to shine and convince you to do what I&#39;m pitching. And I&#39;ll probably get more than a few seconds to do so :)</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/6703943657226203791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/01/listen-to-me-and-powerpoint-damnit.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6703943657226203791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6703943657226203791'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/01/listen-to-me-and-powerpoint-damnit.html' title='Listen To Me (and PowerPoint), Damnit!'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimol-AswVigS2bvSYlk7YMhWHGQb3TK1gNG0rwav-AGyxZzp1FAWze90AUFjsJg3GZkZ9aIWFzx89L4UT9iU5t3FTjmoKyHLeagPr0dbIwSP6so_VxCyBLh-07qnFB2HaW6IS2nckklIDz/s72-c/Screen+shot+2010-01-26+at+5.18.27+PM.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-3315298473081827057</id><published>2010-01-05T20:54:00.001-08:00</published><updated>2010-05-15T19:52:33.197-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="nerd alert"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><title type='text'>Riding the Rails Train</title><content type='html'>A few weeks back I decided to bite the bullet and get on the Rails Train. Complete confusion was my first thought upon reading through a few Rails tutorials. There is no end to the number of articles about Rails on the web (now there is one more!) and I was feeling a little lost trying to determine where to start. So I figured I&#39;d start with the basics and began reading about Ruby (created by Matz in Japan), the base language of Ruby on Rails. &lt;br /&gt;&lt;br /&gt;I purchased &lt;a href=&quot;http://www.coverbrowser.com/image/oreilly-books/718-1.jpg&quot; target=&quot;_blank&quot; title=&quot;Look at that giraff!&quot;&gt;Ruby by Oreilly&lt;/a&gt; and read through it diligently, computer always at the ready to test out examples from the tome. Ruby takes a little while to get your head around, especially if you are a closet, wannabe coder n00b like myself. For example, I was used to iterative loops such as (for PHP):&lt;br /&gt;&lt;br /&gt;for($i=0; $i &gt; myCollectionOfThings.len(); $i++) { prints myCollectionOfThings[$i] }&lt;br /&gt;&lt;br /&gt;What the heck are blocks? Yield? Bah! Needless to say, it took a few days to get used to.&lt;br /&gt;&lt;br /&gt;So now with just enough Ruby under my belt to make me dangerous, I moved on to Rails. I started with the basics again, reading through each section of the &lt;a href=&quot;http://guides.rubyonrails.org/&quot; target=&quot;_blank&quot;&gt;Ruby on Rails&lt;/a&gt; website. I was thrust into a land of &lt;a href=&quot;http://www.paulnoll.com/Oregon/Birds/Avian-migration-Swans.jpg&quot; title=&quot;no, not those&quot; target=&quot;_blank&quot;&gt;migrations&lt;/a&gt;, YAML, &lt;a href=&quot;http://www.neilblevins.com/cg_education/towels_carpet_grass/towel.jpg&quot; target=&quot;_blank&quot;&gt;DRYing&lt;/a&gt;, &lt;a href=&quot;http://ecx.images-amazon.com/images/I/51GOrObphWL._SL500_AA280_.jpg&quot; target=&quot;_blank&quot;&gt;REST&lt;/a&gt;, MVC (model, view, controller), routing, and other magical concepts.&lt;br /&gt;&lt;br /&gt;As I pushed forward from topic to topic, making progress here, hitting a wall there, it started to make sense why the Rails logo-of-choice is a train. I started to feel like a coding conductor, all my objects easily aboard my locomotive, quickly eating up the track and rushing towards project creation (wow, that was possibly the nerdiest thing I&#39;ve said in a long, long while). I remember being amazing, even feeling a little sorry for myself for not getting aboard sooner! I started to see projects written in other languages would take immensely longer to develop, and worse, would not be as elegant, well organized, and easily shared. The MVC framework and &quot;Convention Over Configuration&quot; principle guide Rails developers, from the newbies to the veterans, on how a basic web-app is structured, how to use as little code as is efficiently and &quot;readibly&quot; possible, and what goes where.&lt;br /&gt;&lt;br /&gt;The train metaphor was also driven home recently when I was trying to deploy an app on a remote server. I felt like I was in the middle of a train wreck. As wonderful and beautiful as Rails is, it is also a complicated organism with a lot of deep, moving parts. Rolling out an application has even more layers to it and computers don&#39;t really do &quot;hey, you *almost* got the configuration right&quot;, but rather just crash.&lt;br /&gt;&lt;br /&gt;But after spending about and hour or two tracking down my issue and debugging (more to come on this via another post), I pulled myself from the twisted metal and wreckage, relieved and happy again. Rails does a great job of telling you where it is getting tripped up so you can Sherlock Holms your way out of it (the issue ended up being an outdated gem the hosting service was forcing me to unknowingly use, rather than my nice, shiny, up-to-date ones). Using a different technology likely would have taken me several times longer.&lt;br /&gt;&lt;br /&gt;Gems bring another element to Rails that really should make anyone thinking about getting into Rails jump on in. The iPhone is the beautiful gadget, but the apps put it head and shoulders above the rest. Same with Rails. There is a vibrant, talented, and witty group of developers that contribute amazing add-ons to a Rails application (&quot;There&#39;s a gem for that&quot; anyone?).&lt;br /&gt;&lt;br /&gt;It really amazes me how abstracted web development has become. A year or two ago I was writing straight HTML, crafting SQL statements, writing login scripts, and the like. Now its all HAML, find_by_this&#39;s, acts_as_auth, etc. While I initially felt a bit disconnected by this, the benefits it brings are immense: less time worrying about stuff that has been done and tested a thousand times leaves more time to build a better service and be a better developer.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/3315298473081827057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2010/01/riding-rails-train.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3315298473081827057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3315298473081827057'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2010/01/riding-rails-train.html' title='Riding the Rails Train'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-4437652498820091519</id><published>2009-11-19T13:09:00.000-08:00</published><updated>2010-05-15T19:52:42.252-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="nerd alert"/><title type='text'>Augmented Reality. Better Than Real Reality (well, not yet!)</title><content type='html'>Hello all, hope your day is going well. Mine? Thanks for asking. It is great. So one thing that has been on my mind for sometime is &lt;strong&gt;Augmented Reality&lt;/strong&gt;. &lt;br /&gt;&lt;br /&gt;For those that aren&#39;t familiar with this, I really like how Robin Wauters at &lt;a href=&quot;http://www.techcrunch.com&quot; target=&quot;_blank&quot;&gt;Techcrunch&lt;/a&gt; describes it:&lt;br /&gt;&lt;br /&gt;&lt;quote&gt;... basically it’s the placement of a digital layer of information on top of a real-life view of the world around you, as seen through e.g. a mobile phone’s camera lens. Using augmented reality, you could be using your smartphone to glance around the main square of a city you’re visiting and get up-to-date information about nearby restaurants, ATMs, real estate offers, and more on-screen, bolted on top of what you’d be seeing if you weren’t looking through the lens.&lt;/quote&gt;&lt;br /&gt;&lt;br /&gt;I like to think of it as one (small) step closer to being a total virtual reality setting, however you are still based in real reality (i.e. walking around in the real world, but seeing virtual things combined with real world things). &lt;br /&gt;&lt;br /&gt;There are several companies and applications that are already making some waves in this space. &lt;a href=&quot;http://layar.com/&quot; target=&quot;_blank&quot;&gt;Layar&lt;/a&gt; is the one that comes to my mind. Another is the Urbanspoon iPhone application. With it, you hold up your iPhone and it will overlay aggregated restaurant approval rating:&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB61L-TlifxbzCv4SrccoDu3Zjz5dzUknkuvx2o5g8GwtqNAYbrQzxDAkc8YWleFKIKbkSqVNaSdUERbBkw6yM_z8CZkgHD3kXpTIlLTRWASTsM-aeMa8BBWNf4A5WB4UDPnI5Glg-nQmI/s1600/Screen+shot+2009-11-19+at+3.48.39+PM.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 272px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB61L-TlifxbzCv4SrccoDu3Zjz5dzUknkuvx2o5g8GwtqNAYbrQzxDAkc8YWleFKIKbkSqVNaSdUERbBkw6yM_z8CZkgHD3kXpTIlLTRWASTsM-aeMa8BBWNf4A5WB4UDPnI5Glg-nQmI/s400/Screen+shot+2009-11-19+at+3.48.39+PM.png&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5405935630048306690&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The main short-comings in the fledgling augmented reality industry: &lt;br /&gt;&lt;ul class=&quot;goodul&quot;&gt;&lt;li&gt;&lt;strong&gt;Crappy viewing methods&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;No &lt;a href=&quot;http://en.wikipedia.org/wiki/Killer_application&quot; target=&quot;_blank&quot;&gt;killer-app&lt;/a&gt;&lt;/strong&gt; yet&lt;/li&gt;&lt;/ul&gt;Currently, the best way that I can tell for utilizing an augmented reality &quot;layer&quot; is by opening an application on your mobile device (iPhone, crackBerry, etc.) and then holding it up so the camera / compass takes in what it is being pointed at. The software on the device renders the image received from the camera plus adds the request information on top of the image (for example, if you are looking at a construction site, the application could retrieve information of the up coming building that will be in the now empty lot and render it on the screen, as if it were there). &lt;br /&gt;&lt;br /&gt;This delivery method is silly. I do not want to go around holding up my phone and viewing it through a little screen. Worse, you are not immersed in your new, layered world. You are only getting an extremely small sneak peak of this altered reality. What would be better?&lt;br /&gt;&lt;br /&gt;What if you had a set of glasses that you could plug into your phone that could send / receive information and lightly overlay the rendering data to the glasses? Much like a &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Head-up_display&quot; target=&quot;_blank&quot; title=&quot;HUD&quot;&gt;Heads Up Display&lt;/a&gt;&quot; used in fighter jets and some car windshields. You would now have a hands free device that displays the request information in a much more elegant manner and you can experience the augmented reality more seamlessly. &lt;br /&gt;&lt;br /&gt;Under this set up, the phone is the data receiver / sender, the application on the mobile device is the processor, the application it is sending / receiving data to / from is the data source, and the glasses are the display. Creating such a product would be quite expensive and take excessive R&amp;D, so without a large market to pull down revenue from, there is little incentive to venture into it (too much perceived risk, not enough perceived reward). This brings me to my second point.&lt;br /&gt;&lt;br /&gt;All the applications I&#39;ve seen that augment reality are cool, but that&#39;s about as much praise as I&#39;d give them. There is no really, really compelling application that would significantly improve my life and make me want to part with my hard earned dollars. Showing me who and where people are around me that recently submitted Tweets? Displaying a pin-point on a restaurant I&#39;m looking at and showing me a review? Booooo.&lt;br /&gt;&lt;br /&gt;I don&#39;t know what the game changing application would be (if I had an idea, I wouldn&#39;t be writing this post, I&#39;d be trying to build it!), but fine, I&#39;ll take a guess. I think it could be a &lt;span style=&quot;font-style:italic;&quot;&gt;game&lt;/span&gt;. Yes, a game. &lt;br /&gt;&lt;br /&gt;Imagine it! People go out and play paintball and laser tag. I pay $50 per year to play Halo 3 against other people from around the world. What if you could be playing a real life game in a large structure or enclosed area, but instead of shooting your friends with balls of paint or firing &quot;lasers&quot; at them you are fighting against &quot;virtual&quot; enemies, or aliens, or whatever? What if you could be in a field with a group of friends in real life. All of you are wearing the aforementioned glasses for visual augmented reality, a head set for communication with your team and, more importantly, for *audio* augmented reality (which would be in step with the visual augmented reality), and with a &quot;gun&quot; that is also synched with the rest of the whole system. All of a sudden a space ship screams in from above, extra-terrestrial guns blazing? And then zombies come sprinting at you from the tree line? You and your friends must act as a team and defend your area and fend them off!&lt;br /&gt;&lt;br /&gt;I&#39;d pay for that.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/4437652498820091519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/11/augmented-reality-better-than-real.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4437652498820091519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4437652498820091519'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/11/augmented-reality-better-than-real.html' title='Augmented Reality. Better Than Real Reality (well, not yet!)'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB61L-TlifxbzCv4SrccoDu3Zjz5dzUknkuvx2o5g8GwtqNAYbrQzxDAkc8YWleFKIKbkSqVNaSdUERbBkw6yM_z8CZkgHD3kXpTIlLTRWASTsM-aeMa8BBWNf4A5WB4UDPnI5Glg-nQmI/s72-c/Screen+shot+2009-11-19+at+3.48.39+PM.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-3260852058259880571</id><published>2009-11-13T12:24:00.000-08:00</published><updated>2010-05-15T19:52:51.000-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="math"/><category scheme="http://www.blogger.com/atom/ns#" term="monte carlo"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><title type='text'>Male / Female + Solution</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNoPSmrqrz3a21baQ5mioqaUQe3pNILYYiTz4S0yj-0RvgPShATJDPqMiSnm7HocqWjfsCgu2hu9bavYJcrtHBCsaKFTCidzCogAF9wHtOsxoEuUYu8ME65u8AULeG-Z6DwILI0Xq8b-e/s1600-h/HS7036.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 200px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNoPSmrqrz3a21baQ5mioqaUQe3pNILYYiTz4S0yj-0RvgPShATJDPqMiSnm7HocqWjfsCgu2hu9bavYJcrtHBCsaKFTCidzCogAF9wHtOsxoEuUYu8ME65u8AULeG-Z6DwILI0Xq8b-e/s200/HS7036.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5403687425871420866&quot; /&gt;&lt;/a&gt;Math question: &lt;br /&gt;&lt;br /&gt;&quot;In a country in which people only want boys, every family continues to have children until they have a boy. If they have a girl, they have another child. If they have a boy, they stop. What is the proportion of boys to girls in the country?&quot;&lt;br /&gt;&lt;br /&gt;Please post your solution + answer in the comments. GO!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----- &lt;strong&gt;Solution&lt;/strong&gt; -----&lt;br /&gt;&lt;br /&gt;Thank you to all that emailed me and posted in the comments! The first responder with the correct answer was Gary H., however, he volunteered to disqualify himself because he had seen the question before (what a noble man!). &lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;winner&lt;/strong&gt; is &lt;strong&gt;Paul R.&lt;/strong&gt; A case of Snuggies is on it&#39;s way to you as your prize. &lt;br /&gt;&lt;br /&gt;Honorable mention goes out to Dan D and Adam C. No, no honorable mention goes to &lt;a href=&quot;http://www.baddinosaur.com&quot; class=&quot;badDino&quot; target=&quot;_blank&quot;&gt;Bad Dinosaur&lt;/a&gt;, he didn&#39;t even play.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Here it is:&lt;/strong&gt; we assume that the probabilities of having a boy vs girl is 50%. Next, assume there are N families, so there will be N boys at the end (because the families keep going until they have a boy. N families. N boys). From the girl side, we can see the following:&lt;br /&gt;&lt;br /&gt;round 1: N/2 have a boy and stop, N/2 have a girl, so N/2 girls so far&lt;br /&gt;round 2: N/2 families left, 50% have a girl, so N/4 (0.5*N/2 = N/4)&lt;br /&gt;round 3: N/4 families left, 50% have a girl, so N/8 (0.5*N/4 = N/8)&lt;br /&gt;&lt;br /&gt;You get the idea. There will be an &quot;infinite&quot; sum equal to:&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;N/2 + N/4 + N/8 ... N / infinity = N&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Note: this follows from Series basics (&lt;a href=&quot;http://en.wikipedia.org/wiki/Series_%28mathematics%29&quot; target=&quot;_blank&quot;&gt;read more here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;So number of boys equals N, and number of girls equals N, the ratio is N:N or &lt;strong&gt;1:1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Monte Carlo simulation supports these findings (thanks to Paul R. for the lovely ruby code):&lt;br /&gt;&lt;em&gt;Example output:&lt;/em&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Family problem, 1000000 trials:&lt;br /&gt;&lt;br /&gt;997496 girls, 1000000 boys&lt;br /&gt;1.997496 children per family&lt;br /&gt;&lt;strong&gt;0.997496 girls per boy&lt;/strong&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div class=&quot;textmate-code&quot;&gt;&lt;br /&gt;&lt;pre class=&quot;textmate-source twilight&quot;&gt;&lt;span class=&quot;source source_ruby&quot;&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt;!/usr/bin/env ruby&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; usage: ./family.rb [trials]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; Family problem, 1000000 trials:&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; 997496 girls, 1000000 boys&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; 1.997496 children per family&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; 0.997496 girls per boy&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; Ran in 15.508096s&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;meta meta_class meta_class_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_class keyword_control_class_ruby&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby&quot;&gt;Array&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;rand&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;comment comment_line comment_line_number-sign comment_line_number-sign_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_comment punctuation_definition_comment_ruby&quot;&gt;#&lt;/span&gt; A spoonful of sugar helps the medicine go down&lt;br /&gt;&lt;/span&gt;    &lt;span class=&quot;variable variable_language variable_language_ruby&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby&quot;&gt;(&lt;/span&gt;length&lt;span class=&quot;keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;support support_class support_class_ruby&quot;&gt;Kernel&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;rand&lt;span class=&quot;punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;floor&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;meta meta_class meta_class_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_class keyword_control_class_ruby&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_type entity_name_type_class entity_name_type_class_ruby&quot;&gt;Family&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_with-arguments meta_function_method_with-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;initialize&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_ruby&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;variable variable_parameter variable_parameter_function variable_parameter_function_ruby&quot;&gt;complete &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;constant constant_language constant_language_ruby&quot;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_parameters punctuation_definition_parameters_ruby&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby&quot;&gt;@&lt;/span&gt;children&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block&quot;&gt; &lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boy&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_separator punctuation_separator_key-value&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girl&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_separator punctuation_separator_key-value&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;}&lt;/span&gt;&lt;br /&gt;    complete! &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;if&lt;/span&gt; complete&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;boys&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby&quot;&gt;@&lt;/span&gt;children&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boy&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;girls&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby&quot;&gt;@&lt;/span&gt;children&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girl&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;have_child!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;variable variable_other variable_other_readwrite variable_other_readwrite_instance variable_other_readwrite_instance_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_variable punctuation_definition_variable_ruby&quot;&gt;@&lt;/span&gt;children&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boy&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girl&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;rand&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;1&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;complete!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    have_child! &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;until&lt;/span&gt; complete?&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class=&quot;meta meta_function meta_function_method meta_function_method_without-arguments meta_function_method_without-arguments_ruby&quot;&gt;&lt;span class=&quot;keyword keyword_control keyword_control_def keyword_control_def_ruby&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;entity entity_name entity_name_function entity_name_function_ruby&quot;&gt;complete?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    boys &lt;span class=&quot;keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;1&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;iterations &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;support support_class support_class_ruby&quot;&gt;ARGV&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;length &lt;span class=&quot;keyword keyword_operator keyword_operator_comparison keyword_operator_comparison_ruby&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;0&lt;/span&gt;&lt;br /&gt;               &lt;span class=&quot;support support_class support_class_ruby&quot;&gt;ARGV&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;to_i&lt;br /&gt;             &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;else&lt;/span&gt;&lt;br /&gt;               &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;1000&lt;/span&gt;&lt;br /&gt;             &lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;Family problem, &lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;iterations&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt; trials:&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;started &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;support support_class support_class_ruby&quot;&gt;Time&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby&quot;&gt;new&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;children &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;meta meta_syntax meta_syntax_ruby meta_syntax_ruby_start-block&quot;&gt; &lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boys&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_separator punctuation_separator_key-value&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_object punctuation_separator_object_ruby&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girls&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_separator punctuation_separator_key-value&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;constant constant_numeric constant_numeric_ruby&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_section punctuation_section_scope punctuation_section_scope_ruby&quot;&gt;}&lt;/span&gt;&lt;br /&gt;iterations&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;times &lt;span class=&quot;keyword keyword_control keyword_control_start-block keyword_control_start-block_ruby&quot;&gt;do&lt;br /&gt;&lt;/span&gt;  f &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;support support_class support_class_ruby&quot;&gt;Family&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby&quot;&gt;new&lt;/span&gt;&lt;br /&gt;  children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boys&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby&quot;&gt;+=&lt;/span&gt; f&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;boys&lt;br /&gt;  children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girls&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_augmented keyword_operator_assignment_augmented_ruby&quot;&gt;+=&lt;/span&gt; f&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;girls&lt;br /&gt;&lt;span class=&quot;keyword keyword_control keyword_control_ruby&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;family_size &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby&quot;&gt;(&lt;/span&gt;children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boys&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby&quot;&gt;+&lt;/span&gt; children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girls&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_function punctuation_section_function_ruby&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;to_f &lt;span class=&quot;keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby&quot;&gt;/&lt;/span&gt; iterations&lt;br /&gt;ratio &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girls&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;to_f &lt;span class=&quot;keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby&quot;&gt;/&lt;/span&gt; children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boys&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;elapsed &lt;span class=&quot;keyword keyword_operator keyword_operator_assignment keyword_operator_assignment_ruby&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;support support_class support_class_ruby&quot;&gt;Time&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_separator punctuation_separator_method punctuation_separator_method_ruby&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;keyword keyword_other keyword_other_special-method keyword_other_special-method_ruby&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;keyword keyword_operator keyword_operator_arithmetic keyword_operator_arithmetic_ruby&quot;&gt;-&lt;/span&gt; started&lt;br /&gt;&lt;br /&gt;puts&lt;br /&gt;puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;girls&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt; girls, &lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;children&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;constant constant_other constant_other_symbol constant_other_symbol_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_constant punctuation_definition_constant_ruby&quot;&gt;:&lt;/span&gt;boys&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_array punctuation_section_array_ruby&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt; boys&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;family_size&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt; children per family&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;ratio&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt; girls per boy&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;puts&lt;br /&gt;puts &lt;span class=&quot;string string_quoted string_quoted_double string_quoted_double_ruby&quot;&gt;&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_begin punctuation_definition_string_begin_ruby&quot;&gt;&quot;&lt;/span&gt;Ran in &lt;span class=&quot;source source_ruby source_ruby_embedded source_ruby_embedded_source&quot;&gt;&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;#{&lt;/span&gt;elapsed&lt;span class=&quot;punctuation punctuation_section punctuation_section_embedded punctuation_section_embedded_ruby&quot;&gt;}&lt;/span&gt;&lt;/span&gt;s&lt;span class=&quot;punctuation punctuation_definition punctuation_definition_string punctuation_definition_string_end punctuation_definition_string_end_ruby&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/3260852058259880571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/11/male-female.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3260852058259880571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/3260852058259880571'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/11/male-female.html' title='Male / Female + Solution'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNoPSmrqrz3a21baQ5mioqaUQe3pNILYYiTz4S0yj-0RvgPShATJDPqMiSnm7HocqWjfsCgu2hu9bavYJcrtHBCsaKFTCidzCogAF9wHtOsxoEuUYu8ME65u8AULeG-Z6DwILI0Xq8b-e/s72-c/HS7036.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-2159641571607228903</id><published>2009-11-02T15:10:00.000-08:00</published><updated>2010-05-15T19:53:01.266-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>Roller Coaster</title><content type='html'>I recently went on a California extravaganza, which began in the LA area and meandered up the PCH to San Francisco, stopping in at Carmel-by-the-sea (&lt;a href=&quot;http://ci.carmel.ca.us/carmel/index.cfm&quot; title=&quot;A lovely sea town&quot; target=&quot;_blank&quot;&gt;official name&lt;/a&gt;!) and the Red Wood Forest. Here is a picture of me in San Fran with some guy leaning up against me.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkE1cPTsM9PoazT01sN_l7o2_NH3JLHupCRXjEqZRZ8znsoeMJskMZXq-pFhMHY4hdZap4pipUl21UK6ODJU4Qq_VZmQpooEoow9lF_m0001XU8_rFBYlPthCnMnRrGmAKHblCGMnhCYUZ/s1600-h/gd_in_sf.gif&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 380px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkE1cPTsM9PoazT01sN_l7o2_NH3JLHupCRXjEqZRZ8znsoeMJskMZXq-pFhMHY4hdZap4pipUl21UK6ODJU4Qq_VZmQpooEoow9lF_m0001XU8_rFBYlPthCnMnRrGmAKHblCGMnhCYUZ/s400/gd_in_sf.gif&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5399937190203957490&quot; /&gt;&lt;/a&gt;&lt;br /&gt;While I was in SF (that&#39;s what I&#39;m calling it, hope it sticks) being whisked around by a cab I realized riding in a cab in San Fran is exactly like being on a roller coaster at an amusement park. Following this mental breakthrough, I started to raise my hands above my head and yell with glee as we drove down some very steep roads and made the &quot;tick-tick-tick&quot; noise of our taxi-coaster being pulled up by an imaginary chain lift as we climbed seemingly vertical inclines. The taxi drive did not make this mental connection, unfortunately, and refused to take part.&lt;br /&gt;&lt;br /&gt;During this elevation-exploration I began to have thoughts about my experience with our start-up so far. Some days you are top dog and can do no wrong; while others look utterly hopeless and you wish someone had created a word that meant &quot;lower than rock bottom&quot; because you would use it liberally! A small company is an emotional roller coaster and learning how to manage this is paramount.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqmUgDJaeA7_hbnFk1fRS3fxBCc-vq3KNyIia6FQ1d9yywJU6ej5-dR9hQc_wGVfhmdBM9BrC6Vp6DoZhyphenhyphenTRWXNLY36-KOxmEGJfwje8xe7GwRLTUbNN7eRl_96RZKSohUr-gRWK2LPF9S/s1600-h/93-roller-coaster-puke.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqmUgDJaeA7_hbnFk1fRS3fxBCc-vq3KNyIia6FQ1d9yywJU6ej5-dR9hQc_wGVfhmdBM9BrC6Vp6DoZhyphenhyphenTRWXNLY36-KOxmEGJfwje8xe7GwRLTUbNN7eRl_96RZKSohUr-gRWK2LPF9S/s400/93-roller-coaster-puke.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5399666395619560482&quot; /&gt;&lt;/a&gt;&lt;br /&gt;One thing our start-up has been focused on recently is sales and marketing. We have the idea, we put together the initial team, we built a product prototype, we defined our business model, and (in my mind, most importantly) we found paying members and established proof of concept. Don&#39;t get too excited in Good Dinosaur nation - when I say paying members I&#39;m talking &lt; 10. Our team agreed, what we need now is to improve our reach.&lt;br /&gt;&lt;br /&gt;Sales and marketing can be difficult by itself. Selling and marketing a somewhat innovative or industry divergent product or service can be really difficult and can stick your start-up roller coaster in those low points quickly.&lt;br /&gt;&lt;br /&gt;It is very easy to fall into a negative feedback loop when selling. For example, you have a bad sales call, which causes you to question your start-ups potential, which causes you to pitch poorly next time around, which causes even more panicky feelings, which causes your team to get into arguments, which leads to worse sales meetings, more in-fighting, yelling, screaming and ... OH CRAP WHAT THE HELL HAPPENED? &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOU5dq7469XPM54Nd0LuUcSfFGv_sip3GZL9Aw9L7s0_WV7rbyTr0moev2xFRju2YUsmBX8NbBVi5Xsa1xz7WRtpTFYuEUPFd_t_Pk5FvkP0Nc4IVgYlf1mxnbrAJarD7Tt0iC-NmnnW8l/s1600-h/Screen-shot-2009-11-02-at-5.37.54-PM.gif&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOU5dq7469XPM54Nd0LuUcSfFGv_sip3GZL9Aw9L7s0_WV7rbyTr0moev2xFRju2YUsmBX8NbBVi5Xsa1xz7WRtpTFYuEUPFd_t_Pk5FvkP0Nc4IVgYlf1mxnbrAJarD7Tt0iC-NmnnW8l/s400/Screen-shot-2009-11-02-at-5.37.54-PM.gif&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5399664955445904738&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Now you are left with nothing but sadness and frustration, and probably no more start-up.&lt;br /&gt;&lt;br /&gt;So, my recommendation, diversify your focus! It works for investing! It can work for your brain. Concentrating solely on Sales and Marketing yields the same pitfalls as focusing solely on Product Development or Capital Raising or any one thing. Budget your time accordingly, or make a &quot;cycled schedule&quot; where you do one sales and marketing action, one product development task, one business development oriented item, and one capital raising action. Only after you complete the whole cycle can you move back to the beginning.  &lt;br /&gt;&lt;br /&gt;For example, I was getting frustrated with our ability to find the right people to speak with, so I took a break and began making progress on our capital raising efforts by starting to collect a blog roll of authors that either own or work at possible seed investors. I wasn&#39;t seeing success during sales efforts, so I put the phone away, and jumped on the web in search of our next possible partner, advisor, or investor. I could have also gone and wrote some code. Or worked on updating our business plan. Or whatever else needed to be done. You get the idea.&lt;br /&gt;&lt;br /&gt;I guess the main premise here is that you will have a lot of frustrations, let downs, and difficulties with any venture. Remember to not keep smashing your head against a wall that just won&#39;t move at the moment. Taking a step back can help you discover a way around the obstacle and preserve your dome-piece&#39;s structural integrity. Win, win. &lt;br /&gt;&lt;br /&gt;At the end of the day, handling the roller coaster of emotions that come about at a small company is a required skill. If things get really bad and you find yourself burnt out, take a vacation! I hear California is lovely :)</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/2159641571607228903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/11/roller-coaster.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2159641571607228903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2159641571607228903'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/11/roller-coaster.html' title='Roller Coaster'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkE1cPTsM9PoazT01sN_l7o2_NH3JLHupCRXjEqZRZ8znsoeMJskMZXq-pFhMHY4hdZap4pipUl21UK6ODJU4Qq_VZmQpooEoow9lF_m0001XU8_rFBYlPthCnMnRrGmAKHblCGMnhCYUZ/s72-c/gd_in_sf.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-349389948180418007</id><published>2009-10-12T09:04:00.000-07:00</published><updated>2010-05-15T19:53:11.957-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>No One Cares About Your Stupid Start-up, Stupid</title><content type='html'>How do you get those that should care about your company to actually care?&lt;br /&gt;&lt;br /&gt;One of the bigger frustrations a new company can likely run into is generating awareness and adoption of their product. This reality can come as quite a surprise to a would-be entrepreneur because you mainly hear about the success stories: for example, thefacebook.com launched at Harvard and quickly spread around the Ivy League like a California wildfire). This survivor bias can skew expectations concerning the effort, creativity, and capital that likely needs to be expended to gain initial (and future) customers. &lt;br /&gt;&lt;br /&gt;What are some ways that you can increase your customer base and get your business out of the &quot;start-up&quot; classification and into the &quot;small business&quot; category?&lt;br /&gt;&lt;br /&gt;My friend (no, not &lt;a href=&quot;http://www.baddinosaur.com&quot; class=&quot;badDino&quot;&gt;Bad Dinosaur&lt;/a&gt;, he is just awful) and I were brainstorming how to overcome this hurdle. We&#39;ve seen a positive member response from virtually all that have come across our start-up&#39;s service. However, our biggest challenge has been figuring out viable ways to reach our desired audience. Some of the avenues we thought would be home runs have turned out more like an infield pop-fly with bases loaded, 2 outs. Others that seemed silly to even pursue paid big dividends.&lt;br /&gt;&lt;br /&gt;The following few seemed most viable. Please critique, warn against, or suggest others in the comments section:&lt;br /&gt;&lt;ul class=&quot;goodul&quot;&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Provide complimentary products&lt;/strong&gt; - if your initial product or service is a bit avant-garde or depends on gaining a critical member count, provide complimentary products that anyone can use and do not depend on the number of other users&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Outsourced marketing campaigns&lt;/strong&gt; - these can be tricky and capital intensive. We have talked about everything from hiring staff and paying up front salaries with commission to running targeted affiliate programs where the top performer either receives a cash bonus or (and this might be a little nutty) is awarded a non-voting equity share in the company&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Internally run marketing campaigns&lt;/strong&gt; - basically the same as &quot;Outsourced&quot; but run by us. This saves on capital expenditures but takes away resources from all other operations&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Pursue partnership with a more established company&lt;/strong&gt; - obvious downsides are loss of ownership and independence&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/349389948180418007/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/10/no-one-cares-about-your-stupid-start-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/349389948180418007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/349389948180418007'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/10/no-one-cares-about-your-stupid-start-up.html' title='No One Cares About Your Stupid Start-up, Stupid'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-4248932694817305694</id><published>2009-09-13T13:28:00.000-07:00</published><updated>2010-05-15T19:53:27.151-07:00</updated><title type='text'>Epiphany</title><content type='html'>As I&#39;ve mentioned previously to the Good Dinosaur collective, I&#39;m managing a startup and came to the realization that &lt;a href=&quot;http://www.gooddinosaur.com/2009/06/oh-my.html&quot; target=&quot;_blank&quot; title=&quot;deja-vu&quot;&gt;conceptualizing and creating the product was just the beginning&lt;/a&gt; in a ventures life span. I was starting to feel like I had been dropped into a large, well grown forest and told that there was a treasure chest I needed to find. And that was it. No further guidance, no hints, no nothing. In short, I was feeling a bit lost.&lt;br /&gt;&lt;br /&gt;Well, as fate would have it, I was discussing my conundrum with a friend of mine (no, not &lt;a class=&quot;badDino&quot; href=&quot;http://baddinosaur.com&quot; target=&quot;_blank&quot; title=&quot;hate you&quot;&gt;Bad Dinosaur&lt;/a&gt;, we are certainly not friends! He broke my web page (look at the top right)!) and he pointed me towards &lt;a href=&quot;http://www.amazon.com/Four-Steps-Epiphany-Steven-Blank/dp/0976470705/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1252873786&amp;sr=8-1&quot; target=&quot;_blank&quot; title=&quot;See the book&quot;&gt;The Four Steps To The Epiphany&lt;/a&gt;, by UCLA-Anderson professor and serial entrepreneur &lt;a href=&quot;http://steveblank.com/&quot; target=&quot;_blank&quot;&gt;Steve Blank&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.amazon.com/Four-Steps-Epiphany-Steven-Blank/dp/0976470705/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1252873786&amp;sr=8-1&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEginSzUl2Q8cdYtP256DUWYOOfL_BUuHWIVAz2u-2JRff1tQtxy6DiEzVCUu83bwZoAEZPFhiJ5vKSP10FPpxjMYpKQCf5A85GdcSux-Lnfet-ee7V9CJ7yIwdbyHtO8BKG_qFZgGNtE2pp/s400/4stepsbook.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5381358182023409186&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Many startups focus all too intently on developing their idea and their product, which is to be expected and which I am certainly guilty of. However, once their vision has been refined and polished and their product has been built, now what? You start to market and sell, hoping that you can find someone who likes what you&#39;ve built and, more importantly, will pay for it. This can lead to those &quot;lost&quot; feelings I mentioned before. You just completed creating this great new toy that does all this wonderful stuff, but have no idea who, if anyone, wants it.&lt;br /&gt;&lt;br /&gt;Blank identifies this linear process of Product Development followed by Sales and Marketing as a systematic error that is repeated over and over again and usually results in a startup&#39;s failure.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvo52F38H5z97UIHOQHpiG2PgUOoqsMLUgLvlb444LWnM8vIZHLaIdCNZoXEyVaL_r0GGe0TciQ-em8Lq-64-3DyK__sfuqn7QiODlsgx_-I2fj6b2w2Akm8nNALG295ruayljqNF6Brhe/s1600-h/fail2.jpg&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 291px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvo52F38H5z97UIHOQHpiG2PgUOoqsMLUgLvlb444LWnM8vIZHLaIdCNZoXEyVaL_r0GGe0TciQ-em8Lq-64-3DyK__sfuqn7QiODlsgx_-I2fj6b2w2Akm8nNALG295ruayljqNF6Brhe/s400/fail2.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5381443057500839794&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Steve promotes the concept of &quot;Customer Development,&quot; which advises you to get out of the lab and into the field to discover customers that find your concept compelling and, more importantly, would be willing to pay for it (once it&#39;s complete, that is). This concept is not rocket science, but believe me, very rarely practiced.&lt;br /&gt;&lt;br /&gt;By receiving constant feedback from customers you can better guide your Product Development in real time, or, if you cannot find interested customers, decide if your new wiz-bang idea should be ditched.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK3S_dga2793fAA_FQUEPSdajRgcaF3dQHMqR4_vi1dXI5bEqHbUjEtCw_cofHGfiRWN7F4ATHJAJq4X5szyy_-BRREkG-yEEhe4o2iV-D35eDfnBI3fJer0k9kMDF4pyQCiVst25mVgJ-/s1600-h/badproduct.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 322px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK3S_dga2793fAA_FQUEPSdajRgcaF3dQHMqR4_vi1dXI5bEqHbUjEtCw_cofHGfiRWN7F4ATHJAJq4X5szyy_-BRREkG-yEEhe4o2iV-D35eDfnBI3fJer0k9kMDF4pyQCiVst25mVgJ-/s400/badproduct.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5381444198987966210&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This will leave you with more time and resources to pursue something more worthwhile.&lt;br /&gt;&lt;br /&gt;One item of notice about this book: Steve definitely practices what he preaches. In an effort to discover his early adopters and find if his product is sellable, he released a &quot;beta&quot; version and sat back to see how it was received (this is my guess, perhaps he just has an awful editor). So while you will find great advice and guidance, you will also come across spelling &lt;a href=&quot;http://www.instantrimshot.com/&quot; target=&quot;_blank&quot; title=&quot;ha-ha&quot;&gt;mitsakes&lt;/a&gt;, grammar issues, clip-art diagrams, and two, count &#39;em, two Chapter 3&#39;s (but sadly no Chapter 4).&lt;br /&gt;&lt;br /&gt;Aside from that, Steve Blank has great advice: find your idea, refine it, begin to develop it AND your customers at the same time right from the start. You will be a happier entrepreneur in the end.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/4248932694817305694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/09/ephiphany.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4248932694817305694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4248932694817305694'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/09/ephiphany.html' title='Epiphany'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEginSzUl2Q8cdYtP256DUWYOOfL_BUuHWIVAz2u-2JRff1tQtxy6DiEzVCUu83bwZoAEZPFhiJ5vKSP10FPpxjMYpKQCf5A85GdcSux-Lnfet-ee7V9CJ7yIwdbyHtO8BKG_qFZgGNtE2pp/s72-c/4stepsbook.PNG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-8948830230739172581</id><published>2009-08-11T14:10:00.000-07:00</published><updated>2010-05-15T19:53:36.372-07:00</updated><title type='text'>On Hedge Funds</title><content type='html'>OK kiddies, time to discuss business, but I promise this post will quickly degenerate into something a bit more light-hearted.&lt;br /&gt;&lt;br /&gt;As some of you out there in the Good Dinosaur readership world (now with a Facebook Group and a &lt;a href=&quot;http://www.facebook.com/pages/Good-Dinosaur/111754873578&quot; title=&quot;Facesmash!&quot; target=&quot;_blank&quot;&gt;Facebook Page&lt;/a&gt;. What&#39;s the difference, you ask? Who knows! Join / Fan them both!) I&#39;ve ventured out and started a company. As mentioned in &lt;a href=&quot;http://www.gooddinosaur.com/2009/06/oh-my.html&quot; title=&quot;Good Dinosaur - Previous Post Goodness!&quot; target=&quot;_blank&quot;&gt;a previous post&lt;/a&gt;, I&#39;ve experienced some struggles with getting the mish-mash of thoughts up in my head-space down into one of those so called “plans of business”, or for our Spanish readers, “plans de business.”&lt;br /&gt;&lt;br /&gt;I&#39;ve done some research on how to write a business plan and even found some services that offer a template you can drag and drop information into and, presto, instant business plan! While this would have be an easy solution, it did not seem like a great idea. After all, it is &lt;span style=&quot;font-style:italic;&quot;&gt;my&lt;/span&gt; company&#39;s business plan and my company, like a beautiful snow flake fluttering in the cool Vermont winter air, is unique from all others and should not, nay, cannot be expressed via a boiler plate document.&lt;br /&gt;&lt;br /&gt;One article I&#39;ve grown particularly fond of is the Harvard Business Review posting on &lt;a href=&quot;http://web.mit.edu/peso/Pes1/HBS%20-%20How%20to%20Write%20Great%20Biz%20Plans.pdf&quot; title=&quot;Wicked Smat Business Guide&quot; target=&quot;_blank&quot;&gt;How to Write A Great Business Plan&lt;/a&gt;. It describes the mindset to take and what to cover when writing a business plan:&lt;br /&gt;&lt;br /&gt;&lt;ul class=&quot;goodul&quot;&gt;&lt;li&gt;Describe the market you are entering&lt;/li&gt;&lt;li&gt;Explain the opportunity that you are seeking to capture&lt;/li&gt;&lt;li&gt;Illustrate how you will accomplish your vision&lt;/li&gt;&lt;li&gt;Tell your readers who you and your team are&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Quick, clean, and to the point! &lt;a href=&quot;http://www.imdb.com/title/tt0119217/&quot; title=&quot;It&#39;s not your fault&quot; target=&quot;_blank&quot;&gt;How do you like them apples?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well, in my past employment-life I spent most of my days reading over business plans, so I wondered why I did not have a better grasp on how to conger these documents into existence. And then it hit me. All the business plans I&#39;d viewed were for start-up hedge funds, and business plans for these companies are unique little beasts. &lt;br /&gt;&lt;br /&gt;Lets see how a typical hedge fund business plan would be composed if we followed the HBS recommended method. Lets first layout the basics of our fictitious fund:&lt;br /&gt;&lt;br /&gt;1. &lt;span style=&quot;font-weight:bold;&quot;&gt;The Name&lt;/span&gt;. Select a name for our new fund, the more old-money sounding and urbane the better. Expensive vacation destinations are a good choice, as are street names, or city locations. Make sure to add “Capital” to the end! &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;Example. &lt;span style=&quot;font-style:italic;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Lincoln Square Capital, LLC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;2. &lt;span style=&quot;font-weight:bold;&quot;&gt;The Logo&lt;/span&gt;. Pick a logo that looks solid and sophisticated, and employs grey-scale (colors are for hippies, and hippies aren&#39;t skilled at managing money). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;Example.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNtE4Z300LHmDSQLSL1QRmxUaSn8wFDt8SlP826vG4mEuFaC7rS2FXOdcklFYWUuYRjWFTpfFx5-TGflGb-XXqWJjFx-b-BvY1aMInQj9FzHrAJxIomX6gyd-1hUkc860uYdJKV3JkDyO7/s1600-h/lccapital.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 46px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNtE4Z300LHmDSQLSL1QRmxUaSn8wFDt8SlP826vG4mEuFaC7rS2FXOdcklFYWUuYRjWFTpfFx5-TGflGb-XXqWJjFx-b-BvY1aMInQj9FzHrAJxIomX6gyd-1hUkc860uYdJKV3JkDyO7/s320/lccapital.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5369102277543698178&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ok! We are now set to move on to the rest of our business plan:&lt;br /&gt;&lt;ul class=&quot;goodul&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;The Market:&lt;/span&gt; Here we state the basics about the hedge fund industry. Really, all that is ever described is the overall size and who can invest.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Example.&lt;/span&gt; The hedge fund market is large and expanding, quickly approaching $2 trillion in assets under management. Hedge funds are large, unregulated pools of capital that seek to invest in attractive opportunities and make the funds&#39; investors a boat load of cash. The minimal investment in most hedge funds often begins at $500,000 so only rich people should really continue reading.&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;The Opportunity:&lt;/span&gt; In this section we typically see a quick claim that through well disciplined investing, an investor in the fund stands to gain handsomely. &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Example.&lt;/span&gt; Please see the accompanying graphic to illustrate the opportunity presented by investing in Lincoln Square Capital, LLC:&lt;br /&gt;&lt;a title=&quot;Bling Bling&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8wzcuDr8PiY_Y0PQbXQcJIDAsom0zlkXl-3aVMQR0cjvOLyUIEbu9l2cAQNjvwD9moDafMRXEFLkQUstzA12EyzJjXi0piMxM9fWCkZy1XQrkM9jWoYS8BtX19IceqmEZSp4y_-s_JrWA/s1600-h/youinvesting.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 254px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8wzcuDr8PiY_Y0PQbXQcJIDAsom0zlkXl-3aVMQR0cjvOLyUIEbu9l2cAQNjvwD9moDafMRXEFLkQUstzA12EyzJjXi0piMxM9fWCkZy1XQrkM9jWoYS8BtX19IceqmEZSp4y_-s_JrWA/s320/youinvesting.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368827874749991778&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;How we will do it:&lt;/span&gt; This section is pretty standard, the example below best depicts how this part is handled.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Example.&lt;/span&gt; Please see the accompanying graphic to illustrate our investment technique:&lt;br /&gt;&lt;a title=&quot;bling bling&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqRsescBeFIW8xg4w83duzBxW3q5kE2gf_Sp6ASRnPNT9387EXwJtNyWFUCmYBq2TJ3BkarGSqB2imXPy1vYqMyhZPZNWvCJgkGKZc9VdHWZLmG6Seqphc1DdO6CABxhDPzbdRrGDmxIDU/s1600-h/moneyinmoneyout.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 183px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqRsescBeFIW8xg4w83duzBxW3q5kE2gf_Sp6ASRnPNT9387EXwJtNyWFUCmYBq2TJ3BkarGSqB2imXPy1vYqMyhZPZNWvCJgkGKZc9VdHWZLmG6Seqphc1DdO6CABxhDPzbdRrGDmxIDU/s320/moneyinmoneyout.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368868961153107346&quot; /&gt;&lt;/a&gt;Thank you. Now give us money.&lt;/div&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Our Team:&lt;/span&gt; This is the most important section, but fortunately, follows a Mad Libs format and really only describes one person: the fund&#39;s founder. Let&#39;s all play along!&lt;br /&gt;&lt;br /&gt;1. Small investment bank name. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: Morgan Stanley&lt;/span&gt;&lt;br /&gt;2. Trading-oriented job name. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: Convertible Bonds Trader &lt;/span&gt;&lt;br /&gt;3. Better investment bank name. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: Goldman Sachs&lt;/span&gt;&lt;br /&gt;4. Hedge fund name. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: SailFish&lt;/span&gt;&lt;br /&gt;5. Number between 10-30. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: 20&lt;/span&gt;&lt;br /&gt;6. Number between 1-1000. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: 618&lt;/span&gt;&lt;br /&gt;7. Pick either “Park” or “Madison”. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: Madison&lt;/span&gt;&lt;br /&gt;8. Ivy League college name. &lt;span style=&quot;font-style:italic;&quot;&gt;Example: Princeton University&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Now lets see how we did!&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Example.&lt;/span&gt; Jonathan Smith founded Lincoln Square Capital, LLC in 2009. Prior to founding Lincoln Square Capital, LLC, Jonathan worked at (1) &lt;span style=&quot;text-decoration:underline;&quot;&gt;Morgan Stanley&lt;/span&gt; as a (2) &lt;span style=&quot;text-decoration:underline;&quot;&gt;convertible bonds trader&lt;/span&gt;. After several impressive years of service he moved on to (3) &lt;span style=&quot;text-decoration:underline;&quot;&gt;Goldman Sachs&lt;/span&gt;. Next, Jonathan jumped to the prestigious hedge fund, (4) &lt;span style=&quot;text-decoration:underline;&quot;&gt;SailFish&lt;/span&gt;, where he achieved annualized returns of 25% (assumes (5) &lt;span style=&quot;text-decoration:underline;&quot;&gt;20&lt;/span&gt; times leverage).&lt;br /&gt;&lt;br /&gt;Seeking to capitalize on his unique talents and money management capabilities, Jonathan launched Lincoln Square Capital, LLC, headquartered at (6) &lt;span style=&quot;text-decoration:underline;&quot;&gt;618&lt;/span&gt; (7) &lt;span style=&quot;text-decoration:underline;&quot;&gt;Madison&lt;/span&gt; Avenue. The fund is currently accepting qualified investors.&lt;br /&gt;&lt;br /&gt;Jonathan is an esteemed alumni of (8) &lt;span style=&quot;text-decoration:underline;&quot;&gt;Princeton University&lt;/span&gt; and enjoys polo and wine.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;As a bonus, stealthily posting a picture to a non-descriptive Flickr account that illustrates, in addition to the impressive credentials listed, that the fund manager might be related to &lt;a href=&quot;http://www.eatmedaily.com/wordpress/wp-content/uploads/2009/06/mimitw-1.jpg&quot; title=&quot;Expanding faster than the universe&quot; target=&quot;_blank&quot;&gt;The Most Interesting Man In The World&lt;/a&gt; always helps. Add an anonymous posting to &lt;a href=&quot;http://seekingalpha.com/&quot; target=&quot;_blank&quot;&gt;Seeking Alpha&lt;/a&gt;, &lt;a href=&quot;http://www.dealbreaker.com/&quot; title=&quot;I love you, Bess&quot; target=&quot;_blank&quot;&gt;DealBreaker&lt;/a&gt;, or any other finance oriented website with a link to the aforementioned picture to generate greater interest in the fund. &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;examples&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;Example.&lt;/span&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRlHFxfCylaz28HWLlnyYChcQ7YX65aMR7j34pwX5f8ojwYWAwXQriHdKaL0ofUSgFUIZlPYxT9P_QBgEu_nEgROVtzV4QR3I6913l0nNCZzjW0Kl8834_KR8Qq9UYSxgiQChapBEh-tbt/s1600-h/asaturday.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 289px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRlHFxfCylaz28HWLlnyYChcQ7YX65aMR7j34pwX5f8ojwYWAwXQriHdKaL0ofUSgFUIZlPYxT9P_QBgEu_nEgROVtzV4QR3I6913l0nNCZzjW0Kl8834_KR8Qq9UYSxgiQChapBEh-tbt/s320/asaturday.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368842706645652530&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;text-align:center&quot;&gt;&lt;span style=&quot;font-style:italic;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Commenter #17:&lt;/span&gt; &quot;Looks like Jonathan at Lincoln Square knows how to water ski&quot;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And that&#39;s it! We are done! In short, a business plan for a hedge fund has little to it. The main product / service that gets the lion share of coverage in a typical business plan write-up is shrouded in secret. Like a magician, a fund manager will never divulge how his investment magic works. So the entire section on the service / product is encased in a &quot;black box,&quot; leaving little else to cover.&lt;br /&gt;&lt;br /&gt;Maybe I should forget this whole “regular business” stuff and just start a hedge fund? I already know how to market it.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/8948830230739172581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/08/on-hedge-funds.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/8948830230739172581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/8948830230739172581'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/08/on-hedge-funds.html' title='On Hedge Funds'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNtE4Z300LHmDSQLSL1QRmxUaSn8wFDt8SlP826vG4mEuFaC7rS2FXOdcklFYWUuYRjWFTpfFx5-TGflGb-XXqWJjFx-b-BvY1aMInQj9FzHrAJxIomX6gyd-1hUkc860uYdJKV3JkDyO7/s72-c/lccapital.PNG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-4374860007620814824</id><published>2009-08-09T16:45:00.000-07:00</published><updated>2010-05-15T19:53:46.759-07:00</updated><title type='text'>CollegeJobConnect Beta</title><content type='html'>I&#39;m excited to bring you news on GoodDinosaur&#39;s newest corporate sponsor, the CollegeJobConnect!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhdQqryMN-zJyUFXjIA8ciy8umLEHX7dEdcWwO0yOLk0xVR-x7bd1z-zEr6hwOWjItjrEFytHJSXWg8u-DEtU01GUNUl0lC40dkJyricKL76tOxEBW6mJuD8qnWdcv566fEotdFRbw_aS/s1600-h/simple.banner.ad2.horz.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 310px; height: 122px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhdQqryMN-zJyUFXjIA8ciy8umLEHX7dEdcWwO0yOLk0xVR-x7bd1z-zEr6hwOWjItjrEFytHJSXWg8u-DEtU01GUNUl0lC40dkJyricKL76tOxEBW6mJuD8qnWdcv566fEotdFRbw_aS/s320/simple.banner.ad2.horz.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368116396326553730&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The CollegeJobConnect is an exciting new web-service that connects college undergraduates and employers. Currently, there are few avenues for college undergraduates to make the jump from academics to a professional career. Similarly, there are few options for employers to recruit undergraduates, and those that do exist are costly and inefficient. &lt;br /&gt;&lt;br /&gt;We have tailored a revolutionary service to change this.&lt;br /&gt;&lt;br /&gt;We are breaking down barriers and providing connectivity to an under-served, under-recognized talent pool. By organizing the college demographic into one location and providing employers with unprecedented and easy access, the CollegeJobConnect will be the go-to place where talented, educated individuals are discovered and hired.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/4374860007620814824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/08/collegejobconnect-beta.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4374860007620814824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/4374860007620814824'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/08/collegejobconnect-beta.html' title='CollegeJobConnect Beta'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhdQqryMN-zJyUFXjIA8ciy8umLEHX7dEdcWwO0yOLk0xVR-x7bd1z-zEr6hwOWjItjrEFytHJSXWg8u-DEtU01GUNUl0lC40dkJyricKL76tOxEBW6mJuD8qnWdcv566fEotdFRbw_aS/s72-c/simple.banner.ad2.horz.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-6511836130286179073</id><published>2009-08-05T10:19:00.000-07:00</published><updated>2010-05-15T19:54:35.020-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="challenges"/><category scheme="http://www.blogger.com/atom/ns#" term="code"/><category scheme="http://www.blogger.com/atom/ns#" term="math"/><category scheme="http://www.blogger.com/atom/ns#" term="nerd alert"/><title type='text'>Triangle Problem + Solution</title><content type='html'>&lt;span style=&quot;font-weight:bold;&quot;&gt;Question&lt;/span&gt;: &quot;If you break a straight line randomly in two places, what is the probability that you can form a triangle from the resulting three pieces?&quot;&lt;br /&gt;&lt;br /&gt;Please provide the proof + code for a simulation of 10,000 trails! Will post the solution tomorrow so get crackin!&lt;br /&gt;&lt;br /&gt;------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Solution:&lt;/span&gt;&lt;br /&gt;&lt;ul class=&quot;goodul&quot;&gt;&lt;li&gt;&lt;a href=&quot;#proof&quot; title=&quot;Show Proof&quot;&gt;View The Proof&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#code&quot; title=&quot;Show Code&quot;&gt;View The Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;First off, congratulation are in order to a Mr. Paul R. and a Mr. Dan D. who both successfully utilized the higher power of numbers and reached the correct answer. A slow clap to you both. A special mention is in order for a Mr. Frank I. who uncovered about 80% of the solution, and to a Mr. Elliot G. who at least attempted the problem (percentage of success was not capable of being calculated for this last attempt).&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;a name=&quot;proof&quot;&gt;The Proof&lt;/a&gt;&lt;/span&gt;. We first have to determine what, when given three different lines of varying lengths, is required to construct a Triangle? In order to create a triangle from three different lines of varying lengths, we need the following condition to hold:&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;align:center&quot;&gt;Long side &lt; short side + medium side&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now, looking at the posed question, lets say that the stick’s length is L, and we have two random breaks, a and b. We can draw the following representation:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgon_BgeGvPoCORk8x1mPVDiWjngNXqWra8ioWBuKM0EfXQ9J_lkKdGOnJoz6baeh0f2S9s7BWP2pvkIWY7SbyI4U-bs_JgjiWm1jHqRMblERuH8Tyo89giZYYuf-4StZ_EslHUeL3DVHj7/s1600-h/stick-a-b.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 175px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgon_BgeGvPoCORk8x1mPVDiWjngNXqWra8ioWBuKM0EfXQ9J_lkKdGOnJoz6baeh0f2S9s7BWP2pvkIWY7SbyI4U-bs_JgjiWm1jHqRMblERuH8Tyo89giZYYuf-4StZ_EslHUeL3DVHj7/s320/stick-a-b.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368073080727784146&quot; /&gt;&lt;/a&gt;&lt;br /&gt;We can see that, in this case, a &lt; b. We can also see that there are three lengths that result from this break, x, y, and z. We have the following equations now:&lt;br /&gt;&lt;br /&gt;1. x + y + z = L&lt;br /&gt;2. a &lt; b&lt;br /&gt;3. x = a&lt;br /&gt;4. y = b – a&lt;br /&gt;5. z = L – b&lt;br /&gt;&lt;br /&gt;So we have to think about the value-space that a and b can take on, namely that 0 &lt; a &lt; L and 0 &lt; b &lt; L, or graphically:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBieLpXPlWqOpa3bY6NaX1n9e3cmvKjtjIVhKLxfOptJIY0tb_Go8gOZIDkA1iHMbG3cb3i5AAZxNctdqq3RoIqp9oLk7nVpQg-ARoqEaMwS-OaJNEoCyXlz5uHS8CK3P4bMGuHVphABiH/s1600-h/a-b-value-space.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 237px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBieLpXPlWqOpa3bY6NaX1n9e3cmvKjtjIVhKLxfOptJIY0tb_Go8gOZIDkA1iHMbG3cb3i5AAZxNctdqq3RoIqp9oLk7nVpQg-ARoqEaMwS-OaJNEoCyXlz5uHS8CK3P4bMGuHVphABiH/s320/a-b-value-space.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368073967755949154&quot; /&gt;&lt;/a&gt;&lt;br /&gt;This is a representation of all possible values a and b can take on. Now let’s assume that x &gt;= y &gt;= z so from the starting condition that must be fulfilled to make a triangle, we have:&lt;br /&gt;&lt;br /&gt;x &lt; y + z  &lt;span style=&quot;font-weight:bold;&quot;&gt;=&gt;&lt;/span&gt;  a &lt; (b – a) + (L – b)  &lt;span style=&quot;font-weight:bold;&quot;&gt;=&gt;&lt;/span&gt;  a &lt; -a + L = &lt;span style=&quot;font-weight:bold;&quot;&gt;a &lt; L/2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So in order for a triangle to be the result, a must be less than half of the entire length. Furthermore, because x = a and x is the largest, y and z must also be less than half of length L. We see that no single side can be greater than or equal to L/2 if we want to be able to make a triangle from the sides. &lt;br /&gt;&lt;br /&gt;So we can update our equations:&lt;br /&gt;&lt;br /&gt;1. x + y + z = L&lt;br /&gt;2. a &lt; b&lt;br /&gt;3. x = a &lt;span style=&quot;font-style:italic;&quot;&gt;and x &lt; L/2&lt;/span&gt;&lt;br /&gt;4. y = b – a &lt;span style=&quot;font-style:italic;&quot;&gt;and y &lt; L/2&lt;/span&gt;&lt;br /&gt;5. z = L – b &lt;span style=&quot;font-style:italic;&quot;&gt;and z &lt; L/2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So we can now update our set of values drawing – we know that &lt;span style=&quot;font-weight:bold;&quot;&gt;a &lt; b&lt;/span&gt; and &lt;span style=&quot;font-weight:bold;&quot;&gt;a &lt; L/2&lt;/span&gt; from updated equation #3, so:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiol6dolKhF4vvhSnDNW3TVWzwzseJMGhgzFcFPgPY0eT9IlT_uESaAaO044eM6nVmBRgpCbjNAxRE1mIwL9iEK6js3ATb2UiokI8vId_W_I-kJWhObM3P1y_50pRxSIhzr0mbTZWsF7Dnr/s1600-h/a-b-value-space-step2.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 265px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiol6dolKhF4vvhSnDNW3TVWzwzseJMGhgzFcFPgPY0eT9IlT_uESaAaO044eM6nVmBRgpCbjNAxRE1mIwL9iEK6js3ATb2UiokI8vId_W_I-kJWhObM3P1y_50pRxSIhzr0mbTZWsF7Dnr/s320/a-b-value-space-step2.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368075318485978626&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The values of that a and b can take on, when a &lt; b, that will produce a triangle are now outlined in green. Next, from updated equation #5 we have that L – b &lt; L / 2, which equals &lt;span style=&quot;font-weight:bold;&quot;&gt;b &gt; L / 2&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6PWOUngJb1sRxbrnmqaW5cnjJ7l9a63ogWfyJv1GfBBxVEglR-V748M2_pdNS9RXX9Z-Kw9sKvxy7i_2V8DbG9DO7eIcDzWghVWGkYm90byDlqr8PqVpBqEDRbrICfBPA3Jv8MxRMPteH/s1600-h/a-b-value-space-step3.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 266px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6PWOUngJb1sRxbrnmqaW5cnjJ7l9a63ogWfyJv1GfBBxVEglR-V748M2_pdNS9RXX9Z-Kw9sKvxy7i_2V8DbG9DO7eIcDzWghVWGkYm90byDlqr8PqVpBqEDRbrICfBPA3Jv8MxRMPteH/s320/a-b-value-space-step3.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368076271999045842&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The values of that a and b can take on, when a &lt; b, that will produce a triangle are now outlined in green. Finally from updated equation #4 we have that b – a &lt; L / 2, which equals &lt;span style=&quot;font-weight:bold;&quot;&gt;b &lt; a + L / 2&lt;/span&gt; (this is a linear condition – line has a slope of 1 and b intercept of L/2:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0Amyn_F-2Wo0RZ-1mcClMYMZtm87nR99MqFrzfNDn5xbWLMu44FAGhvNiQvDGhIIKS4BaXN9t5tsHkIXTaJImbcsHzjwCzT3tviRJO6nXXHxSZxWpG6_E8G2UcUHMNIiVh2wtdADH8uW/s1600-h/a-b-value-space-step4.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 271px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR0Amyn_F-2Wo0RZ-1mcClMYMZtm87nR99MqFrzfNDn5xbWLMu44FAGhvNiQvDGhIIKS4BaXN9t5tsHkIXTaJImbcsHzjwCzT3tviRJO6nXXHxSZxWpG6_E8G2UcUHMNIiVh2wtdADH8uW/s320/a-b-value-space-step4.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368077359640576226&quot; /&gt;&lt;/a&gt;&lt;br /&gt;So the area that meets all of these conditions is our winner (in green):&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDO6fTrn9tMzDh_LYYrAAJmDgguZ1kIfaPRa0rvx3ptZVF8MqNaRKS_BNiM6oiS39u1LKSgk16eHsQ5HONiDRm_fE7RMJKha5HwYNbnOaVZDiwahyphenhyphenrJe1ysFsaKY0qf2pbDJ-y9ppo3hmr/s1600-h/a-b-value-space-step5.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 274px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDO6fTrn9tMzDh_LYYrAAJmDgguZ1kIfaPRa0rvx3ptZVF8MqNaRKS_BNiM6oiS39u1LKSgk16eHsQ5HONiDRm_fE7RMJKha5HwYNbnOaVZDiwahyphenhyphenrJe1ysFsaKY0qf2pbDJ-y9ppo3hmr/s320/a-b-value-space-step5.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368077762228213730&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Which we can see is equal to 1/8 (0.125) of the possible values. &lt;br /&gt;&lt;br /&gt;However, remember that this assumes that a &lt; b, and because we know that a and b are both random numbers, they are interchangeable, so we can also have the following situation:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPEEPX2N1iHVnD_n1yPbGG5Rr8P_b03ohkgiQS4nSkiy5yT0EJYExaA7Ov8BldulLZcPaJ_4K1gkPFfvqSNg4OZE9RA4oIYiiIfMQsLgk4Ti4-yWZN9yd55Hjbn944Od-wNM1shQwnhDhr/s1600-h/stick-b-a.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 175px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPEEPX2N1iHVnD_n1yPbGG5Rr8P_b03ohkgiQS4nSkiy5yT0EJYExaA7Ov8BldulLZcPaJ_4K1gkPFfvqSNg4OZE9RA4oIYiiIfMQsLgk4Ti4-yWZN9yd55Hjbn944Od-wNM1shQwnhDhr/s320/stick-b-a.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368078147884294450&quot; /&gt;&lt;/a&gt;&lt;br /&gt;So this scenario must be taken into account. We now assume a &gt; b, which yields the following starting equations:&lt;br /&gt;&lt;br /&gt;1. x + y + z = L&lt;br /&gt;2. a &gt; b&lt;br /&gt;3. x = b &lt;span style=&quot;font-style:italic;&quot;&gt;and&lt;/span&gt; x &lt; L/2&lt;br /&gt;4. y = a – b &lt;span style=&quot;font-style:italic;&quot;&gt;and&lt;/span&gt; y &lt; L/2&lt;br /&gt;5. z = L – a &lt;span style=&quot;font-style:italic;&quot;&gt;and&lt;/span&gt; z &lt; L/2&lt;br /&gt;&lt;br /&gt;We are still working with the same initial work space for a and b, but we have a different limitation being applied, namely a &gt; b.&lt;br /&gt;&lt;br /&gt;If we rearrange all these new equations as we did above, we arrive at the following conditions:&lt;br /&gt;&lt;br /&gt;Starting Condition: a &gt; b&lt;br /&gt;From #3: b &lt; L / 2&lt;br /&gt;From #4: b &gt; a – L / 2&lt;br /&gt;From #5: a &gt; L / 2&lt;br /&gt;&lt;br /&gt;Which we can plot graphically:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQATLp2rdUL05RM5Ge-Q5icVbddzCnrYAum538hLSfG3B1Dukw2Djc3L_XNyFHYJmR4PG7vGFXrXo_w51u4vgkr4tbiNSZgPiqSMDD9FnqZprIaWunnpEQe_9wTTgZI03N6HcTRy71zFzY/s1600-h/b-a-value-space-step5.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 286px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQATLp2rdUL05RM5Ge-Q5icVbddzCnrYAum538hLSfG3B1Dukw2Djc3L_XNyFHYJmR4PG7vGFXrXo_w51u4vgkr4tbiNSZgPiqSMDD9FnqZprIaWunnpEQe_9wTTgZI03N6HcTRy71zFzY/s320/b-a-value-space-step5.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368079319874376594&quot; /&gt;&lt;/a&gt;&lt;br /&gt;And the only area of intersection for all equations mirrors what we found before, reflected across the line b = a:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1HucvTkgZBHQKSiTMXFVHEl0IlEff8-gqTUaEwj-baO2zdo44m_doW8FdJnTWGDX0inOHcNgQDFAlaCtg_VWIaCZHKHUQGGDBQXIC9URoRFIeSP0kZhWvy3y8nhgV3UV3z9xR9-YfP-Kq/s1600-h/b-a-value-space-step6.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 292px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1HucvTkgZBHQKSiTMXFVHEl0IlEff8-gqTUaEwj-baO2zdo44m_doW8FdJnTWGDX0inOHcNgQDFAlaCtg_VWIaCZHKHUQGGDBQXIC9URoRFIeSP0kZhWvy3y8nhgV3UV3z9xR9-YfP-Kq/s320/b-a-value-space-step6.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368079650101233426&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Finally, we combine both scenarios for a &gt; b and b &lt; a and the resulting areas that satisfy our starting stipulation (long &lt; medium + short), and we get the following result set:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5gWSSBFijgRRrvDOhwoFTFbDgne_jGPPXiuk1kq9litvnGdItC38vpmtDKfnnbd18_hsbjXDgmfAXpCmX6Y47jemqE8RK1LfvUV_ODKrBp4JVGLNLvDMJLME0oGAMm0F5cBk5V16Yv-5a/s1600-h/final-solution-space.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 292px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5gWSSBFijgRRrvDOhwoFTFbDgne_jGPPXiuk1kq9litvnGdItC38vpmtDKfnnbd18_hsbjXDgmfAXpCmX6Y47jemqE8RK1LfvUV_ODKrBp4JVGLNLvDMJLME0oGAMm0F5cBk5V16Yv-5a/s320/final-solution-space.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5368079994349848098&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Which yields and answer of 1/8 + 1/8 = 1/4 or 0.25 or 25%. So if you break a straight line randomly in two places, the probability that you can form a triangle from the resulting three pieces is &lt;span style=&quot;font-weight:bold;&quot;&gt;25%&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;a name=&quot;code&quot;&gt;The Code&lt;/a&gt;&lt;/span&gt;. The code to run the simulation. This is written in Ruby.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;span class=&quot;comment&quot;&gt;#!/usr/bin/ruby&lt;/span&gt;&lt;br /&gt;numOfTrials &lt;span class=&quot;operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;10000&lt;/span&gt;&lt;br /&gt;numTriangles &lt;span class=&quot;operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;numOfTrials.times &lt;span class=&quot;operator&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;indent&quot;&gt;&lt;span class=&quot;comment&quot;&gt;# generate two random breaks, ordered&lt;/span&gt;&lt;br /&gt;  breaks &lt;span class=&quot;operator&quot;&gt;=&lt;/span&gt; [ rand, rand ].sort&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;comment&quot;&gt;# load the length calculations via the breaks into an &quot;lengths&quot; array&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;comment&quot;&gt;# order the lenghts&lt;/span&gt;&lt;br /&gt;  lengths &lt;span class=&quot;operator&quot;&gt;=&lt;/span&gt; [ &lt;br /&gt;  &lt;br /&gt;    breaks[0] , &lt;br /&gt;    breaks[1] &lt;span class=&quot;operator&quot;&gt;-&lt;/span&gt; breaks[0] , &lt;br /&gt;    1 &lt;span class=&quot;operator&quot;&gt;-&lt;/span&gt; breaks[1] &lt;br /&gt;  &lt;br /&gt;    ].sort&lt;br /&gt;&lt;br /&gt;  &lt;span class=&quot;comment&quot;&gt;# add 1 to triangle var if we have a triangle&lt;/span&gt;&lt;br /&gt;  numTriangles &lt;span class=&quot;operator&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;operator&quot;&gt;if&lt;/span&gt; lengths[&lt;span class=&quot;constant&quot;&gt;2&lt;/span&gt;] &lt;span class=&quot;operator&quot;&gt;&amp;lt;&lt;/span&gt; lengths[&lt;span class=&quot;constant&quot;&gt;0&lt;/span&gt;] &lt;span class=&quot;operator&quot;&gt;+&lt;/span&gt; lengths[&lt;span class=&quot;constant&quot;&gt;1&lt;/span&gt;]&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class=&quot;operator&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;pct &lt;span class=&quot;operator&quot;&gt;=&lt;/span&gt; numTriangles.to_f &lt;span class=&quot;operator&quot;&gt;/&lt;/span&gt; numOfTrials &lt;span class=&quot;operator&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;constant&quot;&gt;100&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;puts &lt;span class=&quot;string&quot;&gt;&quot;Number of Trials: &quot;&lt;/span&gt; &lt;span class=&quot;operator&quot;&gt;+&lt;/span&gt; numOfTrials.to_s&lt;br /&gt;puts &lt;span class=&quot;string&quot;&gt;&quot;Number of Triangles: &quot;&lt;/span&gt; &lt;span class=&quot;operator&quot;&gt;+&lt;/span&gt; numTriangles.to_s&lt;br /&gt;puts &lt;span class=&quot;string&quot;&gt;&quot;Percentage: %&quot;&lt;/span&gt; &lt;span class=&quot;operator&quot;&gt;+&lt;/span&gt; pct.to_s&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Running this simulation produces results that cluster around the expected value of 25%.</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/6511836130286179073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/08/triangle-problem.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6511836130286179073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6511836130286179073'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/08/triangle-problem.html' title='Triangle Problem + Solution'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgon_BgeGvPoCORk8x1mPVDiWjngNXqWra8ioWBuKM0EfXQ9J_lkKdGOnJoz6baeh0f2S9s7BWP2pvkIWY7SbyI4U-bs_JgjiWm1jHqRMblERuH8Tyo89giZYYuf-4StZ_EslHUeL3DVHj7/s72-c/stick-a-b.PNG" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-6453148837053931242</id><published>2009-07-28T14:57:00.001-07:00</published><updated>2010-05-15T19:55:40.280-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="general"/><title type='text'>Austin, by Apple</title><content type='html'>I just visited Austin, Texas. Before making the trip, I had been told that Austin was &quot;amazing&quot;, &quot;the coolest place ever&quot;, &quot;better than chocolate ice cream rainbows&quot; (I have strange, overly descriptive friends).&lt;br /&gt;&lt;br /&gt;Well, you know what? Austin &lt;span style=&quot;font-style:italic;&quot;&gt;is&lt;/span&gt; better than chocolate ice cream rainbows ... that can breath fire ... and can fly ... and beat Chuck Norris in a fight.&lt;br /&gt;&lt;br /&gt;First off, Austin looks like it was designed by Apple. &lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQwdZgUpyjuicKpGhC-Mqp_T6dXUCtfxR4MqdgUn-E3_JSO01U9Qr9lu7J2havohFSEl4nO2ZQk-OS3c3r8Yg0cUAJKr_VRsQFjRgrcAFdIFRZoqQnpG5wP4jmmElWcQlMOtDKTp-5GyXj/s1600-h/austin-apple.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 158px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQwdZgUpyjuicKpGhC-Mqp_T6dXUCtfxR4MqdgUn-E3_JSO01U9Qr9lu7J2havohFSEl4nO2ZQk-OS3c3r8Yg0cUAJKr_VRsQFjRgrcAFdIFRZoqQnpG5wP4jmmElWcQlMOtDKTp-5GyXj/s320/austin-apple.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5363754394183759842&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Every &lt;a href=&quot;http://farm4.static.flickr.com/3424/3768305272_cb8a45b81f.jpg&quot; target=&quot;_blank&quot; title=&quot;uchi - austin&quot;&gt;restaurant is cool as all hell&lt;/a&gt;, as are &lt;a href=&quot;http://farm3.static.flickr.com/2534/3767504859_322fb62eda.jpg&quot; target=&quot;_blank&quot; title=&quot;South Congress - Austin&quot;&gt;the cafes&lt;/a&gt;, the book stores, and the grocery stores ... every building has something unique, beautiful, and funky about it ... even &lt;a href=&quot;http://farm3.static.flickr.com/2539/3767504623_e2b9075cdb.jpg&quot; target=&quot;_blank&quot; title=&quot;Austin Power Plant&quot;&gt;the electric power plant&lt;/a&gt; is sweet. When a town makes its public utilities buildings gorgeous, you know you are dealing with some sort of unstoppable design force.&lt;br /&gt;&lt;br /&gt;Not to be out done by their day-time counter parts, each Austin bar promises an interesting and exciting experience. There is everything from ol&#39; Southern Saloons, Irish Pubs / Boston-ish Sports Bars (pronounced Bahs),  &lt;a href=&quot;http://farm4.static.flickr.com/3524/3767504891_90a118f4cf.jpg&quot; target=&quot;_blank&quot; title=&quot;Peche - Austin&quot;&gt;New York City-ish lounges&lt;/a&gt;, and good old live-music venues. You can &lt;a href=&quot;http://farm4.static.flickr.com/3496/3767505169_285858580e.jpg&quot; target=&quot;_blank&quot; title&quot;Roof Dancing&quot;&gt;dance on roofs to DJs&lt;/a&gt;, you can hippie-groove to local vocalists, you can play pool and mini-shuffle board, square dance, or &lt;a href=&quot;http://farm4.static.flickr.com/3539/3768394918_e06c017e64.jpg&quot; target=&quot;_blank&quot; title=&quot;FRAT&quot;&gt;frat it up&lt;/a&gt; if all else fails. The extreme attention to detail and &quot;weirdness&quot; that you find in every single establishment is unparalleled.&lt;br /&gt;&lt;br /&gt;The lucky inhabitants of Austin are really what makes the city what it is. All are friendly and a bit &quot;weird&quot; themselves, in a very, very good way. The uniqueness of each individual is projected into all the brick, mortar, cardboard, and clay that make up the infrastructure of Austin. No wall goes &lt;a href=&quot;http://farm4.static.flickr.com/3496/3767603291_82b387515b.jpg&quot; target=&quot;_blank&quot; title=&quot;Hi there, how are you&quot;&gt;unpainted&lt;/a&gt;, no blank space goes without &lt;a href=&quot;http://farm4.static.flickr.com/3592/3768401502_e4fe2d86fd.jpg&quot; target=&quot;_blank&quot; title=&quot;Three Points Sculpture&quot;&gt;a sculpture&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The city also seems to be fueled by no more than sun, music, and bikes ... and possibly bats. It&#39;s Texas, so it&#39;s dry, hot, and sunny. Austin is known as the music capital of the United States and the sheer quantity of music present in Austin is awe-inspiring. There is always some sort of festival or concert taking place. Everyone you come across seems capable, upon request, of banging out a drum beat, belting out a few home made lyrics, or producing a concealed guitar that can be dangerously rocked out on. &lt;br /&gt;&lt;br /&gt;And the bikes. Everyone loves their bikes, and for good reason! They are good for the environment, get you from point A to point B, plus provide a workout in the process. And when you have no reason to ever leave the Austin City limits, who cares about the restricted travel radius!&lt;br /&gt;&lt;br /&gt;Austin is truly a unique place. The city has gone local and emphasized culture, music, art, and eco-friendliness, yielding a marvelous gem.  I will be visiting again soon, and I urge you to as well, especially if you never gotten weird in Austin before!</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/6453148837053931242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/07/austin-by-apple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6453148837053931242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/6453148837053931242'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/07/austin-by-apple.html' title='Austin, by Apple'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQwdZgUpyjuicKpGhC-Mqp_T6dXUCtfxR4MqdgUn-E3_JSO01U9Qr9lu7J2havohFSEl4nO2ZQk-OS3c3r8Yg0cUAJKr_VRsQFjRgrcAFdIFRZoqQnpG5wP4jmmElWcQlMOtDKTp-5GyXj/s72-c/austin-apple.PNG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-2120357928541313735</id><published>2009-07-22T09:11:00.000-07:00</published><updated>2010-05-15T19:55:46.770-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="general"/><title type='text'>Calling It: Halloween 2009</title><content type='html'>I&#39;m calling it. I feel that it is necessary. Let me explain. Over the past weekend I went to see a movie and one of the previews was for an up coming movie that I&#39;m quite excited about. I&#39;m talking about &lt;a href=&quot;http://www.imdb.com/title/tt0386117/&quot; target=&quot;_blank&quot;&gt;Where the Wild Things Are&lt;/a&gt;, the beloved children&#39;s book that is being adapted to the big screen. While there are several examples of similar efforts &lt;a href=&quot;http://www.imdb.com/title/tt0312528/&quot; target=&quot;_blank&quot;&gt;completely and spectacularly failing in the past&lt;/a&gt;, I believe this will be a great movie and I could not envision a better director than Spike Jonze to bring this book to life. The movie is set to premier on the 16th of October, 2009.&lt;br /&gt;&lt;br /&gt;So what is the problem here? Well, I have a long tradition of picking Halloween costumes well ahead of time. I attempt to identify a creative, below-the-radar option that people will take one look at, slap their forehead, and exclaim, &quot;Oh my god, that is great!&quot; For example, I went as &lt;a href=&quot;http://www.reelmovienews.com/images/gallery/hansel-and-goons.jpg&quot; target=&quot;_blank&quot;&gt;Hansel&lt;/a&gt; from Zoolander most recently. &lt;br /&gt;&lt;br /&gt;I believe the re-popularization this movie will bring and its release date&#39;s close proximity to Halloween itself are set to produce the perfect storm that will topple my well laid plans. Back in March, I decided this Halloween I would go as Max. I now fear that I will be but one in a sea of impostors on All Hallows Eve!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfuVuhlXbxEjYUZRp4xUdq9IIrkahgFUVa2L9Y1QgC29Cuc4hlsz0UpJVqXvSCfM5n34Hvklr0GdY1i1Fts0_s0fuPflU49oXrtnKvx4i-GnzatdzXAVXu_u1HRxOS08bRHj-FE7nUfoM/s1600-h/where-the-wild-things-are-w-arrow.PNG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 203px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfuVuhlXbxEjYUZRp4xUdq9IIrkahgFUVa2L9Y1QgC29Cuc4hlsz0UpJVqXvSCfM5n34Hvklr0GdY1i1Fts0_s0fuPflU49oXrtnKvx4i-GnzatdzXAVXu_u1HRxOS08bRHj-FE7nUfoM/s320/where-the-wild-things-are-w-arrow.PNG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5361325787449508386&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So, I&#39;m calling it, via the interweb, that I had this idea well before and am not simply jumping on the Wild Bandwagon. Anyone else have good costume idea that he/she would like to call now (post in comment below)?</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/2120357928541313735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/07/calling-it-halloween-2009.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2120357928541313735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2120357928541313735'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/07/calling-it-halloween-2009.html' title='Calling It: Halloween 2009'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIfuVuhlXbxEjYUZRp4xUdq9IIrkahgFUVa2L9Y1QgC29Cuc4hlsz0UpJVqXvSCfM5n34Hvklr0GdY1i1Fts0_s0fuPflU49oXrtnKvx4i-GnzatdzXAVXu_u1HRxOS08bRHj-FE7nUfoM/s72-c/where-the-wild-things-are-w-arrow.PNG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-2630609194268456027</id><published>2009-06-23T07:11:00.000-07:00</published><updated>2010-05-15T19:55:56.070-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="start-ups"/><title type='text'>Product is Just the Beginning</title><content type='html'>So as I mentioned in the first post, I&#39;m currently working on a new project. I cannot get into the specific details just yet, but lets just say the goal is to gather a bunch of data from one group (Group A) into one place and allow another group (Group B) to have quick, structured access to this information set. The Group A data is typically not easily accessible nor organized, and Group B would be very interested in this data. Nothing new or ground breaking here in the overall model. Google does this with data on the internet, &lt;a href=&quot;http://www.ugresearch.org&quot; target=&quot;_new&quot;&gt;UGResearch&lt;/a&gt; does this with undergraduate research. &lt;br /&gt;&lt;br /&gt;Well, for all this magical stuff to happen I figured I needed to get to building the web-service ... after all, &lt;a href=&quot;http://en.wikipedia.org/wiki/Field_of_dreams&quot; target=&quot;_new&quot;&gt;if you build it, they will come&lt;/a&gt;. So I set about furiously learning version control systems, the command line and all its geeky glory, design patterns, etc. I now know how to git commit, I can alter mysql tables via ssh on a remote machine, I can grep, I can sed, and I can traverse the DOM. After a bit of coding in PHP (yes, should have been RoR ... next time!), XHTML, JQuery, and CSS I have a web service that is about 85% complete.&lt;br /&gt;&lt;br /&gt;Lately I&#39;ve been obsessing over how the site works, how it looks, how it is set up. One of the main things I&#39;ve been noodling about recently is if my class objects are &quot;decoupled&quot; enough (which I&#39;ve learned is one of the best practices when it comes to OOP ... along with cohesion). To get more insight I rang my friend (not &lt;a href=&quot;http://www.baddinosaur.com&quot; target=&quot;_new&quot;&gt;Bad Dinosaur&lt;/a&gt;) who knows much more about this stuff than I do. I was in for a big surprise. &lt;br /&gt;&lt;br /&gt;Instead of discussing techno-mumbo-jumbo, he immediately pointed out that this was a minor detail - important, yes - but minor in the grand scheme of trying to get this service up and running. I was then asked a series of questions: how was I planning on rolling this out and gathering the data from Group A? Why did I think Group A would be interested in giving this data up? How was I going to make Group B aware of this service? Did I have numerical estimates on how many from Group B might use this new service? Did I have revenue projections? Cost projects? A business plan? &lt;br /&gt;&lt;br /&gt;And then it hit me, all that I had been doing on this project and all I had been worried about was just the product. It was only a small part of the overall project. I had basically built a really cool toy, but had not even started to think about &quot;is this what people want to play with?&quot; or &quot;how do I get people to play with it?&quot;&lt;br /&gt;&lt;br /&gt;When looking at this project or any other project, this realization I had may seem rather obvious: you need to have a product &lt;span style=&quot;font-style:italic;&quot;&gt;and&lt;/span&gt; a plan surrounding that product. Until very recently I was constantly focusing on just the product and not thinking at all about these other fundamental questions that needed to be visited in order for this venture to have a chance at success.&lt;br /&gt;&lt;br /&gt;I was wracking my brain as to why I had left this side of the equation untouched and unappreciated ... I can build revenue models in Excel (with VBA, if need be!), I am comfortable calling people and pitching a service or conducting an interview, and I actually like thinking about what existing businesses should do to improve their offerings. I guess my issue is I&#39;ve always felt that projected revenue models or strategy documents for marketing seemed a bit forced and amorphous ... there are so many unknowns when trying to predict what a product that does not even exist yet will accomplish or how best to make others know about it. It is a bit overwhelming, frustrating even, for me to try and logically document what could happen.&lt;br /&gt;&lt;br /&gt;I realize this is not the way to think about it though. Business and strategy plans are important keys to success. You need to have an idea of how to accomplish your goals and if you have to do course re-corrections along the way, so be it. What is a better way to look at this side of this, or any, project? How do you avoid the overwhelming feeling of putting something down on paper and not having the slightest idea if it is going to work or if this is just a shot in the dark? What is the best way to document your vision and how do you effectively convey this message to potential members and/or investors? &lt;br /&gt;&lt;br /&gt;I leave you with those questions, please comment below or rise questions I have not yet thought about that are important. I&#39;m very interested to hear your thoughts ... right now, I&#39;m off to start my business plan!</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/2630609194268456027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/06/oh-my.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2630609194268456027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/2630609194268456027'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/06/oh-my.html' title='Product is Just the Beginning'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2274349213655191025.post-130504670606975083</id><published>2009-06-18T14:20:00.001-07:00</published><updated>2010-05-15T19:56:04.897-07:00</updated><title type='text'>Hello World</title><content type='html'>Hi, and welcome to Good Dinosaur. I will be writing about a varied array of topics, but mainly focusing on recording my thoughts as I attempt to launch a new start-up. It&#39;s just getting underway, so please check back often! Thanks very much.&lt;br /&gt;&lt;br /&gt;Also, I am trying to avoid being sabotaged by Bad Dinosaur (&lt;a href=&quot;http://baddinosaur.blogspot.com/&quot;&gt;visit page&lt;/a&gt;), so if you see him around, please let me know in the comments!</content><link rel='replies' type='application/atom+xml' href='http://www.gooddinosaur.com/feeds/130504670606975083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.gooddinosaur.com/2009/06/hello-world.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/130504670606975083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2274349213655191025/posts/default/130504670606975083'/><link rel='alternate' type='text/html' href='http://www.gooddinosaur.com/2009/06/hello-world.html' title='Hello World'/><author><name>Jeff Iacono</name><uri>http://www.blogger.com/profile/10213582954979395726</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>