<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Sumit Chachra&#039;s Blog</title> <atom:link href="http://blog.chachra.us/feed/" rel="self" type="application/rss+xml" /><link>http://blog.chachra.us</link> <description>Tivix, Technology, Django, Startups, Social Media</description> <lastBuildDate>Mon, 30 Jan 2012 09:00:27 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>The &#8217;screw everyone else&#8217; Silicon Valley entrepreneur</title><link>http://blog.chachra.us/2012/01/30/the-screw-everyone-else-silicon-valley-entrepreneur/</link> <comments>http://blog.chachra.us/2012/01/30/the-screw-everyone-else-silicon-valley-entrepreneur/#comments</comments> <pubDate>Mon, 30 Jan 2012 09:00:00 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[37signals]]></category> <category><![CDATA[Dave McClure]]></category> <category><![CDATA[David Heinemeier Hansson]]></category> <category><![CDATA[entrepreneurship]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=150</guid> <description><![CDATA[Curebit stealing the design (and assets!) from 37Signals is prompting this post. But its been in the making for a while.
Terms like &#8220;starup junkie&#8221; or &#8220;startup dude&#8221; or &#8220;serial entrepreneur&#8221; are just so sexy right now (or maybe always have been in SV for a while) that young entrepreneurs get this feeling that they are [...]]]></description> <content:encoded><![CDATA[<p></p><p><a
href="http://venturebeat.com/2012/01/28/cant-look-away/" target="_blank">Curebit stealing the design (and assets!) from 37Signals</a> is prompting this post. But its been in the making for a while.</p><p>Terms like &#8220;starup junkie&#8221; or &#8220;startup dude&#8221; or &#8220;serial entrepreneur&#8221; are just so sexy right now (or maybe always have been in SV for a while) that young entrepreneurs get this feeling that they are invincible, above everyone/everything else and that anything/everything is fair game. Ripping off a contractor, screwing over an employee, plain reneging a signed legal contract, buying services that they have no money in the bank to pay for etc. etc.</p><p>Hustling is one thing. Ripping people/ideas/IP off is another.</p><p>People make mistakes, but as is obvious in this latest (Curebit) case the entrepreneur in question has no qualms, tries to justify the means and is least bit perturbed. See this twitter thread: <a
href="https://twitter.com/#!/davemcclure/status/163310899376041985" target="_blank">https://twitter.com/#!/davemcclure/status/163310899376041985</a> (with Dave McClure playing referee&#8230;. he happens to have recently funded Curebit).</p><p>Everyone will make mistakes, but own up to it, say an unconditional sorry and move on. I think every entrepreneur needs to go through ethics training. Thoughts?</p><div
class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a
class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img
class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=76de0b45-b97f-48d5-9246-2313a62315e6" alt="Enhanced by Zemanta" /></a></div> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2012/01/30/the-screw-everyone-else-silicon-valley-entrepreneur/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Tools for any agile web/software startup</title><link>http://blog.chachra.us/2011/04/03/tools-for-any-agile-websoftware-startup/</link> <comments>http://blog.chachra.us/2011/04/03/tools-for-any-agile-websoftware-startup/#comments</comments> <pubDate>Sun, 03 Apr 2011 19:47:42 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Business]]></category> <category><![CDATA[Software Industry]]></category> <category><![CDATA[Startups]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[email]]></category> <category><![CDATA[product management]]></category> <category><![CDATA[Amazon EC2]]></category> <category><![CDATA[Application programming interface]]></category> <category><![CDATA[Braintree Payment Solutions]]></category> <category><![CDATA[Linode]]></category> <category><![CDATA[Pivotal Tracker]]></category> <category><![CDATA[Slicehost]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=145</guid> <description><![CDATA[Having worked at/with multiple web/software startups there are a certain set of tools I&#8217;ve gotten used to leveraging to save time and $. Some of these tools didn&#8217;t exist even 2-3 years back, so this list might / will get stale pretty fast!
The list that follows assumes these things:Time is money (duh!).
Speed is everything (at [...]]]></description> <content:encoded><![CDATA[<p></p><p>Having worked at/with multiple web/software startups there are a certain set of tools I&#8217;ve gotten used to leveraging to save time and $. Some of these tools didn&#8217;t exist even 2-3 years back, so this list might / will get stale pretty fast!</p><p><strong>The list that follows assumes these things:</strong></p><ul><li>Time is money (duh!).</li><li>Speed is everything (at least in a startup).</li><li>Humans are expensive, machines are cheap.</li><li>The &#8220;cloud&#8221; is safe, and everything is going to move there. If you&#8217;re a &#8220;cloud&#8221; startup and don&#8217;t buy into it, then go live in a cave.</li><li>Your &#8220;startup&#8221; can afford $100-200/month of costs using these online services that make your team productive.</li></ul><p><strong>Now that we&#8217;ve gotten that out of the day, should we jump right in?</strong></p><ol><li><a
href="http://bit.ly/g91YX3" target="_blank">Google Apps</a> &#8211; Please don&#8217;t waste time using MSFT outlook, or dreamhost, or <a
class="zem_slink" title="Go Daddy" rel="geolocation" href="http://maps.google.com/maps?ll=33.617409,-111.90477&amp;spn=0.01,0.01&amp;q=33.617409,-111.90477 (Go%20Daddy)&amp;t=h">Godaddy</a> for your email needs. Setup a Google Apps account, it takes less than an hour (at max). You get 50 users for free, can&#8217;t beat that.Its safe, fast, Gmail rocks, Google docs works, wiki is barely usable.</li><li>Servers &#8211; Use <strong><a
class="zem_slink" title="Amazon EC2" rel="homepage" href="http://aws.amazon.com/ec2/">Amazon EC2</a>, <a
class="zem_slink" title="Slicehost" rel="homepage" href="http://www.slicehost.com/">Slicehost</a> or <a
class="zem_slink" title="Linode" rel="homepage" href="http://www.linode.com">Linode</a></strong>. If you&#8217;re new to server administration then stick with Slicehost or Linode.</li><li><strong><a
href="http://bit.ly/hOQB6G" target="_blank">Github</a></strong> &#8211; Source control is important. Its so important that <span
style="text-decoration: underline;">Subversion doesn&#8217;t cut it</span>. There I said it. Bitbucket (mercurial) would be the only other thing thats even remotely good. Trac/Assembla/running your own git/svn server etc. are all bad solutions!Notice I am not saying &#8220;git&#8221;. I am saying <a
class="zem_slink" title="GitHub" rel="homepage" href="http://github.com">Github</a>. It gives you permissions, ssh key based access, easy branching, commenting on code, reviewing merges, integration with 25 external services etc. Its a no-brainer.</li><li><strong>Ticketing / issue tracking</strong> &#8211; There are many options here. On one extreme is <a
class="zem_slink" title="Pivotal Tracker" rel="homepage" href="http://www.pivotaltracker.com/"><strong>Pivotal Tracker</strong></a> (a steep learning curve). In the middle are the likes of Fogbugz. On the linear/boring side are Assembla or Lighthouse app or even Basecamp todo&#8217;s!I really like Pivotal Tracker, but only if you&#8217;re a truly agile startup with realistic deadlines and goals. I find it useful even when working on a project alone (instead of in a team).</li><li><strong>External Monitors etc.</strong> &#8211;  Every developer should have a dual monitor setup (minimum of 21&#8243;, ideally 24-27&#8243;), a fast machine and a chair to sit in that costs around 4-5 hours of their salary/pay-rate. Anything less than any of this doesn&#8217;t cut it and you&#8217;re pinching dollars where it matters least. Really.</li><li><strong>Payment Gateways</strong> &#8211;  There are lot of (shitty) options out there. On one extreme you can go with Paypal. Thats a reasonable solution from a setup perspective. Sadly their <a
class="zem_slink" title="Application programming interface" rel="wikipedia" href="http://en.wikipedia.org/wiki/Application_programming_interface">API&#8217;s</a> (still) suck &#8230; a lot!If you&#8217;re ok with getting your own merchant account setup etc. I highly recommend using <a
href="http://bit.ly/gBZxNc" target="_blank">Braintree Payment Solutions</a>. They have amazing customer service, a well written/thought out API and an API wrapper written in most popular languages (Ruby, Java, Python, PHP etc.).</li><li><strong>Online contracts/NDA&#8217;s</strong> &#8211; If you&#8217;re hiring employees, contractors and vendors you&#8217;re probably going to be signing a ton of paperwork! Do your brain a favor and use <strong><a
href="http://bit.ly/hdv77u" target="_blank">Echosign</a></strong>. It makes getting contracts, NDA&#8217;s, I-9 forms signed a breeze.</li></ol><p>I&#8217;ll limit myself to these 7 things. There are <strong>other problems</strong> like invoicing (solved by Freshbooks), CRM (solved by 37Signals Highrise or Salesforce), wiki (solved by pbworks.com), sharing files (solved by Dropbox) etc. that need solving too.</p><p>But I&#8217;ll leave that an exercise for the reader. Just refer to the bullet points I mention above, and if the solution/tool you choose meets/exceeds the goals specified there then you&#8217;re good to go!</p><div
class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a
class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img
class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=bade007e-fd08-4cb1-a966-cfa37a1cbf4f" alt="Enhanced by Zemanta" /></a><span
class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2011/04/03/tools-for-any-agile-websoftware-startup/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Django-cron : Let the open sourcing begin</title><link>http://blog.chachra.us/2011/02/09/django-cron-let-the-open-sourcing-begin/</link> <comments>http://blog.chachra.us/2011/02/09/django-cron-let-the-open-sourcing-begin/#comments</comments> <pubDate>Thu, 10 Feb 2011 04:53:12 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Coding]]></category> <category><![CDATA[Django]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[Python]]></category> <category><![CDATA[Tivix]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=139</guid> <description><![CDATA[So after more than a year of thinking/pondering/procrastinating I found myself with 2 spare hours (Wife busy will 9:30 and me not wanting to go to the Gym&#8230;. the stars aligned!) and took advantage of it to open source Tivix&#8217;s first application.
Its not the sexiest, but makes running python crons / automated tasks in Django [...]]]></description> <content:encoded><![CDATA[<p></p><p>So after more than a year of thinking/pondering/procrastinating I found myself with 2 spare hours (Wife busy will 9:30 and me not wanting to go to the Gym&#8230;. the stars aligned!) and took advantage of it to <a
class="zem_slink" title="Open source" rel="wikipedia" href="http://en.wikipedia.org/wiki/Open_source">open source</a> <a
href="http://tivix.com" target="_blank">Tivix&#8217;s</a> first application.</p><p>Its not the sexiest, but makes running <strong>python crons / automated tasks </strong>in <a
class="zem_slink" title="Django (web framework)" rel="homepage" href="http://www.djangoproject.com">Django</a> hopefully a tad bit easier. If nothing else someone can extend this app and make it even better.</p><p>Here is it: <a
title="django-cron" href="https://github.com/Tivix/django-cron" target="_blank"><strong>https://github.com/Tivix/django-cron</strong></a></p><p>Hopefully we&#8217;ll open source 2-3 other applications / <a
class="zem_slink" title="Snippet (programming)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Snippet_%28programming%29">code snippets</a> which we find really useful as time goes on. This a small way in which we &#8220;give back&#8221; to the open source community (<strong>Django</strong> and <strong><a
class="zem_slink" title="WordPress" rel="homepage" href="http://wordpress.org">Wordpress</a></strong> I am looking at you!) on whose shoulders we&#8217;ve built some great products for some great companies!</p><p>Thoughts/comments welcome <img
src='http://blog.chachra.us/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><div
class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a
class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img
class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=c467c826-eb92-405f-918a-8b0c57b0a252" alt="Enhanced by Zemanta" /></a><span
class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2011/02/09/django-cron-let-the-open-sourcing-begin/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Things to do in Hyderabad</title><link>http://blog.chachra.us/2011/01/03/things-to-do-in-hyderabad/</link> <comments>http://blog.chachra.us/2011/01/03/things-to-do-in-hyderabad/#comments</comments> <pubDate>Mon, 03 Jan 2011 10:16:50 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Andhra Pradesh]]></category> <category><![CDATA[Charminar]]></category> <category><![CDATA[Chowmahalla Palace]]></category> <category><![CDATA[Golkonda]]></category> <category><![CDATA[Hyderabad]]></category> <category><![CDATA[Hyderabad India]]></category> <category><![CDATA[India]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=136</guid> <description><![CDATA[Image via WikipediaPriyanka and I spent 3 nights in Hyderabad, while there for a friends wedding. We made a vacation out of it and had a great time.
The highlight of the trip was our stay at The Park there. Even though the tripadvisor ratings for the hotel are wanting, its a great new hotel with [...]]]></description> <content:encoded><![CDATA[<p></p><div
class="zemanta-img" style="margin: 1em; display: block;"><div><dl
class="wp-caption alignright" style="width: 310px;"><dt
class="wp-caption-dt"><a
href="http://commons.wikipedia.org/wiki/File:Chowmahalla-palace-hyderabad.jpg"><img
title="chowmahalla palace in hyderabad" src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Chowmahalla-palace-hyderabad.jpg/300px-Chowmahalla-palace-hyderabad.jpg" alt="chowmahalla palace in hyderabad" width="300" height="229" /></a></dt><dd
class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a
href="http://commons.wikipedia.org/wiki/File:Chowmahalla-palace-hyderabad.jpg">Wikipedia</a></dd></dl></div></div><p>Priyanka and I spent 3 nights in Hyderabad, while there for a friends wedding. We made a vacation out of it and had a great time.</p><p>The highlight of the trip was our stay at <a
href="http://www.theparkhotels.com/park/hyderabad/hotels/index.html" target="_blank">The Park</a> there. Even though the tripadvisor ratings for the hotel are wanting, its a great new hotel with a lot of potential. Overlooking the <a
class="zem_slink" title="Hussain Sagar" rel="geolocation" href="http://maps.google.com/maps?ll=17.45,78.5&amp;spn=0.01,0.01&amp;q=17.45,78.5 (Hussain%20Sagar)&amp;t=h">Hussain Sagar lake</a>, the Hotel has a infinity pool, outdoor seating, a 24 hour cafe, 3 bars and excellent staff to round it off. The morning breakfast was the best morning food spread I&#8217;ve seen in a while. Highly recommend staying there if you find yourself in Hyderabad.</p><p>We also made our way to the <a
href="http://www.chowmahalla.com/" target="_blank">Chowmahalla Palace</a> which is worth a visit with 3-4 small palaces and exhibits. The <a
class="zem_slink" title="Charminar" rel="geolocation" href="http://maps.google.com/maps?ll=17.3613888889,78.4744444444&amp;spn=0.01,0.01&amp;q=17.3613888889,78.4744444444 (Charminar)&amp;t=h">Charminar</a> was a bit of a disappointment. Its not been maintained, is in a super crowded market/neighborhood and just made us run to the nearest auto-rickshaw.</p><p>The <a
href="http://en.wikipedia.org/wiki/Golkonda">Golconda Fort</a> is a well worth a visit too. Go around 2-3pm, so that you can hire a guide and go all the way to the top. That will take 2-3 hours and that&#8217;ll be a great segway into the 6:30pm light and sound show in English inside the fort. The acoustics and science applied 700 years ago is impressive.</p><p>Apart from these places we made our way to a local mall (GVK-1), to the <a
href="http://shilparamam.org/" target="_blank">Shilparamam</a> (think Delhi Haat) and of course to Paradise for their famous Mutton Biryani (not the best in Hyderabad, but pretty decent. Sit in their nicer airconditioned top floor, if you&#8217;d like a more relaxed experience!). The old city is a bit chaotic and dirty, but if the airport and the 11 km freeway to the city are any signs, things are improving for sure.</p><p>Overall we were pretty impressed with the city of Nizams and highly recommend it to anyone if you have 3-4 days.</p><div
class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a
class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img
class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=97a5fd4c-c25f-451f-afdb-5114ebe3a70c" alt="Enhanced by Zemanta" /></a><span
class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2011/01/03/things-to-do-in-hyderabad/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Selling tickets or variable inventory items using Satchmo</title><link>http://blog.chachra.us/2010/09/08/selling-tickets-or-variable-inventory-items-using-satchmo/</link> <comments>http://blog.chachra.us/2010/09/08/selling-tickets-or-variable-inventory-items-using-satchmo/#comments</comments> <pubDate>Wed, 08 Sep 2010 07:10:41 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Coding]]></category> <category><![CDATA[Django]]></category> <category><![CDATA[ecommerce]]></category> <category><![CDATA[open source]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=130</guid> <description><![CDATA[Satchmo is a popular Django based e-commerce system. Its well suited for the most part to sell things like shirts and shoes that come in various sizes / colors (variations) etc. These are items that a seller would have a certain amount of in stock, and sell out when the inventory hits 0.
There are situations [...]]]></description> <content:encoded><![CDATA[<p></p><p><a
href="http://www.satchmoproject.com/" target="_blank">Satchmo</a> is a popular <a
href="http://www.djangoproject.com/" target="_blank">Django</a> based e-commerce system. Its well suited for the most part to sell things like shirts and shoes that come in various sizes / colors (variations) etc. These are items that a seller would have a certain amount of in stock, and sell out when the inventory hits 0.</p><p>There are situations however this doesn&#8217;t work as well. Say you&#8217;re a bakery that sells cupcakes and macaroons. Lets assume you bake 100 cupcakes and 50 macaroons every day. So thats the max you can sell on a daily basis. Some days you won&#8217;t sell all, but the next day you may run out. This means your inventory number is not fixed.</p><p>Moreover the way you&#8217;ll define your &#8220;product&#8221; (thing that customer buys) will need to change. Instead of saying that &#8220;I sold a cupcake&#8221;, you have to say &#8220;I sold a cupcake on Sep. 7, 2010&#8243;. The temporal aspect is important, since your inventory is not static. The date may represent the order date or a date in the future (say you take pre-orders).</p><p>The exact same scenario applies to sellers of theater tickets (or tickets of any kind really), hotel rooms etc. Almost any kind of commerce online that has daily or variable inventory levels and / or perishable items.</p><p>OK, so how to go about solving this problem. Without going into too many details, its obvious we need to use what Satchmo calls <a
href="http://www.satchmoproject.com/docs/dev/custom-product.html" target="_blank">Custom Product(s)</a>. Apart from that we need to capture the core product type (cupcake or macaroon or hotel room) etc. Below you will find a <code>VariableInventoryProductType</code> class that represents a typical type of product and a <code>VariableInventoryProduct</code> class that has a FK to a core Satchmo product, a day and a type of product. This is the product the customer is really buying (executive suite on December 25, 2010&#8230; room would be a product type and executive suite would be a &#8220;variation&#8221; of that).</p><pre class="brush:python">import logging

from django.conf import settings as django_settings
from django.db import models
from django.contrib.sites.models import Site
from django.utils.translation import ugettext_lazy as _

from product.models import SHIP_CLASS_CHOICES, Product, OptionGroup, Price
from product.modules.configurable.models import ConfigurableProduct

class VariableInventoryProductType(models.Model):
    """
    Represents a type of product thats sold by the seller. In case of a Theater for example only one instance of
    this would exist. In case of a bakery say, the number of instances would be the same as the number of different
    types of items the bakery sells.
    """
    name = models.CharField(max_length=255)
    description = models.TextField()
    slug = models.CharField(max_length=255, db_index=True)
    image = ImageField()
    default_inventory = models.IntegerField(verbose_name='Default daily inventory')
    active = models.BooleanField(default=True, db_index=True)
    order = models.IntegerField(db_index=True, default=0)
    base_price = models.DecimalField(max_digits=6, decimal_places=2)
    option_group = models.ForeignKey(OptionGroup, blank=True, null=True)
    shipclass = models.CharField(_('Shipping'), choices=SHIP_CLASS_CHOICES, default="YES", max_length=10)
    featured = models.BooleanField(default=False, db_index=True)

    class Meta:
        ordering = ('order', )

    def __unicode__(self):
        return self.name

class VariableInventoryProductManager(models.Manager):
    def get_product(self, product_type, day, create=True):
        qset = self.filter(product_type=product_type, day=day)
        if qset:
            return qset.get()
        elif create:
            logging.info('Creating new product of type: %s and day: %s' % (product_type.name, day))
            # create real satchmo product first.
            product = Product()
            product.site = Site.objects.get_current()
            product.name = '%s on %s' % (product_type.name, day)
            product.items_in_stock = product_type.default_inventory
            product.shipclass = product_type.shipclass
            product.save()

            p = Price()
            p.product = product
            p.price = product_type.base_price
            p.save()

            # Create Variations
            if product_type.option_group:
                configurable_product = ConfigurableProduct(product=product)
                configurable_product.save()
                configurable_product.option_group.add(product_type.option_group)
                configurable_product.create_subs = True
                configurable_product.save()

            return self.create(product=product, product_type=product_type, day=day)
        else:
            return None

class VariableInventoryProduct(models.Model):
    """
    Actual product thats sold by the store. FKed to an actual satchmo product.
    """
    product = models.OneToOneField(Product)
    product_type = models.ForeignKey(VariableInventoryProductType)
    day = models.DateField(db_index=True)

    objects = VariableInventoryProductManager()

    class Meta:
        unique_together = ('product_type', 'day')

    def _get_subtype(self):
        return 'VariableInventoryProduct'

    def __unicode__(self):
        return '%s on %s' % (self.product_type.name, self.day)</pre>]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2010/09/08/selling-tickets-or-variable-inventory-items-using-satchmo/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Three things to be thankful about in California</title><link>http://blog.chachra.us/2010/08/01/three-things-to-be-thankful-about-in-california/</link> <comments>http://blog.chachra.us/2010/08/01/three-things-to-be-thankful-about-in-california/#comments</comments> <pubDate>Sun, 01 Aug 2010 23:11:13 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Uncategorized]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=127</guid> <description><![CDATA[Having lived in California for 4+ years now there is a lot to be thankful about. The beaches, sun (not in SF sadly), bounty of natural resources, fresh organic food etc. etc. There is a lot that sucks too (high taxes etc.) but thats for another day&#8230;..
But there are three things in the CA law [...]]]></description> <content:encoded><![CDATA[<p></p><p>Having lived in California for 4+ years now there is a lot to be thankful about. The beaches, sun (not in SF sadly), bounty of natural resources, fresh organic food etc. etc. There is a lot that sucks too (high taxes etc.) but thats for another day&#8230;..</p><p>But there are three things in the CA law that keep coming to my attention now and then. These are things that most other US states don&#8217;t have and make CA a much better state to be in.</p><p><strong><br
/> No non-compete bullshit</strong></p><p>Non-competes are evil. Plain and simple. California doesn&#8217;t respect, allow or recognize them. From <a
href="http://en.wikipedia.org/wiki/Non-compete_clause#California" target="_blank">Wikipedia</a>: &#8220;Noncompete agreements are automatically void as a matter of law&#8230;.&#8221;.</p><p>Even if you move to California from another state, and you had signed non-competes there, they are no longer valid or binding.</p><p><strong>No service fees or expiration of Gift Cards</strong></p><p>Retailers use a lot of tricks to make money. Even gift card loopholes are not beyond them. CA / Connecticut / MA are the only states that protect consumers against these things. Gift cards can never expire&#8230; period.</p><p>The recent online coupon craze from <a
href="http://groupon.com/" target="_blank">Groupon</a>, <a
href="http://livingsocial.com/" target="_blank">LivingSocial</a>, <a
href="http://freshguide.com/" target="_blank">Freshguide</a> etc. is another example. All these offers come with an expiration date, which is all fine. But the catch is when you don&#8217;t use these offers and they expire. In CA the base value you paid ($10 for a $20 coupon say) is always to be recognized by the small business. Meaning you never ever lose money you paid!</p><p><strong>Limited private beaches</strong></p><p>Most of the 1000 miles of CA coast is accessible by anyone. Yep, no private beaches. There are a few exceptions though, private beaches in Avalon, on Vandenberg Base and along the Central coast are but a few of the locations where you won&#8217;t be welcome.</p><p>Coastal access at the fancy <a
href="http://www.ritzcarlton.com/en/Properties/HalfMoonBay/Default.htm" target="_blank">Ritz Carlton</a> in Half Moon Bay is a great example. The local/CA government made sure there is even a parking structure built on this property for people to park their cars (for FREE) and get coastal access.</p> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2010/08/01/three-things-to-be-thankful-about-in-california/feed/</wfw:commentRss> <slash:comments>113</slash:comments> </item> <item><title>Sandboxing emails in Django</title><link>http://blog.chachra.us/2010/07/10/sandboxing-emails-in-django/</link> <comments>http://blog.chachra.us/2010/07/10/sandboxing-emails-in-django/#comments</comments> <pubDate>Sun, 11 Jul 2010 05:14:42 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Coding]]></category> <category><![CDATA[Django]]></category> <category><![CDATA[Technology]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=99</guid> <description><![CDATA[Its usually good to sandbox your QA / staging environments so that they don&#8217;t shoot out emails to real email addresses (say you&#8217;ve made a copy of your production database). Django 1.2 and their email backends make it really easy to do so.Here&#8217;s a testing email backend I wrote. Simply drop in a email address [...]]]></description> <content:encoded><![CDATA[<p></p><div>Its usually good to sandbox your QA / staging environments so that they don&#8217;t shoot out emails to real email addresses (say you&#8217;ve made a copy of your production database). Django 1.2 and their email backends make it really easy to do so.</div><p><br/></p><div>Here&#8217;s a testing email backend I wrote. Simply drop in a email address associated with the DEFAULT_TO_EMAIL setting in your settings.py. Also set the EMAIL_BACKEND in settings.py to the class below.</div><p><br/></p><div>This also takes care of cases where in your code you&#8217;re sending a &#8220;mass mail&#8221; (using send_mass_mail), it&#8217;ll only send one out.</div><pre class="brush:python">from django.core.mail.backends.smtp import EmailBackend
class TestingEmailBackend(EmailBackend):
    """
    Used in dev and qa
    """
    def send_messages(self, email_messages):
        """
        Overrides the to email address. Also if there are tons of messages being sent out then it reduces them to
        1 message.
        """
        if len(email_messages) &gt; 1:
            email_messages = (email_messages[0],)
        email_messages[0].to = [django_settings.DEFAULT_TO_EMAIL,]
        super(TestingEmailBackend, self).send_messages(email_messages)</pre>]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2010/07/10/sandboxing-emails-in-django/feed/</wfw:commentRss> <slash:comments>105</slash:comments> </item> <item><title>Moving Wordpress mu to a different domain</title><link>http://blog.chachra.us/2010/03/04/moving-wordpress-mu-to-a-different-domain/</link> <comments>http://blog.chachra.us/2010/03/04/moving-wordpress-mu-to-a-different-domain/#comments</comments> <pubDate>Thu, 04 Mar 2010 21:46:12 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Technology]]></category> <category><![CDATA[blogging]]></category> <category><![CDATA[blogs]]></category> <category><![CDATA[Django]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://chachra.tivixsites.com/?p=92</guid> <description><![CDATA[So I have a Wordpress MU setup where we&#8217;re hosting a bunch of sites/blogs (email me at sumit AT tivixlabs.com if you&#8217;re interested in one).
As with all my Django webapps I wanted to replicate all the sites on qa for testing purposes (so that we&#8217;re not messing production sites with plugin / wordpress upgrades etc.). [...]]]></description> <content:encoded><![CDATA[<p></p><p>So I have a <a
class="zem_slink" title="WordPress" rel="homepage" href="http://wordpress.org">Wordpress</a> MU setup where we&#8217;re hosting a bunch of sites/blogs (email me at sumit AT tivixlabs.com if you&#8217;re interested in one).</p><p>As with all my <a
class="zem_slink" title="Django (web framework)" rel="homepage" href="http://www.djangoproject.com">Django</a> webapps I wanted to replicate all the sites on qa for testing purposes (so that we&#8217;re not messing production sites with plugin / wordpress upgrades etc.). The problem is the qa site runs on a different domain (say domain2.com) than the production MU install (say domain1.com).</p><p>Since my stores the domain in 1 file (easy to fix) and a bunch of db tables, the easy solution is to:</p><ul><li>Make a copy of entire wordpress directory and put the correct domain in wp-config.php in this line: <span
style="color: #ff6600;">define(&#8216;DOMAIN_CURRENT_SITE&#8217;, &#8216;domain2.com&#8217; );<br
/> </span></li><li>Take a dump of your existing MU installs database. Open that dump file and do a replace of all &#8220;domain1.com&#8221; strings with &#8220;domain2.com&#8221;. Next do a replace of &#8220;domain1&#8243; with &#8220;domain2&#8243;. Source this new dump into the new database for the new MU instance.</li></ul><p>Thats it. These 2 steps should be it. Your MU site should now run like your old one, but at domain2.com and all existing sites/blogs will run at old-sub-domain.domain2.com too!</p> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2010/03/04/moving-wordpress-mu-to-a-different-domain/feed/</wfw:commentRss> <slash:comments>130</slash:comments> </item> <item><title>On project management, bug/issue tracking and source control</title><link>http://blog.chachra.us/2010/03/04/on-project-management-bugissue-tracking-and-source-control/</link> <comments>http://blog.chachra.us/2010/03/04/on-project-management-bugissue-tracking-and-source-control/#comments</comments> <pubDate>Thu, 04 Mar 2010 20:33:53 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Software Industry]]></category> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Bug Tracking]]></category> <category><![CDATA[Project management]]></category> <category><![CDATA[revision control]]></category><guid
isPermaLink="false">http://blog.chachra.us/?p=74</guid> <description><![CDATA[There seems to be a big disconnect between project management, bug/issue tracking and source control solutions out there. Simply put in most companies these systems don&#8217;t talk to each other as much as they should.
How have I solved the problem. I&#8217;m using bitbucket.org for source control that talks nicely with LighthouseApp which I use mainly [...]]]></description> <content:encoded><![CDATA[<p></p><p>There seems to be a big disconnect between <a
class="zem_slink" title="Project management" rel="wikipedia" href="http://en.wikipedia.org/wiki/Project_management">project management</a>, bug/issue tracking and <a
class="zem_slink" title="Revision control" rel="wikipedia" href="http://en.wikipedia.org/wiki/Revision_control">source control</a> solutions out there. Simply put in most companies these systems don&#8217;t talk to each other as much as they should.</p><p>How have I solved the problem. I&#8217;m using <a
href="bitbucket.org" target="_blank">bitbucket.org</a> for source control that talks nicely with <a
href="http://lighthouseapp.com" target="_blank">LighthouseApp</a> which I use mainly for <a
class="zem_slink" title="Bug tracking system" rel="wikipedia" href="http://en.wikipedia.org/wiki/Bug_tracking_system">bug-tracking</a> (Milestones feature is nice&#8230; but only for bigger teams).</p><p>We don&#8217;t really use anything for project management per se, although we do use <a
href="http://highrisehq.com/" target="_blank">Highrise</a> as our <a
class="zem_slink" title="Customer relationship management" rel="wikipedia" href="http://en.wikipedia.org/wiki/Customer_relationship_management">CRM</a> system and it has a cool, &#8220;Cases&#8221; feature. So lets say we&#8217;re doing a site redesign I  create a new case and upload all relevant assets  / discussions to that case. Highrise comes with awesome email integration, so each case gets a unique email address and I can fwd emails to it, and they get attached to the case automagically. I think <a
href="http://basecamphq.com/" target="_blank">BaseCamp</a> is for dedicated project management, but for now I can live with leveraging Highrise features.</p><div
class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><span
class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2010/03/04/on-project-management-bugissue-tracking-and-source-control/feed/</wfw:commentRss> <slash:comments>65</slash:comments> </item> <item><title>Fanning/Following is the new SEO?</title><link>http://blog.chachra.us/2009/09/06/fanningfollowing-is-the-new-seo/</link> <comments>http://blog.chachra.us/2009/09/06/fanningfollowing-is-the-new-seo/#comments</comments> <pubDate>Sun, 06 Sep 2009 06:50:09 +0000</pubDate> <dc:creator>Sumit Chachra</dc:creator> <category><![CDATA[Business]]></category> <category><![CDATA[Online Advertising]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[web 2.0]]></category> <category><![CDATA[connect]]></category> <category><![CDATA[ecommerce]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[pages]]></category><guid
isPermaLink="false">http://blog.chachra.us/?p=82</guid> <description><![CDATA[So lots of friends have been messaging and emailing me about my bizarre Fanning behavior on Facebook. Weirdly none complain when I fan someone/some brand on Twitter. I guess cause that affects my feed, not theirs (Facebook apparently informs them about my fanning?).
In any case, I thought I&#8217;ll fire up a blog post about it, [...]]]></description> <content:encoded><![CDATA[<p></p><p>So lots of friends have been messaging and emailing me about my bizarre Fanning behavior on Facebook. Weirdly none complain when I fan someone/some brand on Twitter. I guess cause that affects my feed, not theirs (Facebook apparently informs them about my fanning?).</p><p>In any case, I thought I&#8217;ll fire up a blog post about it, and guess where a few of these things are headed, and why its important that people fan brands, things/people they like etc.</p><p>Firstly irrespective of how many friends you have (I have around 250) on Facebook, there is no way your stream has new things to show every time. It simply doesn&#8217;t happen. For most people who check their Facebook 1-2 times a day its fine, but mostly people probably are spending north of 1 hour on Facebook (site/mobile etc.).</p><p>For the latter, fresh content is important, otherwise they are simply wasting time. Many people are getting their news, thoughtful articles etc. simply based on this feed. I can imagine 15-18 year olds not caring much of Yahoo! news, Google news etc.</p><p>Now back to the fanning behavior, the more things you fan, the more realtime your feed can be. Now if a brand spams my feed, I simply remove them. But most brands are being creative, they don&#8217;t talk about themselves all the time. In fact they provide thoughtful notes, links and commentary on things that have absolutely nothing to do with their brand.</p><p>Facebook Pages is going to evolve, and my money is on the fact that its going to really make Social (e)Commerce skyrocket. With the pending launch of Facebook Payments, its going to make for one heady mix! Imagine Brand X launches a product Y. They inform all their followers (say10k+). These followers with a few clicks can buy product Y off Brand X&#8217;s facebook page, without leaving Facebook, without entering their address/credit card # etc. cause Facebook already knows those details. Whats more these people get to share their purchase with their friends etc.</p><p>Now all this can be done on www.brandX.com also, and they can possibly (and most probably will) use Facebook Connect on their site, and make it social. But the idea of going to one place (Facebook) and being able to get all your news, catch up on friends, order product Y (maybe some flowers for your Mom) etc. etc. is pretty nice!</p><p>So there you go, I don&#8217;t really love each of the brands I fan on Facebook, but thats a cost I am willing to pay for a realtime stream, interesting links/discussions and getting to know more than I will from just my friends (who are awesome too!)</p> ]]></content:encoded> <wfw:commentRss>http://blog.chachra.us/2009/09/06/fanningfollowing-is-the-new-seo/feed/</wfw:commentRss> <slash:comments>141</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 61/68 queries in 0.011 seconds using disk

Served from: blog.chachra.us @ 2012-05-21 04:09:43 -->
