<?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: bhuvana-guna</title>
    <description>The latest articles on Forem by bhuvana-guna (@bhuvanaguna).</description>
    <link>https://forem.com/bhuvanaguna</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%2F145135%2Fd75d3bb4-ea09-427f-98a0-22f657a55f06.png</url>
      <title>Forem: bhuvana-guna</title>
      <link>https://forem.com/bhuvanaguna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bhuvanaguna"/>
    <language>en</language>
    <item>
      <title>5 Leadership lessons I have learned from animation movies</title>
      <dc:creator>bhuvana-guna</dc:creator>
      <pubDate>Thu, 27 Feb 2020 18:07:11 +0000</pubDate>
      <link>https://forem.com/bhuvanaguna/5-leadership-lessons-i-have-learned-from-animation-movies-7nf</link>
      <guid>https://forem.com/bhuvanaguna/5-leadership-lessons-i-have-learned-from-animation-movies-7nf</guid>
      <description>&lt;p&gt;This blog may or may not contain spoilers. Proceed with caution. This is not just for managers or team leaders, but also for anyone who wants to grow personally and professionally. &lt;/p&gt;

&lt;h4&gt;
  
  
  1. Madagascar Escape 2 Africa
&lt;/h4&gt;

&lt;p&gt;(No spoilers. Go ahead! Must watch.)&lt;/p&gt;

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

&lt;p&gt;I would have watched this scene alone like 1000 times. It for sure will give you a great laugh in whatever mood you are in! More than fun it teaches a very important lesson on how a leader should be. &lt;/p&gt;

&lt;p&gt;Rewatch the whole video with your concentration on how the Captain Penguin, Skipper handles the whole situation and the team. The way he stays calm, composed and cool through the whole crash landing situation is something that inspires me the most. &lt;/p&gt;

&lt;p&gt;Other things we can learn from him are, &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The way he communicates with the team. Crystal clear on what he needs. Asking for their opinion too and in the end, he is the one who takes the decision.&lt;/li&gt;
&lt;li&gt;The way he communicates with the client (the other animals, who without any choice had to choose AirPenguin. 😉 &lt;/li&gt;
&lt;li&gt;He has a solid plan for the worst case. And knows how to execute it with the team he has.&lt;/li&gt;
&lt;li&gt;After the crash, he analyses and asks for the report. He thanks and appreciates the whole team. And celebrates the victory &lt;strong&gt;with the team&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;And now after the fun, he gets right back to the next thing to do. Fix the plane. Not only that he knows how to FIX, but he also has a clear plan for that and consults the team to give an estimate.&lt;/li&gt;
&lt;li&gt;When you notice closely, as the lion(Alex) starts to question/bother Skipper on how he came up with the estimate, he doesn't waste his time arguing or fighting with him. He gets back to work. Getting the team started on fixing the plane.&lt;/li&gt;
&lt;li&gt;Should I say more about how he shuts up the lion? Watch and learn! 😜&lt;/li&gt;
&lt;li&gt;And at last, he hires mammals for their opposable thumbs. You need to have a diversified team, with varied required skill sets. Be open to work with people from different backgrounds. &lt;/li&gt;
&lt;li&gt;If you notice none of his team members panic throughout the whole crash landing. Guess why? Because they have got a leader who has all the above characteristics. So they &lt;strong&gt;TRUST&lt;/strong&gt; him.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Whoever has created the Skipper character is a genius! Who said penguins can't fly. &lt;/p&gt;

&lt;h4&gt;
  
  
  2. Kungfu Panda
&lt;/h4&gt;

&lt;p&gt;(Yup, some spoiler ahead)&lt;/p&gt;

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

&lt;p&gt;When Panda(Po) gets chosen as "The Dragon Warrior" Shifu worries how the Panda will ever be ready to face Tai Lung, the villain. But as the movie proceeds, he learns that Po can't be trained the way he has trained all the other students. He has his own way of learning and motivation. &lt;/p&gt;

&lt;p&gt;The way he teaches Kungfu to Po is for sure one of the best-written scenes. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned:&lt;/strong&gt; Not everyone is the same. Everyone has their own way of learning and their own pace of doing it. As a leader, your job is to discover that and help them grow accordingly.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Frozen 2
&lt;/h4&gt;

&lt;p&gt;(Definite spoiler)&lt;/p&gt;

&lt;p&gt;As Frozen 2 movie opens, you will see a perfectly happy situation where Elsa, Anna, Kristoff, Sven and Olaf are together and Arendelle people are happy. &lt;/p&gt;

&lt;p&gt;But you will soon know how much Elsa feels out of place, because of the power that grows inside. And when a voice calls out, she is afraid to follow it as she is going to have to take the risk of leaving all her loved ones. This song captures her feeling perfectly.&lt;/p&gt;

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

&lt;p&gt;Anyway, she follows the voice and everyone is set for an adventure and all that. And in the end, she finds the place where she truly belongs. &lt;/p&gt;

&lt;p&gt;Though it is hard to accept because Anna and Else are at two different places now, they are at the places where they can be their bests. Sometimes you would have to come out of your comfort zone and brave the odds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned:&lt;/strong&gt; Step out of your comfort zone, that is where the great things happen.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Kungfu Panda 2
&lt;/h4&gt;

&lt;p&gt;(Spoiler again)&lt;/p&gt;

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

&lt;p&gt;In the end when Po attains inner peace and defeats the peacock,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shifu:&lt;/strong&gt; Well, it seems you have found inner peace at such a young age. &lt;/p&gt;

&lt;p&gt;(He is surprised that Po has attained inner peace at the very young age, because at the beginning of the movie, Shifu explains how some have to meditate for 50 years to find inner peace or go through a lot of pain and suffering.)&lt;/p&gt;

&lt;p&gt;Though the way Shifu says it is kind of envious, he is really happy that Po has attained inner peace earlier.&lt;/p&gt;

&lt;p&gt;When you are manager/team leader you oftentimes find the junior people/ freshers being more talented than you are. And if you don't accept that neither of you can grow. Rather than being envious, you learn from them and also help them learn other sides of things that they are not master in, that is when as a whole, everyone grows.&lt;/p&gt;

&lt;p&gt;And BTW this is what Po replies. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Po:&lt;/strong&gt; I had a pretty good teacher. (read it as &lt;strong&gt;Leader&lt;/strong&gt;!)&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Wall - e
&lt;/h4&gt;

&lt;p&gt;(Spoiler! Spolier! Spoiler!)&lt;/p&gt;

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

&lt;p&gt;Though the movie's core revolves around Wall-e and Eva, let's take a step back and look at Axiom. The ship the humans live in, all so comfortable. They need not even stand up. Everything is at the arm's reach. You need not work. Doesn't that sound perfect place? Yes! &lt;/p&gt;

&lt;p&gt;When Captain McCrea says that the Earth is sustainable and they have to return, the AUTO robot says "just follow the directive". For 700 years the AUTO has been running the ship based on the given directive. Now the real captain, Captain McCrea goes against the rules. He is not afraid to change the process. He says he doesn't want to survive he wants to &lt;strong&gt;live&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned:&lt;/strong&gt; Don't be afraid to change the process when it is not working out or when you want to improve. Just because something has been around for a long time doesn't mean it should always be that way.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bonus
&lt;/h4&gt;

&lt;h4&gt;
  
  
  Zootopia
&lt;/h4&gt;

&lt;p&gt;(Definitely spoiler. If you haven't watched this movie yet, close the tab immediately.)&lt;/p&gt;

&lt;p&gt;This is a lesson on how a leader should not be. &lt;/p&gt;

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

&lt;p&gt;In this movie, you can obviously see how Mayor Lionheart from the beginning is treating the assistant mayor, Bellweather(the lamb) so poorly. It is obvious that she mostly does paperwork and menial jobs while Lionheart is somewhat of a glory hound who dumps the work on her and gets every attention. &lt;/p&gt;

&lt;p&gt;This is one of the reasons she hates Predators and wanted to take over. Think, had he treated her with the respect she deserves it would have for sure changed her whole perspective about the predators.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson learned:&lt;/strong&gt; Treat people with respect, regardless of their designation. &lt;/p&gt;

&lt;p&gt;This I learned from my manager, Shan. Even while talking he refers to employees as people and not as &lt;strong&gt;resources&lt;/strong&gt;. Would you ever write in your resume that you are a very good, say NodeJS &lt;strong&gt;resource&lt;/strong&gt;? &lt;/p&gt;

&lt;p&gt;All these are easier said than done. Yes, life is complex and leadership is difficult. But I just hope we can remind ourselves these every now and then. &lt;/p&gt;

&lt;p&gt;Also, I believe this post has inspired you to watch animation movies. The animation moviemakers are really ingenious! I just can't tell how much these movies have inspired/motivated me.&lt;/p&gt;

</description>
      <category>leadership</category>
      <category>management</category>
      <category>leader</category>
      <category>growth</category>
    </item>
    <item>
      <title>Top 10 takeaways from "How to become an aspiring architect" meetup</title>
      <dc:creator>bhuvana-guna</dc:creator>
      <pubDate>Thu, 30 Jan 2020 12:46:04 +0000</pubDate>
      <link>https://forem.com/bhuvanaguna/top-10-takeaways-from-how-to-become-an-aspiring-architect-meetup-1c69</link>
      <guid>https://forem.com/bhuvanaguna/top-10-takeaways-from-how-to-become-an-aspiring-architect-meetup-1c69</guid>
      <description>&lt;p&gt;I got an opportunity to attend a meetup, &lt;a href="https://www.meetup.com/Chennai-Microsoft-Azure-User-Group/events/267373337/" rel="noopener noreferrer"&gt;"How to become an aspiring architect"&lt;/a&gt; by &lt;a href="https://twitter.com/karthik3030" rel="noopener noreferrer"&gt;Karthikeyan VK&lt;/a&gt;. The whole meetup was so informative and enlightening. Most of the techniques/topics covered are something that we have to practice to grow as &lt;strong&gt;a better individual personally and professionally.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The whole session was completely interactive and the questions and opinion differences were addressed with open mind and facts. &lt;/p&gt;

&lt;p&gt;Karthikeyan was supporting all his statements with the book reference. He brought all those books with him. &lt;strong&gt;"Showing and Telling"&lt;/strong&gt; has its own power of being in your mind for a long time.&lt;/p&gt;

&lt;p&gt;At the beginning of the day, Karthikeyan gave us a form that had around 20 self-awareness questions. All those aligned with the agenda of the whole day. It made us bring out all the answers from within. &lt;/p&gt;

&lt;p&gt;We know &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;what our goal is, &lt;/li&gt;
&lt;li&gt;how to achieve it and &lt;/li&gt;
&lt;li&gt;what we are not doing to achieve it. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We just have to take to &lt;strong&gt;bring them out and act&lt;/strong&gt; accordingly. &lt;/p&gt;

&lt;p&gt;One part of it that stuck with me was,&lt;/p&gt;

&lt;p&gt;At the beginning of the session, he asked us to write our five primary goals in our lives for the next five years. Halfway through, he asked us to write what we want our spouse, kids, relatives, and colleagues to say about ourselves and our lives when we die. And the next question was, what we should do to achieve that.&lt;/p&gt;

&lt;p&gt;Now he asked us to check if it actually aligned with our primary goals. This was a real eye-opener for everyone there.&lt;/p&gt;

&lt;p&gt;I felt so inspired after the session that I want to share a part of what I learned there. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Why? Have a burning WHY.&lt;/strong&gt;&lt;br&gt;
   Know why you would want to become an architect. Only then you will have the fire to become one.&lt;/p&gt;

&lt;p&gt;This is the main point that was stressed throughout the session. Once you have burning WHY, you will start to take responsibility. When you take responsibility, we start to give your 100% in whatever you do.&lt;br&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%2Fi%2Frfywh8r69p2pdmlf7lv5.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%2Fi%2Frfywh8r69p2pdmlf7lv5.jpg" alt="Find your why, and you'll find your way."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Beware of self-talk&lt;/strong&gt;&lt;br&gt;
This resonated with what I have read before “Your mind is a supercomputer and your self-talk is the program it will run. " by Jim Kwik. So you have to be very conscious about what you tell yourself. &lt;/p&gt;

&lt;p&gt;Know that everyone has imposter syndrome. Just don't let that bother you more than what you have to do come out of it.&lt;br&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%2Fi%2F7i1ohciah9k3ij0a7ki2.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%2Fi%2F7i1ohciah9k3ij0a7ki2.png" alt="Imposter Syndrome"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Four Quadrants of Time Management:&lt;/strong&gt;&lt;br&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%2Fi%2Fvxi8l4npe6yi6e7tz7sm.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%2Fi%2Fvxi8l4npe6yi6e7tz7sm.jpg" alt="Four Quadrants of Time Management Matrix"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To live a stress-free life, Move all your time from Quadrant 4 to Quadrant 2.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unimportant, not urgent --&amp;gt; Important, not urgent&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It was so well articulated that now when I do something that is not so important I try to think if there are any important, not so urgent tasks that I can utilize that time for.&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%2Fi%2Fvvdb3i0sido76uiuk61s.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%2Fi%2Fvvdb3i0sido76uiuk61s.jpg" alt="Things which matter most must never be at the mercy of the things which matter least."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. 55-10-55-30&lt;/strong&gt;&lt;br&gt;
He mentioned this technique that he read from a book, to increase productivity. When you want to do work efficiently,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spend uninterrupted 55 minutes on it. Take 10 min rest. Then again uninterrupted 55 minutes on it. And rest for 30 minutes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Overall you would have given two hours of complete focus to whatever you wanted to do, be it work or reading a book. So you would have definitely made some progress on it and feel so much accomplished. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Accept people as they are&lt;/strong&gt;&lt;br&gt;
Some might come into the office after 12pm and leave late. Some might be more efficient if they work from home. Some won't work if they are micro-manged. Some will work only if micro-managed. &lt;/p&gt;

&lt;p&gt;You can't change them. Accept them as they are and do what you can do. Don't just blame!&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%2Fi%2Fxu2mbr4oh8idupwfrz9t.jpeg" 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%2Fi%2Fxu2mbr4oh8idupwfrz9t.jpeg" alt="Don't critize, condemn or complain."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Know 12 factor App&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Master Solid principles&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;8. Know how to prepare an architecture document *&lt;/em&gt;&lt;br&gt;
Karthikeyan discussed various points that should be covered. And a hands-on exercise giving a use-case.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Never argue&lt;/strong&gt;&lt;br&gt;
There is no such thing as winning an argument. If you argue, one person has to definitely lose at the end of it. So always aim for a win-win situation. &lt;/p&gt;

&lt;p&gt;But if the intention is to learn, then question. That is how you learn.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Exactly copy the master first, then improve&lt;/strong&gt;&lt;br&gt;
The example he gave was so me.&lt;/p&gt;

&lt;p&gt;When I want to try a new technology and I open a step-by-step tutorial, often halfway through I start thinking it is too simple and try to learn some more advanced concepts about it and totally go offboard. And at the end of the day, all I end up with is the 3 windows open with 30 tabs each to read and "No working POC". &lt;/p&gt;

&lt;p&gt;First, follow what the master(tutorial) says. Finish it. Learn and understand that. Then improve. &lt;/p&gt;

&lt;p&gt;There is nothing undermining in following the manual. More often it saves a lot of time than trying out on your own. &lt;/p&gt;

&lt;p&gt;These are only a small part of what was covered. All these and much more were delivered in such a way that everyone left that day feeling inspired and motivated to change the way they work and most importantly, &lt;strong&gt;change the way they live!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All thanks to &lt;a href="https://twitter.com/karthik3030" rel="noopener noreferrer"&gt;Karthikeyan VK&lt;/a&gt; for an enlightening session.&lt;/p&gt;

&lt;p&gt;(All the images in the blog are from Google and not a part of the presentation. But the quotes were shared by the speaker.)&lt;/p&gt;

</description>
      <category>architect</category>
      <category>selfawareness</category>
    </item>
    <item>
      <title>Get your work done faster with bash command shortcuts</title>
      <dc:creator>bhuvana-guna</dc:creator>
      <pubDate>Thu, 03 Oct 2019 23:08:57 +0000</pubDate>
      <link>https://forem.com/bhuvanaguna/get-your-work-done-faster-with-bash-command-shortcuts-1eml</link>
      <guid>https://forem.com/bhuvanaguna/get-your-work-done-faster-with-bash-command-shortcuts-1eml</guid>
      <description>&lt;p&gt;Do you despise typing? especially long commands? same long commands repetitively for the 1008th time?&lt;/p&gt;

&lt;p&gt;Don't you ever wish you could type just &lt;strong&gt;single letter&lt;/strong&gt; and get the 10 commands executed!&lt;/p&gt;

&lt;p&gt;Imagine you say "go" and the repository changes gets &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;staged, &lt;/li&gt;
&lt;li&gt;committed and &lt;/li&gt;
&lt;li&gt;pushed!! &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wow! Wouldn't that be magical! Let's do some magic!!&lt;/p&gt;

&lt;p&gt;Do you know you can create shortcuts for the bash commands? You need not type a long command every single time and also create meaningful names for the commands.&lt;/p&gt;

&lt;p&gt;In this blog, we will see&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;how to create aliases to bash commands, &lt;/li&gt;
&lt;li&gt;create functions that execute a series of commands and &lt;/li&gt;
&lt;li&gt;awesome Github repo that has the list of predefined shortcuts that are ready to use.&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  Creating Aliases
&lt;/h4&gt;

&lt;p&gt;Say you want to type just 'b' instead 'cd ..' every time you want to go behind a directory, you would have to create an alias.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias b="cd .."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy the above code and execute it in your terminal. &lt;/p&gt;

&lt;p&gt;Now just try executing "b".&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;BOOM! That's it! You need not type "cd .." every time! You can just type "b".&lt;/p&gt;

&lt;p&gt;Don't' worry, alias won't stop you from using the actual command. This is just another way to use the command, you can also use "cd ..".&lt;/p&gt;

&lt;p&gt;Now try the alias in the new terminal. &lt;/p&gt;

&lt;p&gt;Is it working? No, right? &lt;/p&gt;

&lt;p&gt;You would have to declare alias again, like in step 1, in that terminal window for it to work. &lt;/p&gt;

&lt;p&gt;OMG! Looks like we would have to declare alias in each terminal window. &lt;/p&gt;

&lt;p&gt;Thank GOD! &lt;strong&gt;No!&lt;/strong&gt; We have a way to tell the terminal to load the alias on every interactive terminal launch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;.bashrc&lt;/strong&gt; to the rescue!&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;What is .bashrc?&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;.bashrc (bash run control) is a shell script that Bash runs whenever it is started interactively. It initializes an interactive shell session. You can put any command in that file that you could type at the command prompt.&lt;/p&gt;

&lt;p&gt;This is the file where our alias is going to go! So inside this, we can just add &lt;strong&gt;alias b="cd.."&lt;/strong&gt; and get it working in all the terminal windows.&lt;/p&gt;

&lt;p&gt;But what if you want to add a list of aliases. Like below,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias e="exit"
alias s="sudo $1"
alias b="cd .."
alias c="clear"
alias t="touch $1"
alias md="mkdir $1"
alias rd="rmdir $1"
alias nn="nano $1"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wouldn't that make the .bashrc script crowded? And also we have to change .bashrc directly every time we want to add/change an alias, which is not a best practice.&lt;/p&gt;

&lt;p&gt;So we are going to create a new shell script and add all our aliases inside that. Now it's enough if we just source that file inside .bashrc and also in future, it's just enough to make changes in that file if we want to add/change an alias.&lt;/p&gt;

&lt;p&gt;Let's see how to do that!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Let's create our script in the &lt;strong&gt;home directory&lt;/strong&gt;. This is where .bashrc file is placed. So better to keep it all in a single place. Navigate to home directory.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ~
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a new script named &lt;strong&gt;".custom_cmds.sh"&lt;/strong&gt; in your home directory. "." is prefixed to the name to hide the script in the file directory. So that no one can accidentally change it.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch .custom_cmds.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open the script with the editor of your choice, like vim or nano. If you have Visual studio code you can open with it.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano .custom_cmds.sh
##To open in VSCode you can use $code .custom_cmds.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add the list of aliases inside. You can use the below list to start with. Change it to your preference.&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; "$1" stands for the first parameter.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias e="exit"
alias s="sudo $1"
alias b="cd .."
alias c="clear"
alias t="touch $1"
alias md="mkdir $1"
alias rd="rmdir $1"
alias nn="nano $1"
#open in vscode
alias v="code $1"
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Don't forget to save it. Now let's open .bashrc file.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano .bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Source the .custom_cmds.sh file inside .bashrc. Add the below line at the end of .bashrc file.&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#adding custom aliases 
source ~/.custom_cmds.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Save and close it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open a &lt;strong&gt;new&lt;/strong&gt; terminal window and try the aliases now! (already open terminals won't have the aliases as .bashrc only get executed during the launch.) Type "b" to go back a directory or "c" to clear.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If there is an error in .custom_cmds.sh script then you will be seeing the error when you open a new terminal window. Make sure to fix and save it.&lt;/p&gt;

&lt;p&gt;To see the full list aliases for your terminal session, try "alias" command.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;h4&gt;
  
  
  Executing a bunch of commands with a single command
&lt;/h4&gt;

&lt;p&gt;Okay! All these are fine but how can you create an alias for a bunch of commands? &lt;br&gt;
This is where &lt;strong&gt;functions&lt;/strong&gt; help!&lt;/p&gt;

&lt;p&gt;You can create a function like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function doc() {
    clear
    cd Documents
    echo "Here is your Documents directory, Master!"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above function executes 3 commands. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Clears your terminal, &lt;/li&gt;
&lt;li&gt;navigates to your Documents directory and &lt;/li&gt;
&lt;li&gt;prints "Here is your Documents directory, Master!". &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can try it by pasting the above function declaration directly in your terminal and execute the function by just using the function name - "doc"!&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;You can use it just like any other alias.&lt;/p&gt;

&lt;p&gt;The above is just to get you understand function. You can shorten a lot of repetitive tasks with it. As mentioned in the intro, you can add, commit and push to a branch with just one command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# git add, commit and push to a branch
function gacpb() {
    git add .
    git commit -m "$1"
    git push origin $2
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can execute it like below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$gacpb "commit message" branch-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go ahead and add functions to your .custom_cmds.sh script and then they are at your service all the time!&lt;/p&gt;

&lt;h4&gt;
  
  
  Awesome Bash command shortcuts repository
&lt;/h4&gt;

&lt;p&gt;If you love using shortcuts for commands, you are in for a treat! Here is &lt;a href="https://github.com/bhuvana-guna/awesome-bash-shortcuts" rel="noopener noreferrer"&gt;a repo&lt;/a&gt; that has a list of predefined shortcuts for commands of various programs like git, npm,..&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fk1qvcnaafun3kzpligmt.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fk1qvcnaafun3kzpligmt.png" alt="Awesome Bash command shortcuts repo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/bhuvana-guna/awesome-bash-shortcuts" rel="noopener noreferrer"&gt;https://github.com/bhuvana-guna/awesome-bash-shortcuts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will help you easily manage shortcuts for different programs and yet import them as a single file in .bashrc. Once set up you can customize it for your preference.&lt;/p&gt;

&lt;p&gt;You can also contribute to it. &lt;a href="https://hacktoberfest.digitalocean.com" rel="noopener noreferrer"&gt;#hacktoberfest&lt;/a&gt; Do check it out!&lt;/p&gt;

&lt;p&gt;Short commands means less time spent on typing and more time spent on hacking!&lt;/p&gt;

&lt;p&gt;Congrats on getting the work done faster!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cover image source: Google&lt;/em&gt;&lt;/p&gt;

</description>
      <category>bash</category>
      <category>git</category>
      <category>npm</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Git process and commands to know to contribute to an open-source project </title>
      <dc:creator>bhuvana-guna</dc:creator>
      <pubDate>Thu, 03 Oct 2019 07:04:33 +0000</pubDate>
      <link>https://forem.com/bhuvanaguna/git-process-and-commands-to-know-to-contribute-to-an-open-source-project-l2f</link>
      <guid>https://forem.com/bhuvanaguna/git-process-and-commands-to-know-to-contribute-to-an-open-source-project-l2f</guid>
      <description>&lt;p&gt;With &lt;a href="https://hacktoberfest.digitalocean.com" rel="noopener noreferrer"&gt;Hacktoberfest&lt;/a&gt; happening this month, everyone is so pumped up to contribute to opensource. The aim of this blog is to give you the detailed steps to follow and commands to use when you contribute to an open-source project. &lt;/p&gt;

&lt;p&gt;When you find an open-source GitHub project to which you want to add a feature or fix an issue, you would find that you would have to make a pull request(PR) to them to review and accept your changes. &lt;/p&gt;

&lt;p&gt;This is the basic workflow to create a pull request.&lt;br&gt;
&lt;strong&gt;Fork -&amp;gt; Clone -&amp;gt; Create branch -&amp;gt; Add -&amp;gt; Commit -&amp;gt; Push -&amp;gt; Create Pull Request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We will see it in detail.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Fork&lt;/strong&gt; the Git repository - This is to create a copy of the original repository in your account.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F0qee3b0yp39352zmerbx.png" alt="Fork the repository"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once it is done, you will be able to see that repository in your account. Now click &lt;strong&gt;Clone/Download&lt;/strong&gt; and copy the URL.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcqmj1vwvana0zb5ojgyl.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcqmj1vwvana0zb5ojgyl.png" alt="Get the Cloning url"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make sure you are cloning the repository that is in your account by checking the URL. It should have your GitHub username&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open your terminal and navigate to the parent folder for your project and execute the below command with the copied URL.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone &amp;lt;clone-url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This will create the project folder with all the content.&lt;/p&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Navigate into the project folder.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd your-project
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Create a feature branch for the changes you are going to make. Make sure the branch name implies the changes you are going to make/feature you are going to add. eg: git checkout -b fixing-border-issue (or) git checkout -b new-product-page-ui&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b branch-name
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;After making the changes, add them to the branch.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add file-name

#To add all the changed files

git add .
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Commit the changes. Give proper comments explaining the changes made.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "your comments"
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Push the changes to the branch.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin branch-name
&lt;/code&gt;&lt;/pre&gt;




&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Once you pushed, go to your GitHub repository page. You should be able to see a yellow bar with &lt;strong&gt;Compare and Pull request&lt;/strong&gt; button. Click that and add comments. &lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fuefv82sec8eqjk4loepr.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fuefv82sec8eqjk4loepr.jpg" alt="Pull Request Yellow bar on your repo page"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Check and add more comments. When you are sure, Click &lt;strong&gt;Create pull request&lt;/strong&gt; button. &lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fzfbml1lncbr0dsvmv9t6.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fzfbml1lncbr0dsvmv9t6.png" alt="Create Pull Request"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fom56isqklfjqxyzrl4qe.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fom56isqklfjqxyzrl4qe.png" alt="Pull Request done"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;You have made a pull request. Now you have to wait till a reviewer merges your PR. You will see a notification once your PR is accepted and merged.&lt;br&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Foh4iohf9o2bd482mz0vc.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Foh4iohf9o2bd482mz0vc.png" alt="Pull request merged"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>pullrequest</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>How I installed Oracle JDK 8 in Ubuntu 18.04.1 LTS</title>
      <dc:creator>bhuvana-guna</dc:creator>
      <pubDate>Wed, 18 Sep 2019 12:08:47 +0000</pubDate>
      <link>https://forem.com/bhuvanaguna/how-i-installed-oracle-jdk-8-in-ubuntu-18-04-1-lts-53jh</link>
      <guid>https://forem.com/bhuvanaguna/how-i-installed-oracle-jdk-8-in-ubuntu-18-04-1-lts-53jh</guid>
      <description>&lt;p&gt;&lt;br&gt;
Today I tried installing JAVA in my new Ubuntu system and followed the conventional method of downloading it through ppa:webupd8team/java oracle-java8-installer following &lt;a href="https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04"&gt;this link&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Even though I successfully installed the default JDK and JRE, I was not able to install Oracle JDK which was needed for Android Studio.&lt;/p&gt;

&lt;p&gt;After some research, I found out through &lt;a href="https://launchpad.net/~webupd8team/+archive/ubuntu/java"&gt;this link&lt;/a&gt; that as of April 16, 2019, you won't be able to download Oracle JDK without signing in to an Oracle account. &lt;a href="https://stackoverflow.com/questions/55920389/e-package-oracle-java8-installer-has-no-installation-candidate"&gt;This&lt;/a&gt; stackoverflow answer too helped me.&lt;/p&gt;

&lt;p&gt;With all these help these are steps I followed to install Oracle JDK.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Download the latest JAVA 8 SE development kit from &lt;a href="https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html"&gt;here&lt;/a&gt; after creating or signing in to the Oracle account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open your terminal and type&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$mkdir /opt/jdk
&lt;/code&gt;&lt;/pre&gt;




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

&lt;p&gt;Untar Java in your new folder&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$tar -zxf jdk-8u5-linux-x64.tar.gz -C /opt/jdk
&lt;/code&gt;&lt;/pre&gt;




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

&lt;p&gt;I installed using these commands (don't forget to replace  with the one you installed.)&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_&amp;lt;YourVersion&amp;gt;/bin/java 100
$update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_&amp;lt;YourVersion&amp;gt;/bin/javac 100
&lt;/code&gt;&lt;/pre&gt;




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

&lt;p&gt;To set oracle JDK as the default JVM, run&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$sudo update-alternatives --config java
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;and select the Oracle JDK that you installed. And also do the same for java compiler,&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt; $sudo update-alternatives --config javac
&lt;/code&gt;&lt;/pre&gt;




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

&lt;p&gt;Set the JAVA_HOME Environment Variable using the following commands.&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  $sudo nano /etc/environment
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;add this line&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;JAVA_HOME="/opt/jdk/jdk1.8.0_&amp;lt;YourVersion&amp;gt;/bin/java" 
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;and save the file, exit. Now reload and check using,&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$source /etc/environment

$echo $JAVA_HOME
&lt;/code&gt;&lt;/pre&gt;




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

&lt;p&gt;Check if the java version is right&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$java -version
&lt;/code&gt;&lt;/pre&gt;




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

&lt;p&gt;Hope this helped you.&lt;/p&gt;

</description>
      <category>java8</category>
      <category>oraclejdk</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>CSS Only Image - Beginner</title>
      <dc:creator>bhuvana-guna</dc:creator>
      <pubDate>Sat, 27 Jul 2019 02:24:58 +0000</pubDate>
      <link>https://forem.com/bhuvanaguna/css-only-image-beginner-4ghj</link>
      <guid>https://forem.com/bhuvanaguna/css-only-image-beginner-4ghj</guid>
      <description>&lt;p&gt;I have been wanting to try CSS only images for a very long time. When I found &lt;a href="https://dribbble.com/shots/3174839-Awsome-iOS-Logo-Concept"&gt;this sketch&lt;/a&gt; by &lt;a href="https://dribbble.com/becampanha"&gt;Bruno Echenique Campanhã&lt;/a&gt; on google images I wanted to try it with only CSS.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/bhuvana/embed/NQroqe?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges Faced
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Creating concentric circles and lines in the background without any extra markups&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Concepts learnt
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;How to efficiently breakdown an image to divs (which should be nested and in which order)&lt;/li&gt;
&lt;li&gt;How to &lt;strong&gt;not&lt;/strong&gt; use too many markups&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  CSS Properties learnt
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient"&gt;linear gradient&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/radial-gradient"&gt;radial gradient&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/docs/Web/CSS/clip-path"&gt;clip-path&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Helpful Resources
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://bennettfeely.com/clippy/"&gt;Clippy&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://shapy.app/"&gt; Shapy- Gradient shape editor by Victoria&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://coding-artist.teachable.com/"&gt;Starter course for absolute CSS Images begineer by Michael Mangialardi&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>codepen</category>
      <category>css</category>
      <category>dailycssimages</category>
      <category>begineers</category>
    </item>
  </channel>
</rss>
