<?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: Lakshya</title>
    <description>The latest articles on DEV Community by Lakshya (@outoflaksh).</description>
    <link>https://dev.to/outoflaksh</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%2F780695%2F06015a1c-5bcf-49e4-af59-712f966343a5.jpeg</url>
      <title>DEV Community: Lakshya</title>
      <link>https://dev.to/outoflaksh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/outoflaksh"/>
    <language>en</language>
    <item>
      <title>What API's Are About by Postman</title>
      <dc:creator>Lakshya</dc:creator>
      <pubDate>Mon, 27 Jun 2022 10:22:51 +0000</pubDate>
      <link>https://dev.to/outoflaksh/what-apis-are-about-by-postman-ddj</link>
      <guid>https://dev.to/outoflaksh/what-apis-are-about-by-postman-ddj</guid>
      <description>&lt;p&gt;A few days ago I attended Postman's API 101 Workshop. This is an industry talk that the folks at Postman deliver at universities as part of their Student Program. And here's all that I learned:&lt;/p&gt;

&lt;p&gt;First of all, Postman itself is not an API, as some of my classmates mistook it as, instead Postman is an application that is used to &lt;em&gt;build&lt;/em&gt; APIs.&lt;/p&gt;

&lt;p&gt;API stands for &lt;strong&gt;Application Programming Interface&lt;/strong&gt;. That may not make much sense so let's leave it aside for now. We'll get back to that later.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Modern-day Application
&lt;/h2&gt;

&lt;p&gt;For now, let's look at a typical modern day web application. There are broadly two sides to it. The first is the thing we, as users, see. The webpages, the graphical interface with all the pretty buttons and illustrations, and all the fancy animations. This is called the &lt;em&gt;front-end&lt;/em&gt; of your website. This is where you would provide any inputs and be able to view the output.&lt;/p&gt;

&lt;p&gt;Now, the existence of this &lt;em&gt;front&lt;/em&gt;-end implies that there must also exist a &lt;em&gt;back&lt;/em&gt;-end. And it does!&lt;/p&gt;

&lt;p&gt;The back-end of any app is the actual logic and the code that makes it behave like it's supposed to. All the heavy lifting behind the scenes that you, as a user of that app, might not see is happening here. Hence, the term back-end. This is where the inputs from the front-end are processed and an output is sent back to be displayed.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's like going to a restaurant!
&lt;/h2&gt;

&lt;p&gt;The expert at the workshop explains this with a brilliant analogy of a restaurant. When you go to a restaurant, the menu or the tables or the beautiful decor of the place is the front-end. But all the real work - cooking of the food - happens in the kitchen that you may not see. Hence, the kitchen is the back-end.&lt;/p&gt;

&lt;h2&gt;
  
  
  To APIs...
&lt;/h2&gt;

&lt;p&gt;So far so good. Now naturally there must also exist a way through which these two sides communicate. Because how else would the front-end take your inputs to the back-end for processing, or bring back the output so you can see it?&lt;/p&gt;

&lt;p&gt;At a restaurant, you yourself don't go to the kitchen and bring your order back from the chefs, right? That's what waiters are for! And that's exactly what APIs do too! &lt;/p&gt;

&lt;p&gt;Waiters take your order details and relay it to the kitchen so the chefs can cook it up. And when they're done, waiters bring back the delicious cooked food back to your table as requested by you. Much like how APIs collect your inputs from the front-end via a request and relay it to the back-end where the inputs get processed and certain output is returned back to you as a response!&lt;/p&gt;

&lt;h2&gt;
  
  
  Enough about restaurants, how does it work in real life?
&lt;/h2&gt;

&lt;p&gt;These requests and responses usually take place over HTTP in a real-world application. The front-end makes an &lt;em&gt;HTTP request&lt;/em&gt; with the inputs in its &lt;em&gt;request body&lt;/em&gt; at a certain &lt;em&gt;API endpoint&lt;/em&gt; and is returned an output in a form of an &lt;em&gt;HTTP response&lt;/em&gt; with a certain &lt;em&gt;response body&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;There are different kinds of HTTP requests that mean different things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The GET HTTP request method means that you want to receive some data.&lt;/li&gt;
&lt;li&gt;The POST HTTP method means that you also want to send some data.&lt;/li&gt;
&lt;li&gt;The PUT method means you want to update certain data.&lt;/li&gt;
&lt;li&gt;The DELETE method means you want to delete certain data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These four kinds of requests come together to make a CRUD based API. This kind of API architecture is commonly called a REST API and the API is said to be RESTful.&lt;/p&gt;

&lt;h2&gt;
  
  
  OK, but why API?
&lt;/h2&gt;

&lt;p&gt;There are literally thousands of APIs out there. A big advantage of using them is that you don't necessarily need to know the back-end logic yourself. As long as you know what data to input and what to expect in the output, you can totally use an API to do all the processing for you.&lt;/p&gt;

&lt;p&gt;Since these API provide almost like an interface over some abstract logic code, they are said to be a layer of abstraction. And the different endpoints provide an interface to interact with the real code. All the developer needs to know is how to interact with this interface.&lt;/p&gt;

&lt;p&gt;Hence the full form, i.e., Application Programming Interface. As they are nothing but an interface that can help you program your application by taking care of all the third-party logic.&lt;/p&gt;

&lt;p&gt;So that's about it. The instructor of the workshop made us do all of this hands-on using Postman on a dummy jokes API. And you can interact with it too here: &lt;a href="http://postman-student.herokuapp.com/joke/"&gt;http://postman-student.herokuapp.com/joke/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>postmanapi101</category>
    </item>
    <item>
      <title>Nutshell: Summarise your recorded online lectures in a few minutes!</title>
      <dc:creator>Lakshya</dc:creator>
      <pubDate>Thu, 07 Apr 2022 05:38:32 +0000</pubDate>
      <link>https://dev.to/outoflaksh/lectures-in-a-nutshell-2i6o</link>
      <guid>https://dev.to/outoflaksh/lectures-in-a-nutshell-2i6o</guid>
      <description>&lt;p&gt;&lt;em&gt;Note: This is my submission for the Deepgram x DEV hackathon.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Presenting... &lt;em&gt;Nutshell&lt;/em&gt; 💥
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;Nutshell allows students to quickly summarise their entire video lectures in just a few minutes. Whether it's for a quick revision, catching up on missed classes, or simply a reference for what happened, Nutshell helps students by providing them with the most important parts of the class without them having to watch a second of the recorded video.&lt;/p&gt;

&lt;p&gt;And the best part is that it's not just limited to online lectures. Anyone in need of summarising a video-based session can make use of Nutshell and get all the meat. Be it online conferences, meetings, presentations, seminars, or workshops, you just have to upload the recorded video with clear audio, and Nutshell takes care of the rest.&lt;/p&gt;

&lt;p&gt;Nutshell leverages state-of-the-art, open-source machine learning &amp;amp; deep learning technologies in order to go from the original video to its short summed-up version. This allows us to provide the user with a concise, accurate and reliable summary.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/outoflaksh/nutshell"&gt;https://github.com/outoflaksh/nutshell&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How was Deepgram 🎙️ used?
&lt;/h3&gt;

&lt;p&gt;The basic flow that Nutshell follows to accomplish its goals is as follows:&lt;br&gt;
Step 1. Convert the uploaded video into audio.&lt;br&gt;
Step 2. Transcribe the extracted audio.&lt;br&gt;
Step 3. Run a summarising algorithm on the received transcription. &lt;/p&gt;

&lt;p&gt;As is evident, Deepgram comes into play for the second and perhaps the most crucial step in the process, that is, to convert the lecture's audio into text.&lt;/p&gt;

&lt;h3&gt;
  
  
  📊 Results
&lt;/h3&gt;

&lt;p&gt;To see if it works, we (my friend and I) decided to submit &lt;a href="https://www.youtube.com/watch?v=eesqK59rhGA"&gt;this video&lt;/a&gt; to Nutshell. It's a roughly 9 minute long YouTube video explaining the concept of HTTP.&lt;/p&gt;

&lt;p&gt;Following was the retrieved summary:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When we mention the Http, that means we need to talk about how the web works, at least having a general idea. And if two computers want to communicate an exchange data, name lay the client and the server usually in form of a request response cycle, those two computers must speak both of them the Http communication protocol. Now before talking about the how and the why, you need to know three important things about the Http protocol. When the connection establishes the client sends a request called an Http message. And because the Http is a connection protocol, the client disconnects from the server waiting for the response. The information in the sections vary dependent on the http message, whether it is a request or a response. First, let's look at request http message. The header specify some information in rules, for example, the host, which is the address of the server to which we are sending the request, which is w w w dot my website dot corn. Let's talk now about a response http message. Also, our clients can send multiple http requests to the server. We've seen that the request response cycle works on the web via http messages. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Accessibility Advocates&lt;/p&gt;

&lt;h3&gt;
  
  
  Link to Code on GitHub ⚙️
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/outoflaksh/nutshell"&gt;https://github.com/outoflaksh/nutshell&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots ✨
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EB7Ownn2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtnqinibcrb7zi8knrjd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EB7Ownn2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtnqinibcrb7zi8knrjd.png" alt="Upload page" width="880" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Myhg92r---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rum5nxqp09klon4jg09v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Myhg92r---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rum5nxqp09klon4jg09v.png" alt="Summary page" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>hackwithdg</category>
      <category>python</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
