<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>Responses to people who insist on using Tumblr</title><generator>Tumblr (3.0; @rcrowley)</generator><link>http://rcrowley.tumblr.com/</link><item><title>Ban Software Patents</title><description>&lt;a href="http://stuffthathappens.com/blog/2009/03/04/ban-software-patents/"&gt;Ban Software Patents&lt;/a&gt;: &lt;p&gt;&lt;a href="http://tumblelog.cowsandmilk.net/post/86561522/ban-software-patents"&gt;cowsandmilk&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://rcrowley.tumblr.com/post/86549832/ban-software-patents"&gt;rcrowley&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://tumblelog.cowsandmilk.net/post/86528682/ban-software-patents"&gt;cowsandmilk&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;blah blah, whatever I wrote earlier.  scroll down.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You make an important distinction but I still believe software patents are not useful.  Differentiation in implementation purely to skirt a patent’s claims is useless.&lt;/p&gt;
&lt;p&gt;I spent some time tracking down &lt;a href="http://philip.greenspun.com/business/internet-software-patents"&gt;the account of expert witness Philip Greenspun&lt;/a&gt; when Amazon sued Barnes &amp; Noble to enforce the one-click patent.  In particular:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I was asked “Why didn’t you patent this yourself, if you developed it first?” My reply was “It only took me an hour to build; if I went down to the patent office after every hour of programming, I wouldn’t get very much done.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Real programmers don’t bother with software patents, they’d rather spend their time building new things rather than deciding who owns old things (to paraphrase Greenspun).  Ban software patents.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Now that I’ve had my first beer of the night, and you stimulated my mind, things I don’t like about software patents have come back to me.  When a software patented algorithm becomes a standard, that is rough.  The whole gif vs. png wars were a sad time.  I’m glad I chose the side of png, but I still find a lot of people have no idea what they are.  (Also, I’m surprised at the number of people who won’t believe me that png is a lossless format, but that has nothing to do with patents.)  There are similar issues with ffmpeg and the video formats.  In all these cases, ideas for how to compress data were patented, then used in a standard format.  Not a fan of that.  But this isn’t completely unique to software.  In chemical engineering, when making a &lt;a href="http://en.wikipedia.org/wiki/Process_and_instrumentation_diagram"&gt;P&amp;ID&lt;/a&gt;, you are required to be a member of &lt;a href="http://en.wikipedia.org/wiki/Instrumentation,_Systems,_and_Automation_Society"&gt;ISA&lt;/a&gt; to use their standard symbols.  So, you have to pay $85 a year (apparently $100 in 2009) to legally talk the language of chemical plant design.&lt;/p&gt;
&lt;p&gt;Anyways, one beer tells me, one-click purchase patent was lame.  File formats based on patented algorithms are lame.  (I’m digging Firefox 3.1/3.5 and actually am preparing some screencasts in Ogg Theora to natively play.)  Maybe software patents are lame.  In an academic setting, the people in my lab have generally found that the things we have considered patenting are too complicated for most companies to write on their own, so copyright of our own code has protected us from stealing.  Maybe my judgement has been too clouded by the fact that anything we consider patenting takes much longer than an hour to implement, and generally mathematical knowledge that stretches the limits of most math/scientific C libraries to their capacity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You’re like the small town bank who’s been doing things Right for the last 10 years only to have its reputation tarnished by big bank asshats.  Your mention of copyright as enough protection plus the higher standard internally for what is patentable tells me your lab is thinking about protecting itself and not about making a quick buck.  Lawsuits are not desirable for people who do the Right thing.  And that’s just it: for any program sufficiently complicated to need a patent, copyright works just fine.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/86710469</link><guid>http://rcrowley.tumblr.com/post/86710469</guid><pubDate>Sun, 15 Mar 2009 13:53:45 -0500</pubDate></item><item><title>Ban Software Patents</title><description>&lt;a href="http://stuffthathappens.com/blog/2009/03/04/ban-software-patents/"&gt;Ban Software Patents&lt;/a&gt;: &lt;p&gt;&lt;a href="http://tumblelog.cowsandmilk.net/post/86528682/ban-software-patents"&gt;cowsandmilk&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I don’t know how this blog post showed up in one of my browsers, but it’s proof to me of how little most people understand software patents.  And it was probably linked to by someone high profile who also doesn’t understand software patents.  In this person’s view, there are these 2 patents that both patent the idea of ORM.  Neither patent is for ORM.  They are each for a way of performing ORM.  You can’t patent the idea of generating code to perform the task.  You patent the method of generating code to perform the task.&lt;/p&gt;
&lt;p&gt;In case you have trouble understanding the difference, let’s move to a hardware patent as an example.  Say, one for a &lt;a href="http://www.google.com/patents?id=EscgAAAAEBAJ"&gt;VGA controller card&lt;/a&gt;.  These people didn’t patent VGA controller cards.  In fact, the abstract specifies that they are hardware compatible to things already on the market.  So, like the pre-existing cards, they can be put in between a computer and a display and talk the right way on both sides.  And you can come up with something that does the exact same thing and get your own patent, as long as it does it in a different way than they do it.  This is what is happening with there being multiple ORM patents.  Each patent talks to a database and creates objects in a language, but the way they do it is different, so they get different patents.  And you can come up with a different way and not infringe.&lt;/p&gt;
&lt;p&gt;I’m not saying software patents are good (or bad).  I’m just tired of seeing so much ignorant commentary on the topic.  In science, I frequently see things that superficially look the same as what has been seen before.  But I find when I probe deeper, there are crucial non-obvious innovations that separate the new idea.  Acting like patents are always for extremely superficial things is unfortunate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You make an important distinction but I still believe software patents are not useful.  Differentiation in implementation purely to skirt a patent’s claims is useless.&lt;/p&gt;

&lt;p&gt;I spent some time tracking down &lt;a href="http://philip.greenspun.com/business/internet-software-patents"&gt;the account of expert witness Philip Greenspun&lt;/a&gt; when Amazon sued Barnes &amp; Noble to enforce the one-click patent.  In particular:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I was asked “Why didn’t you patent this yourself, if you developed it first?” My reply was “It only took me an hour to build; if I went down to the patent office after every hour of programming, I wouldn’t get very much done.”&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Real programmers don’t bother with software patents, they’d rather spend their time building new things rather than deciding who owns old things (to paraphrase Greenspun).  Ban software patents.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/86549832</link><guid>http://rcrowley.tumblr.com/post/86549832</guid><pubDate>Sat, 14 Mar 2009 20:50:12 -0500</pubDate></item><item><title>A note on OpenClip</title><description>&lt;p&gt;&lt;a href="http://tumblelog.cowsandmilk.net/post/46755269/a-note-on-openclip"&gt;cowsandmilk&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://tumblelog.marco.org/46735741/a-note-on-openclip"&gt;marco&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Using this, an app can read any saved authentication information in any other apps — for example, an app could steal your Flickr API key from any other apps that you’ve trusted with access to your Flickr account. Or an arbitrary app could read saved passwords from a password-manager app.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don’t think it would be possible for another app to steal your app’s access to Flickr.  Your secret key would be hardcoded in your app and short of some magic crawling through the binary, noone could send a message as you, even if they had your api key (easy to get for an app as it’s clear text in your POST/GET) and they pulled the user auth_token out of your app’s data directory.  (Hopefully Richard will correct me if I’m wrong about this).&lt;/p&gt;
&lt;p&gt;As for a password manager app, God help you if your password manager is storing stuff in plain text.  OnePasswd sure doesn’t.  And if the iPhone has Keychain, noone with a brain should.  In fact, if the iPhone has Keychain, hopefully your app accessing Flickr put the user auth_token in there.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Richard Crowley: man strings&lt;br/&gt;
David Hall: I knew there had to be a way to do that&lt;br/&gt;
Richard Crowley: however&lt;br/&gt;
Richard Crowley: run strings on the flickr uploadr’s binary&lt;br/&gt;
Richard Crowley: and you’ll find no api secret&lt;br/&gt;
Richard Crowley: Richard 1, strings 0&lt;br/&gt;
Richard Crowley: char secret[16]; secret[0] = ‘7’; secret[1] = ‘a’; …..&lt;br/&gt;
Richard Crowley: strings works by dumping the .text segment from elf binaries&lt;br/&gt;
Richard Crowley: so doing the character-by-character thing effectively hides it from anything that isn’t actually executing your code&lt;br/&gt;
Richard Crowley: you could certainly still get uploadr’s secret via gdb or some other debugger&lt;br/&gt;
David Hall: alright, well, that still is nice to know you can make it annoying for people to get it&lt;br/&gt;
Richard Crowley: yessir&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/46756341</link><guid>http://rcrowley.tumblr.com/post/46756341</guid><pubDate>Wed, 20 Aug 2008 18:45:00 -0500</pubDate></item><item><title>cowsandmilk:


marco:
Nice people at Slicehost.
AMEN!


Alas, they’re not Wash U kids.  Still...</title><description>&lt;p&gt;&lt;a href="http://tumblelog.cowsandmilk.net/post/45872250/marco-nice-people-at-slicehost-amen"&gt;cowsandmilk&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://tumblelog.marco.org/45818941/nice-people-at-slicehost"&gt;marco&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;Nice people at &lt;a href="http://www.slicehost.com/"&gt;Slicehost&lt;/a&gt;.&lt;/blockquote&gt;
&lt;p&gt;AMEN!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Alas, they’re not Wash U kids.  Still rockin’ service, though.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/46496209</link><guid>http://rcrowley.tumblr.com/post/46496209</guid><pubDate>Mon, 18 Aug 2008 22:34:35 -0500</pubDate></item><item><title>halle:

with dr. sanjay gupta and lance armstrong

I’m...</title><description>&lt;img src="http://11.media.tumblr.com/AoLR6GBbnbvcm9u2Nu0TE870_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://halle.tumblr.com/post/43585556/with-dr-sanjay-gupta-and-lance-armstrong"&gt;halle&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;with dr. sanjay gupta and lance armstrong&lt;/blockquote&gt;

&lt;p&gt;I’m very jealous Halle got to meet Lance Armstrong.  I’m watching the Tour de France right now, actually.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/43588814</link><guid>http://rcrowley.tumblr.com/post/43588814</guid><pubDate>Sat, 26 Jul 2008 01:41:31 -0500</pubDate></item><item><title>The UUID vs. the Integer</title><description>&lt;p&gt;&lt;a href="http://tumblelog.cowsandmilk.net/post/41004722/the-uuid-vs-the-integer"&gt;cowsandmilk&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In the world of distributed systems, integer indexes are left behind in favor of UUIDs.  Since there’s no shared counters between two unconnected systems, this is a great solution.&lt;/p&gt;
&lt;p&gt;I think that the UUID in general is better than integers though for indexing a relational database for a couple reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There are millions of pages on the internet about autoincrementing of database indexes and Postgres serial vs. MySQL auto_increment and a whole bunch of balogna about how to get your index.  If you just create a UUID in your app and use it, you avoid all that bull.&lt;br/&gt;
&lt;/li&gt;
&lt;li&gt;Security is much improved.  I mean this in two ways.  There is the classical incrementing of numbers to get to the next blog entry or photo album or whatever that is supposed to be private.  UUIDs have long been used here.  But let’s say you have a permissions to user table.  And someone figures out a sql injection that lets them put in their userid and a permission id into the table.  If your permissions are indexed on a UUID, they’re just stabbing in the dark trying to get a valid, useful permission.  They’ll probably need to do enough stabbing that you’ll notice the attack and shut them off.  (This assumes the sql injection doesn’t let them read from the permissions table).&lt;/li&gt;
&lt;/ul&gt;
It might not be traditional, it might have implications on the speed of joins (number comparison vs. string comparison? well, they should just be a bunch of bytes, so no big difference? well, the string is probably many more bytes…), database size, and other performance issues, but I think it’s well worth it.&lt;/blockquote&gt;

&lt;p&gt;The speed thing isn’t really an issue since you’d probably store the data in a fixed-width binary format which will be plenty fast.  The issue is disk use.  128-bit UUIDs will mean more disks and very quickly more servers.  &lt;a href="http://teddziuba.com/2008/07/practical-unique-identifiers.html"&gt;Ted wrote a bit about this the other day&lt;/a&gt;.  (Pay no attention to the base64 distraction at the end.)&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/41092266</link><guid>http://rcrowley.tumblr.com/post/41092266</guid><pubDate>Sat, 05 Jul 2008 11:16:56 -0500</pubDate></item><item><title>"The culture of free, seductive as it is, is destructive to everyone involved. Everyone is..."</title><description>“The culture of free, seductive as it is, is destructive to everyone involved. Everyone is undercutting everyone, until nobody is making a profit. At best, the winner is the group that can survive off of (usually meager) ad revenues.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;&lt;p&gt;&lt;a href="http://mattmaroon.com/?p=394"&gt;Matt Maroon: Bubble 2.0&lt;/a&gt; (via &lt;a href="http://tumblelog.marco.org/"&gt;marco&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;My fear is the destruction of software innovation as I’ve written about before. (via &lt;a href="http://www.kyleshank.com/"&gt;kyleshank&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The important place for innovation in an increasingly ad-driven web is in increasing the signal-to-noise ratio.  I think services that bring in direct revenues are the ideal but the second-best are those services that use advertising and markets to enhance experiences rather than exploit members.&lt;/p&gt;&lt;/em&gt;</description><link>http://rcrowley.tumblr.com/post/40261670</link><guid>http://rcrowley.tumblr.com/post/40261670</guid><pubDate>Sun, 29 Jun 2008 02:17:39 -0500</pubDate></item><item><title>kyleshank:


Whats wrong with the beer we got?  It drank pretty...</title><description>&lt;object width="400" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/xEFDVc6XCcc&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/xEFDVc6XCcc&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.kyleshank.com/post/39835990/whats-wrong-with-the-beer-we-got-it-drank-pretty"&gt;kyleshank&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Whats wrong with the beer we got?  It drank pretty good don’t it.&lt;/p&gt;
&lt;p&gt;Watch from 5:20 in.  This is an actual session from the Alabama state House on the alcohol content of beers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Danville, Kentucky went moist* in 2004 and it was quite a fight.  The Baptists came out in force against it but we beat them back with our economics stick.&lt;/p&gt;

&lt;p&gt;* “moist” in this case means that restaurants that seat more than 100 people and make at least 70% of their revenue from food sales can serve beer, wine and liquor.  One restaurant was nearly pressured out of business because of its “bar-like atmosphere” though it was meeting those numbers easily.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/39841220</link><guid>http://rcrowley.tumblr.com/post/39841220</guid><pubDate>Wed, 25 Jun 2008 17:07:43 -0500</pubDate></item><item><title>kyleshank:

Feeling the new Coldplay.

Myself, I’m rather...</title><description>&lt;img src="http://20.media.tumblr.com/nLdhQRu00abmlx85vxHyvM7R_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.kyleshank.com/post/38706706/feeling-the-new-coldplay"&gt;kyleshank&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;Feeling the new Coldplay.&lt;/blockquote&gt;

&lt;p&gt;Myself, I’m rather obsessed with the title track.  It’s embarrassing — I have a feeling my neighbors have heard it on repeat.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/38767599</link><guid>http://rcrowley.tumblr.com/post/38767599</guid><pubDate>Tue, 17 Jun 2008 11:03:30 -0500</pubDate></item><item><title>First post!</title><description>&lt;p&gt;This is new and interesting.  Perhaps Tumblr will not seem as silly to me as Twitter.&lt;/p&gt;</description><link>http://rcrowley.tumblr.com/post/706446</link><guid>http://rcrowley.tumblr.com/post/706446</guid><pubDate>Sun, 08 Apr 2007 15:47:31 -0500</pubDate></item></channel></rss>
