<?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: Manaswini</title>
    <description>The latest articles on DEV Community by Manaswini (@thisismanaswini).</description>
    <link>https://dev.to/thisismanaswini</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%2F399382%2Fddb70fdc-a3b3-4df3-8c55-c0f028bbb2e7.jpg</url>
      <title>DEV Community: Manaswini</title>
      <link>https://dev.to/thisismanaswini</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thisismanaswini"/>
    <language>en</language>
    <item>
      <title>Let's talk about bits</title>
      <dc:creator>Manaswini</dc:creator>
      <pubDate>Fri, 23 Oct 2020 04:14:17 +0000</pubDate>
      <link>https://dev.to/thisismanaswini/let-s-talk-about-bits-34kh</link>
      <guid>https://dev.to/thisismanaswini/let-s-talk-about-bits-34kh</guid>
      <description>&lt;p&gt;A bit is a unit used in computations. It is short for Binary Digit. It can take two values, either 0 or 1. All of what is done by computers has to do with manipulating these bits. All the arithmetic, execution of instructions, data transfer and storage etc... narrows down to either a 0 or a 1.&lt;/p&gt;

&lt;p&gt;Today, in this post we'll try to understand what bits are, some terms related to them and conversion of a decimal number to a binary number and vice-versa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some terms
&lt;/h2&gt;

&lt;p&gt;First let's familiarize ourselves with a few terms that you will find when you start to consume literature related to bits.&lt;/p&gt;

&lt;p&gt;1) Byte : A byte is basically a collection of 8 bits. For example, 01100000 is a byte, 10100100 is also a byte. A byte can be used to represent any number between 0 and 255, both included. I'll explain more about that later in the post.&lt;/p&gt;

&lt;p&gt;2) Word : A series of bits grouped to represent a number.&lt;/p&gt;

&lt;p&gt;3) Binary number : A number expressed using bits.&lt;/p&gt;

&lt;p&gt;4) ^ : This is a notation that I'll be using in this article to mean "to the power of". So for example, 3^2 means 3*3 = 9&lt;/p&gt;

&lt;h2&gt;
  
  
  How to represent a number using bits ?
&lt;/h2&gt;

&lt;p&gt;In the definitions for a byte and a binary number, I spoke about how bits can be used to represent any number ( between 0 and 255, both included ). I'll explain how this is done now.&lt;/p&gt;

&lt;h3&gt;
  
  
  Binary number to a decimal number
&lt;/h3&gt;

&lt;p&gt;A binary number is expressed in the base 2 numeral system. When we work normally with everyday numbers, we use the decimal system, which is a base 10 numeral system.&lt;/p&gt;

&lt;p&gt;That is to say, if we have a number let's say, 183, we can express it in decimal system as 100 + 80 + 3 = (1*&lt;strong&gt;100&lt;/strong&gt;) + (8*&lt;strong&gt;10&lt;/strong&gt;) + (3*&lt;strong&gt;1&lt;/strong&gt;). If we had 7706, we could express it as (7*&lt;strong&gt;1000&lt;/strong&gt;) + (7*&lt;strong&gt;100&lt;/strong&gt;) + (0*&lt;strong&gt;10&lt;/strong&gt;) + (6*&lt;strong&gt;1&lt;/strong&gt;). Notice the numbers in bold. Let's call them multipliers.&lt;/p&gt;

&lt;p&gt;For 183, the multipliers were 100, 10 and 1&lt;/p&gt;

&lt;p&gt;For 7706 the multipliers were 1000, 100, 10 and 1.&lt;/p&gt;

&lt;p&gt;You might have observed the following for these multipliers.&lt;/p&gt;

&lt;p&gt;Any given multiplier is ten times the multiplier next to it in the decimal system. In other words, when we go from the right most multiplier to the left most one, we iterate through the powers of 10.&lt;/p&gt;

&lt;p&gt;This is what we mean by a base 10 numeral system, which is our everyday decimal system. The binary number system, like I said before, is a base 2 numeral system.&lt;/p&gt;

&lt;p&gt;This should mean that every multiplier to be used in the binary system should be two times the next multiplier. In other words, when we go from the right most multiplier to the left most one, we iterate through the powers of 2.&lt;/p&gt;

&lt;p&gt;So if I choose a random number in the binary system, say, 0110111, then to express it in our everyday number system, we need to multiply each bit in it by a multiplier and then add the result of all these multiplications to get that final decimal number.&lt;/p&gt;

&lt;p&gt;The multipliers are 64, 32, 16, 8, 4, 2 and 1. (64 is two times 32, 32 is two times 16 and so on...)&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%2Fvtq8a6yw6z3i6noicsfc.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%2Fvtq8a6yw6z3i6noicsfc.png" alt="Following equation shown pictorially"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;=&amp;gt; 0110111 = (0*&lt;strong&gt;64&lt;/strong&gt;) + (1*&lt;strong&gt;32&lt;/strong&gt;) + (1*&lt;strong&gt;16&lt;/strong&gt;) + (0*&lt;strong&gt;8&lt;/strong&gt;) + (1*&lt;strong&gt;4&lt;/strong&gt;) + (1*&lt;strong&gt;2&lt;/strong&gt;) + (1*&lt;strong&gt;1&lt;/strong&gt;) = 0+32+16+0+4+2+1 = 55&lt;/p&gt;

&lt;p&gt;i.e. 0110111 in binary system is equivalent to 55 in the decimal system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decimal number to a binary number
&lt;/h3&gt;

&lt;p&gt;Now if we want to go from decimal to binary, we need to work our way backwards. Hold on! Don't worry. I'll give you an example that will make this clear.&lt;/p&gt;

&lt;p&gt;Let's choose 74.&lt;/p&gt;

&lt;p&gt;Here are the powers of 2 up till 2^7&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%2Fywitvqoa2s7mgyc4ikvd.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%2Fywitvqoa2s7mgyc4ikvd.png" alt="Powers of 2 : 2^0=1, 2^1=2, 2^2=4, 2^3=8, 2^4=16, 2^5=32, 2^6=64, 2^7=128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The power of 2 that is immediately smaller than 74 is 64. We need to write 74 in terms of addition of powers of 2 starting from 64 and going down till 1.&lt;/p&gt;

&lt;p&gt;74 = 64 + 8 + 2 = (1*&lt;strong&gt;64&lt;/strong&gt;) + (0*&lt;strong&gt;32&lt;/strong&gt;) + (0*&lt;strong&gt;16&lt;/strong&gt;) + (1*&lt;strong&gt;8&lt;/strong&gt;) + (0*&lt;strong&gt;4&lt;/strong&gt;) + (1*&lt;strong&gt;2&lt;/strong&gt;) + (0*&lt;strong&gt;1&lt;/strong&gt;)&lt;/p&gt;

&lt;p&gt;This looks similar to the form we saw in the example of converting a binary to a decimal number. Let's write both the forms together and try to correlate them&lt;/p&gt;

&lt;p&gt;First example :&lt;/p&gt;

&lt;p&gt;0110111 = (0*&lt;strong&gt;64&lt;/strong&gt;) + (1*&lt;strong&gt;32&lt;/strong&gt;) + (1*&lt;strong&gt;16&lt;/strong&gt;) + (0*&lt;strong&gt;8&lt;/strong&gt;) + (1*&lt;strong&gt;4&lt;/strong&gt;) + (1*&lt;strong&gt;2&lt;/strong&gt;) + (1*&lt;strong&gt;1&lt;/strong&gt;) = 55&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%2Fpy9syr85zhezyyiavhv7.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%2Fpy9syr85zhezyyiavhv7.png" alt="Above equations shown pictorially"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Second example (present) :&lt;/p&gt;

&lt;p&gt;74 = (1*&lt;strong&gt;64&lt;/strong&gt;) + (0*&lt;strong&gt;32&lt;/strong&gt;) + (0*&lt;strong&gt;16&lt;/strong&gt;) + (1*&lt;strong&gt;8&lt;/strong&gt;) + (0*&lt;strong&gt;4&lt;/strong&gt;) + (1*&lt;strong&gt;2&lt;/strong&gt;) + (0*&lt;strong&gt;1&lt;/strong&gt;) = ?&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%2F4xo54zblzvb56fwz8gbs.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%2F4xo54zblzvb56fwz8gbs.png" alt="Above equations shown pictorially"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't they look almost alike? By comparison, we get that for the second example the binary form should be 1001010.&lt;/p&gt;

&lt;p&gt;Therefore 74 in the decimal system is equivalent to 1001010 in the binary form.&lt;/p&gt;

&lt;h2&gt;
  
  
  So we learnt how to convert a decimal number to a binary number and vice-versa. What next?
&lt;/h2&gt;

&lt;p&gt;Remember, in the definition of a byte, I told you that a byte can be used to represent any number between 0 and 255. All the explanation till now was to prove that.&lt;/p&gt;

&lt;p&gt;A byte, if you recall is basically a combination of 8 bits. It can be any combination of 0s and 1s as far as the total number of bits in it are 8.&lt;/p&gt;

&lt;p&gt;So the smallest combination (in terms of value) is eight 0s placed back to back i.e. 00000000 and the largest number is eight 1s placed back to back i.e. 11111111. If we apply the techniques we learnt before and try to convert 00000000 and 11111111 to the decimal system, guess what we'll get.&lt;/p&gt;

&lt;p&gt;000000000 in binary is equivalent to 0 in decimal system.&lt;/p&gt;

&lt;p&gt;11111111 in binary is equivalent to 255 in decimal system.&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%2F79zxg9sy2ttvrvovmqgr.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%2F79zxg9sy2ttvrvovmqgr.png" alt="Numbers from 0 to 255 can be represented using a byte"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That means we can represent any number between 0 and 255, both included using 8 bits i.e. using one byte.&lt;/p&gt;

&lt;p&gt;Today we learnt&lt;br&gt;
1) What a bit, byte, word and a binary number are&lt;/p&gt;

&lt;p&gt;2) We learnt about how we can convert a binary number into a decimal number and vice-versa&lt;/p&gt;

&lt;p&gt;3) At last we proved how we can represent any number between 0 and 255 (both included) using one byte ( i.e. using 8 bits )&lt;/p&gt;

&lt;p&gt;Next Steps&lt;br&gt;
In the next article, I'll talk about how we can perform simple logical operations using bits and learn about logical gates.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>bits</category>
      <category>binarynumbers</category>
    </item>
    <item>
      <title>Things I'd do differently if I had to start with programming all over again!</title>
      <dc:creator>Manaswini</dc:creator>
      <pubDate>Sat, 15 Aug 2020 02:50:06 +0000</pubDate>
      <link>https://dev.to/thisismanaswini/things-i-d-do-differently-if-i-had-to-start-with-programming-all-over-again-33m8</link>
      <guid>https://dev.to/thisismanaswini/things-i-d-do-differently-if-i-had-to-start-with-programming-all-over-again-33m8</guid>
      <description>&lt;p&gt;Regrets!! These are the things that we wish we would have done. I too have some of them when it comes to learning programming and also Web development. I'd like to share these experiences here so that anyone who is reading this can prevent these or stop making these mistakes if you are making them already.&lt;br&gt;
This is actually a reiteration of my first meet-up talk where I talked about things I'd do differently if I had to start again.&lt;/p&gt;

&lt;h1&gt;
  
  
  Don't be afraid to ask for help
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6HenSiA9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9g94daufxki7n7jaaaix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6HenSiA9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9g94daufxki7n7jaaaix.png" alt="Speaker CSS illustration"&gt;&lt;/a&gt;&lt;br&gt;
My work would have been much better, I'm sure, if only I had taken the initiative to ask for help. This was hard especially since I easily got anxious to talk to others. Also, I thought googling for answers would not make me a good developer. So I restrained myself from doing so, which posed as one of the biggest hurdles to my growth. &lt;/p&gt;

&lt;h1&gt;
  
  
  Breaks are very important
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P4fDeK0H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zbdpsbzr4hfairvri6qj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P4fDeK0H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zbdpsbzr4hfairvri6qj.png" alt="Battery CSS illustration"&gt;&lt;/a&gt;&lt;br&gt;
I was filled with a guilt that I wasn't doing enough when I got away from my laptop. So I didn't take proper breaks and that almost led to a burnout. Now I've realized how powerful breaks can be! In fact they can make us more productive, unless you use this as an excuse to stay on your couch all day doing nothing 😂😂 Just kidding. If you fancy doing that, you are free to do so!!!&lt;/p&gt;

&lt;h1&gt;
  
  
  Pursue something other than coding
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e6R1-yf8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9s349s5vlkspv1qhtq89.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e6R1-yf8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9s349s5vlkspv1qhtq89.png" alt="Musicians CSS illustration"&gt;&lt;/a&gt;&lt;br&gt;
Hobbies are what make us different. Don't let that uniqueness get lost in the noise of deadlines. I know it can be hard to cater time since you might have much more important work to do. But keeping that spark inside you alive is as important as anything else if not more! Think about it😊&lt;/p&gt;

&lt;h1&gt;
  
  
  Don't stress yourself out too much looking at other people's work
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--83fdUydJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1n9jtf54sr4lnky5mje4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--83fdUydJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1n9jtf54sr4lnky5mje4.png" alt="Stressing out CSS illustration"&gt;&lt;/a&gt;&lt;br&gt;
This is something that I've dealt with and keep dealing with frequently. The strategy that I use to deal with this is to look at the opposite person's work as something to learn from and not as competition. This way we fill two needs with one deed. We learn to abandon that negative emotion and also learn something new!! &lt;/p&gt;

&lt;h1&gt;
  
  
  Don't confuse gratitude with debt
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IdjLLKEU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b7xn51tvriadfm7uc9i3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IdjLLKEU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/b7xn51tvriadfm7uc9i3.png" alt="Gratitude and debt CSS illustration"&gt;&lt;/a&gt;&lt;br&gt;
Looking at all the awesome people of the DEV community on Twitter share many helpful resources to get into programming pushed me into a feeling of not giving enough to the community. I agree this can help us push ourselves to do better and give back to others. But there is a fine line between pushing yourself to give back and pushing yourself to burn yourself out! If you are in a similar situation, it might be helpful to remind yourself that you have to be grateful but don't confuse that with debt. You don't owe anything to a lot of people you come across. But this is not to say that you shouldn't help others. Do that. But even if you don't, you are still good. Don't worry!! &lt;/p&gt;

&lt;h1&gt;
  
  
  Collaborate with other developers 🤝
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GTaK2k9x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tf87pztodq39dwldksra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GTaK2k9x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tf87pztodq39dwldksra.png" alt="Team work CSS illustration"&gt;&lt;/a&gt;&lt;br&gt;
You might have already heard about this before. So there's not much to add to this from my side. I just want to say that the knowledge transfer that happens on collaboration can be very useful in the long run, as it can make you a better developer and also a better communicator🔊&lt;/p&gt;

&lt;h1&gt;
  
  
  It is OK to do imperfect work
&lt;/h1&gt;

&lt;p&gt;I wish I had known that it was OK to show my imperfect work to others. Recently I did that and I had many developers reach out to me with feedback on my code and they sent me links to their GitHub repos that they thought might help me. So I can't stress this enough!! I want to repeat one of the sentences from my first blog post : "Don't let your works die in anonymity! Give them their much deserved space in this world. You will not regret it ---- Manaswini🤭"&lt;br&gt;
For the keen observers among you: I didn't put any image for this section as I couldn't conclude upon what to put! Does it make this article imperfect? Maybe!!! But I'm still proud of it🤭&lt;/p&gt;

&lt;h1&gt;
  
  
  Last but not the least : Enjoy!!!🎉💃
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PdUYAlwW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5k5fapualk2ukor3whhm.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PdUYAlwW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5k5fapualk2ukor3whhm.gif" alt="Dance it out CSS GIF"&gt;&lt;/a&gt;&lt;br&gt;
At the end of my talk at the meet-up, I was asked to chill out and not think so much about these things and I couldn't help but include this here. After all this is a journey to be cherished! Why not make the best use of our time here?😊&lt;/p&gt;

&lt;h1&gt;
  
  
  Some concluding words:
&lt;/h1&gt;

&lt;p&gt;I'd love to hear from you. Did this article help you deal with any of your problems? Did it give you a new perspective of looking at things? You found it to be too preachy? Found too many emojis? Anything will do. You can find me dwelling in my corner &lt;a href="https://twitter.com/thisismanaswini"&gt;@thisismanaswini&lt;/a&gt; in the Twitterverse! &lt;/p&gt;

&lt;p&gt;Also, I did something interesting in this article. All the images that I've included are my very own CSS illustrations with some references coming from Pinterest!! I'd love to know how you found them!!! &lt;/p&gt;

&lt;p&gt;That's it from my side!! I'm happy that you found this post worthy enough that you read it till the end!! Thanks a lot😊&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>100daysofcode</category>
      <category>codenewbie</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Decoding CSS art (🎨+💻)</title>
      <dc:creator>Manaswini</dc:creator>
      <pubDate>Wed, 29 Jul 2020 11:56:33 +0000</pubDate>
      <link>https://dev.to/thisismanaswini/decoding-css-art-3om3</link>
      <guid>https://dev.to/thisismanaswini/decoding-css-art-3om3</guid>
      <description>&lt;h2&gt;
  
  
  Backstory alert!!
&lt;/h2&gt;

&lt;p&gt;When I joined Twitter, I came across people who were posting CSS illustrations and I was extremely intrigued and confused at the same time. It was not until a month later that I took a deep dive into CSS and started experimenting, that I actually felt like I had achieved a good enough understanding of CSS art. In this post, I've tried to list out all the important things that I've learnt and also some resources that I use frequently.&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%2Fl7fslcfu1w0yxtmev6dn.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%2Fl7fslcfu1w0yxtmev6dn.png" alt="CSS illustration of a girl"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is CSS art anyways? 🤔
&lt;/h2&gt;

&lt;p&gt;Making CSS art boils down to manipulating the shapes of HTML elements ( mostly divs or spans ) using CSS properties and getting them to look the way you want by gluing them together using CSS positioning.&lt;/p&gt;

&lt;p&gt;With me till now? Great, now let's have a look at some CSS properties that I use the MOST while making CSS art and also some resources that will hopefully help you better visualize them.&lt;/p&gt;

&lt;h4&gt;
  
  
  Border radius
&lt;/h4&gt;

&lt;p&gt;This property helps us round the corners of an otherwise rectangular-shaped div or span. I've tried to give you an overview of how this property works in the following image.&lt;/p&gt;

&lt;p&gt;Through these numbers, we tell CSS how much of each side it should take to round a given corner.&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%2Fsmqu97yjtwh42p2cmyna.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%2Fsmqu97yjtwh42p2cmyna.png" alt="Border-radius explanation image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's a tool that helps in visualizing how border-radius works : &lt;a href="https://9elements.github.io/fancy-border-radius/full-control.html" rel="noopener noreferrer"&gt;8 point border radius&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Flexbox
&lt;/h4&gt;

&lt;p&gt;I use flexbox heavily to center elements and for easy positioning of elements. In the following image, I applied a display of flex, flex-direction of column, justify-content center and align-items center to the container on the right side. On doing so, I could skip the extra positioning that I would have to do if I hadn't used Flexbox, like in the left container.&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%2Fn1bf5trl9cphujuqallm.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%2Fn1bf5trl9cphujuqallm.png" alt="Flex box on Ice-cream containers"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Personally, I learnt flex box from the &lt;a href="https://www.freecodecamp.org/learn/responsive-web-design/css-flexbox/" rel="noopener noreferrer"&gt;Freecodecamp&lt;/a&gt; curriculum. Here are some other tools that are very useful to help gain a better grip on Flexbox:&lt;br&gt;
1) &lt;a href="https://codepen.io/paultrone/pen/xwxNmQ" rel="noopener noreferrer"&gt;Flexbox visualizer by Paul Trone&lt;/a&gt;&lt;br&gt;
2) &lt;a href="https://flexboxfroggy.com/" rel="noopener noreferrer"&gt;Flexbox froggy&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Clip-path
&lt;/h4&gt;

&lt;p&gt;Clip-path helps us create almost any polygon that we want. Using this, we can specify a given area on the div or span that we want to show rather than showing its entire rectangular shape.&lt;br&gt;
&lt;a href="https://bennettfeely.com/clippy/" rel="noopener noreferrer"&gt;Bennett Feely's clip path maker&lt;/a&gt; is an extremely handy tool that I use frequently to visualize and work with this property.&lt;/p&gt;

&lt;h4&gt;
  
  
  View port dimensions
&lt;/h4&gt;

&lt;p&gt;Something that I realized recently is to use view port dimensions ( vw, vh, vmin, vmax ) to make the illustrations responsive. View port dimensions help us declare lengths in terms of the view port width or height. The most important among these, at least in the context of CSS art, is the &lt;strong&gt;&lt;em&gt;vmin&lt;/em&gt;&lt;/strong&gt; unit.&lt;br&gt;
It helps us declare the widths and heights of our HTML elements in terms of the minimum value among the view port width and the view port height. This way we can ensure that no matter what device you view the illustration on, it looks exactly the same.&lt;/p&gt;

&lt;h4&gt;
  
  
  Relative and absolute positioning
&lt;/h4&gt;

&lt;p&gt;When we give a relative position to an HTML element, we move it with respect to itself. But when we talk about absolute positioning, we position the element with respect to its parent. In this case the parent should have relative positioning.&lt;br&gt;
The following image illustrates what I'm talking about.&lt;br&gt;
If I add &lt;strong&gt;&lt;em&gt;right:10px;&lt;/em&gt;&lt;/strong&gt; to the inner box in the CSS stylesheet, here is how the result would differ based on whether the inner box is positioned relatively or absolutely.&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%2Fulx6gqhpla9dh9gbtztz.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%2Fulx6gqhpla9dh9gbtztz.png" alt="Relative position"&gt;&lt;/a&gt;&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%2Fbrguj1gcj3fl4zv83v1e.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%2Fbrguj1gcj3fl4zv83v1e.png" alt="Absolute position"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pseudo elements
&lt;/h4&gt;

&lt;p&gt;These refer to the ::before and ::after elements. Don't worry if you haven't heard of them or haven't used them before. Here is a series on YouTube by Kevin Powell, that does an amazing job at explaining the ins and outs of pseudo elements. &lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=zGiirUiWslI" rel="noopener noreferrer"&gt;Part one&lt;/a&gt;, &lt;a href="https://www.youtube.com/watch?v=xoRbkm8XgfQ" rel="noopener noreferrer"&gt;Part two&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=djbtPnNmc0I" rel="noopener noreferrer"&gt;Part three&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Extras ✨
&lt;/h2&gt;

&lt;p&gt;Some other CSS properties that you could use to add depth and definition to your illustrations :&lt;/p&gt;

&lt;h4&gt;
  
  
  Box-shadow
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://css-tricks.com/almanac/properties/b/box-shadow/" rel="noopener noreferrer"&gt;Here&lt;/a&gt; is an article from CSS Tricks which when read along with the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow" rel="noopener noreferrer"&gt;MDN docs on box-shadow&lt;/a&gt; can help clear up a lot things about how box-shadows work. &lt;br&gt;
You can use this &lt;a href="https://www.cssmatic.com/box-shadow" rel="noopener noreferrer"&gt;Box shadow generator&lt;/a&gt; to visualize how these work. &lt;/p&gt;

&lt;h4&gt;
  
  
  Gradients ( linear and radial )
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://css-tricks.com/css3-gradients/" rel="noopener noreferrer"&gt;Here's&lt;/a&gt; one of my favorite articles on CSS gradients from CSS tricks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Brag alert⤵️⤵️⤵️😂😅
&lt;/h2&gt;

&lt;p&gt;Here is a small collection of illustrations that I made using CSS.&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%2F0z4c1l513889z4a690sk.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%2F0z4c1l513889z4a690sk.png" alt="Scuba divers CSS illustration"&gt;&lt;/a&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%2Fnfqds4ojmg0y9gf8q3t8.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%2Fnfqds4ojmg0y9gf8q3t8.png" alt="Guitar and sitar CSS illustration"&gt;&lt;/a&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%2Ffu202g9mfua7k90221dm.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%2Ffu202g9mfua7k90221dm.png" alt="CSS GIF Snapshot"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;That's it folks! Thank you for reading till the end🎉🎉 I really hope you had something to take way. If this helped you in any way, I'd love to hear🔊 from you. You can catch me on &lt;a href="https://twitter.com/thisismanaswini" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; or &lt;a href="https://codepen.io/1832Manaswini" rel="noopener noreferrer"&gt;Codepen&lt;/a&gt; 😊&lt;/p&gt;

&lt;p&gt;Have a great day( or night )!!👋👋&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>codepen</category>
    </item>
    <item>
      <title>How I began my journey into Webdev and some lessons that I learnt</title>
      <dc:creator>Manaswini</dc:creator>
      <pubDate>Thu, 04 Jun 2020 11:31:41 +0000</pubDate>
      <link>https://dev.to/thisismanaswini/how-i-began-my-journey-into-webdev-and-some-lessons-that-i-learnt-2oaf</link>
      <guid>https://dev.to/thisismanaswini/how-i-began-my-journey-into-webdev-and-some-lessons-that-i-learnt-2oaf</guid>
      <description>&lt;p&gt;Let me start my first ever post here by introducing myself. I'm Manaswini. I am from Hyderabad, India. I recently created a brand new Portfolio website for myself and launched it onto the World Wide Web just a few hours ago. You can find it here &lt;a href="https://manaswiniportfolio.netlify.app"&gt;https://manaswiniportfolio.netlify.app&lt;/a&gt; &lt;br&gt;
How did I get here? What made me go with Web development and eventually Web design? Read on to know more...&lt;br&gt;
It would not be an exaggeration to say that I never thought I could come this far in Web development. Why? Because I never thought, even in my wildest dreams, that I could be a programmer or a developer or anything software-related. Why? Because I thought it was only for people with a solid technical background who dream code, eat code and drink code! All blame on the movies for portraying programmers as some kind of an alien species who input endless jargon into systems and lock themselves up in their rooms in front of their computers for eternity. Although I think the latter sentence is true. OK anyways now I know that anybody can code with a good amount of practice and dedication.&lt;br&gt;
Did I catch you asking "OK I've heard all that before but how exactly did you get here? What was your journey exactly like?" Don't worry. I've got you covered! It all started in June 2019 when I started contemplating Freelancing to earn some quick bucks as a first year Engineering undergrad.Quickly googled 'Freelance' and a ton of buzz words got thrown at me. Content writing. Copy writing.&lt;strong&gt;WEB DEVELOPMENT&lt;/strong&gt;.Sounds familiar. I had my friend tell me about it a few days ago. I browse further. I find an advertisement about the best Web development course on Udemy with a 95% discount!! I was in! &lt;br&gt;
That was how I started learning Web development in June 2019, learnt for about a week and forgot about its existence until April 2020 when I got back and officially began the 100 days of code challenge on Twitter to help me stay accountable on this journey. Thanks to the lock down, I now had plenty of time to give to this mysterious and scary sounding thing- Web development. &lt;br&gt;
Until I took this leap of faith, I always viewed myself as a novice who didn't understand computers or software or technology and just wasn't interested in the whole programming thing. But now I know better. OK enough about myself, let's actually dive into the lessons that I learnt. Shall we?&lt;/p&gt;

&lt;h2&gt;
  
  
  What I have learnt so far
&lt;/h2&gt;

&lt;p&gt;Right now I'm on Day 40 of the 100 days of code challenge and there's a pretty good number of things I've learnt till now. I'm not going to talk about any tech-related stuff here, just some general lessons that I learnt along the way.This is more like what I would tell myself 3 months ago when I still was completely new to this field.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Forget about all the bizarre myths you've heard about web development or programming in general and just get in there. If you are not sure whether tech is right for you, try checking out platforms like Free code camp or try youtube tutorials to get a hang of it and then decide. Do whatever, but take that first step. Even if you do not continue with a career in tech, you will still learn some valuable lessons.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One of the most valuable lessons you will learn is discipline and dedication. Because to be honest, I had never done anything close to this 100 days of code thing where I challenged myself to learn something completely new to me for a straight up 100 days.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another important thing - Have something to fall back on. I mean get involved in a community where the participants will help you stay accountable. Like the Twitter dev community which is by far one of the best communities I've been a part of.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This brings me to the next,probably the most important thing of all. Do not get influenced by the response you get on Social media, twitter included. This was a major challenge I faced and keep facing. Seeing other's work receive a lot of recognition and my works getting lost in the dusty shelves of the internet was so heart breaking. But what helped me was clarifying the WHY. I started focusing on why I was on Twitter. It was not because I wanted followers or likes or comments or retweets. The main reason was to DOCUMENT MY 100 DAYS OF CODE JOURNEY.So why not focus on that?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Next up - Document your journey. Even the bad days. Twitter, Trello board, GitHub repos, Sticky notes...do what you like.But do not forget to document your journey. It will surely serve as an inspiration for others and most importantly to you. I'm 100% sure you will be proud of your self when you look at your tweets or repos and will be surprised by how far you've come.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Last but definitely not the least share your work with the world. Don't tuck your designs and ideas away and leave them to die in anonymity. Give them their much deserved space in this world. You will not regret it :)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So that was it! If you've come this far without getting lost in my sometimes incoherent story telling style, then give yourself a pat on the back. You very much deserve it! And thank you so much for keeping up with me till the end. I appreciate it. &lt;br&gt;
That's all from me today. Looking forward to learn more and progress in this 100 days of code journey and even beyond that. Join me on Twitter at &lt;a href="https://twitter.com/thisismanaswini"&gt;https://twitter.com/thisismanaswini&lt;/a&gt; to accompany me on this path.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webdesign</category>
      <category>100daysofcode</category>
      <category>developer</category>
    </item>
  </channel>
</rss>
