<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Scala on Salar Rahmanian</title><link>https://www.softinio.com/tags/scala/</link><description>Recent content in Scala on Salar Rahmanian</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 10 Apr 2021 10:20:09 -0700</lastBuildDate><atom:link href="https://www.softinio.com/tags/scala/index.xml" rel="self" type="application/rss+xml"/><item><title>Scala News</title><link>https://www.softinio.com/projects/scalanews/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.softinio.com/projects/scalanews/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/projects/scalanews/scalanews_hu_b92b722bc7a5d562.webp" type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/projects/scalanews/scalanews_hu_be48cead0ff03b20.png"
 alt="Scala News"
 width="780" height="780"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;I wanted to create a directory of all bloggers who write about Scala Programming language with links to their RSS Feeds.&lt;/p&gt;
&lt;p&gt;Using this directory I have created a CLI tool using Scala, Typelevel stack (cats-effect, fs2, http4s, decline, Laika) to use the rss feed links to generate the latest news in the scala community that I publish periodically on &lt;a href="https://www.scalanews.net/"&gt;www.scalanews.net&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="links"&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://www.scalanews.net/"&gt;https://www.scalanews.net/&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;About Page: &lt;a href="https://www.scalanews.net/Resources/About.html"&gt;https://www.scalanews.net/Resources/About.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/softinio/scalanews"&gt;https://github.com/softinio/scalanews&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;README: &lt;a href="https://github.com/softinio/scalanews/blob/main/README.md"&gt;https://github.com/softinio/scalanews/blob/main/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>scaladex.nvim</title><link>https://www.softinio.com/projects/scaladex-nvim/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.softinio.com/projects/scaladex-nvim/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/projects/scaladex-nvim/scala-logo_hu_d5d0b851de8c0152.webp" type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/projects/scaladex-nvim/scala-logo_hu_2d0e115cb461a626.png"
 alt="scaladex.nvim"
 width="590" height="270"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;I created a lua library that is able to search for scala pages on &lt;a href="https://index.scala-lang.org"&gt;Scaladex&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I then used it to create a &lt;a href="https://neovim.io"&gt;Neovim&lt;/a&gt; plugin and &lt;a href="https://github.com/nvim-telescope/telescope.nvim"&gt;telescope.nvim&lt;/a&gt; plugin so that when I am coding using Neovim I can search for and add packages as dependencies.&lt;/p&gt;
&lt;h2 id="demo-and-video-tutorial-on-using-scaladexnvim"&gt;Demo and Video Tutorial on using scaladex.nvim&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; margin-bottom: 0.25rem; height: 0; overflow: hidden;"&gt;
&lt;iframe sandbox="allow-same-origin allow-scripts allow-popups" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;"
 src="https://watch.softinio.com/videos/embed/44bD8ASpSkzmKifDBNMBkr?title=0&amp;warningTitle=0&amp;peertubeLink=0" allowfullscreen&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;p class="video-fallback"&gt;&lt;a href="https://watch.softinio.com/w/44bD8ASpSkzmKifDBNMBkr" target="_blank" rel="noopener"&gt;▶ Watch on PeerTube&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Acting Lessons for Scala Engineers With Akka and Zio</title><link>https://www.softinio.com/talks/acting-lessons-for-scala-engineers-with-akka-and-zio/</link><pubDate>Sat, 10 Apr 2021 10:20:09 -0700</pubDate><guid>https://www.softinio.com/talks/acting-lessons-for-scala-engineers-with-akka-and-zio/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/talks/acting-lessons-for-scala-engineers-with-akka-and-zio/sbtb2020_hu_f31bb6706cfec297.webp 780w, https://www.softinio.com/talks/acting-lessons-for-scala-engineers-with-akka-and-zio/sbtb2020_hu_99091a8249a26c03.webp 1560w"
 sizes="(max-width: 830px) calc(100vw - 3rem), 780px"
 type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/talks/acting-lessons-for-scala-engineers-with-akka-and-zio/sbtb2020_hu_62b869b7882bf502.jpg"
 alt=""
 width="780" height="390"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;In November 2020 I had the great privilege to do a &lt;a href="https://scalebythebay2020.sched.com/event/e54O/acting-lessons-for-scala-engineers-with-akka-and-zio"&gt;Talk at Scale By The Bay Conference&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="recording-of-my-talk"&gt;Recording of my talk&lt;/h3&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; margin-bottom: 0.25rem; height: 0; overflow: hidden;"&gt;
 &lt;iframe src="https://www.youtube-nocookie.com/embed/AQXBlbkf9wc"
 title="YouTube Video"
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;p class="video-fallback"&gt;&lt;a href="https://www.youtube.com/watch?v=AQXBlbkf9wc" target="_blank" rel="noopener"&gt;▶ Watch on YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h3 id="slides"&gt;Slides&lt;/h3&gt;
&lt;p&gt;Slides for my talk can be found &lt;a href="https://github.com/softinio/talks/blob/master/SBTB2020/acting-lessons-for-scala-engineers-with-akka-and-zio.pdf"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="i-also-wrote-three-blogs-posts-as-a-companion-to-my-talk"&gt;I also wrote three blogs posts as a companion to my talk&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.softinio.com/post/introduction-to-the-actor-model/"&gt;Introduction to the Actor Model&lt;/a&gt;&lt;/p&gt;</description></item><item><title>duck4s</title><link>https://www.softinio.com/projects/duck4s/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.softinio.com/projects/duck4s/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/projects/duck4s/duck4s_logo_hu_c77015b12151f2d5.webp" type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/projects/duck4s/duck4s_logo_hu_c54d364e9a79cf42.jpeg"
 alt="duck4s"
 width="200" height="200"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;A modern, type-safe Scala 3 wrapper library for DuckDB that provides idiomatic, functional programming-friendly access to DuckDB&amp;rsquo;s analytical database capabilities through its Java JDBC client.&lt;/p&gt;
&lt;h2 id="links"&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/softinio/duck4s"&gt;https://github.com/softinio/duck4s&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;README: &lt;a href="https://github.com/softinio/duck4s/blob/main/README.md"&gt;https://github.com/softinio/duck4s/blob/main/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Next-Level Diagnostics for Async &amp; Concurrent Errors with ZIO</title><link>https://www.softinio.com/talks/next-level-diagnostics-for-async-and-concurrent-errors-with-zio/</link><pubDate>Wed, 13 Nov 2019 00:00:00 +0000</pubDate><guid>https://www.softinio.com/talks/next-level-diagnostics-for-async-and-concurrent-errors-with-zio/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/talks/next-level-diagnostics-for-async-and-concurrent-errors-with-zio/sbtb2019_hu_76635d2b9f1d957b.webp" type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/talks/next-level-diagnostics-for-async-and-concurrent-errors-with-zio/sbtb2019_hu_c17d1bc6df955ac.png"
 alt=""
 width="780" height="439"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;In November 2019 I had the great privilege to do a &lt;a href="https://scalebythebay2019.sched.com/event/RoSt/next-level-diagnostics-for-async-concurrent-errors-with-zio"&gt;Talk at Scale By The Bay Conference&lt;/a&gt; with John A De Goes.&lt;/p&gt;
&lt;h3 id="recording-of-my-talk"&gt;Recording of my talk&lt;/h3&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; margin-bottom: 0.25rem; height: 0; overflow: hidden;"&gt;
 &lt;iframe src="https://www.youtube-nocookie.com/embed/MdYKEwuWR4U"
 title="YouTube Video"
 style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;"
 allowfullscreen&gt;
 &lt;/iframe&gt;
&lt;/div&gt;
&lt;p class="video-fallback"&gt;&lt;a href="https://www.youtube.com/watch?v=MdYKEwuWR4U" target="_blank" rel="noopener"&gt;▶ Watch on YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h3 id="slides"&gt;Slides&lt;/h3&gt;
&lt;p&gt;Slides for my talk can be found &lt;a href="slides.pdf"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>ZIO Actors</title><link>https://www.softinio.com/projects/zio-actors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.softinio.com/projects/zio-actors/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/projects/zio-actors/ZIO_hu_5e7abc2694463537.webp 780w, https://www.softinio.com/projects/zio-actors/ZIO_hu_1e40d5b6867f0de5.webp 1560w"
 sizes="(max-width: 830px) calc(100vw - 3rem), 780px"
 type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/projects/zio-actors/ZIO_hu_7fb8c61bcaacc43c.png"
 alt="Scala News"
 width="780" height="318"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;ZIO Actors is a high-performance, purely functional library for building, composing, and supervising typed actors based on ZIO using Scala.&lt;/p&gt;
&lt;p&gt;Original creator of this project, though I do not maintain it anymore.&lt;/p&gt;
&lt;h2 id="my-blog-post-and-talk-about-zio-actors"&gt;My blog post and Talk about ZIO Actors&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.softinio.com/talks/acting-lessons-for-scala-engineers-with-akka-and-zio/"&gt;see here&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="links"&gt;Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Repository: &lt;a href="https://github.com/zio/zio-actors"&gt;https://github.com/zio/zio-actors&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;README: &lt;a href="https://github.com/zio/zio-actors/blob/master/README.md"&gt;https://github.com/zio/zio-actors/blob/master/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://zio.dev/zio-actors/"&gt;https://zio.dev/zio-actors/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Introduction to Zio Actors</title><link>https://www.softinio.com/post/introduction-to-zio-actors/</link><pubDate>Sun, 01 Nov 2020 14:14:21 -0800</pubDate><guid>https://www.softinio.com/post/introduction-to-zio-actors/</guid><description>&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/post/introduction-to-zio-actors/ZIO_hu_5e7abc2694463537.webp 780w, https://www.softinio.com/post/introduction-to-zio-actors/ZIO_hu_1e40d5b6867f0de5.webp 1560w"
 sizes="(max-width: 830px) calc(100vw - 3rem), 780px"
 type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/post/introduction-to-zio-actors/ZIO_hu_7fb8c61bcaacc43c.png"
 alt="ZIO"
 width="780" height="318"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;In this post I am going to do a quick introduction to using the &lt;a href="https://zio.github.io/zio-actors/"&gt;ZIO Actors&lt;/a&gt;, a library that implements the Actor model using Scala and ZIO a library for asynchroneous and concurrent programming.&lt;/p&gt;
&lt;p&gt;Before reading this post it is recommended that you read my two earlier posts &lt;a href="https://www.softinio.com/post/introduction-to-the-actor-model/"&gt;Introduction to the Actor Model&lt;/a&gt; and &lt;a href="https://www.softinio.com/post/introduction-to-akka-typed-using-scala/"&gt;Introduction to Akka Typed Using Scala&lt;/a&gt; as I have assumed the reader will be familiar with the concepts discussed in those posts. Some basic knowledge of &lt;a href="https://zio.dev"&gt;ZIO&lt;/a&gt; is assumed.&lt;/p&gt;</description></item><item><title>Introduction to Akka Typed Using Scala</title><link>https://www.softinio.com/post/introduction-to-akka-typed-using-scala/</link><pubDate>Sat, 24 Oct 2020 20:32:41 -0700</pubDate><guid>https://www.softinio.com/post/introduction-to-akka-typed-using-scala/</guid><description>&lt;p&gt;
 &lt;img src="https://www.softinio.com/post/introduction-to-akka-typed-using-scala/akka_logo.svg"
 alt="akka"
 loading="eager" fetchpriority="high" /&gt;
&lt;/p&gt;
&lt;p&gt;In this post I am going to do a quick introduction to using the Akka Typed toolkit that implements the Actor model using Scala. As part of this post I will be developing a simple application using Akka. My goal is to highlight what its like to develop applications using Akka and how to get started with it. I will be following up this post with more posts diving into Akka in more details and exploring more of its features and patterns you can use to solve concurrent and distributed applications.&lt;/p&gt;</description></item><item><title>Scale By The Bay 2018 San Francisco</title><link>https://www.softinio.com/post/scale-by-the-bay-2018-san-francisco/</link><pubDate>Thu, 02 May 2019 18:30:40 -0700</pubDate><guid>https://www.softinio.com/post/scale-by-the-bay-2018-san-francisco/</guid><description>&lt;p&gt;One of the highlights of 2018 was attending and being part of the Scale By the bay 2018 conference in San Francisco. This by far was the best conference I have ever attended.&lt;/p&gt;
&lt;p&gt;

 &lt;picture&gt;
 &lt;source srcset="https://www.softinio.com/post/scale-by-the-bay-2018-san-francisco/scalebythebay_2018_header_hu_e053b36e60fe72df.webp 780w, https://www.softinio.com/post/scale-by-the-bay-2018-san-francisco/scalebythebay_2018_header_hu_861eb0c463e11226.webp 1560w"
 sizes="(max-width: 830px) calc(100vw - 3rem), 780px"
 type="image/webp" /&gt;
 &lt;img src="https://www.softinio.com/post/scale-by-the-bay-2018-san-francisco/scalebythebay_2018_header_hu_2a8998d54da42144.jpg"
 alt="Scale By the Bay 2018"
 width="780" height="780"
 loading="eager" fetchpriority="high" /&gt;
 &lt;/picture&gt;
&lt;/p&gt;
&lt;p&gt;from left: &lt;a href="https://twitter.com/dickwall"&gt;Dick Wall&lt;/a&gt;, &lt;a href="https://twitter.com/SalarRahmanian"&gt;Salar Rahmanian&lt;/a&gt;, &lt;a href="https://twitter.com/odersky"&gt;Martin Odersky (Creator of Scala)&lt;/a&gt;, &lt;a href="https://twitter.com/ChiefScientist"&gt;Alexy Khrabrov&lt;/a&gt;, &lt;a href="https://twitter.com/jodersky"&gt;Jakob Odersky &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The conference had 3 tracks covering the functional programming, reactive programming and data science topics. All the talks were of high quality made even better by highly intelligent audience made up of the most talented stars of our industry.&lt;/p&gt;</description></item></channel></rss>