<?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: Chandrashekar SK</title>
    <description>The latest articles on DEV Community by Chandrashekar SK (@chandruchiku).</description>
    <link>https://dev.to/chandruchiku</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%2F819021%2Fc5b6fdc8-c2aa-47e3-9943-50d8cee34ce1.png</url>
      <title>DEV Community: Chandrashekar SK</title>
      <link>https://dev.to/chandruchiku</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chandruchiku"/>
    <language>en</language>
    <item>
      <title>How .NET can beat Go with Orleans Grains in Performance?</title>
      <dc:creator>Chandrashekar SK</dc:creator>
      <pubDate>Tue, 25 Feb 2025 08:46:16 +0000</pubDate>
      <link>https://dev.to/chandruchiku/how-net-can-beat-go-with-orleans-grains-in-performance-55mh</link>
      <guid>https://dev.to/chandruchiku/how-net-can-beat-go-with-orleans-grains-in-performance-55mh</guid>
      <description>&lt;h2&gt;
  
  
  A brief history:
&lt;/h2&gt;

&lt;p&gt;Recently I came across different teams using Go Lang in my organization. Being hardcode fan of OOPS languages (.NET to be precise) I wanted to give it a Go. So went ahead and grabbed a course on Udemy and completed it. For anyone coming from strong OOPS background Go feels out of place with its functional programming pattern not so much when used to Javascript and React.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why learn go?
&lt;/h2&gt;

&lt;p&gt;However, since everyone advocating Go's strong points being when it comes to building high-performing, scalable applications due to its efficient handling of concurrency with goroutines and its lightweight compiled binaries.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Goroutine is a lightweight thread managed by the Go runtime, is inexpensive and less memory consuming compared to traditional threads. This allows developers to run thousands of concurrent goroutines, making Golang a compelling choice for systems that require high levels of concurrent processing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When I read what Goroutine does, my thoughts were like "wait a minute, I know this one". Immediately I thought of Akka framework and Actor Model. I have built concurrent and scalable systems on Akka.NET and its benefits are for another post.  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Akka is a framework for building scalable, fault-tolerant, and concurrent applications. It's based on the Actor model, which uses messages to solve concurrency issues. Akka is written in Scala, but it also has a Java API, also has a .NET version.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now with that in mind, similar implementation of Akka.NET is the Microsoft Orleans. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Orleans is a framework for building cloud-native apps and should be considered whenever you're building .NET apps that would eventually need to scale. There are seemingly endless ways to use Orleans, but the following are some of the most common ways; Gaming, Banking, Chat apps, GPS tracking, Stock trading, Shopping carts, Voting apps, and more. Orleans is used by Microsoft in Azure, Xbox, Skype, Halo, PlayFab, Gears of War, and many other internal services. Orleans has many features that make it easy to use for a variety of applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Source: &lt;a href="https://learn.microsoft.com/en-us/dotnet/orleans/overview#what-can-i-do-with-orleans" rel="noopener noreferrer"&gt;Microsoft Orleans&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, I cannot stress enough the features Microsoft Orleans offers. You can explore more about Orleans on the links. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Concurrency built-in&lt;/li&gt;
&lt;li&gt;Scalable: Single server to thousands of distributed servers&lt;/li&gt;
&lt;li&gt;Distributed by nature: beyond hardware boundaries using peer-to-peer communication&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How does this fare against Go?
&lt;/h2&gt;

&lt;p&gt;With its strong performance factors, available developer pool, available libraries and now with concurrency handled with Orleans .NET is a clear winner in terms what to choose as your next development framework. &lt;/p&gt;

&lt;p&gt;With that being said, I would not hesitate to learn, and use Go just to be in the learning path and be competitive with the younger folks. &lt;/p&gt;

</description>
      <category>go</category>
      <category>dotnet</category>
      <category>concurrency</category>
      <category>orleans</category>
    </item>
    <item>
      <title>Create Convincing UX mockups using PowerPoint!</title>
      <dc:creator>Chandrashekar SK</dc:creator>
      <pubDate>Fri, 05 Jul 2024 05:17:35 +0000</pubDate>
      <link>https://dev.to/chandruchiku/eye-catching-ux-mockups-using-powerpoint-544a</link>
      <guid>https://dev.to/chandruchiku/eye-catching-ux-mockups-using-powerpoint-544a</guid>
      <description>&lt;p&gt;Ever wondered if there was just a tool for everything. Indeed, there is one, Microsoft PowerPoint. One tool for all your needs.&lt;/p&gt;

&lt;p&gt;Imagine you are a product manager or team lead who wants to showcase a new idea or a UX wireframe to the team. Of course, if you have had completed a course in Figma or Adobe XD, it would be walk in the park. Otherwise, it would be plain old tools like draw.io, Visio etc. And they look like this. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjg7qs1vgsgixpgmmolqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjg7qs1vgsgixpgmmolqd.png" alt="Image description" width="715" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What if you could just leverage your existing skills and spend one time effort to create a common set of UX Components in PowerPoint and use them for your UX wireframe and prototyping and make your UX look way better to present and add some extra wow factor? And transform the same wireframe to this.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1pwqxohu0u6mx8fh5pb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc1pwqxohu0u6mx8fh5pb.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I understand that Figma/Adobe XD have their advantages and use cases which are beyond the scope of this article. What we are trying to do is just use existing PPT skills to create quick UX mockups without even talking to your UX team. For example, you are a small team and don't want to spend on expensive license or your UX person is on leave, and you urgently need a mockup. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's get started:&lt;/strong&gt;&lt;br&gt;
Our first step is to create a PowerPoint slide with the commonly used components (like button, text, slider, toggle), and couple of other slides as templates. Subsequently we can copy paste them to modify into mockup screens. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fawe3knraal6fypk9oyi5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fawe3knraal6fypk9oyi5.png" alt="Image description" width="800" height="561"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By the way PowerPoint has tons of vector icons to use for free. &lt;/p&gt;

&lt;p&gt;A sample UX created in PowerPoint&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fekt0xwijo8oxydsytnq9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fekt0xwijo8oxydsytnq9.png" alt="Image description" width="800" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With those components ready and in place, next is just your idea and creativity to keep created UX mocks, wireframes and prototypes. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpmhu7jyivnbfwvm685h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpmhu7jyivnbfwvm685h.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have a sample PowerPoint slide created with some basic components available at this GitHub Location: &lt;/p&gt;

&lt;p&gt;You can download and get an idea. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convert to prototype&lt;/strong&gt;&lt;br&gt;
Now that we have the UX wireframes ready, why not make a working prototype. To achieve this, right click on button, navbar or links and add hyperlinks, finally select the destination slide you want the navigation to take you to.&lt;/p&gt;

&lt;p&gt;Once all these steps are done, hit F5 to go to slideshow, present your working UX prototype with button clicks taking you to actual screens. How cool is that?&lt;/p&gt;

</description>
      <category>mockup</category>
      <category>powerpoint</category>
      <category>ux</category>
      <category>uxdesign</category>
    </item>
    <item>
      <title>How I created a unique PPT for "Load Testing" KT!</title>
      <dc:creator>Chandrashekar SK</dc:creator>
      <pubDate>Tue, 02 Jul 2024 10:53:04 +0000</pubDate>
      <link>https://dev.to/chandruchiku/how-i-created-a-unique-ppt-for-load-testing-3lcb</link>
      <guid>https://dev.to/chandruchiku/how-i-created-a-unique-ppt-for-load-testing-3lcb</guid>
      <description>&lt;p&gt;We all love to create great, eye catching PPTs don't we? So, there was a scenario during last year where we needed to share knowledge within the team on what we know and could add value to the team. &lt;/p&gt;

&lt;p&gt;I am being good at drawing thought, "Let me put my artist skills (whatever level it is) to good use". I was to present a PPT on "Load Testing" to let the team and juniors understand why it is needed. With the topic and content now ready, I had to select/create a PPT template to present. I thought let me create a theme where it will be unique and keep audience attentive. &lt;/p&gt;

&lt;p&gt;I decided to create a theme of colony of ants for load testing. Each slide being able to explain with illustrations of ants representing the content of the slide. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools&lt;/strong&gt; : Microsoft Powerpoint, XP Pen Deco Mini7 for drawing.&lt;/p&gt;

&lt;p&gt;Here is how it turned out. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fisj1fpcveo0eykqqs67r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fisj1fpcveo0eykqqs67r.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsug4tr0l5yd3ko64nxpp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsug4tr0l5yd3ko64nxpp.png" alt="Image description" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpf13a2rlotvbx28twjr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnpf13a2rlotvbx28twjr.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa53z883mvm1fddcmuqbm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa53z883mvm1fddcmuqbm.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm47zati81ocvf72j7j2z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm47zati81ocvf72j7j2z.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With these slides, I was able to keep audience engaged and attentive rather than using plain old readily available templates on PowerPoint.&lt;/p&gt;

&lt;p&gt;Hope this inspires somebody to create such more unique creative illustrations. &lt;/p&gt;

</description>
      <category>loadtesting</category>
      <category>ppt</category>
      <category>presentation</category>
      <category>creative</category>
    </item>
    <item>
      <title>Using WSL2 as primary driver for 3 months with Fedora</title>
      <dc:creator>Chandrashekar SK</dc:creator>
      <pubDate>Tue, 28 May 2024 06:12:39 +0000</pubDate>
      <link>https://dev.to/chandruchiku/using-wsl2-as-primary-driver-for-3-months-with-fedora-4f17</link>
      <guid>https://dev.to/chandruchiku/using-wsl2-as-primary-driver-for-3-months-with-fedora-4f17</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;It all started when I stumbled upon an article about Windows Subsystem for Linux being released and is fun. I wanted to give it a try and I installed Ubuntu 18.04 and started using it on and off. I immediately fell in love with the way it works. After that I had to get OS reinstalled for some reason and left at it. Couple of months later, I wanted to give it a try again but Fedora this time. Whey Fedora? you may ask. Since most time we use Red hat, Amazon Linux in our deployments I wanted to have familiar commands and add to that we all know Fedora is cutting edge latest. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fedora Article:&lt;/strong&gt; &lt;a href="https://dev.to/bowmanjd/install-fedora-on-windows-subsystem-for-linux-wsl-4b26"&gt;Install Fedora On WSL&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I followed the steps and bam. Fedora 39 running on my Windows 11 like native OS. I could access files directly using File Explorer. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4m03k5btv4cviu7rgyxs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4m03k5btv4cviu7rgyxs.png" alt="Image description" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I quickly installed npm, .NET, git and started using it as daily driver. However, when I go home the WSL would lose internet connection. I found out I needed to edit &lt;code&gt;/etc/resolv.conf&lt;/code&gt; and add nameservers of my organization and Google DNS. &lt;/p&gt;

&lt;p&gt;Git commit and sync took quick 1 to 3 to seconds that used to take 5 to 10 seconds on the Windows machine. &lt;code&gt;npm install&lt;/code&gt; was way faster than what Windows used to take. It was like getting an upgraded machine without any money spent. &lt;/p&gt;

&lt;h4&gt;
  
  
  Pros
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Windows-Linux interoperability&lt;/strong&gt;: Most organizations use Windows for mail, teams and are easier to maintain with AD connectivity and windows updates. Linux running natively on Windows is a boon.&lt;/li&gt;
&lt;li&gt;Linux file system being generally faster improves performance by 10 to 30%&lt;/li&gt;
&lt;li&gt;Familiar commands during dev and prod deployments. &lt;/li&gt;
&lt;li&gt;Windows ports are forwarded automatically to Linux Processes.&lt;/li&gt;
&lt;li&gt;Windows can still scan the Linux folders for vulnerabilities&lt;/li&gt;
&lt;li&gt;I can run docker/podman (we all know Docker Desktop needs a license to run on Windows)&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Cons:
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;The only issue I am facing right now is that the longer I use, feels the WSL is slowing down. &lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>wsl</category>
      <category>wsl2</category>
      <category>fedora</category>
    </item>
  </channel>
</rss>
