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

<channel>
	<title>Simon Zambrovski &#187; Simon Zambrovski | Categry: tools</title>
	<atom:link href="http://simon.zambrovski.org/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://simon.zambrovski.org</link>
	<description>&#34;One Cannot Not Communicate&#34; - Watzlawick</description>
	<lastBuildDate>Tue, 15 Nov 2011 00:15:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Black Belt Factory</title>
		<link>http://simon.zambrovski.org/2011/08/black-belt-factory/</link>
		<comments>http://simon.zambrovski.org/2011/08/black-belt-factory/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 23:34:43 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[software engineering]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[black belt factory]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[e-learning]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=398</guid>
		<description><![CDATA[Around two months ago, I noticed a status change on the profile of a friend telling that he achieved a brown belt at BlackBeltFactory.com. I was interested and found out that BlackBeltFactory is the successor of the JavaBlackBelt. The site has been relaunched with many new offers. Let me introduce the site and tell why [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://simon.zambrovski.org/wp-content/uploads/2011/08/black_belt.png" alt="" title="black_belt" width="230" height="269" style="float:right; margin:10px;" /><br />
Around two months ago, I noticed a status change on the profile of a friend telling that he achieved a brown belt at BlackBeltFactory.com. I was interested and found out that 
<a  href="http://www.blackbeltfactory.com/" onclick="javascript:pageTracker._trackPageview('/external/www.blackbeltfactory.com/');" >BlackBeltFactory</a> is the successor of the JavaBlackBelt. The site has been relaunched with many new offers. Let me introduce the site and tell why I liked it so much. <span id="more-398"></span></p>
<p>The main idea of the BlackBeltFactory is to create an e-learning platform around computer engineering skills. The site provides so-called courses and workshops: real educational content to different subjects. In order to access the course material, you not only need the account at the site, but should also have a coach, helping you to consume the material. If you get one (I&#8217;ll tell you later how this works), you can study the content and solve excersises. On any questions you can contact the coach who is intended to help you, usually via skype or email.</p>
<p>Once you are done with studying &#8211; you should test yourself by registering to an exam. An exam is a set of online multiple-choice questions. In order to pass exams, you also require some contribution points. You get contribution points for any kind of community activity: connect you status update with twitter, edit questions, post comments, translate course materials &#8211; everything you do for the site and community gives you contribution points. In addition, you can create groups and invite people into them.</p>
<p>Every passed exam gives you some knowlegde points. For a number of knowlegde points earned, you get a belt. Belts have different colors: white, yellow, orange, green, blue, brown and finally black. For the black belt you not only need enough knowlegde points, but also have to be a successful coach for two other students, which means that they have to pass the exams and give you feedback.</p>
<p>After you get a blackbelt, you may offer coaching for money. You give 20$ + 15% of the coaching proce to BlackBeltFactory, but I suppose this is fair enough. The site gives you a possibility to create coaching offers (free or paid) and manage the students, who are looking for the coaches &#8211; a real e-learning marketplace.</p>
<p>I had an idea to 
<a  href="http://www.blackbeltfactory.com/ui#!User/zambrovski" onclick="javascript:pageTracker._trackPageview('/external/www.blackbeltfactory.com/ui?!User/zambrovski');" >get the black belt</a> by passing exams of subject I think I&#8217;m expert in, without taking all the courses. It turned out, that the exam questions are pretty good &#8211; you easily pass the subject you are good in, but you ultimatively fail in subjects where you have knowledge gaps. Another problem you face is the lack of contribution points. For this purpose, there exist a so-called belt track, a series of exams in which passing an exam enables the next one without spending contribution points. The exams are predefined but cover basic Java, OO, XML and Web technolgoies, so I could use the track to achieve the blackbelt quickly.</p>
<p>I like the site because I have the possibility to test my knowledge. The tests are not trivial, but reveales subjects you should deepen. On the other hand the site lives from the contributions. You can do anything &#8211; from commenting bad exam question to designing new questions, exams, courses &#8211; whatever. I also liked the education part, where you have to teach a Java fundamental course for free. That&#8217;s not trivial if a person you teach really starts from scratch, but very interesting and challenging. I also like the fact that you can do a lot without paying money &#8211; very good business model.</p>
<p>Sometimes, the site shows strange behaviour, but you can ever finish your work. At some places the site seems to be not following its own styleguide and look&#038;feel, but these are details. I&#8217;m a big fan of BlackBeltFactory.</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2011/08/black-belt-factory/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nordic Coding Spring 2011</title>
		<link>http://simon.zambrovski.org/2011/04/nordic-coding-spring-2011/</link>
		<comments>http://simon.zambrovski.org/2011/04/nordic-coding-spring-2011/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 09:04:26 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[mdsd]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[Kiel]]></category>
		<category><![CDATA[Nordic Coding]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=379</guid>
		<description><![CDATA[Last friday I was visiting the Nordic Coding event in Kiel, in Northern Germany. The event was a nice unwinder with three promiment speakers: Martin Lippert, Jan Köhnlein and Ralf Ebert. Moderated by Sven Efftinge from itemis the event was a full success with neary 50 visitors. After three talks, we relaxed by some finger [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://farm6.static.flickr.com/5310/5636139852_f5f0164d42_d.jpg" title="Sven Efftinge" class="alignnone" width="500" height="333" /><br />
Last friday I was visiting the 
<a  href="http://www.diwish.de/index.php?id=292" onclick="javascript:pageTracker._trackPageview('/external/www.diwish.de/index.php');" >Nordic Coding</a> event in Kiel, in Northern Germany. The event was a nice unwinder with three promiment speakers: Martin Lippert, Jan Köhnlein and Ralf Ebert. Moderated by 
<a  href="http://blog.efftinge.de/" onclick="javascript:pageTracker._trackPageview('/external/blog.efftinge.de/');" >Sven Efftinge</a> from 
<a  href="http://www.itemis.de/" onclick="javascript:pageTracker._trackPageview('/external/www.itemis.de/');" >itemis</a> the event was a full success with neary 50 visitors. After three talks, we relaxed by some finger food and a cold beer sposnoserd by DiWiSH and itemis.</p>
<p><img alt="" src="http://farm6.static.flickr.com/5265/5635564249_0aeccd01fd.jpg" title="Martin Lippert" class="alignnone" width="500" height="333" /><br />

<a  href="http://martinlippert.blogspot.com/2011/04/slides-from-nordic-coding-talk.html" onclick="javascript:pageTracker._trackPageview('/external/martinlippert.blogspot.com/2011/04/slides-from-nordic-coding-talk.html');" >Martin told about</a> the OSGi technology and the usage of it in big projects. He advertised the OSGi module system but also pointed on some pitfalls during design of the architecture. I was a little dissapointed, since it was a kind of entry-level talk, and its main emphasis was to recollect the importance of the service-oriented principle during system design. He pointed out the importance of loosly coupling and implicit dependency which foster maintainability of the system for many years. In the same time the fulfillment ofsuch architectural principles does not come for free.</p>
<p><img alt="" src="http://farm6.static.flickr.com/5302/5636148242_17136172f6.jpg" title="Jan Köhnlein" class="alignnone" width="500" height="333" /><br />

<a  href="http://koehnlein.blogspot.com/2011/04/eclipsecon-2011-slides.html" onclick="javascript:pageTracker._trackPageview('/external/koehnlein.blogspot.com/2011/04/eclipsecon-2011-slides.html');" >Jan Köhnlein made a talk</a> on DSLs in general and Xtext 2.0 in particular. The guys from itemis did a nice job in developing 
<a  href="http://blog.efftinge.de/2010/09/xbase-new-programming-language.html" onclick="javascript:pageTracker._trackPageview('/external/blog.efftinge.de/2010/09/xbase-new-programming-language.html');" >Xbase</a>, a new language which can be used inside of the user DSL. For me, it is a huge step towards ubiquitous application of DSLs in software projects. Xbase give the ability to specify behaviour inside of DSLs. It is statically typed, compiles to Java, supports closures and type inference, operator overloading, etc.. &#8211; many nice features to use a little more functional programming language features in your DSL. Especially the ability to mix Java Types with Types defined in your DSL in combination with higher-order functions seems very powerfull to me.</p>
<p><img alt="" src="http://farm6.static.flickr.com/5147/5635575239_ef70435c89.jpg" title="Ralf Ebert" class="alignnone" width="500" height="333" /><br />
Finally, 
<a  href="http://www.ralfebert.de/" onclick="javascript:pageTracker._trackPageview('/external/www.ralfebert.de/');" >Ralf Ebert</a> made a very decent presentation on Git &#8211; the popular distributed versioning system. I am a big fan of Git and use it for many things i develop and saw many different presentation on those &#8211; but Ralf&#8217;s was the best one. He explained very plastically the difference in usage of Git to other versioning systems like SVN or CVS. He also showed a nice demo by showing some interesting branching and merging scenarios by switching between two users (Alice and Bob) on his machine and developing a simple web application. It was fast, precise and understandable &#8211; very nice talk.</p>
<p>The next Nordic Coding is planned for the August 19th, 2011.<br />
<img alt="" src="http://farm6.static.flickr.com/5102/5636150850_c1743cabc8.jpg" title="Nordic Coding 2011" class="alignnone" width="500" height="168" /><br />
More pictures in 
<a  href="http://www.flickr.com/photos/sza/sets/72157626535012970/" onclick="javascript:pageTracker._trackPageview('/external/www.flickr.com/photos/sza/sets/72157626535012970/');" >my FlickR set&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2011/04/nordic-coding-spring-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JIRA &amp; Home Improvement</title>
		<link>http://simon.zambrovski.org/2010/05/jira-home-improvement/</link>
		<comments>http://simon.zambrovski.org/2010/05/jira-home-improvement/#comments</comments>
		<pubDate>Mon, 24 May 2010 22:36:33 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[home improvement]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[ticket system]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=256</guid>
		<description><![CDATA[Since I spend this summer in Germany, I started a big home improvement project. Well, I&#8217;m not Tim Taylor and my tools are not from Binford, but it is really a serious improvement for me. So the plan is to remodel the attic: insulate the roof, replace old single-glass windows by the double glazing, replace [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://simon.zambrovski.org/wp-content/uploads/2010/05/home_improvement.jpg" alt="" title="home_improvement" width="116" height="87" style="margin:10px; float:left;" /><br />
Since I spend this summer in Germany, I started a big home improvement project. Well, I&#8217;m not Tim Taylor and my tools are not from Binford, but it is really a serious improvement for me. So the plan is to remodel the attic: insulate the roof, replace old single-glass windows by the double glazing, replace the old floor and actually create a big room with light, heating and furniture. In the same time remodeling of the dining room on the second floor seemed reasonable, because the roof was not insulated there either. In doing so I faced the problem of managing many small tasks which depends on each other. <span id="more-256"></span></p>
<p>I played with Bugzilla for the 
<a  href="http://www.tlaplus.net/" onclick="javascript:pageTracker._trackPageview('/external/www.tlaplus.net/');" >site I hosted for TLA+</a> but I wanted to try something new and installed 
<a  href="http://www.atlassian.com/software/jira/" onclick="javascript:pageTracker._trackPageview('/external/www.atlassian.com/software/jira/');" >JIRA</a> on my home server. The nice story about it is: it is written in Java and it costs only 10$. I installed the bundled (which includes Tomcat) version on my old home server and used my MySQL DB for bugs. </p>
<h3>Switching the database</h3>
<p>After the default installation I changed the following Datasource configuration to switch from HSQL-DB to MySQL in conf/server.xml:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;Resource name=&quot;jdbc/JiraDS&quot;
  auth=&quot;Container&quot;
  type=&quot;javax.sql.DataSource&quot;
  driverClassName=&quot;com.mysql.jdbc.Driver&quot;
  url=&quot;jdbc:mysql://localhost/jira?autoReconnect=true
&amp;amp;useUnicode=true&amp;amp;characterEncoding=UTF8&quot;
  username=&quot;user&quot;
  password=&quot;secret&quot;
  maxActive=&quot;20&quot;
  validationQuery=&quot;select 1&quot;
/&gt;
</pre>
<p>And changed the dialect in atlassian-jira/WEB-INF/classes/entityengine.xml: </p>
<pre class="brush: xml; title: ; notranslate">
&lt;datasource name=&quot;defaultDS&quot; field-type-name=&quot;mysql&quot;
  helper-class=&quot;org.ofbiz.core.entity.GenericHelperDAO&quot;
  check-on-start=&quot;true&quot;
  use-foreign-keys=&quot;false&quot;
  use-foreign-key-indices=&quot;false&quot;
  check-fks-on-start=&quot;false&quot;
  check-fk-indices-on-start=&quot;false&quot;
  add-missing-on-start=&quot;true&quot; check-indices-on-start=&quot;true&quot;&gt;
    &lt;jndi-jdbc jndi-server-name=&quot;default&quot;
      jndi-name=&quot;java:comp/env/jdbc/JiraDS&quot;
    /&gt;
&lt;/datasource&gt;
</pre>
<h3>Integrating with Apache Webserver</h3>
<p>In addition, I don&#8217;t like entering ports into the browser, so I activated mod_jk Apache module and shifted the JIRA tomcats ports 50000 upwards: </p>
<pre class="brush: xml; title: ; notranslate">
&lt;Connector port=&quot;58080&quot; protocol=&quot;HTTP/1.1&quot;
  maxHttpHeaderSize=&quot;58192&quot;
  maxThreads=&quot;150&quot; minSpareThreads=&quot;25&quot; maxSpareThreads=&quot;75&quot;
  useBodyEncodingForURI=&quot;true&quot; enableLookups=&quot;false&quot;
  redirectPort=&quot;58443&quot;
  acceptCount=&quot;100&quot; connectionTimeout=&quot;20000&quot;
  disableUploadTimeout=&quot;true&quot;/&gt;
    &lt;Context path=&quot;/jira/&quot;
    docBase=&quot;${catalina.home}/atlassian-jira&quot;
    reloadable=&quot;false&quot;&gt;
    ...
&lt;/Connector&gt;
&lt;Connector port=&quot;58009&quot;
  enableLookups=&quot;false&quot;
  redirectPort=&quot;58443&quot;
  protocol=&quot;AJP/1.3&quot; /&gt;
</pre>
<p>Please note that also I changed the path to &#8220;/jira/&#8221;. So in order to access it from the browser, you need to type http://server:58080/jira/<br />
In 
<a  href="http://httpd.apache.org/" onclick="javascript:pageTracker._trackPageview('/external/httpd.apache.org/');" >Apache HTTPD Server</a> configuration, I loaded the 
<a  href="http://tomcat.apache.org/connectors-doc/" onclick="javascript:pageTracker._trackPageview('/external/tomcat.apache.org/connectors-doc/');" >mod_jk module</a> and configured a worker for JIRA:</p>
<pre class="brush: bash; title: ; notranslate">
# Where to find rkers.properties
# Update this path to match your conf directory location
# (put workers.properties next to httpd.conf)
JkWorkersFile /etc/apache2/workers.properties

# Where to put jk shared memory
# Update this path to match your local state directory or logs directory
JkShmFile     /var/lock/apache2/mod_jk.shm

# Where to put jk logs
# Update this path to match your logs directory location
# (put mod_jk.log next to access_log)
JkLogFile     /var/log/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel    error

# Select the timestamp log format
JkLogStampFormat &quot;[%a %b %d %H:%M:%S %Y] &quot;

#Mounts
JkMount /jira/* jira
</pre>
<p>The worker.properties file defines a worker using the Tomcat AJP13 connector:</p>
<pre class="brush: bash; title: ; notranslate">
#workers using ajp13
worker.list=jira

# Set properties for jira (ajp13)
worker.jira.type=ajp13
worker.jira.host=localhost
worker.jira.port=58009
</pre>
<h3>Let it mail</h3>
<p>For maximum comfort I tried to let my JIRA installation send me mails using my GMail mail account. I followed the 
<a  href="http://www.atlassian.com/software/jira/docs/v3.13/smtpconfig.html" onclick="javascript:pageTracker._trackPageview('/external/www.atlassian.com/software/jira/docs/v3.13/smtpconfig.html');" >instruction on the JIRA page</a>. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;Resource name=&quot;mail/GmailSmtpServer&quot;
  auth=&quot;Container&quot;
  type=&quot;javax.mail.Session&quot;
  mail.smtp.host=&quot;smtp.googlemail.com&quot;
  mail.smtp.port=&quot;465&quot;
  mail.smtp.auth=&quot;true&quot;
  mail.smtp.user=&quot;myusername@gmail.com&quot;
  password=&quot;mypass&quot;
  mail.debug=&quot;true&quot;
  mail.smtp.starttls.enable=&quot;true&quot;
  mail.smtp.socketFactory.class=&quot;javax.net.ssl.SSLSocketFactory&quot;
/&gt;
</pre>
<p>I finished the setup and got the following error:</p>
<pre class="brush: java; title: ; notranslate">
com.atlassian.mail.MailException: javax.mail.MessagingException:
  Exception reading response; nested exception is:
        javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
        at com.atlassian.mail.server.impl.SMTPMailServerImpl.send(SMTPMailServerImpl.java:191)
        at com.atlassian.mail.queue.SingleMailQueueItem.send(SingleMailQueueItem.java:47)
        at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:68)
        at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23)
        at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:67)
        at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:48)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
</pre>
<p>The problem results from the fact, that GMail uses TLS certificates which has to be imported as described 
<a  href="http://blog.richardadleta.com/2009/05/configuring-jira-to-use-gmail-via-smtp.html" onclick="javascript:pageTracker._trackPageview('/external/blog.richardadleta.com/2009/05/configuring-jira-to-use-gmail-via-smtp.html');" >here</a>. After executing the steps, my JIRA mails me on changes of the Issue states&#8230;</p>
<p>After all, I can create my issues and should focus on the home improvement again. But now I&#8217;m very well organized.</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2010/05/jira-home-improvement/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse Common Navigator Framework</title>
		<link>http://simon.zambrovski.org/2009/04/eclipse-common-navigator-framework/</link>
		<comments>http://simon.zambrovski.org/2009/04/eclipse-common-navigator-framework/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 04:45:21 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[cnf]]></category>
		<category><![CDATA[common navigator framework]]></category>
		<category><![CDATA[content provider]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[non-resource]]></category>
		<category><![CDATA[platform]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=193</guid>
		<description><![CDATA[Just finished to correct mistakes (thanks to Francis) in the article I posted about the usage of the Common Navigator Framework (CNF). In doing so the article incorporates the information already covered in different blogs, but also focuses on the specific use case of providing a view of data structure completely unrelated to the Eclipse [...]]]></description>
			<content:encoded><![CDATA[<p>
<a  href="http://www.flickr.com/photos/mikebaird/3009401040/" onclick="javascript:pageTracker._trackPageview('/external/www.flickr.com/photos/mikebaird/3009401040/');" ><img style="margin: 10px; float:right;" title="Michael “Mike” L. Baird, http://bairdphotos.com/" src="http://www.techjava.de/wp-content/uploads/compas.jpg" alt="Michael “Mike” L. Baird, http://bairdphotos.com/" width="240" height="160" /></a><br />
Just finished to correct mistakes (thanks to 
<a  href="http://dev.eclipse.org/blogs/francis/" onclick="javascript:pageTracker._trackPageview('/external/dev.eclipse.org/blogs/francis/');" >Francis</a>) in 
<a  href="http://www.techjava.de/topics/2009/04/eclipse-common-navigator-framework/" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de/topics/2009/04/eclipse-common-navigator-framework/');" >the article I posted</a> about the usage of the Common Navigator Framework (CNF). In doing so the article incorporates the information already covered in different blogs, but also focuses on the specific use case of providing a view of data structure completely unrelated to the Eclipse platform resources. So the aim is not to add some content to the &#8220;Project Explorer&#8221; which is an example of resource-oriented CNF usage, but to provide a view on a completely own data model. This post fostered some communication with Francis regarding the CNF documentation provided in Eclipse, so I&#8217;m happy if my contributions can be valuable. As usual, this kind of content goes to 
<a  href="http://www.techjava.de/" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de/');" >TechJava&#8230;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2009/04/eclipse-common-navigator-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RCP Help System</title>
		<link>http://simon.zambrovski.org/2009/04/rcp-help-system/</link>
		<comments>http://simon.zambrovski.org/2009/04/rcp-help-system/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 22:37:50 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[system]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=181</guid>
		<description><![CDATA[Eclipse Platform provides a help system that can be used during creation of the help content for your application. It is very convenient while used inside of the IDE, but needs a special approach if used in the RCP. This article tries to gather the information which may be useful. You can find more on [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 10px; float:right" title="Eclipse help" src="http://www.techjava.de/wp-content/uploads/help-150x150.jpg" alt="help" width="120" height="120" />Eclipse Platform provides a help system that can be used during creation of the help content for your application. It is very convenient while used inside of the IDE, but needs a special approach if used in the RCP. This article tries to gather the information which may be useful.</p>
<p>You can find more on that in 
<a  href="http://www.techjava.de/topics/2009/04/rcp-help-system/" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de/topics/2009/04/rcp-help-system/');" >post just published</a> by me on 
<a  href="http://www.techjava.de/" onclick="javascript:pageTracker._trackPageview('/external/www.techjava.de/');" >TechJava&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2009/04/rcp-help-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tools for TLA+</title>
		<link>http://simon.zambrovski.org/2009/02/tools-for-tla/</link>
		<comments>http://simon.zambrovski.org/2009/02/tools-for-tla/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 07:16:04 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[software engineering]]></category>
		<category><![CDATA[tla+]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[leslie lamport]]></category>
		<category><![CDATA[sany]]></category>
		<category><![CDATA[tlatex]]></category>
		<category><![CDATA[tlc]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=151</guid>
		<description><![CDATA[As mentioned in the previous post on Fowlers DSL example,there are some tools available for the TLA+ specification language. In the following a short overview of currently available tools for TLA+ is given. The described tools are and are part of the TLA+ toolset available from the website. SANY &#8211; Syntax Analyser for TLA+ specifications [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin-left: 10px; margin-bottom: 10px; float:right;" title="werkzeug_small" src="http://simon.zambrovski.org/wp-content/uploads/2009/02/werkzeug_small.jpg" alt="werkzeug_small" width="200" height="162" />As mentioned in the 
<a  href="http://simon.zambrovski.org/2009/02/fowler%e2%80%99s-dsl-example-with-tla/">previous post</a> on 
<a  href="http://martinfowler.com/dslwip/Intro.html#TheStateMachineFramework" onclick="javascript:pageTracker._trackPageview('/external/martinfowler.com/dslwip/Intro.html?TheStateMachineFramework');" >Fowlers DSL example</a>,there are some tools available for the TLA+ specification language. In the following a short overview of currently available tools for TLA+ is given. The described tools are and are part of the TLA+ toolset available from the 
<a  href="http://research.microsoft.com/en-us/um/people/lamport/tla/tools.html" onclick="javascript:pageTracker._trackPageview('/external/research.microsoft.com/en-us/um/people/lamport/tla/tools.html');" >website</a>.</p>
<ul>
<li><strong>SANY</strong> &#8211; Syntax Analyser for TLA+ specifications</li>
<li><strong>TLC</strong> &#8211; A modelchecker / simulator for TLA+ specifications</li>
<li><strong>TLATeX</strong> &#8211; LaTeX typesetter for TLA+</li>
</ul>
<p>The <strong>PCal Translator</strong> is not covered in this post and will be introduced in a separate post, together with PCal language.</p>
<h2>SANY</h2>
<p>SANY is a syntax analyser for the TLA+ language. The purpose of it is to check the syntax of the specifications (including some static semantics) and provide the errors to the user. As all of the TLA+ Tools currently available, SANY is a command line tool and reports the errors back to the console. In fact SANY is a front-end of the compiler (lexer, parser, semantic analyser). In order to invoke it call:</p>
<pre class="brush: bash; title: ; notranslate">
java -cp %TLA_CLASSPATH% tla2sany.SANY fowler.tla
</pre>
<p>SANY is currently the only official way to find out, if the specification complies to the rules of the TLA+ language. It is absolutely a non-trivial program, basically because of the complexity of the TLA+ grammar. Especially, the parts responsible for precedence-checking and level-checking are use complex algorithms.</p>
<h2>TLATeX</h2>
<p>As noticed by 
<a  href="http://www.peterfriese.de/" onclick="javascript:pageTracker._trackPageview('/external/www.peterfriese.de/');" >Peter</a>, the language has a special notation, which could appear cryptic to someone who see them for the first time. The reason for this is pretty simple: TLA+ is a mathematical language and the ASCII version TLA+ is very close to LaTeX notation of the corresponding mathematical symbols. Everyone, who is aware of LaTeX can read and write TLA+ easily. For others, the ASCII specification can be translated into a TeX file and rendered to a DVI, PS or PDF. A piece of specification of the secret compartment (
<a  href="http://simon.zambrovski.org/wp-content/uploads/2009/02/fowler.tla">download full TLA file</a>), looks as follows rendered as PDF (
<a  href="http://simon.zambrovski.org/wp-content/uploads/2009/02/fowler.pdf" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2009/02/fowler.pdf');" >download as PDF</a>).<br />
<img style="margin: 10px 30px;" title="rendered_tla" src="http://simon.zambrovski.org/wp-content/uploads/2009/02/rendered_tla.png" alt="rendered_tla" width="393" height="346" /><br />
The question of WYSIWYG editor support involves not only rendering of the symbols (that is the easiest part), but the input of these symbols by the user. Therefor, the ASCII version of TLA (we could also speak about ASCII encoding), which uses at least in certain areas know LaTeX-like encoding is a convenient way for editing specs. There are attempts to create WYSIWYG formula editors, which work pretty good, but the these have to be used with a mouse and the input speed is not comparable with the typing plain LaTeX. </p>
<p>The usage of TLATeX is simple. After the installation of TLA Tools, the TLATeX is invoked from the command line:</p>
<pre class="brush: bash; title: ; notranslate">
java -cp %TLA_CLASSPATH% tla2tex.TLA -shade fowler.tla
</pre>
<p>The tool produces a .tex file which can be included in the existing document. It also can be rendered directly if LaTeX is installed on machine.</p>
<h2>TLC</h2>
<p>TLC is a model checker for TLA+ specifications. It&#8217;s main purpose is to find bugs in specifications. For this purpose it creates the state-space described in the specification and checks the properties (safety and liveness). In contrast to SANY which is responsible for syntax and static semantics check TLC is checking the dynamic semantics of the specification. At this point  I only want to mention, how TLC is invoked. I&#8217;ll cover some advanced TLC topics in the later posts:</p>
<pre class="brush: bash; title: ; notranslate">
java -cp %TLA_CLASSPATH% tlc2.TLC fowler.tla
</pre>
<p>In addition to the TLA file, containing the specification itself, TLC requires a CFG file, which describes the model, that has to be checked. This fact appears unusual to the TLA beginners, but is easy to clarify. The specification of the system is a description of systems behavior. To a given behavior, several models can be constructed. In addition, specifications can be combined resulting in bigger specifications. In the specification, there are no real differencies between actions: (<code>Init</code>, <code>TypeInv</code>, <code>CloseDoor</code> or <code>Spec</code>). Thus, the user has to specify which of these actions are actulally the parts to check.</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2009/02/tools-for-tla/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GPS Tracking for Geo Tagging</title>
		<link>http://simon.zambrovski.org/2008/01/gps-tracking-for-geo-tagging/</link>
		<comments>http://simon.zambrovski.org/2008/01/gps-tracking-for-geo-tagging/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 14:31:03 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/2008/01/gps-tracking-for-geo-tagging/</guid>
		<description><![CDATA[In my previous posts I defined a number of use cases I want to process with. Especially, I was interested in GPS Tracking using a mobile phone and already posted about it. I tried to reuse my experiences with GPS Track for another GPS related subject: geo-tagging / geo-coding. The idea behind a geo-coded image [...]]]></description>
			<content:encoded><![CDATA[<p>In my 
<a  href="http://simon.zambrovski.org/2007/04/gps-experiences-the-first-try-2/" target="_blank">previous posts</a> I defined a number of use cases I want to process with. Especially, I was interested in 
<a  href="http://simon.zambrovski.org/2007/04/gps-tracking-with-a-cell-phone-2/" target="_blank">GPS Tracking using a mobile phone</a> and already posted about it. I tried to reuse my experiences with GPS Track for another GPS related subject: 
<a  href="http://en.wikipedia.org/wiki/Geocoded_photo" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/en.wikipedia.org/wiki/Geocoded_photo');" >geo-tagging / geo-coding</a>. The idea behind a geo-coded image is to embed the geographical coordinates in the image data. Mostly the information is stored using 
<a  href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/en.wikipedia.org/wiki/Exchangeable_image_file_format');" >EXIF</a> metadata. There are three approaches how to create geo-oded images:</p>
<ul>
<li>Use a camera supporting GPS directly or some 
<a  href="http://www.jobo.com/jobo_digital/photogps/gb/index.html" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.jobo.com/jobo_digital/photogps/gb/index.html');" >GPS add-on</a> and put geo location in the time of image capture.</li>
<li>Assign the location to the images afterwards using e.G. 
<a  href="http://www.flickr.com/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.flickr.com/');" >Flickr</a> and locating the image on the map manually.</li>
<li>Record the GPS track (
<a  href="http://simon.zambrovski.org/2007/04/gps-experiences-the-first-try-2/" target="_blank">Usecase 1.2</a>) during the photo session and use time correlation information to assign location to images.</li>
</ul>
<p>Surprising, but I want to tell about the third approach. For that you need a GPS track and some programs that read the timestamp from image metadata and search for the nearest (timely) track point in your track and write GPS coordinates (latitude, longitude, altitude) back to EXIF metadata of the image. Sounds like a simple batch process, doesn&#8217;t it?</p>
<h3>Recording GPS data</h3>
<p>The first setback I suffered was that my tracks recorded with 
<a  href="http://qcontinuum.org/gpstrack/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/qcontinuum.org/gpstrack/');" >GPS Track</a> does not contain any time information. GPS Track program remove all timestamps, which makes the usage of the program impossible for the geo-tagging. I searched for an alternative and found 
<a  href="http://www.gpslog.info/viewtopic.php?t=2" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.gpslog.info/viewtopic.php');" >GPS Log</a>. It is available on a German page but the program supports English, German, Dutch and Polish.</p>
<p>After the installation on the J2ME enabled mobile phone supporting Bluetooth stack (JSR-83) you have to set up the program. The settings are started automatically, but can be changed later in the main menu. The basic part of the configuration is a search of the GPS receiver and setup of the log file. Go to <strong>device URL, devicelist, inquiry</strong> and select your GPS receiver. Then enable the logging and select an appropriate place, where the tracks can be saved.</p>
<p>
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog001.jpg" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog001.jpg');" ><img src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog001_thumb.jpg" style="border: 0px none " alt="gpslog001" border="0" height="170" width="144" /></a> 
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog002.jpg" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog002.jpg');" ><img src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog002_thumb.jpg" style="border: 0px none " alt="gpslog002" border="0" height="170" width="144" /></a> 
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog003.jpg" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog003.jpg');" ><img src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog003_thumb.jpg" style="border: 0px none " alt="gpslog003" border="0" height="170" width="144" /></a></p>
<p>The main menu of the program is structured as follows:</p>
<ul>
<li><strong>start/stop </strong>start/stop tracking</li>
<li><strong>settings</strong>
<ul>
<li><strong>device url</strong> the url of the GPS device, in form btspp://DEVICE-ID:com-port
<ul>
<li><strong>devicelist</strong> list of available BT devices
<ul>
<li><strong>inquiry</strong> start search for devices</li>
</ul>
</li>
</ul>
</li>
<li><strong>filesystem </strong>a place where to write the track files</li>
<li><strong>fileprefix</strong> name prefix of the track file</li>
<li><strong>enable log</strong> write a track file?</li>
<li><strong>enable vibration </strong>enable phone vibration</li>
<li><strong>enable backlight</strong> switch backlight on?</li>
<li><strong>enable sexagesian coordinates</strong> format the coordinates in grade, minute, second instead of fractional of grade</li>
<li><strong>update interval </strong>time between two track points</li>
<li><strong>manual interval</strong> if update interval set to manual &#8211; number of seconds between two track points</li>
<li><strong>loglevel</strong> level of logging (for debugging purposes)</li>
</ul>
</li>
<li><strong>console</strong> java console
<ul>
<li><strong>clear</strong> clears the console</li>
<li><strong>save</strong> saves the console to a file</li>
</ul>
</li>
<li><strong>about</strong> version information (1.29 is the last currently available)</li>
<li><strong>exit</strong></li>
</ul>
<p>After the simple configuration you are done and can (hopefully) see something similar on your display:</p>
<p>
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog005.jpg" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog005.jpg');" ><img src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingforGeoTagging_C476/gpslog005_thumb.jpg" style="border: 0px none " alt="gpslog005" border="0" height="212" width="180" /></a></p>
<p>The resulting file is stored in NMEA 0183 format and contain the movement track. It can be transmitted to the workstation together with the images from you camera. Now you are ready for the offline part of the data processing.</p>
<h3>Post processing</h3>
<p>In the following I present three approaches for the same goal: read the time information of images and track points, find the correlation and write the results back.</p>
<h4>Manual (GPSBabel, gps2photo)</h4>
<p>I tried it manually first, following 
<a  href="http://www.heise.de/kiosk/archiv/ct/2007/10/186" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.heise.de/kiosk/archiv/ct/2007/10/186');" >some instructions</a> of a German computer magazine c&#8217;t. For using GPSBabel to convert from NMEA 0183 to GPX, the command for this is <strong>gpsbabel.exe -t -w -i nmea -f track.txt -o gpx -F track.gpxx </strong>where track.txt is NMEA file name and track.gpxx is the target file name. GPSBabel is very helpful, because additionally to the standards like NMEA it also supports vendor specific standards like Garmin, Magelan, Tom Tom and others. A useful front end can be found at 
<a  href="http://www.gpsvisualizer.com/gpsbabel/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.gpsvisualizer.com/gpsbabel/');" >GPSVisualizer</a>.   Then I used 
<a  href="http://www.carto.net/projects/photoTools/gpsPhoto/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.carto.net/projects/photoTools/gpsPhoto/');" >gps2photo</a> Perl script, that writes the coordinates from GPX file to the corresponding images. The problem with that is, that you require a Perl installation (Active Perl in case of Windows) and <strong>
<a  href="http://www.sno.phy.queensu.ca/~phil/exiftool/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.sno.phy.queensu.ca/~phil/exiftool/');" >Image::ExifTool</a></strong> and <strong>XML::Parser</strong> modules. The Active Perl 5.10 I installed only contain the latter, but not the first one, so I had to download and install it manually. After the installation you need to run <strong>perl gpsPhoto.pl &#8211;dir c:\photos &#8211;gpsfile c:\photos\track.gpxx </strong>for processing the directory of images c:\photos with a trackfile located in c:\photos\track.gpxx. I really got the result after hours of installation and configuration, I and swore never to repeat this. The resulting GPS tags are finally:</p>
<pre class="brush: bash; title: ; notranslate">
GPSVersionID: 2, 2, 0, 0
GPSLatitudeRef: 'N'
GPSLatitude: 53, 38, 18527/1537
GPSLongitudeRef: 'E'
GPSLongitude: 9, 56, 40876/1671
GPSAltitudeRef: 1
GPSAltitude: 53
GPSTimeStamp: 15, 28, 41
GPSImgDirectionRef: 'T'
GPSImgDirection: 0
GPSMapDatum: 'WGS-84'
GPSDateStamp: '2008:01:06'
</pre>
<p>During the writing of this article I looked on the Internet for some resources and  found a list of software that can be useful for geo-tagging/geo-coding on the 
<a  href="http://www.gpslog.info" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.gpslog.info');" >homepage of GPSlog</a>. Because I only have a Windows workstation, I could try out 
<a  href="http://code.google.com/p/gpicsync/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/code.google.com/p/gpicsync/');" >GPicSync</a> and 
<a  href="http://software.copiks.se/photomapper/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/software.copiks.se/photomapper/');" >PhotoMapper</a>. For the Mac users the 
<a  href="http://oregonstate.edu/~earlyj/gpsphotolinker/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/oregonstate.edu/~earlyj/gpsphotolinker/');" >GPS Photo Linker</a> seems to be a standard software.</p>
<h4>GPicSync</h4>
<p>
<a  href="http://code.google.com/p/gpicsync/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/code.google.com/p/gpicsync/');" >GPicSync</a> is a small free available program written in python that executes the steps above automatically. At the time of writing it is available in version 1.23 beta. In addition to simple geo-coding it supports export of the track as Google Earth KLM or Google Map, read directly NMEA or GPX, supports additional geo-tags and geo-names and supports camera 
<a  href="http://code.google.com/p/gpicsync/wiki/RawFormats" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/code.google.com/p/gpicsync/wiki/RawFormats');" >RAW formats</a>. Because I&#8217;m using a Canon Rebel XTi (EOS 400D) it is of utmost importance for me to geo-code the raw files directly. <strong>This feature makes this program to my favorite.</strong></p>
<h4>Copiks Photomapper</h4>
<p>
<a  href="http://software.copiks.se/photomapper/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/software.copiks.se/photomapper/');" >Photomapper</a> allows to load GPS information file and images and write the GPS location back to the images. The export to Google Earth is also possible. The UI looks more advanced as in the case of GPicSync, but the program only supports JPEG images, so GPicSync remains my favorite.</p>
<h3>For own development</h3>
<p>In the time between my headache with manual tagging and finding of GPicSync I searched over the web for resources of reading and writing of EXIF metadata and parsing NMEA in Java. NMEA 0183 seems to be 
<a  href="http://www.hcilab.org/documents/tutorials/NMEA_Parser/NMEA_Parser.htm" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.hcilab.org/documents/tutorials/NMEA_Parser/NMEA_Parser.htm');" >trivial</a>, There are several interesting developments according to the EXIF subject:</p>
<ul>
<li>
<a  href="http://jrawio.tidalwave.it/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/jrawio.tidalwave.it/');" >jrawi</a> is a Java library for reading images coded in &#8220;camera raw&#8221; format;</li>
<li>
<a  href="http://www.drewnoakes.com/code/exif/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.drewnoakes.com/code/exif/');" >metadata extractor</a> is a generic framework to read EXIF metadata. Currently only JPEG format is supported, but the authors mention that support of additional media types should be simple.</li>
<li>The most promising development seems to be 
<a  href="http://www.fightingquaker.com/sanselan/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.fightingquaker.com/sanselan/');" >Sanselan</a> that should become an Apache project soon. In contrast to the others, it support writing of images, which makes it a first class candidate self-made solution. Unfortunately, Sanselan does not support RAW formats. I played around with the framework &#8211; it seems to be pretty convenient.</li>
</ul>
<p class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2a48581a-f7de-4a67-ae5d-27d55d92984f" style="margin: 0px; padding: 0px; display: inline; float: none">Technorati tags: 
<a  href="http://technorati.com/tags/geotagging" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/geotagging');" >geotagging</a>, 
<a  href="http://technorati.com/tags/geocoding" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/geocoding');" >geocoding</a>, 
<a  href="http://technorati.com/tags/gpslog" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/gpslog');" >gpslog</a>, 
<a  href="http://technorati.com/tags/gpstrack" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/gpstrack');" >gpstrack</a>, 
<a  href="http://technorati.com/tags/gps" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/gps');" >gps</a>, 
<a  href="http://technorati.com/tags/bluetooth" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/bluetooth');" >bluetooth</a>, 
<a  href="http://technorati.com/tags/mobile" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/mobile');" >mobile</a>, 
<a  href="http://technorati.com/tags/gpicsync" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/gpicsync');" >gpicsync</a>, 
<a  href="http://technorati.com/tags/photomapper" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/photomapper');" >photomapper</a>, 
<a  href="http://technorati.com/tags/java" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/java');" >java</a>, 
<a  href="http://technorati.com/tags/image" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/image');" >image</a>, 
<a  href="http://technorati.com/tags/jrawi" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/jrawi');" >jrawi</a>, 
<a  href="http://technorati.com/tags/metadata%20extractor" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/metadata%20extractor');" >metadata extractor</a>, 
<a  href="http://technorati.com/tags/sanselan" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/sanselan');" >sanselan</a></p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2008/01/gps-tracking-for-geo-tagging/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Eclipse for publishing</title>
		<link>http://simon.zambrovski.org/2008/01/using-eclipse-for-publishing/</link>
		<comments>http://simon.zambrovski.org/2008/01/using-eclipse-for-publishing/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 14:11:28 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/2008/01/using-eclipse-for-publishing/</guid>
		<description><![CDATA[As most Java developers using Eclipse IDE, I prefer to use it for everything. All right, I&#8217;m not using Eclipse to control my media player, but I&#8217;m using it for publishing. Since my project work, I&#8217;m a TeX user and not a MS Word user. Even if I&#8217;m pretty good in using old MS Office, [...]]]></description>
			<content:encoded><![CDATA[<p>As most Java developers using Eclipse IDE, I prefer to use it for everything. All right, I&#8217;m not using Eclipse to control my media player, but I&#8217;m using it for publishing.</p>
<p>Since my 
<a  href="http://simon.zambrovski.org/research/" target="_blank">project work</a>, I&#8217;m a TeX user and not a MS Word user. Even if I&#8217;m pretty good in using old MS Office, I&#8217;m completely lost with MS Office 2007. Beside of this fact, I like the way how you create documents using LaTex because it is similar to coding &#8211; you write you source code and compile the output.</p>
<p>Publishing in LaTeX under Windows is possible using 
<a  href="http://miktex.org/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/miktex.org/');" >MikTeX</a>. In addition you need an editor. Under Linux, one would use <strong>vi</strong> or <strong>emacs</strong>. For Windows several alternatives are possible: 
<a  href="http://www.winedt.com/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.winedt.com/');" >WinEDT</a> that is good, but a commercial product or 
<a  href="http://www.toolscenter.org/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/www.toolscenter.org/');" >TexnicCenter</a> which is a good freeware editor. The problem with both of them is: they only support editing and not other activities around the publishing. Especially, activity that is of utmost importance for me is versioning of the artifacts. Version control systems are excellent integrated in Eclipse, and with help of 
<a  href="http://texlipse.sourceforge.net/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/texlipse.sourceforge.net/');" >Texlipse</a> you get the entire environment needed for LaTeX publishing.</p>
<p>One feature, I missed all the time using Texlipse was spell checking. It was supported by Texlipse since 2005, but I got it not configured. Today, after my professor told me once again to use a spellchecker, I promised to set up the 
<a  href="http://aspell.net/win32/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/aspell.net/win32/');" >Aspell</a> inside of Texlipse. With some help from 
<a  href="http://www.jliegl.com/?cat=15" onclick="javascript:pageTracker._trackPageview('/external/www.jliegl.com/');" >Gedankenstrom</a> and reading the aspell help I got it. Here is a short description (I assume that Texlipse is successfully installed).</p>
<p>
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/UsingEclipseforpublishing_D59F/aspell.jpg" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/UsingEclipseforpublishing_D59F/aspell.jpg');" ><img src="http://simon.zambrovski.org/wp-content/uploads/2007/10/UsingEclipseforpublishing_D59F/aspell_thumb.jpg" style="border: 0px none " alt="aspell" border="0" /></a></p>
<ol>
<li>Download Aspell.</li>
<li>Install Aspell (to any! directory) and dictionaries.</li>
<li>Open <strong>Preferences-&gt;Texlipse-&gt;Spell Checker</strong></li>
<li>Enter the <strong>Aspell command </strong>(a complete path to aspell.exe)</li>
<li>Correct <strong>Aspell arguments</strong> to -a -t &#8211;lang=%language</li>
<li>Open <strong>Preferences-&gt;Texlipse-&gt;Spell Checker-&gt;Environment</strong></li>
<li>Create a new environment variable with key: <strong>prefix</strong> and value: <strong><br />
path-to-your-aspell-directory, using / insted of \.</strong></li>
<li>Press <strong>Ctrl + Shift + 6</strong> for spell checking</li>
</ol>
<p class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ba3a2aa0-10f4-4547-871c-8d1e5feeada0" style="margin: 0px; padding: 0px; display: inline">Technorati tags: 
<a  href="http://technorati.com/tags/eclipse" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/eclipse');" >eclipse</a>, 
<a  href="http://technorati.com/tags/texlipse" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/texlipse');" >texlipse</a>, 
<a  href="http://technorati.com/tags/publishing" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/publishing');" >publishing</a>, 
<a  href="http://technorati.com/tags/aspell" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/aspell');" >aspell</a>, 
<a  href="http://technorati.com/tags/latex" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/latex');" >latex</a></p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2008/01/using-eclipse-for-publishing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>GPS Tracking with a cell phone</title>
		<link>http://simon.zambrovski.org/2007/04/gps-tracking-with-a-cell-phone-2/</link>
		<comments>http://simon.zambrovski.org/2007/04/gps-tracking-with-a-cell-phone-2/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 18:11:11 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/2007/04/gps-tracking-with-a-cell-phone-2/</guid>
		<description><![CDATA[Usecase 1.2 As already mentioned in one of the previous posts I&#8217;m playing around with GPS technology, trying different use cases. One of them is tracking own position using a GPS Mouse and cell phone. The minimum requirement was to track position data (x,y,z) and store it on a flash card inserted in the cell [...]]]></description>
			<content:encoded><![CDATA[<h3>Usecase 1.2</h3>
<p>As already mentioned in one of the 
<a  href="http://simon.zambrovski.org/2007/04/gps-tracking-with-a-cell-phone/">previous posts</a> I&#8217;m playing around with GPS technology, trying different use cases. One of them is tracking own position using a GPS Mouse and cell phone. The minimum requirement was to track position data (x,y,z) and store it on a flash card inserted in the cell phone, connected to GPS receiver via Bluetooth. After a short search on the Internet I found 
<a  href="http://qcontinuum.org/gpstrack/" onclick="javascript:pageTracker._trackPageview('/external/qcontinuum.org/gpstrack/');" >GPS Track</a> (version 1.1) free software, packaged as Java Middlet for use on any J2ME compatible cell phone.</p>
<p>After the simple installation the basic setup on the cell phone have to be executed. The main menu of the software is structured as folows:</p>
<ul>
<li><strong>start</strong>: start the tracking / changed to <strong>stop</strong>, if tracking is running
<li><strong>tracks</strong>: manipulation of already recorded tracks (track menu)
<ul>
<li><strong>details:</strong> name, records(number of points), memory usage
<li><strong>upload to web site</strong>: to upload to the 
<a  href="http://qcontinuum.org/map" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/qcontinuum.org/map');" >http://qcontinuum.org/map</a> and to be displayed as an overlay on the 
<a  href="http://maps.google.com/" onclick="javascript:pageTracker._trackPageview('/external/maps.google.com/');" >Google Maps</a>
<li><strong>send via email: </strong>Send the track file by E-Mail (Google Earth .kml, GPS Exchange .gpx, Excel .csv)
<li><strong>transfer via bluetooth: </strong>Send the track file by Bluetooth (Object-Push) (Google Earth .kml, GPS Exchange .gpx, Excel .csv)
<li><strong>write to local file: </strong>Write the track file locally (Google Earth .kml, GPS Exchange .gpx, Excel .csv)
<li><strong>delete</strong></li>
</ul>
<li><strong>options</strong>: basic options on <strong>units</strong>, <strong>tracks</strong> and <strong>backlight</strong></li>
</ul>
<p><strong>
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr0000022.png" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr0000022.png');" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="208" src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr000002_thumb.png" width="176" border="0"></a> 
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr0000092.png" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr0000092.png');" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="208" src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr000009_thumb.png" width="176" border="0"></a> </strong></p>
<p>After the basic setup and the established connection between the GPS Track and the Bluetooth device (the connection established is stored, so you need to setup only once) the tracking can be started. During the tracking several screens are available and can be switched using <strong>options</strong>-&gt;<strong>next.</strong></p>
<h4><strong>
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr00000511.png" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr00000511.png');" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr000004_thumb2.png" width="120" border="0"> <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr000005_thumb7.png" width="120" border="0"></a></strong>
<a  href="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr0000084.png" onclick="javascript:pageTracker._trackPageview('/downloads/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr0000084.png');" ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" src="http://simon.zambrovski.org/wp-content/uploads/2007/10/GPSTrackingwithacellphone_A60C/Scr000008_thumb2.png" width="120" border="0"></a> </h4>
<h4>Track Status</h4>
<ul>
<li>Name: Name of the track, created from the recording date and time
<li>Records: number of records (measurements)
<li>Speed: current speed
<li>Distance: track length from the beginning of the measurement
<li>No Fix: time during tracking, the receiver is not able to determine its position
<li>Stationary: the receiver can determine its position and is not moving
<li>Moving: the receiver can determine its position and is moving</li>
</ul>
<h4>GPS Status</h4>
<ul>
<li>GMT: current time (satellite time?)
<li>Latitude, Longitude, Altitude: current coordinates
<li>Heading: direction of moving
<li>Satellites: number of satellites from that the signal is received</li>
</ul>
<h4>GPSTrack</h4>
<p>An embedded compass (also available separately without GPS at 
<a  href="http://qcontinuum.org/compass/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/qcontinuum.org/compass/');" >http://qcontinuum.org/compass/</a>)&nbsp; showing the position of the Sun/Moon. In addition the position of the satellites is displayed on the compass.</p>
<h3>Summary</h3>
<p>I played around with GPS track and recorded several tracks. The tracks varied from short to pretty long (~70 km). Basically, I&#8217;m satisfied with the functions the software offers to me. Because of the source code is available, i&#8217;ll have a look on it and may be will refactor some UI or possible drill one or another additional feature in to it. Especially the UI is very primitive, so I think that the information can be presented much more compact, using one screen instead of three.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:b71b54eb-acdf-48af-951a-2ab8952c257e" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati tags: 
<a  href="http://technorati.com/tags/tools" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/tools');" >tools</a>, 
<a  href="http://technorati.com/tags/gps" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/gps');" >gps</a>, 
<a  href="http://technorati.com/tags/tracking" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/tracking');" >tracking</a>, 
<a  href="http://technorati.com/tags/mobile" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/mobile');" >mobile</a>, 
<a  href="http://technorati.com/tags/j2me" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tags/j2me');" >j2me</a></div>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2007/04/gps-tracking-with-a-cell-phone-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Concept Maps</title>
		<link>http://simon.zambrovski.org/2007/04/concept-maps/</link>
		<comments>http://simon.zambrovski.org/2007/04/concept-maps/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 07:55:26 +0000</pubDate>
		<dc:creator>simon</dc:creator>
				<category><![CDATA[tools]]></category>
		<category><![CDATA[modeling]]></category>

		<guid isPermaLink="false">http://simon.zambrovski.org/?p=36</guid>
		<description><![CDATA[For a certain amount of time a had a a look on the Web Service Architecture from W3C. They used a concept map &#8211; a simple technique to represent terms and relations between them. Cause I&#8217;m always excited about convenient information representation I searched for a tool, supporting me to create concept maps. IHMC is [...]]]></description>
			<content:encoded><![CDATA[<p>For a certain amount of time a had a a look on the 
<a  href="http://www.w3.org/TR/ws-arch/" target="_blank" title="Web Service Architecture" onclick="javascript:pageTracker._trackPageview('/external/www.w3.org/TR/ws-arch/');" >Web Service Architecture</a> from W3C. They used a concept map &#8211; a simple technique to represent terms and relations between them. Cause I&#8217;m always excited about convenient information representation I searched for a tool, supporting me to create concept maps. 
<a  href="http://cmap.ihmc.us/" onclick="javascript:pageTracker._trackPageview('/external/cmap.ihmc.us/');" >IHMC</a> is offering a free 
<a  href="http://cmap.ihmc.us/download/" target="_blank" onclick="javascript:pageTracker._trackPageview('/external/cmap.ihmc.us/download/');" >CmapTools</a> and even non-free/&#8221;cost model unknown&#8221; server infrastructure for collaborative editing and sharing of the concept maps. Pretty expressive is the list of 
<a  href="http://cmap.ihmc.us/Publications/" title="Concept Mps publications" onclick="javascript:pageTracker._trackPageview('/external/cmap.ihmc.us/Publications/');" >publications</a></p>
<p>
<a  href="http://cmap.ihmc.us/Publications/" title="Concept Mps publications" onclick="javascript:pageTracker._trackPageview('/external/cmap.ihmc.us/Publications/');" >tags: </a>
<a  href="http://technorati.com/tag/concept+maps" rel="tag" onclick="javascript:pageTracker._trackPageview('/external/technorati.com/tag/concept+maps');" >concept maps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zambrovski.org/2007/04/concept-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

