<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>æ - Alexander Eckert</title>
    <link>https://alexandereckert.com/</link>
    <description>Recent content on æ - Alexander Eckert</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>(c) 2014 - 2021 Copyright</copyright>
    <lastBuildDate>Sat, 02 Dec 2023 12:00:00 +0000</lastBuildDate>
    <atom:link href="https://alexandereckert.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Dependency inversion</title>
      <link>https://alexandereckert.com/post/dependency-inversion/</link>
      <pubDate>Sat, 02 Dec 2023 12:00:00 +0000</pubDate>
      <guid>https://alexandereckert.com/post/dependency-inversion/</guid>
      <description>&lt;p&gt;The &lt;em&gt;D&lt;/em&gt; in &lt;em&gt;SOLID&lt;/em&gt; stands for &lt;em&gt;dependency inversion&lt;/em&gt;. It&amp;rsquo;s a simple, but powerful principle that allows to change the direction of dependencies within software and often enables the generalization of a concept, by depending on abstraction.&lt;/p&gt;
&lt;p&gt;What I like most about the principle is that it can be used to structure and guide the architecture of the modules and components of a software system on a high level, but not also that, it can also be implemented through various software design patterns on the lower level.&lt;/p&gt;
&lt;h2 id=&#34;classes-modules-components&#34;&gt;Classes, Modules, Components&amp;hellip;&lt;/h2&gt;
&lt;div style=&#34;display: flex; justify-content: center; align-items: center;&#34; class=&#34;mermaid&#34;&gt;
%%{init: {&#39;theme&#39;:&#39;neutral&#39;}}%%
classDiagram
namespace Component1.ModuleA {
class A2
class A1
}
namespace Component1.ModuleB {
class B
}
namespace Component2.ModuleC {
class C
}

A2 --|&gt; A1
A1 --&gt; B
B &lt;-- C
&lt;/div&gt;
&lt;p&gt;Relationships, and therefore dependencies exist on various levels of granularity: Classes and functions make up modules and modules form components.
As we can see, the relationships of the classes also define the relationship of the higher-level constructs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building and testing R packages with latest R-Devel</title>
      <link>https://alexandereckert.com/post/testing-r-packages-with-latest-r-devel/</link>
      <pubDate>Wed, 07 Feb 2018 21:29:42 +0100</pubDate>
      <guid>https://alexandereckert.com/post/testing-r-packages-with-latest-r-devel/</guid>
      <description>&lt;p&gt;If you want to submit your R package to CRAN, you need to ensure that all R checks will be executed successfully without a warning for the current and the devel version of R.&lt;/p&gt;
&lt;p&gt;Not only that but as a package maintainer, you also need to ensure that your submitted packages will still work with upcoming R versions. If you are using native code in your package which needs
compilation (e.g. C/C++), the whole process is even getting more complex, since you need to ensure that the compilation of the code works on different systems (debian, fedora, windows
(32 and 64 bit), solaris (sic), and osx) and with different compilers (gcc, clang).&lt;/p&gt;
&lt;p&gt;But, for the moment let&amp;rsquo;s focus on setting up an environment to check your package against the latest R-Devel version to be able to reproduce and resolve issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>R package naming conventions</title>
      <link>https://alexandereckert.com/post/r-package-names/r-package-names/</link>
      <pubDate>Sun, 04 Jun 2017 22:06:50 +0000</pubDate>
      <guid>https://alexandereckert.com/post/r-package-names/r-package-names/</guid>
      <description>&lt;p&gt;Naming something in general, and especially in R, can be quite tricky because there seems to be no real consensus about naming conventions for packages and functions. Since I am currently in the process of releasing an R package, I wanted to get more recent data about the usage of different naming styles for R packages and package functions. I hypothesized that the users most probably are familiar with the naming conventions that are used by the most downloaded R packages and therefore it might make sense to adopt these naming styles.&lt;/p&gt;
&lt;p&gt;For my small analysis project, I distinguished between the following naming styles:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;lowercase (lc)&lt;/li&gt;
 	&lt;li&gt;UPPERCASE (UC)&lt;/li&gt;
 	&lt;li&gt;lowerCamelCase (lCC)&lt;/li&gt;
 	&lt;li&gt;UpperCamelCase (UCC)&lt;/li&gt;
 	&lt;li&gt;name_with_underscores (us / snake_case)&lt;/li&gt;
 	&lt;li&gt;name.with.dots (dot)&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Samsung Galaxy S6 Update - Stagefright fixed?</title>
      <link>https://alexandereckert.com/post/samsung-galaxy-s6-stagefright/samsung-galaxy-s6-stagefright/</link>
      <pubDate>Wed, 09 Sep 2015 13:27:40 +0000</pubDate>
      <guid>https://alexandereckert.com/post/samsung-galaxy-s6-stagefright/samsung-galaxy-s6-stagefright/</guid>
      <description>&lt;script src=&#34;https://code.jquery.com/jquery-1.12.4.min.js&#34; integrity=&#34;sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=&#34; crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://alexandereckert.com/js/load-photoswipe.js&#34;&gt;&lt;/script&gt;


&lt;link rel=&#34;stylesheet&#34; href=&#34;https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe.min.css&#34; integrity=&#34;sha256-sCl5PUOGMLfFYctzDW3MtRib0ctyUvI9Qsmq2wXOeBY=&#34; crossorigin=&#34;anonymous&#34; /&gt;
&lt;link rel=&#34;stylesheet&#34; href=&#34;https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/default-skin/default-skin.min.css&#34; integrity=&#34;sha256-BFeI1V+Vh1Rk37wswuOYn5lsTcaU96hGaI7OUVCLjPc=&#34; crossorigin=&#34;anonymous&#34; /&gt;
&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe.min.js&#34; integrity=&#34;sha256-UplRCs9v4KXVJvVY+p+RSo5Q4ilAUXh7kpjyIP5odyc=&#34; crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.1/photoswipe-ui-default.min.js&#34; integrity=&#34;sha256-PWHOlUzc96pMc8ThwRIXPn8yH4NOLu42RQ0b9SpnpFk=&#34; crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;


&lt;div class=&#34;pswp&#34; tabindex=&#34;-1&#34; role=&#34;dialog&#34; aria-hidden=&#34;true&#34;&gt;

&lt;div class=&#34;pswp__bg&#34;&gt;&lt;/div&gt;

&lt;div class=&#34;pswp__scroll-wrap&#34;&gt;
    
    &lt;div class=&#34;pswp__container&#34;&gt;
      &lt;div class=&#34;pswp__item&#34;&gt;&lt;/div&gt;
      &lt;div class=&#34;pswp__item&#34;&gt;&lt;/div&gt;
      &lt;div class=&#34;pswp__item&#34;&gt;&lt;/div&gt;
    &lt;/div&gt;
    
    &lt;div class=&#34;pswp__ui pswp__ui--hidden&#34;&gt;
    &lt;div class=&#34;pswp__top-bar&#34;&gt;
      
      &lt;div class=&#34;pswp__counter&#34;&gt;&lt;/div&gt;
      &lt;button class=&#34;pswp__button pswp__button--close&#34; title=&#34;Close (Esc)&#34;&gt;&lt;/button&gt;
      &lt;button class=&#34;pswp__button pswp__button--share&#34; title=&#34;Share&#34;&gt;&lt;/button&gt;
      &lt;button class=&#34;pswp__button pswp__button--fs&#34; title=&#34;Toggle fullscreen&#34;&gt;&lt;/button&gt;
      &lt;button class=&#34;pswp__button pswp__button--zoom&#34; title=&#34;Zoom in/out&#34;&gt;&lt;/button&gt;
      
      
      &lt;div class=&#34;pswp__preloader&#34;&gt;
        &lt;div class=&#34;pswp__preloader__icn&#34;&gt;
          &lt;div class=&#34;pswp__preloader__cut&#34;&gt;
            &lt;div class=&#34;pswp__preloader__donut&#34;&gt;&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&#34;pswp__share-modal pswp__share-modal--hidden pswp__single-tap&#34;&gt;
      &lt;div class=&#34;pswp__share-tooltip&#34;&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;button class=&#34;pswp__button pswp__button--arrow--left&#34; title=&#34;Previous (arrow left)&#34;&gt;
    &lt;/button&gt;
    &lt;button class=&#34;pswp__button pswp__button--arrow--right&#34; title=&#34;Next (arrow right)&#34;&gt;
    &lt;/button&gt;
    &lt;div class=&#34;pswp__caption&#34;&gt;
      &lt;div class=&#34;pswp__caption__center&#34;&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Today a new software update arrived (using Vodafone as provider) for the Samsung Galaxy S6 with the name G920FXXU2COH4 / G920FTEF2COH1 / G920FXXU2COH2. While a quick internet search didn&amp;rsquo;t reveal the purpose of the update, it seems that the Stagefright vulnerability finally has been fixed. I&amp;rsquo;ve tested the vulnerability to Stagefright attacks with Zimperium&amp;rsquo;s Stagefright Detector, as you can see in the following picture.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Discovered music #1</title>
      <link>https://alexandereckert.com/post/discovered-music-1/</link>
      <pubDate>Thu, 25 Jun 2015 02:07:54 +0000</pubDate>
      <guid>https://alexandereckert.com/post/discovered-music-1/</guid>
      <description>&lt;p&gt;Since it is always interesting to stumble over some (rather unknown) tunes while surfing the web, I thought it might be a nice addition to this blog to share (and archive) some discovered songs or albums. The following pieces mainly fit in the electronic genre and are well suited as a musical backing of a coding marathon. Furthermore, some albums can also be bought through bandcamp or are available on soundcloud.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://locirecords.bandcamp.com/album/drum-therapy&#34;&gt;Tor - Drum Therapy&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Genre: Electronic, Downtempo&lt;/li&gt;
&lt;li&gt;Favorite Track: Glass &amp;amp; Stone&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>R - Pitfalls in converting a factor to a numeric value</title>
      <link>https://alexandereckert.com/post/r-pitfalls/</link>
      <pubDate>Fri, 12 Sep 2014 13:59:13 +0000</pubDate>
      <guid>https://alexandereckert.com/post/r-pitfalls/</guid>
      <description>&lt;p&gt;Sometimes when you&amp;rsquo;ve done some data manipulation or read a new file, it might happen that a numerical attribute, like an ID, is stored as a factor. Let&amp;rsquo;s have a look at the following example: Here I simply defined a vector of numbers (e.g. ids) and converted the values to factors.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;&#34;&gt;&lt;code class=&#34;language-R&#34; data-lang=&#34;R&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;id &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;factor&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;seq&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;10000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;20000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;str&lt;/span&gt;(id)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; Factor w&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10001&lt;/span&gt; levels &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;10000&amp;#34;&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;10001&amp;#34;&lt;/span&gt;,..&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://alexandereckert.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://alexandereckert.com/about/</guid>
      <description>I&amp;rsquo;m Alex.
Professionally, I am interested in building scalable distributed systems (aka cloud services) preferably within a data analytics context, as well as applying machine learning techniques to discover insights from all kinds and form factors of data sets. A small selection of past projects can be found on the projects page.
If you want more information, feel free to contact me at contact at alexandereckert.com (PGP).
Note: The tag cloud is generated on the fly, not all tags will be rendered (especially very large and small ones).</description>
    </item>
    <item>
      <title>Imprint &amp; Privacy</title>
      <link>https://alexandereckert.com/imprint/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://alexandereckert.com/imprint/</guid>
      <description>Impressum Angaben gemäß § 5 TMG Kontakt PGP
Datenschutzerklärung Personenbezogene Daten (nachfolgend zumeist nur „Daten“ genannt) werden von uns nur im Rahmen der Erforderlichkeit sowie zum Zwecke der Bereitstellung eines funktionsfähigen und nutzerfreundlichen Internetauftritts, inklusive seiner Inhalte und der dort angebotenen Leistungen, verarbeitet.
Gemäß Art. 4 Ziffer 1. der Verordnung (EU) 2016/679, also der Datenschutz-Grundverordnung (nachfolgend nur „DSGVO“ genannt), gilt als „Verarbeitung“ jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführter Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten, wie das Erheben, das Erfassen, die Organisation, das Ordnen, die Speicherung, die Anpassung oder Veränderung, das Auslesen, das Abfragen, die Verwendung, die Offenlegung durch Übermittlung, Verbreitung oder eine andere Form der Bereitstellung, den Abgleich oder die Verknüpfung, die Einschränkung, das Löschen oder die Vernichtung.</description>
    </item>
    <item>
      <title>Projects</title>
      <link>https://alexandereckert.com/projects/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://alexandereckert.com/projects/</guid>
      <description>Here is a small overview of some selected public projects. Follow my current activities on Linkedin.
Open source projects R packages I&amp;rsquo;m maintaining or have maintained the following R packages:
parallelDist | R, C++11The parallelDist package provides a fast parallelized alternative to R’s native ‘dist’ function to calculate distance matrices for continuous, binary, and multi-dimensional input matrices and offers a broad variety of distance functions from the ‘stats’, ‘proxy’ and ‘dtw’ R packages.</description>
    </item>
    <item>
      <title>Terms of data usage</title>
      <link>https://alexandereckert.com/terms/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://alexandereckert.com/terms/</guid>
      <description>Terms of data usage A license has to be obtained to use the content of this website for training a machine learning or artificial intelligence (AI) model/system for commercial usage, otherwise usage is prohibited.
Crawling this page i.e. by a bot that is explicitly used for this purpose is seen as an implicit agreement, since the data already is obtained.
Cost per used word is based on the market capitalization of the company at the time of data download: 1 € / word / 100k market cap.</description>
    </item>
  </channel>
</rss>
