<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kristoffer Paulsson</title>
    <description>The latest articles on DEV Community by Kristoffer Paulsson (@kristofferpaulsson).</description>
    <link>https://dev.to/kristofferpaulsson</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F869284%2Faaafbd0b-5733-4b85-a74b-bba5b6559479.jpeg</url>
      <title>DEV Community: Kristoffer Paulsson</title>
      <link>https://dev.to/kristofferpaulsson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kristofferpaulsson"/>
    <language>en</language>
    <item>
      <title>Posix error handling in Kotlin/Multiplatform with Angelos Project™</title>
      <dc:creator>Kristoffer Paulsson</dc:creator>
      <pubDate>Mon, 15 Aug 2022 23:30:23 +0000</pubDate>
      <link>https://dev.to/kristofferpaulsson/posix-error-handling-in-kotlinmultiplatform-with-angelos-project-4j7f</link>
      <guid>https://dev.to/kristofferpaulsson/posix-error-handling-in-kotlinmultiplatform-with-angelos-project-4j7f</guid>
      <description>&lt;p&gt;We recently released the sharp v1.0.0 of &lt;a href="https://github.com/angelos-project/angelos-project-errno"&gt;angelos-project-errno&lt;/a&gt;, a package used for handling &lt;em&gt;errno&lt;/em&gt; numbers in stdlibc. These numbers can be read in Kotlin/Native but not reset because of the compiler using a &lt;code&gt;val&lt;/code&gt; instead of &lt;code&gt;var&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Because of this it is hard, if not impossible to work with POSIX functions properly, especially when it may be required to reset &lt;code&gt;errno&lt;/code&gt; before making a system function call.&lt;/p&gt;

&lt;p&gt;For this purpose we developed a tiny framework to look for posix error handling using simple error predicate functions. Those functions are easy to use higher-order functions that may throw a &lt;code&gt;PosixError&lt;/code&gt; exception telling the &lt;code&gt;errno&lt;/code&gt; constant with error message and implemented errno code.&lt;/p&gt;

&lt;p&gt;For this to work we had to utilize both JNI for the Jvm side of KMP, and cinterop for the native side thereof. In both cases a PosixError is thrown with proper message telling the nature of the problem. This type of micro framework design lets developers work close to the original methods used in POSIX implementations and at the same time handle as much logic as possible in Kotlin, and as little as possible in C/C++.&lt;/p&gt;

&lt;p&gt;Thereby being able to focus on learning only one universal programming language for allround use, everything from hidden servers to modern mobile applications and other similar uses.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>kotlin</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>Angelos Project™</title>
      <dc:creator>Kristoffer Paulsson</dc:creator>
      <pubDate>Mon, 15 Aug 2022 00:53:00 +0000</pubDate>
      <link>https://dev.to/kristofferpaulsson/angelos-project-19lb</link>
      <guid>https://dev.to/kristofferpaulsson/angelos-project-19lb</guid>
      <description>&lt;p&gt;The Angelos Project is purposed to be a platform and technology stack for crypto-anarchistic free speech. Of course NOT based on anonymity, but instead based on privacy and verifiability. The idea behind the concept is to hide from regimes what could be said in public in a normal democracy with sufficient free speech rights.&lt;/p&gt;

&lt;p&gt;I have recently the last four (4) years developed a &lt;a href="https://github.com/kristoffer-paulsson/angelos"&gt;prototype&lt;/a&gt; for the technology stack in python on Github for testing, learning and making achievements.&lt;/p&gt;

&lt;p&gt;Right now I am developing the sharp version that is and will be published at &lt;a href="https://search.maven.org/artifact/org.angproj.io.buf/angelos-project-buffer"&gt;Maven Central&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>blog</category>
      <category>opensource</category>
      <category>development</category>
      <category>devjournal</category>
    </item>
  </channel>
</rss>
