<?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/'><id>tag:blogger.com,1999:blog-5463615614172154334.post9080024345569233544..comments</id><updated>2009-12-15T20:44:31.914-08:00</updated><title type='text'>Comments on Keith's Blog: TxtSushi 0.4.0</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.keithsheppard.name/feeds/9080024345569233544/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html'/><author><name>Keith</name><uri>http://www.blogger.com/profile/04421311170476011799</uri><email>keithshep@gmail.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5463615614172154334.post-7119280851888959590</id><published>2009-12-15T20:44:31.914-08:00</published><updated>2009-12-15T20:44:31.914-08:00</updated><title type='text'>Awesome :-) Thanks for the encouragement G. Lisp.....</title><content type='html'>Awesome :-) Thanks for the encouragement G. Lisp... isn&amp;#39;t that the language they use to torture poor AI students at UMaine who don&amp;#39;t know what they&amp;#39;re getting themselves into ;-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/7119280851888959590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/7119280851888959590'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html?showComment=1260938671914#c7119280851888959590' title=''/><author><name>Keith</name><uri>http://www.blogger.com/profile/04421311170476011799</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09087715816952529339'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html' ref='tag:blogger.com,1999:blog-5463615614172154334.post-9080024345569233544' source='http://www.blogger.com/feeds/5463615614172154334/posts/default/9080024345569233544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-5463615614172154334.post-386445954613397129</id><published>2009-12-15T17:34:40.241-08:00</published><updated>2009-12-15T17:34:40.241-08:00</updated><title type='text'>Keith,  TxtSushi has been a big help to me in a re...</title><content type='html'>Keith,  TxtSushi has been a big help to me in a recent project!  Keep up the good work.  If I knew haskel I would help.  Don&amp;#39;t you want to rewrite it in your favorite language, Lisp?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/386445954613397129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/386445954613397129'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html?showComment=1260927280241#c386445954613397129' title=''/><author><name>G</name><uri>http://www.blogger.com/profile/14338817013772757059</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html' ref='tag:blogger.com,1999:blog-5463615614172154334.post-9080024345569233544' source='http://www.blogger.com/feeds/5463615614172154334/posts/default/9080024345569233544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-5463615614172154334.post-5036678012637596480</id><published>2009-10-10T01:27:36.715-07:00</published><updated>2009-10-10T01:27:36.715-07:00</updated><title type='text'> Mathematics of Linear Algebra </title><content type='html'>&lt;a href="http://linearalgebra21.blogspot.com" rel="nofollow"&gt; Mathematics of Linear Algebra &lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/5036678012637596480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/5036678012637596480'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html?showComment=1255163256715#c5036678012637596480' title=''/><author><name>sabera</name><uri>http://www.blogger.com/profile/04502513082051990544</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html' ref='tag:blogger.com,1999:blog-5463615614172154334.post-9080024345569233544' source='http://www.blogger.com/feeds/5463615614172154334/posts/default/9080024345569233544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-5463615614172154334.post-2880051171916241305</id><published>2009-10-07T19:54:05.109-07:00</published><updated>2009-10-07T19:54:05.109-07:00</updated><title type='text'>Hi LiYang

&gt; Would an in-memory SQLite DB fulfil y...</title><content type='html'>Hi LiYang&lt;br /&gt;&lt;br /&gt;&amp;gt; Would an in-memory SQLite DB fulfil your SQL (and efficiency) needs? http://hackage.haskell.org/package/sqlite&lt;br /&gt;&lt;br /&gt;I don&amp;#39;t think so. Mostly because my goal is to be able to work with any valid rectangular CSV input stream with no other restrictions on the input. I have to work with pretty wacky (and huge) CSV files on a regular basis.&lt;br /&gt;&lt;br /&gt;Here&amp;#39;s an example that I think would be very painful in a real DB: http://patch-tag.com/r/keithshep/txt-sushi/snapshot/current/content/pretty/examples/query-imputed-SNPs.bash&lt;br /&gt;&lt;br /&gt;&amp;gt; I&amp;#39;ve been using sqlite3 on the command line on a binary SQLite DB over my usual Unix plumbing on plain text DBs lately, and my god it&amp;#39;s such a joy to work with. (Insomuch as one can be joyful when dealing with SQL.)&lt;br /&gt;&lt;br /&gt;SQLite sounds cool! I use hsqldb for my java stuff and it sounds pretty similar. Real DBs are a great way to go when you&amp;#39;re in control of the data format and you&amp;#39;re keeping the data around for a while, but I love being able to use command-line directly on flat files in many cases.&lt;br /&gt;&lt;br /&gt;&amp;gt; As for the question of efficiency: frankly, when one is dealing with a sufficiently large dataset where efficiency becomes an issue, using a tabular textual format for intermediate data isn&amp;#39;t perhaps the best of ideas.&lt;br /&gt;&lt;br /&gt;Except that the time isn&amp;#39;t dominated by the CSV parsing step (I&amp;#39;m very willing to accept the parsing performance hit)... it&amp;#39;s the sorting step which is using a binary on disk representation for the sort which is killing me. If the implementation of external-sort was good enough it could be as efficient as any other DB I think. I hope no one is holding their breath for that though :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/2880051171916241305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/2880051171916241305'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html?showComment=1254970445109#c2880051171916241305' title=''/><author><name>Keith</name><uri>http://www.blogger.com/profile/04421311170476011799</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09087715816952529339'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html' ref='tag:blogger.com,1999:blog-5463615614172154334.post-9080024345569233544' source='http://www.blogger.com/feeds/5463615614172154334/posts/default/9080024345569233544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-5463615614172154334.post-2532948786014644341</id><published>2009-10-07T16:37:43.771-07:00</published><updated>2009-10-07T16:37:43.771-07:00</updated><title type='text'>Where by ‘the relational calculus’, I—of course—am...</title><content type='html'>Where by ‘the relational calculus’, I—of course—am in fact referring to the relational algebra.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/2532948786014644341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/2532948786014644341'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html?showComment=1254958663771#c2532948786014644341' title=''/><author><name>liyang.hu</name><uri>http://www.blogger.com/profile/14642050586254856288</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html' ref='tag:blogger.com,1999:blog-5463615614172154334.post-9080024345569233544' source='http://www.blogger.com/feeds/5463615614172154334/posts/default/9080024345569233544' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-5463615614172154334.post-174356723496670561</id><published>2009-10-07T16:33:18.256-07:00</published><updated>2009-10-07T16:33:18.256-07:00</updated><title type='text'>Would an in-memory SQLite DB fulfil your SQL (and ...</title><content type='html'>Would an in-memory SQLite DB fulfil your SQL (and efficiency) needs? http://hackage.haskell.org/package/sqlite&lt;br /&gt;&lt;br /&gt;I&amp;#39;ve been using sqlite3 on the command line on a binary SQLite DB over my usual Unix plumbing on plain text DBs lately, and my god it&amp;#39;s such a joy to work with. (Insomuch as one can be joyful when dealing with SQL.)&lt;br /&gt;&lt;br /&gt;As for the question of efficiency: frankly, when one is dealing with a sufficiently large dataset where efficiency becomes an issue, using a tabular textual format for intermediate data isn&amp;#39;t perhaps the best of ideas.&lt;br /&gt;&lt;br /&gt;I do support your notion of extensible SQL functions though.&lt;br /&gt;&lt;br /&gt;A pragmatic implementation of the relational calculus, anyone? (Rather than the bastardisation that is SQL.)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/174356723496670561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5463615614172154334/9080024345569233544/comments/default/174356723496670561'/><link rel='alternate' type='text/html' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html?showComment=1254958398256#c174356723496670561' title=''/><author><name>liyang.hu</name><uri>http://www.blogger.com/profile/14642050586254856288</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.keithsheppard.name/2009/10/txtsushi-040.html' ref='tag:blogger.com,1999:blog-5463615614172154334.post-9080024345569233544' source='http://www.blogger.com/feeds/5463615614172154334/posts/default/9080024345569233544' type='text/html'/></entry></feed>