<?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: Priyadarshini Chettiar</title>
    <description>The latest articles on DEV Community by Priyadarshini Chettiar (@priyadarshu).</description>
    <link>https://dev.to/priyadarshu</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%2F328071%2Fb336c788-a401-4c19-a5b3-0b0ac0015024.jpg</url>
      <title>DEV Community: Priyadarshini Chettiar</title>
      <link>https://dev.to/priyadarshu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/priyadarshu"/>
    <language>en</language>
    <item>
      <title>Fixing the session timeouts</title>
      <dc:creator>Priyadarshini Chettiar</dc:creator>
      <pubDate>Tue, 26 May 2026 07:16:00 +0000</pubDate>
      <link>https://dev.to/priyadarshu/fixing-the-session-timeouts-14i4</link>
      <guid>https://dev.to/priyadarshu/fixing-the-session-timeouts-14i4</guid>
      <description>&lt;p&gt;Hi,&lt;br&gt;
This is a short post about the issue that my team had faced since I missed something crucial.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Context -&lt;/strong&gt;&lt;br&gt;
I had migrated the phpmyadmin auth from ldap to entra based authentication, and the migration was successful and everything seemed to work as expected. A session timeout issue was later reported 3 days post this migration. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;- &lt;br&gt;
This is a simple migration, the solution was direct, just to add the session timeouts. But how do you make sure you are actually fixing the real issue of session timeout.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You need to understand what's the exact reason for session timeout phpmyadmin 's internal session or its because of OIDC settings.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;The file path is subject to change - if you're on Nginx or a containerized setup, none of those file paths apply, so kindly check the file paths first.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Check for the session timeouts in phpmyadmin&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The variable to check - &lt;strong&gt;LoginCookieValidity&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The file to check - config.inc.php&lt;/li&gt;
&lt;li&gt;You will have to locate this file for your app, while the common path is &lt;strong&gt;/etc/phpmyadmin/config.inc.php&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You need to check the line 
&lt;strong&gt;$cfg['LoginCookieValidity'] = 1440; ** ( This is the default ttl , i.e. **1440 seconds / 60= 24 mins&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Check the OIDC session timeout&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The parameter to check &lt;strong&gt;OIDCSessionInactivityTimeout&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;This belongs to &lt;strong&gt;mod_auth_openidc module&lt;/strong&gt;, an OpenID Connect relying party module for the Apache HTTP Server.&lt;/li&gt;
&lt;li&gt;The file to check - auth_openidc.conf&lt;/li&gt;
&lt;li&gt;The file path may differ with respect to the server, operating system, Host/vhost setup.&lt;/li&gt;
&lt;li&gt;If no timeout value is passed to the configuration, the timeout value is set to default value i.e is &lt;strong&gt;300s / 60= 5 minutes&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You have to answer the question - how long are you idle before getting timed out — about 5 minutes, about 25 minutes, or longer? And does it kick you back to the Microsoft login page, or to the phpMyAdmin login form?&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Your answer would decide if we have to change the TTL of Microsoft Entra OIDC or Phpmyadmin.&lt;/li&gt;
&lt;li&gt;If issue is found with &lt;strong&gt;OIDC&lt;/strong&gt; then open your config file and add the below lines to the OIDC configuration
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Set the idle session timeout to 30 minutes (1800 seconds)
OIDCSessionInactivityTimeout 1800

# Frequently paired with max session duration (e.g., 8 hours max)
OIDCSessionMaxDuration 28800
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;If the issue is found with &lt;strong&gt;phpmyadmin&lt;/strong&gt; then edit the config file commonly at &lt;code&gt;/etc/phpmyadmin/config.inc.php&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the below line to your TTL value, note here &lt;strong&gt;7200s /60 = 2 hrs&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$cfg['LoginCookieValidity'] = 7200;&lt;/code&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Post making changes the config files, make sure you do the below-&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validate that they are syntactically correct.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reload or Restart&lt;/strong&gt; the affected services. Incase of &lt;strong&gt;apache&lt;/strong&gt; you can use the below to check syntax and reload
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apachectl configtest
sudo systemctl reload apache2
sudo systemctl status apache2 --no-pager
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Check the status of the affected services.&lt;/li&gt;
&lt;li&gt;Cross validate internally if the issue is resolved or still persists.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Words&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Before starting any migration make sure you take a backup of the required configuration files and applicable data to aid in rollback incase of any failure.&lt;/li&gt;
&lt;li&gt;Always create a plan, get it approved by your experienced peers or any AI companion, to find the missing pieces, before hitting the production.&lt;/li&gt;
&lt;li&gt;Never risk a production config setup by comparing it with the non production environments, most company keep it simple at non prods to avoid complications during development of the application. While production can be a complete complex structure.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hope you find this helpful.&lt;/p&gt;

</description>
      <category>phpmyadmin</category>
      <category>entra</category>
      <category>oidc</category>
    </item>
    <item>
      <title>Some important Linux Commands for Devops</title>
      <dc:creator>Priyadarshini Chettiar</dc:creator>
      <pubDate>Fri, 29 Jul 2022 14:40:56 +0000</pubDate>
      <link>https://dev.to/priyadarshu/some-important-linux-commands-for-devops-3lhi</link>
      <guid>https://dev.to/priyadarshu/some-important-linux-commands-for-devops-3lhi</guid>
      <description>&lt;p&gt;Today I'm going to share some of the important linux commands that you will be using as a Devops Engineer&lt;/p&gt;

&lt;p&gt;So, lets get started&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;cat /etc/os-release&lt;/code&gt; -&amp;gt; To get the OS details (eg. name,version etc)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ps aux | grep "process_name"&lt;/code&gt; -&amp;gt; To get the process owner details ( eg. &lt;code&gt;ps aux | grep "jenkins"&lt;/code&gt; )&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;cut -d: -f1 /etc/passwd&lt;/code&gt; -&amp;gt; To get the all the users list&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;lsblk&lt;/code&gt; -&amp;gt; To get all the list of block devices mapping&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;df -h&lt;/code&gt; -&amp;gt; To get the filesystem details&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;uname -a&lt;/code&gt;-&amp;gt; To get the OS name, machine name and kernal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;wget https://...&lt;/code&gt; -&amp;gt; To download files from the web.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ifconfig&lt;/code&gt; -&amp;gt; To check the network interfaces&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;netstat -a&lt;/code&gt; -&amp;gt; To list all network ports, routing tables, sockets and connection details&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;apt list --installed&lt;/code&gt; -&amp;gt; To check the installed packages ( eg. &lt;code&gt;apt list apache2&lt;/code&gt; -&amp;gt; To check apache2 related packages)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;apt list | grep nginx&lt;/code&gt; -&amp;gt; To check if ngnix is installed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;dpkg --list | grep nginx&lt;/code&gt; -&amp;gt; To check the installed packages&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;cat /etc/services | less&lt;/code&gt; -&amp;gt; To check the open ports&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;netstat -atu&lt;/code&gt; -&amp;gt; To check the open tcp ports&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;netstat -lntup&lt;/code&gt;  -&amp;gt; To check the open tcp as well as udp ports that are listening along with their process ids &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;lsof -i 4 -a -p &amp;lt;Process-Number&amp;gt;&lt;/code&gt; -&amp;gt; for listing open files related to processes ( 4 implies ipv4, -a is used for Anding the output, -p is used to specify the process id we wish to check)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>beginners</category>
      <category>devops</category>
      <category>bash</category>
      <category>linux</category>
    </item>
    <item>
      <title>Unix Time in Flutter</title>
      <dc:creator>Priyadarshini Chettiar</dc:creator>
      <pubDate>Wed, 09 Jun 2021 20:04:51 +0000</pubDate>
      <link>https://dev.to/priyadarshu/unix-time-in-flutter-5944</link>
      <guid>https://dev.to/priyadarshu/unix-time-in-flutter-5944</guid>
      <description>&lt;p&gt;I had the privilege to work for an organization and develop a flutter application which communicates with an IoT Device. While developing the application, I was asked to use Unix Time, which otherwise called as Epoch Time.&lt;/p&gt;

&lt;p&gt;My research taught me that &lt;/p&gt;

&lt;h5&gt;
  
  
  "Unix time is a system for describing a point in time. It is the number of seconds that have elapsed since the Unix epoch, minus leap seconds; the Unix epoch is 00:00:00 UTC on 1 January 1970; leap seconds are ignored, with a leap second having the same Unix time as the second before it, and every day is treated as if it contains exactly 86400 seconds" - source Wikipedia.
&lt;/h5&gt;

&lt;p&gt;So, how do we implement it in Flutter using Dart?&lt;/p&gt;

&lt;p&gt;Well the answer is pretty straight forward, we have inbuilt functions in dart to do the required.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void main(){
DateTime now = DateTime.now();
var epochTime= now.millisecondsSinceEpoch;
print(epochTime);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2Ft4vvuoad8cvehzpdkq7x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ft4vvuoad8cvehzpdkq7x.png" alt="image" width="800" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The output we get after the above would be in milliseconds i.e. there will be 13 digits and in decimal format.&lt;/p&gt;

&lt;p&gt;If you need the output in seconds then , just divide the output by 1000, to fix it to 10 digits&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DateTime now = DateTime.now();
var epochTime= now.millisecondsSinceEpoch/1000;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2F2iwtdg9d65q47gubaaoh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F2iwtdg9d65q47gubaaoh.png" alt="image" width="800" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;certainly can use &lt;strong&gt;floor, ceil and round&lt;/strong&gt; methods if required to refractor the above values.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void main(){
DateTime now = DateTime.now();
var epochTime= (now.millisecondsSinceEpoch)/1000;
var testFloor= epochTime.floor();
var testCeil = epochTime.ceil();
var testRound = epochTime.round();
print(epochTime);
print("Testing Floor - " +  testFloor.toString());
print("Testing Ceil - " +  testCeil.toString());
print("Testing Round - " +  testRound.toString());
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2Fvogyn9ilt500sezb0w5y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fvogyn9ilt500sezb0w5y.png" alt="image" width="800" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In case you need the value in microseconds, use the &lt;strong&gt;microsecondsSinceEpoch&lt;/strong&gt; function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void main(){
DateTime now = DateTime.now();
var epochTime= now.microsecondsSinceEpoch;
print(epochTime);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2Fy0nc57m2vng3dgg535ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fy0nc57m2vng3dgg535ip.png" alt="image" width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, what if you want the value in different formats like &lt;strong&gt;HexCode or Binary or Decimal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Well though it sounds little complicated its simple using the &lt;strong&gt;toRadixString()&lt;/strong&gt; function.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To convert the time value into &lt;strong&gt;Binary&lt;/strong&gt; you need to pass the parameter &lt;strong&gt;"2"&lt;/strong&gt; to the above function.&lt;/li&gt;
&lt;li&gt;To convert the time value into &lt;strong&gt;Decimal&lt;/strong&gt; code you need to pass the parameter &lt;strong&gt;"10"&lt;/strong&gt; to the above function.&lt;/li&gt;
&lt;li&gt;To convert the time value into &lt;strong&gt;Hexadecimal&lt;/strong&gt; code you need to pass the parameter &lt;strong&gt;"16"&lt;/strong&gt; to the above function.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void main(){

// assign the output in decimal format and in seconds
var epochTime= (DateTime.now().millisecondsSinceEpoch)/1000;

//Using Floor methid to get absolute value
var convertToFloor = epochTime.floor();


//convert the value to Binary
var convertToBinary= convertToFloor.toRadixString(2); 

//convert the value to Decimal
var convertToDecimal= convertToFloor.toRadixString(10);

//convert the value to Hex Code
var convertToHex= convertToFloor.toRadixString(16);

//print all
print("The Epoch Time in seconds is "+ epochTime.toString());
print("Using Floor to get absolute value " + convertToFloor.toString());
print("Converted to Binary - " + convertToBinary);
print("Converted to Decimal - " + convertToDecimal);
print("Converted to Hex - " + convertToHex);
}

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

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.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%2Ffxkdsgvrp5fmrlai5mx1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffxkdsgvrp5fmrlai5mx1.png" alt="image" width="800" height="347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it for this article, hope you found this article helpful.&lt;/p&gt;

&lt;p&gt;Though its simple, I would like to know your thoughts in comments. &lt;/p&gt;

&lt;p&gt;Until we meet again with my next article, &lt;strong&gt;Happy Coding&lt;/strong&gt; 😃&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>dart</category>
      <category>codenewbie</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>My first hackathon - MLH LHD- Build 2021</title>
      <dc:creator>Priyadarshini Chettiar</dc:creator>
      <pubDate>Fri, 15 Jan 2021 16:26:08 +0000</pubDate>
      <link>https://dev.to/priyadarshu/my-first-hackathon-mlh-lhd-build-2021-1h7n</link>
      <guid>https://dev.to/priyadarshu/my-first-hackathon-mlh-lhd-build-2021-1h7n</guid>
      <description>&lt;h4&gt;
  
  
  What is MLH LHD Build?🤔
&lt;/h4&gt;

&lt;p&gt;Well it is &lt;strong&gt;&lt;a href="https://localhackday.mlh.io/build" rel="noopener noreferrer"&gt;Major League Hacking - Local Hack Day Build&lt;/a&gt;&lt;/strong&gt;.&lt;br&gt;
Major League Hacking is the Organization and Local Hack Day - Build is the name of the hackathon event. &lt;/p&gt;

&lt;h4&gt;
  
  
  About the event✨
&lt;/h4&gt;

&lt;p&gt;It started on 10th Jan 2021 and will end on 18th Jan 2021.&lt;br&gt;
This is my first ever hackathon. I was nervous for this event due to imposter syndrome, but its going pretty well.&lt;/p&gt;

&lt;p&gt;There were daily challenges and weeklong challenges.&lt;br&gt;
They are beginner friendly and there are many workshops to enhance our skills and knowledge.&lt;/p&gt;

&lt;h4&gt;
  
  
  Takeaways🤩
&lt;/h4&gt;

&lt;p&gt;I personally developed some amazing apps in Flutter like sending sms using twilio, chess app, tic tac toe, translator, speech recognition app, working with data sets and many more.&lt;/p&gt;

&lt;p&gt;This event has made my profile strong and I'm very confident about attending more hackathons in future.&lt;/p&gt;

&lt;p&gt;The workshops conducted at MLH are best, the instructors/ coaches are incredible. The coaches &lt;strong&gt;Jackyln, Ryan + Totally Not Ryan 😉, Mary, Mara, Chris, Will, Shasrika , Kunal, Aditya&lt;/strong&gt; to name a few, I'm really thankful to them.🤗&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I repeat they are the best!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I finally created my portfolio using Github pages, thanks to the coaches.🎉🥳&lt;/p&gt;

&lt;h4&gt;
  
  
  Do you know the best part of these challenges?
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;Learning never felt so good &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Apart from challenges we had many games to play, draw Ellie elephant, Bob Ross and Bhlahaj, cupstaking and many more.&lt;/p&gt;

&lt;p&gt;I just loved it.❤&lt;/p&gt;

&lt;p&gt;Though there were points for completing each challenge, I personally focused on learning the concepts and trying it out.&lt;/p&gt;

&lt;p&gt;I'm sure that I'm going to participate in all the future events by MLH. Well, &lt;strong&gt;MLH Share is on the way - in April&lt;/strong&gt;. I would recommend the developers at every level to give it a try. You would definitely love it, thank me later!&lt;/p&gt;

&lt;h4&gt;
  
  
  Did I shared about prizes?
&lt;/h4&gt;

&lt;p&gt;We will get swags and stickers from MLH. Can't wait to get mine.😄&lt;/p&gt;

&lt;p&gt;Author: Priyadarshini Chettiar&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/priyadarshini-chettiar-476332129/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://priyadarshinichettiar.hashnode.dev/" rel="noopener noreferrer"&gt;Hashnode&lt;/a&gt; | &lt;a href="https://twitter.com/priya_darshu_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; | &lt;a href="https://devpost.com/priyadarshinichettiar" rel="noopener noreferrer"&gt;Devpost&lt;/a&gt; | &lt;a href="https://github.com/priyadarshu" rel="noopener noreferrer"&gt;Github&lt;/a&gt;| &lt;a href="https://priyadarshu.github.io/" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mlh</category>
      <category>majorleaguehacking</category>
      <category>localhackday</category>
    </item>
  </channel>
</rss>
