<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SimonOnSoftware</title>
	<atom:link href="http://simononsoftware.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://simononsoftware.com</link>
	<description>programming, databases and other IT something</description>
	<lastBuildDate>Wed, 04 Apr 2012 11:05:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Current Writing</title>
		<link>http://simononsoftware.com/current-writing/</link>
		<comments>http://simononsoftware.com/current-writing/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 11:05:43 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1425</guid>
		<description><![CDATA[As you might notice, I don&#8217;t write here too much. There is a couple of reasons for that. A couple of months ago I started working for a great company End Point and now all my new technical writings are on the company&#8217;s blog where you can find many interesting things. Personally I have much [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/vim-vs-emacs-the-endless-debate/' rel='bookmark' title='Vim vs Emacs &#8211; The Endless Debate'>Vim vs Emacs &#8211; The Endless Debate</a> <small>That debate, or rather another endless flame war, is boring...</small></li>
<li><a href='http://simononsoftware.com/how-to-store-application-settings/' rel='bookmark' title='How to Store Application Settings'>How to Store Application Settings</a> <small>Some ideas on how to store application settings in a...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/current-writing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Importance of Database Testing</title>
		<link>http://simononsoftware.com/the-importance-of-database-testing/</link>
		<comments>http://simononsoftware.com/the-importance-of-database-testing/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 11:39:37 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[antipattern]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1381</guid>
		<description><![CDATA[Basic Mistakes in Database Testing There is a huge number of books about TDD. Those books usually concentrate on using test for units of work. Units of work are understood in many different ways, usually it means a class. So the books say: write a lot of tests, make code in such a way the [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/testing-database-small-reply/' rel='bookmark' title='Testing Database &#8211; Small Reply'>Testing Database &#8211; Small Reply</a> <small>On Ovid&#8217;s blog I found lately this entry. First of...</small></li>
<li><a href='http://simononsoftware.com/unit-test-your-database/' rel='bookmark' title='Unit Test Your Database.'>Unit Test Your Database.</a> <small>I observe the endless war about TDD. On one side...</small></li>
<li><a href='http://simononsoftware.com/checking-postgresql-database-creation-date/' rel='bookmark' title='Checking PostgreSQL Database Creation Date'>Checking PostgreSQL Database Creation Date</a> <small>Some time ago we had a problem: on testing there...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/the-importance-of-database-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PostgreSQL Versioning Policy</title>
		<link>http://simononsoftware.com/postgresql-versioning-policy/</link>
		<comments>http://simononsoftware.com/postgresql-versioning-policy/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 13:19:27 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1377</guid>
		<description><![CDATA[I was explaining the PostgreSQL version naming convention to my colleague a couple of days ago. The differences between e.g. 8.3 and 8.4 and what is different between 8.4 and 9.0 and what should be used during database migration to another version. I knew all that just because somebody told me that many years ago [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/unit-test-your-database/' rel='bookmark' title='Unit Test Your Database.'>Unit Test Your Database.</a> <small>I observe the endless war about TDD. On one side...</small></li>
<li><a href='http://simononsoftware.com/how-to-check-postgresql-privileges/' rel='bookmark' title='How to check PostgreSQL privileges.'>How to check PostgreSQL privileges.</a> <small>Someone asked me how to list all tables that a...</small></li>
<li><a href='http://simononsoftware.com/problem-with-random-in-postgresql-subselect/' rel='bookmark' title='Problem with random() in PostgreSQL Subselect'>Problem with random() in PostgreSQL Subselect</a> <small>In the simple project I work sometimes on, I need...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/postgresql-versioning-policy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Unit Test Your Database.</title>
		<link>http://simononsoftware.com/unit-test-your-database/</link>
		<comments>http://simononsoftware.com/unit-test-your-database/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 20:14:29 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[pl/pgsql]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1356</guid>
		<description><![CDATA[I observe the endless war about TDD. On one side there are those who claim that TDD is the best thing since sliced bread. On the other side there are those who claim that TDD is just a waste of time and is too slow. But what about databases? Nobody writes about them too seriously. [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/testing-database-small-reply/' rel='bookmark' title='Testing Database &#8211; Small Reply'>Testing Database &#8211; Small Reply</a> <small>On Ovid&#8217;s blog I found lately this entry. First of...</small></li>
<li><a href='http://simononsoftware.com/why-use-orms/' rel='bookmark' title='Why Use ORMs?'>Why Use ORMs?</a> <small>Why Use ORMs? ORM aka Object Relational Mapping is a...</small></li>
<li><a href='http://simononsoftware.com/the-importance-of-database-testing/' rel='bookmark' title='The Importance of Database Testing'>The Importance of Database Testing</a> <small>Basic Mistakes in Database Testing There is a huge number...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/unit-test-your-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Ensure There is One Row&#8230; part 2</title>
		<link>http://simononsoftware.com/how-to-ensure-there-is-one-row-part-2/</link>
		<comments>http://simononsoftware.com/how-to-ensure-there-is-one-row-part-2/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 20:31:02 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[unique index]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1346</guid>
		<description><![CDATA[Some time ago I wrote about ensuring that there is only one row with a specific value in a column. Today a very similar problem: there is a table like this: CREATE TABLE test ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, value TEXT NOT NULL ); We need to be sure that there [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/how-to-ensure-there-is-one-row-with-a-value/' rel='bookmark' title='How to Ensure There is One Row With a Value'>How to Ensure There is One Row With a Value</a> <small>The Problem Let&#8217;s imagine a business requirement that there should...</small></li>
<li><a href='http://simononsoftware.com/sqlalchemy-defines-new-sql-standard/' rel='bookmark' title='SQLAlchemy Defines New SQL Standard'>SQLAlchemy Defines New SQL Standard</a> <small>Dreaming About SQL Well, I thought that I know the...</small></li>
<li><a href='http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/' rel='bookmark' title='How to Allow For Max 4 Rows in Update (PostgreSQL)'>How to Allow For Max 4 Rows in Update (PostgreSQL)</a> <small>The Problem Question found on the net: how to restrict...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/how-to-ensure-there-is-one-row-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What Is The Real PostgreSQL Triggers Ordering</title>
		<link>http://simononsoftware.com/what-is-the-real-postgresql-triggers-ordering/</link>
		<comments>http://simononsoftware.com/what-is-the-real-postgresql-triggers-ordering/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 20:49:00 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1327</guid>
		<description><![CDATA[Introduction During the last database training that I led, I was talking about selecting rows from database and sorting them (including some problems with collations). Later I was talking about triggers. For this entry assume that there are only row level triggers. When you perform e.g. INSERT in PostgreSQL, there are fired triggers (if they [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/' rel='bookmark' title='How to Allow For Max 4 Rows in Update (PostgreSQL)'>How to Allow For Max 4 Rows in Update (PostgreSQL)</a> <small>The Problem Question found on the net: how to restrict...</small></li>
<li><a href='http://simononsoftware.com/postgresql-collation/' rel='bookmark' title='PostgreSQL Collation &#8211; part 1'>PostgreSQL Collation &#8211; part 1</a> <small>PostgreSQL is (IMHO) much better than MySQL but unfortunately it ...</small></li>
<li><a href='http://simononsoftware.com/postgresql-found-problem/' rel='bookmark' title='PostgreSQL FOUND Problem'>PostgreSQL FOUND Problem</a> <small>FOUND is a global variable that exists in the plpgsql...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/what-is-the-real-postgresql-triggers-ordering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Store UUIDs in PostgreSQL</title>
		<link>http://simononsoftware.com/how-to-store-uuids-in-postgresql/</link>
		<comments>http://simononsoftware.com/how-to-store-uuids-in-postgresql/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 20:34:01 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1287</guid>
		<description><![CDATA[This story is a just another example of what I call Using varchar(255) for everything won&#8217;t make you a sorcerer. Every database has many different types, they are there on purpose, not by accident. I&#8217;ve seen that too many times: a programmer (most companies don&#8217;t have DBAs for that) creates a database structure using ONE [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/uuid-and-java/' rel='bookmark' title='UUID and Java :)'>UUID and Java :)</a> <small>Why not to use UUID as Primary Key and that...</small></li>
<li><a href='http://simononsoftware.com/random-string-in-postgresql/' rel='bookmark' title='Random String in PostgreSQL'>Random String in PostgreSQL</a> <small>Last time I wrote about the common problem with the...</small></li>
<li><a href='http://simononsoftware.com/postgis-and-small-number-of-huge-geometries/' rel='bookmark' title='PostGIS and Small Number of Huge Geometries'>PostGIS and Small Number of Huge Geometries</a> <small>The Problem A couple of weeks ago I had a...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/how-to-store-uuids-in-postgresql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PostGIS and Small Number of Huge Geometries</title>
		<link>http://simononsoftware.com/postgis-and-small-number-of-huge-geometries/</link>
		<comments>http://simononsoftware.com/postgis-and-small-number-of-huge-geometries/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 20:29:21 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[postgresql]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1278</guid>
		<description><![CDATA[The Problem A couple of weeks ago I had a quite strange situation: a PostgreSQL table with small number of huge geometries. A program had to query the table really often, so the speed was a crucial thing. Replicate the Situation Small Number of Big Geometries First of all let s create a couple of [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/postgresql-strange-timings/' rel='bookmark' title='PostgreSQL Strange Timings'>PostgreSQL Strange Timings</a> <small>A very simple query. PostgreSQL 8.4. I have no idea...</small></li>
<li><a href='http://simononsoftware.com/are-sql-database-joins-so-bad/' rel='bookmark' title='Are SQL Database Joins So Bad?'>Are SQL Database Joins So Bad?</a> <small>Last time on many forums there were endless discussions about...</small></li>
<li><a href='http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/' rel='bookmark' title='How to Allow For Max 4 Rows in Update (PostgreSQL)'>How to Allow For Max 4 Rows in Update (PostgreSQL)</a> <small>The Problem Question found on the net: how to restrict...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/postgis-and-small-number-of-huge-geometries/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why Is Query Slow?</title>
		<link>http://simononsoftware.com/why-is-query-slow/</link>
		<comments>http://simononsoftware.com/why-is-query-slow/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 14:18:25 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1246</guid>
		<description><![CDATA[A couple of days ago a colleague of mine had a quite normal problem. The query was slow. The whole application was written in Java, using Hibernate, tables were small. There were about 30 rows in one table, and 10 in another. One small join, one call of PostGIS function. The query took several seconds [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/what-a-big-database-is-and-why-there-isnt-anything-like-that/' rel='bookmark' title='What a big database is and why there isn&#8217;t anything like that.'>What a big database is and why there isn&#8217;t anything like that.</a> <small>Yea, simple question. Usually I hear something like this: &#8220;Help...</small></li>
<li><a href='http://simononsoftware.com/postgresql-strange-timings/' rel='bookmark' title='PostgreSQL Strange Timings'>PostgreSQL Strange Timings</a> <small>A very simple query. PostgreSQL 8.4. I have no idea...</small></li>
<li><a href='http://simononsoftware.com/unit-test-your-database/' rel='bookmark' title='Unit Test Your Database.'>Unit Test Your Database.</a> <small>I observe the endless war about TDD. On one side...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/why-is-query-slow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problem with random() in PostgreSQL Subselect</title>
		<link>http://simononsoftware.com/problem-with-random-in-postgresql-subselect/</link>
		<comments>http://simononsoftware.com/problem-with-random-in-postgresql-subselect/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 20:04:10 +0000</pubDate>
		<dc:creator>Szymon</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://simononsoftware.com/?p=1263</guid>
		<description><![CDATA[In the simple project I work sometimes on, I need to generate a lot of random data in PostgreSQL database. I&#8217;ve got a couple of functions for that, but all of them are based on the simple random() function. The random() returns value from the range [0, 1): # select random(); random ------------------- 0.583591205533594 (1 [...]


<strong>Related posts:</strong><ol><li><a href='http://simononsoftware.com/random-string-in-postgresql/' rel='bookmark' title='Random String in PostgreSQL'>Random String in PostgreSQL</a> <small>Last time I wrote about the common problem with the...</small></li>
<li><a href='http://simononsoftware.com/common-problem-with-random-min-max/' rel='bookmark' title='Common Problem with random(min, max)'>Common Problem with random(min, max)</a> <small>There is a common problem with many homemade random functions....</small></li>
<li><a href='http://simononsoftware.com/how-to-ensure-there-is-one-row-with-a-value/' rel='bookmark' title='How to Ensure There is One Row With a Value'>How to Ensure There is One Row With a Value</a> <small>The Problem Let&#8217;s imagine a business requirement that there should...</small></li>
</ol>]]></description>
		<wfw:commentRss>http://simononsoftware.com/problem-with-random-in-postgresql-subselect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Object Caching 9113/9306 objects using disk: basic

Served from: simononsoftware.com @ 2012-05-18 08:56:45 -->
