<?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>Forem: Shan Valiyev</title>
    <description>The latest articles on Forem by Shan Valiyev (@shanvaliyev).</description>
    <link>https://forem.com/shanvaliyev</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%2F1089074%2F01161de7-b1a6-4345-88d1-71df3bfeabf5.jpeg</url>
      <title>Forem: Shan Valiyev</title>
      <link>https://forem.com/shanvaliyev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/shanvaliyev"/>
    <language>en</language>
    <item>
      <title>Flask vulnerablities</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Thu, 17 Aug 2023 10:24:44 +0000</pubDate>
      <link>https://forem.com/shanvaliyev/flask-vulnerablities-3cgm</link>
      <guid>https://forem.com/shanvaliyev/flask-vulnerablities-3cgm</guid>
      <description>&lt;p&gt;Check out my repo for testing flask vulnerabilities&lt;/p&gt;

&lt;p&gt;kdta.io/oPAGA&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Navigating the Tech Stack Maze for Your SaaS Startup</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Fri, 30 Jun 2023 00:57:50 +0000</pubDate>
      <link>https://forem.com/shanvaliyev/navigating-the-tech-stack-maze-for-your-saas-startup-11ha</link>
      <guid>https://forem.com/shanvaliyev/navigating-the-tech-stack-maze-for-your-saas-startup-11ha</guid>
      <description>&lt;p&gt;Originally posted on my freshly opened &lt;a href="https://twitter.com/iamshanvy"&gt;twitter&lt;/a&gt;, follow me!&lt;/p&gt;

&lt;p&gt;Starting your own SaaS product is an enticing route for generating additional income, which could potentially become your primary revenue stream. However, as software developers, we often find ourselves drawn towards learning new technologies. We tend to incorporate this new tech stack into our upcoming SaaS projects. Sound familiar? If so, be cautious because this approach might set a trap for you.&lt;/p&gt;

&lt;p&gt;Don't get me wrong. If your main goal is to learn a new tech stack and the idea for your SaaS product was primarily to fulfill this curiosity, then go right ahead. However, if your primary objective is to earn revenue or monetize the project, then it's crucial to control the eagerness to experiment with the latest shiny thing in tech.&lt;/p&gt;

&lt;p&gt;The smart approach would be to utilize a tech stack that enables you to launch a Minimum Viable Product (MVP) as swiftly as possible. Creating even a basic product to validate is invaluable. Your idea might be unworkable, or it might be good but heading in the wrong direction. The sooner you can gather feedback, the better. You don't want to find yourself wasting significant time on a project that was destined to fail from the start.&lt;/p&gt;

&lt;p&gt;So, which tech stack should you choose in such a situation? If your idea can be realized via #nocode tools, then that's your best bet. With these tools, you can build and iterate quickly, validating your idea before you dive deep into technology and start building something more scalable. In my experience, @bubble serves as an excellent tool for this purpose.&lt;/p&gt;

&lt;p&gt;However, nocode is not always the solution. While I appreciate anything that boosts my productivity, I often find it quicker to code the solution myself, at least for my own ideas. Even then, it's important to stick to the known tech stack.&lt;/p&gt;

&lt;p&gt;But coding from scratch? Not everything, certainly. The core functionality of the product, sure, but the common functionalities surrounding a typical SaaS product can be time-consuming and quickly become monotonous. To solve this, project/SaaS boilerplates or starters are excellent tools.&lt;/p&gt;

&lt;p&gt;In my case, I am quite comfortable with TypeScript and its accompanying frameworks/tools, be it React, Node, or Next.js. I firmly believe that using the same programming language for both frontend and backend is optimal for productivity.&lt;/p&gt;

&lt;p&gt;Regardless of your preferences, find a starter kit based on a familiar tech stack to accelerate your building process. A simple Google search should provide ample options. However, feel free to reach out if you need any recommendations.&lt;/p&gt;

&lt;p&gt;In conclusion, choosing the right tech stack for your SaaS startup is crucial. Balance your curiosity to learn new tech with the practicality of quickly validating and potentially monetizing your project.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>startup</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Learning Resources: Prisma</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Thu, 01 Jun 2023 12:52:37 +0000</pubDate>
      <link>https://forem.com/krunchdata/learning-resources-prisma-4d3k</link>
      <guid>https://forem.com/krunchdata/learning-resources-prisma-4d3k</guid>
      <description>&lt;h2&gt;
  
  
  Preface
&lt;/h2&gt;

&lt;p&gt;Have you ever gone on a “Google search” session only to discover that the results are primarily third-party information that may or may not be accurate? I certainly did, therefore we at Krunch decided to create these series exposing some lesser-known official resources for different technologies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Do not confuse my Google skills with yours."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I get it, Google searching is a skill in itself, you might be able to find the information that you want easily, however, I would still be happy to shed some exposure on the official content with short from blogs, leave a comment and let's have a discussion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prisma - Next-Generation Database ORM
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0HyNDUjY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u9ri8iiyaqa4id7zn7j1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0HyNDUjY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u9ri8iiyaqa4id7zn7j1.png" alt="prisma meme" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Introduced in 2018, Prisma is an open-source database ORM (Object-Relational Mapping) which is transforming how developers interact with databases. Prisma assists in building efficient, reliable and scalable applications by serving as the data layer between your application and your database. Prisma is easy to use ORM with lots of available resources to learn from. Although SDKs are available for different languages, I have noticed usage mostly in Typescript scene.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prisma Official Blog
&lt;/h3&gt;

&lt;p&gt;Prisma offers comprehensive &lt;a href="https://www.prisma.io/docs"&gt;official documentation&lt;/a&gt; that's tailored to your development environment. The documentation delivers a high-level overview of the system's design, integration patterns, and step-by-step guides on developing with their technology. Additionally, Prisma keeps a dynamic blog to delve deeper into Prisma's applications. For instance, this blog discussing &lt;a href="https://kdta.io/gbrFU"&gt;database challenges in serverless environments&lt;/a&gt;, while this blog introduces &lt;a href="https://kdta.io/3GewG"&gt;best practices to increase performance of serverless applications&lt;/a&gt; or &lt;a href="https://kdta.io/NwQv7"&gt;this&lt;/a&gt; blog that covers topic of cold starts in serverless with Prisma. There are other types of blogs, for example &lt;a href="https://kdta.io/fIPlC"&gt;this blog&lt;/a&gt; shows how companies use Prisma with real example, or another example is &lt;a href="https://kdta.io/AZZ86"&gt;the new feature preview&lt;/a&gt; guides format of blogs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prisma Youtube Channel
&lt;/h3&gt;

&lt;p&gt;Prisma maintains an active Youtube channel where they share tutorials, announcements, and deep dives into their technology. Prisma organizes and sponsor a number of meetups and share the recordings on the channel too. For example following video goes over full stack typesafety in remix applications:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/nbnYzhMPmrM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;This video shows the release updates in a very interactive format:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/JvLTpSINZdA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Prisma Community
&lt;/h3&gt;

&lt;p&gt;Prisma fosters a supportive &lt;a href="https://www.prisma.io/community"&gt;community&lt;/a&gt; comprising a forum and a Slack workspace. The community is really large, with many support channels available.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;Prisma Documentation - &lt;a href="https://www.prisma.io/docs"&gt;https://www.prisma.io/docs&lt;/a&gt;&lt;br&gt;
Prisma Blog - &lt;a href="https://www.prisma.io/blog"&gt;https://www.prisma.io/blog&lt;/a&gt;&lt;br&gt;
Prisma Youtube Channel - &lt;a href="https://www.youtube.com/@PrismaData"&gt;https://www.youtube.com/@PrismaData&lt;/a&gt;&lt;br&gt;
Prisma Community - &lt;a href="https://www.prisma.io/community"&gt;https://www.prisma.io/community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kdta.io/xkInl"&gt;&lt;em&gt;From Krunch Team&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>Learning Resources: Supabase</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Thu, 01 Jun 2023 06:29:02 +0000</pubDate>
      <link>https://forem.com/krunchdata/learning-resources-supabase-187g</link>
      <guid>https://forem.com/krunchdata/learning-resources-supabase-187g</guid>
      <description>&lt;h2&gt;
  
  
  Preface
&lt;/h2&gt;

&lt;p&gt;Have you ever gone on a “Google search” session only to discover that the results are primarily third-party information that may or may not be accurate? I certainly did, therefore we at Krunch decided to create these series exposing some lesser-known official resources for different technologies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Do not confuse my Google skills with yours."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I get it, Google searching is a skill in itself, you might be able to find the information that you want easily, however, I would still be happy to shed some exposure on the official content with short from blogs, leave a comment and let's have a discussion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Supabase - The Open Source Firebase Alternative
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oVhq5_XT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0mlqctvloxwqoh1benl8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oVhq5_XT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0mlqctvloxwqoh1benl8.png" alt="supabase meme" width="800" height="574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Supabase, a relatively new name in the tech world, was founded in 2020. Supabase provides an open source Firebase alternative, aiming to give developers the ease and flexibility to build serverless applications without having to manage the infrastructure. It offers a suite of features including database, authentication, storage, and serverless functions that integrate easily with your app. A major plus point is its PostgreSQL database, which ensures high performance and advanced functionalities. Essentially it makes development of the full stack applications easier by managing infrastructure, similar to Firebase offering from Google.&lt;/p&gt;

&lt;h3&gt;
  
  
  Supabase Official Blog
&lt;/h3&gt;

&lt;p&gt;Supabase provides a comprehensive &lt;a href="https://supabase.com/docs/guides/getting-started"&gt;official documentation&lt;/a&gt;, detailing how you can utilize their services according to your specific developer environment. This documentation includes an overview of the system's design and various integration patterns, while also offering guides on how to develop with their SDK in multiple programming languages. Additionally, Supabase maintains an active blog where they discuss updates, feature launches, and tutorial guides. For instance, check out this &lt;a href="https://kdta.io/Czlt7"&gt;guide on creating mfa authentication with flutter&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Supabase Youtube Channel
&lt;/h3&gt;

&lt;p&gt;Supabase also has a Youtube channel where they share updates, tutorials, and event videos. The following introductory video, for instance, explains how Supabase could be used to implement authentication and authorization in Nextjs application:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/KmJN-bEayeY"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;And following video showcases the deployment of Supabase edge functions through Github Actions:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/l2KlzGrhB6w"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Supabase Community
&lt;/h3&gt;

&lt;p&gt;Supabase has also a very active community on &lt;a href="https://github.com/supabase-community"&gt;Github&lt;/a&gt; and contributions to the open source. Additionally, Supabase has &lt;a href="https://www.reddit.com/r/Supabase/"&gt;subreddit&lt;/a&gt; and &lt;a href="https://discord.supabase.com"&gt;discord&lt;/a&gt; to interact with the community even further.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;Supabase Documentation - &lt;a href="https://supabase.com/docs"&gt;https://supabase.com/docs&lt;/a&gt;&lt;br&gt;
Supabase Blog - &lt;a href="https://supabase.com/blog"&gt;https://supabase.com/blog&lt;/a&gt;&lt;br&gt;
Supabase Youtube Channel - &lt;a href="https://www.youtube.com/@Supabase"&gt;https://www.youtube.com/@Supabase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kdta.io/UnXSY"&gt;&lt;em&gt;From Krunch Team&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Warp? A terminal behind login popup</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Wed, 31 May 2023 17:37:23 +0000</pubDate>
      <link>https://forem.com/krunchdata/warp-a-terminal-behind-login-popup-5284</link>
      <guid>https://forem.com/krunchdata/warp-a-terminal-behind-login-popup-5284</guid>
      <description>&lt;p&gt;My journey of using terminal emulators began together with my introduction to Linux about 7 years ago. GNOME terminal was my first as it came pre-installed on Ubuntu, my first Linux distribution. Since then, I've had the opportunity to explore and utilize a range of terminal emulators, including &lt;a href="https://github.com/alacritty/alacritty" rel="noopener noreferrer"&gt;Alacritty&lt;/a&gt;, &lt;a href="https://github.com/kovidgoyal/kitty" rel="noopener noreferrer"&gt;Kitty&lt;/a&gt;, &lt;a href="https://st.suckless.org/" rel="noopener noreferrer"&gt;st&lt;/a&gt;, &lt;a href="https://konsole.kde.org/" rel="noopener noreferrer"&gt;Konsole&lt;/a&gt;, &lt;a href="https://invisible-island.net/xterm/xterm.html" rel="noopener noreferrer"&gt;xterm&lt;/a&gt;, and most recently &lt;a href="https://iterm2.com/" rel="noopener noreferrer"&gt;iTerm2&lt;/a&gt;. It's been interesting to experiment with these different emulators, each offering its unique features (or similar however with each with personal touch), user interfaces, and performance benchmarks. Just the other day, a new terminal emulator caught my attention: &lt;a href="https://www.warp.dev/" rel="noopener noreferrer"&gt;Warp Terminal&lt;/a&gt;. My curiosity won, and Warp was downloaded, this short blog are my thoughts about Warp terminal. At the moment there is only support for macOS, however linux and windows builds are on the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Login into terminal?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flt9nag8daud231b7iucd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flt9nag8daud231b7iucd.png" alt="Warp Terminal"&gt;&lt;/a&gt;&lt;br&gt;
This is what you are presented with once you download and install warp. Sign Up popup? For terminal? what?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l3q2K5jinAlChoCLS/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l3q2K5jinAlChoCLS/giphy.gif" alt="what gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's definitely new, let's check common questions, there is probably a reason it's there. &lt;/p&gt;

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

&lt;p&gt;And as expected, the top question is "Why is sign in required?", it leads to the &lt;a href="https://docs.warp.dev/getting-started/privacy#login-is-still-required-why" rel="noopener noreferrer"&gt;docs page&lt;/a&gt; basically stating following:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The primary reason is that login allows us to build cloud-oriented features that make the terminal have a concept of “your stuff” and “your team’s stuff” – for example &lt;a href="https://docs.warp.dev/features/blocks/block-sharing" rel="noopener noreferrer"&gt;Block Sharing&lt;/a&gt;. This is the same reason other collaborative apps like Figma and Github require login – identity is the basis of building cloud-native apps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It begins to coalesce; Warp is essentially a terminal emulator "as a service", providing cloud-based and collaborative features. I would argue that it should allowed to use Warp without sign in requirement until user opts to use one of the cloud related features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fair Review
&lt;/h2&gt;

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

&lt;p&gt;After rather quick sign up process, we see the first screen. Initial impression is good, clean UI, it picked up my shell correctly, it seems that the prompt is overridden, &lt;a href="https://starship.rs/" rel="noopener noreferrer"&gt;Starship&lt;/a&gt; is a prompt of my choice and warp seems to have it's own configuration. Let's check if we are able to configure it. Following hints on the screen, and typing prompt into command palette, there is a setting to use user's own prompt config.&lt;/p&gt;

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

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

&lt;p&gt;Much better.&lt;/p&gt;

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

&lt;p&gt;Warp has an interesting idea where each command execution is separated into blocks. There is ability to easily navigate around blocks, copy the commands and outputs, and create bookmarks on each block to navigate even more quicker. I personally like the idea, and see myself using it during long session of tackling infrastructure related work. There might be similar features in other terminals, however I like the way it is presented in Warp.&lt;/p&gt;

&lt;p&gt;Performance wise, it feels fast, at least as fast as what I have now. Warp is based on Rust btw, which probably explains good performance. I am all in for Rust in desktop applications and I am very glad it is not Electron based.&lt;/p&gt;

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

&lt;p&gt;Pressing tab for autocompletion brings up the screen of available commands and their description, similar to lsp UIs in code editors/IDEs. Although it introduces some visual clutter, the feature carries a "modern" feel and displays innovation, there is certainly demand out there.&lt;/p&gt;

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

&lt;p&gt;Warp introduces another feature worth mentioning: workflows. These are series of commands designed to accomplish specific tasks, and Warp offers an array of preconfigured workflows for users to explore.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI?
&lt;/h2&gt;

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

&lt;p&gt;The AI (LLM) is directly integrated into the terminal. While I am still in the exploratory phase of integrating AI tools into my development workflow, my initial impression of AI in Warp is satisfactory. After posing a series of questions, the responses received were quite accurate, though I would advise anyone to exercise caution and verify results prior to executing any commands, accuracy results may vary. A particularly convenient feature of Warp is its ability to insert commands directly into the terminal input. Despite a daily cap of 100 requests, I believe this is a generous offering, especially considering that the service is available at no cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Warp presents a refreshing and modern take on terminal emulators without any significant drawbacks. Two key factors that could influence my permanent switch to Warp are its modern UI and the fact that it is Rust-based. The UI feels modern without hurting the performance or affecting my existing workflow (It's still possible to navigate with keyboard and use desired multiplexer). There is a community surrounding Warp as well, creating valuable content such as &lt;a href="https://kdta.io/xbMZ5" rel="noopener noreferrer"&gt;this engaging video&lt;/a&gt; amongst other resources.&lt;/p&gt;

&lt;p&gt;While there is a little bit of controversy regarding Warp internet connection, I am curious to discover potential use cases that I am not aware of when it comes to collaboration. Given the emergence of similar cloud-oriented development tools such as &lt;a href="https://zed.dev/" rel="noopener noreferrer"&gt;Zed&lt;/a&gt; and &lt;a href="https://www.jetbrains.com/fleet/" rel="noopener noreferrer"&gt;Fleet&lt;/a&gt;, it appears that the industry is moving towards a greater emphasis on remote collaboration for good or bad. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://kdta.io/0fVdC" rel="noopener noreferrer"&gt;&lt;em&gt;From Krunch Team&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>rust</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Learning Resources: Temporal Technologies</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Fri, 26 May 2023 11:07:55 +0000</pubDate>
      <link>https://forem.com/krunchdata/learning-resources-temporal-technologies-1lb0</link>
      <guid>https://forem.com/krunchdata/learning-resources-temporal-technologies-1lb0</guid>
      <description>&lt;h2&gt;
  
  
  Preface
&lt;/h2&gt;

&lt;p&gt;Have you ever gone on a “Google search” session only to discover that the results are primarily third-party information that may or may not be accurate? I certainly did, therefore we at Krunch decided to create these series exposing some lesser-known official resources for different technologies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Do not confuse my Google skills with yours."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I get it, Google searching is a skill in itself, you might be able to find the information that you want easily, however, I would still be happy to shed some exposure on the official content with short from blogs, leave a comment and let's have a discussion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Temporal Technologies - Microservices Orchestration Platform
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zCu7pgJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5acis4zzqjw835xxhub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zCu7pgJP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5acis4zzqjw835xxhub.png" alt="microservices meme" width="500" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Temporal Technologies is a relatively new player in the field founded in 2019. Temporal provides a platform to simplify the process of developing and maintaining distributed software systems. Microservices running on kubernetes cluster or any other framework where system components are split into the smaller components with specific function heavily rely on the cross-component/service communication and certain database to keep services in sync. Temporal tries to solve that problem by leveraging orchestration engine to handle most of the complexities of "workflow" invocation. The founders originally were solving this problem for Uber in the form of &lt;a href="https://github.com/uber/cadence"&gt;cadence&lt;/a&gt; however, later left Uber to help developers further by working on Temporal that is based on the fork of cadence. There are similar tools like &lt;a href="https://conductor.netflix.com/"&gt;Netflix's Conductor&lt;/a&gt; however, Temporal expanded the engine and built an entire platform to simplify orchestration process even further. Essentially, Temporal helps with managing the workflows, improves developer experience and reduces the chances of failures. Check out their &lt;a href="https://temporal.io/how-temporal-works"&gt;"How it works" guide&lt;/a&gt; to learn more.&lt;/p&gt;

&lt;h3&gt;
  
  
  Temporal Technologies Official Blog
&lt;/h3&gt;

&lt;p&gt;Temporal provides &lt;a href="https://docs.temporal.io/"&gt;official documentation&lt;/a&gt; on how to use their services with your specific developer setting. Documentation covers both higher level design overview of the system and integration patterns while also providing guides on the development with their SDK for many programming languages. At the same time, Temporal maintains it's own blog to expand on the Temporal applications further, for example following introductory guide helps developers to start using &lt;a href="https://kdta.io/Ji3cc"&gt;Temporal SDK with typescript&lt;/a&gt; or following blog explains transactional pattern &lt;a href="https://kdta.io/HyuM6"&gt;Saga with Temporal&lt;/a&gt;.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Temporal Technologies Youtube Channel
&lt;/h3&gt;

&lt;p&gt;Temporal has a Youtube channel where they share more guides, explanations, news and announcements. For example, following video is a great introduction to Temporal, describing what is Temporal, project history and how it works:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/6T6zVZHU7_Q"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Following video series describes Temporal even further:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ohNzymi4hXA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/JpBNKuYMB10"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Or the next video describing on how to use Temporal's VSCode extension in order to debug workflows:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3IjQde9HMNY"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Lastly, Temporal publishes recording of community meetups which is a great way to gain insight on developer usage of Temporal, for example, following is the recording of the most recent meetup:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/i5mM4lJWZkM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Temporal Technologies Community
&lt;/h3&gt;

&lt;p&gt;Temporal has a great &lt;a href="https://temporal.io/community"&gt;community channels&lt;/a&gt; in the form of forum and slack. The communities could be leveraged as great way to jump start learning about the usage of Temporal services and ask help whenever trouble is encountered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;Temporal Documentation - &lt;a href="https://docs.temporal.io/"&gt;https://docs.temporal.io/&lt;/a&gt;&lt;br&gt;
Temporal Blog - &lt;a href="https://temporal.io/blog"&gt;https://temporal.io/blog&lt;/a&gt;&lt;br&gt;
Temporal Youtube Channel - &lt;a href="https://www.youtube.com/@Temporalio"&gt;https://www.youtube.com/@Temporalio&lt;/a&gt;&lt;br&gt;
Temporal Community - &lt;a href="https://temporal.io/community"&gt;https://temporal.io/community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kdta.io/Mq2oc"&gt;&lt;em&gt;From Krunch Team&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>microservices</category>
      <category>cloud</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Learning Resources: Digital Ocean</title>
      <dc:creator>Shan Valiyev</dc:creator>
      <pubDate>Fri, 26 May 2023 10:44:01 +0000</pubDate>
      <link>https://forem.com/krunchdata/learning-resources-digital-ocean-57hh</link>
      <guid>https://forem.com/krunchdata/learning-resources-digital-ocean-57hh</guid>
      <description>&lt;h2&gt;
  
  
  Preface
&lt;/h2&gt;

&lt;p&gt;Have you ever gone on a “Google search” session only to discover that the results are primarily third-party information that may or may not be accurate? I certainly did, therefore we at Krunch decided to create these series exposing some lesser-known official resources for different technologies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Do not confuse my Google skills with yours."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I get it, Google searching is a skill in itself, you might be able to find the information that you want easily, however, I would still be happy to shed some exposure on the official content with short from blogs, leave a comment and let's have a discussion.&lt;/p&gt;

&lt;h2&gt;
  
  
  Digital Ocean - "Simpler" Cloud Provider
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nU_espO0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iwkitqh3zu6mw6pmdr2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nU_espO0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iwkitqh3zu6mw6pmdr2a.png" alt="Cloud is someone else's computer" width="500" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digital Ocean is a cloud provider that makes it simpler to deploy your next SaaS, website or e-commerce application. Digital Ocean might not be as big as giants like AWS, Google Cloud or Azure, however, it still takes its own fair place in the top rankings when it comes to reliable cloud providers. Personally, I find Digital Ocean to have a more straightforward pricing and provide a better developer experience, especially if you are just starting out with the cloud. Digital Ocean provides a great user interface when it comes to the setting up infrastructure while also enabling ability to create resources via CLI and declarative configurations for more experienced users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Digital Ocean Community Tutorials
&lt;/h3&gt;

&lt;p&gt;Digital Ocean has a godsend documentation many of us are familiar with, not only they provide many detailed introductory tutorials for their services like this &lt;a href="https://kdta.io/loMIf"&gt;curriculum on getting started with cloud&lt;/a&gt;, but also certain guides on different technologies that are not related to digital ocean like this &lt;a href="https://kdta.io/G1JEi"&gt;guide&lt;/a&gt; on using &lt;code&gt;text/template&lt;/code&gt; in golang. However, what is not so know is their Youtube channel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Digital Ocean Youtube Channel
&lt;/h3&gt;

&lt;p&gt;Often overlooked, Digital Ocean's youtube channel is a great resource for learning cloud. They regularly post, tutorials, guides, news and conference talks which could teach you the cloud and showcase their products with a more interactive approach compared to official documentation. For example following video is a good beginner friendly &lt;a href="https://kdta.io/YM2SP"&gt;video tutorial on kubernetes&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/T4lp6wtS--4"&gt;
&lt;/iframe&gt;
     &lt;/p&gt;

&lt;p&gt;While providing excellent content for beginners Digital Ocean's videos have more advanced content too. On the same topic of kubernetes, &lt;a href="https://kdta.io/i6odG"&gt;following video&lt;/a&gt; showcases how to bootstrap kubernetes cluster with the integration of Terraform and Argo CD:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/p_4Qj3z6EDQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Of course there are much content than just kubernetes, for example if you are interested in "serverless" movement, the &lt;a href="https://kdta.io/Vgitk"&gt;video below&lt;/a&gt; showcases Digital Ocean's offerings in the sphere:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/MhavIhqTI6o"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;These are only few examples of the great tutorial videos provided by Digital Ocean, feel free to explore further.&lt;/p&gt;

&lt;h3&gt;
  
  
  Digital Ocean Community
&lt;/h3&gt;

&lt;p&gt;Special mention goes to Digital Ocean's Q&amp;amp;A forum where developers are free to ask any questions related to the services provided by them and more. Check out the link in resources section of this blog.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;Digital Ocean Community Tutorials - &lt;a href="https://www.digitalocean.com/community/tutorials"&gt;https://www.digitalocean.com/community/tutorials&lt;/a&gt;&lt;br&gt;
Digital Ocean Youtube Channel - &lt;a href="https://www.youtube.com/@DigitalOcean"&gt;https://www.youtube.com/@DigitalOcean&lt;/a&gt;&lt;br&gt;
Digital Ocean Q&amp;amp;A - &lt;a href="https://www.digitalocean.com/community/questions"&gt;https://www.digitalocean.com/community/questions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kdta.io/urngR"&gt;&lt;em&gt;From Krunch Team&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cloud</category>
      <category>devops</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
