<?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-1280594010967081625.comments</id><updated>2011-09-23T09:53:15.575-04:00</updated><category term='linux'/><category term='mobile'/><category term='frisky'/><category term='business'/><category term='javascript'/><category term='java'/><category term='riak'/><category term='erlang'/><category term='apple'/><category term='gwt'/><category term='cloud'/><category term='golang'/><category term='magnum'/><category term='pylons'/><category term='android'/><category term='python'/><category term='spread'/><category term='turbogears'/><category term='nonblocking'/><category term='nosql'/><category term='performance'/><category term='architecture'/><category term='async'/><category term='rant'/><category term='database'/><category term='fawps'/><title type='text'>Hacking Thought Blog</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.hackingthought.com/feeds/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/comments/default'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/comments/default?start-index=26&amp;max-results=25'/><author><name>Lateef Jackson</name><uri>https://profiles.google.com/104965469689680679178</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-kwKiEJ2Nxbw/AAAAAAAAAAI/AAAAAAAAIW8/YKLbdU9g1d8/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-1761103167429519126</id><published>2011-09-23T09:53:15.575-04:00</published><updated>2011-09-23T09:53:15.575-04:00</updated><title type='text'>I use Rackspace for this because they have the bes...</title><content type='html'>I use Rackspace for this because they have the best pricing for the minimum setup.&lt;br /&gt;Yes I have mongo on the same stack but it would be trivial to push it on its own servers.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/345314250683420440/comments/default/1761103167429519126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/345314250683420440/comments/default/1761103167429519126'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2011/06/startup-cloud-cluster-on-budget.html?showComment=1316785995575#c1761103167429519126' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2011/06/startup-cloud-cluster-on-budget.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-345314250683420440' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/345314250683420440' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-9119862058417681952</id><published>2011-09-23T02:33:22.652-04:00</published><updated>2011-09-23T02:33:22.652-04:00</updated><title type='text'>Great post! Couple of questions:

1. Which cloud p...</title><content type='html'>Great post! Couple of questions:&lt;br /&gt;&lt;br /&gt;1. Which cloud provider did you end up using for this? Rackspace?&lt;br /&gt;&lt;br /&gt;2. Have you looked at Mongo with the same stack?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/345314250683420440/comments/default/9119862058417681952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/345314250683420440/comments/default/9119862058417681952'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2011/06/startup-cloud-cluster-on-budget.html?showComment=1316759602652#c9119862058417681952' title=''/><author><name>openid</name><uri>http://closedbracket.com/openid?id=105585367131523267407</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2011/06/startup-cloud-cluster-on-budget.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-345314250683420440' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/345314250683420440' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1323573417'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-4412758361930616331</id><published>2011-08-12T02:30:01.908-04:00</published><updated>2011-08-12T02:30:01.908-04:00</updated><title type='text'>nice....!</title><content type='html'>nice....!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/2675177554608619768/comments/default/4412758361930616331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/2675177554608619768/comments/default/4412758361930616331'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2011/01/erlang-first-impressions.html?showComment=1313130601908#c4412758361930616331' title=''/><author><name>seema</name><uri>http://sheibansystems.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2011/01/erlang-first-impressions.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-2675177554608619768' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/2675177554608619768' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-447161338'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-3641572529401332293</id><published>2011-07-16T12:06:07.075-04:00</published><updated>2011-07-16T12:06:07.075-04:00</updated><title type='text'>Udhyakumar take a look at cell tables they are muc...</title><content type='html'>Udhyakumar take a look at cell tables they are much better! http://code.google.com/webtoolkit/doc/latest/DevGuideUiCellWidgets.html they are much easier to use and work with mobile devices.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7574196234024274672/comments/default/3641572529401332293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7574196234024274672/comments/default/3641572529401332293'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/03/gwt-flextable-is-nice.html?showComment=1310832367075#c3641572529401332293' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/03/gwt-flextable-is-nice.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-7574196234024274672' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/7574196234024274672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-6849757127405504792</id><published>2011-07-16T01:33:56.484-04:00</published><updated>2011-07-16T01:33:56.484-04:00</updated><title type='text'>hi friend,
i need a help
how do i change a cell co...</title><content type='html'>hi friend,&lt;br /&gt;i need a help&lt;br /&gt;how do i change a cell color while i clicking on a perticular cell&lt;br /&gt;and also for listbox give me code sample too please&lt;br /&gt;thanks alot</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7574196234024274672/comments/default/6849757127405504792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7574196234024274672/comments/default/6849757127405504792'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/03/gwt-flextable-is-nice.html?showComment=1310794436484#c6849757127405504792' title=''/><author><name>Udhayakumar</name><uri>http://www.blogger.com/profile/14974914809807348935</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/03/gwt-flextable-is-nice.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-7574196234024274672' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/7574196234024274672' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1647925317'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-5387674189953351040</id><published>2011-06-20T03:56:57.178-04:00</published><updated>2011-06-20T03:56:57.178-04:00</updated><title type='text'>very nice blog</title><content type='html'>very nice blog</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/5201444898231989940/comments/default/5387674189953351040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/5201444898231989940/comments/default/5387674189953351040'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/09/there-was-life-before-g1-and-now-there.html?showComment=1308556617178#c5387674189953351040' title=''/><author><name>shekhar</name><uri>http://gamecloud-ltd.com</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/09/there-was-life-before-g1-and-now-there.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-5201444898231989940' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/5201444898231989940' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-522885859'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-7409912585549827244</id><published>2010-11-04T15:47:22.707-04:00</published><updated>2010-11-04T15:47:22.707-04:00</updated><title type='text'>Today reddit had an entry to: http://www.gnu.org/s...</title><content type='html'>Today reddit had an entry to: http://www.gnu.org/software/pythonwebkit/ which seems to suggest we may have an good alternative to Java in GWT soon. This would be very welcome. Last night I played with it a bit and I will need to it hooked into a WSGI app so I can just refresh a page and it will render the output via the WSGI servers instead of writing it to disk. Then I can start using it as an alternative.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/495999269697930704/comments/default/7409912585549827244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/495999269697930704/comments/default/7409912585549827244'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/11/shelving-java-and-os-x.html?showComment=1288900042707#c7409912585549827244' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/11/shelving-java-and-os-x.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-495999269697930704' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/495999269697930704' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-4495632085935698828</id><published>2010-11-04T15:41:51.029-04:00</published><updated>2010-11-04T15:41:51.029-04:00</updated><title type='text'>@chrismahan I think your right if the server is fa...</title><content type='html'>@chrismahan I think your right if the server is faster than your desktop and bandwidth is massive you are all set. Since Ubuntu uses debian package manager I think they are probably similar. My local stack is faster than the remote one I am running in general so I will probably keep running it locally and thus want to run linux on my laptop/desktop.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/495999269697930704/comments/default/4495632085935698828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/495999269697930704/comments/default/4495632085935698828'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/11/shelving-java-and-os-x.html?showComment=1288899711029#c4495632085935698828' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/11/shelving-java-and-os-x.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-495999269697930704' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/495999269697930704' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-135841288819178169</id><published>2010-11-03T01:50:15.660-04:00</published><updated>2010-11-03T01:50:15.660-04:00</updated><title type='text'>I went debian stable on vps and putty/ssh into the...</title><content type='html'>I went debian stable on vps and putty/ssh into the dev machine. I use whatever on the client, since it doesn&amp;#39;t matter. I output html, and do all the heavy lifting on the server. yes, more money monthly on the server, but cheaper machines to buy every 3 years. Also, on debian, you can run a bunch or tools together in different languages...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/495999269697930704/comments/default/135841288819178169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/495999269697930704/comments/default/135841288819178169'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/11/shelving-java-and-os-x.html?showComment=1288763415660#c135841288819178169' title=''/><author><name>chrismahan</name><uri>http://chrismahan.wordpress.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/11/shelving-java-and-os-x.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-495999269697930704' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/495999269697930704' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1867291745'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-8477007073228353523</id><published>2010-09-01T13:05:31.444-04:00</published><updated>2010-09-01T13:05:31.444-04:00</updated><title type='text'>I just realized that one of the libraries you ment...</title><content type='html'>I just realized that one of the libraries you mentioned, &lt;a href="http://eventlet.net/" rel="nofollow"&gt;Eventlet&lt;/a&gt; does use coroutines.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7130345466580542648/comments/default/8477007073228353523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7130345466580542648/comments/default/8477007073228353523'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/08/nonblocking-async-tornado-presentation.html?showComment=1283360731444#c8477007073228353523' title=''/><author><name>Jonathan Rogers</name><uri>https://jonathanrrogers.myopenid.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/08/nonblocking-async-tornado-presentation.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-7130345466580542648' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/7130345466580542648' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-284199092'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-3819883100908236378</id><published>2010-09-01T12:32:54.691-04:00</published><updated>2010-09-01T12:32:54.691-04:00</updated><title type='text'>I am a fan of coroutines I just haven&amp;#39;t had mu...</title><content type='html'>I am a fan of coroutines I just haven&amp;#39;t had much time to experiment with them in Python. PEP 342 would be very useful and would be my prefered method for concurrency. The little code I have written in go (golang) I found coroutines very user friendly.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7130345466580542648/comments/default/3819883100908236378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7130345466580542648/comments/default/3819883100908236378'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/08/nonblocking-async-tornado-presentation.html?showComment=1283358774691#c3819883100908236378' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/08/nonblocking-async-tornado-presentation.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-7130345466580542648' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/7130345466580542648' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-6662200145293974876</id><published>2010-09-01T11:52:46.872-04:00</published><updated>2010-09-01T11:52:46.872-04:00</updated><title type='text'>Thanks for the great presentation. Tornado does lo...</title><content type='html'>Thanks for the great presentation. Tornado does look like a very nice, easy to use library for asynchronous communication. I&amp;#39;ll be comparing it with Twisted soon as I need to learn Twisted.&lt;br /&gt;&lt;br /&gt;BTW, have you looked into using coroutines for asynchronous communication as an alternative or augmentation to an event-based approach? I haven&amp;#39;t really tried it myself, but I have read about server frameworks in at least Smalltalk and Lisp that use coroutines or the lower-level building blocks continuations. It seems that PEP 342 might be useful for asynchronous communication, but I don&amp;#39;t how much people are doing with it yet.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7130345466580542648/comments/default/6662200145293974876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/7130345466580542648/comments/default/6662200145293974876'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/08/nonblocking-async-tornado-presentation.html?showComment=1283356366872#c6662200145293974876' title=''/><author><name>Jonathan Rogers</name><uri>https://jonathanrrogers.myopenid.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/08/nonblocking-async-tornado-presentation.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-7130345466580542648' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/7130345466580542648' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-284199092'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-9044845430372932699</id><published>2010-04-08T14:32:03.301-04:00</published><updated>2010-04-08T14:32:03.301-04:00</updated><title type='text'>I have been wanting since the release of AppEngine...</title><content type='html'>I have been wanting since the release of AppEngine to do an AppEngine IDE as an app running on, obviously, AppEngine. I&amp;#39;ve already run some tests and actually deploying from one app to another should work, even if the deployer needs modified a bit to run on AppEngine.&lt;br /&gt;&lt;br /&gt;I think this notion is most powerfully combined with a strong web-based forking and merging. Have a bug in your favorite webapp? Fork it and fix it in a minute, without even leaving your browser.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/753838473680077499/comments/default/9044845430372932699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/753838473680077499/comments/default/9044845430372932699'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2010/04/everyone-codes.html?showComment=1270751523301#c9044845430372932699' title=''/><author><name>Calvin Spealman</name><uri>http://www.blogger.com/profile/07161631946662126734</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2010/04/everyone-codes.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-753838473680077499' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/753838473680077499' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-767292393'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-1789272488282619255</id><published>2010-01-05T19:16:37.326-05:00</published><updated>2010-01-05T19:16:37.326-05:00</updated><title type='text'>I would gladly help out if I can. Not sure if I wi...</title><content type='html'>I would gladly help out if I can. Not sure if I will be in a position to help but I will contact you shortly.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;&lt;br /&gt;Brume</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/1565017632692042164/comments/default/1789272488282619255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/1565017632692042164/comments/default/1789272488282619255'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/10/frisky-is-merging-into-magnum.html?showComment=1262736997326#c1789272488282619255' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/10/frisky-is-merging-into-magnum.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-1565017632692042164' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/1565017632692042164' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-828616637'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-5896721065603969417</id><published>2010-01-04T20:35:48.790-05:00</published><updated>2010-01-04T20:35:48.790-05:00</updated><title type='text'>@Brume
The documents can have foreign keys to othe...</title><content type='html'>@Brume&lt;br /&gt;The documents can have foreign keys to other documents. So you don&amp;#39;t have to have copies of the data. For example if I was to have a list of a list of friends then I would just have an array of the document ids that are the users friends. One of the reasons I like Riak so much is it support a concept of a link in a document of which you can traverse links which is really cool. In my applications that I wrote using CouchDB I just used a string that pointed to the document id of which I would use a lot in lists and dictionaries (associative arrays). &lt;br /&gt;&lt;br /&gt;All I was trying to point out is the documents can have nested data in them which is very difficult or ugly to do in a relational database. In relational databases we end up creating lots of data that should just be nested and use queries to rebuild the nesting in our ORM. When you have a document and it has a small list of things like groups, friends, settings ect most of the time you don&amp;#39;t need to create a document for each &amp;quot;thing&amp;quot;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/5896721065603969417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/5896721065603969417'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262655348790#c5896721065603969417' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-4533323632660305250</id><published>2010-01-04T20:25:30.758-05:00</published><updated>2010-01-04T20:25:30.758-05:00</updated><title type='text'>First I have to port Magnum to OS X. Which I have ...</title><content type='html'>First I have to port Magnum to OS X. Which I have started to write a generic nonblocking I/O system that uses kqueue, epoll or poll depending on what is supported (probably support libevent pretty easy to). I have the code stubbed out but I need to finish testing and implementing it. I have a little Android app I am writing this week, then a little web app and hopeful I will find a small consulting project and then I can go back and finish the implementation. Once I get the port it shouldn&amp;#39;t take more than 2 days to port all the features Frisky has into Magnum. Would love some help on the implementation if anyone can?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/1565017632692042164/comments/default/4533323632660305250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/1565017632692042164/comments/default/4533323632660305250'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/10/frisky-is-merging-into-magnum.html?showComment=1262654730758#c4533323632660305250' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/10/frisky-is-merging-into-magnum.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-1565017632692042164' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/1565017632692042164' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-968605556149581325</id><published>2010-01-04T18:04:59.281-05:00</published><updated>2010-01-04T18:04:59.281-05:00</updated><title type='text'>What frisky features are you are looking to add to...</title><content type='html'>What frisky features are you are looking to add to magnum?.&lt;br /&gt;&lt;br /&gt;Have you had a chance to take magnum for a spin?&lt;br /&gt;&lt;br /&gt;I am curios to see how well magnum performs.&lt;br /&gt;&lt;br /&gt;Brume</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/1565017632692042164/comments/default/968605556149581325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/1565017632692042164/comments/default/968605556149581325'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/10/frisky-is-merging-into-magnum.html?showComment=1262646299281#c968605556149581325' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/10/frisky-is-merging-into-magnum.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-1565017632692042164' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/1565017632692042164' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-828616637'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-1661073240912626485</id><published>2010-01-04T17:58:10.840-05:00</published><updated>2010-01-04T17:58:10.840-05:00</updated><title type='text'>Ah!. 

So each document will contain all data it n...</title><content type='html'>Ah!. &lt;br /&gt;&lt;br /&gt;So each document will contain all data it needs with fewer queries required to pull data of interest.&lt;br /&gt;&lt;br /&gt;One obvious trade off being increased disk space requirements seeing as data is duplicated accross documents in order to obviate joins. As well updates of duplicated data will require more writes to different documents to accomplish.&lt;br /&gt;&lt;br /&gt;Interesting.....&lt;br /&gt;&lt;br /&gt;Now I see the forest for the trees :)&lt;br /&gt;&lt;br /&gt;Duh!. It is hard to think with a non-relational hat on when all the apps you have written are for relational data models.&lt;br /&gt;&lt;br /&gt;Brume</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/1661073240912626485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/1661073240912626485'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262645890840#c1661073240912626485' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-828616637'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-2007901257559645494</id><published>2010-01-03T22:28:24.540-05:00</published><updated>2010-01-03T22:28:24.540-05:00</updated><title type='text'>@slow disk
Compared to CPU speed individual disk s...</title><content type='html'>@slow disk&lt;br /&gt;Compared to CPU speed individual disk speeds have stood still for the last 20 years. If the performance had increased a lot of the RDBMS performance  issues would not exist. &lt;br /&gt;&lt;br /&gt;@Brume&lt;br /&gt;As far as querying data model in a document based NoSQL in the applications that I have been working on the data tends to be less partitioned into documents. For example if you had a system you would have one document to store user information (name, password, authentication type), settings (colors, background, links), contact information (phone numbers, emails, address) and friends (list of other users). Well in a relational model that was normalized instead of having one table it would have maybe 7 (login, setting, phone, email, address, friend) or more potentially. Since all this is stored in a single document then there is no need to traverse other documents. So in this case we have a single object that would represent the document and instead of having 7 ORM mapped object to 7 tables we would just have one. If the use case is to find all the users who have setting X and email them for the next release we can just filter the documents by setting and we are done. In an ORM we can filter by setting then look up the email address, or we could build a join so that we don&amp;#39;t have two round trips to the database... But that goes back to my point about performance.&lt;br /&gt;&lt;br /&gt;When I was speaking of the map/reduce time savings I was talking development time savings. Specifically I found it much faster to write Javascript conditional to filter documents in CouchDB than write SQL. &lt;br /&gt;&lt;br /&gt;As far as getting your hands dirty the issue I had was it took a couple little applications before I got my brain thinking document instead of relation. The first couple scripts I wrote using CouchDB looked like relational data model. I hate to say it but it is hard to &amp;quot;think outside the box&amp;quot;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/2007901257559645494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/2007901257559645494'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262575704540#c2007901257559645494' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-2946422132700721434</id><published>2009-12-31T13:17:08.508-05:00</published><updated>2009-12-31T13:17:08.508-05:00</updated><title type='text'>Hey Lateef,

I am trying to follow your train of t...</title><content type='html'>Hey Lateef,&lt;br /&gt;&lt;br /&gt;I am trying to follow your train of thought....but not yet familiar enough with how document databases work to fully grasp what you mean....&lt;br /&gt;&lt;br /&gt;&amp;quot;I have found that the document model allows the data to be organized so that there is a lot less quiring. I also find writing map/reduce to be faster and easier than SQL once you get use to it with some exceptions where it is more difficult but this might just be getting use to thinking in a document model. In general I find that either I didn&amp;#39;t have to write the query or the savings in time that map/reduce creates is worth the extra effort on the queries that are more difficult.&lt;br /&gt;&amp;quot;&lt;br /&gt;&lt;br /&gt;Could you please elaborate further on this?. If the data you require is spread over so many documents in a document store wouldnt you have to manually get and filter each document in some sort of custom fashion (for each query) - in a sense building queries on the fly using primitive predicates provided by raw javascript code (for example). Or am I missing something fundamental here?.&lt;br /&gt;&lt;br /&gt;When you say &amp;quot;the savings in time map/reduce creates&amp;quot; are you referring to time saved in returning the results from a map/reduce call vs the time it takes for the RDBMS equivalent for a complex (non-trivial) query?.&lt;br /&gt;&lt;br /&gt;The last poster is also re-echoing your sentiments about higher programmer productivity.&lt;br /&gt;&lt;br /&gt;Perhaps I need to get my hands dirty and/or do some actual coding with a document database in order to fully appreciate all this.&lt;br /&gt;&lt;br /&gt;Brume</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/2946422132700721434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/2946422132700721434'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262283428508#c2946422132700721434' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1698057876'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-8544233017313539721</id><published>2009-12-31T11:27:31.867-05:00</published><updated>2009-12-31T11:27:31.867-05:00</updated><title type='text'>i don&amp;#39;t think the trend has anything to do wit...</title><content type='html'>i don&amp;#39;t think the trend has anything to do with disk drives.  Rather, changes in CPUs drive the trend: in the future we can have many slow cores on many machines cheaply, but one fast core becomes impossible.&lt;br /&gt;&lt;br /&gt;horizontal scaling got the ball rolling on the NoSQL trend, but developers are now seeing too that programmer productivity is higher and administration lower, in particular with the document oriented databases</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/8544233017313539721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/8544233017313539721'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262276851867#c8544233017313539721' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-527515803'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-5081499920012939258</id><published>2009-12-31T11:24:32.908-05:00</published><updated>2009-12-31T11:24:32.908-05:00</updated><title type='text'>The interesting thing with a lot of the consistenc...</title><content type='html'>The interesting thing with a lot of the consistency discussions is that we are often comparing a single server RDBMS to a multi server NoSQL cluster.  If we were to use NoSQL solutions on a single server too, we would then get instant consistency with many products just like with a SQL database.&lt;br /&gt;&lt;br /&gt;Also product by product it varies - HBase IIRC favors consistency over availability.&lt;br /&gt;&lt;br /&gt;Often with RDBMS, when one goes multiserver, one uses asynchronous replication which is eventually consistent.&lt;br /&gt;&lt;br /&gt;dwight/MongoDB</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/5081499920012939258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/5081499920012939258'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262276672908#c5081499920012939258' title=''/><author><name>dm</name><uri>http://www.blogger.com/profile/15346231520640377256</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-717737018'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-1430634943785606687</id><published>2009-12-31T10:26:05.430-05:00</published><updated>2009-12-31T10:26:05.430-05:00</updated><title type='text'>SQLAlchemy really does take a lot of the pain out ...</title><content type='html'>SQLAlchemy really does take a lot of the pain out of SQL. If you have to get down and dirty with stored procedures or what not you still at the bottom of a cliff to learn and debug the oddities of working in the database environment.&lt;br /&gt;&lt;br /&gt;&amp;quot;However dont NoSQL databases leave the developer to do most of the heavy lifting required to query the data in intelligent fashion?&amp;quot;&lt;br /&gt;This is a really good question. The first major reason I believe NoSQL increases productivity is data model design. I have found that the document model allows the data to be organized so that there is a lot less quiring. I also find writing map/reduce to be faster and easier than SQL once you get use to it with some exceptions where it is more difficult but this might just be getting use to thinking in a document model. In general I find that either I didn&amp;#39;t have to write the query or the savings in time that map/reduce creates is worth the extra effort on the queries that are more difficult.&lt;br /&gt;&lt;br /&gt;&amp;quot;riak only allows writing the data management map/reduce logic in erlang - which same requires a steep learning curve in order to become proficient&amp;quot;&lt;br /&gt;Yes this is true. It is however open source and if I knew enough erlang I would try to see if I could hook Python in to do the map/reduce. I don&amp;#39;t think this would be to difficult and I expect if Riak becomes popular it will quickly get map/reduce support in javascript and php also. The SQL learning curve at the beginning might seem easy but it gets steep quickly as the data gets normalized and query are non trivial.&lt;br /&gt;&lt;br /&gt;A Python map/reduce that could be used from python console would be an awesome tool for Riak and I think go a long way in accelerating the adoption of Riak.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/1430634943785606687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/1430634943785606687'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262273165430#c1430634943785606687' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-2492727046462119503</id><published>2009-12-30T22:16:08.987-05:00</published><updated>2009-12-30T22:16:08.987-05:00</updated><title type='text'>Interesting..... I have recently been researching ...</title><content type='html'>Interesting..... I have recently been researching the pros and cons of NoSQL databases and comparing same with the traditional RDBMS which currently hold sway.&lt;br /&gt;&lt;br /&gt;As you already mentioned, there are other language bindings for writing Postgresql stored procedures. Unless there are performance issues with writing a stored procedures in a higher level language like say python I would certainly prefer python stored procedures over the dated terse syntax created ages ago.&lt;br /&gt;&lt;br /&gt;My experience has been that ORMS like SQLAlchemy help with the back and forth mismatch between the application objects and the data tables as the data model of neccessity evolves while the application likewise is evolving. So it hasnt been that bad (for me at least).&lt;br /&gt;&lt;br /&gt;So much has been said about how NoSql databases are more appropriate than the RDBMS for web applications (that need to scale at will in geometric fashion) where a simple key-value data store will suffice, etc. Indeed, NoSQL databases in some quarters are deemed to hold a lot of promise for the future of reliable, scalable distributed/concurrent database backends with more predictable performance characteristics than the RDBMS.&lt;br /&gt;&lt;br /&gt;This is all fine and dandy. However dont NoSQL databases leave the developer to do most of the heavy lifting required to query the data in intelligent fashion? i.e Do you expect to see an immediate increase in your productivity w.r.t development related to data management of NOSQL based DBMS&amp;#39;s.&lt;br /&gt;&lt;br /&gt;I think I saw you mentioned somewhere that riak only allows writing the data management map/reduce logic in erlang - which same requires a steep learning curve in order to become proficient. Writing map/reduce logic using a functional high level language like javascript on the other hand perhaps would be a lot more fun/productive.&lt;br /&gt;&lt;br /&gt;I would like to see general intuitive tools/libraries/apis developed to ease the development of application specific data access logic (regardless of the degree of their complexity) to ease the transition from using a traditional RDBMS to using NoSQL databases in cases where it is more appropriate to do so.&lt;br /&gt;&lt;br /&gt;Brume</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/2492727046462119503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/8920266559864399522/comments/default/2492727046462119503'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html?showComment=1262229368987#c2492727046462119503' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/12/is-rdbms-pain-boil-down-to-premature.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-8920266559864399522' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/8920266559864399522' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1698057876'/></entry><entry><id>tag:blogger.com,1999:blog-1280594010967081625.post-8100733040340513193</id><published>2009-12-30T17:16:13.963-05:00</published><updated>2009-12-30T17:16:13.963-05:00</updated><title type='text'>Thanks Brume,

I feel like there is this transitio...</title><content type='html'>Thanks Brume,&lt;br /&gt;&lt;br /&gt;I feel like there is this transition to a nonblocking IO web backend combined with a NoSQL document store (including mobile clients like Android). However there is a lot of dust to settle. I am not an ubercoder so I have to actually write lots of code to evaluate these new technology. It is hard to find the time especially if I need to write something like frisky to experiment with a new technique. I just hope I can share my learning by writing it down.&lt;br /&gt;&lt;br /&gt;Thanks for keeping me thinking!&lt;br /&gt;Lateef</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/550489057892669686/comments/default/8100733040340513193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1280594010967081625/550489057892669686/comments/default/8100733040340513193'/><link rel='alternate' type='text/html' href='http://blog.hackingthought.com/2009/11/in-love-with-riak-nosql-design.html?showComment=1262211373963#c8100733040340513193' title=''/><author><name>Lateef Jackson</name><uri>http://www.blogger.com/profile/10815442680804512030</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_gdF4RvqRiIw/SgA-pRtFYyI/AAAAAAAAB00/nd0G4Gil5CM/S220/Photo+4.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.hackingthought.com/2009/11/in-love-with-riak-nosql-design.html' ref='tag:blogger.com,1999:blog-1280594010967081625.post-550489057892669686' source='http://www.blogger.com/feeds/1280594010967081625/posts/default/550489057892669686' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2143046532'/></entry></feed>
