<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sibusiso Dlamini</title>
    <description>The latest articles on Forem by Sibusiso Dlamini (@sbu_05).</description>
    <link>https://forem.com/sbu_05</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F272673%2Fa5c577f0-7829-46c1-a315-2e9f6c0aa98e.png</url>
      <title>Forem: Sibusiso Dlamini</title>
      <link>https://forem.com/sbu_05</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sbu_05"/>
    <language>en</language>
    <item>
      <title>Life Of A CS Student: Hot summer &lt;br/&gt;</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Tue, 01 Feb 2022 10:30:23 +0000</pubDate>
      <link>https://forem.com/sbu_05/life-of-a-cs-student-1k2c</link>
      <guid>https://forem.com/sbu_05/life-of-a-cs-student-1k2c</guid>
      <description>&lt;p&gt;I'm not a fan of the heat that comes with the South African summer. I'd much rather be wrapped up in a warm blanket on a cold winter morning than be sweating with my shirt off. As much as I don't like this season, I cannot deny the wonderful time I had over the past few weeks. I am saddened by the holidays coming to an end, but I'm even more satisfied with the games I got to play, the laughs I shared with old friends, the new tech I got to learn and the experience I had in general.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where am I 🗺️
&lt;/h2&gt;

&lt;p&gt;My career hasn't started, so I have been giving a lot of thought to entrepreneurship while I study. I think it is more than possible, especially since I now have a clearer idea of what I'm capable of, having finished another side project. I've recently had so much time on my hands, and I want to start putting that to good use. I can't say I've wasted all my time since I enjoyed it for the most part but let's say it hasn't been my most constructive summer. I'm not complaining because I'll be back in school in a month and I'll be forced to be at a class as early as 7h45 AM. As for now, I'm enjoying myself while I can.&lt;/p&gt;

&lt;h2&gt;
  
  
  What am I learning 🧠
&lt;/h2&gt;

&lt;h3&gt;
  
  
  React and NodeJS
&lt;/h3&gt;

&lt;p&gt;I'm going through the React and Node courses that I have yet to finish. I didn't make much progress with the course last year, so I forgot almost everything. I went back through topics that I struggled with for a second time just to refresh my memory. The good news is that I understand Redux now. I feel confident enough to use it in a personal project. Although I must say, I'm still wrapping my head around how to throttle requests with action creators. That was the only section that felt alarmingly confusing. I think it will be one of those things that I'll learn by heart.&lt;/p&gt;

&lt;p&gt;I haven't learned anything new on the back-end side of things, but I started taking notes that I plan to use for future blog posts. I want to wait until I fully understand the concepts until I try to teach them because otherwise, I feel like I'm regurgitating the content I've consumed instead of making it my own. I re-learned how to use MongoDB. I'm not a big fan of MongoDB because the setup is unnecessarily complicated on Linux, and their docs are written in TypeScript. I'd much instead use an SQL based database like PostgreSQL, or even firebase would do the trick. The good news is that the course we're doing introduced us to Mongoose, a package that lets you model data on MongoDB, and its docs are written in JavaScript. I can't wait until we get to the part where we learn to send automated emails, but it's a long way away. For now, it's one of the only things keeping me going in this course.&lt;/p&gt;

&lt;h2&gt;
  
  
  Show and tell 📺
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Thrift-savanna
&lt;/h3&gt;

&lt;p&gt;I had a friend from high school who started a thrift store on Instagram. I asked them if they didn't mind me making a website for them, and well, you can click &lt;a href="https://thrift-savanna.firebaseapp.com"&gt;here&lt;/a&gt; to see the final result. This project was the most challenging one I've ever completed. I ran into so many obstacles, but I got around them eventually. I'm so proud of the final product. Finishing it gave me a sense of accomplishment. It's a feeling that I rarely experience because I usually abandon these projects halfway through, and I had no idea it would turn out so well. &lt;/p&gt;

&lt;h3&gt;
  
  
  Illustrating
&lt;/h3&gt;

&lt;p&gt;I've wanted to start illustrating for a while. I just never knew where to start or what to make. All I knew was that I wanted to start off easy. So I got an idea to make this lightbulb. With some inspiration from Pinterest, I made this :-)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BiFkIyaa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1643647395046/DbZpWj3Iy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BiFkIyaa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1643647395046/DbZpWj3Iy.png" alt="Artboard 1.png" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please clap. I don't think of myself as an artist, so this is sort of a big deal for me. I never thought I could make it, so who knows what I'll do next? Maybe I'll be the next Picasso and make the next billion-dollar NFTs for Twitter profile pictures.&lt;/p&gt;

&lt;h2&gt;
  
  
  News Flash 📰
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Got fully vaccinated&lt;/li&gt;
&lt;li&gt;Finished The biggest project I've worked on to date&lt;/li&gt;
&lt;li&gt;Illustrated a lightbulb&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This January has been so long, I really can't wait to go back to school. I've had my fun, but I want to get back into the swing of things. I'm so unbelievable. Two months ago, I would've been begging for this break. This year might be my last year dealing with assignments, and I don't know if that's good or bad. In any case, one thing is for sure. I'm going to make this year my best one yet. &lt;/p&gt;

</description>
      <category>university</category>
      <category>learningjourney</category>
      <category>student</category>
    </item>
    <item>
      <title>My Top 10 Sublime Text Shortcuts</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Sat, 09 Oct 2021 09:11:32 +0000</pubDate>
      <link>https://forem.com/sbu_05/my-top-10-sublime-text-shortcuts-8g2</link>
      <guid>https://forem.com/sbu_05/my-top-10-sublime-text-shortcuts-8g2</guid>
      <description>&lt;p&gt;How much time has the shortcuts &lt;code&gt;ctrl + c&lt;/code&gt; + &lt;code&gt;ctrl + v&lt;/code&gt; saved you? If you could recall every line of code, every paragraph of text, every One Time Pin or URL that you copied and pasted instead of typing out, how much time would that add up to? And if more shortcuts existed that could turn a 30-minute task into 10 minutes, then surely that shortcut must be worth learning. &lt;/p&gt;

&lt;p&gt;There are plenty of time-saving shortcuts, and I don't think people talk about them enough. The truth is most people never take it upon themselves to discover the shortcuts of an app or website that they regularly use, myself included. So in this post, I want to go over my favourite non-generic key-bindings that I can't live without.&lt;/p&gt;

&lt;h3&gt;
  
  
  tip💡
&lt;/h3&gt;

&lt;p&gt;The key bindings in this list are ones that I have memorised after needing to use them many times. I didn't memorise them all at once, but I stumbled across one or two interesting ones in a blog or YouTube video. After using them a couple of times, it becomes difficult to forget. So if there is one thing that I would like you to take away, there is no need to memorise all the shortcuts but instead, pick one or two that you find most useful.  &lt;/p&gt;

&lt;p&gt;From this point on, I'll use the word key-binding instead of shortcut with reference to Sublime Text. I'm doing this to emphasise that key-bindings are settings on Sublime Text that can be changed. So if you don't like the specific key combination, you could change it to something that suits your typing style or how your fingers rest on the keyboard. &lt;/p&gt;

&lt;p&gt;Without further ado, let's get straight into it!&lt;/p&gt;

&lt;h3&gt;
  
  
  1 - Moving lines of text up and down
&lt;/h3&gt;

&lt;p&gt;Key binding: &lt;code&gt;ctrl + shift + up&lt;/code&gt; or &lt;code&gt;ctrl + shift + down&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721489521%2F4zUHMrp-k.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721489521%2F4zUHMrp-k.gif" alt="movinglines.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are someone who cuts and pastes code to change the order that statements execute, you might find this key-binding very useful. Instead of having to cut and paste it, you can simply move the lines up or down. Here is a short demo of how it works.&lt;/p&gt;

&lt;p&gt;When I code, I like to place functions in a specific order as if I were adhering to a style guide. For example, I arrange my CSS code according to specificity. This key-binding lets me organise my code on the fly to make it easy to keep to a style guide. This key-binding is probably the one that I use the most. If there is a key-binding, I can't live without it's this one. &lt;/p&gt;

&lt;h3&gt;
  
  
  2 - Scrolling between lines
&lt;/h3&gt;

&lt;p&gt;Keys binding: &lt;code&gt;ctrl + up&lt;/code&gt; or &lt;code&gt;ctr + down&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This key-binding is just another way to scroll. The difference between using this and simply pressing the up or down keys is that it keeps your cursor in the same position as if you were using a mouse to scroll instead of moving the cursor. &lt;/p&gt;

&lt;p&gt;A typical scenario of when this key-binding comes in handy is when I want to remember what a particular function does without losing the line/block of code that I am currently working on.&lt;/p&gt;

&lt;p&gt;This key-binding isn't a game-changer for me, but it is nice to know if you don't like reaching for the mouse while coding.&lt;/p&gt;

&lt;h3&gt;
  
  
  3 - Selecting multiple occurrences of a word
&lt;/h3&gt;

&lt;p&gt;key-binding: &lt;code&gt;ctrl + d&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721468693%2FloRyaVwGs.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721468693%2FloRyaVwGs.gif" alt="duplicates.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This key-binding works as a great alternative to the find-and-replace shortcut. &lt;/p&gt;

&lt;p&gt;To use this key-binding, you first have to select a sequence of characters, and then once you press &lt;code&gt;ctrl + d&lt;/code&gt; it selects all the other appearances of the selected word. Here is a little demo of what that might look like, and hopefully, you can see the capabilities of this key-binding.&lt;/p&gt;

&lt;p&gt;This key-binding is my most significant time-saver and is worth remembering. &lt;/p&gt;

&lt;h3&gt;
  
  
  4 - Jumping between files
&lt;/h3&gt;

&lt;p&gt;Key bindings &lt;code&gt;ctrl + p&lt;/code&gt; ****&lt;/p&gt;

&lt;p&gt;This key-binding lets you search for a file and open it depending on the project folder. When used, Sublime Text will list all the files in the current project folder and you can scroll them, and you can &lt;em&gt;preview&lt;/em&gt; them as you scroll. Only when you hit enter does sublime open the file that you have you selected like so... &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721452663%2FKSH3OmOly.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721452663%2FKSH3OmOly.gif" alt="lookingforfiles.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I tend to use this key binding a lot if I'm working on a web development project because the file structure can get very large, very quickly and I tend to forget where I put everything.&lt;/p&gt;

&lt;h3&gt;
  
  
  5 - Jumping between functions
&lt;/h3&gt;

&lt;p&gt;Key binding: &lt;code&gt;ctrl + p&lt;/code&gt; + &lt;code&gt;@&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This key binding is technically an extension of the last one. After hitting &lt;code&gt;ctrl + p&lt;/code&gt; and type in the @ symbol, Sublime Text creates a list of all the functions written within the file that you currently have opened. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721435261%2FdqqEybS5Yg.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721435261%2FdqqEybS5Yg.gif" alt="searchingthroughfunctions.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I try to avoid using large files but because of the way that I excessively use new lines to format my code. Realistically, the amount of lines of code becomes large more often than not. And more lines makes bug hunting that much more difficult. This search functionality helps me keep a top view of my code so that I never really forget where everything is written. I don't need to memorise exactly where everything is written but rather in which functions they are written in, which should be easier to remember if I name my functions effectively.   &lt;/p&gt;

&lt;h3&gt;
  
  
  6 - Splitting windows
&lt;/h3&gt;

&lt;p&gt;key-binding: &lt;code&gt;alt + shift + number&lt;/code&gt; where number = { 1,2,3 or 4 }&lt;/p&gt;

&lt;p&gt;This key-binding splits the code view of sublime-text into multiple columns.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721580130%2F8wxu7CuKg.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721580130%2F8wxu7CuKg.gif" alt="splittingviews.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've never split my windows into more than two because my laptop screen isn't wide enough to work practically with three or more panels side by side. Otherwise, I've found this key-binding useful when coding in HTML and CSS. It is convenient to look at the markup and the styling simultaneously so you can get a better idea of what you are currently working on. &lt;/p&gt;

&lt;p&gt;When I'm working in a large file and don't want to lose the line of code that I'm working on,  I'll open the same file twice, and each view will be at different sections in the code so I can work at the top and the bottom of the file instead of having to scroll repeatedly between two blocks of code.&lt;/p&gt;

&lt;h3&gt;
  
  
  7 - Focusing on different views
&lt;/h3&gt;

&lt;p&gt;key-binding: &lt;code&gt;ctrl + number&lt;/code&gt; where number = { 1, 2, 3, 4}&lt;/p&gt;

&lt;p&gt;This key-binding lets you switch between the different views so that you can jump between them without using your mouse. e.g. If my HTML files is on the left column and CSS is on the right column &lt;code&gt;ctrl + 1&lt;/code&gt; will focus on the HTML file and &lt;code&gt;ctrl + 2&lt;/code&gt; will focus on the CSS file&lt;/p&gt;

&lt;p&gt;Not only can you switch your cursor focus between tabs, but you can even move files between tabs if you hold down the shift key. In other words, if I'm focused on the first column with the HTML file and press &lt;code&gt;ctrl + shift + 2&lt;/code&gt;, it will move my cursor into &lt;/p&gt;

&lt;h3&gt;
  
  
  8 - Toggle Zen mode
&lt;/h3&gt;

&lt;p&gt;key-binding: &lt;code&gt;ctrl + K, ctrl + B&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;This key-binding toggles the sidebar of Sublim Text so that you can make the most of your screen real estate. You might find that splitting your code view in half to make two columns makes your code feel cramped, so this will give you a little bit more space back.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721302045%2F0f-hL67QN.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1633721302045%2F0f-hL67QN.gif" alt="togglezen.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Heads up, this is not average key-binding. You've got to press &lt;code&gt;ctrl + K&lt;/code&gt; and then &lt;code&gt;ctrl + B&lt;/code&gt; in quick succession. If you leave too much time between the key presses, then it simply builds or compiles the program that you currently have open.&lt;/p&gt;

&lt;h3&gt;
  
  
  9 - Build/compile/execute
&lt;/h3&gt;

&lt;p&gt;key-binding: &lt;code&gt;ctrl + B&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This key-binding executes the build system, which depends on the file extension of the file that you have open. For example, Sublime knows to run &lt;em&gt;.py&lt;/em&gt; files with the Python interpreter and compile &lt;em&gt;.cpp&lt;/em&gt; files with GCC compiler etc. &lt;/p&gt;

&lt;p&gt;Why I appreciate this key-binding is how simple it is to do with a single hand. Most code editors use &lt;code&gt;ctrl +&lt;/code&gt; &lt;code&gt;f9&lt;/code&gt; or &lt;code&gt;f10&lt;/code&gt; to execute/run programs. Unless you've got long fingers, you would need to use two fingers to perform the shortcut. And if you have a laptop like mine where I've got to hold down the &lt;code&gt;fn&lt;/code&gt; key to use the &lt;code&gt;f1-12&lt;/code&gt; keys, it becomes so easy to strain your hand. If you've got to put your hand through all that to use a shortcut then, it almost defeats the purpose of the shortcut. So I like that Sublime made this key-binding convenient. &lt;/p&gt;

&lt;h2&gt;
  
  
  10 - Conventional browser key bindings
&lt;/h2&gt;

&lt;p&gt;key-bindings: &lt;code&gt;ctrl + W&lt;/code&gt; , &lt;code&gt;ctrl + T&lt;/code&gt; , &lt;code&gt;ctrl + shift + T&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Most browsers can open new tabs with &lt;code&gt;ctrl + T&lt;/code&gt;, close tabs with &lt;code&gt;ctrl + W&lt;/code&gt; and open previously closed tabs with &lt;code&gt;ctrl + shift + T&lt;/code&gt;. Sublime makes your life easier by not changing these conventions, so you don't have to memorise new key-bindings for different apps. &lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;When I was younger, I discovered key-bindings and shortcuts by hitting every possible key combination I could think of until my screen went sideways or upside down. At which point I thought I had broken the computer. After a while, I realised that it was just a silly shortcut, and once I figured that, I was no longer afraid of pressing keys and clicking buttons that I was unfamiliar with - Except during startup. I don't go messing with that stuff. I'm brave but not that brave - I think, in general, people aren't as bold as I am to go pressing random keys. So I wrote this in the hopes that you might find something worth remembering. I swear by these shortcuts and hope they will serve you well.&lt;/p&gt;

&lt;p&gt;As always, thanks for the read, and Happy Coding! 💻&lt;/p&gt;

</description>
      <category>sublimetext</category>
      <category>productivity</category>
      <category>keybinding</category>
      <category>editor</category>
    </item>
    <item>
      <title>Life of a CS Student: That was NP hard</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Fri, 01 Oct 2021 21:10:02 +0000</pubDate>
      <link>https://forem.com/sbu_05/life-of-a-cs-student-16h</link>
      <guid>https://forem.com/sbu_05/life-of-a-cs-student-16h</guid>
      <description>&lt;p&gt;Though our workload has not decreased in the slightest, I feel less stress compared to the previous month. Deadlines don't motivate me the same way anymore. And I'm better off for it.&lt;/p&gt;

&lt;p&gt;It's almost exam season. Our timetable has come out for our end year exams and it is the first time that I have ever been so satisfied with my timetable. It's looking like a downhill ride from here until the end of the year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where am I? 🗺️
&lt;/h2&gt;

&lt;p&gt;So I'm still a CS student, and that's not going to change anytime soon. I have a confession to make. I'm not as in love with my degree as I used to be. There were one or two computer science lectures that I sat through that I couldn't wait to finish. I have nothing against the content or my lecturer, both are engaging enough to hold my attention but I'm just getting tired of life right now.&lt;/p&gt;

&lt;p&gt;I'm not struggling with the course workload or anything like that, but my life is just really moving at a slow and boring pace. I want to skip to the part where I can get my degree, find a job, buy a house and do all the things I want to do as an adult. But right now, I'm stuck in the perpetual cycle of studying for tests and chasing deadlines. I'm alive but I'm not living, you know?&lt;/p&gt;

&lt;p&gt;The worst part of all this is that I feel as though I'm starting to feel like I'm falling out of love with my degree. I still remember how excited I was in the months leading up to my first year. If younger me could look at what I'm doing now, I don't think he would be all too fascinated with what I am capable of 2 years down the line. &lt;/p&gt;

&lt;p&gt;For the most part, I enjoy the content of my degree but it's too academic. It feels as though they are preparing us to advance the world of computer science and revolutionise the industry. And honestly... I get my kicks from centering a div. At this point in time, if I had to decide to work after graduating or studying further, I think I would go with the former.&lt;/p&gt;

&lt;h2&gt;
  
  
  What am I Building? 🛠️
&lt;/h2&gt;

&lt;p&gt;Nothing. Unless, you count this blog, in which case you already have the answer but the truth is, I haven't made time to build on any of the projects on my to-build list this past month. I haven't really learned something that was not for the sake of my academics. &lt;/p&gt;

&lt;p&gt;Even if I didn't get to build anything that I wanted to there were a few assignments that I found were pretty interesting that I hope to apply in a future project. For example.&lt;/p&gt;

&lt;h3&gt;
  
  
  R Project - Central Limit Theorem
&lt;/h3&gt;

&lt;p&gt;I take a statistics class because I've heard that machine learning is closely related to the subject so I thought, "why not?". Not my favourite class but that's not an insult given my love for Computer Science. I enjoy Statistics for the most part.&lt;/p&gt;

&lt;p&gt;What's not so great was the monolith of a project that we had to complete. It was basically about verifying a technique that was used to estimate population parameters using sampled data. It's called the Central Limit Theorem. Statistics is mostly about calculating the probability of events and analysing the correlation between events and all that sort of stuff. So what I learned from this project is that when you gather samples for your experiment, the more samples you gather, the more accurate your inference on your population will be. The reason why this is possible is because of the Central Limit Theorem or so I think? - I'm not the best statistician. The project wasn't that fancy since they told us what to do, but we had to do the project in R and it has a neat way of displaying data. So I thought I would show and tell&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8aUArljr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1633121307741/rDdSmac2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8aUArljr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1633121307741/rDdSmac2d.png" alt="16-n10-n100.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1Nafwd4r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1633121339600/3uQSTvnWH.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1Nafwd4r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1633121339600/3uQSTvnWH.png" alt="25-n5-N1000.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--51weyuq2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1633121362730/MXrigw3aIc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--51weyuq2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1633121362730/MXrigw3aIc.png" alt="30-n100-N100.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I won't explain what these data, but all you need to know is that R is a programming language for visualising data&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I learn? 🧠
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vanilla Javascript
&lt;/h3&gt;

&lt;p&gt;In my Information Systems class, we were taught Javascript from scratch. I was excited at first because it meant that I would actually get to learn the language properly this time but the lectures were hard to get through because I didn't find out many new things that I didn't know. What I did find interesting was the weekly practicals we had. I enjoyed the way this course approached teaching Javascript because they didn't separate the Javascript and the HTML. We wrote all our code between &lt;code&gt;script&lt;/code&gt; tags. I prefer this teaching approach rather than simply learning the programming fundamentals of a programming language because it enforces the idea that Javascript is a tool that is used to manipulate web pages. Before this class, I had no idea that you can make prompts and alerts. &lt;/p&gt;

&lt;h3&gt;
  
  
  Theory Of Computing
&lt;/h3&gt;

&lt;p&gt;We started Theory of Computing about 4 or 5 weeks ago. As you can imagine, this module is very &lt;strong&gt;"Theoretical".&lt;/strong&gt; As much as it has a lot of practical implications, I don't see the value in it right now. Maybe it's because the course was very abstract. We discussed solving problems that didn't feel like they had many practical implications like Posts' correspondence problems. &lt;/p&gt;

&lt;p&gt;I must say, I found automata and the Turing machines and all that intriguing. I also think that I have a much better understanding of regular expressions because of that course.  &lt;/p&gt;

&lt;p&gt;ToC is essentially about determining whether a problem can be solved &lt;strong&gt;and&lt;/strong&gt; if the solution is worth implementing. I emphasize the second part because there are some problems with solutions that will take so long to solve that they are practically unsolvable in our lifetime. I mean so long that if you could convert every atom in the universe to a computer, you would still not have enough resources to solve the problem in your lifetime. That's a LOOOOONG. &lt;/p&gt;

&lt;p&gt;Theory of Computing is very interesting but also very academic. It's not every day you hear about Turing machines and a problem being NP-complete. I was intrigued by the content of this module but not enough to do extra research on my own. I might just look into the travelling salesmen problem though. I've heard of it but never studied it.&lt;/p&gt;

&lt;p&gt;My main takeaways were that &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;less powerful automata provide more efficient solutions to problems than more powerful ones&lt;/li&gt;
&lt;li&gt;more powerful automata are unpredictable and inefficient&lt;/li&gt;
&lt;li&gt;all the automata we learned about are actual devices that can perform computation. They are not just abstract.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  General News 📰
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/results?search_query=Forrest+Knight"&gt;Forrest Knight&lt;/a&gt;, a Tech Youtuber that I have been following since 2019, is going to stop YouTubing next year so that he can focus on being a father. Happy for him, sad for me :/. I really looked up to him.&lt;/li&gt;
&lt;li&gt;If you're on Twitter you know about the craze that is Web3.0. Not quite sure what the hype is all about yet. That's probably because I don't quite understand it myself but I think it's something I'll YouTube or read about this month. Feel free to share any resources in the comments.&lt;/li&gt;
&lt;li&gt;I set a new personal record of 110 wpm on &lt;a href="http://10fastfingers.com"&gt;10fastfingers.com&lt;/a&gt; 🥳&lt;/li&gt;
&lt;li&gt;I think my writing has improved. Grammarly told me they've noticed that I've been practising 😂 I love being complimented by software. Whoever came up with that feature needs a raise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Wrapping up
&lt;/h3&gt;

&lt;p&gt;In this final month, we learn about Databases in both Information Systems and Computer Systems and since I have covered those topics in depth in high school as well as on my own personal projects, I predict a lot more free time in my near future. I have a good feeling for this month but I don't want to jinx it so with that being said, thanks for the read, I wish you a wonderful Hacktober 🎃,  and happy Coding! 💻&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Assigning Colour Schemes to Programming Languages</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Sun, 12 Sep 2021 11:12:04 +0000</pubDate>
      <link>https://forem.com/sbu_05/assigning-colour-schemes-to-programming-languages-378b</link>
      <guid>https://forem.com/sbu_05/assigning-colour-schemes-to-programming-languages-378b</guid>
      <description>&lt;p&gt;I explained several reasons why sublime-text is my favourite text editor in a previous post. Today I want elaborate on two of those reasons that I mentioned. The reasons being that it can &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;match different themes with different colour schemes, and &lt;/li&gt;
&lt;li&gt;assign colour schemes to different file extensions such that you can open different code files with different colour schemes applied to it depending on the language.
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why do I assign different colour schemes to different languages?
&lt;/h2&gt;

&lt;p&gt;I first started using colour schemes because I wanted my code to look exactly like the instructor's code of a tutorial that I was following. I used to go through so many tutorials, and each instructor had their own setup, so I got used to changing my colour schemes regularly. I did this so that if the colour of a word was highlighted in the wrong colour, then I knew if I ran into an error, I could spot the bug more easily because the highlighting of words would be different.&lt;/p&gt;

&lt;p&gt;Now I'm a CS student. Part of being a CS student means using multiple languages daily. I believe that assigning different colour schemes to different languages can help mitigate the confusion caused by context switching. Just how one can identify a football club by its kit, or a brand by its logo, I use colour schemes to identify programming languages.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Java - Laravel (Rainglow)
&lt;/h2&gt;

&lt;p&gt;I associated Java with this colour scheme because most java IDEs tend to have a dark mode with monochromatic orange syntax highlighting. Ever since then, I've associated these colours with the language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---F9j7Cm3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444851742/LDIiLetCO.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---F9j7Cm3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444851742/LDIiLetCO.png" alt="java.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Python &amp;amp; Javascript - Monokai
&lt;/h2&gt;

&lt;p&gt;Python and Javascript used to get the same colour scheme because my early YouTube tutorial instructors used it. I thought them having the same colour scheme was quite fitting as they are both dynamically typed and interpreted languages. The choice of colours in this colour scheme represents how &lt;strong&gt;creative&lt;/strong&gt; and &lt;strong&gt;bold&lt;/strong&gt; these languages can be when used to create a project.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q79yHeA7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444819328/nphf6h8E-.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q79yHeA7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444819328/nphf6h8E-.png" alt="python.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Javascript/NodeJS - Monokai Classic
&lt;/h2&gt;

&lt;p&gt;I chose this colour scheme for the same reasons as python, except I changed it to Monokai Classic because I like how it highlights functions. There is a very subtle difference between the two colour schemes, but it's definitely worth it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I_iOC7ar--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444806897/Pp_z16Q6R.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I_iOC7ar--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444806897/Pp_z16Q6R.png" alt="javascript.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  C and C++ - Monokai SpaceGrey
&lt;/h2&gt;

&lt;p&gt;I was mostly taught C and C++ through a course on Coursera, and the thumbnail of the course used this colour scheme. Since then, I associated C and C++ with a &lt;em&gt;light blue&lt;/em&gt; and &lt;em&gt;bright red&lt;/em&gt;. These languages are bundled into the same colour scheme because C++ is a derivative of C. Meaning, they can use the same compiler and almost run the same code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---4pqX9vv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444680637/vsl4n-Dsi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---4pqX9vv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444680637/vsl4n-Dsi.png" alt="c++.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  R  Codecourse (Rainglow) :R
&lt;/h2&gt;

&lt;p&gt;I'm not the biggest fan of monochromatic colour schemes, but I made the exception for R because I was running out of options and colour scheme hunting is very tedious. R is a language that is used in our statistics class. Most people are scared of Math and any subject that requires a lot of Math, like Statistics. The colour &lt;em&gt;blue&lt;/em&gt; is a &lt;strong&gt;calming&lt;/strong&gt; colour, so I went with a blue colour scheme for this language to keep calm when I'm doing difficult and stressful assignments. Also, the logo for the R-language is blue, and naturally, it followed that the colour scheme assigned to R would be the same. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---guJjfBd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444771892/-0hanwsr_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---guJjfBd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444771892/-0hanwsr_.png" alt="R.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  MIPS Rainglow Piggy (Rainglow)
&lt;/h2&gt;

&lt;p&gt;Anyone who has ever programmed in Assembly knows how low level it is. Programming in Assembly gives you a lot of flexibility that most languages don't offer. But that flexibility makes it more error-prone. I knew that while programming in Assembly, I needed to be more &lt;strong&gt;alert&lt;/strong&gt; and concentrate harder, which is why I have given it a monochromatic red colour scheme. Red is the only colour that captures the &lt;em&gt;solemnity&lt;/em&gt; of the language. Assembly is not for the faint-hearted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rLe4N0mg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444747287/2VhHSSU6U.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rLe4N0mg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1631444747287/2VhHSSU6U.png" alt="mips.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Those are all my colour schemes. I left out the colour scheme I use for React because that one is always changing, and I haven't settled on one for the time being. Note! All my colour schemes are dark because the light attracts bugs 🐛. I have nothing against light colour schemes. I believe they have a place. If it's not &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gmail&lt;/li&gt;
&lt;li&gt;google&lt;/li&gt;
&lt;li&gt;Pdfs&lt;/li&gt;
&lt;li&gt;Word docs&lt;/li&gt;
&lt;li&gt;HTML files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;then it needs to be in dark mode. I make the rules :) &lt;/p&gt;

&lt;p&gt;I am very particular about my development environment. This is why I struggle to use any text editor that is not sublime-text. When you customise a product, it makes you more proud of it because you feel as though you have contributed to its creation. Some people engrave their initials on a piece of jewellery or get their name embroidered on clothing. I customise my editor. And it makes my programming experience more special in the same way. It just so happens that Sublime-text is the editor that I customised, and that is probably the biggest reason why I'm so attached to it. &lt;/p&gt;

&lt;p&gt;If you have never tried tinkering with your coding environment, I urge you to give it a shot and see how you feel when you're done. If you made it this far, thanks for the read, and always Happy Coding 💻&lt;/p&gt;

</description>
      <category>sublimetext</category>
      <category>colourschemes</category>
      <category>opionionpiece</category>
    </item>
    <item>
      <title>Life of a CS Student: Slow start to new semester</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Tue, 31 Aug 2021 21:01:47 +0000</pubDate>
      <link>https://forem.com/sbu_05/tech-journal-slow-start-to-new-semester-3mp1</link>
      <guid>https://forem.com/sbu_05/tech-journal-slow-start-to-new-semester-3mp1</guid>
      <description>&lt;h2&gt;
  
  
  August edition
&lt;/h2&gt;

&lt;p&gt;I had a slow start to this semester. I fell behind from the first week, and now it feels like I'm playing perpetual catch-up. I'm travelling back to Uni across the country, taking an extra class this semester, I miss home, I caught Covid, vaccination registrations are coming up, I need to organise Hoodies, make sure there is paper, listen to Donda and, and... The list doesn't end. I love my degree, but I would have thought twice if I knew this is what it would have taken. Unfortunately, I'm not in a position to reduce the number of responsibilities I have. I have to see this year through. &lt;/p&gt;

&lt;h2&gt;
  
  
  Where am I? 🗺️
&lt;/h2&gt;

&lt;p&gt;My career aspirations haven't changed much.  Although,  I have been thinking about my academic aspirations. My grades aren't sitting pretty right now, but there is still time for redemption. I play on studying further after completing my degree, so I have internal pressure to do well.&lt;/p&gt;

&lt;p&gt;There are two major reasons why I want to study further. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I'm not yet satisfied with the 3-year curriculum that it takes to get my degree. I'm someone who gets excited by reading the contents page of a book. You can imagine how I react when I read the curriculum of postgraduate courses. &lt;/li&gt;
&lt;li&gt;Since I haven't yet committed to any particular career path, studying further gives me time to gather more information and make a better decision when the time comes. &lt;/li&gt;
&lt;li&gt;Studying is a very low-risk time in my life. Although I'm not as happy as I would like to be, I'm in a place where I don't have to worry about many things. I came to uni to get my independence, but I get overwhelmed by the thought of figuring out where to live, living on my own, working a job, having to cook, having to clean etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Despite my latest performance in my current Computer Science modules, I am really enjoying the theory behind it. I've had a lot of those Aha moments recently. I'm getting to a place where I'm starting to feel like I really understand the inner workings of computers even though there's so much we still haven't covered. The amount of thought that went into designing and creating computers is remarkable. &lt;/p&gt;

&lt;h2&gt;
  
  
  What am I working on? 👨🏾‍💻
&lt;/h2&gt;

&lt;p&gt;Apart from the weekly Computer Science practicals in &lt;strong&gt;C&lt;/strong&gt;, the Mathematical Statistics projects in &lt;strong&gt;R&lt;/strong&gt;, the Information Systems projects in &lt;strong&gt;JavaScript&lt;/strong&gt; and the Mathematical Programming assignments in &lt;strong&gt;Python&lt;/strong&gt;, my only non-academic or side-project is... &lt;/p&gt;

&lt;h3&gt;
  
  
  Fetching Instagram content based website (made with React)
&lt;/h3&gt;

&lt;p&gt;Despite my slow progress, I made a breakthrough. Early on, it became apparent that setting up a Facebook/Instagram API would take me a long time, so I looked for an npm library that scrapes Instagram's website for its data. A few google searches later, and I found.  &lt;/p&gt;

&lt;p&gt;The entire idea behind this project is that it will display the posts of an Instagram user in a format of my choosing. To display the posts on my website, I'll need to&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;make a &lt;strong&gt;back-end&lt;/strong&gt;  server that runs a script and checks if my Firebase Firestore is always up to date with the Instagram page by periodically  checking if there have been any additional posts and save the additional post to Firebase orrrr&lt;/li&gt;
&lt;li&gt;place the node script that fetches the data on the &lt;strong&gt;front-end&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I don't want to make a back-end for this project because it feels like a bit of a hassle to set up, and besides, I've hosted everything on Firebase and want everything to be on there.&lt;/p&gt;

&lt;p&gt;The problem is that the npm library requires an Instagram user name and password to log in. I'm not too keen on putting the script on the front-end idea because that wouldn't be very secure. Anyways, I'll let you know what I eventually decide on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What am I learning?
&lt;/h2&gt;

&lt;p&gt;So, I haven't really been able to learn anything extra on top of my course workload, so instead, I'll mention what I've learned in our curriculum that I found interesting. &lt;/p&gt;

&lt;p&gt;Up until this point, we've been doing the Operating System module. Most of our practicals assignments require a Unix environment, so that I couldn't have chosen a better time to dual boot my laptop with Linux Ubuntu. Basically, I could do all my coursework natively on my highly customised gnome-terminal instead of using Google Colab that was prescribed for our course. I don't like online code editors. They feel janky.&lt;/p&gt;

&lt;p&gt;The Operating systems course went into the nitty-gritty details of how Operating systems worked. From memory management and disk scheduling to deadlocks and race conditions. It was a lot. I don't think I was in any shape or form ready for this course. It was the first time that I felt like I really didn't know what I was doing. I caught a bad case of imposter syndrome during this course. &lt;/p&gt;

&lt;p&gt;However, I thoroughly enjoyed learning to create multiple threads and learning about how or why deadlocks occur. Those are the type of concepts that make me feel like Uni was definitely worth it. I'm not the greatest at explaining these concepts, so I'll leave a link &lt;a href="https://www.youtube.com/c/JacobSorber"&gt;here&lt;/a&gt; to a YouTube channel that really helped me pass this course.&lt;/p&gt;

&lt;h2&gt;
  
  
  General news 📰
&lt;/h2&gt;

&lt;p&gt;Season 5 of  &lt;a href="https://open.spotify.com/show/1tTuUApDgH6w1LZY25jmzG?si=q1jGay4QT8C-yDPbNtfeKw&amp;amp;dl_branch=1"&gt;DevNews&lt;/a&gt;  is out and which means the walk between class and my room just got that much longer. Dev News is a podcast for developers by developers. It's the first and only podcast that's not a snooze fest. I once went through a period of trying a lot of podcasts, but none of them kept me listening like DevNews, so If you're into that sort of thing, I highly recommend it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;I'm very confident in my programming ability, so I thought imposter syndrome was something that I was not capable of experiencing. In fact, I didn't realise I had it until I found out why I didn't ask for help when struggling with assignments. The reason was that I thought that I did not deserve to be helped. I thought I would be a waste of my tutors even time though they &lt;strong&gt;literally&lt;/strong&gt; get paid to help us. It's ridiculous!&lt;/p&gt;

&lt;p&gt;I've never really been one to ask for help. I always figured things out on my own. Even though I learn much more by doing so, I waste an enormous amount of time going through rabbit holes that sometimes lead to nowhere. So I'm going to learn to get better at asking for help. If you have any tips, you're more than welcome to leave advice in the comments. &lt;/p&gt;

&lt;p&gt;This semester started slow, and the progress I made on side-projects was even slower. That is something I'm hoping to change. We'll see how well I do this time next month. One positive that came out of all this is that I've been finding more efficient ways to manage my time, and my sleep quality has improved. To me, that's progress 😌&lt;/p&gt;

&lt;p&gt;If you got this far, thanks for the read. And as always, Happy Coding💻!&lt;/p&gt;

</description>
      <category>student</category>
      <category>college</category>
      <category>techjournal</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Why I use Sublime Text</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Sun, 08 Aug 2021 20:37:06 +0000</pubDate>
      <link>https://forem.com/sbu_05/why-i-use-sublime-text-3edp</link>
      <guid>https://forem.com/sbu_05/why-i-use-sublime-text-3edp</guid>
      <description>&lt;p&gt;Out of the time that I have spent programming, most of that has been spent using Sublime-text as my primary text editor. I'm well aware that other text editors exist, but none of them seems to get the job done with as much finesse as Sublime. Now and then, I try to make the switch to Visual Studio Code to see what all the hype's about, but it's never too long before I find myself using good old Sublime-text. In my opinion, it's the best editor for so many reasons like... &lt;/p&gt;

&lt;h3&gt;
  
  
  1 - Easy to get started
&lt;/h3&gt;

&lt;p&gt;As a CS student, I'm often required to use a new tool/technology every semester. For me, the hardest/longest part about learning anything new is the installation and setup process. It's what causes the most friction to get started. Sublime Text reduces this friction because it is so easy to set up for almost any programming language. Java, Web Dev in general, R, Python and markdown are just some of the technologies that I use that work well in Sublime.  &lt;/p&gt;

&lt;p&gt;Once I have installed JDK(SDK) or interpreter on my machine, I can simply compile and run code using &lt;code&gt;ctrl + B&lt;/code&gt; and get a &lt;em&gt;"Hello world"&lt;/em&gt; program working in a matter of minutes. Sublime neatly displays output within the editor, so I don't have to worry about opening a new terminal session and running my code there. &lt;/p&gt;

&lt;p&gt;Though, there are occasions where I'll need to run code that requires user input,  so I'll have to open up my terminal. If I'm using sublime text, I'll have two applications running that I will constantly need to switch between, whereas if I used VS-Code, I could press &lt;code&gt;ctrl + ~&lt;/code&gt; and run the code without switching between programs. &lt;/p&gt;

&lt;h3&gt;
  
  
  2 - Colour schemes and Themes
&lt;/h3&gt;

&lt;p&gt;Let me start by explaining the difference between the colour schemes and themes for those who don't know. &lt;em&gt;Colour schemes&lt;/em&gt; are the font and colours used to highlight the &lt;strong&gt;syntax&lt;/strong&gt; of &lt;strong&gt;code&lt;/strong&gt;. &lt;em&gt;Themes&lt;/em&gt; are the fonts, colours and shape of the &lt;strong&gt;actual&lt;/strong&gt; ** text editor**. &lt;/p&gt;

&lt;p&gt;Here is an example of two different &lt;strong&gt;themes&lt;/strong&gt; (light and dark) with the same colour scheme. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---sOYaSSp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yjr8puy16im0pcbr9m5j.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---sOYaSSp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yjr8puy16im0pcbr9m5j.jpg" alt="two different themes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is an example of two different &lt;strong&gt;colour schemes&lt;/strong&gt; with the same theme&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CGfK8LqQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n3wf2y7b0qaa75c85g4y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CGfK8LqQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n3wf2y7b0qaa75c85g4y.png" alt="two different colour schemes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whenever I hear a person use the terms "colour schemes" and "themes" synonymously, I take it they use VS-Code. A Sublime-text user should know the difference. In VS-Code, Themes and Colour Schemes are one and the same thing. When you change the colour scheme, it changes the theme of the text editor. In Sublime-text, the colour scheme and themes do not change together. You can combine different colour schemes with different themes allowing you to tailor the look and feel of your text editor to your heart's content.&lt;/p&gt;

&lt;p&gt;Mixing and matching colour schemes won't make me a better programmer, but it does make me want to spend more time programming. I find that with anything, if I create a space that I have customised myself, I'll want to be in that space more, especially if I tried really hard to make it aesthetically appealing. Similarly to how a student customises their study space to study more for longer periods, I customise my editor so that I'll want to code longer.&lt;/p&gt;

&lt;h3&gt;
  
  
  3 - Key Bindings
&lt;/h3&gt;

&lt;p&gt;There are key bindings that are universal, like copy/paste. But the ones that make users more efficient are usually unique to a specific application because they have been chosen carefully and specifically by the application's developers. Even though Sublime, like most editors, allow you to change key bindings to suit your preference, I never felt like I needed to do change anything. Their key bindings were well thought out. They are easy to remember because they usually stand for something, or in a position that makes it easy to access in the situations they are used in.&lt;/p&gt;

&lt;p&gt;Every time I try to switch to a new editor, no matter how hard I try, I always hit a Sublime-text key binding out of habit no matter how hard I try. When I find out that the editor is not behaving as expected, I get frustrated - forgetting I'm not using my primary editor. I've gotten so used to Sublime-text that trying anything else immediately decreases my productivity.     &lt;/p&gt;

&lt;h3&gt;
  
  
  4 - Its Lighter
&lt;/h3&gt;

&lt;p&gt;My laptop had 4GB of RAM, once upon a time. It was a real test of patience for me; I'm someone who moves quickly around the computer. As such, I get easily frustrated if it starts lagging, and my PC would lag if I used any editor that was not Sublime text. When I used VS-Code back then, it would take around an additional 3-4 running applications (the equivalent of around 5 open tabs in firefox) to start slowing my PC down. I never had these kinds of problems with Sublime. Sublime just moves.&lt;/p&gt;

&lt;p&gt;Eventually, I upgraded my laptop to 8GB of RAM, and although the lag was not as bad, it was still there. Tolerable but there. There is no reason for me to pick another editor, which is slower unless it will save me time and increase my productivity in the long run, but with VS Code, that's simply not the case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;In my head, I still have this idea that I will eventually make the switch to Visual Studio Code because it is supposed to be better, or so we're told by every other tech influencer. I understand that Visual Studio has become the standard editor, but I don't believe that it is the best tool for everyone. In some cases, like myself, making the switch would do more harm to my productivity than good, and so I have no use for it. To sum up, I am capable of much more with Sublime Text than with any other editor.&lt;/p&gt;

&lt;p&gt;As always, thanks for the read, and Happy Coding! 🖥️&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Life Of a CS Student: Vacation well spent</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Sun, 25 Jul 2021 20:05:55 +0000</pubDate>
      <link>https://forem.com/sbu_05/tech-journal-vacation-well-spent-340f</link>
      <guid>https://forem.com/sbu_05/tech-journal-vacation-well-spent-340f</guid>
      <description>&lt;p&gt;I think it's time that I gave some context as to who I am and where I am on my journey into the world of Computer Science. I tend to post blogs without context, so I am starting this series to document:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; where I am in my journey, &lt;/li&gt;
&lt;li&gt;interesting things I have learned and &lt;/li&gt;
&lt;li&gt;projects that I have built that took a significant portion of my time and effort. &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Quick self-introduction 👋🏾
&lt;/h3&gt;

&lt;p&gt;I guess I should start by introducing myself, so, Hi. I'm Sibu. At the time of writing, I am currently doing my 2nd year in Computer Science at Rhodes University. I like my operating systems open-sourced. My current favourite distribution is Ubuntu. Java and JavaScript are my favourite programming languages. I am very particular about my development environment. My favourite text editor, and the best one at that, is Sublime Text. Anyone who thinks otherwise can go argue with a wall :) &lt;/p&gt;

&lt;p&gt;So without further ado, let's dive right in. &lt;/p&gt;

&lt;h2&gt;
  
  
  Where am I? 🗺️
&lt;/h2&gt;

&lt;p&gt;I'm a second-year student, so I don't have to worry too much about my career, but I still keep it at the back of my mind. The nice part about getting a CS degree is that it gives me so many options, and the bad part about getting a CS degree is that it gives me too many options. I am at the point where I'm afraid of over-committing to a particular language or framework because it won't help in whatever career path I end up deciding to take on. I end up hopping between different technologies and never really take the time to learn one thoroughly.&lt;/p&gt;

&lt;p&gt;I am seriously considering a career in Web development. Whether I start with Front-end or Back-end development doesn't really matter because I plan to go Full-Stack eventually. I don't see myself doing Web-development forever, so some alternatives I am considering involve AI, Cloud computing, CyberSecurity or Robotics. &lt;/p&gt;

&lt;h2&gt;
  
  
  What am I working on? 👨🏿‍💻
&lt;/h2&gt;

&lt;h3&gt;
  
  
  TicTacToe
&lt;/h3&gt;

&lt;p&gt;The first project that I set out for myself is a little tic-tac-toe game made with Java. The fun part about this project was designing classes that would communicate with each other to create the game logic. It made me feel like a real software architect. I'm also quite surprised at how little I had to use the internet to look up syntax and method names. I think this speaks to how well I have learned the Java language.&lt;/p&gt;

&lt;p&gt;I recently finished this project, and I have made all the source code available on my GitHub.&lt;/p&gt;

&lt;h3&gt;
  
  
  React Instagram Website
&lt;/h3&gt;

&lt;p&gt;I have been trying to create a website for my friend's Instagram account. The idea is that I want to display all their pictures on the website. The problem is I want it to update every time they make a post, so they only need to maintain their one page instead of having to update their content in two separate places. &lt;/p&gt;

&lt;p&gt;I approached this project with one strategy, and it only recently became apparent that my approach is not technically feasible. Now I've got to use a different approach which entails learning technology that I am not completely familiar with. That technology being Google's Firebase Firestore. I have worked through a NoSQL database tutorial in MongoDb, so I hope that will help me get my project back on track.    &lt;/p&gt;

&lt;h2&gt;
  
  
  What am I learning?
&lt;/h2&gt;

&lt;p&gt;Even though I have been building quite a bit, I still want to learn simultaneously. I know that building projects are the best way to learn to code, but I also need to supplement my knowledge with theory to ensure that I know the capability of my tools. The two courses that I am following on YouTube right now are &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaFX playlist by The New Boston and...&lt;/li&gt;
&lt;li&gt;Firebase Firestore Playlist by the NetNinja&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  General news 📰
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;One of the textbooks that are prescribed for next semester is the infamous &lt;a href="https://eloquentjavascript.net/index.html"&gt;Eloquent JavaScript&lt;/a&gt; by Marijn Haverbeke. I'm pumped up to actually get some sort of formal education with JavaScript because I have been learning it for so long on my own now.&lt;/li&gt;
&lt;li&gt;I Dual booted my PC with Linux Ubuntu about a month ago, and I almost never use Windows now.&lt;/li&gt;
&lt;li&gt;It turns out I have to take an extra subject this coming semester, so I'm in for another long haul. I know I'm capable of taking on the extra work, but I would much rather spend my time doing something I find more meaningful.&lt;/li&gt;
&lt;li&gt;Last but certainly not least, I've recently been accepted into the VWSA Bursary programme, so I am officially being paid to study the thing I am most passionate about.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;During school vacations, I reserve most of my time to build all the million-dollar app ideas, or more realistically, projects that improve my portfolio and automate my workflows. My vacations never last very long because of how much the pandemic set back the school calendar year. Our school has increased the pace at which we work to finish within the academic calendar. So, once the next semester begins, I will have less time for all these endeavours. As the year progresses, I don't know if I will build all the projects that I have on my to-build list, but there's no harm in trying.&lt;/p&gt;

&lt;p&gt;I plan on maintaining this series monthly if you are keen on keeping tabs on my journey. If that time-lapse is too long for you to remember to come back, then you can find me on &lt;a href="https://twitter.com/Sbu_0V"&gt;Twitter&lt;/a&gt;, where I share what's on my mind on a more regular basis.&lt;/p&gt;

&lt;p&gt;As always, thanks for the read, and Happy Coding! 💻&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>student</category>
      <category>introduction</category>
    </item>
    <item>
      <title>pros and cons of having an online presence</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Tue, 13 Jul 2021 12:41:29 +0000</pubDate>
      <link>https://forem.com/sbu_05/pros-and-cons-of-having-an-online-presence-521i</link>
      <guid>https://forem.com/sbu_05/pros-and-cons-of-having-an-online-presence-521i</guid>
      <description>&lt;p&gt;Hello world, and welcome to my little corner of the internet. This corner is quite small and I have been meaning to grow it for some time but I keep putting it off for many reasons. Reasons that I will be discussing in this post. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why I have a small internet footprint ❌
&lt;/h2&gt;

&lt;h4&gt;
  
  
  1. Cancel culture
&lt;/h4&gt;

&lt;p&gt;The largest reason why I get discouraged from creating content on public platforms is that I will experience criticism, judgement, or even worse, "be cancelled". Honestly, I don't care what  &lt;strong&gt;everyone&lt;/strong&gt; thinks but there are people that I might meet in future who will discover this little corner and change their perception of me based on these posts. As much as this could be a good thing, it could just as well be a bad thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Fear of future rejection
&lt;/h3&gt;

&lt;p&gt;We're told from a young age, that we should be careful what we put on social media. There is a saying that goes something along the lines of &lt;em&gt;"The internet never forgets"&lt;/em&gt; . I would add "&lt;em&gt;and is very unforgiving" .&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;At this point, just about everyone has heard stories about someone who was rejected because of some inappropriate post that didn't resonate well with the company values that they applied to work for and were not considered for a position.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.  It's hard to create good content
&lt;/h3&gt;

&lt;p&gt;This is probably the biggest reason that gets in my head because I am somewhat of a perfectionist. I know everybody has to start somewhere but I have always looked at my work and never really thought it good enough for someone else to consider it valuable. &lt;/p&gt;

&lt;p&gt;All the creators I follow on every platform usually create content that I enjoy consuming because I find it &lt;strong&gt;interesting&lt;/strong&gt;. Not many people find the work that I study, and plan to write about, very impressive. Never mind, lack of engagement being a discouraging factor.&lt;/p&gt;

&lt;p&gt;Perhaps, I can improve the quality of my work overtime but getting others to indulge in my content is out of my control. There is only so much I can do to get people to read my blog. &lt;/p&gt;

&lt;h2&gt;
  
  
  Reasons I should have an online presence ✅
&lt;/h2&gt;

&lt;p&gt;There about a billion other reasons why I am afraid of putting myself out there. The longer I make that list the more I will be reluctant to do it. So instead I'm shifting the focus to think about the positives that come with having an online presence.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Helping someone else
&lt;/h3&gt;

&lt;p&gt;You may say "Wait? How does helping someone else benefit me?". Well, it puts me at ease.&lt;/p&gt;

&lt;p&gt;Knowing that my content could help a younger version of myself take strides towards their goals gives me more motivation to continue this life thing ya know. &lt;/p&gt;

&lt;p&gt;If it weren't for the YouTubers that I subscribed to I would be an entirely different person. So this idea that the words I type may positively impact someone's life is fulfilling. It's the small things...&lt;/p&gt;

&lt;p&gt;I never thought my content could help someone else until I stumbled upon a random YouTube video about why you should have an. I came to the realisation that you don't need to be a guru to help someone, you can simply be a guide. Everyone has life experiences that others would find valuable. I may not be able to tell someone exactly how to achieve their goals but I could definitely tell them how NOT to go about it. They can learn from my blunders and boy there are many. I don't have to be an expert to help someone learn a topic but I can guide them on how to go about learning it. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Opportunities
&lt;/h3&gt;

&lt;p&gt;As much as online content opens up the possibility of being publicly criticised it also leads to the possibility of being praised for your work. Once you create an account on an online platform, it serves as a means for others to connect with you. This connection may lead to opportunities that you otherwise would not have had if you never "existed" on that platform. &lt;/p&gt;

&lt;p&gt;Let's consider two random people that live in a village. The first person travels between villages, meets new people and goes on adventures on a weekly basis. And the other villager never sets foot outside of their village. Who do you think will find more opportunities? &lt;/p&gt;

&lt;p&gt;With this in mind, would you rather have future employers find your internet footprint on their own or would you rather show them where to start looking? If you care about first impressions, it only makes sense to showcase your best work first and hopefully it will be enough to sway the odds in your favour.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Foster learning
&lt;/h3&gt;

&lt;p&gt;A successful page, channel, website or whatever platform used to create content takes a lot of time to maintain and grow. In this process of maintaining your online presence, you will learn valuable skills. Think about it,  the more often you write blogs the better writer you will become. The more YouTube videos you publish, the better you get at creating content and editing videos. The photographs you take, the more you paint, the more you draw, the more you do just about anything, the better you will become at doing that particular thing.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;All factors considered, I believe the pros outweigh the cons when it comes to having an online presence. It starting to feel like a no-brainer at this point.  &lt;/p&gt;

&lt;p&gt;Up until this point, most of my blogs. I have tried to take the personality out of the posts. Not quite sure why, but maybe one reason is that I was afraid that people wouldn't enjoy the personality in the posts. But now I'm okay with that cause it means the people who revisit this little corner of the internet, prefer my style. So, from now on, I'm going to try and give the quality and flavour that I put on anything with my name on it.&lt;/p&gt;

&lt;p&gt;If you got this far it means that this blog was worth writing. So, as always, thanks for the read, and Happy coding! 💻&lt;/p&gt;

</description>
      <category>opinion</category>
      <category>student</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>My take away from making a photography portfolio site</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Sun, 24 Jan 2021 12:16:01 +0000</pubDate>
      <link>https://forem.com/sbu_05/my-take-aways-from-making-a-photography-portfolio-site-3ci2</link>
      <guid>https://forem.com/sbu_05/my-take-aways-from-making-a-photography-portfolio-site-3ci2</guid>
      <description>&lt;h1&gt;
  
  
  Photography website status: Deployed 🚀
&lt;/h1&gt;

&lt;p&gt;First and foremost, I want to talk about coding as a whole. As much as building this site has been fun it has been extremely taxing. Its reached the point where I have reconsidered programming as a career and I'm not over-exaggerating. I don't know exactly what a software developer title entails but I'm going to assume that spending hours on end in front of a screen will be a part of the job. Something I no longer look forward to. Maybe I feel this way because I ran into a lot of obstacles along the way and my computer is slow and so I get easily frustrated or maybe I didn't take enough breaks between coding sessions which lead to a couple headaches. Bottom line is: the experience was not as enjoyable as I anticipated.&lt;/p&gt;

&lt;p&gt;However, if you had to ask me whether I would do it all over again, I would say yes. I've learned so much from this one project and not only that but I have created something that someone can actually put to use. I am on day 17 of 100daysofCodes and I can already mark off one of my objectives as complete. I feel as though I am more of a ✌️ complete ✌️ programmer because I learned more about the programming languages that I used in building the projects. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;h3&gt;
  
  
  React
&lt;/h3&gt;

&lt;p&gt;I used React to make this site. Now, looking at it, I would say that it was not entirely necessary to use it in this project. There are features that I intend on implementing in future that will make use of Reacts capabilities so I thought it best to leave it as is instead of reverting back to HTML CSS and vanilla JS.&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;

&lt;p&gt;Having gone through numerous tutorials in the past I tackled this project with the mindset that most of the styling will be a breeze and boy was I in for a rude awakening. I think I had to watch a video about CSS grid 3 times over for it to completely sink in and until now I still haven't completely grasped it but hey, the site looks decent.&lt;/p&gt;

&lt;p&gt;Thanks to this project I now have a better understanding of&lt;/p&gt;

&lt;p&gt;✅ CSS grid&lt;br&gt;
✅ animation&lt;br&gt;
✅ font-faces&lt;br&gt;
✅ importing CSS in React&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This project was a pain to complete but it was definitely worth it. To all beginners who are sitting on the fence about whether they should try create a photography site or not, I encourage you to do have a go at it, not only to further their skills but to actually help out a photographer whose work could do with more exposure.&lt;/p&gt;

&lt;p&gt;As always, thanks for the read, stay safe, and Happy Coding 💻&lt;/p&gt;

&lt;p&gt;P.S. I almost forgot. &lt;a href="https://jades-portfolio.firebaseapp.com/"&gt;Here&lt;/a&gt; is the website if you want to check it out.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devjournal</category>
      <category>projectcomplete</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Keeping the streak alive</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Fri, 15 Jan 2021 15:05:26 +0000</pubDate>
      <link>https://forem.com/sbu_05/keeping-the-streak-alive-7gk</link>
      <guid>https://forem.com/sbu_05/keeping-the-streak-alive-7gk</guid>
      <description>&lt;h1&gt;
  
  
  My power went out
&lt;/h1&gt;

&lt;p&gt;I had no power for the better half Wednesday so naturally I didn't manage to get in any sort of significant coding done. So does that mean I have to start the 100daysOfCode all over? Who makes the rules anyway. I ended up deciding not to count Wednesday and keeping the streak going. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Front-end 👨‍🎨
&lt;/h3&gt;

&lt;p&gt;I wonder why the body of a website doesn't start in the corner of the page. I got around it by setting the margin of the body to 0 but I just don't understand why it wouldn't be in the corner by default.&lt;/p&gt;

&lt;p&gt;I've done a lot of thinking about whether I should use a CSS framework to speed up the development of the photography website that I'm building. One the one hand I really enjoy making custom CSS. On the other, what takes me about an hour to make a hamburger menu icon with pure CSS takes 2 lines of code with semantic UI. One line for importing the CDN and the other is the HTML element with a classname corresponding to the name of the icon. I think the best decision right now is to use the frameworks for icons and the animations, layouts and media queries using pure CSS. I know how they work but I always forget their syntax so I want to get in the habit of using them without having to look up the syntax.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Back-end 👨‍💻
&lt;/h3&gt;

&lt;p&gt;How cool is it that I have a back-end section. I'm just geeking out. I'm so excited to learn NodeJs. The course that I'm doing has challenges at the end of each videos and I've been crushing them. Its not my first time learning NodeJs though. &lt;/p&gt;

&lt;h3&gt;
  
  
  Review of 100daysOfCodes
&lt;/h3&gt;

&lt;p&gt;What I love about this challenge is the support you get from the community. The automatic retweets, the high levels of engagements, the random strangers rooting for you to finish 😂 It's pretty hard not to love this community. If I had known this earlier I would have done the #100daysofCodes challenge ages ago. I think the best part of the challenge is seeing other people learning and being able to relate and connect with them on the challenges that the typical newbie goes through. Its nice to know someone else has gone through this and my frustrations is normal. &lt;/p&gt;

&lt;p&gt;The past week has honestly been one of my better ones. Could have done more, could have done less but I'm just happy with being consistent. As always, thanks for the read and Happy Coding💻!&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>100daysofcode</category>
      <category>codewithpurpose</category>
    </item>
    <item>
      <title>2021 lets go</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Thu, 07 Jan 2021 18:26:01 +0000</pubDate>
      <link>https://forem.com/sbu_05/2021-let-s-go-512f</link>
      <guid>https://forem.com/sbu_05/2021-let-s-go-512f</guid>
      <description>&lt;p&gt;As I reflect on my 2020, as bad as it was, I think I enjoyed it for the most part or at least I had it easier compared to most. Call me an optimist. Sure, I did miss out on all the first year experiences, lost touch with a lot of old friends but the goal was to become a better programmer and I did just that. Now that we're in 2021 the goal hasn't changed. There is still so much yet to learn. From here on out it is full speed ahead. &lt;/p&gt;

&lt;h2&gt;
  
  
  The web development
&lt;/h2&gt;

&lt;p&gt;The todo-list I made was a little buggy. I wrote a little script that removes a to-do after it has been clicked. It has a little animation before it disappears though. The problem is that when the to-do disappears (as it should) the checkbox that was directly below the removed item get ticked. Long story short, I got a headache and called it a day. I might take another look at it because I want to add some extra features to it. I just want to see if I am still the JavaScript Ninja I thought I was. &lt;/p&gt;

&lt;p&gt;As much as I appreciate the front-end side of things I've always been drawn to the back-end. I'm hoping to bust some myths behind back-end work by finally diving into NodeJs. If you have any recommendations on great NodeJs books for beginners please let me know in the comments. In the meantime I will be going through a The Complete Node Developer course on Udemy. So far so good. The tutor is articulate, and enthusiastic which is all I ask from any teacher.&lt;/p&gt;

&lt;h2&gt;
  
  
  100daysOfCode
&lt;/h2&gt;

&lt;p&gt;I'm doing the 100 days of Code Challenge not to get better at programming but to get better at creating. Somewhere between learning React and Java I forgot that the aim was not just to learn to code but to build significant applications and or websites that actually make a difference to either my life or someone else's. The aim is to learn to create and not just to code. By the end of this challenge I don't want to be just a ✌️ better ✌️ programmer but I want to be able to: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build a personal blog or portfolio website.&lt;/li&gt;
&lt;li&gt;Build flyers and or e-commerce website.&lt;/li&gt;
&lt;li&gt;Build photography websites.&lt;/li&gt;
&lt;li&gt;Build a chat app or social media clone.&lt;/li&gt;
&lt;li&gt;Build a Java GUI applications that makes use of a database&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Again, call me an optimist but I believe these objectives are practical. If any of these sound interesting you can find my weekly updates right here on DEV. As always, thanks for the read. Happy New Year 🎆 and Happy Coding! 💻&lt;/p&gt;

</description>
      <category>100daysofcode</category>
      <category>webdev</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>To Code or Not To Code</title>
      <dc:creator>Sibusiso Dlamini</dc:creator>
      <pubDate>Sat, 26 Dec 2020 17:02:36 +0000</pubDate>
      <link>https://forem.com/sbu_05/to-code-or-not-to-code-f5</link>
      <guid>https://forem.com/sbu_05/to-code-or-not-to-code-f5</guid>
      <description>&lt;p&gt;I don't think anyone understands how much I enjoy coding. I code... A LOT. However, I feel as though I'm starting to reach a plateau and it gets harder to improve. There could be many different reasons for this. Maybe, my current roadmap is too flexible or maybe I don't build enough projects, or maybe it takes too long for me to decide what to build next. &lt;/p&gt;

&lt;p&gt;I've been going back and forth between deciding whether or not to do the &lt;strong&gt;100DaysOfCode&lt;/strong&gt; challenge. I have no doubt that I will be able to complete it. I sort of already code everyday. So much so that it is quite easy to keep track of the days that I don't code, as they are far and few between. Except for the case of the last 2 days where I haven't coded. I believe that regardless of whether I participate in this challenge I would still be a consistent coder. Maybe I should just trust in the process and hope that I am headed in the right direction. &lt;/p&gt;

&lt;p&gt;One reason that is also preventing me from doing the challenge is that, knowing myself, I'll probably put so much effort on keeping the streak going that I will probably lose sight of the reason for doing the challenge, which is ultimately to improve my programming abilities.&lt;/p&gt;

&lt;p&gt;In case you didn't know, I am also currently on holiday. Having all this free time on my hands makes me want to put it to good use and what better way to do that than to code! If you reading this, you may think, "Why don't I just take the time off to relax?" You see, when school comes around again, I won't be able to dedicate as much time as I would like to all my programming endeavours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Web development: The Todo-list
&lt;/h2&gt;

&lt;p&gt;Styling HTML form elements with CSS is hard. They look outdated and some styles don't apply to certain elements. I don't think I would have gotten far with without the help of &lt;a href="https://blog.logrocket.com/how-to-style-forms-with-css-a-beginners-guide/"&gt;this&lt;/a&gt; website. The techniques that are used to style check boxes and radio buttons are pure genius. I'm thinking of creating a Codepen to display all the different form styles tips and tricks that I've picked up for later reference. &lt;/p&gt;

&lt;p&gt;I'm currently building a Todo-list application in React, and all the markup and functionality is done. All that is left is for me to style it up with some CSS. I have thought about using CSS frameworks but I prefer the process of customizing websites with vanilla CSS. Makes me feel like an artist in front of a blank canvas. &lt;/p&gt;

&lt;p&gt;Building the Todo-list reminded me of the power of JavaScript. Manipulating the DOM. Adding Event Listeners. It all tied together quite nicely. I took advantage of Reacts rendering on state changes to add features like clearing the input when you hit enter. It's not that fancy but it made me feel great that I could remember how to do those things without the need of a tutorial. I think the practical approach is starting to pay off.&lt;/p&gt;

&lt;h2&gt;
  
  
  Java: The card game
&lt;/h2&gt;

&lt;p&gt;Have you ever overestimated the time it would take to build a project. I've been in this position before and here I am, again. When will I learn. If I were to measure the projects level of completion, I would say that I am at 68%. That is if I am to build this program without a GUI. &lt;/p&gt;

&lt;p&gt;I have been reluctant to code in Java recently. I still love the language but the things that I can build with it or not ✌️ cool ✌️ as I'd thought they would be. Hence why I am enjoy Web-Dev so much. You can do quite a lot with very little experience. GUI programming without IDEs are a pain to design and implement. You can't help but appreciate CSS once you have gone down that route.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrap Up
&lt;/h2&gt;

&lt;p&gt;It's almost that time of the year again. Where all tech content creators tell us which TOP LANGUAGES TO LEARN IN 2021. I have no intention of deviating from my current path of learningbut that's not going to stop me from watching those videos :clown:. I've already heard that Java has decreased in popularity and I couldn't care less. I love Java and I will go down with it if I have to. &lt;/p&gt;

&lt;p&gt;It's also the most wonderful time of the year. Hope everyone is a Happy Merry Christmas ⛄. As always, stay safe, wash your hands and Happy Coding! 💻&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>100daysofcode</category>
      <category>merrychristmas</category>
    </item>
  </channel>
</rss>
