<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Official tech and small business blog of S7 Labs.</description><title>Blog . S7 Labs</title><generator>Tumblr (3.0; @s7labs)</generator><link>http://s7labs.tumblr.com/</link><item><title>Get It Together!</title><description>&lt;p&gt;In an effort to simplify my life, I&amp;#8217;m consolidating various bits of my online personality. You can now read about &lt;a href="http://www.s7labs.com"&gt;S7 Labs&lt;/a&gt;, technology, business, and other musings on my personal blog, &lt;a href="http://itburns.tumblr.com"&gt;It Burns! It Burns!&lt;/a&gt;&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/1534619055</link><guid>http://s7labs.tumblr.com/post/1534619055</guid><pubDate>Wed, 10 Nov 2010 11:08:20 -0500</pubDate></item><item><title>"If people put data on the Web - government data, scientific data, community data - whatever it is,..."</title><description>“If people put data on the Web - government data, scientific data, community data - whatever it is, it will be used by other people to do wonderful things in ways they never could have imagined.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://flowingdata.com/2010/03/15/tim-berners-lee-with-an-update-on-open-data/"&gt; Tim Berners-Lee with an update on open data | FlowingData&lt;/a&gt;&lt;/em&gt;</description><link>http://s7labs.tumblr.com/post/456845083</link><guid>http://s7labs.tumblr.com/post/456845083</guid><pubDate>Thu, 18 Mar 2010 12:10:58 -0400</pubDate></item><item><title>WSHU PUBLIC RADIO</title><description>&lt;a href="http://www.wshu.org/news/betterbiz.php"&gt;WSHU PUBLIC RADIO&lt;/a&gt;: &lt;p&gt;“In this series, reporter Alison Freeland collects the stories, challenges, and goals of six businesses, and then goes to Yale professors Barry Nalebuff and Ian Ayres, who brainstorm on what these businesses can do to reach those goals- and we learn something about the economy and business.”&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/389534271</link><guid>http://s7labs.tumblr.com/post/389534271</guid><pubDate>Sun, 14 Feb 2010 16:20:00 -0500</pubDate></item><item><title>&#13;
&#13;
&#13;
Graham on Start-ups, Innovation, and Creativity | EconTalk | Library of Economics and Liberty&#13;
&#13;
&#13;
&#13;
</title><description>&lt;a href="http://www.econtalk.org/archives/2009/08/graham_on_start.html"&gt;&#13;
&#13;
&#13;
Graham on Start-ups, Innovation, and Creativity | EconTalk | Library of Economics and Liberty&#13;
&#13;
&#13;
&#13;
&lt;/a&gt;</description><link>http://s7labs.tumblr.com/post/365743410</link><guid>http://s7labs.tumblr.com/post/365743410</guid><pubDate>Mon, 01 Feb 2010 17:40:09 -0500</pubDate></item><item><title>easy_install and setup.py</title><description>&lt;p&gt;If you&amp;#8217;ve used easy_install and setup.py before, you may have noticed that running something like &amp;#8220;easy_install -d PATH&amp;#8221; versus &amp;#8220;python setup.py install PATH&amp;#8221; produce different directory hierarchies. If your development environment consists of both packages pulled from the Cheeseshop and your own code (or even your modifications on Cheeseshop hosted packages), then you need a way to put packages from both installation methods into the same path.&lt;/p&gt;
&lt;p&gt;It turns out that easy_install can take a tar.gz file as an argument. So, you can take a package foo that has a setup.py defined, create a foo.tar.gz of the directory containing setup.py and all the associated code, then run &amp;#8220;easy_install -d PATH foo.tar.gz&amp;#8221;, which will create the egg and install it for you in the proper way, alongside your Cheeseshop pulled packages.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/323760911</link><guid>http://s7labs.tumblr.com/post/323760911</guid><pubDate>Fri, 08 Jan 2010 14:59:20 -0500</pubDate><category>easy_install</category><category>python</category><category>cheeseshop</category><category>setup.py</category><category>pypi</category></item><item><title>Bing and online newspapers: Web-wide war | The Economist</title><description>&lt;a href="http://www.economist.com/businessfinance/displaystory.cfm?story_id=14955213&amp;fsrc=rss"&gt;Bing and online newspapers: Web-wide war | The Economist&lt;/a&gt;: &lt;p&gt;I’m skeptical that a Bing-News Corp deal would actually be beneficial for News Corp. I think the Google brand, when searching for general news, is stronger than the actual news source.&lt;/p&gt;
&lt;p&gt;For example, if I want to know about Michael Jackson, I search “Michael Jackson”, and to a degree I don’t care what source gives me what I want to know. However, if I want to search for an article in the WSJ, I go to the WSJ site and search for it there. The first kind of traffic is beneficial to News Corp via Google, and that’s what they would lose if they struck a deal with Bing. The second kind of traffic, they were going to get anyway.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/257135708</link><guid>http://s7labs.tumblr.com/post/257135708</guid><pubDate>Wed, 25 Nov 2009 12:55:13 -0500</pubDate></item><item><title>2D Boy: I love you, 2D Boy!	» Blog Archive&#13;
 » Pay-What-You-Want Birthday Sale Results</title><description>&lt;a href="http://2dboy.com/2009/10/19/birthday-sale-results/"&gt;2D Boy: I love you, 2D Boy!	» Blog Archive&#13;
 » Pay-What-You-Want Birthday Sale Results&lt;/a&gt;: &lt;p&gt;Ever since I read about the pay-what-you-want-for-bagels model in the Freakonomics book, I’ve been curious whether or not I might be able to apply it to other transactions. I’m glad to see someone testing the waters. About 40% paid all they could afford, or paid specifically because of the model, which suggests that a large percent of these sales would not have occurred had the model not been in place.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/221341333</link><guid>http://s7labs.tumblr.com/post/221341333</guid><pubDate>Fri, 23 Oct 2009 20:01:09 -0400</pubDate></item><item><title>Fact Sheet - The Health Insurance Portability and Accountability Act (HIPAA)</title><description>&lt;a href="http://www.dol.gov/ebsa/newsroom/fshipaa.html"&gt;Fact Sheet - The Health Insurance Portability and Accountability Act (HIPAA)&lt;/a&gt;: &lt;p&gt;There’s a little bit of misconception running around about pre-existing conditions and the evils of insurance companies. The HIPAA link explains that when you switch insurance carriers, the new one can’t exclude pre-existing conditions. The key here is that you can’t let your insurance coverage lapse; if you’re laid off or you quit to work on a startup, you &lt;i&gt;absolutely must make sure&lt;/i&gt; that you’re on Cobra or perhaps a low cost high deductible plan.&lt;/p&gt;
&lt;p&gt;If you &lt;i&gt;do&lt;/i&gt; let your insurance lapse, then the next insurance company can only exclude covering the cost of pre-existing conditions for the next 12 months at most (less than that, if you had any continuous coverage the previous year — but see the HIPAA link for details).&lt;/p&gt;
&lt;p&gt;Why am I blogging about this now? Because Cobra coverage from my previous company is running out, and since startups often times aren’t cash flow positive, they need to understand the details of how insurance coverage works. My situation is compounded by the fact that I’m also doing no-charge freelancing work for some non-profits and groups that I like, and so it’d even be a stretch for me to qualify for &lt;a href="http://www.freelancersunion.org/insurance/index.html"&gt;Freelancers Union insurance&lt;/a&gt;.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/220074252</link><guid>http://s7labs.tumblr.com/post/220074252</guid><pubDate>Thu, 22 Oct 2009 11:59:00 -0400</pubDate></item><item><title>Musings on Markets: The dangers of relative valuation</title><description>&lt;a href="http://aswathdamodaran.blogspot.com/2009/09/dangers-of-relative-valuation.html"&gt;Musings on Markets: The dangers of relative valuation&lt;/a&gt;: &lt;p&gt;Larry Summers mocked efficient market theories, saying that they’re as insightful as finding that two quart bottles of ketchup are twice as expensive as one quart bottles. Relative valuation seems the same deal to me.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/199283988</link><guid>http://s7labs.tumblr.com/post/199283988</guid><pubDate>Mon, 28 Sep 2009 12:37:24 -0400</pubDate></item><item><title>CyLucene released!</title><description>&lt;p&gt;We&amp;#8217;ve officially released &lt;a title="CyLucene" href="http://code.google.com/p/python-cylucene/"&gt;CyLucene&lt;/a&gt;, a Python interface to &lt;a title="CLucene" href="http://sourceforge.net/apps/mediawiki/clucene/index.php?title=Main_Page"&gt;CLucene&lt;/a&gt;. CLucene is a C++ implementation of &lt;a title="Apache Lucene" href="http://lucene.apache.org/java/docs/"&gt;Apache Lucene&lt;/a&gt;, the popular search engine library.&lt;/p&gt;
&lt;p&gt;Python developers wishing to use a well supported search engine typically head to &lt;a title="PyLucene" href="http://lucene.apache.org/pylucene/"&gt;PyLucene&lt;/a&gt;. PyLucene&amp;#8217;s approach is to build an interface to a C++ layer using their custom grown JCC compiler, which then talks to Java Lucene via JNI. That&amp;#8217;s two layers of indirection, one of which is JNI.&lt;/p&gt;
&lt;p&gt;Even if you believe JNI is efficient, there&amp;#8217;s still the added overhead of requiring Java at runtime. If you run a website on a shared hosting service that restricts you to, say, 80&amp;#160;MB of RAM, CyLucene might be for you.&lt;/p&gt;
&lt;p&gt;CyLucene 0.1 is minimally useful. It good enough to power &lt;a title="Standing Room" href="http://standingrm.com"&gt;Standing Room&lt;/a&gt;&amp;#8217;s upcoming search features, but it&amp;#8217;s far from a complete CLucene bridge. We&amp;#8217;re in real need of feedback as to what features we need to expose to make the package more generally useful. You can find contact info in the readme.txt file, and can file a bug as always.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/196072220</link><guid>http://s7labs.tumblr.com/post/196072220</guid><pubDate>Thu, 24 Sep 2009 17:29:00 -0400</pubDate><category>python</category><category>clucene</category><category>cylucene</category><category>search</category><category>lucene</category></item><item><title>9.3. collections — High-performance container datatypes — Python v2.6.2 documentation</title><description>&lt;a href="http://docs.python.org/library/collections.html#collections.namedtuple"&gt;9.3. collections — High-performance container datatypes — Python v2.6.2 documentation&lt;/a&gt;: &lt;p&gt;Very glad to see named tuples!&lt;/p&gt;
&lt;p&gt;When I was a Python n00b (maybe I still am?), I asked on &lt;a title="Stack Overflow" href="http://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; whether or not such a feature existed. I received one particularly arrogant response, in my opinion, along the lines of “why insist that your code looks like C++? It destroys my Python zen.”&lt;/p&gt;
&lt;p&gt;That comment is contrary to one reason why I’ve become such a Python fan — the design and community is the optimal balance of sanity for my tastes.&lt;/p&gt;
&lt;p&gt;Other languages of this genre that I’ve used are Ruby, Lua, and Scheme.&lt;/p&gt;
&lt;p&gt;Ruby is &lt;i&gt;beautiful&lt;/i&gt;, but the community is blinded by that fact.&lt;/p&gt;
&lt;p&gt;Lua is a little too hurriedly practical, sprinkled with language quirks that are hard to keep track of for an occasional programmer.&lt;/p&gt;
&lt;p&gt;And Scheme… oh, Scheme, such wasted potential. It had 20 years lead time to become the Python of our age, &lt;i&gt;and&lt;/i&gt; countless numbers of computer science students indoctrinated via &lt;a title="Structure and Interpretation of Computer Programs" href="http://mitpress.mit.edu/sicp/"&gt;SICP&lt;/a&gt;. But even with those advantages, scrappy little brother Python is the one that took the limelight.&lt;/p&gt;
&lt;p&gt;&lt;a title="Python for Lisp Programmers" href="http://norvig.com/python-lisp.html"&gt;Oh well&lt;/a&gt;.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/195886926</link><guid>http://s7labs.tumblr.com/post/195886926</guid><pubDate>Thu, 24 Sep 2009 12:33:00 -0400</pubDate><category>python</category><category>ruby</category><category>scheme</category><category>lua</category><category>named tuples</category></item><item><title>import this</title><description>&lt;p&gt;&lt;pre&gt;Python 2.5.1 (r251:54863, Feb  6 2009, 19:02:12) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
&amp;gt;&amp;gt;&amp;gt; import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
&lt;/pre&gt;&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/188781069</link><guid>http://s7labs.tumblr.com/post/188781069</guid><pubDate>Tue, 15 Sep 2009 16:58:35 -0400</pubDate><category>python</category><category>zen</category></item><item><title>Opid, a Python WSGI OpenID app.</title><description>&lt;a href="http://code.google.com/p/python-opid/"&gt;Opid, a Python WSGI OpenID app.&lt;/a&gt;: &lt;p&gt;I’m excited to announce the first official free software release by &lt;a href="http://www.s7labs.com" title="S7 Labs"&gt;S7 Labs&lt;/a&gt;! I wrote &lt;a title="python-opid" href="http://code.google.com/p/python-opid/"&gt;Opid&lt;/a&gt; to replace the &lt;a href="http://authkit.org/" title="AuthKit"&gt;AuthKit&lt;/a&gt; module for OpenID authentication in &lt;a href="http://standingrm.com" title="Standing Room"&gt;Standing Room&lt;/a&gt;. AuthKit, built for the &lt;a href="http://pylonshq.com/" title="Pylons"&gt;Pylons&lt;/a&gt; framework, provided more functionality than I was looking for, and proved to be difficult to customize. Opid is orders of magnitude smaller in code size and more flexible, IMO, though it leaves a user model implementation up to the developer. Check it out!&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/187198884</link><guid>http://s7labs.tumblr.com/post/187198884</guid><pubDate>Sun, 13 Sep 2009 17:43:00 -0400</pubDate><category>python</category><category>openid</category><category>opid</category><category>python-opid</category><category>authkit</category></item><item><title>“What do you do, guaranteed?”
Best of TBT —...</title><description>&lt;object type="application/x-shockwave-flash" data="http://www.todaysbigthing.com/betamax/betamax.swf?item_id=2140&amp;fullscreen=1" width="400" height="300"&gt; 						&lt;param name="allowScriptAccess" value="sameDomain" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="movie" quality="best" value="http://www.todaysbigthing.com/betamax/betamax.swf?item_id=2140&amp;fullscreen=1" /&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;“What do &lt;i&gt;you&lt;/i&gt; do, guaranteed?”&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.todaysbigthing.com/2009/09/07"&gt;Best of TBT — Your Business Card is Crap is Today’s BIG Thing - SEP 07, 2009&lt;/a&gt;&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/184154436</link><guid>http://s7labs.tumblr.com/post/184154436</guid><pubDate>Wed, 09 Sep 2009 22:15:12 -0400</pubDate></item><item><title>Beaker sessions with file backend.</title><description>&lt;p&gt;The Beaker documentation mentions that you &lt;i&gt;can&lt;/i&gt; use a file backed session backend, along with numerous other methods (memory, dbm, various SQL flavors, even Google App Engine datastore).&lt;/p&gt;
&lt;p&gt;What they don&amp;#8217;t explain is how you &lt;i&gt;actually use&lt;/i&gt; a file backend, and searching around was turning up nothing.  It turns out to be similar to how you configure Beaker caching, a la with data and lock directories:&lt;/p&gt;
&lt;pre&gt;session_app = beaker.middleware.SessionMiddleware(app,
                                                  type='file',
                                                  data_dir='/path/to/some/dir',
                                                  lock_dir='/path/to/another/dir')&lt;/pre&gt;</description><link>http://s7labs.tumblr.com/post/183177496</link><guid>http://s7labs.tumblr.com/post/183177496</guid><pubDate>Tue, 08 Sep 2009 19:27:00 -0400</pubDate><category>beaker</category><category>sessions</category><category>wsgi</category><category>python</category></item><item><title>"Frameworks ought to gracefully fade away as you replace them, bit by bit, with domain-specific code."</title><description>“Frameworks ought to gracefully fade away as you replace them, bit by bit, with domain-specific code.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;a href="http://jacobian.org/writing/snakes-on-the-web/"&gt;Snakes on the Web&lt;/a&gt;&lt;/em&gt;</description><link>http://s7labs.tumblr.com/post/181385164</link><guid>http://s7labs.tumblr.com/post/181385164</guid><pubDate>Sun, 06 Sep 2009 16:23:34 -0400</pubDate></item><item><title>The simplest security measure.</title><description>&lt;p&gt;Why don&amp;#8217;t more sites offer the ability to send you an email when someone logs into your account? &lt;a href="http://name.com"&gt;name.com&lt;/a&gt; does it. I figure all banks should do it too. I don&amp;#8217;t expect &lt;i&gt;all&lt;/i&gt; sites to offer that feature, but at a minimum the ones that require explicit security.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/178217595</link><guid>http://s7labs.tumblr.com/post/178217595</guid><pubDate>Wed, 02 Sep 2009 17:05:33 -0400</pubDate><category>security</category></item><item><title>NodeBox uses Python and OS X’s Quartz processor to produce...</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_kozlxmezp21qzhdkeo1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a title="NodeBox" href="http://nodebox.net/code/index.php/Home"&gt;NodeBox&lt;/a&gt; uses Python and OS X’s Quartz processor to produce some stunning images.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/172134391</link><guid>http://s7labs.tumblr.com/post/172134391</guid><pubDate>Wed, 26 Aug 2009 10:08:10 -0400</pubDate></item><item><title>Standing Room r3 is live!</title><description>&lt;p&gt;&lt;a href="http://standingrm.tumblr.com/post/167592135/standing-room-r3-is-live"&gt;standingrm&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Just got back from a much needed vacation and released the new version of Standing Room. We now can expose links to sets, which will open the door to some handy upcoming functionality. As always, there were also behind the scenes stability and usability fixes.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://s7labs.tumblr.com/post/167593087</link><guid>http://s7labs.tumblr.com/post/167593087</guid><pubDate>Thu, 20 Aug 2009 17:07:51 -0400</pubDate></item><item><title>joshua's blog: on url shorteners</title><description>&lt;a href="http://joshua.schachter.org/2009/04/on-url-shorteners.html"&gt;joshua's blog: on url shorteners&lt;/a&gt;: &lt;p&gt;My opinion: URL shorteners are evil, in large part because they hijack data for no benefit. Regardless of motive, a shortener service that banks on the 140 character Twitter limit does not exactly have a strong business position. If Twitter was to discount the character quota by any embedded URLs (who sends links in SMS anyway?), bit.ly, for instance, would instantly evaporate.&lt;/p&gt;</description><link>http://s7labs.tumblr.com/post/160791053</link><guid>http://s7labs.tumblr.com/post/160791053</guid><pubDate>Tue, 11 Aug 2009 17:43:35 -0400</pubDate></item></channel></rss>
