{"componentChunkName":"component---src-gatsby-theme-try-ghost-templates-post-js","path":"/chrome-88-new-feature-sharing/","result":{"data":{"customPost":{"id":"Ghost__Post__6127ba1b3ed159214d382e84","title":"Chrome 88 New Feature: Get QR Code For Any URL or Image","slug":"chrome-88-new-feature-sharing","featured":false,"feature_image":"https://res-3.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/photo-1533228100845-08145b01de14.jpg","excerpt":"In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL with one click.","custom_excerpt":"In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL with one click.","visibility":"public","created_at_pretty":"6 Feb 2021","published_at_pretty":"6 Feb 2021","updated_at_pretty":"26 Aug 2021","created_at":"2021-02-06T13:52:39.000+00:00","published_at":"2021-02-06T14:03:35.000+00:00","updated_at":"2021-08-26T17:49:09.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null},"tags":[{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null}],"plaintext":"In Chrome's new release for Android and Desktop, you can now generate a QR code\nfor any URL or Image with one click. This feature was available before as an\nexperimental feature.\n\n\n--------------------------------------------------------------------------------\n\nQR Code for URL\nOn your laptop or Android phone, go to any URL, then click on the URL box and\nyou will see a new QR icon\n\nOnce you click on the QR icon, You will see the QR code with your URL, and you\ncan choose to download the QR code. It will be downloaded as PNG.\n\nThen you can just share the QR Code with anyone you want or any social media\nplatform!\n\n\n--------------------------------------------------------------------------------\n\nQR Code for Any Image\nTo get a QR Code for any image, right click on the image then click \"Create QR\ncode for this image\"\n\nThen a pop up will show with the QR Code for the image. You can download it as\nwell.","html":"<p>In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL or Image with one click. This feature was available before as an experimental feature.</p><hr><h2 id=\"qr-code-for-url\">QR Code for URL</h2><p>On your laptop or Android phone, go to any URL, then click on the URL box and you will see a new QR icon</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-5.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-feature.png\" class=\"kg-image\" alt loading=\"lazy\"></figure><p>Once you click on the QR icon, You will see the QR code with your URL, and you can choose to download the QR code. It will be downloaded as PNG.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/Chrome-QR-Feature-2.png\" class=\"kg-image\" alt loading=\"lazy\"></figure><p>Then you can just share the QR Code with anyone you want or any social media platform!</p><hr><h2 id=\"qr-code-for-any-image\">QR Code for Any Image</h2><p>To get a QR Code for any image, right click on the image then click \"Create QR code for this image\"</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image.png\" class=\"kg-image\" alt loading=\"lazy\"></figure><p>Then a pop up will show with the QR Code for the image. You can download it as well.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image-2.png\" class=\"kg-image\" alt loading=\"lazy\"></figure>","url":"https://backend.shahednasser.com/chrome-88-new-feature-sharing/","canonical_url":null,"uuid":"45de9d20-038a-4599-bd3d-6d9560b84979","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"601e9f27d27c6a001e5504c3","reading_time":1,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL or Image with one click. This feature was available before as an experimental feature.</p><hr><h2 id=\"qr-code-for-url\">QR Code for URL</h2><p>On your laptop or Android phone, go to any URL, then click on the URL box and you will see a new QR icon</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-5.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-feature.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure><p>Once you click on the QR icon, You will see the QR code with your URL, and you can choose to download the QR code. It will be downloaded as PNG.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/Chrome-QR-Feature-2.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure><p>Then you can just share the QR Code with anyone you want or any social media platform!</p><hr><h2 id=\"qr-code-for-any-image\">QR Code for Any Image</h2><p>To get a QR Code for any image, right click on the image then click \"Create QR code for this image\"</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure><p>Then a pop up will show with the QR Code for the image. You can download it as well.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image-2.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL or Image with one click. This feature was available before as an experimental feature."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"qr-code-for-url"},"children":[{"type":"text","value":"QR Code for URL"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"On your laptop or Android phone, go to any URL, then click on the URL box and you will see a new QR icon"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-5.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-feature.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Once you click on the QR icon, You will see the QR code with your URL, and you can choose to download the QR code. It will be downloaded as PNG."}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/Chrome-QR-Feature-2.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Then you can just share the QR Code with anyone you want or any social media platform!"}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"qr-code-for-any-image"},"children":[{"type":"text","value":"QR Code for Any Image"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"To get a QR Code for any image, right click on the image then click \"Create QR code for this image\""}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Then a pop up will show with the QR Code for the image. You can download it as well."}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image-2.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"qr-code-for-url","heading":"QR Code for URL"},{"id":"qr-code-for-any-image","heading":"QR Code for Any Image"}]},"featureImageSharp":{"base":"photo-1533228100845-08145b01de14.jpg","publicURL":"/static/e8deb38db2cffe45d315a48d5fca9d34/photo-1533228100845-08145b01de14.jpg","imageMeta":{"width":2000,"height":2650},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAGQAAAwEBAQAAAAAAAAAAAAAAAAEDAgQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB9GXRQmYBPKNkQ//EABwQAAICAgMAAAAAAAAAAAAAAAECAAMREiAyQv/aAAgBAQABBQJm0C3AmeresLal7q34Zn//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAcEAACAgIDAAAAAAAAAAAAAAABAgAREIEgIXH/2gAIAQEABj8Cs3qVT7XC+zeAW6FwBWBN8f/EABsQAQEBAAIDAAAAAAAAAAAAAAEAESFBMWFx/9oACAEBAAE/ISxF6GsHxb2gWxTWPiyNsDyYTHDghnxdStb/2gAMAwEAAgADAAAAEEDCAP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EAB0QAQADAAMAAwAAAAAAAAAAAAEAESExQXFhobH/2gAIAQEAAT8Qe7ALKX8Et2XQAPrEnLPpPxh6bx31sMXSLzs1+kusai82hZeNsVCzfZqjpUqrBTORdz//2Q==","aspectRatio":0.7536231884057971,"src":"/static/e8deb38db2cffe45d315a48d5fca9d34/d5c54/photo-1533228100845-08145b01de14.jpg","srcSet":"/static/e8deb38db2cffe45d315a48d5fca9d34/65d8c/photo-1533228100845-08145b01de14.jpg 260w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/c5f21/photo-1533228100845-08145b01de14.jpg 520w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/d5c54/photo-1533228100845-08145b01de14.jpg 1040w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/81a53/photo-1533228100845-08145b01de14.jpg 1560w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/4e5f3/photo-1533228100845-08145b01de14.jpg 2000w","srcWebp":"/static/e8deb38db2cffe45d315a48d5fca9d34/e4875/photo-1533228100845-08145b01de14.webp","srcSetWebp":"/static/e8deb38db2cffe45d315a48d5fca9d34/dc8f3/photo-1533228100845-08145b01de14.webp 260w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/2db4b/photo-1533228100845-08145b01de14.webp 520w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/e4875/photo-1533228100845-08145b01de14.webp 1040w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/f5845/photo-1533228100845-08145b01de14.webp 1560w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/49d6b/photo-1533228100845-08145b01de14.webp 2000w","sizes":"(max-width: 1040px) 100vw, 1040px"}}}},"ghostPost":{"id":"Ghost__Post__6127ba1b3ed159214d382e84","title":"Chrome 88 New Feature: Get QR Code For Any URL or Image","slug":"chrome-88-new-feature-sharing","featured":false,"feature_image":"https://res-3.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/photo-1533228100845-08145b01de14.jpg","excerpt":"In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL with one click.","custom_excerpt":"In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL with one click.","visibility":"public","created_at_pretty":"6 Feb 2021","published_at_pretty":"6 Feb 2021","updated_at_pretty":"26 Aug 2021","created_at":"2021-02-06T13:52:39.000+00:00","published_at":"2021-02-06T14:03:35.000+00:00","updated_at":"2021-08-26T17:49:09.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null},"tags":[{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null}],"plaintext":"In Chrome's new release for Android and Desktop, you can now generate a QR code\nfor any URL or Image with one click. This feature was available before as an\nexperimental feature.\n\n\n--------------------------------------------------------------------------------\n\nQR Code for URL\nOn your laptop or Android phone, go to any URL, then click on the URL box and\nyou will see a new QR icon\n\nOnce you click on the QR icon, You will see the QR code with your URL, and you\ncan choose to download the QR code. It will be downloaded as PNG.\n\nThen you can just share the QR Code with anyone you want or any social media\nplatform!\n\n\n--------------------------------------------------------------------------------\n\nQR Code for Any Image\nTo get a QR Code for any image, right click on the image then click \"Create QR\ncode for this image\"\n\nThen a pop up will show with the QR Code for the image. You can download it as\nwell.","html":"<p>In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL or Image with one click. This feature was available before as an experimental feature.</p><hr><h2 id=\"qr-code-for-url\">QR Code for URL</h2><p>On your laptop or Android phone, go to any URL, then click on the URL box and you will see a new QR icon</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-5.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-feature.png\" class=\"kg-image\" alt loading=\"lazy\"></figure><p>Once you click on the QR icon, You will see the QR code with your URL, and you can choose to download the QR code. It will be downloaded as PNG.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/Chrome-QR-Feature-2.png\" class=\"kg-image\" alt loading=\"lazy\"></figure><p>Then you can just share the QR Code with anyone you want or any social media platform!</p><hr><h2 id=\"qr-code-for-any-image\">QR Code for Any Image</h2><p>To get a QR Code for any image, right click on the image then click \"Create QR code for this image\"</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image.png\" class=\"kg-image\" alt loading=\"lazy\"></figure><p>Then a pop up will show with the QR Code for the image. You can download it as well.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image-2.png\" class=\"kg-image\" alt loading=\"lazy\"></figure>","url":"https://backend.shahednasser.com/chrome-88-new-feature-sharing/","canonical_url":null,"uuid":"45de9d20-038a-4599-bd3d-6d9560b84979","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"601e9f27d27c6a001e5504c3","reading_time":1,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL or Image with one click. This feature was available before as an experimental feature.</p><hr><h2 id=\"qr-code-for-url\">QR Code for URL</h2><p>On your laptop or Android phone, go to any URL, then click on the URL box and you will see a new QR icon</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-5.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-feature.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure><p>Once you click on the QR icon, You will see the QR code with your URL, and you can choose to download the QR code. It will be downloaded as PNG.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/Chrome-QR-Feature-2.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure><p>Then you can just share the QR Code with anyone you want or any social media platform!</p><hr><h2 id=\"qr-code-for-any-image\">QR Code for Any Image</h2><p>To get a QR Code for any image, right click on the image then click \"Create QR code for this image\"</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure><p>Then a pop up will show with the QR Code for the image. You can download it as well.</p><figure class=\"kg-card kg-image-card\"><img src=\"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image-2.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\"></figure>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"In Chrome's new release for Android and Desktop, you can now generate a QR code for any URL or Image with one click. This feature was available before as an experimental feature."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"qr-code-for-url"},"children":[{"type":"text","value":"QR Code for URL"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"On your laptop or Android phone, go to any URL, then click on the URL box and you will see a new QR icon"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-5.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-feature.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Once you click on the QR icon, You will see the QR code with your URL, and you can choose to download the QR code. It will be downloaded as PNG."}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/Chrome-QR-Feature-2.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Then you can just share the QR Code with anyone you want or any social media platform!"}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"qr-code-for-any-image"},"children":[{"type":"text","value":"QR Code for Any Image"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"To get a QR Code for any image, right click on the image then click \"Create QR code for this image\""}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Then a pop up will show with the QR Code for the image. You can download it as well."}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://res-2.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/chrome-qr-image-2.png","className":["kg-image"],"alt":"","loading":"lazy"},"children":[]}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"qr-code-for-url","heading":"QR Code for URL"},{"id":"qr-code-for-any-image","heading":"QR Code for Any Image"}]},"featureImageSharp":{"base":"photo-1533228100845-08145b01de14.jpg","publicURL":"/static/e8deb38db2cffe45d315a48d5fca9d34/photo-1533228100845-08145b01de14.jpg","imageMeta":{"width":2000,"height":2650},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAGQAAAwEBAQAAAAAAAAAAAAAAAAEDAgQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB9GXRQmYBPKNkQ//EABwQAAICAgMAAAAAAAAAAAAAAAECAAMREiAyQv/aAAgBAQABBQJm0C3AmeresLal7q34Zn//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAcEAACAgIDAAAAAAAAAAAAAAABAgAREIEgIXH/2gAIAQEABj8Cs3qVT7XC+zeAW6FwBWBN8f/EABsQAQEBAAIDAAAAAAAAAAAAAAEAESFBMWFx/9oACAEBAAE/ISxF6GsHxb2gWxTWPiyNsDyYTHDghnxdStb/2gAMAwEAAgADAAAAEEDCAP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EAB0QAQADAAMAAwAAAAAAAAAAAAEAESExQXFhobH/2gAIAQEAAT8Qe7ALKX8Et2XQAPrEnLPpPxh6bx31sMXSLzs1+kusai82hZeNsVCzfZqjpUqrBTORdz//2Q==","aspectRatio":0.7536231884057971,"src":"/static/e8deb38db2cffe45d315a48d5fca9d34/d5c54/photo-1533228100845-08145b01de14.jpg","srcSet":"/static/e8deb38db2cffe45d315a48d5fca9d34/65d8c/photo-1533228100845-08145b01de14.jpg 260w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/c5f21/photo-1533228100845-08145b01de14.jpg 520w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/d5c54/photo-1533228100845-08145b01de14.jpg 1040w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/81a53/photo-1533228100845-08145b01de14.jpg 1560w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/4e5f3/photo-1533228100845-08145b01de14.jpg 2000w","srcWebp":"/static/e8deb38db2cffe45d315a48d5fca9d34/e4875/photo-1533228100845-08145b01de14.webp","srcSetWebp":"/static/e8deb38db2cffe45d315a48d5fca9d34/dc8f3/photo-1533228100845-08145b01de14.webp 260w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/2db4b/photo-1533228100845-08145b01de14.webp 520w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/e4875/photo-1533228100845-08145b01de14.webp 1040w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/f5845/photo-1533228100845-08145b01de14.webp 1560w,\n/static/e8deb38db2cffe45d315a48d5fca9d34/49d6b/photo-1533228100845-08145b01de14.webp 2000w","sizes":"(max-width: 1040px) 100vw, 1040px"}}}},"prev":{"id":"Ghost__Post__6127ba1b3ed159214d382e85","title":"Why I Switched from Atom to VS Code","slug":"why-i-switched-from-atom-to-vs-code","featured":false,"feature_image":"https://res-4.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/photo-1498050108023-c5249f4df085.jpg","excerpt":"A few years ago, I discovered Atom and I was amazed by it. Fast forward to now, and I am using Visual Studio Code. What made me switch?","custom_excerpt":"A few years ago, I discovered Atom and I was amazed by it. Fast forward to now, and I am using Visual Studio Code. What made me switch?","visibility":"public","created_at_pretty":"9 Feb 2021","published_at_pretty":"9 Feb 2021","updated_at_pretty":"26 Aug 2021","created_at":"2021-02-09T09:40:20.000+00:00","published_at":"2021-02-09T10:56:09.000+00:00","updated_at":"2021-08-26T17:48:48.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"my-experience","url":"https://backend.shahednasser.com/tag/my-experience/","name":"My Experience","visibility":"public","feature_image":"https://backend.shahednasser.com/content/images/2022/01/photo-1493612276216-ee3925520721-2-1.jpeg","description":"Sharing my experience in or opinions regarding programming, work, or other concepts.","meta_title":null,"meta_description":null,"featureImageSharp":{"base":"photo-1493612276216-ee3925520721-2-1.jpeg","publicURL":"/static/55d051b88133a375df71095790dfd724/photo-1493612276216-ee3925520721-2-1.jpeg","imageMeta":{"width":2000,"height":2500},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAZABQDASIAAhEBAxEB/8QAGQAAAwEBAQAAAAAAAAAAAAAAAAEEAwIF/8QAGAEAAgMAAAAAAAAAAAAAAAAAAAMBBAX/2gAMAwEAAhADEAAAAfTTmIpADGTfld2IQ7O//8QAHBAAAQUAAwAAAAAAAAAAAAAAAgABAxAREyEy/9oACAEBAAEFAr1DKznq1EHfITXL7//EABkRAAIDAQAAAAAAAAAAAAAAAAABAhESE//aAAgBAwEBPwHBzZlNEk4urP/EABgRAAIDAAAAAAAAAAAAAAAAAAABEBES/9oACAECAQE/AbNQj//EABoQAAEFAQAAAAAAAAAAAAAAAAEAAhAgMRH/2gAIAQEABj8CoWz0atNP/8QAGhABAAIDAQAAAAAAAAAAAAAAAQAQETGRIf/aAAgBAQABPyHFs6LI9owavPeKsdKaP//aAAwDAQACAAMAAAAQdBNO/8QAGBEBAAMBAAAAAAAAAAAAAAAAAQAQIWH/2gAIAQMBAT8QXVhJGJWdn//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAgEBPxC4tR0kIOX/xAAdEAACAgIDAQAAAAAAAAAAAAAAARExECFBUWFx/9oACAEBAAE/EHHojwjwQ+B45hVISYd1xThsbt5XLc4sWfEf/9k=","aspectRatio":0.8,"src":"/static/55d051b88133a375df71095790dfd724/d5c54/photo-1493612276216-ee3925520721-2-1.jpg","srcSet":"/static/55d051b88133a375df71095790dfd724/65d8c/photo-1493612276216-ee3925520721-2-1.jpg 260w,\n/static/55d051b88133a375df71095790dfd724/c5f21/photo-1493612276216-ee3925520721-2-1.jpg 520w,\n/static/55d051b88133a375df71095790dfd724/d5c54/photo-1493612276216-ee3925520721-2-1.jpg 1040w,\n/static/55d051b88133a375df71095790dfd724/81a53/photo-1493612276216-ee3925520721-2-1.jpg 1560w,\n/static/55d051b88133a375df71095790dfd724/4e5f3/photo-1493612276216-ee3925520721-2-1.jpg 2000w","srcWebp":"/static/55d051b88133a375df71095790dfd724/e4875/photo-1493612276216-ee3925520721-2-1.webp","srcSetWebp":"/static/55d051b88133a375df71095790dfd724/dc8f3/photo-1493612276216-ee3925520721-2-1.webp 260w,\n/static/55d051b88133a375df71095790dfd724/2db4b/photo-1493612276216-ee3925520721-2-1.webp 520w,\n/static/55d051b88133a375df71095790dfd724/e4875/photo-1493612276216-ee3925520721-2-1.webp 1040w,\n/static/55d051b88133a375df71095790dfd724/f5845/photo-1493612276216-ee3925520721-2-1.webp 1560w,\n/static/55d051b88133a375df71095790dfd724/49d6b/photo-1493612276216-ee3925520721-2-1.webp 2000w","sizes":"(max-width: 1040px) 100vw, 1040px"}}}},"tags":[{"slug":"my-experience","url":"https://backend.shahednasser.com/tag/my-experience/","name":"My Experience","visibility":"public","feature_image":"https://backend.shahednasser.com/content/images/2022/01/photo-1493612276216-ee3925520721-2-1.jpeg","description":"Sharing my experience in or opinions regarding programming, work, or other concepts.","meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null}],"plaintext":"A few years ago, I discovered Atom [https://atom.io/], an open source text and\nsource code editor developed by GitHub [https://github.com/]. I was so amazed by\nit as it was lightweight and fully customizable. It quickly became my favorite\ncode editor.\n\nFast forward to now, and I am using Visual Studio Code\n[https://code.visualstudio.com/], a free source code editor developed by \nMicrosoft [https://www.microsoft.com/en-lb]. This might seem like a normal\nchange, however, I remember that while I was using Atom my colleague and I were\nhaving a discussion and I strictly stated \"I'm not a fan of Microsoft products.\"\n\nSo what made me switch from Atom to VS Code?\n\n\n--------------------------------------------------------------------------------\n\nPerformance\nWhen I first started using Atom, it was fast and as I mentioned lightweight.\nHowever, when you compare it to VS Code, it's load time can be pretty slow.\nEspecially if you're opening somewhat large or long files. Atom can get pretty\nlaggy and the wait becomes annoying.\n\nIt should be noted that both editors are built on Electron\n[https://www.electronjs.org/], a framework that helps you built cross-platform\ndesktop app using HTML, Javascript, and CSS. There's a lot of dispute when it\ncomes to Electron's speed, so you'd think that both editors would be inherently\nslow. However, it seems that VS Code sets an example of how to use Electron\nwithout the lag.\n\n\n--------------------------------------------------------------------------------\n\nOut of the Box Features\nAtom's main charm is that it's customizable. You can add whatever extensions and\nlinters and anything you want. However, especially if you're a beginner in a\nlanguage and not sure what kind of extensions or linters you might want, it can\nbe a hassle using it. Even if you do find the extensions you need, there's no\nguarantee that these extensions will do the job well (I'll talk about extensions\nnext). \n\nNot only does VS Code come ready with support, debuggers and linters for most\npopular languages, but when you use a new or not so popular language, it\nrecommends the extension you need right away. It saves you time and makes sure\nyou are using what you need in your development.\n\n\n--------------------------------------------------------------------------------\n\nExtension\nExtensions in Atom are tricky. You'll find really good extensions that will be\nhelpful in your development process, but you'll also find extensions that will\ncreate more bugs in your editor and makes your life a living hell. This is\nunderstandable, as most extensions are made by the open source community, so\nsome extensions might be outdated or get discontinued, or just have a lot of\nbugs. \n\nThe more extensions you add to Atom, the more you'll face bugs while using it\nand hassles. And you can't really use Atom without loads of extensions, since\nusing Atom as it is is like walking in the dark. \n\nAs for VS Code, I have been using it for a while now and I have yet to face any\nproblems with its extensions. Every extension that I have added was helpful and\nvery much needed. Nothing affected the quality of the editor.\n\n\n--------------------------------------------------------------------------------\n\nDebugging\nDebugging in Atom is, again, dependent on what extensions you add. There's\nnothing built in the editor itself. However, in VS Code, your access to\ndebugging is easier. There's the debugging tab ready for you on the left and it\nprovides what you need based on the environment of the project you're working\non. This is another part of the out of the box features in VS Code that Atom\nlacks in.\n\n\n--------------------------------------------------------------------------------\n\nConclusion\nWith time, Atom became an annoyance to me. Every time I needed to add an\nextension, the entire editor seemed to be crumbling. The load time was slow and\nthe performance got worse. However, VS Code is proving to be a stable editor\nthat can handle your main development need, while still keeping the performance\noptimal.","html":"<p>A few years ago, I discovered <a href=\"https://atom.io/\">Atom</a>, an open source text and source code editor developed by <a href=\"https://github.com/\">GitHub</a>. I was so amazed by it as it was lightweight and fully customizable. It quickly became my favorite code editor.</p><p>Fast forward to now, and I am using <a href=\"https://code.visualstudio.com/\">Visual Studio Code</a>, a free source code editor developed by <a href=\"https://www.microsoft.com/en-lb\">Microsoft</a>. This might seem like a normal change, however, I remember that while I was using Atom my colleague and I were having a discussion and I strictly stated \"I'm not a fan of Microsoft products.\"</p><p>So what made me switch from Atom to VS Code?</p><hr><h3 id=\"performance\">Performance</h3><p>When I first started using Atom, it was fast and as I mentioned lightweight. However, when you compare it to VS Code, it's load time can be pretty slow. Especially if you're opening somewhat large or long files. Atom can get pretty laggy and the wait becomes annoying.</p><p>It should be noted that both editors are built on <a href=\"https://www.electronjs.org/\">Electron</a>, a framework that helps you built cross-platform desktop app using HTML, Javascript, and CSS. There's a lot of dispute when it comes to Electron's speed, so you'd think that both editors would be inherently slow. However, it seems that VS Code sets an example of how to use Electron without the lag.</p><hr><h3 id=\"out-of-the-box-features\">Out of the Box Features</h3><p>Atom's main charm is that it's customizable. You can add whatever extensions and linters and anything you want. However, especially if you're a beginner in a language and not sure what kind of extensions or linters you might want, it can be a hassle using it. Even if you do find the extensions you need, there's no guarantee that these extensions will do the job well (I'll talk about extensions next). </p><p>Not only does VS Code come ready with support, debuggers and linters for most popular languages, but when you use a new or not so popular language, it recommends the extension you need right away. It saves you time and makes sure you are using what you need in your development.</p><hr><h3 id=\"extension\">Extension</h3><p>Extensions in Atom are tricky. You'll find really good extensions that will be helpful in your development process, but you'll also find extensions that will create more bugs in your editor and makes your life a living hell. This is understandable, as most extensions are made by the open source community, so some extensions might be outdated or get discontinued, or just have a lot of bugs. </p><p>The more extensions you add to Atom, the more you'll face bugs while using it and hassles. And you can't really use Atom without loads of extensions, since using Atom as it is is like walking in the dark. </p><p>As for VS Code, I have been using it for a while now and I have yet to face any problems with its extensions. Every extension that I have added was helpful and very much needed. Nothing affected the quality of the editor.</p><hr><h3 id=\"debugging\">Debugging</h3><p>Debugging in Atom is, again, dependent on what extensions you add. There's nothing built in the editor itself. However, in VS Code, your access to debugging is easier. There's the debugging tab ready for you on the left and it provides what you need based on the environment of the project you're working on. This is another part of the out of the box features in VS Code that Atom lacks in.</p><hr><h3 id=\"conclusion\">Conclusion</h3><p>With time, Atom became an annoyance to me. Every time I needed to add an extension, the entire editor seemed to be crumbling. The load time was slow and the performance got worse. However, VS Code is proving to be a stable editor that can handle your main development need, while still keeping the performance optimal.</p>","url":"https://backend.shahednasser.com/why-i-switched-from-atom-to-vs-code/","canonical_url":null,"uuid":"7cd11ddf-6767-492c-89cc-6e233d4b23b7","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"6022588499216d001edfd530","reading_time":3,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>A few years ago, I discovered <a href=\"https://atom.io/\">Atom</a>, an open source text and source code editor developed by <a href=\"https://github.com/\">GitHub</a>. I was so amazed by it as it was lightweight and fully customizable. It quickly became my favorite code editor.</p><p>Fast forward to now, and I am using <a href=\"https://code.visualstudio.com/\">Visual Studio Code</a>, a free source code editor developed by <a href=\"https://www.microsoft.com/en-lb\">Microsoft</a>. This might seem like a normal change, however, I remember that while I was using Atom my colleague and I were having a discussion and I strictly stated \"I'm not a fan of Microsoft products.\"</p><p>So what made me switch from Atom to VS Code?</p><hr><h3 id=\"performance\">Performance</h3><p>When I first started using Atom, it was fast and as I mentioned lightweight. However, when you compare it to VS Code, it's load time can be pretty slow. Especially if you're opening somewhat large or long files. Atom can get pretty laggy and the wait becomes annoying.</p><p>It should be noted that both editors are built on <a href=\"https://www.electronjs.org/\">Electron</a>, a framework that helps you built cross-platform desktop app using HTML, Javascript, and CSS. There's a lot of dispute when it comes to Electron's speed, so you'd think that both editors would be inherently slow. However, it seems that VS Code sets an example of how to use Electron without the lag.</p><hr><h3 id=\"out-of-the-box-features\">Out of the Box Features</h3><p>Atom's main charm is that it's customizable. You can add whatever extensions and linters and anything you want. However, especially if you're a beginner in a language and not sure what kind of extensions or linters you might want, it can be a hassle using it. Even if you do find the extensions you need, there's no guarantee that these extensions will do the job well (I'll talk about extensions next). </p><p>Not only does VS Code come ready with support, debuggers and linters for most popular languages, but when you use a new or not so popular language, it recommends the extension you need right away. It saves you time and makes sure you are using what you need in your development.</p><hr><h3 id=\"extension\">Extension</h3><p>Extensions in Atom are tricky. You'll find really good extensions that will be helpful in your development process, but you'll also find extensions that will create more bugs in your editor and makes your life a living hell. This is understandable, as most extensions are made by the open source community, so some extensions might be outdated or get discontinued, or just have a lot of bugs. </p><p>The more extensions you add to Atom, the more you'll face bugs while using it and hassles. And you can't really use Atom without loads of extensions, since using Atom as it is is like walking in the dark. </p><p>As for VS Code, I have been using it for a while now and I have yet to face any problems with its extensions. Every extension that I have added was helpful and very much needed. Nothing affected the quality of the editor.</p><hr><h3 id=\"debugging\">Debugging</h3><p>Debugging in Atom is, again, dependent on what extensions you add. There's nothing built in the editor itself. However, in VS Code, your access to debugging is easier. There's the debugging tab ready for you on the left and it provides what you need based on the environment of the project you're working on. This is another part of the out of the box features in VS Code that Atom lacks in.</p><hr><h3 id=\"conclusion\">Conclusion</h3><p>With time, Atom became an annoyance to me. Every time I needed to add an extension, the entire editor seemed to be crumbling. The load time was slow and the performance got worse. However, VS Code is proving to be a stable editor that can handle your main development need, while still keeping the performance optimal.</p>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A few years ago, I discovered "},{"type":"element","tagName":"a","properties":{"href":"https://atom.io/"},"children":[{"type":"text","value":"Atom"}]},{"type":"text","value":", an open source text and source code editor developed by "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":". I was so amazed by it as it was lightweight and fully customizable. It quickly became my favorite code editor."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Fast forward to now, and I am using "},{"type":"element","tagName":"a","properties":{"href":"https://code.visualstudio.com/"},"children":[{"type":"text","value":"Visual Studio Code"}]},{"type":"text","value":", a free source code editor developed by "},{"type":"element","tagName":"a","properties":{"href":"https://www.microsoft.com/en-lb"},"children":[{"type":"text","value":"Microsoft"}]},{"type":"text","value":". This might seem like a normal change, however, I remember that while I was using Atom my colleague and I were having a discussion and I strictly stated \"I'm not a fan of Microsoft products.\""}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"So what made me switch from Atom to VS Code?"}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h3","properties":{"id":"performance"},"children":[{"type":"text","value":"Performance"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"When I first started using Atom, it was fast and as I mentioned lightweight. However, when you compare it to VS Code, it's load time can be pretty slow. Especially if you're opening somewhat large or long files. Atom can get pretty laggy and the wait becomes annoying."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It should be noted that both editors are built on "},{"type":"element","tagName":"a","properties":{"href":"https://www.electronjs.org/"},"children":[{"type":"text","value":"Electron"}]},{"type":"text","value":", a framework that helps you built cross-platform desktop app using HTML, Javascript, and CSS. There's a lot of dispute when it comes to Electron's speed, so you'd think that both editors would be inherently slow. However, it seems that VS Code sets an example of how to use Electron without the lag."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h3","properties":{"id":"out-of-the-box-features"},"children":[{"type":"text","value":"Out of the Box Features"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Atom's main charm is that it's customizable. You can add whatever extensions and linters and anything you want. However, especially if you're a beginner in a language and not sure what kind of extensions or linters you might want, it can be a hassle using it. Even if you do find the extensions you need, there's no guarantee that these extensions will do the job well (I'll talk about extensions next). "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Not only does VS Code come ready with support, debuggers and linters for most popular languages, but when you use a new or not so popular language, it recommends the extension you need right away. It saves you time and makes sure you are using what you need in your development."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h3","properties":{"id":"extension"},"children":[{"type":"text","value":"Extension"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Extensions in Atom are tricky. You'll find really good extensions that will be helpful in your development process, but you'll also find extensions that will create more bugs in your editor and makes your life a living hell. This is understandable, as most extensions are made by the open source community, so some extensions might be outdated or get discontinued, or just have a lot of bugs. "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The more extensions you add to Atom, the more you'll face bugs while using it and hassles. And you can't really use Atom without loads of extensions, since using Atom as it is is like walking in the dark. "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As for VS Code, I have been using it for a while now and I have yet to face any problems with its extensions. Every extension that I have added was helpful and very much needed. Nothing affected the quality of the editor."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h3","properties":{"id":"debugging"},"children":[{"type":"text","value":"Debugging"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Debugging in Atom is, again, dependent on what extensions you add. There's nothing built in the editor itself. However, in VS Code, your access to debugging is easier. There's the debugging tab ready for you on the left and it provides what you need based on the environment of the project you're working on. This is another part of the out of the box features in VS Code that Atom lacks in."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h3","properties":{"id":"conclusion"},"children":[{"type":"text","value":"Conclusion"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"With time, Atom became an annoyance to me. Every time I needed to add an extension, the entire editor seemed to be crumbling. The load time was slow and the performance got worse. However, VS Code is proving to be a stable editor that can handle your main development need, while still keeping the performance optimal."}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"performance","heading":"Performance"},{"id":"out-of-the-box-features","heading":"Out of the Box Features"},{"id":"extension","heading":"Extension"},{"id":"debugging","heading":"Debugging"},{"id":"conclusion","heading":"Conclusion"}]},"featureImageSharp":{"base":"photo-1498050108023-c5249f4df085.jpg","publicURL":"/static/f6b4d4620d213392f2a6bbbba17b86b5/photo-1498050108023-c5249f4df085.jpg","imageMeta":{"width":2000,"height":1331},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAD/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAWZHbZpCj//EABsQAAIBBQAAAAAAAAAAAAAAAAIDAQAEEhMh/9oACAEBAAEFAgZihbRMqtp2itIhMv7/AP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABsQAAICAwEAAAAAAAAAAAAAAAACAREQITFh/9oACAEBAAY/AvYKhawyNwuDSwf/xAAZEAADAQEBAAAAAAAAAAAAAAAAAREhQVH/2gAIAQEAAT8hRfYKouJjaVcJUGvM9ZJ1Ej//2gAMAwEAAgADAAAAEOsf/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEh/9oACAEDAQE/ENV//8QAFREBAQAAAAAAAAAAAAAAAAAAECH/2gAIAQIBAT8Qh//EABkQAQEBAQEBAAAAAAAAAAAAAAERACFB8P/aAAgBAQABPxAa68qTzrlLgfQrXAEEDhiH2BtfvMlNoYIhmPaTqt3/2Q==","aspectRatio":1.5086206896551724,"src":"/static/f6b4d4620d213392f2a6bbbba17b86b5/ea4ab/photo-1498050108023-c5249f4df085.jpg","srcSet":"/static/f6b4d4620d213392f2a6bbbba17b86b5/477ba/photo-1498050108023-c5249f4df085.jpg 175w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/06776/photo-1498050108023-c5249f4df085.jpg 350w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/ea4ab/photo-1498050108023-c5249f4df085.jpg 700w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/3055e/photo-1498050108023-c5249f4df085.jpg 1050w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/eff08/photo-1498050108023-c5249f4df085.jpg 1400w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/4e5f3/photo-1498050108023-c5249f4df085.jpg 2000w","srcWebp":"/static/f6b4d4620d213392f2a6bbbba17b86b5/89afa/photo-1498050108023-c5249f4df085.webp","srcSetWebp":"/static/f6b4d4620d213392f2a6bbbba17b86b5/9fca7/photo-1498050108023-c5249f4df085.webp 175w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/37a4e/photo-1498050108023-c5249f4df085.webp 350w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/89afa/photo-1498050108023-c5249f4df085.webp 700w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/78e7a/photo-1498050108023-c5249f4df085.webp 1050w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/03d34/photo-1498050108023-c5249f4df085.webp 1400w,\n/static/f6b4d4620d213392f2a6bbbba17b86b5/49d6b/photo-1498050108023-c5249f4df085.webp 2000w","sizes":"(max-width: 700px) 100vw, 700px"}}}},"next":{"id":"Ghost__Post__6127ba1b3ed159214d382e83","title":"How I Improved My CSS Skills","slug":"how-i-improved-my-css-skills","featured":false,"feature_image":"https://res-3.cloudinary.com/hbqmf3mbz/image/upload/q_auto/v1/ghost-blog-images/photo-1500933964569-522caa01ca2e.jpg","excerpt":"CSS for me was what I couldn't do with Bootstrap. So, I decided I'd up my game by looking up challenges online.","custom_excerpt":"CSS for me was what I couldn't do with Bootstrap. So, I decided I'd up my game by looking up challenges online.","visibility":"public","created_at_pretty":"5 Feb 2021","published_at_pretty":"6 Feb 2021","updated_at_pretty":"26 Aug 2021","created_at":"2021-02-05T13:54:31.000+00:00","published_at":"2021-02-06T10:47:03.000+00:00","updated_at":"2021-08-26T17:49:20.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"css","url":"https://backend.shahednasser.com/tag/css/","name":"CSS","visibility":"public","feature_image":"https://backend.shahednasser.com/content/images/2022/01/photo-1610986603166-f78428624e76-2.jpeg","description":"Learn more about CSS through tutorials, articles, and tips.","meta_title":null,"meta_description":null,"featureImageSharp":{"base":"photo-1610986603166-f78428624e76-2.jpeg","publicURL":"/static/2e4062ead6b64acea03c5c5ba3437c96/photo-1610986603166-f78428624e76-2.jpeg","imageMeta":{"width":2000,"height":1352},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAIBAwX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAABymIKxiv/xAAaEAACAgMAAAAAAAAAAAAAAAAAEQECEBIh/9oACAEBAAEFAqolalUcx//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAECAQE/AUf/xAAZEAACAwEAAAAAAAAAAAAAAAAQIQABEYH/2gAIAQEABj8CcVd0M//EABsQAAIDAAMAAAAAAAAAAAAAAAABESExEFGB/9oACAEBAAE/IdKGJM+nDWSDSdkH/9oADAMBAAIAAwAAABCL7//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAECAQE/EAY//8QAGhABAQADAQEAAAAAAAAAAAAAAREAITEQYf/aAAgBAQABPxAsEuSsxwBHaV8nMjhCkPIbwwjTs8f/2Q==","aspectRatio":1.4772727272727273,"src":"/static/2e4062ead6b64acea03c5c5ba3437c96/d5c54/photo-1610986603166-f78428624e76-2.jpg","srcSet":"/static/2e4062ead6b64acea03c5c5ba3437c96/65d8c/photo-1610986603166-f78428624e76-2.jpg 260w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/c5f21/photo-1610986603166-f78428624e76-2.jpg 520w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/d5c54/photo-1610986603166-f78428624e76-2.jpg 1040w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/81a53/photo-1610986603166-f78428624e76-2.jpg 1560w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/4e5f3/photo-1610986603166-f78428624e76-2.jpg 2000w","srcWebp":"/static/2e4062ead6b64acea03c5c5ba3437c96/e4875/photo-1610986603166-f78428624e76-2.webp","srcSetWebp":"/static/2e4062ead6b64acea03c5c5ba3437c96/dc8f3/photo-1610986603166-f78428624e76-2.webp 260w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/2db4b/photo-1610986603166-f78428624e76-2.webp 520w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/e4875/photo-1610986603166-f78428624e76-2.webp 1040w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/f5845/photo-1610986603166-f78428624e76-2.webp 1560w,\n/static/2e4062ead6b64acea03c5c5ba3437c96/49d6b/photo-1610986603166-f78428624e76-2.webp 2000w","sizes":"(max-width: 1040px) 100vw, 1040px"}}}},"tags":[{"slug":"css","url":"https://backend.shahednasser.com/tag/css/","name":"CSS","visibility":"public","feature_image":"https://backend.shahednasser.com/content/images/2022/01/photo-1610986603166-f78428624e76-2.jpeg","description":"Learn more about CSS through tutorials, articles, and tips.","meta_title":null,"meta_description":null,"featureImageSharp":null},{"slug":"beginner","url":"https://backend.shahednasser.com/tag/beginner/","name":"Beginners","visibility":"public","feature_image":"https://backend.shahednasser.com/content/images/2022/01/photo-1521185496955-15097b20c5fe-2.jpeg","description":"Tutorials, articles, and tips to help beginners accelerate their journey in programming.","meta_title":"Beginners","meta_description":"Tutorials, articles, and tips to help beginners accelerate their journey in programming.","featureImageSharp":null},{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null}],"plaintext":"Two years ago, I had just gotten employed at my job and we were going through an\nin between projects and contacts phase. Basically, as a developer, I was bored. \n\nI didn't want to waste my time, so I decided to improve my CSS skills. Back then\nCSS for me was what I couldn't do with Bootstrap. It was just simple properties\nI added here and there. So, I decided I'd up my game by looking up challenges\nonline.\n\nSuggested Read: CSS Variables and How to Use Them\n[https://blog.shahednasser.com/css-variables-and-how-to-use-them/]\n\n\n--------------------------------------------------------------------------------\n\nCodepen Challenges\nThe first place I went to for challenges was Codepen\n[https://codepen.io/challenges]. Codepen has a new theme of challenges every\nmonth, and every week of that month there would be a challenge revolving around\nthe theme.\n\nThe first challenge I did was for for a ghosts challenge (It was October at the\ntime and the theme was Halloween).\n\n See the Pen Nice Ghost [https://codepen.io/shahednasser/pen/NOGYLO] by Shahed\nNasser (@shahednasser [https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nPretty lame to be completely honest. But, with time I moved on to something like\nthis:\n\n See the Pen Tiger Pattern on Hover List - #CodePenChallenge\n[https://codepen.io/shahednasser/pen/xQpBJb] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nAnd this\n\n See the Pen Focus Table / Hover Table\n[https://codepen.io/shahednasser/pen/EdyrRX] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nLooking back at it, I found these two so hard to do. My skills were so much\nlacking that designing a table with a hover effect seemed like it was too much.\n\nCodepen was not enough though, as the challenges were just once a week and I\nneeded to do more. So, I had to look through other challenges online.\n\n\n--------------------------------------------------------------------------------\n\nDaily CSS Images\nDaily CSS Images\n[https://gist.github.com/MeFoDy/067daabf9c3ea0e554f045fc067e23b0] takes a more\nfun approach at learning CSS. Basically, everyday you create a certain object or\nanimal, but with CSS. At the time I thought \"how would learning how to make a\nbear be helpful?\" but after time I realized that it's not about what you were\nmaking, it's about how you make it and what you learn in the process.\n\nSo, I made a bear with CSS.\n\n See the Pen CSS Bear Cub - #DailyCSSImages\n[https://codepen.io/shahednasser/pen/bmgZdO] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nI learned how to use rotate and transform through this one. I remember I was so\nconfused trying to make the ears in particular. After I was done though, I felt\nso proud of it.\n\nAnother one I did was a clock. Now this one I needed a tutorial to help me\nbecause I didn't know how to make the clock hands move without Javascript.\nBefore doing this, I thought it was impossible to do it with only CSS.\n\n See the Pen CSS Alarm Clock - #DailyCSSImages Challenge\n[https://codepen.io/shahednasser/pen/wYpJdP] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nThrough making this one it was my first time even hearing about transform-origin\n. I also expanded my knowledge a lot with using transform and animations. This\none was a big step up for me.\n\nI also did an elephant, a beaver, a jellyfish, and a rose. Daily CSS Images\nChallenge helped me understand more about animations and transforms and\nperspective in CSS. \n\nDaily CSS Images Challenge also helped me step up my CodePen Challenges game!\n\n See the Pen CodePen Challenge - Panda\n[https://codepen.io/shahednasser/pen/VVPYLK] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nAlthough these challenges helped, I needed to move on to something more\nrealistic. A challenge where I would make something that I would actually make\nin a real project.\n\n\n--------------------------------------------------------------------------------\n\n100 Days CSS Challenge\n100 Days CSS Challenge [https://100dayscss.com/] was my favorite challenge to be\na part of. First off, their website featured the works of developers who\nparticipated on CodePen, so it was a nice boost for me. Also, their challenges\nlooked so beautiful to me, and in a lot of cases, something I'd love to do on a\nnext project of mine.\n\nThe first challenge I did was this:\n\n See the Pen #100daysCSSChallenge [https://codepen.io/shahednasser/pen/wYJxvx] \nby Shahed Nasser (@shahednasser [https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nA simple grid of images that shows a heart on hover. Yes, it is simple, but\nagain because I lacked in my skills it was helpful.\n\nI also did this Search bar:\n\n See the Pen Search Bar - 100 Days CSS Challenge\n[https://codepen.io/shahednasser/pen/XxOPOQ] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nAnd this counter:\n\n See the Pen Counter - 100 Days CSS Challenge\n[https://codepen.io/shahednasser/pen/PygOzB] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nAgain, all simple concepts, but it was still really helpful. I learned how to\nmake prettier designs. CSS isn't just about knowing how to do something or\nmemorizing the properties, it's also about utilizing what you know to make a\nvisually pleasing design.\n\nThese challenges also had Javascript in them so it was helpful to practice\nJavascript as well.\n\n\n--------------------------------------------------------------------------------\n\nCodevember\nAnother challenge I took on as well was Codevember [http://codevember.xyz/].\nCodevember ran from 2016 till 2019, and it would show a list of challenges for\nevery day in November.\n\nCodevember's challenges were simple. Each day would have a keyword and you have\nto create something that relates to it. This helps shift  your perspective from\njust coding with CSS to using your imagination to find an idea, then think how\nwould I bring this idea to life with CSS.\n\nSo, at first when the concept was Infinity, I took a pretty simple approach to\nit:\n\n See the Pen #codevember - 01 - infinity\n[https://codepen.io/shahednasser/pen/eQZGbX] by Shahed Nasser (@shahednasser\n[https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nBut when the concept was Web, I made a spider sitting on a web (with the help of\nSVG):\n\n See the Pen #codevember - 03 - Web [https://codepen.io/shahednasser/pen/pQNRKO] \nby Shahed Nasser (@shahednasser [https://codepen.io/shahednasser])\non CodePen [https://codepen.io].\n\nIt helped me think more creatively and then try to find a way to do it with CSS,\nwhile maintaining what I learned from 100 Days CSS Challenge to make it visually\npleasing.\n\n\n--------------------------------------------------------------------------------\n\nConclusion\nEveryone knows that to improve your skill in any programming language, you need\nto practice. Even if it seems hard in the beginning, with time you will improve\nand you will learn new concepts and ways of thinking as well. Whether it's CSS\nor any other programming language, look online for motivating challenges to keep\nyou going and practicing to become a better developer.","html":"<p>Two years ago, I had just gotten employed at my job and we were going through an in between projects and contacts phase. Basically, as a developer, I was bored. </p><p>I didn't want to waste my time, so I decided to improve my CSS skills. Back then CSS for me was what I couldn't do with Bootstrap. It was just simple properties I added here and there. So, I decided I'd up my game by looking up challenges online.</p><p><em>Suggested Read: <a href=\"https://blog.shahednasser.com/css-variables-and-how-to-use-them/\">CSS Variables and How to Use Them</a></em></p><hr><h2 id=\"codepen-challenges\">Codepen Challenges</h2><p>The first place I went to for challenges was <a href=\"https://codepen.io/challenges\">Codepen</a>. Codepen has a new theme of challenges every month, and every week of that month there would be a challenge revolving around the theme.</p><p>The first challenge I did was for for a ghosts challenge (It was October at the time and the theme was Halloween).</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"265\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"NOGYLO\" style=\"height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Nice Ghost\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/NOGYLO\">\n  Nice Ghost</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Pretty lame to be completely honest. But, with time I moved on to something like this:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"656\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"xQpBJb\" style=\"height: 656px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Tiger Pattern on Hover List - #CodePenChallenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/xQpBJb\">\n  Tiger Pattern on Hover List - #CodePenChallenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>And this</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"585\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"EdyrRX\" style=\"height: 585px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Focus Table / Hover Table\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/EdyrRX\">\n  Focus Table / Hover Table</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Looking back at it, I found these two so hard to do. My skills were so much lacking that designing a table with a hover effect seemed like it was too much.</p><p>Codepen was not enough though, as the challenges were just once a week and I needed to do more. So, I had to look through other challenges online.</p><hr><h2 id=\"daily-css-images\">Daily CSS Images</h2><p><a href=\"https://gist.github.com/MeFoDy/067daabf9c3ea0e554f045fc067e23b0\">Daily CSS Images</a> takes a more fun approach at learning CSS. Basically, everyday you create a certain object or animal, but with CSS. At the time I thought \"how would learning how to make a bear be helpful?\" but after time I realized that it's not about what you were making, it's about how you make it and what you learn in the process.</p><p>So, I made a bear with CSS.</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"659\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"bmgZdO\" style=\"height: 659px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"CSS Bear Cub - #DailyCSSImages\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/bmgZdO\">\n  CSS Bear Cub - #DailyCSSImages</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>I learned how to use <code>rotate</code> and <code>transform</code> through this one. I remember I was so confused trying to make the ears in particular. After I was done though, I felt so proud of it.</p><p>Another one I did was a clock. Now this one I needed a tutorial to help me because I didn't know how to make the clock hands move without Javascript. Before doing this, I thought it was impossible to do it with only CSS.</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"415\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"wYpJdP\" style=\"height: 415px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"CSS Alarm Clock - #DailyCSSImages Challenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/wYpJdP\">\n  CSS Alarm Clock - #DailyCSSImages Challenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Through making this one it was my first time even hearing about <code>transform-origin</code>. I also expanded my knowledge a lot with using transform and animations. This one was a big step up for me.</p><p>I also did an elephant, a beaver, a jellyfish, and a rose. Daily CSS Images Challenge helped me understand more about animations and transforms and perspective in CSS. </p><p>Daily CSS Images Challenge also helped me step up my CodePen Challenges game!</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"769\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"VVPYLK\" style=\"height: 769px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"CodePen Challenge - Panda\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/VVPYLK\">\n  CodePen Challenge - Panda</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Although these challenges helped, I needed to move on to something more realistic. A challenge where I would make something that I would actually make in a real project.</p><hr><h2 id=\"100-days-css-challenge\">100 Days CSS Challenge</h2><p><a href=\"https://100dayscss.com/\">100 Days CSS Challenge</a> was my favorite challenge to be a part of. First off, their website featured the works of developers who participated on CodePen, so it was a nice boost for me. Also, their challenges looked so beautiful to me, and in a lot of cases, something I'd love to do on a next project of mine.</p><p>The first challenge I did was this:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"542\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"wYJxvx\" style=\"height: 542px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"#100daysCSSChallenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/wYJxvx\">\n  #100daysCSSChallenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>A simple grid of images that shows a heart on hover. Yes, it is simple, but again because I lacked in my skills it was helpful.</p><p>I also did this Search bar:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"560\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"XxOPOQ\" style=\"height: 560px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Search Bar - 100 Days CSS Challenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/XxOPOQ\">\n  Search Bar - 100 Days CSS Challenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>And this counter:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"530\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"PygOzB\" style=\"height: 530px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Counter - 100 Days CSS Challenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/PygOzB\">\n  Counter - 100 Days CSS Challenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Again, all simple concepts, but it was still really helpful. I learned how to make prettier designs. CSS isn't just about knowing how to do something or memorizing the properties, it's also about utilizing what you know to make a visually pleasing design.</p><p>These challenges also had Javascript in them so it was helpful to practice Javascript as well.</p><hr><h2 id=\"codevember\">Codevember</h2><p>Another challenge I took on as well was <a href=\"http://codevember.xyz/\">Codevember</a>. Codevember ran from 2016 till 2019, and it would show a list of challenges for every day in November.</p><p>Codevember's challenges were simple. Each day would have a keyword and you have to create something that relates to it. This helps shift  your perspective from just coding with CSS to using your imagination to find an idea, then think how would I bring this idea to life with CSS.</p><p>So, at first when the concept was Infinity, I took a pretty simple approach to it:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"486\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"eQZGbX\" style=\"height: 486px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"#codevember - 01 - infinity\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/eQZGbX\">\n  #codevember - 01 - infinity</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>But when the concept was Web, I made a spider sitting on a web (with the help of SVG):</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"477\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"pQNRKO\" style=\"height: 477px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"#codevember - 03 - Web\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/pQNRKO\">\n  #codevember - 03 - Web</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>It helped me think more creatively and then try to find a way to do it with CSS, while maintaining what I learned from 100 Days CSS Challenge to make it visually pleasing.</p><hr><h2 id=\"conclusion\">Conclusion</h2><p>Everyone knows that to improve your skill in any programming language, you need to practice. Even if it seems hard in the beginning, with time you will improve and you will learn new concepts and ways of thinking as well. Whether it's CSS or any other programming language, look online for motivating challenges to keep you going and practicing to become a better developer.</p>","url":"https://backend.shahednasser.com/how-i-improved-my-css-skills/","canonical_url":null,"uuid":"e67ccf1a-1e48-43d1-9a48-e1a6ffac5808","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"601d4e174dedf3001e558feb","reading_time":4,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>Two years ago, I had just gotten employed at my job and we were going through an in between projects and contacts phase. Basically, as a developer, I was bored. </p><p>I didn't want to waste my time, so I decided to improve my CSS skills. Back then CSS for me was what I couldn't do with Bootstrap. It was just simple properties I added here and there. So, I decided I'd up my game by looking up challenges online.</p><p><em>Suggested Read: <a href=\"https://blog.shahednasser.com/css-variables-and-how-to-use-them/\">CSS Variables and How to Use Them</a></em></p><hr><h2 id=\"codepen-challenges\">Codepen Challenges</h2><p>The first place I went to for challenges was <a href=\"https://codepen.io/challenges\">Codepen</a>. Codepen has a new theme of challenges every month, and every week of that month there would be a challenge revolving around the theme.</p><p>The first challenge I did was for for a ghosts challenge (It was October at the time and the theme was Halloween).</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"265\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"NOGYLO\" style=\"height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Nice Ghost\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/NOGYLO\">\n  Nice Ghost</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Pretty lame to be completely honest. But, with time I moved on to something like this:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"656\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"xQpBJb\" style=\"height: 656px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Tiger Pattern on Hover List - #CodePenChallenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/xQpBJb\">\n  Tiger Pattern on Hover List - #CodePenChallenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>And this</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"585\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"EdyrRX\" style=\"height: 585px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Focus Table / Hover Table\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/EdyrRX\">\n  Focus Table / Hover Table</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Looking back at it, I found these two so hard to do. My skills were so much lacking that designing a table with a hover effect seemed like it was too much.</p><p>Codepen was not enough though, as the challenges were just once a week and I needed to do more. So, I had to look through other challenges online.</p><hr><h2 id=\"daily-css-images\">Daily CSS Images</h2><p><a href=\"https://gist.github.com/MeFoDy/067daabf9c3ea0e554f045fc067e23b0\">Daily CSS Images</a> takes a more fun approach at learning CSS. Basically, everyday you create a certain object or animal, but with CSS. At the time I thought \"how would learning how to make a bear be helpful?\" but after time I realized that it's not about what you were making, it's about how you make it and what you learn in the process.</p><p>So, I made a bear with CSS.</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"659\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"bmgZdO\" style=\"height: 659px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"CSS Bear Cub - #DailyCSSImages\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/bmgZdO\">\n  CSS Bear Cub - #DailyCSSImages</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>I learned how to use <code class=\"language-text\">rotate</code> and <code class=\"language-text\">transform</code> through this one. I remember I was so confused trying to make the ears in particular. After I was done though, I felt so proud of it.</p><p>Another one I did was a clock. Now this one I needed a tutorial to help me because I didn't know how to make the clock hands move without Javascript. Before doing this, I thought it was impossible to do it with only CSS.</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"415\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"wYpJdP\" style=\"height: 415px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"CSS Alarm Clock - #DailyCSSImages Challenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/wYpJdP\">\n  CSS Alarm Clock - #DailyCSSImages Challenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Through making this one it was my first time even hearing about <code class=\"language-text\">transform-origin</code>. I also expanded my knowledge a lot with using transform and animations. This one was a big step up for me.</p><p>I also did an elephant, a beaver, a jellyfish, and a rose. Daily CSS Images Challenge helped me understand more about animations and transforms and perspective in CSS. </p><p>Daily CSS Images Challenge also helped me step up my CodePen Challenges game!</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"769\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"VVPYLK\" style=\"height: 769px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"CodePen Challenge - Panda\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/VVPYLK\">\n  CodePen Challenge - Panda</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Although these challenges helped, I needed to move on to something more realistic. A challenge where I would make something that I would actually make in a real project.</p><hr><h2 id=\"100-days-css-challenge\">100 Days CSS Challenge</h2><p><a href=\"https://100dayscss.com/\">100 Days CSS Challenge</a> was my favorite challenge to be a part of. First off, their website featured the works of developers who participated on CodePen, so it was a nice boost for me. Also, their challenges looked so beautiful to me, and in a lot of cases, something I'd love to do on a next project of mine.</p><p>The first challenge I did was this:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"542\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"wYJxvx\" style=\"height: 542px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"#100daysCSSChallenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/wYJxvx\">\n  #100daysCSSChallenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>A simple grid of images that shows a heart on hover. Yes, it is simple, but again because I lacked in my skills it was helpful.</p><p>I also did this Search bar:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"560\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"XxOPOQ\" style=\"height: 560px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Search Bar - 100 Days CSS Challenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/XxOPOQ\">\n  Search Bar - 100 Days CSS Challenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>And this counter:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"530\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"PygOzB\" style=\"height: 530px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"Counter - 100 Days CSS Challenge\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/PygOzB\">\n  Counter - 100 Days CSS Challenge</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>Again, all simple concepts, but it was still really helpful. I learned how to make prettier designs. CSS isn't just about knowing how to do something or memorizing the properties, it's also about utilizing what you know to make a visually pleasing design.</p><p>These challenges also had Javascript in them so it was helpful to practice Javascript as well.</p><hr><h2 id=\"codevember\">Codevember</h2><p>Another challenge I took on as well was <a href=\"http://codevember.xyz/\">Codevember</a>. Codevember ran from 2016 till 2019, and it would show a list of challenges for every day in November.</p><p>Codevember's challenges were simple. Each day would have a keyword and you have to create something that relates to it. This helps shift  your perspective from just coding with CSS to using your imagination to find an idea, then think how would I bring this idea to life with CSS.</p><p>So, at first when the concept was Infinity, I took a pretty simple approach to it:</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"486\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"eQZGbX\" style=\"height: 486px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"#codevember - 01 - infinity\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/eQZGbX\">\n  #codevember - 01 - infinity</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>But when the concept was Web, I made a spider sitting on a web (with the help of SVG):</p><!--kg-card-begin: html--><p class=\"codepen\" data-height=\"477\" data-theme-id=\"dark\" data-default-tab=\"result\" data-user=\"shahednasser\" data-slug-hash=\"pQNRKO\" style=\"height: 477px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;\" data-pen-title=\"#codevember - 03 - Web\">\n  <span>See the Pen <a href=\"https://codepen.io/shahednasser/pen/pQNRKO\">\n  #codevember - 03 - Web</a> by Shahed Nasser (<a href=\"https://codepen.io/shahednasser\">@shahednasser</a>)\n  on <a href=\"https://codepen.io\">CodePen</a>.</span>\n</p>\n<script async src=\"https://cpwebassets.codepen.io/assets/embed/ei.js\"></script><!--kg-card-end: html--><p>It helped me think more creatively and then try to find a way to do it with CSS, while maintaining what I learned from 100 Days CSS Challenge to make it visually pleasing.</p><hr><h2 id=\"conclusion\">Conclusion</h2><p>Everyone knows that to improve your skill in any programming language, you need to practice. Even if it seems hard in the beginning, with time you will improve and you will learn new concepts and ways of thinking as well. Whether it's CSS or any other programming language, look online for motivating challenges to keep you going and practicing to become a better developer.</p>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Two years ago, I had just gotten employed at my job and we were going through an in between projects and contacts phase. Basically, as a developer, I was bored. "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I didn't want to waste my time, so I decided to improve my CSS skills. Back then CSS for me was what I couldn't do with Bootstrap. It was just simple properties I added here and there. So, I decided I'd up my game by looking up challenges online."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"em","properties":{},"children":[{"type":"text","value":"Suggested Read: "},{"type":"element","tagName":"a","properties":{"href":"https://blog.shahednasser.com/css-variables-and-how-to-use-them/"},"children":[{"type":"text","value":"CSS Variables and How to Use Them"}]}]}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"codepen-challenges"},"children":[{"type":"text","value":"Codepen Challenges"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The first place I went to for challenges was "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/challenges"},"children":[{"type":"text","value":"Codepen"}]},{"type":"text","value":". Codepen has a new theme of challenges every month, and every week of that month there would be a challenge revolving around the theme."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The first challenge I did was for for a ghosts challenge (It was October at the time and the theme was Halloween)."}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"265","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"NOGYLO","style":"height: 265px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"Nice Ghost"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/NOGYLO"},"children":[{"type":"text","value":"\n  Nice Ghost"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Pretty lame to be completely honest. But, with time I moved on to something like this:"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"656","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"xQpBJb","style":"height: 656px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"Tiger Pattern on Hover List - #CodePenChallenge"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/xQpBJb"},"children":[{"type":"text","value":"\n  Tiger Pattern on Hover List - #CodePenChallenge"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"And this"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"585","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"EdyrRX","style":"height: 585px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"Focus Table / Hover Table"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/EdyrRX"},"children":[{"type":"text","value":"\n  Focus Table / Hover Table"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Looking back at it, I found these two so hard to do. My skills were so much lacking that designing a table with a hover effect seemed like it was too much."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Codepen was not enough though, as the challenges were just once a week and I needed to do more. So, I had to look through other challenges online."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"daily-css-images"},"children":[{"type":"text","value":"Daily CSS Images"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://gist.github.com/MeFoDy/067daabf9c3ea0e554f045fc067e23b0"},"children":[{"type":"text","value":"Daily CSS Images"}]},{"type":"text","value":" takes a more fun approach at learning CSS. Basically, everyday you create a certain object or animal, but with CSS. At the time I thought \"how would learning how to make a bear be helpful?\" but after time I realized that it's not about what you were making, it's about how you make it and what you learn in the process."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"So, I made a bear with CSS."}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"659","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"bmgZdO","style":"height: 659px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"CSS Bear Cub - #DailyCSSImages"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/bmgZdO"},"children":[{"type":"text","value":"\n  CSS Bear Cub - #DailyCSSImages"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I learned how to use "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"rotate"}]},{"type":"text","value":" and "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"transform"}]},{"type":"text","value":" through this one. I remember I was so confused trying to make the ears in particular. After I was done though, I felt so proud of it."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Another one I did was a clock. Now this one I needed a tutorial to help me because I didn't know how to make the clock hands move without Javascript. Before doing this, I thought it was impossible to do it with only CSS."}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"415","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"wYpJdP","style":"height: 415px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"CSS Alarm Clock - #DailyCSSImages Challenge"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/wYpJdP"},"children":[{"type":"text","value":"\n  CSS Alarm Clock - #DailyCSSImages Challenge"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Through making this one it was my first time even hearing about "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"transform-origin"}]},{"type":"text","value":". I also expanded my knowledge a lot with using transform and animations. This one was a big step up for me."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I also did an elephant, a beaver, a jellyfish, and a rose. Daily CSS Images Challenge helped me understand more about animations and transforms and perspective in CSS. "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Daily CSS Images Challenge also helped me step up my CodePen Challenges game!"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"769","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"VVPYLK","style":"height: 769px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"CodePen Challenge - Panda"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/VVPYLK"},"children":[{"type":"text","value":"\n  CodePen Challenge - Panda"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Although these challenges helped, I needed to move on to something more realistic. A challenge where I would make something that I would actually make in a real project."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"100-days-css-challenge"},"children":[{"type":"text","value":"100 Days CSS Challenge"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://100dayscss.com/"},"children":[{"type":"text","value":"100 Days CSS Challenge"}]},{"type":"text","value":" was my favorite challenge to be a part of. First off, their website featured the works of developers who participated on CodePen, so it was a nice boost for me. Also, their challenges looked so beautiful to me, and in a lot of cases, something I'd love to do on a next project of mine."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The first challenge I did was this:"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"542","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"wYJxvx","style":"height: 542px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"#100daysCSSChallenge"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/wYJxvx"},"children":[{"type":"text","value":"\n  #100daysCSSChallenge"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"A simple grid of images that shows a heart on hover. Yes, it is simple, but again because I lacked in my skills it was helpful."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I also did this Search bar:"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"560","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"XxOPOQ","style":"height: 560px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"Search Bar - 100 Days CSS Challenge"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/XxOPOQ"},"children":[{"type":"text","value":"\n  Search Bar - 100 Days CSS Challenge"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"And this counter:"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"530","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"PygOzB","style":"height: 530px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"Counter - 100 Days CSS Challenge"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/PygOzB"},"children":[{"type":"text","value":"\n  Counter - 100 Days CSS Challenge"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Again, all simple concepts, but it was still really helpful. I learned how to make prettier designs. CSS isn't just about knowing how to do something or memorizing the properties, it's also about utilizing what you know to make a visually pleasing design."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"These challenges also had Javascript in them so it was helpful to practice Javascript as well."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"codevember"},"children":[{"type":"text","value":"Codevember"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Another challenge I took on as well was "},{"type":"element","tagName":"a","properties":{"href":"http://codevember.xyz/"},"children":[{"type":"text","value":"Codevember"}]},{"type":"text","value":". Codevember ran from 2016 till 2019, and it would show a list of challenges for every day in November."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Codevember's challenges were simple. Each day would have a keyword and you have to create something that relates to it. This helps shift  your perspective from just coding with CSS to using your imagination to find an idea, then think how would I bring this idea to life with CSS."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"So, at first when the concept was Infinity, I took a pretty simple approach to it:"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"486","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"eQZGbX","style":"height: 486px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"#codevember - 01 - infinity"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/eQZGbX"},"children":[{"type":"text","value":"\n  #codevember - 01 - infinity"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"But when the concept was Web, I made a spider sitting on a web (with the help of SVG):"}]},{"type":"comment","value":"kg-card-begin: html"},{"type":"element","tagName":"p","properties":{"className":["codepen"],"dataHeight":"477","dataThemeId":"dark","dataDefaultTab":"result","dataUser":"shahednasser","dataSlugHash":"pQNRKO","style":"height: 477px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;","dataPenTitle":"#codevember - 03 - Web"},"children":[{"type":"text","value":"\n  "},{"type":"element","tagName":"span","properties":{},"children":[{"type":"text","value":"See the Pen "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser/pen/pQNRKO"},"children":[{"type":"text","value":"\n  #codevember - 03 - Web"}]},{"type":"text","value":" by Shahed Nasser ("},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io/shahednasser"},"children":[{"type":"text","value":"@shahednasser"}]},{"type":"text","value":")\n  on "},{"type":"element","tagName":"a","properties":{"href":"https://codepen.io"},"children":[{"type":"text","value":"CodePen"}]},{"type":"text","value":"."}]},{"type":"text","value":"\n"}]},{"type":"text","value":"\n"},{"type":"element","tagName":"script","properties":{"async":true,"src":"https://cpwebassets.codepen.io/assets/embed/ei.js"},"children":[]},{"type":"comment","value":"kg-card-end: html"},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It helped me think more creatively and then try to find a way to do it with CSS, while maintaining what I learned from 100 Days CSS Challenge to make it visually pleasing."}]},{"type":"element","tagName":"hr","properties":{},"children":[]},{"type":"element","tagName":"h2","properties":{"id":"conclusion"},"children":[{"type":"text","value":"Conclusion"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Everyone knows that to improve your skill in any programming language, you need to practice. Even if it seems hard in the beginning, with time you will improve and you will learn new concepts and ways of thinking as well. Whether it's CSS or any other programming language, look online for motivating challenges to keep you going and practicing to become a better developer."}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"codepen-challenges","heading":"Codepen Challenges"},{"id":"daily-css-images","heading":"Daily CSS Images"},{"id":"100-days-css-challenge","heading":"100 Days CSS Challenge"},{"id":"codevember","heading":"Codevember"},{"id":"conclusion","heading":"Conclusion"}]},"featureImageSharp":{"base":"photo-1500933964569-522caa01ca2e.jpg","publicURL":"/static/c04f2dcd48f58b78933988cee9d09586/photo-1500933964569-522caa01ca2e.jpg","imageMeta":{"width":2000,"height":1331},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAQDBf/EABQBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAY9uOG9AH//EABoQAAICAwAAAAAAAAAAAAAAAAIDAAEQERP/2gAIAQEAAQUCFq50XLIN5//EABYRAQEBAAAAAAAAAAAAAAAAAAABEv/aAAgBAwEBPwGNP//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAECAQE/AUf/xAAYEAACAwAAAAAAAAAAAAAAAAABECAxQf/aAAgBAQAGPwLVRh//xAAbEAACAQUAAAAAAAAAAAAAAAAAEQEgITGBof/aAAgBAQABPyGDngfCu9UUM//aAAwDAQACAAMAAAAQw/8A/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQBBcf/aAAgBAwEBPxBBlxf/xAAXEQEBAQEAAAAAAAAAAAAAAAABAEFx/9oACAECAQE/EEXbq//EABsQAQACAgMAAAAAAAAAAAAAAAEAESGREEFh/9oACAEBAAE/EKwp9RL7MshWRuPbprhbqCO5/9k=","aspectRatio":1.5086206896551724,"src":"/static/c04f2dcd48f58b78933988cee9d09586/ea4ab/photo-1500933964569-522caa01ca2e.jpg","srcSet":"/static/c04f2dcd48f58b78933988cee9d09586/477ba/photo-1500933964569-522caa01ca2e.jpg 175w,\n/static/c04f2dcd48f58b78933988cee9d09586/06776/photo-1500933964569-522caa01ca2e.jpg 350w,\n/static/c04f2dcd48f58b78933988cee9d09586/ea4ab/photo-1500933964569-522caa01ca2e.jpg 700w,\n/static/c04f2dcd48f58b78933988cee9d09586/3055e/photo-1500933964569-522caa01ca2e.jpg 1050w,\n/static/c04f2dcd48f58b78933988cee9d09586/eff08/photo-1500933964569-522caa01ca2e.jpg 1400w,\n/static/c04f2dcd48f58b78933988cee9d09586/4e5f3/photo-1500933964569-522caa01ca2e.jpg 2000w","srcWebp":"/static/c04f2dcd48f58b78933988cee9d09586/89afa/photo-1500933964569-522caa01ca2e.webp","srcSetWebp":"/static/c04f2dcd48f58b78933988cee9d09586/9fca7/photo-1500933964569-522caa01ca2e.webp 175w,\n/static/c04f2dcd48f58b78933988cee9d09586/37a4e/photo-1500933964569-522caa01ca2e.webp 350w,\n/static/c04f2dcd48f58b78933988cee9d09586/89afa/photo-1500933964569-522caa01ca2e.webp 700w,\n/static/c04f2dcd48f58b78933988cee9d09586/78e7a/photo-1500933964569-522caa01ca2e.webp 1050w,\n/static/c04f2dcd48f58b78933988cee9d09586/03d34/photo-1500933964569-522caa01ca2e.webp 1400w,\n/static/c04f2dcd48f58b78933988cee9d09586/49d6b/photo-1500933964569-522caa01ca2e.webp 2000w","sizes":"(max-width: 700px) 100vw, 700px"}}}},"allGhostPost":{"edges":[{"node":{"id":"Ghost__Post__625ad95c39840e1ac2874ea3","title":"10+ Awesome Islamic Tools and Projects","slug":"10-awesome-islamic-tools-and-projects","featured":true,"feature_image":"https://backend.shahednasser.com/content/images/2022/04/10--Awesome-Islamic-Tools-and-Projects.jpg","excerpt":"As we are halfway through Ramadan, I want to take a chance to shed light on some cool Islamic tools and projects. ","custom_excerpt":"As we are halfway through Ramadan, I want to take a chance to shed light on some cool Islamic tools and projects. ","visibility":"public","created_at_pretty":"16 Apr 2022","published_at_pretty":"18 Apr 2022","updated_at_pretty":"18 Apr 2022","created_at":"2022-04-16T14:57:32.000+00:00","published_at":"2022-04-18T09:27:54.000+00:00","updated_at":"2022-04-18T09:27:54.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null},"tags":[{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null}],"plaintext":"As we are halfway through Ramadan, I want to take a chance to shed light on some\ncool Islamic tools and projects. \n\nSome of these are open source and you can use them in your own projects as well.\n\nAl Quran Cloud\nAl Quran Cloud [https://alquran.cloud] is a web app that you can use to read\nQuran, listen to it with your favorite reciters, and check translations in many\nlanguages.\n\nWhat's cooler about this project is that it provides free APIs that you can use\nto add Quran verses to your own projects. You can use it to add the Quran verses\nboth are text and audio, as well as display translations of it.\n\nI personally have utilized these APIs in my Chrome extension Quran in New Tab.\n[https://chrome.google.com/webstore/detail/quran-in-new-tab/hggkcijghhpkdjeokpfgbhnpecliiijg?hl=en]\n\nYou can also support this project on GitHub\n[https://github.com/islamic-network/alquran.cloud].\n\nSalat Vue\nSalat Vue [https://salat-vue.netlify.app] is a simple Web app that shows you\nprayer times in any country and city. It also shows you the next prayer and how\nmuch time is left remaining.\n\nYou can support this tool on GitHub\n[https://github.com/ELATTARIYassine/Salat-vue].\n\nhijri-date\nhijri-date [https://abdennour.github.io/hijri-date/] is an NPM package that you\ncan use to get the Hijri date. It provides a HijriDate class that you can use to\nhandle hijri dates with an API similar to JavaScript's Date. You can also use it\nto convert to Gregorian date and vice versa.\n\nYou can support this tool on GitHub [https://github.com/abdennour/hijri-date].\n\nQuran.com\nQuran.com [https://quran.com] is an organization that provides web apps and\nmobile apps to easily have access to the Quran and read it, as well as listen to\nit. It's actively maintained and uses modern technologies.\n\nYou can support this project on GitHub [https://github.com/quran]. You can also \ndonate to their organization [https://donate.quran.com] for more support.\n\nazkar-db\nazkar-db [https://github.com/osamayy/azkar-db] is a GitHub repository that has a\nwide set of azkar in a SQLite database, JSON format, and CSV format. It includes\nMorning azkar and Evening azkar, as well as other types.\n\nUnfortunately, this one is all in Arabic only.\n\nMuslim Mate\nMuslim Mate [http://muslimmate.islam-db.com] is a dashboard with the necessary\ninformation for Muslims. It includes prayer times, a calendar of Islamic events,\nAzkar, and weather stats among other things. It's available as a website and as\nan Android app.\n\nIt's also fully customizable as you can remove or change the places of items in\nyour dashboard.\n\nYou can support this project on GitHub\n[https://github.com/fekracomputers/MuslimMateWebsite].\n\nAl-Adhan\nBy the creator of Al Quran Cloud, this website [https://aladhan.com] provides\nyou with information about prayer times, as well as a Hijri calendar with\nevents.\n\nThis project also has a free API that you can use in your projects. You can use\nit to get the Hijri calendar of a Gregorian month, prayer times at a specific\nlongitude and latitude, and much more.\n\nYou can support this project and contribute to it on GitHub\n[https://github.com/islamic-network/api.aladhan.com].\n\nQuran-Flutter\nQuran-Flutter [https://github.com/SadaqaWorks/Quran-Flutter] is an open-source\nflutter project that allows you to read the Quran cross-platforms. This project\nis still in its development phase but at the moment it's a responsive Quran\nreader for any device.\n\nIt's Salah Time\nIt's Salah Time [https://its-salah-time.vercel.app/] is a beautiful web app that\nshows you prayer times based on your location. It's also a PWA so you can add it\nto your mobile device and view it as an app.\n\nYou can support and contribute to this project on GitHub\n[https://github.com/murtuzaalisurti/salah].\n\nSunnah.com\nSunnah.com [https://sunnah.com] is a website you can use to view the Hadith of\nProphet Muhammad. You can also search for it. It supports 3 languages: Arabic,\nEnglish, and Urdu.\n\nIt also provides free-to-use APIs\n[https://sunnah.api-docs.io/1.0/getting-started/introduction] to use these\nresources in your projects.\n\n You can support and contribute to them on GitHub\n[https://github.com/sunnah-com/api].\n\npyIslam\npyIslam is a Python library that you can use to calculate prayer times, hijri\ndates, qiblad direction, Zakat calculation, and more.\n\nYou can support and contribute to the project on GitHub\n[https://github.com/abougouffa/pyIslam].\n\nQuran CLI\nQuran CLI [https://github.com/sarfraznawaz2005/quran-cli] is an NPM package that\nyou can install locally by cloning the GitHub repository. It allows you to view\nthe Quran right from your terminal.\n\nYou can read as well as search the Quran right from your CLI. You can view the\nverses in both English and Arabic.\n\nMore Awesome Tools\nTo check out more awesome Islamic tools, check out the following repositories:\n\n 1. Awesome-Islam [https://github.com/AhmedKamal/awesome-Islam]\n 2. Awesome-Muslims [https://github.com/choubari/Awesome-Muslims]","html":"<p>As we are halfway through Ramadan, I want to take a chance to shed light on some cool Islamic tools and projects. </p><p>Some of these are open source and you can use them in your own projects as well.</p><h2 id=\"al-quran-cloud\">Al Quran Cloud</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.03.31-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2380\" height=\"1246\"></figure><p><a href=\"https://alquran.cloud\">Al Quran Cloud</a> is a web app that you can use to read Quran, listen to it with your favorite reciters, and check translations in many languages.</p><p>What's cooler about this project is that it provides free APIs that you can use to add Quran verses to your own projects. You can use it to add the Quran verses both are text and audio, as well as display translations of it.</p><p>I personally have utilized these APIs in my Chrome extension <a href=\"https://chrome.google.com/webstore/detail/quran-in-new-tab/hggkcijghhpkdjeokpfgbhnpecliiijg?hl=en\">Quran in New Tab.</a></p><p>You can also support this project on <a href=\"https://github.com/islamic-network/alquran.cloud\">GitHub</a>.</p><h2 id=\"salat-vue\">Salat Vue</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.07.41-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1150\" height=\"1178\"></figure><p><a href=\"https://salat-vue.netlify.app\">Salat Vue</a> is a simple Web app that shows you prayer times in any country and city. It also shows you the next prayer and how much time is left remaining.</p><p>You can support this tool on <a href=\"https://github.com/ELATTARIYassine/Salat-vue\">GitHub</a>.</p><h2 id=\"hijri-date\">hijri-date</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.09.00-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2112\" height=\"870\"></figure><p><a href=\"https://abdennour.github.io/hijri-date/\">hijri-date</a> is an NPM package that you can use to get the Hijri date. It provides a <code>HijriDate</code> class that you can use to handle hijri dates with an API similar to JavaScript's Date. You can also use it to convert to Gregorian date and vice versa.</p><p>You can support this tool on <a href=\"https://github.com/abdennour/hijri-date\">GitHub</a>.</p><h2 id=\"qurancom\">Quran.com</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.12.49-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2760\" height=\"962\"></figure><p><a href=\"https://quran.com\">Quran.com</a> is an organization that provides web apps and mobile apps to easily have access to the Quran and read it, as well as listen to it. It's actively maintained and uses modern technologies.</p><p>You can support this project on <a href=\"https://github.com/quran\">GitHub</a>. You can also <a href=\"https://donate.quran.com\">donate to their organization</a> for more support.</p><h2 id=\"azkar-db\">azkar-db</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.15.38-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2504\" height=\"1058\"></figure><p><a href=\"https://github.com/osamayy/azkar-db\">azkar-db</a> is a GitHub repository that has a wide set of azkar in a SQLite database, JSON format, and CSV format. It includes Morning azkar and Evening azkar, as well as other types.</p><p>Unfortunately, this one is all in Arabic only.</p><h2 id=\"muslim-mate\">Muslim Mate</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.25.23-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2758\" height=\"1534\"></figure><p><a href=\"http://muslimmate.islam-db.com\">Muslim Mate</a> is a dashboard with the necessary information for Muslims. It includes prayer times, a calendar of Islamic events, Azkar, and weather stats among other things. It's available as a website and as an Android app.</p><p>It's also fully customizable as you can remove or change the places of items in your dashboard.</p><p>You can support this project on <a href=\"https://github.com/fekracomputers/MuslimMateWebsite\">GitHub</a>.</p><h2 id=\"al-adhan\">Al-Adhan</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.30.14-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2338\" height=\"1542\"></figure><p>By the creator of Al Quran Cloud, <a href=\"https://aladhan.com\">this website</a> provides you with information about prayer times, as well as a Hijri calendar with events.</p><p>This project also has a free API that you can use in your projects. You can use it to get the Hijri calendar of a Gregorian month, prayer times at a specific longitude and latitude, and much more.</p><p>You can support this project and contribute to it on <a href=\"https://github.com/islamic-network/api.aladhan.com\">GitHub</a>.</p><h2 id=\"quran-flutter\">Quran-Flutter</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.34.13-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"1756\" height=\"1102\"></figure><p><a href=\"https://github.com/SadaqaWorks/Quran-Flutter\">Quran-Flutter</a> is an open-source flutter project that allows you to read the Quran cross-platforms. This project is still in its development phase but at the moment it's a responsive Quran reader for any device.</p><h2 id=\"its-salah-time\">It's Salah Time</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-17-at-6.29.51-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"608\" height=\"1418\"></figure><p><a href=\"https://its-salah-time.vercel.app/\">It's Salah Time</a> is a beautiful web app that shows you prayer times based on your location. It's also a PWA so you can add it to your mobile device and view it as an app.</p><p>You can support and contribute to this project on <a href=\"https://github.com/murtuzaalisurti/salah\">GitHub</a>.</p><h2 id=\"sunnahcom\">Sunnah.com</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.44.58-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2796\" height=\"1272\"></figure><p><a href=\"https://sunnah.com\">Sunnah.com</a> is a website you can use to view the Hadith of Prophet Muhammad. You can also search for it. It supports 3 languages: Arabic, English, and Urdu.</p><p>It also provides <a href=\"https://sunnah.api-docs.io/1.0/getting-started/introduction\">free-to-use APIs</a> to use these resources in your projects.</p><p> You can support and contribute to them on <a href=\"https://github.com/sunnah-com/api\">GitHub</a>.</p><h2 id=\"pyislam\">pyIslam</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.50.29-PM.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"2066\" height=\"1548\"></figure><p>pyIslam is a Python library that you can use to calculate prayer times, hijri dates, qiblad direction, Zakat calculation, and more.</p><p>You can support and contribute to the project on <a href=\"https://github.com/abougouffa/pyIslam\">GitHub</a>.</p><h2 id=\"quran-cli\">Quran CLI</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/screen1.png\" class=\"kg-image\" alt loading=\"lazy\" width=\"724\" height=\"597\"></figure><p><a href=\"https://github.com/sarfraznawaz2005/quran-cli\">Quran CLI</a> is an NPM package that you can install locally by cloning the GitHub repository. It allows you to view the Quran right from your terminal.</p><p>You can read as well as search the Quran right from your CLI. You can view the verses in both English and Arabic.</p><h2 id=\"more-awesome-tools\">More Awesome Tools</h2><p>To check out more awesome Islamic tools, check out the following repositories:</p><ol><li><a href=\"https://github.com/AhmedKamal/awesome-Islam\">Awesome-Islam</a></li><li><a href=\"https://github.com/choubari/Awesome-Muslims\">Awesome-Muslims</a></li></ol>","url":"https://backend.shahednasser.com/10-awesome-islamic-tools-and-projects/","canonical_url":null,"uuid":"9b652a4a-357b-441c-a909-c6f89716b7f3","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"625ad95c39840e1ac2874ea3","reading_time":4,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>As we are halfway through Ramadan, I want to take a chance to shed light on some cool Islamic tools and projects. </p><p>Some of these are open source and you can use them in your own projects as well.</p><h2 id=\"al-quran-cloud\">Al Quran Cloud</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.03.31-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2380\" height=\"1246\"></figure><p><a href=\"https://alquran.cloud\">Al Quran Cloud</a> is a web app that you can use to read Quran, listen to it with your favorite reciters, and check translations in many languages.</p><p>What's cooler about this project is that it provides free APIs that you can use to add Quran verses to your own projects. You can use it to add the Quran verses both are text and audio, as well as display translations of it.</p><p>I personally have utilized these APIs in my Chrome extension <a href=\"https://chrome.google.com/webstore/detail/quran-in-new-tab/hggkcijghhpkdjeokpfgbhnpecliiijg?hl=en\">Quran in New Tab.</a></p><p>You can also support this project on <a href=\"https://github.com/islamic-network/alquran.cloud\">GitHub</a>.</p><h2 id=\"salat-vue\">Salat Vue</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.07.41-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1150\" height=\"1178\"></figure><p><a href=\"https://salat-vue.netlify.app\">Salat Vue</a> is a simple Web app that shows you prayer times in any country and city. It also shows you the next prayer and how much time is left remaining.</p><p>You can support this tool on <a href=\"https://github.com/ELATTARIYassine/Salat-vue\">GitHub</a>.</p><h2 id=\"hijri-date\">hijri-date</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.09.00-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2112\" height=\"870\"></figure><p><a href=\"https://abdennour.github.io/hijri-date/\">hijri-date</a> is an NPM package that you can use to get the Hijri date. It provides a <code class=\"language-text\">HijriDate</code> class that you can use to handle hijri dates with an API similar to JavaScript's Date. You can also use it to convert to Gregorian date and vice versa.</p><p>You can support this tool on <a href=\"https://github.com/abdennour/hijri-date\">GitHub</a>.</p><h2 id=\"qurancom\">Quran.com</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.12.49-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2760\" height=\"962\"></figure><p><a href=\"https://quran.com\">Quran.com</a> is an organization that provides web apps and mobile apps to easily have access to the Quran and read it, as well as listen to it. It's actively maintained and uses modern technologies.</p><p>You can support this project on <a href=\"https://github.com/quran\">GitHub</a>. You can also <a href=\"https://donate.quran.com\">donate to their organization</a> for more support.</p><h2 id=\"azkar-db\">azkar-db</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.15.38-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2504\" height=\"1058\"></figure><p><a href=\"https://github.com/osamayy/azkar-db\">azkar-db</a> is a GitHub repository that has a wide set of azkar in a SQLite database, JSON format, and CSV format. It includes Morning azkar and Evening azkar, as well as other types.</p><p>Unfortunately, this one is all in Arabic only.</p><h2 id=\"muslim-mate\">Muslim Mate</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.25.23-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2758\" height=\"1534\"></figure><p><a href=\"http://muslimmate.islam-db.com\">Muslim Mate</a> is a dashboard with the necessary information for Muslims. It includes prayer times, a calendar of Islamic events, Azkar, and weather stats among other things. It's available as a website and as an Android app.</p><p>It's also fully customizable as you can remove or change the places of items in your dashboard.</p><p>You can support this project on <a href=\"https://github.com/fekracomputers/MuslimMateWebsite\">GitHub</a>.</p><h2 id=\"al-adhan\">Al-Adhan</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.30.14-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2338\" height=\"1542\"></figure><p>By the creator of Al Quran Cloud, <a href=\"https://aladhan.com\">this website</a> provides you with information about prayer times, as well as a Hijri calendar with events.</p><p>This project also has a free API that you can use in your projects. You can use it to get the Hijri calendar of a Gregorian month, prayer times at a specific longitude and latitude, and much more.</p><p>You can support this project and contribute to it on <a href=\"https://github.com/islamic-network/api.aladhan.com\">GitHub</a>.</p><h2 id=\"quran-flutter\">Quran-Flutter</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.34.13-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"1756\" height=\"1102\"></figure><p><a href=\"https://github.com/SadaqaWorks/Quran-Flutter\">Quran-Flutter</a> is an open-source flutter project that allows you to read the Quran cross-platforms. This project is still in its development phase but at the moment it's a responsive Quran reader for any device.</p><h2 id=\"its-salah-time\">It's Salah Time</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-17-at-6.29.51-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"608\" height=\"1418\"></figure><p><a href=\"https://its-salah-time.vercel.app/\">It's Salah Time</a> is a beautiful web app that shows you prayer times based on your location. It's also a PWA so you can add it to your mobile device and view it as an app.</p><p>You can support and contribute to this project on <a href=\"https://github.com/murtuzaalisurti/salah\">GitHub</a>.</p><h2 id=\"sunnahcom\">Sunnah.com</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.44.58-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2796\" height=\"1272\"></figure><p><a href=\"https://sunnah.com\">Sunnah.com</a> is a website you can use to view the Hadith of Prophet Muhammad. You can also search for it. It supports 3 languages: Arabic, English, and Urdu.</p><p>It also provides <a href=\"https://sunnah.api-docs.io/1.0/getting-started/introduction\">free-to-use APIs</a> to use these resources in your projects.</p><p> You can support and contribute to them on <a href=\"https://github.com/sunnah-com/api\">GitHub</a>.</p><h2 id=\"pyislam\">pyIslam</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.50.29-PM.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"2066\" height=\"1548\"></figure><p>pyIslam is a Python library that you can use to calculate prayer times, hijri dates, qiblad direction, Zakat calculation, and more.</p><p>You can support and contribute to the project on <a href=\"https://github.com/abougouffa/pyIslam\">GitHub</a>.</p><h2 id=\"quran-cli\">Quran CLI</h2><figure class=\"kg-card kg-image-card\"><img src=\"https://backend.shahednasser.com/content/images/2022/04/screen1.png\" class=\"kg-image\" alt=\"\" loading=\"lazy\" width=\"724\" height=\"597\"></figure><p><a href=\"https://github.com/sarfraznawaz2005/quran-cli\">Quran CLI</a> is an NPM package that you can install locally by cloning the GitHub repository. It allows you to view the Quran right from your terminal.</p><p>You can read as well as search the Quran right from your CLI. You can view the verses in both English and Arabic.</p><h2 id=\"more-awesome-tools\">More Awesome Tools</h2><p>To check out more awesome Islamic tools, check out the following repositories:</p><ol><li><a href=\"https://github.com/AhmedKamal/awesome-Islam\">Awesome-Islam</a></li><li><a href=\"https://github.com/choubari/Awesome-Muslims\">Awesome-Muslims</a></li></ol>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As we are halfway through Ramadan, I want to take a chance to shed light on some cool Islamic tools and projects. "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Some of these are open source and you can use them in your own projects as well."}]},{"type":"element","tagName":"h2","properties":{"id":"al-quran-cloud"},"children":[{"type":"text","value":"Al Quran Cloud"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.03.31-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2380,"height":1246},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://alquran.cloud"},"children":[{"type":"text","value":"Al Quran Cloud"}]},{"type":"text","value":" is a web app that you can use to read Quran, listen to it with your favorite reciters, and check translations in many languages."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"What's cooler about this project is that it provides free APIs that you can use to add Quran verses to your own projects. You can use it to add the Quran verses both are text and audio, as well as display translations of it."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I personally have utilized these APIs in my Chrome extension "},{"type":"element","tagName":"a","properties":{"href":"https://chrome.google.com/webstore/detail/quran-in-new-tab/hggkcijghhpkdjeokpfgbhnpecliiijg?hl=en"},"children":[{"type":"text","value":"Quran in New Tab."}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can also support this project on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/islamic-network/alquran.cloud"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"salat-vue"},"children":[{"type":"text","value":"Salat Vue"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.07.41-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":1150,"height":1178},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://salat-vue.netlify.app"},"children":[{"type":"text","value":"Salat Vue"}]},{"type":"text","value":" is a simple Web app that shows you prayer times in any country and city. It also shows you the next prayer and how much time is left remaining."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support this tool on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/ELATTARIYassine/Salat-vue"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"hijri-date"},"children":[{"type":"text","value":"hijri-date"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.09.00-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2112,"height":870},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://abdennour.github.io/hijri-date/"},"children":[{"type":"text","value":"hijri-date"}]},{"type":"text","value":" is an NPM package that you can use to get the Hijri date. It provides a "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"HijriDate"}]},{"type":"text","value":" class that you can use to handle hijri dates with an API similar to JavaScript's Date. You can also use it to convert to Gregorian date and vice versa."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support this tool on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/abdennour/hijri-date"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"qurancom"},"children":[{"type":"text","value":"Quran.com"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.12.49-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2760,"height":962},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://quran.com"},"children":[{"type":"text","value":"Quran.com"}]},{"type":"text","value":" is an organization that provides web apps and mobile apps to easily have access to the Quran and read it, as well as listen to it. It's actively maintained and uses modern technologies."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support this project on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/quran"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":". You can also "},{"type":"element","tagName":"a","properties":{"href":"https://donate.quran.com"},"children":[{"type":"text","value":"donate to their organization"}]},{"type":"text","value":" for more support."}]},{"type":"element","tagName":"h2","properties":{"id":"azkar-db"},"children":[{"type":"text","value":"azkar-db"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.15.38-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2504,"height":1058},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/osamayy/azkar-db"},"children":[{"type":"text","value":"azkar-db"}]},{"type":"text","value":" is a GitHub repository that has a wide set of azkar in a SQLite database, JSON format, and CSV format. It includes Morning azkar and Evening azkar, as well as other types."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Unfortunately, this one is all in Arabic only."}]},{"type":"element","tagName":"h2","properties":{"id":"muslim-mate"},"children":[{"type":"text","value":"Muslim Mate"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.25.23-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2758,"height":1534},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"http://muslimmate.islam-db.com"},"children":[{"type":"text","value":"Muslim Mate"}]},{"type":"text","value":" is a dashboard with the necessary information for Muslims. It includes prayer times, a calendar of Islamic events, Azkar, and weather stats among other things. It's available as a website and as an Android app."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It's also fully customizable as you can remove or change the places of items in your dashboard."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support this project on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/fekracomputers/MuslimMateWebsite"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"al-adhan"},"children":[{"type":"text","value":"Al-Adhan"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.30.14-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2338,"height":1542},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"By the creator of Al Quran Cloud, "},{"type":"element","tagName":"a","properties":{"href":"https://aladhan.com"},"children":[{"type":"text","value":"this website"}]},{"type":"text","value":" provides you with information about prayer times, as well as a Hijri calendar with events."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This project also has a free API that you can use in your projects. You can use it to get the Hijri calendar of a Gregorian month, prayer times at a specific longitude and latitude, and much more."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support this project and contribute to it on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/islamic-network/api.aladhan.com"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"quran-flutter"},"children":[{"type":"text","value":"Quran-Flutter"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.34.13-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":1756,"height":1102},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/SadaqaWorks/Quran-Flutter"},"children":[{"type":"text","value":"Quran-Flutter"}]},{"type":"text","value":" is an open-source flutter project that allows you to read the Quran cross-platforms. This project is still in its development phase but at the moment it's a responsive Quran reader for any device."}]},{"type":"element","tagName":"h2","properties":{"id":"its-salah-time"},"children":[{"type":"text","value":"It's Salah Time"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-17-at-6.29.51-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":608,"height":1418},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://its-salah-time.vercel.app/"},"children":[{"type":"text","value":"It's Salah Time"}]},{"type":"text","value":" is a beautiful web app that shows you prayer times based on your location. It's also a PWA so you can add it to your mobile device and view it as an app."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support and contribute to this project on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/murtuzaalisurti/salah"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"sunnahcom"},"children":[{"type":"text","value":"Sunnah.com"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.44.58-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2796,"height":1272},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://sunnah.com"},"children":[{"type":"text","value":"Sunnah.com"}]},{"type":"text","value":" is a website you can use to view the Hadith of Prophet Muhammad. You can also search for it. It supports 3 languages: Arabic, English, and Urdu."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"It also provides "},{"type":"element","tagName":"a","properties":{"href":"https://sunnah.api-docs.io/1.0/getting-started/introduction"},"children":[{"type":"text","value":"free-to-use APIs"}]},{"type":"text","value":" to use these resources in your projects."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":" You can support and contribute to them on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/sunnah-com/api"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"pyislam"},"children":[{"type":"text","value":"pyIslam"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/Screen-Shot-2022-04-16-at-6.50.29-PM.png","className":["kg-image"],"alt":"","loading":"lazy","width":2066,"height":1548},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"pyIslam is a Python library that you can use to calculate prayer times, hijri dates, qiblad direction, Zakat calculation, and more."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can support and contribute to the project on "},{"type":"element","tagName":"a","properties":{"href":"https://github.com/abougouffa/pyIslam"},"children":[{"type":"text","value":"GitHub"}]},{"type":"text","value":"."}]},{"type":"element","tagName":"h2","properties":{"id":"quran-cli"},"children":[{"type":"text","value":"Quran CLI"}]},{"type":"element","tagName":"figure","properties":{"className":["kg-card","kg-image-card"]},"children":[{"type":"element","tagName":"img","properties":{"src":"https://backend.shahednasser.com/content/images/2022/04/screen1.png","className":["kg-image"],"alt":"","loading":"lazy","width":724,"height":597},"children":[]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/sarfraznawaz2005/quran-cli"},"children":[{"type":"text","value":"Quran CLI"}]},{"type":"text","value":" is an NPM package that you can install locally by cloning the GitHub repository. It allows you to view the Quran right from your terminal."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can read as well as search the Quran right from your CLI. You can view the verses in both English and Arabic."}]},{"type":"element","tagName":"h2","properties":{"id":"more-awesome-tools"},"children":[{"type":"text","value":"More Awesome Tools"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"To check out more awesome Islamic tools, check out the following repositories:"}]},{"type":"element","tagName":"ol","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/AhmedKamal/awesome-Islam"},"children":[{"type":"text","value":"Awesome-Islam"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/choubari/Awesome-Muslims"},"children":[{"type":"text","value":"Awesome-Muslims"}]}]}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"al-quran-cloud","heading":"Al Quran Cloud"},{"id":"salat-vue","heading":"Salat Vue"},{"id":"hijri-date","heading":"hijri-date"},{"id":"qurancom","heading":"Quran.com"},{"id":"azkar-db","heading":"azkar-db"},{"id":"muslim-mate","heading":"Muslim Mate"},{"id":"al-adhan","heading":"Al-Adhan"},{"id":"quran-flutter","heading":"Quran-Flutter"},{"id":"its-salah-time","heading":"It's Salah Time"},{"id":"sunnahcom","heading":"Sunnah.com"},{"id":"pyislam","heading":"pyIslam"},{"id":"quran-cli","heading":"Quran CLI"},{"id":"more-awesome-tools","heading":"More Awesome Tools"}]},"featureImageSharp":{"base":"10--Awesome-Islamic-Tools-and-Projects.jpg","publicURL":"/static/536816f1ec08d643b496e09903988f82/10--Awesome-Islamic-Tools-and-Projects.jpg","imageMeta":{"width":1560,"height":876},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAe5dCKP/xAAXEAEAAwAAAAAAAAAAAAAAAAARASAh/9oACAEBAAEFAmXa/wD/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAWEAEBAQAAAAAAAAAAAAAAAAAxACD/2gAIAQEABj8CIz//xAAbEAACAQUAAAAAAAAAAAAAAAAAEQEgMUFx8f/aAAgBAQABPyG0fY+hDzCo/9oADAMBAAIAAwAAABAjz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABoQAAIDAQEAAAAAAAAAAAAAAAERACExIFH/2gAIAQEAAT8QsDUdFCb1kyDY8b4//9k=","aspectRatio":1.7857142857142858,"src":"/static/536816f1ec08d643b496e09903988f82/ea4ab/10--Awesome-Islamic-Tools-and-Projects.jpg","srcSet":"/static/536816f1ec08d643b496e09903988f82/477ba/10--Awesome-Islamic-Tools-and-Projects.jpg 175w,\n/static/536816f1ec08d643b496e09903988f82/06776/10--Awesome-Islamic-Tools-and-Projects.jpg 350w,\n/static/536816f1ec08d643b496e09903988f82/ea4ab/10--Awesome-Islamic-Tools-and-Projects.jpg 700w,\n/static/536816f1ec08d643b496e09903988f82/3055e/10--Awesome-Islamic-Tools-and-Projects.jpg 1050w,\n/static/536816f1ec08d643b496e09903988f82/eff08/10--Awesome-Islamic-Tools-and-Projects.jpg 1400w,\n/static/536816f1ec08d643b496e09903988f82/81a53/10--Awesome-Islamic-Tools-and-Projects.jpg 1560w","srcWebp":"/static/536816f1ec08d643b496e09903988f82/89afa/10--Awesome-Islamic-Tools-and-Projects.webp","srcSetWebp":"/static/536816f1ec08d643b496e09903988f82/9fca7/10--Awesome-Islamic-Tools-and-Projects.webp 175w,\n/static/536816f1ec08d643b496e09903988f82/37a4e/10--Awesome-Islamic-Tools-and-Projects.webp 350w,\n/static/536816f1ec08d643b496e09903988f82/89afa/10--Awesome-Islamic-Tools-and-Projects.webp 700w,\n/static/536816f1ec08d643b496e09903988f82/78e7a/10--Awesome-Islamic-Tools-and-Projects.webp 1050w,\n/static/536816f1ec08d643b496e09903988f82/03d34/10--Awesome-Islamic-Tools-and-Projects.webp 1400w,\n/static/536816f1ec08d643b496e09903988f82/f5845/10--Awesome-Islamic-Tools-and-Projects.webp 1560w","sizes":"(max-width: 700px) 100vw, 700px"}}}}},{"node":{"id":"Ghost__Post__6258204839840e1ac2874e74","title":"How to Install Python 2 on macOS 12.3+","slug":"how-to-install-python-2-on-mac-12-3","featured":true,"feature_image":"https://backend.shahednasser.com/content/images/2022/04/B7973617-B25E-4E6A-9C4B-DB17F090A267.png","excerpt":"Learn how to install Python 2 on macOS 12.3+","custom_excerpt":"Learn how to install Python 2 on macOS 12.3+","visibility":"public","created_at_pretty":"14 Apr 2022","published_at_pretty":"14 Apr 2022","updated_at_pretty":"14 Apr 2022","created_at":"2022-04-14T13:23:20.000+00:00","published_at":"2022-04-14T13:34:57.000+00:00","updated_at":"2022-04-14T13:34:57.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null},"tags":[{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null},{"slug":"python","url":"https://backend.shahednasser.com/tag/python/","name":"Python","visibility":"public","feature_image":null,"description":null,"meta_title":null,"meta_description":null,"featureImageSharp":null}],"plaintext":"As of macOS 12.3+\n[https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python]\n, Python 2 which was installed by default at /usr/bin/python have been removed.\nThis can lead to a lot of issues for developers that need to use Python 2 or\nthat use other tools that depend on it.\n\nInstall Python 2\nTo install Python2 again, simply download the macOS universal installer from\nPython's website\n[https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg]\n\nAfter downloading the installer run it to install Python 2. This will\nautomatically install Python in /usr/local/python as well.\n\nTest it Out\nYou can run Python 2 in your terminal now and other tools using it will no\nlonger have issues:\n\npython","html":"<p>As of <a href=\"https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python\">macOS 12.3+</a>, Python 2 which was installed by default at <code>/usr/bin/python</code> have been removed. This can lead to a lot of issues for developers that need to use Python 2 or that use other tools that depend on it.</p><h2 id=\"install-python-2\">Install Python 2</h2><p>To install Python2 again, simply <a href=\"https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg\">download the macOS universal installer from Python's website</a></p><p>After downloading the installer run it to install Python 2. This will automatically install Python in <code>/usr/local/python</code> as well.</p><h2 id=\"test-it-out\">Test it Out</h2><p>You can run Python 2 in your terminal now and other tools using it will no longer have issues:</p><pre><code>python</code></pre>","url":"https://backend.shahednasser.com/how-to-install-python-2-on-mac-12-3/","canonical_url":null,"uuid":"8630e7a0-622a-4bfa-9a3a-8cc2b6668d75","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"6258204839840e1ac2874e74","reading_time":1,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>As of <a href=\"https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python\">macOS 12.3+</a>, Python 2 which was installed by default at <code class=\"language-text\">/usr/bin/python</code> have been removed. This can lead to a lot of issues for developers that need to use Python 2 or that use other tools that depend on it.</p><h2 id=\"install-python-2\">Install Python 2</h2><p>To install Python2 again, simply <a href=\"https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg\">download the macOS universal installer from Python's website</a></p><p>After downloading the installer run it to install Python 2. This will automatically install Python in <code class=\"language-text\">/usr/local/python</code> as well.</p><h2 id=\"test-it-out\">Test it Out</h2><p>You can run Python 2 in your terminal now and other tools using it will no longer have issues:</p><div class=\"kg-card kg-code-card gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">python</code></pre></div>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As of "},{"type":"element","tagName":"a","properties":{"href":"https://developer.apple.com/documentation/macos-release-notes/macos-12_3-release-notes#Python"},"children":[{"type":"text","value":"macOS 12.3+"}]},{"type":"text","value":", Python 2 which was installed by default at "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"/usr/bin/python"}]},{"type":"text","value":" have been removed. This can lead to a lot of issues for developers that need to use Python 2 or that use other tools that depend on it."}]},{"type":"element","tagName":"h2","properties":{"id":"install-python-2"},"children":[{"type":"text","value":"Install Python 2"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"To install Python2 again, simply "},{"type":"element","tagName":"a","properties":{"href":"https://www.python.org/ftp/python/2.7.18/python-2.7.18-macosx10.9.pkg"},"children":[{"type":"text","value":"download the macOS universal installer from Python's website"}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"After downloading the installer run it to install Python 2. This will automatically install Python in "},{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"/usr/local/python"}]},{"type":"text","value":" as well."}]},{"type":"element","tagName":"h2","properties":{"id":"test-it-out"},"children":[{"type":"text","value":"Test it Out"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can run Python 2 in your terminal now and other tools using it will no longer have issues:"}]},{"type":"element","tagName":"div","properties":{"className":["kg-card","kg-code-card","gatsby-highlight"],"dataLanguage":"text"},"children":[{"type":"element","tagName":"pre","properties":{"className":["language-text"]},"children":[{"type":"element","tagName":"code","properties":{"className":["language-text"]},"children":[{"type":"text","value":"python"}]}]}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"install-python-2","heading":"Install Python 2"},{"id":"test-it-out","heading":"Test it Out"}]},"featureImageSharp":{"base":"B7973617-B25E-4E6A-9C4B-DB17F090A267.png","publicURL":"/static/6091f831ffb568e0450ce955625cd203/B7973617-B25E-4E6A-9C4B-DB17F090A267.png","imageMeta":{"width":1560,"height":876},"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAACE4AAAhOAFFljFgAAABCElEQVQoz61R7U7CQBC8938Y+YEJJEaJ0QYiiWhrCf3AtleeAPGXNzvmrj1KRQNGL5nsze7eZPZWiYD/BQqoDIQGYBOFEM+73G96lFU2MIQxBDoY89HLmS91C8GxS0UR/uU0QuJgtZS1GccrxssVK12zqmrm64JJkjGMYt4HMz49R5zPHxlFS2bZmkmau/p2+9aKyh4KAINgxuHlmJPJHS8GQ17f3Lo4Gl3xtShZFBXTNHdiWm9Yltrldrv37wXTLOd0+sDFImQYvrCstHNR15szRpa+4DkPYDcLODje5qT9/56gv/gHHs1WceTgFBQE9OgKnmPP5USPvyuga3buDqPgYNQ+/6nnE7ljV4t5Ly5LAAAAAElFTkSuQmCC","aspectRatio":1.7857142857142858,"src":"/static/6091f831ffb568e0450ce955625cd203/60290/B7973617-B25E-4E6A-9C4B-DB17F090A267.png","srcSet":"/static/6091f831ffb568e0450ce955625cd203/847ef/B7973617-B25E-4E6A-9C4B-DB17F090A267.png 175w,\n/static/6091f831ffb568e0450ce955625cd203/91cba/B7973617-B25E-4E6A-9C4B-DB17F090A267.png 350w,\n/static/6091f831ffb568e0450ce955625cd203/60290/B7973617-B25E-4E6A-9C4B-DB17F090A267.png 700w,\n/static/6091f831ffb568e0450ce955625cd203/f5f50/B7973617-B25E-4E6A-9C4B-DB17F090A267.png 1050w,\n/static/6091f831ffb568e0450ce955625cd203/38674/B7973617-B25E-4E6A-9C4B-DB17F090A267.png 1400w,\n/static/6091f831ffb568e0450ce955625cd203/47b0f/B7973617-B25E-4E6A-9C4B-DB17F090A267.png 1560w","srcWebp":"/static/6091f831ffb568e0450ce955625cd203/89afa/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp","srcSetWebp":"/static/6091f831ffb568e0450ce955625cd203/9fca7/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp 175w,\n/static/6091f831ffb568e0450ce955625cd203/37a4e/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp 350w,\n/static/6091f831ffb568e0450ce955625cd203/89afa/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp 700w,\n/static/6091f831ffb568e0450ce955625cd203/78e7a/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp 1050w,\n/static/6091f831ffb568e0450ce955625cd203/03d34/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp 1400w,\n/static/6091f831ffb568e0450ce955625cd203/f5845/B7973617-B25E-4E6A-9C4B-DB17F090A267.webp 1560w","sizes":"(max-width: 700px) 100vw, 700px"}}}}},{"node":{"id":"Ghost__Post__6251920039840e1ac2874dff","title":"Does Technical Writing Require Technical Knowledge?","slug":"does-technical-writing-require-technical-knowledge","featured":true,"feature_image":"https://backend.shahednasser.com/content/images/2022/04/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg","excerpt":"In this article, I'll give you a bit of summary about what we do and whether or not you need technical knowledge for the job.","custom_excerpt":"In this article, I'll give you a bit of summary about what we do and whether or not you need technical knowledge for the job.","visibility":"public","created_at_pretty":"9 Apr 2022","published_at_pretty":"11 Apr 2022","updated_at_pretty":"11 Apr 2022","created_at":"2022-04-09T14:02:40.000+00:00","published_at":"2022-04-11T09:10:52.000+00:00","updated_at":"2022-04-11T09:10:52.000+00:00","meta_title":null,"meta_description":null,"og_description":null,"og_image":null,"og_title":null,"twitter_description":null,"twitter_image":null,"twitter_title":null,"authors":[{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":null}],"primary_author":{"slug":"shahed","url":"https://backend.shahednasser.com/author/shahed/","name":"Shahed Nasser","bio":null,"cover_image":null,"profile_image":"https://backend.shahednasser.com/content/images/2022/03/IMG_0591.jpg","location":null,"website":null,"twitter":null,"facebook":null,"meta_title":null,"meta_description":null,"coverImageSharp":null,"profileImageSharp":{"base":"IMG_0591.jpg","publicURL":"/static/ceb49c3c631485453e71e00d7f84b069/IMG_0591.jpg","imageMeta":{"width":1182,"height":1179},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEAQL/xAAWAQEBAQAAAAAAAAAAAAAAAAADBAL/2gAMAwEAAhADEAAAAdXiFM6i0CohUWXoKn//xAAcEAACAgIDAAAAAAAAAAAAAAACAwESBBEhM0H/2gAIAQEAAQUCWySE3WEr7SzbXjAj4iKty+sOQ//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAwEBPwEhj//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB4QAAIBBAMBAAAAAAAAAAAAAAABIRESMUECECJx/9oACAEBAAY/ApVGWvOjzgtUwLlTZA0sdL4f/8QAHBAAAwACAwEAAAAAAAAAAAAAAAERITFBkbHB/9oACAEBAAE/IahkCy+N2GwZpjQiJHJCspUFY0QrSi+HqiW2rgf/2gAMAwEAAgADAAAAEPw3/wD/xAAYEQEBAAMAAAAAAAAAAAAAAAAAARExQf/aAAgBAwEBPxCtjDqP/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAxEf/aAAgBAgEBPxBFus6Tt//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWFRcYGR0f/aAAgBAQABPxAuaBPPzkO1wyX7F4wkwXanfZrFQgeqE9JgS14vVOvrERIJomVBKwt2jebAeP0yVa8h1n//2Q==","aspectRatio":1,"src":"/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg","srcSet":"/static/ceb49c3c631485453e71e00d7f84b069/f340b/IMG_0591.jpg 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/22d64/IMG_0591.jpg 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/31709/IMG_0591.jpg 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/aa249/IMG_0591.jpg 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/0dc33/IMG_0591.jpg 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/d8257/IMG_0591.jpg 1182w","srcWebp":"/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp","srcSetWebp":"/static/ceb49c3c631485453e71e00d7f84b069/59cda/IMG_0591.webp 28w,\n/static/ceb49c3c631485453e71e00d7f84b069/7da75/IMG_0591.webp 55w,\n/static/ceb49c3c631485453e71e00d7f84b069/8678c/IMG_0591.webp 110w,\n/static/ceb49c3c631485453e71e00d7f84b069/f282e/IMG_0591.webp 165w,\n/static/ceb49c3c631485453e71e00d7f84b069/a7b21/IMG_0591.webp 220w,\n/static/ceb49c3c631485453e71e00d7f84b069/63099/IMG_0591.webp 1182w","sizes":"(max-width: 110px) 100vw, 110px"}}}},"primary_tag":{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null},"tags":[{"slug":"tips","url":"https://backend.shahednasser.com/tag/tips/","name":"Tips","visibility":"public","feature_image":null,"description":"Learn more about programming and development through these articles that have essential tips!","meta_title":"Tips on Technology and Programming","meta_description":null,"featureImageSharp":null}],"plaintext":"Something I constantly see on Twitter is threads that list people's jobs in the\ntechnical fields that don't require a lot or any technical knowledge. Some of\nthose threads include Technical Writing. \n\nI'm a technical writer, I had been a freelance technical writer for almost a\nyear and now I'm working full-time. In this article, I'll give you a bit of\nsummary about what we do and whether or not you need technical knowledge for the\njob.\n\nDocumentation\nDocumentation generally is a huge part of your work as a technical writer. Most,\nif not all, companies hire a technical writer to write documentation about their\nsoftware.\n\nThe reason I'm saying most and not all is that some companies hire technical\nwriters exclusively for blog content, especially if that company works as a\ndigital marketing or content provider for other software companies. I'll get to\nthe blog posts later on.\n\nThere are two types of documentation: user documentation and developer\ndocumentation. Some companies need you to write both. Some companies need you to\nwrite one or the other, depending on the type of solution they provide.\n\nDeveloper Documentation\nWriting documentation for developers requires you to sift through code written\nby other people to understand many things such as how something is done, how\nsomething is actually implemented, or why something is done a certain way.\n\nThis deep dive into the code requires you to have some knowledge of programming,\nespecially in the language you're working with. The level of that knowledge\ndepends on the type of software you're working on.\n\nYou can also rely on the technical team by asking them questions if anything is\nunclear or you need to confirm some details.\n\nWorking with documentation also requires you to actually build with the software\nat times to be able to explain the process, including code snippets, and test\nthings out yourself.\n\nUser Documentation\nWriting documentation might require less technical knowledge than that required\nfor writing for developers. When you write documentation for users, it's often\ndone in a way to simplify how to use a process. Users don't necessarily care\nabout the code or how it's implemented.\n\nArticles and Blogs\nAnother aspect of being a technical writer is writing articles. There are many\ntypes of articles you can work on, and again it depends on what type of company\nyou're in.\n\nOne type is tutorial articles. You have to guide developers on how they can do\nsomething using the software. Those obviously require technical knowledge as\nyou'll be building the solution yourself while writing about it.\n\nAnother type is general articles that might explain topics and concepts related\nto the product your company provides or programming in general. Although those\nmight not have code snippets in them or might not require you to build anything\nthroughout the article, they require a deep understanding of the topic at hand.\n\nAs it is a technical topic, you should have some technical knowledge to be able\nto write about it correctly.\n\nConclusion\nTechnical Writing jobs can vary from one company to another, but generally\nspeaking, the technical part is a prominent part of it. If you're interested in\ntechnical writing, make sure you also develop your technical knowledge and\nskills as well.","html":"<p>Something I constantly see on Twitter is threads that list people's jobs in the technical fields that don't require a lot or any technical knowledge. Some of those threads include Technical Writing. </p><p>I'm a technical writer, I had been a freelance technical writer for almost a year and now I'm working full-time. In this article, I'll give you a bit of summary about what we do and whether or not you need technical knowledge for the job.</p><h2 id=\"documentation\">Documentation</h2><p>Documentation generally is a huge part of your work as a technical writer. Most, if not all, companies hire a technical writer to write documentation about their software.</p><p>The reason I'm saying most and not all is that some companies hire technical writers exclusively for blog content, especially if that company works as a digital marketing or content provider for other software companies. I'll get to the blog posts later on.</p><p>There are two types of documentation: user documentation and developer documentation. Some companies need you to write both. Some companies need you to write one or the other, depending on the type of solution they provide.</p><h3 id=\"developer-documentation\">Developer Documentation</h3><p>Writing documentation for developers requires you to sift through code written by other people to understand many things such as how something is done, how something is actually implemented, or why something is done a certain way.</p><p>This deep dive into the code requires you to have some knowledge of programming, especially in the language you're working with. The level of that knowledge depends on the type of software you're working on.</p><p>You can also rely on the technical team by asking them questions if anything is unclear or you need to confirm some details.</p><p>Working with documentation also requires you to actually build with the software at times to be able to explain the process, including code snippets, and test things out yourself.</p><h3 id=\"user-documentation\">User Documentation</h3><p>Writing documentation might require less technical knowledge than that required for writing for developers. When you write documentation for users, it's often done in a way to simplify how to use a process. Users don't necessarily care about the code or how it's implemented.</p><h2 id=\"articles-and-blogs\">Articles and Blogs</h2><p>Another aspect of being a technical writer is writing articles. There are many types of articles you can work on, and again it depends on what type of company you're in.</p><p>One type is tutorial articles. You have to guide developers on how they can do something using the software. Those obviously require technical knowledge as you'll be building the solution yourself while writing about it.</p><p>Another type is general articles that might explain topics and concepts related to the product your company provides or programming in general. Although those might not have code snippets in them or might not require you to build anything throughout the article, they require a deep understanding of the topic at hand.</p><p>As it is a technical topic, you should have some technical knowledge to be able to write about it correctly.</p><h2 id=\"conclusion\">Conclusion</h2><p>Technical Writing jobs can vary from one company to another, but generally speaking, the technical part is a prominent part of it. If you're interested in technical writing, make sure you also develop your technical knowledge and skills as well.</p>","url":"https://backend.shahednasser.com/does-technical-writing-require-technical-knowledge/","canonical_url":null,"uuid":"3dbe43fd-219b-4eb7-8ddc-9aa0fe800a66","codeinjection_foot":null,"codeinjection_head":null,"codeinjection_styles":null,"comment_id":"6251920039840e1ac2874dff","reading_time":2,"send_email_when_published":null,"email_subject":null,"childHtmlRehype":{"html":"<p>Something I constantly see on Twitter is threads that list people's jobs in the technical fields that don't require a lot or any technical knowledge. Some of those threads include Technical Writing. </p><p>I'm a technical writer, I had been a freelance technical writer for almost a year and now I'm working full-time. In this article, I'll give you a bit of summary about what we do and whether or not you need technical knowledge for the job.</p><h2 id=\"documentation\">Documentation</h2><p>Documentation generally is a huge part of your work as a technical writer. Most, if not all, companies hire a technical writer to write documentation about their software.</p><p>The reason I'm saying most and not all is that some companies hire technical writers exclusively for blog content, especially if that company works as a digital marketing or content provider for other software companies. I'll get to the blog posts later on.</p><p>There are two types of documentation: user documentation and developer documentation. Some companies need you to write both. Some companies need you to write one or the other, depending on the type of solution they provide.</p><h3 id=\"developer-documentation\">Developer Documentation</h3><p>Writing documentation for developers requires you to sift through code written by other people to understand many things such as how something is done, how something is actually implemented, or why something is done a certain way.</p><p>This deep dive into the code requires you to have some knowledge of programming, especially in the language you're working with. The level of that knowledge depends on the type of software you're working on.</p><p>You can also rely on the technical team by asking them questions if anything is unclear or you need to confirm some details.</p><p>Working with documentation also requires you to actually build with the software at times to be able to explain the process, including code snippets, and test things out yourself.</p><h3 id=\"user-documentation\">User Documentation</h3><p>Writing documentation might require less technical knowledge than that required for writing for developers. When you write documentation for users, it's often done in a way to simplify how to use a process. Users don't necessarily care about the code or how it's implemented.</p><h2 id=\"articles-and-blogs\">Articles and Blogs</h2><p>Another aspect of being a technical writer is writing articles. There are many types of articles you can work on, and again it depends on what type of company you're in.</p><p>One type is tutorial articles. You have to guide developers on how they can do something using the software. Those obviously require technical knowledge as you'll be building the solution yourself while writing about it.</p><p>Another type is general articles that might explain topics and concepts related to the product your company provides or programming in general. Although those might not have code snippets in them or might not require you to build anything throughout the article, they require a deep understanding of the topic at hand.</p><p>As it is a technical topic, you should have some technical knowledge to be able to write about it correctly.</p><h2 id=\"conclusion\">Conclusion</h2><p>Technical Writing jobs can vary from one company to another, but generally speaking, the technical part is a prominent part of it. If you're interested in technical writing, make sure you also develop your technical knowledge and skills as well.</p>","htmlAst":{"type":"root","children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Something I constantly see on Twitter is threads that list people's jobs in the technical fields that don't require a lot or any technical knowledge. Some of those threads include Technical Writing. "}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"I'm a technical writer, I had been a freelance technical writer for almost a year and now I'm working full-time. In this article, I'll give you a bit of summary about what we do and whether or not you need technical knowledge for the job."}]},{"type":"element","tagName":"h2","properties":{"id":"documentation"},"children":[{"type":"text","value":"Documentation"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Documentation generally is a huge part of your work as a technical writer. Most, if not all, companies hire a technical writer to write documentation about their software."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"The reason I'm saying most and not all is that some companies hire technical writers exclusively for blog content, especially if that company works as a digital marketing or content provider for other software companies. I'll get to the blog posts later on."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"There are two types of documentation: user documentation and developer documentation. Some companies need you to write both. Some companies need you to write one or the other, depending on the type of solution they provide."}]},{"type":"element","tagName":"h3","properties":{"id":"developer-documentation"},"children":[{"type":"text","value":"Developer Documentation"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Writing documentation for developers requires you to sift through code written by other people to understand many things such as how something is done, how something is actually implemented, or why something is done a certain way."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"This deep dive into the code requires you to have some knowledge of programming, especially in the language you're working with. The level of that knowledge depends on the type of software you're working on."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"You can also rely on the technical team by asking them questions if anything is unclear or you need to confirm some details."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Working with documentation also requires you to actually build with the software at times to be able to explain the process, including code snippets, and test things out yourself."}]},{"type":"element","tagName":"h3","properties":{"id":"user-documentation"},"children":[{"type":"text","value":"User Documentation"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Writing documentation might require less technical knowledge than that required for writing for developers. When you write documentation for users, it's often done in a way to simplify how to use a process. Users don't necessarily care about the code or how it's implemented."}]},{"type":"element","tagName":"h2","properties":{"id":"articles-and-blogs"},"children":[{"type":"text","value":"Articles and Blogs"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Another aspect of being a technical writer is writing articles. There are many types of articles you can work on, and again it depends on what type of company you're in."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"One type is tutorial articles. You have to guide developers on how they can do something using the software. Those obviously require technical knowledge as you'll be building the solution yourself while writing about it."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Another type is general articles that might explain topics and concepts related to the product your company provides or programming in general. Although those might not have code snippets in them or might not require you to build anything throughout the article, they require a deep understanding of the topic at hand."}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"As it is a technical topic, you should have some technical knowledge to be able to write about it correctly."}]},{"type":"element","tagName":"h2","properties":{"id":"conclusion"},"children":[{"type":"text","value":"Conclusion"}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"text","value":"Technical Writing jobs can vary from one company to another, but generally speaking, the technical part is a prominent part of it. If you're interested in technical writing, make sure you also develop your technical knowledge and skills as well."}]}],"data":{"quirksMode":false}},"tableOfContents":[{"id":"documentation","heading":"Documentation","items":[{"id":"developer-documentation","heading":"Developer Documentation"},{"id":"user-documentation","heading":"User Documentation"}]},{"id":"articles-and-blogs","heading":"Articles and Blogs"},{"id":"conclusion","heading":"Conclusion"}]},"featureImageSharp":{"base":"Does-Technical-Writing-Require-Technical-Knowledge-2.jpg","publicURL":"/static/2a412602419b450246a9d574f73d01c8/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg","imageMeta":{"width":1560,"height":876},"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAEDBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAe20EUf/xAAXEAADAQAAAAAAAAAAAAAAAAAAAREg/9oACAEBAAEFAqyvP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABYQAQEBAAAAAAAAAAAAAAAAADIAIP/aAAgBAQAGPwIxz//EABoQAQEAAgMAAAAAAAAAAAAAAAERACAhMZH/2gAIAQEAAT8hSZTg729ws5Jp/9oADAMBAAIAAwAAABDDz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABoQAQEAAgMAAAAAAAAAAAAAAAERACAhUWH/2gAIAQEAAT8QUCJgic5ET9QY1VHVun//2Q==","aspectRatio":1.7857142857142858,"src":"/static/2a412602419b450246a9d574f73d01c8/ea4ab/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg","srcSet":"/static/2a412602419b450246a9d574f73d01c8/477ba/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg 175w,\n/static/2a412602419b450246a9d574f73d01c8/06776/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg 350w,\n/static/2a412602419b450246a9d574f73d01c8/ea4ab/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg 700w,\n/static/2a412602419b450246a9d574f73d01c8/3055e/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg 1050w,\n/static/2a412602419b450246a9d574f73d01c8/eff08/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg 1400w,\n/static/2a412602419b450246a9d574f73d01c8/81a53/Does-Technical-Writing-Require-Technical-Knowledge-2.jpg 1560w","srcWebp":"/static/2a412602419b450246a9d574f73d01c8/89afa/Does-Technical-Writing-Require-Technical-Knowledge-2.webp","srcSetWebp":"/static/2a412602419b450246a9d574f73d01c8/9fca7/Does-Technical-Writing-Require-Technical-Knowledge-2.webp 175w,\n/static/2a412602419b450246a9d574f73d01c8/37a4e/Does-Technical-Writing-Require-Technical-Knowledge-2.webp 350w,\n/static/2a412602419b450246a9d574f73d01c8/89afa/Does-Technical-Writing-Require-Technical-Knowledge-2.webp 700w,\n/static/2a412602419b450246a9d574f73d01c8/78e7a/Does-Technical-Writing-Require-Technical-Knowledge-2.webp 1050w,\n/static/2a412602419b450246a9d574f73d01c8/03d34/Does-Technical-Writing-Require-Technical-Knowledge-2.webp 1400w,\n/static/2a412602419b450246a9d574f73d01c8/f5845/Does-Technical-Writing-Require-Technical-Knowledge-2.webp 1560w","sizes":"(max-width: 700px) 100vw, 700px"}}}}}]}},"pageContext":{"slug":"chrome-88-new-feature-sharing","prev":"why-i-switched-from-atom-to-vs-code","next":"how-i-improved-my-css-skills","tag":"tips","limit":3,"skip":0,"primaryTagCount":45,"collectionPaths":{}}},"staticQueryHashes":["1272700106","1676991999","2138873178","2546165603","2681841279","2938721187","293880488","3052966952","4156497161"]}