Our Archive

Welcome to your Archive. This is your all post. Edit or delete them, then start writing!

brain.flush(); > Education

In this very interesting essay John McWhorter takes a look on a few of the historic roots of the English language and how it was influenced over the years. I'm really fascinated by etymology and enjoy reading about the intricacies of a language. Just take a look at this example:

Especially noteworthy here are the culinary transformations: we kill a cow or a pig (English) to yield beef or pork(French). Why? Well, generally in Norman England, English-speaking labourers did the slaughtering for moneyed French speakers at table.

Read More

After starting this kind of post in 2013, it may develop into a habit. :}

I was definitely right with my optimism in the old post that 2014 is going to be exciting. One of the most exciting things in 2014 was the presentation of my first research paper [1] at the PESOS workshop that took place at ICSE 2014 in Hyderabad, India. It was a great experience and I'm still very thankful for this opportunity! Together with an accepted paper at the EnCASE workshop [2] and one at the CNSM conference [3] I had the chance to contribute to three fascinating publications in 2014.

To gain visibility in the research community it is usually a good start to provide a central place presenting your activities. Following this idea I released my personal website FlorianWessling.de to give an overview of my research activities as well as personal projects.

Talking about personal projects brings me to the next topic: My word wrap plugin and line number ruler patch is making it slowly into the official Eclipse code base. Currently Holger Voormann and Lars Vogel are pushing the code review forward by contributing and triggering the right people to take a closer look at the code. ;) Thank you very much for your effort!

What is left to say? I'm looking forward to a great year 2015 with even more interesting projects, publications, ideas and experiences! The next big milestone I strive for is to finish my master thesis in the next few months and try to publish some of the insights as research paper. :eek3:

[1] C. C. Marquezan, F. Wessling, A. Metzger, K. Pohl, C. Woods, and K. Wallbom, “Towards Exploiting the Full Adaptation Potential of Cloud Applications,” Proceedings of the 6th ICSE 2014 Workshop on Principles of Engineering Service-Oriented and Cloud Systems (PESOS), Hyderabad, India, 2014, pp. 48–57.

[2] S. Gómez Sáez, V. Andrikopoulos, F. Wessling, and C. Cassales Marquezan, “Cloud Adaptation & Application (Re-)Distribution: Bridging the two Perspectives.”, Proceedings of the 1st EDOC 2014 Workshop on Engineering Cloud Applications & Services (EnCASE), 18th International IEEE Enterprise Distributed Object Computing Conference Workshops and Demonstrations (EDOCW), Ulm, Germany, 2014, pp. 163-172.

[3] C. Cassales Marquezan, D. Bruneo, F. Longo, F. Wessling, A. Metzger and A. Puliafito, “3-D Cloud Monitoring: Enabling Effective Cloud Infrastructure and Application Management.”, Proceedings of the 10th International Conference on Network and Service Management (CNSM 2014), Rio de Janeiro, Brazil, 2014

Read More

ICSE 2014 Banner

Visiting ICSE 2014 and presenting our paper at the PESOS workshop was a great experience! I heard a lot of interesting talks, which will be useful as input for my upcoming master thesis and my research in general. The presentation worked out very well and I got some nice feedback for further research and improvements on our work.

I met so many nice people there who made the whole trip even more entertaining and fun. It was a pleasure to be part of such a big conference, to join interesting discussions and to attend such diversified workshops. :)

Read More

While working at the CloudWave research project I had the opportunity to write a scientific paper together with a few colleagues. I'm glad to tell you that our paper [1] was accepted at the "International Workshop on Principles of Engineering Service-Oriented and Cloud Systems" (PESOS) which takes place in conjunction with the "International Conference on Software Engineering" (ICSE 2014). On top of the joy of having my first scientific publication, my advisor told me that I have the pleasure to present the results of our work at the workshop in India! :eek3:

I'm very happy to get the opportunity of giving a presentation to an international audience and get feedback on our work.

My flight departured on Thursday (2014-05-29) at 11:50 and I arrived at Hyderabad on Friday (2014-05-30) at about 04:00 local time (which is +3,5h compared to Germany). Together with a transfer in Abu Dhabi and driving 1h to the hotel the whole journey took about 14h. The temperature is very high (about 40°C today) and weather.com rates Hyderabad on a scale from 0-10 for the UV-Index with a "11+ Extreme". Sunblock is mandatory! :rolleyes:

Now I'm sitting in my room of the beautiful Avasa Hotel and put the finishing touches to my presentation for tomorrow. :)

[1] Clarissa Cassales Marquezan, Florian Wessling, Andreas Metzger, Klaus Pohl, Chris Woods, and Karl Wallbom. 2014. Towards exploiting the full adaptation potential of cloud applications. In Proceedings of the 6th International Workshop on Principles of Engineering Service-Oriented and Cloud Systems (PESOS 2014). ACM, New York, NY, USA, 48-57. DOI=10.1145/2593793.2593799

Read More

A direct link to a Zotero entry is very useful but using only the title is not sufficient. ;)

I've changed my Zotero exporter to include some additional data such as authors, publication title, date and DOI. The created string is not compliant to any of the well-known citations styles (Chicago Manual of Style, Harvard, IEEE, etc.) but covers the necessary information to retrieve the reference in case Zotero does not work or some other "Zoterocalypse". :D

Zotero Export (Full)

Read More

In addition to my previous post about connecting Zotero and Evernote I present a solution to create RTF links to Zotero elements in Evernote.

For my workflow it would be great to copy an element in Zotero and paste it as clickable link into Evernote, ideally using the title as text and the Zotero select URI as target. This could only be possible if the function of Zotero that copies text to the clipboard supports formatted (i.e. RTF) content. Usually the clipboard contains several data formats when copying something. If you e.g. copy text from a website containing a link the plain text is stored in the clipboard and additionally there is a version preserving the links, font style and color. Now when you paste the contents e.g. into Microsoft Word, all the formatting will be shown as it was on the website. In notepad only the plain text will be visible. The Zotero (export) translator will always fill the plain text area of the clipboard. Based on my experiments even RTF text with a valid RTF header written to the output won't be recognised as RTF text when pasted into Word or Evernote.

So, what can we do? The first step was to change the output of the Zotero export translator (quick copy) as you can see here. The output now contains at least the Zotero select URI and the title (e.g. <a href="zotero://select/items/0_KJ6MZWKT">CloudML</a>). Then I found the shell command textutil which is able to convert HTML to RTF. You can try the following command in the Terminal which converts an HTML link to RTF and copies the result into the clipboard. Pasting in Word or Evernote will result in a clickable link to Google.com with the text "Test".

echo "<a href=\"http://www.google.com\">Test</a>" | textutil -stdin -stdout -format html -convert rtf | pbcopy

Now that we have a way to get HTML links out of Zotero and found a tool to convert HTML to RTF it's time to put everything together. Automator is a tool in OS X that enables the creation of custom services and workflows. I use it to create a service running a shell command for which a keyboard shortcut can be assigned later on. It's straightforward: Create a service, select "Run Shell Script" and add the command.

Automator in OS X

Automator in OS X

It is very important to set the encoding of the shell environment first because it's not set to UTF-8 as it might be in your Terminal. This is the command I eventually used (Set encoding, use the contents of the clipboard as input for textutil and then save the output in the clipboard):

export LANG=de_DE.UTF-8; pbpaste | textutil -stdin -stdout -format html -convert rtf -inputencoding utf-8 | pbcopy

When you save the workflow it's available in this menu: System Preferences > Keyboard > Shortcuts. In the services category you will find your newly created service and can assign a keyboard shortcut.

Keyboard Shortcuts in OS X

Keyboard Shortcuts in OS X

This is my upgraded workflow with the goal to create clickable links in Evernote pointing to Zotero entries:

  1. Select entries in Zotero, press CMD+Shift+C to copy the HTML links
  2. Press CMD+CTRL+Shift+C to convert the HTML code in the clipboard to RTF
  3. Paste links in Evernote
Evernote with RTF links

Evernote with RTF links

Read More

For collecting and managing references and scientific publications I use Zotero because it has a nice browser integration. You can simply click on the Zotero icon and the reference will be automatically saved to Zotero including the full-text PDF (e.g. on IEEE Xplore), title, author, entry type (e.g. journal article, website, thesis, book), etc. You can arrange your findings using folders for different topics and even use an entry simultaneously in multiple folders without having duplicate files. After collecting references I export them in BibTeX format to use them in TeXlipse.

Although Zotero can store various file types such as text, audio, video, images and much more I prefer Evernote for organizing my notes, writing paper summaries and collecting ideas. Now we need a way to connect both worlds. ;)

The Goal

Ideally, I would select a reference in Zotero, press CMD+C to copy its absolute URI, select some text in Evernote, add a hyperlink to the URI and that's it. The result would be a link in Evernote which brings up the reference in Zotero when I click on it. Well, let's see what is possible.

Some apps support a certain URI scheme to give other applications access to their content. E.g. in Evernote you can copy the link of a note and get something like evernote:///view/12345689/s123/.../ which can be used to create clickable hyperlinks between your notes. Zotero is also capable of creating and understanding links but it takes a custom translator-plugin to access it. First you have to distinguish between the Zotero item URI, which is in fact a web URL pointing to the reference in your Zotero online account (http://zotero.org/users/12345/items/XXYYZZZ), and the Zotero select link that is the desired URI in the format zotero://select/items/0_XXYYZZAA. Based on the translator-plugin by nschneid I created my own simplified version that exports only the plain URIs of the selected elements by using the shortcut CMD+Shift+C.

Now that we have the URI for accessing the reference it's time to make use of it. Evernote is a very smart program but sometimes it's too smart. When you create a link it only supports URLs that start with the common schemas such as http, https, ftp, ssh, etc. Using a zotero://... URI the "OK" button is simply deactivated and adding the link is not possible. To create clickable Zotero select links it is necessary to enable intelligent links (right click > replacements). This way pasted Zotero select links are automatically converted in clickable links when you hit enter! :eek3:

(It is possible that the URI is not associated with Zotero and nothing happens when you click on it. What helped in my case is to create a .html file containing a hypertext reference such as <a href="zotero://select/items/0_XXYYZZAA">My Link</a>, open it in your browser, click on it and make sure to allow your browser to open Zotero for this specific URI schema.)

Summary / TL;DR:

  1. Goal: Create clickable links in Evernote pointing to Zotero entries
  2. Zotero: Install my customized translator-plugin (download on GitHub Gist)
  3. Zotero: Select entries, press CMD+Shift+C to copy the item URI
  4. Evernote: Right click > Enable Intelligent Links
  5. Evernote: Paste item URI and press enter
Links to Zotero entries in Evernote

Links to Zotero entries in Evernote

The connection of Evernote and Zotero is awesome for managing references, writing summaries, collecting ideas and organizing research. :}

Read More

I planned to post more often about the little side projects I created in the past. This is one of them. ;)

My girlfriend is a future elementary school teacher and was preparing teaching material for her math lesson a few months ago. She had a template of a handout for a geometry lesson with several angles for the children to measure. The problem was that the lines were too thick and looked almost like tiny rectangles sticked together. The kids won't be able to accurately measure the angle because it was not obvious where to put the center of the set square.

Imprecise display of an angle

Imprecise display of an angle

This is where my idea for the CreateAngles class came from. I wrote a simple Java program to generate SVG files providing sharp and crisp angles for her handout. I chose SVG because it's based on a simple XML structure which can be created easily. The crucial part is the configuration of the line style. By adding the stroke-linejoin and stroke-miterlimit properties I was able to create sharp and pointed intersections (take a look at the line in the source code). I also added an arc indicating the angle to be measured.

Sharp and pointed angle

Sharp and pointed angles

Read More

When a new year is going to begin it's time to think about what happened in the old one. ;)

Regarding my studies and work-life quite a lot has happened. I finished my bachelor thesis on the 6th September 2013 and received my Bachelor's degree in "Applied Computer Science – Systems Engineering" a few months later (Bachelor of Science, B.Sc.).  :}

Currently I'm doing the consecutive Master's degree in "Applied Computer Science – Systems Engineering" which I plan to finish this year. In case you are wondering why this happens so quickly: I had the possibility to finish some courses of the Master while I was still doing the Bachelor's degree in 2013. The examination regulations of the Bachelor's programme make this possible and thus enable a smooth transition between both degrees.

After my Master's degree I plan to stay at the university and work as a research associate at paluno to gain a doctoral degree. I already achieved one of the steps for this plan because immediately after receiving my Bachelor's degree I successfully applied for a job as research assistant (or research associate? I'm not sure about the equivalent for the German term "wissenschaftlicher Mitarbeiter"). So I'm currently working on the CloudWave research project and try to find an interesting topic for my Master seminar paper and Master thesis.

I'm sure 2014 is going to be an exciting year!  :smile:

Read More

Es ist immer merkwürdig, wenn ein Programm von jetzt auf gleich ohne Vorwarnung Probleme bereitet. Man hat doch nichts anders gemacht! Kennt jeder, oder? :rolleyes:

So geschehen in meinem LaTeX-Workflow. Ich habe eine Literatureferenz via \cite{} in das Dokument eingefügt, die jedoch nach dem Kompilieren nicht gefunden wurde. In der Literaturliste war sie auf jeden Fall vorhanden. Ein wenig Herumprobieren und Logfile-Studieren zeigte, dass die Literaturliste (Biliography) nicht korrekt erstellt werden konnte. Zur Erstellung verwende ich Biber, was von TeXlipse auch immer korrekt ausgeführt wurde.

Die Log-Dateien zeigten bis auf Meldungen wie "empty bibliography" keine nützlichen Informationen, sodass ich Biber manuell auf der Kommandozeile ausführte. Da kam ich der Sache schon näher, denn das Programm war etwas auskunftsfreudiger: "data source /var/folders/m6/bn7r45zx6cx55rr9g4qh6s6w0000gn/T/par-agoldst/<..>/inc/lib/Biber/LaTeX/recode_data.xml not found in ." Damit konnte ich dann dieses Blog finden, das eine simple Lösung parat hatte. Das Caching-Problem konnte einfach durch Löschen des temporären Ordners gelöst werden: "sudo rm -rf /var/folders/m6/bn7r45zx6cx55rr9g4qh6s6w0000gn/T/par-agoldst/"

Danach lief alles wieder ohne Probleme. ;)

Read More

Archives