<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0EHQXg6fSp7ImA9WxBSFE0.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161</id><updated>2009-12-21T14:27:10.615Z</updated><title>Bitwiese</title><subtitle type="html">First, computer science is not about computers. Second, computer science is not a science.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.bitwiese.de/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.bitwiese.de/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><author><name>Manuel</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Bitwiese" /><feedburner:info uri="bitwiese" /><entry gd:etag="W/&quot;DEAFQnw9eip7ImA9WxVaF0Q.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-1262178048727792070</id><published>2009-04-15T12:53:00.004+01:00</published><updated>2009-04-15T12:58:33.262+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-15T12:58:33.262+01:00</app:edited><title>When stochastic search beats direct methods</title><summary>The central problem of reinforcement learning is to fit the parameters of an
agent's policy in order to make the agent chose "good" decisions according to
some unknown objective.

Let's consider a very simple case. We have an MDP which is basically stateless.
So to say, all the world is doing is to map the actions of an agent directly to
a reward. Consider this function to be a mixture of two </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/1262178048727792070/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=1262178048727792070" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/1262178048727792070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/1262178048727792070?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/hOYVX-ajHbo/when-stochastic-search-beats-direct.html" title="When stochastic search beats direct methods" /><author><name>Justin</name><uri>http://www.blogger.com/profile/04972102120598633110</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05898682572416457825" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_1y4tsNIQGDk/SeXLGAFjjrI/AAAAAAAAAiM/Bxp7TeGrM1s/s72-c/gauss.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bitwiese.de/2009/04/when-stochastic-search-beats-direct.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8HSXozfip7ImA9WxVXFUw.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-4615001301968181548</id><published>2009-02-13T09:01:00.003Z</published><updated>2009-02-13T09:20:38.486Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-13T09:20:38.486Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="gotcha" /><title>Bash Job Management Essentials</title><summary>Did you ever wish your program had a pause button? I did so regularly.

I regularly have to do lengthy calculations, for example for evaluating some heuristics for an optimization problem such as Maximum Independent Set or Matchings.

A typical program could look like this:

for all benchmark graphs G:
  for all algorithm variants A:
    for k in [2, 4, 8, ..., 128]:
      Execute A on G with the</summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/4615001301968181548/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=4615001301968181548" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/4615001301968181548?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/4615001301968181548?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/pkITiVRaHXU/bash-job-management-essentials.html" title="Bash Job Management Essentials" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.bitwiese.de/2009/02/bash-job-management-essentials.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMHRn4yfyp7ImA9WxRaFEg.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-3396625733080035153</id><published>2008-12-16T18:15:00.008Z</published><updated>2008-12-16T18:33:57.097Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-16T18:33:57.097Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="pitfall" /><category scheme="http://www.blogger.com/atom/ns#" term="distutils" /><title>Pitfall with distutils + OpenGL on Mac Os X</title><summary>This is mainly here as a reminder to myself and anyone else who might fall into this. The scenario is as follows:

I want to compile a C Python extension that uses OpenGL on Mac Os X. My setup.py file looks something like this:
#!/usr/bin/env python2.5

from distutils.core import setup, Extension

module1 = Extension('foo',
sources=['foo.c'],
extra_link_args=['-framework OpenGL'])

setup(
name='</summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/3396625733080035153/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=3396625733080035153" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3396625733080035153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3396625733080035153?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/T_JxSg_eVh4/pitfall-with-distutils-opengl-on-mac-os.html" title="Pitfall with distutils + OpenGL on Mac Os X" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bitwiese.de/2008/12/pitfall-with-distutils-opengl-on-mac-os.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUCRXc_eip7ImA9WxZRGU0.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-5160690963875043687</id><published>2008-02-13T10:26:00.009Z</published><updated>2008-02-13T12:54:24.942Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-02-13T12:54:24.942Z</app:edited><title>Gaining speed with Weave</title><summary>Python is slow in terms of execution speed. Period. It is fast enough for most tasks out there, but when it comes to number crunching or manipulation of lots of objects, you can hear the interpreter grind its teeth.

Python advocates have a lot to say on how to handle these situations. The most common is "you can always rewrite that particular part of code in C". There are other recommendations: </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/5160690963875043687/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=5160690963875043687" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/5160690963875043687?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/5160690963875043687?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/h5PrWYhQjs4/gaining-speed-with-weave.html" title="Gaining speed with Weave" /><author><name>Justin</name><uri>http://www.blogger.com/profile/04972102120598633110</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05898682572416457825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://www.bitwiese.de/2008/02/gaining-speed-with-weave.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYASHk8fip7ImA9WB9SEUU.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-2608104458176870787</id><published>2007-09-30T22:09:00.000+01:00</published><updated>2007-09-30T22:35:49.776+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-30T22:35:49.776+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c++" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenMP" /><title>C++ - Beware What Lurks Beneath The Surface</title><summary>
C++ is a great programming language. It allows you to mix the most important programming paradigms like object orientation as well as generic, functional and structured programming. Another nice aspect is that the compilers are efficient and with some black template magick, you get some of these things for almost free at run time.



However, one of the greatest features of C++ can hurt you: </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/2608104458176870787/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=2608104458176870787" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/2608104458176870787?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/2608104458176870787?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/Lwu_Rw1GGKA/c-beware-what-lurks-beneath-surface.html" title="C++ - Beware What Lurks Beneath The Surface" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/09/c-beware-what-lurks-beneath-surface.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NQ346fSp7ImA9WB9TGEo.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-3305309862993415514</id><published>2007-09-26T15:46:00.000+01:00</published><updated>2007-09-27T08:24:52.015+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-27T08:24:52.015+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="parallelism" /><category scheme="http://www.blogger.com/atom/ns#" term="threads" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><title>Ruby's Multithreading: On Processes And Threads</title><summary>Note that I made a grave error of thinking before writing this article: I forgot the copy-on-write page sharing of modern Unices. I added two paragraphs to this article that should clarify the point. Thanks for your comment, Alex.

Please note that I do not want to critizize Jason here. I am simply picking up this point from his presentation as a motivation of a topic that I wanted to write about</summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/3305309862993415514/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=3305309862993415514" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3305309862993415514?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3305309862993415514?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/6uLX5_jMMNI/on-processes-and-threads.html" title="Ruby's Multithreading: On Processes And Threads" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/09/on-processes-and-threads.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4CRHg4fip7ImA9WB9TGEw.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-3382377832596364886</id><published>2007-08-07T22:08:00.000+01:00</published><updated>2007-09-26T15:46:05.636+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-26T15:46:05.636+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="algorithmics" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenMP" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="system architecture" /><title>Hitting The Memory Wall</title><summary>You have always ignored the internals of CPU properties like the number of registers, the exact format of CPU words, the precise format of intructions and of course the cache. I know you have (well, let's say I am sure about 99% of you out there). I ignored this for a pretty long time, too, when programming (although I was lucky enough to be forced to learn about the general principles at </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/3382377832596364886/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=3382377832596364886" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3382377832596364886?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3382377832596364886?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/UyoLUAdPyBU/hitting-memory-wall.html" title="Hitting The Memory Wall" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/08/hitting-memory-wall.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEDSH04cCp7ImA9WB9TGEw.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-1542378030178280978</id><published>2007-06-03T23:01:00.000+01:00</published><updated>2007-09-26T15:41:19.338+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-26T15:41:19.338+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="algorithmics" /><category scheme="http://www.blogger.com/atom/ns#" term="merging" /><category scheme="http://www.blogger.com/atom/ns#" term="optimization" /><title>Highly Efficient 4 Way Merging</title><summary>Acknowledgements: This article is based on the work of Peter Sanders and Roman Dementiev. You can find the full source code presented here in their STXXL library (STL library for large data structures), Peter Sanders' paper and the accompanying source code.

Warning: If you are of sensitive nature either regarding


  computer science theory
  highly practical program optimization


then I </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/1542378030178280978/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=1542378030178280978" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/1542378030178280978?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/1542378030178280978?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/PG_4gz7w3PI/highly-efficient-4-way-merging.html" title="Highly Efficient 4 Way Merging" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/06/highly-efficient-4-way-merging.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UMQ30zfyp7ImA9WB5TEEQ.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-3536150194950877024</id><published>2007-05-17T15:46:00.000+01:00</published><updated>2007-05-25T12:08:02.387+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-05-25T12:08:02.387+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="probability theory" /><category scheme="http://www.blogger.com/atom/ns#" term="python" /><category scheme="http://www.blogger.com/atom/ns#" term="machine learning" /><title>Simulation of Markov Decision Processes with enhanced generators in Python (with blood)</title><summary>The language war will always go on and I consider myself as someone who has to promote the Python programming language no matter what happens (even though I know that there is no silver bullet.) Thus, I do have to use every opportunity to show the world how easy it is to connect formalisms of high scientific importance with not-so-important-but-still-cool language features.

Whatever.

Markov </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/3536150194950877024/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=3536150194950877024" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3536150194950877024?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/3536150194950877024?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/91ocKw4OQoc/simulation-of-markov-decision-processes.html" title="Simulation of Markov Decision Processes with enhanced generators in Python (with blood)" /><author><name>Justin</name><uri>http://www.blogger.com/profile/04972102120598633110</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05898682572416457825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/05/simulation-of-markov-decision-processes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IFRn86eyp7ImA9WBFUEEw.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-9000369498453122376</id><published>2007-04-19T22:24:00.000+01:00</published><updated>2007-04-19T22:51:57.113+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-19T22:51:57.113+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="rails" /><category scheme="http://www.blogger.com/atom/ns#" term="textmate" /><title>Ignoring folders with TODO Bundle in TextMate</title><summary>TextMate's TODO bundle lets you keep track of the TODOs in your projects. You can mark a line to show up in the TODO list with FIXME, TODO or CHANGED. The following two images show a text file with these keywords and the resulting TODO list.





The only problem is that if you keep a copy of Rails in vendor/, then the TODO plugin will also show the items in Rails (or any other external libraries</summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/9000369498453122376/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=9000369498453122376" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/9000369498453122376?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/9000369498453122376?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/mic0mBdbqzM/ignoring-folders-with-todo-bundle-in.html" title="Ignoring folders with TODO Bundle in TextMate" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_yOTLe0nH4qo/Rifgpzc4GMI/AAAAAAAAAAM/IIcjNjc_XE4/s72-c/TodoFile.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/04/ignoring-folders-with-todo-bundle-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUFQX48fSp7ImA9WBFVE0w.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-1772175143221037390</id><published>2007-04-11T18:53:00.000+01:00</published><updated>2007-04-11T19:30:10.075+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-11T19:30:10.075+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="arithmetics" /><category scheme="http://www.blogger.com/atom/ns#" term="gotcha" /><category scheme="http://www.blogger.com/atom/ns#" term="floating point" /><title>The Joys Of Floating Point Numbers</title><summary>Sometimes, floating point numbers are the thing that futile hours of programming are made of. Whether they come as 32, 64 or any other precision you want, they can truly give you unnecessary and unexpected work if you do not use them correctly. 

The problem I stumbled over yesterday was the problem of rounding errors.

Consider the following C snippet

double pi = </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/1772175143221037390/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=1772175143221037390" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/1772175143221037390?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/1772175143221037390?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/2A90tsRgZ9k/joys-of-floating-point-numbers.html" title="The Joys Of Floating Point Numbers" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/04/joys-of-floating-point-numbers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYFQn45fyp7ImA9WBFVE0w.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-8768744272022577089</id><published>2007-04-07T15:34:00.000+01:00</published><updated>2007-04-11T18:55:13.027+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-11T18:55:13.027+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="databases" /><category scheme="http://www.blogger.com/atom/ns#" term="sqlite" /><category scheme="http://www.blogger.com/atom/ns#" term="gotcha" /><category scheme="http://www.blogger.com/atom/ns#" term="postgresql" /><title>SQLite gotcha</title><summary>SQLite is great. No, really, I do mean it. If you ever need to work on structured data and editing it from the outside is a must, then SQLite is worth checking out and might be a superior choice to XML and will be a superior choice to your own proprietary format.

I cannot speak about performance - there are some outdated claims that SQLite is faster than postgres and mysql for the most common </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/8768744272022577089/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=8768744272022577089" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/8768744272022577089?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/8768744272022577089?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/wUbTM2aC4Yg/sqlite-trapdoor.html" title="SQLite gotcha" /><author><name>Justin</name><uri>http://www.blogger.com/profile/04972102120598633110</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05898682572416457825" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/04/sqlite-trapdoor.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8AQXs7fip7ImA9WBFWGEU.&quot;"><id>tag:blogger.com,1999:blog-6798371251264429161.post-56703279495771049</id><published>2007-04-06T20:38:00.000+01:00</published><updated>2007-04-06T20:47:20.506+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-06T20:47:20.506+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bitwiese" /><title>First Post</title><summary>Obviously, this is the first entry of the shining new Bitwiese Weblog. Feel warmly welcomed by these few bytes which propably travelled kilometre over kilometre from here to Blogger's servers and back again to you.

This weblog is brought to you by Justin and me, Manuel. We hope to publish information related to the following
programmingcomputers in the widest sensecomputer science (prepare for </summary><link rel="replies" type="application/atom+xml" href="http://www.bitwiese.de/feeds/56703279495771049/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=6798371251264429161&amp;postID=56703279495771049" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/56703279495771049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6798371251264429161/posts/default/56703279495771049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bitwiese/~3/pxD_eWm-OLg/first-post.html" title="First Post" /><author><name>Manuel</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="11677051074708607692" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.bitwiese.de/2007/04/first-post.html</feedburner:origLink></entry></feed>
