<?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: Hardik</title>
    <description>The latest articles on DEV Community by Hardik (@mhardik003).</description>
    <link>https://dev.to/mhardik003</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%2F2659572%2F10940d71-e221-47f1-870a-e526469d9bc1.gif</url>
      <title>DEV Community: Hardik</title>
      <link>https://dev.to/mhardik003</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mhardik003"/>
    <language>en</language>
    <item>
      <title>Tired of entering Github GPG key each time?</title>
      <dc:creator>Hardik</dc:creator>
      <pubDate>Sun, 12 Jan 2025 10:24:24 +0000</pubDate>
      <link>https://dev.to/mhardik003/tired-of-entering-github-gpg-key-each-time-5hm1</link>
      <guid>https://dev.to/mhardik003/tired-of-entering-github-gpg-key-each-time-5hm1</guid>
      <description>&lt;p&gt;Use &lt;code&gt;gh auth login&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;( May have to install &lt;code&gt;gh&lt;/code&gt; first using &lt;code&gt;sudo apt install gh&lt;/code&gt; )&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Research about CV research</title>
      <dc:creator>Hardik</dc:creator>
      <pubDate>Sun, 12 Jan 2025 10:18:45 +0000</pubDate>
      <link>https://dev.to/mhardik003/research-about-cv-research-ep3</link>
      <guid>https://dev.to/mhardik003/research-about-cv-research-ep3</guid>
      <description>&lt;p&gt;&lt;strong&gt;This is a bit of advice for lucky students who get to do research with a professor.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Take this opportunity seriously. Either you make it your top priority, or you don't do it at all. That's the message. Read the rest of the page if you want to know why and how.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Opportunity Cost
&lt;/h3&gt;

&lt;p&gt;I heard once that your boyfriend or girlfriend will ask increasingly tough questions as your relationship ages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;“Am I getting something out of it?”&lt;/li&gt;
&lt;li&gt;“Am I getting back as much as I'm putting in?”&lt;/li&gt;
&lt;li&gt;“Am I getting as much as I'm worth?”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your advisor may also ask these questions. At first, he'll be happy that he attracted a smart student to work on a problem that needed working on. But he may sour if he comes to feel that he's wasting his time on you, or would have been wiser to assign the project to someone else.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;What You Can Do to Succeed&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Here's some basic advice targeted at &lt;em&gt;new&lt;/em&gt; research students. There are also many webpages about how to be a “good grad student,” which should also be useful to undergrads doing research.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time Commitment&lt;/strong&gt;&lt;br&gt;
• &lt;em&gt;Make plenty of room.&lt;/em&gt; In order to make research your first priority, you may need to reduce your courseload or extracurriculars. This is worth discussing with both your academic advisor and your research advisor.&lt;br&gt;
• &lt;em&gt;Find out what the deadlines are.&lt;/em&gt; For example, there may be a target for submitting a paper to a particular conference. When planning for deadlines, bear in mind that everything will take twice as long as you expect—or four times as long if you've never done it before. Often a paper takes roughly a year of work for a grad student (if it includes experiments), although they may be working on other things during that year as well.&lt;br&gt;
• &lt;em&gt;Be honest.&lt;/em&gt; If you suspect that you may not have time to do justice to the project after all, don't string your advisor along. Take a deep breath, apologize, and explain the situation. Then your advisor can make an informed decision about whether to suspend the project, give it to someone else, get a grad student involved, etc. This is better than a slow burn of agitation on both sides.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time Management&lt;/strong&gt;&lt;br&gt;
• &lt;em&gt;Prepare for meetings.&lt;/em&gt; Establish a fixed time for weekly meetings with your advisor (and perhaps with senior students). Bring results, questions, and an agenda to your weekly meeting.&lt;br&gt;
• &lt;em&gt;Make weekly progress.&lt;/em&gt; Set goalposts, and be sure you make real progress from week to week. Use your meeting time or email each week to make sure that you agree on what the goal for next week is.&lt;br&gt;
• &lt;em&gt;Take the initiative.&lt;/em&gt; Be somewhat self-directed—find readings, play around with code, do mini-experiments. But do keep your advisor posted by email.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Writing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Writing is a form of thinking, a form of memory, and a form of communication. You should keep well-organized notes of several kinds. It is often useful to date your entries in such files and to keep them under version control.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;“&lt;a href="https://www.cs.jhu.edu/~jason/advice/write-the-paper-first.html" rel="noopener noreferrer"&gt;Write the paper first.&lt;/a&gt;“&lt;/em&gt; The evolving paper is a way of organizing and sharing your thoughts and hammering out details. New ideas (including future plans) can go into that document, or appendices to it.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Experimental logbook.&lt;/em&gt; This is a file recording the questions you asked, the experiments you ran to answer them (including the command-line details needed to reproduce them perfectly), the results, and your analysis of the results.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Notes on your reading,&lt;/em&gt; including reading you plan to do. This should be organized by paper and/or by topic, aimed at helping you quickly recover the important points.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Planning.&lt;/em&gt; Keep some kind of to-do list and time planning system that helps you set and discharge goals and track your effectiveness (see the &lt;a href="http://lifehacker.com/" rel="noopener noreferrer"&gt;LifeHacker&lt;/a&gt; website for some options).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Working With Others&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Again, be honest.&lt;/em&gt; Be very clear at all times about what you do and don't understand. Don't fake it. It's okay to say you're confused or don't know something; you need to ask questions to get unconfused. Also be clear about what you have and haven't done.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Pick a topic of mutual interest that you can handle.&lt;/em&gt; This is a matter for careful discussion at the start of the relationship.&lt;em&gt;Be explicit about what you need from your advisor.&lt;/em&gt; You can take some initiative in shaping the kind of advising relationship that will work best for you. Every advisor has a typical advising style, which is some compromise between his advising philosophy, his personality, your personality, and the realities of limited time. But if you need a different kind of guidance or a different way of organizing your relationship, ask for it. Most advisors will appreciate the initiative and can adapt to some extent.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Know how to ask for help.&lt;/em&gt; If you feel you would benefit from closer guidance, say: “Please tell me exactly what you want me to do by next Wednesday and I will have it done.” If you get stuck technically, ask your advisor to help you get unstuck! He can write out a more detailed plan for you, give you things to read, ask a senior grad student to work with you, point you to software libraries, etc. Asking the right person can be 100 times faster than doing it yourself.
Your value to the project lies in how much you get done—it doesn't matter whether you invented it all yourself. This is not homework and getting help is not cheating. Anything that is already known in the field is fair game to reuse (with citations). And people can also help you invent the new stuff, as long as you acknowledge their help appropriately (possibly with co-authorship). Getting them to help you is part of the research.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Get right as much as you can.&lt;/em&gt; Before you hand off a piece of code or writing to someone else -- including another student, your advisor, or a reviewer -- you ought to catch all the problems you can catch by yourself. For a problem that you intend to fix later, include a note to this effect. This allows the other person to focus their limited time on spotting the problems that were beyond your own horizon.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Be a team player.&lt;/em&gt; If there are other people on the project, find out what they're working on. Ask plenty of questions. Get a broader sense of the project beyond your own little corner. Help out where you can.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Share what you do.&lt;/em&gt; Back up your work, comment your code, log your experiments, and be ready to hand off your code and notes at any time. The project may live on after you. It's not necessary to keep private files. The best plan is to keep everything valuable in a shared version control repository that you, your advisor, and any other collaborators can browse and edit at any time. (A README file in the repository can describe the layout and list any additional resources, e.g., the URLs of a wiki, a Google Doc, etc.) An issue tracker is also useful. Discuss with your advisor how to set up this kind of project infrastructure, e.g., on github.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Avoid diffusion.&lt;/em&gt; As a matter of etiquette, try not to spread your work over many different local directories, repositories, email threads, chat logs, Google documents, etc. For example, when sending email, try to continue on an existing thread where appropriate, rather than starting a new one. Your advisor is juggling more email and projects than you, so will find it helpful to keep related things together.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Keep track of what you've done.&lt;/em&gt; You may want to keep some notes on your contributions. You can give these to your advisor when it is time for a &lt;a href="https://www.cs.jhu.edu/~jason/advice/how-to-ask-for-a-recommendation.html" rel="noopener noreferrer"&gt;letter of recommendation&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;ul&gt;
&lt;li&gt;Use git version control and github regularly on your codebase - this is a must, if you are not familiar with git (I suppose all of you are), please spend some time reading through &lt;a href="https://git-scm.com/book/en/v2%C2%A0-" rel="noopener noreferrer"&gt;https://git-scm.com/book/en/v2 -&lt;/a&gt; totally worth in the long run. Even reading the first 2-3 chapters will be enough for most common things&lt;/li&gt;
&lt;li&gt;Think of ways to log and track experiments carefully. Ideally, every experiment you run should be associated with a git commit, so you can always replicate things. Creating spreadsheets, etc. is a good way of maintaining sanity of what was run and how. Config files help a lot too for knowing what changed, or at least keep a file where you store all the commands that you ran, &lt;code&gt;python main.py --arg1 val1 --arg2 val2&lt;/code&gt;, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - For visualization of losses, metrics, etc. you should look into locally hosted tools like tensorboard, or even very nice platforms such as &lt;a href="https://wandb.ai/" rel="noopener noreferrer"&gt;https://wandb.ai/&lt;/a&gt;.
&lt;/h2&gt;

&lt;p&gt;The above points and advices were made from a lot of articles which were suggested by my own article which I liked a lot and also helped me to understand how research works. Some of the links which I refered to are&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cs.jhu.edu/%7Ejason/advice/how-to-work-with-a-professor.html" rel="noopener noreferrer"&gt;https://www.cs.jhu.edu/~jason/advice/how-to-work-with-a-professor.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jbhuang0604/awesome-tips" rel="noopener noreferrer"&gt;https://github.com/jbhuang0604/awesome-tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;PROBABLY THE BEST BLOG i HAVE EVER READ &lt;a href="https://karpathy.github.io/2016/09/07/phd/" rel="noopener noreferrer"&gt;https://karpathy.github.io/2016/09/07/phd/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Resources to get started with Computer Vision</title>
      <dc:creator>Hardik</dc:creator>
      <pubDate>Sun, 12 Jan 2025 10:14:36 +0000</pubDate>
      <link>https://dev.to/mhardik003/resources-to-get-started-with-computer-vision-1k6e</link>
      <guid>https://dev.to/mhardik003/resources-to-get-started-with-computer-vision-1k6e</guid>
      <description>&lt;p&gt;&lt;a href="https://sgfin.github.io/learning-resources/" rel="noopener noreferrer"&gt;Great resource for resources and pathway related to how to start with Machine Learning&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Good Courses
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://www.coursera.org/learn/machine-learning" rel="noopener noreferrer"&gt;Anndrew Ng Coursera ML basic ML course&lt;/a&gt; : if you are totally new to machine learning (else you can skip it)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/playlist?list=PLoROMvodv4rMiGQp3WXShtMGgzqpfVfbU" rel="noopener noreferrer"&gt;Stanford CS229&lt;/a&gt; : Haven’t myself done it yet, but looks very cool for those who are just starting with ML in general&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/aircAruvnKk" rel="noopener noreferrer"&gt;3B1B’s series of neural nets&lt;/a&gt; : Very helpful for building a strong base and intuition&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/playlist?list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk" rel="noopener noreferrer"&gt;Stanford CS231n Youtube Course&lt;/a&gt;  &amp;amp; &lt;a href="https://cs231n.github.io/" rel="noopener noreferrer"&gt;Its website&lt;/a&gt; : Very good resource to start with, clears out the basics of ML in the first few videos along with building an intuition of CV &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                                                                 OR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=QytpbYkGxKo" rel="noopener noreferrer"&gt;Michigan University’s EECS 498&lt;/a&gt; : Almost the similar content but explained in depth and in an easier fashion ( &lt;em&gt;by the same instructor )&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/KuXjwB4LzSA" rel="noopener noreferrer"&gt;3B1B Convolutions Video&lt;/a&gt; : Before starting off the CNN in CS231n, I’d do this first, since it gives you a very good base and intuition of what Convolutions in actual math mean and then go back to 231n since I feel it starts on a bit of coarse note this way.&lt;/p&gt;

&lt;h1&gt;
  
  
  Topics which should be known if you wanna be called a good CV Research
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Basics of ML

&lt;ul&gt;
&lt;li&gt;Bias Variance&lt;/li&gt;
&lt;li&gt;Classification&lt;/li&gt;
&lt;li&gt;Regression&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Strong foundation of Neural Nets ( very clear intuition of how they work exactly )&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Image Processing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Convolutions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gaussian Blur, Mean Blur, Sobel Operator (for detecting edges)&lt;/p&gt;

&lt;p&gt;FOR DETECTING EDGES : Black and white filter ⇒ Gaussian Blur ⇒ Sobel (both in X and Y direction and then square rooting over the sum of their squares )&lt;/p&gt;

&lt;p&gt;since, it will remove the unnecessary edges from the images and just keep the main ones which are important for the image&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>How to safely remove a linux distro from a dual boot setup</title>
      <dc:creator>Hardik</dc:creator>
      <pubDate>Sun, 12 Jan 2025 10:08:05 +0000</pubDate>
      <link>https://dev.to/mhardik003/how-to-safely-remove-a-linux-distro-from-a-dual-boot-setup-5aeh</link>
      <guid>https://dev.to/mhardik003/how-to-safely-remove-a-linux-distro-from-a-dual-boot-setup-5aeh</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Find the boot order number of the distro using &lt;code&gt;efibootmgr&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove the distro from the boot menu using &lt;code&gt;sudo efibootmgr -b &amp;lt;the number found above&amp;gt; -B&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Remove the distro’s efi file. You can find where the EFI file of your distro is located online. Example for Ubuntu it is located in &lt;code&gt;/boot/efi/EFI/ubuntu/grubx64.efi&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;After this if you reboot, your system will directly boot into windows.&lt;/li&gt;
&lt;li&gt;Now you can safely delete the partition that you would have made earlier for ubuntu from Windows without worrying that the PC will crash next time on booting.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
