<?xml version="1.0"?><rss version="2.0">
   <channel>
      <title>Mengu.net </title>
      <link>http://www.mengu.net/</link>
      <description>mengu on web programming.</description>
      <language>en-us</language>
      <pubDate>Tue, 07 Feb 2012 05:24:43 AM +0200</pubDate>

      <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
      <generator>Mengu.net</generator>
      <managingEditor>mengu@mengu.net</managingEditor>
      <webMaster>mengu@mengu.net</webMaster>

            <item>
         <title>A Depressive Journey With MongoDB</title>
         <link>http://www.mengu.net/post/a-depressive-journey-with-mongodb</link>
         <description><![CDATA[<h2>Disclaimer</h2>

<p>You are about to read a long story on how I got burnt with MongoDB and depressed with it. I am not blaming MongoDB, anyone using, advocating or developing it. I am blaming myself for this. MongoDB is a good tool. You can use it but just make sure it is what you need and it handles your requirements very well. This is not specific to MongoDB but applies to every tool we use. </p>

<h2>A Brief Intro</h2>

<p>I am working for the top entertainment tv production company in Turkey. This season we have launched a new show called "The Voice of Turkey". Americans would know this show as just "The Voice" while Dutchs as "The Voice of Holland". Long story short, boss called us and explained he wanted a page for contestants with their detailed information and a wall on it where members and the contestants would post. We thought OK, we can use our current infrastracture and go with caching for reads. After he told he is going to make live announcements the only thing I had in my mind was MongoDB. I knew that it could handle heavy reads and writes so why not use it? I've discussed with the rest of the team. We used it. </p>
]]></description>
         <pubDate>2012-01-11 05:36:55</pubDate>
         <guid>http://www.mengu.net/post/a-depressive-journey-with-mongodb</guid>
      </item>
            <item>
         <title>2011 At A Glance</title>
         <link>http://www.mengu.net/post/2011-at-a-glance</link>
         <description><![CDATA[<p>I can call 2011 quite a good year on my behalf however when I look at things I've done, I feel I've done much less than I could. Here is a list of what I have done in 2011.</p>

<h2>Things I've Done in 2011</h2>

<ul>
<li><p>Executed an idea we had with my brother, <a href="http://compector.com">http://compector.com</a>.</p></li>
<li><p>Built the start-up above with Ruby on Rails so I became more familiar with Ruby world.</p></li>
<li><p>I have made the switch to PostgreSQL from MySQL.</p></li>
<li><p>Got a job in one of Turkey's top web sites where we deal with thousands of concurrent users...</p></li>
</ul>
]]></description>
         <pubDate>2012-01-01 04:07:11</pubDate>
         <guid>http://www.mengu.net/post/2011-at-a-glance</guid>
      </item>
            <item>
         <title>Subqueries With SQLAlchemy</title>
         <link>http://www.mengu.net/post/subqueries-with-sqlalchemy</link>
         <description><![CDATA[<p>I have been developing the new version of www.osesturkiye.com for the Turkish version of the show called "The Voice". It's already built with TurboGears, mako and SQLAlchemy. In the new version we have a gallery and many photos in it. My SQLAlchemy model is like this:</p>

<pre><code>class GalleryPhoto(DeclarativeBase):
    __tablename__ = 'gallery_photo'

    id = Column(Integer, primary_key=True)
    photo_image = Column(UnicodeText)
    photo_description = Column(UnicodeText)
    dateline = Column(DateTime, default=datetime.now)
</code></pre>

<p>The problem I have is, in the photo detail page I will display "Previous" and "Next" links. I can implement this with two ways..</p>
]]></description>
         <pubDate>2011-12-22 05:28:11</pubDate>
         <guid>http://www.mengu.net/post/subqueries-with-sqlalchemy</guid>
      </item>
            <item>
         <title>What's Going On With TurboGears?</title>
         <link>http://www.mengu.net/post/whats-going-on-with-turbogears</link>
         <description><![CDATA[<p>If you are using Python and looking for a web framework or if you are just looking to do web programming with Python, you will look out your options and among Django, web2py and pyramid you will notice TurboGears. As a Python developer and TurboGears user, I will let you guys know what is going on with TurboGears lately and will let you have a chance with TurboGears.</p>

<p><img src="http://i.imgur.com/DvvDP.png" alt="TurboGears Introduction" /></p>

<h2>A Short Introduction First</h2>

<p>TurboGears is a full stack MVC web framework that is built on top of Pylons and which includes an ORM, a templating system, database migration tool, web helpers, authentication and authorization system by default just like Django. If you are wondering, there are two main differences between Django and TurboGears. </p>

<ul>
<li><p>TurboGears is using class based controllers and object dispatch.</p></li>
<li><p>TurboGears is built using external Python libraries such as Pylons, WebOB, paster whereas everything in Django is built for Django.</p></li>
</ul>
]]></description>
         <pubDate>2011-11-20 08:55:28</pubDate>
         <guid>http://www.mengu.net/post/whats-going-on-with-turbogears</guid>
      </item>
            <item>
         <title>Compector Launches</title>
         <link>http://www.mengu.net/post/compector-launches</link>
         <description><![CDATA[<p>Hello everyone!</p>

<p>After a very very long time I've got great news. We have launched <a href="http://www.compector.com">Compector</a> that we have been working on for almost a year now. Compector is a decision support system for employees. As in, when you apply for a job, they review your CV and call your references however you have no idea about the company. Questions start rolling in your head: "Have any people left that company? If so, why? How do they treat their employees? Are salaries paid on time? Are social benefits met?" We have launched Compector for you to find answers to all your questions. </p>

<h2>How it all started?</h2>

<p>Last year, my brother and I was wondering what would make a great application and would we do something that was helpful to people in the whole world and solving at least one problem for them. In that night we came up with nothing.</p>

<p>The following day..</p>
]]></description>
         <pubDate>2011-10-27 06:59:05</pubDate>
         <guid>http://www.mengu.net/post/compector-launches</guid>
      </item>
            <item>
         <title>Full Text Search With Ruby on Rails</title>
         <link>http://www.mengu.net/post/full-text-search-with-ruby-on-rails</link>
         <description><![CDATA[<p>I'm working on something and I needed a search functionality so I did check out my options. I did not prefer MySQL's full text search functionality as I don't want MySQL to deal with it where there are tools created only for that. I did take a look at <a href="http://sphinxsearch.com/">Sphinx</a>, <a href="http://lucene.apache.org/solr/">Solr</a> and <a href="http://www.elasticsearch.org/">ElasticSearch</a>. Among three of them I did prefer Solr. Luckily, kudos to <a href="http://outofti.me/">Mat Brown</a>, he had created a Solr gem for Ruby called <a href="https://github.com/outoftime/sunspot">Sunspot</a> and a Ruby on Rails plugin on top of it called Sunspot Rails. In order to make it compact, I will explain all this with creating a sample Rails application.</p>
]]></description>
         <pubDate>2011-07-30 07:16:04</pubDate>
         <guid>http://www.mengu.net/post/full-text-search-with-ruby-on-rails</guid>
      </item>
            <item>
         <title>Deploying TurboGears 2.1 Application With Nginx And uWSGI</title>
         <link>http://www.mengu.net/post/deploying-turbogears-21-application-with-nginx-and-uwsgi</link>
         <description><![CDATA[<p>I have developed a <a href="http://www.turbogears.org">TurboGears 2.1</a> application and I was asked to deploy it today. I was planning to use Apache and mod_wsgi however on CentOS 5.6 both are painful. I was getting some errors that I really did not want to deal with so I have decided to use <a href="http://www.nginx.org">nginx</a> and <a href="http://projects.unbit.it/uwsgi/">uWSGI</a>. Great combination I believe. The thing is I had to deploy this application to 3 web servers as we are using a load balancer so I have created a deployment script to use on all 3 web servers but surely I won't let you figure out how to deploy from this script.</p>

<p>Let's cut the chase and get to the point.</p>
]]></description>
         <pubDate>2011-07-15 12:03:30</pubDate>
         <guid>http://www.mengu.net/post/deploying-turbogears-21-application-with-nginx-and-uwsgi</guid>
      </item>
            <item>
         <title>Common Django Issues</title>
         <link>http://www.mengu.net/post/common-django-issues</link>
         <description><![CDATA[<p>I am following many programming language and library mailing lists and one of them is the Django group. Since the time I've started following the mailing list, I have seen the same questions flowing around and for that matter, I will write down two simple advices and solutions to common Django issues asked around constantly.</p>

<h2>Read the Django Documentation</h2>

<p>Django docs are one of the best documentations around on the web. Whatever it is you wonder, you need, you stuck is already mentioned in the documentation. Before jumping in and asking questions all the time, make a simple plan for your application, find out what you need or what you might need and read about them. Always start with the basic tutorial in the Django web site. Do not underestimate it because it's a simple application, it will open your eyes.</p>

<h2>Google Your Problem</h2>

<p>Whatever your problem / error / need / question is, it is most likely to be asked and answered already on the web. Before posting to the mailing list(s) or asking in the IRC rooms, just google it. If there is nothing pleasing you then go with the support channels. Long story short, google it!</p>
]]></description>
         <pubDate>2011-04-11 12:20:56</pubDate>
         <guid>http://www.mengu.net/post/common-django-issues</guid>
      </item>
            <item>
         <title>On Pyramid Extensibility</title>
         <link>http://www.mengu.net/post/on-pyramid-extensibility</link>
         <description><![CDATA[<p>Pyramid is the fastest-growing Python web framework which is the result of Pylons and repoze.bfg merge. It's one of my favourites in terms of extensibility and productivity. Pyramid use the MTV pattern just like Django and does not impoze ORM or template decisions for you. However if you are a Pylons, Flask and Django developer already, I strongly recommend using <code>pyramid_routesalchemy</code> paster template.</p>

<p>Pyramid is also known for its extensibility and I have noticed people getting confused on Pyramid extensibility. Pyramid is a Python library so you can go ahead and <code>easy_install</code> any Python library and use it for your own good. </p>

<p>You can extend Pyramid within two ways. </p>

<ul>
<li>By writing a plugin for it.</li>
<li>By the freedom provided by the Pyramid API.</li>
</ul>
]]></description>
         <pubDate>2011-03-16 11:40:01</pubDate>
         <guid>http://www.mengu.net/post/on-pyramid-extensibility</guid>
      </item>
            <item>
         <title>Annotating Your Grails Controller Classes And Actions</title>
         <link>http://www.mengu.net/post/annotating-your-grails-controller-classes-and-actions</link>
         <description><![CDATA[<p>For the current project of mine which I'm building with Grails I needed to annotate my controller classes and some actions in some cases. I had no idea on how to do it but I think I have just solved it and I am sharing it with you and I think I will stop saying that I am not a Java person as Groovy and Grails stuff is pushing me into both Java and its ecosystem.</p>

<p>The best example for explaining this would be security. Imagine you have a controller class that you don't want your regular members to access so you add <code>@RequireRole("Admin")</code> above your controller class. Whenever a member tries to access that annotated controller class they will be redirected to an unauthorized page unless they are admin. </p>
]]></description>
         <pubDate>2011-02-25 10:04:37</pubDate>
         <guid>http://www.mengu.net/post/annotating-your-grails-controller-classes-and-actions</guid>
      </item>
          </channel>
</rss>

