<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Programming on Just another blog...</title><link>http://ironjan.de/categories/Programming/</link><description>Recent content in Programming on Just another blog...</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 15 Sep 2023 00:15:00 +0000</lastBuildDate><atom:link href="http://ironjan.de/categories/Programming/index.xml" rel="self" type="application/rss+xml"/><item><title>App API Rewrite in Rust 1</title><link>http://ironjan.de/post/2023-09-15-rust-rewrite-app-apis-1/</link><pubDate>Fri, 15 Sep 2023 00:15:00 +0000</pubDate><guid>http://ironjan.de/post/2023-09-15-rust-rewrite-app-apis-1/</guid><description>&lt;h3 id="motivation"&gt;Motivation&lt;/h3&gt;
&lt;p&gt;My two Android apps Metal Only and MensaUPB require some kind of online service to get their data from and - since I cannot force users to update apps easily - I wrote my own API as a wrapper to the upstream APIs provided by &lt;a href="https://www.metal-only.de/"&gt;https://www.metal-only.de/&lt;/a&gt; and &lt;a href="https://studierendenwerk-pb.de/"&gt;https://studierendenwerk-pb.de/&lt;/a&gt;. That way, whenever one of these pages changes their API, I can just adapt the wrapper and keep my own API backwards-compatible so the apps themselves don&amp;rsquo;t require any updates.&lt;/p&gt;</description></item><item><title>Cleaning some data with Clojure 3</title><link>http://ironjan.de/post/2014-12-30-cleaning-some-data-with-clojure-3/</link><pubDate>Tue, 30 Dec 2014 14:05:53 +0000</pubDate><guid>http://ironjan.de/post/2014-12-30-cleaning-some-data-with-clojure-3/</guid><description>&lt;p&gt;The first post in this series was about &lt;a href="http://ironjan.de/post/2014-12-25-cleaning-some-data-with-clojure-1/"&gt;the original problem&lt;/a&gt;: there is a data-set of strings with potential duplicates and many typos. The second was about &lt;a href="http://ironjan.de/post/2014-12-27-cleaning-some-data-with-clojure-2"&gt;computing the similarity of two strings&lt;/a&gt;. In this post we will focus on the question&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Can we group multiple strings of a set by similarity?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;**Matching the names: **The first step is to match the names. I hope, that the following code is documented good enough.&lt;/p&gt;</description></item><item><title>Cleaning some data with Clojure 2</title><link>http://ironjan.de/post/2014-12-27-cleaning-some-data-with-clojure-2/</link><pubDate>Sat, 27 Dec 2014 19:00:27 +0000</pubDate><guid>http://ironjan.de/post/2014-12-27-cleaning-some-data-with-clojure-2/</guid><description>&lt;p&gt;&lt;a href="http://ironjan.de/post/2014-12-25-cleaning-some-data-with-clojure-1/"&gt;Cleaning some data with Clojure 1&lt;/a&gt; provides some context on this project. This post here focusses on the question&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Can we tell, if two strings are similar?”.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Levenshtein Distance:&lt;/strong&gt; My first idea was to use the &lt;a href="http://en.wikipedia.org/wiki/Levenshtein_distance" title="Levenshtein Distance on wikipedia"&gt;Levenshtein Distance&lt;/a&gt;. This metric counts the minimum number of operations needed to transform one string into the other when allowing insertion, deletion or substition of characters. Its definition is as follows:&lt;figure id="attachment_280" style="width: 400px" class="wp-caption alignnone"&gt;&lt;/p&gt;</description></item><item><title>Cleaning some data with Clojure 1</title><link>http://ironjan.de/post/2014-12-25-cleaning-some-data-with-clojure-1/</link><pubDate>Thu, 25 Dec 2014 20:11:19 +0000</pubDate><guid>http://ironjan.de/post/2014-12-25-cleaning-some-data-with-clojure-1/</guid><description>&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt; The students’ council mathematics and computer science in Paderborn (FSMI) provides a service called “Klausurausleihe”. Students may come to the FSMI and lend exams and protocols to prepare themselves  for exams.&lt;/p&gt;
&lt;p&gt;To manage the dataset behind this services, the so-called klausurtool is used. The FSMI an manage the set of exams available and their status. Exams are represented as tuples (examiner, date, content, lendingStatus, lecture) [0].&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; For every single exam, the examiner (and other data has to be entered). There were no rules on how to enter the examiner. Also, the klausurtool did not use UTF-8.&lt;/p&gt;</description></item></channel></rss>