<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="/serendipity/templates/default/atom.css" type="text/css" ?>

<feed 
   xmlns="http://www.w3.org/2005/Atom"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <link href="http://arbur.net/serendipity/feeds/atom.xml" rel="self" title="Armin's personal Blog" type="application/atom+xml" />
    <link href="http://arbur.net/serendipity/"                        rel="alternate"    title="Armin's personal Blog" type="text/html" />
    <link href="http://arbur.net/serendipity/rss.php?version=2.0"     rel="alternate"    title="Armin's personal Blog" type="application/rss+xml" />
    <title type="html">Armin's personal Blog</title>
    <subtitle type="html">Open source programming</subtitle>
    <icon>http://arbur.net/serendipity/templates/default/img/s9y_banner_small.png</icon>
    <id>http://arbur.net/serendipity/</id>
    <updated>2009-12-21T03:37:19Z</updated>
    <generator uri="http://www.s9y.org/" version="1.1.3">Serendipity 1.1.3 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>

    <entry>
        <link href="http://arbur.net/serendipity/archives/48-Gobby-0.4.93-is-available.html" rel="alternate" title="Gobby 0.4.93 is available" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-12-20T13:09:00Z</published>
        <updated>2009-12-20T13:09:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=48</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=48</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/2-Gobby" label="Gobby" term="Gobby" />
    
        <id>http://arbur.net/serendipity/archives/48-guid.html</id>
        <title type="html">Gobby 0.4.93 is available</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>We have released <a href="http://gobby.0x539.de/trac/wiki/Infinote/Libinfinity"  title="Libinfinity, an infinote implementation">libinfinity</a> 0.4.0 and <a href="http://gobby.0x539.de"  title="The Gobby collaborative text editor">Gobby</a> 0.4.93, the latest version of our collaborative text editor. If you ask me, the killer feature in this release is with the user list - see for yourself:</p>

<p>Before: <!-- s9ymdb:45 --><img width='91' height='44' style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/gobby/0.4.93-release-before.png" alt="" /> After: <!-- s9ymdb:46 --><img width='91' height='44' style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/gobby/0.4.93-release-after.png" alt="" /></p>

<p>However, there have been other major changes as well, including:</p>

<ul>
  <li><b>Chat</b>: The chat known from the stable Gobby 0.4.x series has been reintroduced. It now also features a backlog.</li>
  <li><b>HTML Export</b>: Documents can be exported to HTML, keeping both user colors and syntax highlighting.</li>
  <li><b>Color Reset</b>: User Colors in a document can be reset via Shift+Ctrl+C, or via the menu. This allows to get an overview of most recent changes when you want the user colors to be an indicator of activity, rather than of history. Colors are reset locally on the client-side only.</li>
  <li><b>Password Protection</b>: infinoted 0.4.0, the dedicated server, allows to set a simple global password for the server. More sophisticated authentication mechanisms are planned for the next release, libinfinity 0.5 and Gobby 0.4.94.</li>
  <li><b>UI Enhancements</b>: The user interface is nicer at many points: The browser list is now sorted alphabetically, the file chooser allows to open multiple files at once, the direct connection entry has a history to easily connect to hosts to which one connected before already, on a failed connection one can easily retry the connection via double clicking the host in the browser list, user colors adapt to the background color of the text view (read: text is readable with dark themes) and several more enhancements and bug fixes.</li>
</ul>

<p>The very rough plan for the future is to add authentication support in 0.4.94, and displaying carets and selections of remote users (all protocol code is already there, all that is left to do is to draw them into the <a href="http://library.gnome.org/devel/gtk/unstable/GtkTextView.html"  title="Documentation for the GtkTextView widget">TextView</a>) and self-hosting for 0.4.95 and 0.4.96.</p>

<p>The downside of this release is that it breaks compatibility with earlier releases, especially libinfinity 0.3.0/Gobby 0.4.92. I am sorry; I know this is annoying, but maintaining backwards compatibility is as well, and my excuse is that Gobby 0.4.9x is still experimental. It allows me to concentrate more on the interesting stuff. However, if it is not too much trouble then I will try to keep compatibility for the next release. For Windows users it should be very easy to upgrade since an all-in-one installer is provided. <a href="http://philkern.de"  title="Homepage of Philipp Kern">Philipp Kern</a> promised to get it soon into Debian and Ubuntu, so I hope the compatibility break will not cause too much trouble. Our public server on gobby.0x539.de runs 0.4.0 already. None of us is using Mac OS X (anymore), so we can't provide binaries for it, unfortunately. If anyone creates a nice bundle, we would be happy to distribute it on our website.</p>

<p>I also want to express my thanks to Gabríel A. Pétursson and Benjamin Herr who made significant contributions to this release. Beginning from January, Benjamin Herr will be paid by the <a href="http://www.kit.edu"  title="KIT - Karlsruhe Institute of Technology">KIT</a>'s <a href="http://www.informatik.kit.edu/"  title="KIT computer science department">department of computer science</a> to implement SVN integration and LDAP authentication, so these are likely to be available in one of the future releases as well.</p>

<p>In a related note, we have also launched <a href="http://infinote.org"  title="Infinote protocol information and documentation">http://infinote.org</a>, a Wiki to host information on the infinote protocol used by Gobby via libinfinity's implementation. I plan to migrate our protocol site to it, and to add more detailed and more structured documentation there. Also, <a href="http://kobby.greghaynes.net/"  title="Kobby, a KDE collaborative text editor">Kobby</a>, Gobby's KDE counterpart, has had another <a href="http://blog.greghaynes.net/index.php?/archives/42-Kobby-Beta-4.html"  title="Gregory Haynes announcing Kobby beta 4">release</a> recently. It still uses libinfinity 0.3.0, but I expect that to change rather soon. Simon Veith has implemented the adOPTed algorithm and the transformation functions as used by infinote in Javascript, in the scope of the <a href="http://jinfinote.com"  title="Javascript infinote implementation">jinfinote</a> project. It passes all of libinfinity's tests, and he is now working on a web-based editor which can talk to Gobby and Kobby. An <a href="http://demo.jinfinote.com/"  title="Jinfinote demonstration">experimental demo</a> is available already, however it does not interfere with Gobby yet.</p>

<p>In another related note, the Gobby IRC channel moved to #infinote on <a href="http://www.freenode.net"  title="The FreeNode IRC network">freenode.org</a> a few weeks ago. Actually we wanted #gobby which was already registered earlier though, however #gobby was registered earlier already even though it is unused nowadays. We try to get through the FreeNode bureaucracy to get the channel dropped, but it seems that this may take several months, if not years.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/47-Back-in-the-country.html" rel="alternate" title="Back in the country" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-10-20T14:31:00Z</published>
        <updated>2009-10-20T14:31:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=47</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=47</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/8-Physics" label="Physics" term="Physics" />
    
        <id>http://arbur.net/serendipity/archives/47-guid.html</id>
        <title type="html">Back in the country</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>So I arrived back in Germany on Sunday morning. I had a great time in the US where I finished two projects at <a href="http://www.duke.edu"  title="Duke University">Duke</a>: I investigated <a href="http://www.google.com/url?sa=t&source=web&ct=res&cd=1&ved=0CAkQFjAA&url=http%3A%2F%2Fwww-sk.icrr.u-tokyo.ac.jp%2Fsk%2Findex-e.html&ei=m8LdSu5jjYH9Bt6P5c8C&usg=AFQjCNHokj1xG0Ko8REyJVHVsqawtgQGEQ&sig2=WddKUArrrqYuf3LsOdz2Ug"  title="The Super-Kamiokande detector">Super-K</a>'s capabilities to detect supernovae (with special regard to correlation with a Gravitational Wave signal), and I investigated whether and under which circumstances a supernova location can be determined from neutrino oscillation in Earth matter. There is a <a href="http://phy.duke.edu/~ab260/sn-report.pdf"  title="Supernova detection capabilities of Super-Kamiokande">report</a> for the former and a <a href="http://arxiv.org/abs/0910.3174"  title="Obtaining supernova directional information using the neutrino matter oscillation pattern">paper</a> (my first \o/) for the second. I learned about and used the <a href="http://root.cern.ch/"  title="The ROOT data analysis framework">ROOT</a> data analysis toolkit for these. It's very powerful, but also very ugly API-wise.</p>

<p>I also travelled a bit. Major visits include the <a href="http://www.greatsmokies.com"  title="Great Smoky Mountains">Great Smokies</a>, <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Kitty+Hawk,+NC&ie=UTF8&hq=&hnear=Kitty+Hawk,+Dare,+North+Carolina&z=14"  title="Kitty Hawk at Google Maps">Kitty Hawk</a> at the <a href="http://www.outerbanks.org"  title="The Outer Banks of North Carolina">Outer Banks</a>, <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Raleigh,+NC&sll=37.0625,-95.677068&sspn=44.52365,78.486328&ie=UTF8&hq=&hnear=Raleigh,+Wake,+North+Carolina&z=11"  title="Raleigh on Google Maps">Raleigh</a>, <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Norfolk,+VA&sll=35.772096,-78.638614&sspn=0.358219,0.613174&ie=UTF8&hq=&hnear=Norfolk,+Virginia&z=11"  title="Norfolk on Google Maps">Norfolk</a>, <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Washington,+DC&sll=36.846815,-76.285218&sspn=0.353316,0.613174&ie=UTF8&hq=&hnear=Washington,+District+of+Columbia&z=12"  title="Washington, DC on Google Maps">Washington D.C</a> and Pleasure Island/<a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Wilmington,+NC&sll=34.862147,-78.456746&sspn=2.897914,4.905396&ie=UTF8&hq=&hnear=Wilmington,+New+Hanover,+North+Carolina&ll=34.233093,-77.915382&spn=0.182511,0.306587&z=12"  title="Wilmington on Google Maps">Wilmington</a>. Until I find a good place to put the photos on (I tried <a href="http://www.flickr.com/photos/arminburgmeier"  title="My flickr page">flickr</a>, though I probably need to resize the pictures and make a selection to get things up there in one month or two because of the 100MB/month limit, and I'm also not sure how this 200 Pictures/Photostream limitation actually works) you can also have a look at <a href="http://www.facebook.com/album.php?aid=2036655&id=1038120570&ref=share"  title="Pictures of Norfolk and Washington D.C.">some</a> <a href="http://www.facebook.com/album.php?aid=2033266&id=1038120570&ref=mf"  title="Pictures of the Great Smokies">albums</a> of <a href="http://www.facebook.com/ruggero.golini"  title="Ruggero on facebook">Ruggero Golini</a> who, amogst others, accompanied me on some of the trips.</p>

<p>Looking forward, my seventh semester at the <a href="http://www.kit.edu"  title="Karlsruhe Institute of Technology">KIT</a> (formerly Universität Karlsruhe) has begun. I take courses on statistics and data analysis, experimental particle physics and cosmology. Luckily there was nothing on Monday so I could recover from jetlag. Being in the US also meant I was not able to take any exams at that time but I'm still pretty confident I can take all three remaining exams (Experimental physics, Theoretical physics and another more specialized physical major) during the next 10 or so months so I can start with my diploma thesis in Fall 2010.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/46-Research-is-fun.html" rel="alternate" title="Research is fun" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-08-27T03:57:00Z</published>
        <updated>2009-08-27T03:57:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=46</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=46</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/8-Physics" label="Physics" term="Physics" />
    
        <id>http://arbur.net/serendipity/archives/46-guid.html</id>
        <title type="html">Research is fun</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I am at <a href="http://www.duke.edu"  title="Duke University">Duke</a> for more than a month now. Things turn out to be fun. My work still involves a lot of programming, mostly even using free software. The difference, however, is what it is for. This is not about making life more convenient for computer users, but about creating new knowledge. This is a huge source of motivation for me. I think the last time I had a similar commitment was when I was figuring out how to do Undo/Redo properly in <a href="http://gobby.0x539.de"  title="Gobby collaborative text editor">Gobby</a>. In contrast, I just can't get into "man-made" problems such as economy or law; this somehow feels articifal to me. The actual project I am working on is still secret, though. I hope I can say more about this in a month or two.</p>

<p>My impressions of America, or at least the part of it that I have seen so far, are somewhat twofold. On the one hand there are inconveniencies such as prices always shown without tax, no timetables at most bus stops (interesting problem here btw - given a frequency f a bus runs a certain route and a time interval Δt you save by taking the bus instead of walking, how long do you wait at the bus stop before starting to walk when you don't know the exact time the bus arrives?), getting charged for incoming calls and text messages and food being more expensive than in Europe generally. On the other hand, however, I like the way of living of the people here (In Germany, I have yet to be asked whether I need a ride when waiting at a bus stop), and I like the landscape very much, including the huge Duke campus, and how green everything is when you look around. This comes with the price that without a car you are pretty much screwed if you want to go anywhere. Public transportation is available, but not until late in the night, and further limited on Sundays. Fortunately, car rental is somewhat affordable when you are enough people to split the costs. As a non-alcoholic I could also get used to the fact that there is mostly no alcohol in public places, and that other drinks are much cheaper than beer or whatever.</p>

<p>Despite all, I have not given up on other software development. I have not done too much on Libinfinity/Gobby recently (it's a bit sad that I am still the only person working on it, despite many offers to help on the mailing list - but all these people disappeared soon afterwards. Maybe I should try <a href="http://www.artofcommunityonline.org/"  title="The Art of Community">Jono's book</a> to find out whether I am doing something fundamentally wrong in that regard...). However, I worked a bit more than usual on <a href="http://www.clonk.de"  title="Action-packed game of strategy and skill">Clonk</a> recently (which became FLOSS a while ago btw, as the <a href="http://wiki.openclonk.org"  title="OpenClonk project">OpenClonk</a> project). I spent some time on realtime 3D model rendering. This allows much smoother animations, and transitions inbetwen them (bone system is already implemented, but only in software for now). Support is far from complete, but it is usable already (see the <a href="http://hg.openclonk.org/shortlog/mesh"  title="Mesh branch in OpenClonk hg repos">mesh</a> branch in the repos).</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/45-Exciting-times-ahead.html" rel="alternate" title="Exciting times ahead" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-07-01T21:48:00Z</published>
        <updated>2009-07-01T21:48:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=45</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=45</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/6-Real-Life" label="Real Life" term="Real Life" />
    
        <id>http://arbur.net/serendipity/archives/45-guid.html</id>
        <title type="html">Exciting times ahead</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I have left <a href="http://www.openismus.com"  title="Custom Software Development using Open Source Software">Openismus</a> at the End of June as I will be doing a summer internship at <a href="http://www.duke.edu"  title="Duke University in Durham, NC">Duke</a> during the next three months for which I have received a <a href="http://www.daad.de"  title="German Academic Exchange Service">DAAD</a> scholarship. I will be heading to the States on July 13, and I'm not going to attend <a href="http://www.grancanariadesktopsummit.org"  title="Gran Canaria Desktop Summit">GCDS</a> therefore (even though it wouldn't overlap, I don't feel comfortable with such few time inbetween. Plus I would miss even more University stuff here at Karlsruhe).</p>

<p>At Duke, I will be working with the <a href="http://en.wikipedia.org/wiki/High_Energy_Physics"  title="High Energy Physics">HEP</a> <a href="http://en.wikipedia.org/wiki/Neutrino"  title="Wikipedia article on Neutrinos">Neutrino</a> group (supervised by <a href="http://phy.duke.edu/~schol/"  title="Site of Kate Scholberg">Kate Scholberg</a>) by taking part in simulation studies for next-generation Water <a href="http://en.wikipedia.org/wiki/Cherenkov_radiation"  title="Wikipedia article on Cherenkov radiation">Cherenkov</a> <a href="http://en.wikipedia.org/wiki/Neutrino_detector"  title="Wikipedia article on neutrino detector">neutrino detectors</a>, with special regard to <a href="http://en.wikipedia.org/wiki/Supernova"  title="Wikipedia article on Supernova">Supernova</a> neutrinos. The goal is to choose detector design parameters so that we gain a maximum of information from the detector, for example about <a href="http://en.wikipedia.org/wiki/Neutrino_Oscillation"  title="Wikipedia article on Neutrino oscillation">Neutrino oscillation</a>. This will be the first time that I will actually take part in modern research, and actually be applying (some of) the stuff I have learned at University. After having finished the internship, I also hope to have gained insights into whether I want to write my Diploma thesis (starting in a bit more than a year, if everything goes well) in the field of theoretical or experimental (Particle) Physics.</p>

<p>I would like to thank everyone at Openismus. Earning money for working on Open Source Software is a great thing. This helped me a lot to afford my studies. At the end of october, there is a scholarship holder meeting in Berlin. I hope I can visit the Openismus Office then.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/44-Timeline-widgets-for-GTK+.html" rel="alternate" title="Timeline widgets for GTK+" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-03-25T15:56:00Z</published>
        <updated>2009-03-25T15:56:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=44</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=44</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/7-Openismus" label="Openismus" term="Openismus" />
    
        <id>http://arbur.net/serendipity/archives/44-guid.html</id>
        <title type="html">Timeline widgets for GTK+</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>A small <a href="http://www.openismus.com"  title="Openismus GmbH - custom software development">Openismus</a> task I recently carried out was to investigate whether there is a generic timeline widget for <a href="http://www.gtk.org"  title="GTK+ toolkit">GTK+</a> out there, for example to show photos associated with the day they were taken. The main feature this is supposed to have is that the items it contains are grouped by time periods, such as day, week or month, and that it should be possible to view multiple periods at once, or to allow easy browsing between them.</p>

<p><a class='serendipity_image_link' href='http://arbur.net/serendipity/uploads/openismus/zeitgeist3.png'><!-- s9ymdb:40 --><img width='110' height='59' style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/openismus/zeitgeist3.serendipityThumb.png" alt="" /></a>The closest thing I found is <a href="http://live.gnome.org/GnomeZeitgeist"  title="GNOME Zeitgeist">Gnome Zeitgeist</a>, an application which takes up <a href="http://www.gnome.org/~federico/docs/2008-GUADEC/html/img31.html"  title="Slide from Federico's presentation at GUADEC 2008">Federico's Journal Idea</a>. Gnome Zeitgeist is still under heavy development (I also had a short look at it yesterday, and when I updated the branch today it looked totally different), but the timeline widget looks promising already. It shows recently used files ordered by the day they have been used. By default, it shows three days, but when filtering by tags, it can also show more (scrolling horizontally if necessary), omitting days with no entries at all. This is implemented using multiple <a href="http://library.gnome.org/devel/gtk/unstable/GtkTreeView.html"  title="Documentation for GtkTreeView">GtkTreeView</a>s, therefore I guess it would be easy to generalize the widget to show arbitrary data by allowing to pack own cell renderers into it.</p>

<p><a class='serendipity_image_link' href='http://arbur.net/serendipity/uploads/openismus/nemo.png'><!-- s9ymdb:41 --><img width='110' height='72' style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/openismus/nemo.serendipityThumb.png" alt="" /></a>Then, there is <a href="http://www.iola.dk/nemo/"  title="Nemo file non-manager">Nemo</a>, a program which aims at making file management easier by showing all documents (not only recently used ones) in a calendar type of view. There are views for a day, a week, a month or a year. However, when there are more items than there is space in a calendar cell, then it simply shows "+ 309 more". Gnome Zeitgeist allows scrolling instead, which is more handy when for example previewing photos.</p>

<p><a class='serendipity_image_link' href='http://arbur.net/serendipity/uploads/openismus/gnome-shell-recent.png'><!-- s9ymdb:42 --><img width='110' height='88' style="float: right; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/openismus/gnome-shell-recent.serendipityThumb.png" alt="" /></a>Other projects I had a look at include <a href="http://live.gnome.org/GnomeShell"  title="Gnome Shell">Gnome-Shell</a> (which shows recently used icons ordered, but not grouped), <a href="http://www.wizbit.org/drupal/"  title="Wizbit data organizer">Wizbit</a> (which has a timeline widget for the revision graph, but Wizbit has slightly different usecases), <a href="http://live.gnome.org/PaperBox"  title="PaperBox document browser">Paperbox</a> and <a href="http://projects.gnome.org/tracker/"  title="Tracker desktop search engine">tracker-search-tool</a> (both of which don't group items by time periods).</p>

<p>The Gnome Zeitgeist widget looks really promising, though. Although it is not a stand-alone widget, I don't think it would be too much work to separate it and make it more generic.</p>

<p>Are there more solutions to this kind of problem in the GTK+ world? Any application I did not have a look at, although I should in this context? If so, please tell me in the comments.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/43-SQLite-support-in-Glom.html" rel="alternate" title="SQLite support in Glom" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-02-25T21:50:00Z</published>
        <updated>2009-02-25T21:50:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=43</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/7-Openismus" label="Openismus" term="Openismus" />
    
        <id>http://arbur.net/serendipity/archives/43-guid.html</id>
        <title type="html">SQLite support in Glom</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Over the last few months I implemented <a href="http://sqlite.org/"  title="SQLite is a light-weight database system">SQLite</a> support in <a href="http://www.glom.org"  title="Glom database and user interface designer">Glom</a> for <a href="http://www.openismus.com"  title="Custom Open Source Software Development">Openismus</a>. When creating a new document, Glom now allows to save the data in a SQLite database instead of a <a href="http://www.postgresql.org/"  title="PostgreSQL database system">postgresql</a> database. This is more light-weight, and there are generally fewer things that can go wrong as everything is performed within the same process. However, there are some obvious limitations: As SQLite does not support authentication, Glom documents using an SQLite database can be opened without access restriction either. Also, the Glom session is not announced on the network since the SQLite database can not be accessed from remote anyway.</p>

<p>When implementing this, I tried to get rid of most of the postgresql-specific code which was in quite a few places throughout Glom, and putting it into a single place, and using libgda instead of hand-written SQL when possible. This should make it relatively easy to add more database backends in the future, if people need any. There is only some code dealing with users and privileges that may be postgres-specific and which I didn't touch, simply because it is not used with SQLite anyway.</p>

<p>One of the interesting parts was to map the different glom data types to SQLite data types. The switch to <a href="http://www.gnome-db.org/"  title="GNOME database access API">libgda</a>-4 helped with this, since libgda-4 allows storing dates and timestamps in SQLite databases, by converting them to standardized strings. However, SQLite does not support a "numeric" type, but only integer and real. Currently, Glom maps its numeric type always to an SQLite real, which worked surprisingly well so far, though I'm still not 100% happy with it, mostly due to possible floating point inaccuracies.</p>

<p>Another problem was changing a table, meaning adding, modifying or removing columns, or changing the primary key column. As SQLite only <a href="http://www.sqlite.org/lang_altertable.html"  title="SQLite documentation to ALTER TABLE">supports</a> adding non-primary key columns, but not changing existing columns or removing columns, Glom recreates the whole table in that case and moves the data from the old table into the new one. The tricky part of this was to get all possible type conversions right. For example, when changing the type from Image to something else, then the conversion failed with a "Database table is locked" error only if at least one row contained an actual (non-NULL) image. It took me some time to find out that SQLite does not allow dropping a table when a recordset from a SELECT query is still in use, and that Glom was indeed still holding such a recordset to display records from the current table. The problem went away when I released that recordset before changing the field type, though I wonder why there was no problem when there were no images in that column, or for other field type changes not involving images.</p>

<p>This work also yielded some bugs in the upcoming libgda-4, but Vivien has been very responsive so that they have been fixed very quickly. Kudos!</p>

<p>The SQLite version feels much faster and more responsive than the postgresql one when creating a new database or populating the list view. I wonder whether this can be explained with the overhead that comes with postgresql (talking to another process via TCP/IP) or there is a bottleneck elsewhere, which, if fixed, would make (postgresql) glom more enjoyable to use.</p>

<p>The current <a href="http://ftp.acc.umu.se/pub/GNOME/sources/glom/"  title="Glom tarball archives">tarball</a> version, <a href="http://ftp.acc.umu.se/pub/GNOME/sources/glom/1.9/glom-1.9.1.tar.gz"  title="Glom 1.9.1 tarball">1.9.1</a>, already supports SQLite, but still has some problems with changing field types which have been fixed in SVN. A 1.9.2 will hopefully be released soon. The next stable version of Glom, 1.10, will also contain SQLite support.</p>

<p>Sorry, no screenshots this time, since there wouldn't be anything to see that would be different from a postgresql-based Glom, except maybe an option to create a SQLite database when creating a new Glom document.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/42-Hackergotchie-for-me.html" rel="alternate" title="Hackergotchie for me?" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2009-02-20T12:10:11Z</published>
        <updated>2009-02-20T12:10:11Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=42</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=42</wfw:commentRss>
    
    
        <id>http://arbur.net/serendipity/archives/42-guid.html</id>
        <title type="html">Hackergotchie for me?</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <a class='serendipity_image_link' href='http://arbur.net/serendipity/uploads/rl/pict.JPG'><!-- s9ymdb:39 --><img width='74' height='110' style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/rl/pict.serendipityThumb.JPG" alt="" /></a>

I'm bad at pretty much anything which involves graphics. Can someone make a (planet GNOME compliant) hackergotchie from this picture for me (the guy in the front)? Thanks! 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/41-Gobby-0.4.90.html" rel="alternate" title="Gobby 0.4.90" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-10-19T00:49:00Z</published>
        <updated>2008-10-19T00:49:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=41</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=41</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/2-Gobby" label="Gobby" term="Gobby" />
    
        <id>http://arbur.net/serendipity/archives/41-guid.html</id>
        <title type="html">Gobby 0.4.90</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <a class='serendipity_image_link' href='http://arbur.net/serendipity/uploads/gobby/gobby-0.4.90.png'><!-- s9ymdb:37 --><img width='110' height='64' style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;" src="http://arbur.net/serendipity/uploads/gobby/gobby-0.4.90.serendipityThumb.png" alt="" /></a>

<p>Look at this screenshot of the recently <a href="http://releases.0x539.de/gobby/"  title="Gobby releases">released</a> Gobby 0.4.90. See that nice yellow arrow in the toolbar? Yes, this means we finally have Undo/Redo support. It was a really good feeling having closed bug <a href="http://gobby.0x539.de/trac/ticket/39"  title="Undo/Redo bug in Gobby's trac">#39</a> <img src="http://arbur.net/serendipity/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /></p>

<p>Gobby 0.4.90 is the first release in the 0.5 series, and 99% of the code have been rewritten from scratch. It is not yet 0.5.0 since it does not yet contain all the features that previous versions had (for example, it does not yet support self-hosting or password protection). However, removing the integrated chat was a design decision, since there are so many other possibilities for communication, including VoIP. As it supports removing documents, only use it with people you trust enough not to delete all your data.</p>

<p>Gobby 0.4.90 does no longer use obby or net6 as backend libraries doing the hard work, but <a href="http://gobby.0x539.de/trac/wiki/Infinote/Libinfinity"  title="Libinfinity on the Gobby trac">libinfinity</a>, implementing the <a href="http://gobby.0x539.de/trac/wiki/Infinote"  title="The network protocol behind Gobby">Infinote</a> protocol. libinfinity is not yet stable API and ABI wise, and probably will not be for still some time. libinfinity contains a dedicated server, called <a href="http://gobby.0x539.de/trac/wiki/Infinote/Infinoted"  title="Description of the infinoted server">infinoted</a> that Gobby 0.4.90 can connect to.</p>

<p>You can safely install the new version since it is parallel-installable to previous Gobby versions. But please consider everything as very experimental. Things may crash or otherwise behave badly. <a href="http://gobby.0x539.de/trac/newticket"  title="Page for reporting Gobby bugs">Report bugs</a> if they do. We set up a playground server on dalaran.0x539.de if you want to test the new version without having to install server yourself.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/40-g_type_instance_get_private-performance-costs.html" rel="alternate" title="g_type_instance_get_private performance costs" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-10-09T16:50:00Z</published>
        <updated>2008-10-09T16:50:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=40</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/2-Gobby" label="Gobby" term="Gobby" />
    
        <id>http://arbur.net/serendipity/archives/40-guid.html</id>
        <title type="html">g_type_instance_get_private performance costs</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I was curious where most time in <a href="http://gobby.0x539.de/trac/wiki/Infinote/Libinfinity"  title="Libinfinity page on Gobby's Wiki">libinfinity</a>, <a href="http://gobby.0x539.de"  title="Gobby, a collaborative text editor">Gobby</a>'s <a href="http://gobby.0x539.de/trac/wiki/Infinote"  title="Gobby's next-generation collaboration protocol">infinote</a> implementation, is spent. Not because it was too slow or something, but just because I wanted to know. So I used <a href="http://valgrind.org/"  title="Valgrind Debugging tools for Linux">valgrind</a>'s <a href="http://valgrind.org/info/tools.html#callgrind"  title="A valgrind tool for profiling applications">callgrind</a> tool to gain some profile data while running libinfinity's main test for the concurrncy control algorithm. When I displayed the result in <a href="http://kcachegrind.sourceforge.net"  title="KCachegrind on Sourceforge">kcachegrind</a> (there is still no GNOME equivalent, no?) everything looked as I would have expected, until I noticed this line:</p>

<div class="serendipity_imageComment_center" style="width: 642px"><div class="serendipity_imageComment_img"><!-- s9ymdb:36 --><img width='642' height='168'  src="http://arbur.net/serendipity/uploads/gobby/infinote_private_cost.png" alt="" /></div></div>

<p>This means that 14.5% of the overall program time is spent in <a href="http://library.gnome.org/devel/gobject/stable/gobject-Type-Information.html#G-TYPE-INSTANCE-GET-PRIVATE:CAPS"  title="G_TYPE_INSTANCE_GET_PRIVATE in gobject's API reference">g_type_instance_get_private</a>(). This is because libinfinity uses <a href="http://library.gnome.org/devel/gobject/stable/gobject-Type-Information.html#g-type-class-add-private"  title="g_type_class_add_private in gobject's API reference">g_type_class_add_private</a> for every class to store its members into, so it is easy to extend functionality later without breaking ABI. However, this also means that for every function that needs to access a member, g_type_instance_get_private() is called. I didn't expect such a huge impact, though.</p>

<p>To fix this, I added a simple gpointer to the public instance struct, and let it point to the private field in the instance_init function. So this means one call to g_type_instance_get_private() per instance, instead of roughly one per call to a function operating on an instance of the class in question. After doing this for the five classes suffering most from this, g_type_instance_get_private does no longer show up anywhere near relevant in kcachegrind.</p>

<p>I'd like it if improving performance was always as easy as this.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/39-New-gtkmm-Windows-installers.html" rel="alternate" title="New gtkmm Windows installers" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-09-29T17:26:00Z</published>
        <updated>2008-09-29T17:26:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=39</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=39</wfw:commentRss>
    
    
        <id>http://arbur.net/serendipity/archives/39-guid.html</id>
        <title type="html">New gtkmm Windows installers</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>With the release of <a href="http://www.gtkmm.org"  title="C++ wrapper for GTK+">gtkmm</a> 2.14 I created new <a href="ftp://ftp.gnome.org/pub/GNOME/binaries/win32/gtkmm/"  title="gtkmm installers on ftp.gnome.org">installers</a> for Microsoft Windows; the last ones were only for 2.10. We also wrote down <a href="http://live.gnome.org/gtkmm/MSWindows"  title="Instructions how to use the installers">instructions</a> on how to use the installers, and how to recreate them (in case anybody feels the need...). They now contain everything needed for gtkmm to run on Windows, including <a href="http://www.gtk.org"  title="The GIMP Toolkit">GTK+</a> itself (from the GTK+ <a href="ftp://ftp.gnome.org/pub/GNOME/binaries/win32/gtk+/2.14/"  title="GTK+ Windows binaries on ftp.gnome.org">all-in-one bundle</a>).</p>

<p>I used the <a href="http://nsis.sourceforge.net"  title="Nullsoft Scriptable Install System">NSIS</a> installer script from Cédric Gustin, the previous gtkmm Windows maintainer. It is now in gtkmm <a href="http://svn.gnome.org/viewvc/gtkmm/trunk/win32_installer/gtkmm-installer.nsi.in?view=markup"  title="The gtkmm installer script in SVN">SVN</a>.  Comparing with <a href="http://www.jordanr.dhs.org/isinfo.php"  title="InnoSetup installer generator">InnoSetup</a> (which I used for <a href="http://www.glom.org"  title="Glom Database System">Glom</a>'s Windows <a href="ftp://ftp.gnome.org/pub/GNOME/binaries/win32/glom/"  title="Glom's Windows installer on ftp.gnome.org">installer</a>) I must say that InnoSetup scripts are easier to write and maintain (especially for a few common tasks such as creating StartMenu icons or creating an uninstaller). The gtkmm NSIS script has around 1700 lines while the Glom InnoSetup <a href="http://svn.gnome.org/viewvc/glom/trunk/win32/glom.iss.in?view=markup"  title="Glom's InnoSetup script in SVN">script</a> has only around 200. I know that the gtkmm installer is more complex, but that's still a huge difference.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/38-Kobby-coming-along.html" rel="alternate" title="Kobby coming along" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-06-17T20:28:00Z</published>
        <updated>2008-06-17T20:28:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=38</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=38</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/2-Gobby" label="Gobby" term="Gobby" />
    
        <id>http://arbur.net/serendipity/archives/38-guid.html</id>
        <title type="html">Kobby coming along</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><a href="http://gregarei.com/"  title="Gregory Haynes Weblog">Gregory Haynes</a> is working on Kobby featuring collaborative text editing in your favourite KDE text editor as a GSoC project. He started to <a href="http://gregarei.com/2008/06/introducing-libinfinitymm/" >wrap</a> the (still unreleased!) libinfinity (my infinote implementation) API for C++ for this task. I'm really excited to see other collaborative text editors coming up that work together with Gobby, since this is exactly one of the reasons why I took the burden to write the library in GObject-based C.</p>

<p>Speaking of which; I didn't blog on it for a long time. We have moved to <a href="http://git.0x539.de/"  title="The 0x539 git repositories">git</a> in the meantime. I'm currently working on porting <a href="git://git.0x539.de/git/gobby.git"  title="The Gobby git repository">Gobby</a> to use <a href="git://git.0x539.de/git/infinote.git"  title="The infinote git repository">libinfinity</a> instead of obby, heading towards a first usable release, so that the hard work pays off. There are still some things in libinfinity that need to be fixed (performance issues, a few known bugs and way more testing) which are probably easier to fix when a usable Gobby version using it exists. I hope to have these done in a few months, though the most difficult part is always to get the little details right, which is probably why I'm not good at meeting (self-set) deadlines.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/37-Glom-Windows-Installer-2.html" rel="alternate" title="Glom Windows Installer 2" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-02-09T13:29:12Z</published>
        <updated>2008-02-09T13:29:12Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=37</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/7-Openismus" label="Openismus" term="Openismus" />
    
        <id>http://arbur.net/serendipity/archives/37-guid.html</id>
        <title type="html">Glom Windows Installer 2</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>I updated the <a href="http://arbur.net/code/glom/glom-setup-1.7.1.exe"  title="Glom Windows installer">installer</a>. It now includes jpeg62.dll and python25.dll which were missing (thanks to the reporters on my <a href="http://arbur.net/serendipity/archives/36-Glom-Windows-Installer.html"  title="Initial post about Glom installer on Windows">initial post</a>). I also included the glom and gda python modules. If I do understand things right, then installing <a href="http://python.org/download/"  title="Python downloads">Python</a> and <a href="http://www.pygtk.org/downloads.html"  title="PyGTK downloads">pygtk</a> makes Python support in Glom automatically work with this. I tried this out by reinstalling Python into a different directory, which worked.</p>

<p>Again, if there are still problems with it, please tell me.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/36-Glom-Windows-Installer.html" rel="alternate" title="Glom Windows Installer" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-02-04T20:58:00Z</published>
        <updated>2008-02-04T20:58:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=36</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=36</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/7-Openismus" label="Openismus" term="Openismus" />
    
        <id>http://arbur.net/serendipity/archives/36-guid.html</id>
        <title type="html">Glom Windows Installer</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><a href="http://arbur.net/code/glom/glom-setup-1.7.1.exe"  title="Glom Windows Installer">Here</a> it is, <a href="http://www.glom.org"  title="Easy database management">Glom</a>'s installer for Windows. Thanks to the opinions on my <a href="http://arbur.net/serendipity/archives/34-Glom-packaging-on-Windows.html"  title="Glom packaging on Windows">last blog entry</a>. I set up an all-in-one installer, so Glom should run out of the box after installing (please tell me if not). It includes GTK+ from SVN with my patch from bug <a href="http://bugzilla.gnome.org/show_bug.cgi?id=506062"  title="gtk_recent_manager_add_item does not detect mime type on Windows">#506062</a> (hint, hint) so that recent files filtering works.</p>

<p>Since most people seem to use <a href="http://nsis.sourceforge.net"  title="Nullsoft scriptable installer system">NSIS</a> for Windows installers (comment on <a href="http://arbur.net/serendipity/archives/27-Installer++.html"  title="Installer++">this blog entry</a>, <a href="http://gtk-win.sourceforge.net"  title="GTK+ installer for Windows">gtk-win.sourceforge.net</a>) I also had a look at it. However, the scripting language reminds me more of assembly than anything else, and I think these days are over. So I used <a href="http://www.innosetup.org"  title="InnoSetup Installer system">InnoSetup</a> which has Pascal scripting for the rare cases you need it.</p>

<p>The only thing that is not going to work is python scripts for buttons and calculated fields. Ideally, one would just install Python and PyGtk, and having Glom use that installation automatically when present. This shouldn't be too hard, it just needs to tell python where to find the own gda and glom python modules. I am going to tackle this after my physics exam on Thursday.</p> 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/35-Blackout.html" rel="alternate" title="Blackout" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-01-30T18:54:33Z</published>
        <updated>2008-01-30T18:54:33Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=35</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=35</wfw:commentRss>
    
    
        <id>http://arbur.net/serendipity/archives/35-guid.html</id>
        <title type="html">Blackout</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Having done several hours of physics homework in <a href="http://xournal.sourceforge.net"  title="Xournal - Paper replacement">xournal</a> without saving: <a href="http://www.alertnet.org/thenews/newsdesk/L30437065.htm"  title="Blackout in Karlsruhe">Bad</a>. 
            </div>
        </content>
        
    </entry>
    <entry>
        <link href="http://arbur.net/serendipity/archives/34-Glom-packaging-on-Windows.html" rel="alternate" title="Glom packaging on Windows" />
        <author>
            <name>Armin Burgmeier</name>
            <email>nospam@example.com</email>
        </author>
    
        <published>2008-01-27T00:41:00Z</published>
        <updated>2008-01-27T00:41:00Z</updated>
        <wfw:comment>http://arbur.net/serendipity/wfwcomment.php?cid=34</wfw:comment>
    
        <wfw:commentRss>http://arbur.net/serendipity/rss.php?version=atom1.0&amp;type=comments&amp;cid=34</wfw:commentRss>
    
            <category scheme="http://arbur.net/serendipity/categories/7-Openismus" label="Openismus" term="Openismus" />
    
        <id>http://arbur.net/serendipity/archives/34-guid.html</id>
        <title type="html">Glom packaging on Windows</title>
        <content type="xhtml" xml:base="http://arbur.net/serendipity/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>With added support for self-hosting, <a href="http://www.glom.org"  title="User friendly database environment">Glom</a> for Windows now supports all the major features that the Linux version does (apart from Service Publishing, which is probably way more effort since <a href="http://www.avahi.org"  title="Avahi service publishing and discovery">Avahi</a> is not available on Windows). It's time to think about how to package it, and what dependencies to include, especially whether to ship with <a href="http://www.gtk.org"  title="GTK+ windowing toolkit">GTK+</a> or not.</p>

<p>All the major GTK+-using projects such as <a href="http://www.inkscape.org"  title="Inkscape vector graphics editor">Inkscape</a>, <a href="http://www.pidgin.im"  title="Multi-protocol instant messanger">Pidgin</a> and <a href="http://www.wireshark.org"  title="Network protocol analyzer">Wireshark</a> include GTK+. Even the <a href="http://www.gimp.org"  title="The GNU image manipulation program">GIMP</a> does so since version 2.4. This actually generates a lot of duplication, which is why we (or, rather, I) did decide not to ship it with <a href="http://gobby.0x539.de"  title="Collaborative text editor">Gobby</a>. Of course we are getting complaints such as &quot;Hey, this doesn't work because libgtk-win32-2-0-0.dll was not found!!1&quot; from time to time, but if people are not able to read the instructions right above the download link, well, then I'm sorry. Do others think the added duplication is worth that the user needs to install GTK+ manually once? Or, maybe, is this just because there is no "official" GTK+ installer?</p>

<p>Then, there is python, and I have not so much experience here. Glom links statically against libpython, so it should even run without python being installed. However, buttons and calculated fields won't work then, unless we ship with at least pyGTK. Perhaps the best thing is to state that for button scripts and calculated fields to work, python and pyGTK have to be installed. We just have to make sure that Python finds the glom and pygda modules then, even if Python was installed after Glom (so it had no chance to install them into the standard location for such modules), but probably Python has some API for this.</p>

<p>Last but not least, we have <a href="http://www.gtkmm.org"  title="C++ bindings for GTK+">gtkmm</a> which also has an <a href="http://ftp.gnome.org/pub/gnome/binaries/win32/gtkmm/2.10/"  title="Windows installer for gtkmm 2.10">installer</a> that is hosted on <a href="http://ftp.gnome.org"  title="Gnome FTP servers">ftp.gnome.org</a> even. I think we should either ship both GTK+ and gtkmm, or none of them.</p>

<p>If you have any thoughts on this, recommendations and suggestions are welcome.</p> 
            </div>
        </content>
        
    </entry>

</feed>