<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Jan Kotek</title>
    <subtitle>Jan Kotek&#x27;s personal website, blog archive, publications, and contact information.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://kotek.net/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://kotek.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2015-09-25T00:00:00+00:00</updated>
    <id>https://kotek.net/atom.xml</id>
    <entry xml:lang="en">
        <title>MapDB 2.0 update</title>
        <published>2015-09-25T00:00:00+00:00</published>
        <updated>2015-09-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_update/"/>
        <id>https://kotek.net/blog/MapDB_update/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-2-0-update&quot;&gt;MapDB 2.0 update&lt;&#x2F;h1&gt;
&lt;p&gt;To begin with, there is a small notification of changes. From now on I am moving the MapDB related posts to a &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.mapdb.org&#x2F;blog.html&quot;&gt;new blog&lt;&#x2F;a&gt; at mapdb.org. Here is new &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.mapdb.org&#x2F;news.xml&quot;&gt;RSS&lt;&#x2F;a&gt;. This blog will be used for my interests outside MapDB (most likely it will stay empty).&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB 2 beta 1 is out</title>
        <published>2015-06-29T00:00:00+00:00</published>
        <updated>2015-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_2_beta_1/"/>
        <id>https://kotek.net/blog/MapDB_2_beta_1/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-2-beta-1-is-out&quot;&gt;MapDB 2 beta 1 is out&lt;&#x2F;h1&gt;
&lt;p&gt;Beta 1 is out. It brings storage format and API freeze into MapDB 2.0 branch.
This format and API should be supported for several years to come.
Stable MapDB 2.0 will share the same format. Also latter 2.1 release with performance
optimizations and long-term support will use the same.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB 2 is near</title>
        <published>2015-06-16T00:00:00+00:00</published>
        <updated>2015-06-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_20_is_near/"/>
        <id>https://kotek.net/blog/MapDB_20_is_near/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-2-is-near&quot;&gt;MapDB 2 is near&lt;&#x2F;h1&gt;
&lt;p&gt;Format and API freeze for MapDB 2.0 is just a few weeks away.
I did not write much about the new generation of MapDB (aka JDBM) and it is time to fix that.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB 1.1 and sun.misc.Unsafe</title>
        <published>2014-07-01T00:00:00+00:00</published>
        <updated>2014-07-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_11_and_unsafe/"/>
        <id>https://kotek.net/blog/MapDB_11_and_unsafe/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-1-1-and-sun-misc-unsafe&quot;&gt;MapDB 1.1 and sun.misc.Unsafe&lt;&#x2F;h1&gt;
&lt;p&gt;High performance Java projects usually use &lt;code&gt;sun.misc.Unsafe&lt;&#x2F;code&gt; to directly manipulate memory.
It is not officially part of JDK, so it does not work on Dalvik and some other JVMs.
Also it might cause JVM to crash in cause of an error, making debugging and user support hard.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB Roadmap and near future</title>
        <published>2014-05-14T00:00:00+00:00</published>
        <updated>2014-05-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_Roadmap_and_near_future/"/>
        <id>https://kotek.net/blog/MapDB_Roadmap_and_near_future/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-roadmap-and-near-future&quot;&gt;MapDB Roadmap and near future&lt;&#x2F;h1&gt;
&lt;p&gt;MapDB 1.0.0, the first stable version, was released last week. Some people tweeted “Christmas came early”. For me it is the culmination of 5 years work. Lets open another chapter and have a look at MapDB in the near future.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>CodeFutures: the new MapDB home</title>
        <published>2014-01-21T00:00:00+00:00</published>
        <updated>2014-01-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_and_CodeFutures/"/>
        <id>https://kotek.net/blog/MapDB_and_CodeFutures/</id>
        
        <summary type="html">&lt;h1 id=&quot;codefutures-the-new-mapdb-home&quot;&gt;CodeFutures: the new MapDB home&lt;&#x2F;h1&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.mapdb.org&quot;&gt;MapDB&lt;&#x2F;a&gt; was a hobby project for almost 12 years (under the
name JDBM). Last year I quit my daily job and started on MapDB full time. The plan
was to finish MapDB 1.0 and build a consultancy business around it. I also wanted
to work from home and spend more time with my family.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB 1.0 will be released in January</title>
        <published>2013-11-06T00:00:00+00:00</published>
        <updated>2013-11-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_1_in_january/"/>
        <id>https://kotek.net/blog/MapDB_1_in_january/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-1-0-will-be-released-in-january&quot;&gt;MapDB 1.0 will be released in January&lt;&#x2F;h1&gt;
&lt;p&gt;If you follow me on Github, you may have noticed I started preparations for 1.0 release.
Some features were moved &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jankotek&#x2F;mapdb&#x2F;issues?labels=after+1.0&quot;&gt;after 1.0&lt;&#x2F;a&gt;,
a long manual is &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jankotek&#x2F;MapDB&#x2F;tree&#x2F;master&#x2F;src&#x2F;site&#x2F;markdown&#x2F;doc&quot;&gt;slowly growing&lt;&#x2F;a&gt; and
number of remaining TODOs is shrinking fast.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB and the road ahead</title>
        <published>2013-09-25T00:00:00+00:00</published>
        <updated>2013-09-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_and_the_road_ahead/"/>
        <id>https://kotek.net/blog/MapDB_and_the_road_ahead/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-and-the-road-ahead&quot;&gt;MapDB and the road ahead&lt;&#x2F;h1&gt;
&lt;p&gt;Five months ago  I left my regular job and &lt;a href=&quot;&#x2F;blog&#x2F;MapDB_Reloaded&#x2F;&quot;&gt;started on MapDB full time&lt;&#x2F;a&gt;.
I have been quiet since, so it is time to refresh my plans with MapDB.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB 0.9 format support</title>
        <published>2013-07-01T00:00:00+00:00</published>
        <updated>2013-07-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_09_format_support/"/>
        <id>https://kotek.net/blog/MapDB_09_format_support/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-0-9-format-support&quot;&gt;MapDB 0.9 format support&lt;&#x2F;h1&gt;
&lt;p&gt;MapDB has currently semi-stable branch 0.9.x. My plan was to keep stable API and storage format. However to support some new features (store size limit, async API) I have to make changes in storage format, which are not backward compatible. Also now I work full-time and project is evolving much faster than I expected.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB Reloaded</title>
        <published>2013-06-19T00:00:00+00:00</published>
        <updated>2013-06-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_Reloaded/"/>
        <id>https://kotek.net/blog/MapDB_Reloaded/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-reloaded&quot;&gt;MapDB Reloaded&lt;&#x2F;h1&gt;
&lt;p&gt;Last month I wrote about &lt;a href=&quot;&#x2F;blog&#x2F;MapDB_Future&#x2F;&quot;&gt;the future of MapDB&lt;&#x2F;a&gt;. It was not very optimistic. MapDB is my hobby project and the time I could give it is severely limited. This led to some absurd situations: despite having a very fast db-engine I would not publish any performance benchmarks. I also discouraged possible users so I would not have to deal with support emails.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>MapDB Future</title>
        <published>2013-04-23T00:00:00+00:00</published>
        <updated>2013-04-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/MapDB_Future/"/>
        <id>https://kotek.net/blog/MapDB_Future/</id>
        
        <summary type="html">&lt;h1 id=&quot;mapdb-future&quot;&gt;MapDB Future&lt;&#x2F;h1&gt;
&lt;p&gt;MapDB 0.9.x was released a few weeks ago. Now that the project enters &lt;i&gt;usable alpha phase&lt;&#x2F;i&gt;, is time to talk about the future.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>3 billion items in Java Map with 16 GB RAM</title>
        <published>2012-11-12T00:00:00+00:00</published>
        <updated>2012-11-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/3G_map/"/>
        <id>https://kotek.net/blog/3G_map/</id>
        
        <summary type="html">&lt;h1 id=&quot;3-billion-items-in-java-map-with-16-gb-ram&quot;&gt;3 billion items in Java Map with 16 GB RAM&lt;&#x2F;h1&gt;
&lt;p&gt;One rainy evening I meditated about memory managment in Java and
how effectively Java collections  utilise memory.
I made simple experiment, how much entries can I insert into
Java Map with 16 GB of RAM?&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JDBM4 renamed to MapDB</title>
        <published>2012-11-03T00:00:00+00:00</published>
        <updated>2012-11-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/JDBM4_renamed_to_MapDB/"/>
        <id>https://kotek.net/blog/JDBM4_renamed_to_MapDB/</id>
        
        <summary type="html">&lt;h1 id=&quot;jdbm4-renamed-to-mapdb&quot;&gt;JDBM4 renamed to MapDB&lt;&#x2F;h1&gt;
&lt;p&gt;‘JDBM’ (Java Database Manager) name has long history. Original ‘DBM’ (Database Manager) has been introduced in seventies. Java version started in 2001 and first stable version was introduced in 2005. Until 2012 it has dozen forks including JDBM2,3,4 and ApacheDS.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JDBM4 now open for public</title>
        <published>2012-09-16T00:00:00+00:00</published>
        <updated>2012-09-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/JDBM4_now_open_for_public/"/>
        <id>https://kotek.net/blog/JDBM4_now_open_for_public/</id>
        
        <summary type="html">&lt;h1 id=&quot;jdbm4-now-open-for-public&quot;&gt;JDBM4 now open for public&lt;&#x2F;h1&gt;
&lt;p&gt;After 4 months of development &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jankotek&#x2F;JDBM4&quot;&gt;JDBM4&lt;&#x2F;a&gt; is now stable enough for the first public testing.
Now is good time for any early adopters or possible contributors to take JDBM4 for a quick spin.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Announcing JDBM4</title>
        <published>2012-06-08T00:00:00+00:00</published>
        <updated>2012-06-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/announcing_JDBM4/"/>
        <id>https://kotek.net/blog/announcing_JDBM4/</id>
        
        <summary type="html">&lt;h1 id=&quot;announcing-jdbm4&quot;&gt;Announcing JDBM4&lt;&#x2F;h1&gt;
&lt;p&gt;The JDBM3 project has been quiet for the last few weeks, but a lot has happened in between. I talked about JDBM3 at the Geecon conference in front of 50 people. I also met a handful of JDBM users. Results were not very encouraging. JDBM3 is very fast, but it is synchronized on single-big lock and does not scale well with concurrent access on multi core CPUs. And for most people this can be a deal breaker.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Kotlin pre-pre-pre alpha survival guide</title>
        <published>2012-02-16T00:00:00+00:00</published>
        <updated>2012-02-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/kotlin_pre-pre-pre_alpha_survival_guide/"/>
        <id>https://kotek.net/blog/kotlin_pre-pre-pre_alpha_survival_guide/</id>
        
        <summary type="html">&lt;h1 id=&quot;kotlin-pre-pre-pre-alpha-survival-guide&quot;&gt;Kotlin pre-pre-pre alpha survival guide&lt;&#x2F;h1&gt;
&lt;p&gt;Jetbrains recently open-sourced Kotlin, so you may want to take it for a quick spin. Here are a few tips and workarounds. I worked with Kotlin last few weeks as volunteer tester, I am not connected with Jetbrains.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JDBM 3.0 alpha 1 released</title>
        <published>2012-01-18T00:00:00+00:00</published>
        <updated>2012-01-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/jdbm_3.0_alpha_1_released/"/>
        <id>https://kotek.net/blog/jdbm_3.0_alpha_1_released/</id>
        
        <summary type="html">&lt;h1 id=&quot;jdbm-3-0-alpha-1-released&quot;&gt;JDBM 3.0 alpha 1 released&lt;&#x2F;h1&gt;
&lt;p&gt;I am proud to announce first alpha of JDBM3.  JDBM is embedded Java key value database with more than 10 years of history. It provides java collections (maps, sets and lists) backed up by disk storage. And it has unbeatable performance and simplicity.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Pixy2 updated</title>
        <published>2011-11-01T00:00:00+00:00</published>
        <updated>2011-11-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/pixy2_updated/"/>
        <id>https://kotek.net/blog/pixy2_updated/</id>
        
        <summary type="html">&lt;h1 id=&quot;pixy2-updated&quot;&gt;Pixy2 updated&lt;&#x2F;h1&gt;
&lt;p&gt;Pixy 2 System is an astronomical image examination and object identification application. It process raw images and makes basic corrections. It can also identify  asteroids, comets and find variable stars. It was developed by Seiichi Yoshida, I took liberty and updated it a bit.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JDBM 3 is coming</title>
        <published>2011-10-23T00:00:00+00:00</published>
        <updated>2011-10-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/jdbm_3_is_coming/"/>
        <id>https://kotek.net/blog/jdbm_3_is_coming/</id>
        
        <summary type="html">&lt;h1 id=&quot;jdbm-3-is-coming&quot;&gt;JDBM 3 is coming&lt;&#x2F;h1&gt;
&lt;p&gt;A few weeks ago I started work on &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jankotek&#x2F;jdbm3&quot;&gt;JDBM 3 at github&lt;&#x2F;a&gt;. Main goal is to improve simplicity and performance. JDBM3 is packed with new features and changes. Difference from JDBM2 is even bigger than between JDBM1 and JDBM2. But there is still policy ‘no test left behind’, so we should enjoy great stability similar to previous releases.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>scala problems</title>
        <published>2011-07-06T00:00:00+00:00</published>
        <updated>2011-07-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/scala_problems/"/>
        <id>https://kotek.net/blog/scala_problems/</id>
        
        <summary type="html">&lt;h1 id=&quot;scala-problems&quot;&gt;scala problems&lt;&#x2F;h1&gt;
&lt;p&gt;I love Scala, it lifted my capabilities and made me incredible productive. But after 18 months I found a few problems.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Galway Sky Atlas 1st edition</title>
        <published>2011-04-12T00:00:00+00:00</published>
        <updated>2011-04-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/galway_sky_atlas_1st_edition/"/>
        <id>https://kotek.net/blog/galway_sky_atlas_1st_edition/</id>
        
        <summary type="html">&lt;h1 id=&quot;galway-sky-atlas-1st-edition&quot;&gt;Galway Sky Atlas 1st edition&lt;&#x2F;h1&gt;
&lt;p&gt;I am pleased to announce first edition of &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;picasaweb.google.com&#x2F;105883183836974264111&#x2F;GalwaySkyAtlas1stEdition&quot;&gt;Galway Sky Atlas&lt;&#x2F;a&gt;. It is an opensource community free a beer atlas. It coverts 200000 stars down to 10.5 magnitudes. It also contains 10000 objects from &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.saguaroastro.org&#x2F;content&#x2F;downloads.htm&quot;&gt;SAC deep sky database&lt;&#x2F;a&gt;. Atlas comes on 473 charts with same layout as first edition of Uranometria.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Quick look at upcoming Parallel Collections in Scala 2.9</title>
        <published>2011-03-29T00:00:00+00:00</published>
        <updated>2011-03-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/quick_look_at_upcoming_parallel_collections_in_scala_2.9/"/>
        <id>https://kotek.net/blog/quick_look_at_upcoming_parallel_collections_in_scala_2.9/</id>
        
        <summary type="html">&lt;h1 id=&quot;quick-look-at-upcoming-parallel-collections-in-scala-2-9&quot;&gt;Quick look at upcoming Parallel Collections in Scala 2.9&lt;&#x2F;h1&gt;
&lt;p&gt;Scala 2.9 should be released “in weeks”, so I took recent snapshot for quick spin, to see how it work with my open-source project. Upgrade was easy, nothing compared to 2.7. Just replacing scalac and scala-lib jar files. I encountered three minor problems:&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JDBM 2.1 and beyond</title>
        <published>2011-01-16T00:00:00+00:00</published>
        <updated>2011-01-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/jdbm_2.1_and_beyond/"/>
        <id>https://kotek.net/blog/jdbm_2.1_and_beyond/</id>
        
        <summary type="html">&lt;h1 id=&quot;jdbm-2-1-and-beyond&quot;&gt;JDBM 2.1 and beyond&lt;&#x2F;h1&gt;
&lt;p&gt;JDBM 2.0 was released just a few weeks ago, now is time to start working on new version. JDBM 2.1 will bring fixes and performance improvements, but keeping file format and API compatible with 2.0.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Enumeration problem at Scala 2.8.1</title>
        <published>2010-12-20T00:00:00+00:00</published>
        <updated>2010-12-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/enumeration_problem_at_scala_2.8.1/"/>
        <id>https://kotek.net/blog/enumeration_problem_at_scala_2.8.1/</id>
        
        <summary type="html">&lt;h1 id=&quot;enumeration-problem-at-scala-2-8-1&quot;&gt;Enumeration problem at Scala 2.8.1&lt;&#x2F;h1&gt;
&lt;p&gt;Scala is great language and I love it. But sometimes one can found strange stuff in there. A few weeks ago I updated Scala library in my project from 2.8.0 to 2.8.1. There were a few minor issues. But also one really big one. It took me a few hours to find reason why my tests are failing.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JDBM2 released</title>
        <published>2010-12-19T00:00:00+00:00</published>
        <updated>2010-12-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/jdbm2_released/"/>
        <id>https://kotek.net/blog/jdbm2_released/</id>
        
        <summary type="html">&lt;h1 id=&quot;jdbm2-released&quot;&gt;JDBM2 released&lt;&#x2F;h1&gt;
&lt;p&gt;I am proud to announce stable release of &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;googlecode.com&#x2F;p&#x2F;jdbm2&quot;&gt;JDBM2&lt;&#x2F;a&gt;  key-value database. It is similar to BerkleyDB Java Edition, but is free as beer and under Apache 2 license. JDBM2 provides ‘java.util.Map’ stored on disk.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>JUnit3 Scala TestCase</title>
        <published>2010-11-28T00:00:00+00:00</published>
        <updated>2010-11-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/junit3_scala_testcase/"/>
        <id>https://kotek.net/blog/junit3_scala_testcase/</id>
        
        <summary type="html">&lt;h1 id=&quot;junit3-scala-testcase&quot;&gt;JUnit3 Scala TestCase&lt;&#x2F;h1&gt;
&lt;p&gt;There is number of new testing framework for Java and Scala. For example JUnit4, TestNG, Spec, ScalaTest… I never liked annotation driven test cases or ‘story driven tests’. So I wrote my own TestCase which works with JUnit3 and can use some Scala features.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>SwingUtilities.invokeAndWait with return value</title>
        <published>2010-11-11T00:00:00+00:00</published>
        <updated>2010-11-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/swingutilities.invokeandwait_with_return_value/"/>
        <id>https://kotek.net/blog/swingutilities.invokeandwait_with_return_value/</id>
        
        <summary type="html">&lt;h1 id=&quot;swingutilities-invokeandwait-with-return-value&quot;&gt;SwingUtilities.invokeAndWait with return value&lt;&#x2F;h1&gt;
&lt;p&gt;Threading in Swing is tricky.
In many cases it is necessary to make a calculation on EDT thread and receive result back. For example components should not be created outside of EDT, or values should be accessed in thread safe way.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>RangeSet and huge datasets</title>
        <published>2009-11-30T00:00:00+00:00</published>
        <updated>2009-11-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/rangeset_and_huge_datasets/"/>
        <id>https://kotek.net/blog/rangeset_and_huge_datasets/</id>
        
        <summary type="html">&lt;h1 id=&quot;rangeset-and-huge-datasets&quot;&gt;RangeSet and huge datasets&lt;&#x2F;h1&gt;
&lt;p&gt;Most of collections does not use memory efficiently. But there is simple compression trick
to store virtually unlimited data sets. And there are practical implementations.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Using Ant and Javac without installation</title>
        <published>2009-11-30T00:00:00+00:00</published>
        <updated>2009-11-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/using_ant_and_javac_without_installation/"/>
        <id>https://kotek.net/blog/using_ant_and_javac_without_installation/</id>
        
        <summary type="html">&lt;h1 id=&quot;using-ant-and-javac-without-installation&quot;&gt;Using Ant and Javac without installation&lt;&#x2F;h1&gt;
&lt;p&gt;Installing Ant and JDK can be pain. This post shows howto make Ant Java compiler part of your project. So it does not require installation. Only one external dependency needed to make build will be JRE. This setup makes it also much easier for new comers to start on project&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Piccolo and SVG</title>
        <published>2009-11-07T00:00:00+00:00</published>
        <updated>2009-11-07T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/piccolo_and_svg/"/>
        <id>https://kotek.net/blog/piccolo_and_svg/</id>
        
        <summary type="html">&lt;h1 id=&quot;piccolo-and-svg&quot;&gt;Piccolo and SVG&lt;&#x2F;h1&gt;
&lt;p&gt;I was thinking how to improve symbols on map. Star clusters, nebulas etc have complicated signs and it is difficult to draw them with plain Java2d.  I decided to use SVG vector graphic to draw those symbols. Using vector editor is way way easier then coding in Java2d.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>More realistic view on Groovy</title>
        <published>2009-06-09T00:00:00+00:00</published>
        <updated>2009-06-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/more_realistic_view_on_groovy/"/>
        <id>https://kotek.net/blog/more_realistic_view_on_groovy/</id>
        
        <summary type="html">&lt;h1 id=&quot;more-realistic-view-on-groovy&quot;&gt;More realistic view on Groovy&lt;&#x2F;h1&gt;
&lt;p&gt;Realistic evaluation of Groovy based on half year usage in hobby projects.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Pixy2</title>
        <published>2009-02-05T00:00:00+00:00</published>
        <updated>2009-02-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/pixy2/"/>
        <id>https://kotek.net/blog/pixy2/</id>
        
        <summary type="html">&lt;h1 id=&quot;pixy2&quot;&gt;Pixy2&lt;&#x2F;h1&gt;
&lt;p&gt;I am not sure if you know &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.aerith.net&#x2F;misao&#x2F;pixy&#x2F;index.html&quot;&gt;Pixy2&lt;&#x2F;a&gt;. It is very good program for making photometry on CCD image. It can also identify starts on CCD image. But Pixy2 depends on external XML parser and does not start with JRE 1.6 (internal XML parser).&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Label layout algorithm</title>
        <published>2009-01-17T00:00:00+00:00</published>
        <updated>2009-01-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/label_layout_algorithm/"/>
        <id>https://kotek.net/blog/label_layout_algorithm/</id>
        
        <summary type="html">&lt;h1 id=&quot;label-layout-algorithm&quot;&gt;Label layout algorithm&lt;&#x2F;h1&gt;
&lt;p&gt;One of most common problems in astro cartography are labels. There is many objects on map and many of them have an label. In highly concentrated areas (galaxy clusters, Saggitarius) it is hard to place label without overlaping with other objects and labels.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Writing fast NIO webserver</title>
        <published>2008-09-05T00:00:00+00:00</published>
        <updated>2008-09-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/writing_fast_nio_webserver/"/>
        <id>https://kotek.net/blog/writing_fast_nio_webserver/</id>
        
        <summary type="html">&lt;h1 id=&quot;writing-fast-nio-webserver&quot;&gt;Writing fast NIO webserver&lt;&#x2F;h1&gt;
&lt;p&gt;I wrote fast and simple &lt;a href=&quot;&#x2F;down&#x2F;asynchttpd-m2.zip&quot;&gt;web server&lt;&#x2F;a&gt; using New I&#x2F;O and Kilim microthreads. No locks, no blocking, no channel selector. With a few optimization tricks, it is probably fastest webserver written in Java.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Spring and memento pattern</title>
        <published>2007-09-17T00:00:00+00:00</published>
        <updated>2007-09-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/spring_and_memento_pattern/"/>
        <id>https://kotek.net/blog/spring_and_memento_pattern/</id>
        
        <summary type="html">&lt;h1 id=&quot;spring-and-memento-pattern&quot;&gt;Spring and memento pattern&lt;&#x2F;h1&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Memento_pattern&quot;&gt;Memento pattern&lt;&#x2F;a&gt; is common way howto save and restore object state. It is used in many applications including Eclipse and Netbeans. Implementation in OpenCoeli is easy to use, Spring friendly and very simple.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Spring bean name resolver</title>
        <published>2007-08-21T00:00:00+00:00</published>
        <updated>2007-08-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/spring_bean_name_resolver/"/>
        <id>https://kotek.net/blog/spring_bean_name_resolver/</id>
        
        <summary type="html">&lt;h1 id=&quot;spring-bean-name-resolver&quot;&gt;Spring bean name resolver&lt;&#x2F;h1&gt;
&lt;p&gt;OpenCoeli is heavily using Spring IOC framework. It is great, but is missing one feature: inverse bean name resolver. Why it is good to know bean name? For example for configuration, if you inject different bean you just need to save bean name. Also it can be very useful for logging.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>Astronomy and GIS</title>
        <published>2007-07-30T00:00:00+00:00</published>
        <updated>2007-07-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://kotek.net/blog/astronomy_and_gis/"/>
        <id>https://kotek.net/blog/astronomy_and_gis/</id>
        
        <summary type="html">&lt;h1 id=&quot;astronomy-and-gis&quot;&gt;Astronomy and GIS&lt;&#x2F;h1&gt;
&lt;p&gt;There is entire engineering discipline called &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Geographic_information_system&quot;&gt;Geographic information system&lt;&#x2F;a&gt;, it is all about how to draw maps and present various informations on Earth’s surface. About GIS was written many books.&lt;&#x2F;p&gt;</summary>
        
    </entry>
</feed>
