<?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: Vengat</title>
    <description>The latest articles on DEV Community by Vengat (@tagnev).</description>
    <link>https://dev.to/tagnev</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%2F476938%2F2b8a592d-4479-44f9-8f32-d153a15711fb.jpeg</url>
      <title>DEV Community: Vengat</title>
      <link>https://dev.to/tagnev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tagnev"/>
    <language>en</language>
    <item>
      <title>We Built Teckiypad to Fix What’s Broken in Remote Coding Interviews</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Tue, 03 Mar 2026 16:20:58 +0000</pubDate>
      <link>https://dev.to/tagnev/we-built-teckiypad-to-fix-whats-broken-in-remote-coding-interviews-7ff</link>
      <guid>https://dev.to/tagnev/we-built-teckiypad-to-fix-whats-broken-in-remote-coding-interviews-7ff</guid>
      <description>&lt;p&gt;Remote interviews are broken.&lt;/p&gt;

&lt;p&gt;Developers don’t trust the process.&lt;br&gt;
Interviewers don’t trust the results.&lt;br&gt;
And now AI tools make it even harder to assess real skill.&lt;/p&gt;

&lt;p&gt;So we built Teckiypad.&lt;/p&gt;

&lt;p&gt;Not just another online code editor.&lt;br&gt;
Not just another assessment platform.&lt;br&gt;
But a real interview simulation environment.&lt;/p&gt;

&lt;p&gt;🔍 What’s Wrong With Most Platforms?&lt;/p&gt;

&lt;p&gt;Let’s be honest.&lt;/p&gt;

&lt;p&gt;Most coding platforms today:&lt;/p&gt;

&lt;p&gt;❌ Feel like online judges&lt;/p&gt;

&lt;p&gt;❌ Encourage memorization&lt;/p&gt;

&lt;p&gt;❌ Don’t simulate real interview pressure&lt;/p&gt;

&lt;p&gt;❌ Can’t detect AI-assisted cheating&lt;/p&gt;

&lt;p&gt;❌ Don’t help candidates think independently&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💡 What Makes Teckiypad Different?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Teckiypad is built from both interviewer and developer perspective.&lt;/p&gt;

&lt;p&gt;It focuses on:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Real-time collaborative coding&lt;br&gt;
Whiteboard for system design&lt;br&gt;
Mock interview sessions&lt;br&gt;
Online assessments&lt;br&gt;
AI feedback&lt;br&gt;
Camera + screen recording&lt;br&gt;
Plagiarism detection&lt;br&gt;
AI cheating detection&lt;br&gt;
Hiring pipeline tracking&lt;br&gt;
But here’s the important part 👇&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;👨‍💻 For Developers: Self Practice Without Seeing the Answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most platforms train you to:&lt;/p&gt;

&lt;p&gt;“See solution → memorize pattern → repeat.”&lt;/p&gt;

&lt;p&gt;That doesn’t build thinking ability.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Teckiypad helps candidates:&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Practice without answer exposure&lt;br&gt;
Solve in a real interview-like environment&lt;br&gt;
Work under time constraints&lt;br&gt;
See structured feedback&lt;br&gt;
Review their session later&lt;br&gt;
Improve communication skills&lt;br&gt;
It’s not just about solving the problem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Explaining your thought process&lt;br&gt;
Writing clean code&lt;br&gt;
Managing time&lt;br&gt;
Handling edge cases&lt;br&gt;
Thinking under pressure&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We built it to simulate real-world interviews, not just algorithm drills.&lt;/p&gt;

&lt;p&gt;🧠** How It Helps Developers Reach the Solution**&lt;/p&gt;

&lt;p&gt;Instead of just marking pass/fail, Teckiypad:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tracks coding behavior&lt;/li&gt;
&lt;li&gt;Analyzes typing patterns&lt;/li&gt;
&lt;li&gt;Detects copy/paste attempts&lt;/li&gt;
&lt;li&gt;Gives AI-based structured feedback&lt;/li&gt;
&lt;li&gt;Shows where the candidate struggled&lt;/li&gt;
&lt;li&gt;Highlights complexity improvements&lt;/li&gt;
&lt;li&gt;Developers can:&lt;/li&gt;
&lt;li&gt;Rewatch their own mock session&lt;/li&gt;
&lt;li&gt;Improve problem-solving strategy&lt;/li&gt;
&lt;li&gt;Identify weak areas&lt;/li&gt;
&lt;li&gt;Build interview confidence&lt;/li&gt;
&lt;li&gt;It becomes a training tool, not just an evaluation tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're a:&lt;/p&gt;

&lt;p&gt;Developer preparing for interviews&lt;/p&gt;

&lt;p&gt;Hiring manager tired of fake profiles&lt;/p&gt;

&lt;p&gt;Startup founder hiring remotely&lt;/p&gt;

&lt;p&gt;You can try it here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;👉 &lt;a href="https://teckiypad.com" rel="noopener noreferrer"&gt;https://teckiypad.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback from the dev.to community.&lt;/p&gt;

</description>
      <category>career</category>
      <category>interview</category>
      <category>programming</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Snowflake SQL Unique Functions</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Sat, 04 Nov 2023 02:53:32 +0000</pubDate>
      <link>https://dev.to/tagnev/snowflake-sql-unique-functions-54oi</link>
      <guid>https://dev.to/tagnev/snowflake-sql-unique-functions-54oi</guid>
      <description>&lt;p&gt;🔍 Discover Snowflake's powerful SQL functions for semi-structured data:&lt;br&gt;
🔹 ARRAY_CONSTRUCT: Create arrays with ease! .&lt;br&gt;
🔹 ARRAY_CONSTRUCT_COMPACT: Want an array without NULLs?&lt;br&gt;
🔹 OBJECT_CONSTRUCT: Key-value pairs become JSON objects&lt;br&gt;
🔹 OBJECT_CONSTRUCT_COMPACT: Skip the NULL values and get a clean object.&lt;/p&gt;

&lt;p&gt;Let me know if you are interested to know more about this SQL functions and its use case.&lt;/p&gt;

&lt;h1&gt;
  
  
  Snowflake #snowflakedevelopers #snowflake #dataengineering
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U9X9lObZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vet5ldmjlkcss9pzkhrb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U9X9lObZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vet5ldmjlkcss9pzkhrb.png" alt="Image description" width="507" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>snowflake</category>
      <category>dataengineering</category>
      <category>sql</category>
    </item>
    <item>
      <title>Spark Executor Memory Breakdown -short</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Sun, 08 Oct 2023 17:50:52 +0000</pubDate>
      <link>https://dev.to/tagnev/spark-executor-memory-breakdown-short-1e60</link>
      <guid>https://dev.to/tagnev/spark-executor-memory-breakdown-short-1e60</guid>
      <description>&lt;p&gt;🚀 Spark Executor Memory Breakdown 🚀&lt;/p&gt;

&lt;p&gt;When optimizing our Spark jobs, understanding the composition of executor memory is paramount. Here’s a deep dive:&lt;/p&gt;

&lt;p&gt;✨ User Memory (UM):&lt;/p&gt;

&lt;p&gt;Role: Memory utilized for Spark RDDs, DataFrames, and user-created objects.&lt;br&gt;
Key tasks: Storing data structures, RDDs, and more.&lt;br&gt;
✨ Reserved Memory (RM):&lt;/p&gt;

&lt;p&gt;Approximately 300MB.&lt;br&gt;
Reserved exclusively for Spark’s internal operations.&lt;br&gt;
✨ Execution Memory (EM):&lt;/p&gt;

&lt;p&gt;Role: Handles computational tasks.&lt;br&gt;
Key processes: Shuffles, joins, sorts, and aggregations.&lt;br&gt;
🔍 Total Executor Memory: The complete memory is the cumulative sum: Executor Memory = UM + RM + EM&lt;/p&gt;

&lt;p&gt;Diving into these details empowers us to better allocate resources for our Spark applications, ensuring efficient operations and optimal performance.&lt;/p&gt;

&lt;h1&gt;
  
  
  ApacheSpark #BigData #MemoryManagement #SparkOptimization
&lt;/h1&gt;

</description>
      <category>spark</category>
      <category>bigdata</category>
    </item>
    <item>
      <title>Snowflake + ChatGPT Integration</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Wed, 04 Oct 2023 22:51:52 +0000</pubDate>
      <link>https://dev.to/tagnev/snowflake-chatgpt-integration-4dfd</link>
      <guid>https://dev.to/tagnev/snowflake-chatgpt-integration-4dfd</guid>
      <description>&lt;p&gt;Hey folks! 🎉&lt;br&gt;
Today, I played around with combining #Snowflake #streamlit and #ChatGPT to answer questions about customers. It feels like having a chat with my database! 😄&lt;br&gt;
A quick look at what I did:&lt;/p&gt;

&lt;p&gt;It's fun to see how a few lines of code can bring data to life in a chat. If anyone's interested in more details, let me know! 👍&lt;/p&gt;

&lt;h1&gt;
  
  
  DataMagic #SimpleCode #SnowflakeMeetsChatGPT
&lt;/h1&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%2Fl0txkuhfzs6zrgdchwej.jpg" 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%2Fl0txkuhfzs6zrgdchwej.jpg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Using Python to Access Google Bard: A Simple Guide on Session Cookies</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Tue, 26 Sep 2023 15:58:22 +0000</pubDate>
      <link>https://dev.to/tagnev/using-python-to-access-google-bard-a-simple-guide-on-session-cookies-2icb</link>
      <guid>https://dev.to/tagnev/using-python-to-access-google-bard-a-simple-guide-on-session-cookies-2icb</guid>
      <description>&lt;p&gt;Google Bard is a fantastic tool many have been waiting to explore programmatically. While direct API access might not be available to everyone, thanks to developers like Daniel Park, we have workarounds. He introduced the bardapi Python package, which leverages session cookies to interact with Google Bard. In this guide, I'll walk you through how to use this package.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting Started:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Prerequisites:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.x&lt;/li&gt;
&lt;li&gt;Google Bard account&lt;/li&gt;
&lt;li&gt;Basic knowledge of web developer tools in browsers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Installation:&lt;/strong&gt;&lt;br&gt;
If you haven’t already, install the bardapi package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install bardapi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Retrieving Your Session Cookies:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Session cookies are essential for maintaining a user session, which the bardapi package uses to authenticate against Google Bard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steps to retrieve session cookies:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Navigate to the Google Bard website on a browser and log in.&lt;/li&gt;
&lt;li&gt;Press F12 or right-click on the webpage and select 'Inspect' to open developer tools.&lt;/li&gt;
&lt;li&gt;Navigate to the Application tab.&lt;/li&gt;
&lt;li&gt;In the left sidebar, expand the Cookies section under Storage.&lt;/li&gt;
&lt;li&gt;Select accounts.google.com or a similar domain. Here you'll find a list of cookies.&lt;/li&gt;
&lt;li&gt;Look for the __Secure-1PSID cookie and note its value.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from bardapi import Bard
import os

#Replace BBBBBBB with the values you get from __Secure-1PSID 
os.environ['_BARD_API_KEY']="BBBBBBB"

# set your input text
input_text = "what is google bard?"

print(Bard().get_answer(input_text)['content'])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above code may not work if you have multi session cookies, if that case replace above code with below,&lt;/p&gt;

&lt;p&gt;You need to set multi cookie value. Using Bard Cookies Object.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from bardapi import BardCookies

cookie_dict = {
    "__Secure-1PSID": "Your ID",
    "__Secure-1PSIDTS": "Your Id",
    # Any cookie values you want to pass session object.
}

bard = BardCookies(cookie_dict=cookie_dict)
print(bard.get_answer('Tell me more about Bard"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zUlBq8rQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4beceaq9g2jsptvco0w4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zUlBq8rQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4beceaq9g2jsptvco0w4.png" alt="Image description" width="537" height="731"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope you found this guide on accessing Google Bard using Python and session cookies insightful. Your feedback fuels my passion for sharing knowledge, so if you appreciated this article, please give it a thumbs up and share your thoughts in the comments below.&lt;/p&gt;

&lt;p&gt;For more insights and to stay connected, you can find me on:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/vengateswaran-arunachalam/"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.teckiy.com/"&gt;Teckiy&lt;/a&gt;&lt;br&gt;
&lt;a href="https://twitter.com/vengattagnev"&gt;Twitter&lt;/a&gt;&lt;br&gt;
Thank you for reading, and I look forward to engaging with you on these platforms!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>bard</category>
      <category>googlebard</category>
    </item>
    <item>
      <title>Custom Model Managers In Django</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Mon, 25 Sep 2023 06:11:30 +0000</pubDate>
      <link>https://dev.to/tagnev/custom-model-managers-in-django-1lfp</link>
      <guid>https://dev.to/tagnev/custom-model-managers-in-django-1lfp</guid>
      <description>&lt;p&gt;&lt;strong&gt;Custom Model Managers In Django&lt;/strong&gt;&lt;br&gt;
A manager is an interface through which database query operations are provided to Django models. At least one Manager exists for every model in a Django application, objects is the default manager of every model that retrieves all objects in the database.&lt;/p&gt;

&lt;p&gt;However, one model can have multiple model managers, we can also build our own custom model managers by extending the base manager class.&lt;/p&gt;

&lt;p&gt;Creating Custom Model Managers&lt;br&gt;
`class Post(models.Model):&lt;br&gt;
    title = models.CharField(max_length=200)&lt;br&gt;
    content = models.TextField()&lt;br&gt;
    active = models.BooleanField(default=False)&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def __str__(self):
    return self.title`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;objects is the default model manager for every model, therefore Post.objects.all() will return all post objects.&lt;/p&gt;

&lt;p&gt;The objects method is capable of doing all basic **QuerySets **then why would we need a custom model manager?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why would we need Custom Model Manager&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To add extra Manager methods.&lt;br&gt;
To modify the initial QuerySet the Manager returns.&lt;br&gt;
Let’s create a model manager to retrieve all the published posts.&lt;/p&gt;

&lt;p&gt;Using the objects manager published posts can be retrieved with the following query.&lt;/p&gt;

&lt;p&gt;Lets create some dummy data using Django Shell,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;&amp;gt;  Post.objects.filter(active=True) Out: &amp;lt;QuerySet [&amp;lt;Post: Fourth Post&amp;gt;, &amp;lt;Post: First post&amp;gt;]&amp;gt;

&amp;gt;&amp;gt; &amp;lt;QuerySet [&amp;lt;Post: Fourth Post&amp;gt;, &amp;lt;Post: First post&amp;gt;]&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We will build a custom model manager called publish to retrieve the published posts.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class PublishManager(models.Manager):
    def get_queryset(self):
        return super(PublishManager, self).get_queryset().filter(active=True)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Post(models.Model):
    .. our fields

    objects = models.Manager()  # The default manager.
    publish = PublishManager()  # Our custom manager.

    def __str__(self):
        return self.title

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we can retrieve posts with the custom model manager as follows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt;&amp;gt; Post.published.all()   
&amp;gt;&amp;gt; &amp;lt;QuerySet [&amp;lt;Post: First post&amp;gt;, &amp;lt;Post: Fourth Post&amp;gt;]&amp;gt;

&amp;gt;&amp;gt; Post.objects.filter(active= True)     
&amp;gt;&amp;gt; &amp;lt;QuerySet [&amp;lt;Post: First post&amp;gt;, &amp;lt;Post: Fourth Post&amp;gt;]&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hope this would help you to understand the basic idea about custom model manager.&lt;/p&gt;

</description>
      <category>django</category>
      <category>djanagomodel</category>
      <category>python</category>
    </item>
    <item>
      <title>Teckiy Developer Support</title>
      <dc:creator>Vengat</dc:creator>
      <pubDate>Wed, 04 Nov 2020 00:23:09 +0000</pubDate>
      <link>https://dev.to/tagnev/teckiy-developer-support-1773</link>
      <guid>https://dev.to/tagnev/teckiy-developer-support-1773</guid>
      <description>&lt;p&gt;I would like to share my recent experiences about Open source support in &lt;a href="https://www.teckiy.com/"&gt;https://www.teckiy.com/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This platform provides support for open source framework as per SLA's. Its like Stack Overflow &amp;amp; Freelancing concept.&lt;/p&gt;

</description>
      <category>devops</category>
    </item>
  </channel>
</rss>
