Selftaught.js

Semantic HTML and why you should care

If you're not already super familiar with the semantic features of HTML5, they are probably one of the easiest things you could pick up right now that will immediately have a significant impact on the way you write code. Avoiding tags such as <div> and <span> and instead using more meaningful semantic alternatives will make your code more readable, your websites more accessible and even improve your ranking in Search Engines. In short, there is no reason not to do it, especially because it's…read more »

Algorithm Sundays: Encrypting and Decrypting the Vigenère Cipher

We're back for another Algorithm Challenge. Today we will be looking at a cipher that was considered to be unbreakable for over three centuries. It was only in the middle of the 19th century, that the code breakers finally caught up with this ingenious method of encryption. The Vigenère Cipher originated at a time when cryptography was flourishing. Encrypting sensitive messages had not only become an important part of military and diplomatic communication but found its way into private…read more »

Building Custom Javascript Dropdown Menus

It's quite amazing to see how much time can speed up if you're thrown into a new environment. One month ago, I moved from Hamburg to Amsterdam. After putting my life into boxes, finding time for selftaughtjs has been challenging. Finding a place to live as well as a reliable internet connection have been higher up on my list of priorities. Now that things have calmed down a little, I'm finally able to continue this blog with more frequent updates. I got the idea for this post while working on a…read more »

Javascript 101: Combining Javascript, HTML and CSS

After having learned the basics of Javascript, we can now move to the really exciting part: Modifying the HTML content of our websites by using Javascript. When speaking about the HTML content of our website, one term you will necessarily come across is the DOM. DOM is short for Document Object Model. It basically describes the structure of your website. HTML is only a markup language that we use to create the Document Object. Consequently, the correct term for modifying our HTML content with…read more »

Algorithm Sundays: Fibonacci Number Sequence and Recursive Functions

Welcome back to our weekly algorithm challenge. After having previously discussed Roman Numerals and the Caesar Cipher, today's post will travel even further back in time. The first occurrences of Fibonacci numbers were found in Indian mathematic transcripts in 700AD. However, their first appearance in the western civilization was much later. It was an Italian mathematician and merchant named Leonardo Bonacci, who introduced the western world to these foreign arithmetics. Consequently, the…read more »

Javascript 101: A Beginner's Guide to Functions

We're back for another round of Javascript 101. This series is aimed at those who are still new to the language. Together, we will explore fundamental topics of Javascript. If this is the first time you stumble upon a post of this series, make sure to have a look at these posts as well: Today, we will be looking at functions. Functions can be described as reusable code patterns. Using them in your programs will reduce they amount of code you have to write. At the same time, they will give your…read more »

Algorithm Sundays: Converting Roman Numerals

Roman numerals were the standard way of writing numbers for over a thousand years in our history. Even after the decline of the Roman Empire, they remained in use for many centuries. Eventually they were replaced by the Arabic numbers that we are still using today. Converting Roman numerals to their more legible decimal counterparts is a beginner-friendly algorithm challenge you will find on many exercise websites. Do you remember how to count to 1000 using Roman numerals? Just in case that it…read more »

Creating Custom Preloaders with CSS animations & keyframes

As Javascript developers, we are often quickly dismissing CSS. It's tempting to let one of the many Javascript frameworks take care of our animations. Yes, CSS is complex, messy and don't even get me started on browser compatibility. Yet, there is no way around dealing with CSS on a daily basis if you're a frontend developer (or aspiring to become one). Unlike many other parts of CSS, animating elements on your website is a pretty straightforward process and not as complicated as you might…read more »

Javascript 101: A Guide to Array Methods in Javscript

After having looked at some of the most important string methods last week, this post will take a closer look at arrays and their Javascript methods. Becoming comfortable with the various methods of data types in Javascript will greatly improve your problem-solving skills. It'll help you to write more readable, concise and performant code for the frontend and backend of your web applications. If you are hearing about arrays as a data type for the first time, you should take a step back and read…read more »

Algorithm Sundays: Decrypting a ROT-13 Caesar Cipher

Is there anything better than starting your Sunday with a steaming hot mug of coffee and an algorithm challenge to get your brain juices flowing? I don't think so. Writing algorithms is a perfect way for you to stay sharp and be prepared for all kinds of challenges life (or your boss) is throwing at you. Please keep in mind that for most problems there are many ways to solve them and it's difficult to decide for a best solution. The one that runs quickest? The one that takes the least lines of…read more »

Javascript 101: A Guide to String Methods in Javascript

This post will explore how you can use string methods in Javascript to solve your everyday web development problems and write better code. If you are just getting started with learning Javascript, you might want to get a quick overview of strings as a data type and how they work in Javascript. I don't want to get into too much details about the textbook definition of a method at this point. For now, all you have to know is that each data type in Javascript has some more or less unique methods…read more »

Javascript 101: Working with Variables

Welcome back for another session of Javascript 101. After having looked at all the different data types in Javascript previously, this post will introduce you to the concept of working with variables in your code. You've most likely already encountered the variable x in several math classes during your time in school. At that time we were looking at simple mathematical equations such as In this case, x would be substituting any value that could make the equation true, for example 5. In…read more »

Javascript 101: Introduction to Datatypes

As promised, this is the first post of a longer Javascript 101 Series. Luckily, as Javascript runs directly in your browser, there are several options for you to write your first lines of javascript without having to install an entire local development environment on your machine. A site that has been extremely helpful for me during my first steps with Javascript has been repl.it. The website allows you to write your code and see the output right next to your code, save shareable links and doesn…read more »

Why You Should Learn Javascript in 2016

When I first told my friends that I set my mind on becoming a web developer, despite studies in a different field and holding a promising job, that certainly raised some eyebrows. By the term web developer somehow all of them were thinking of a guy who sits at home in boxershorts, phones a few local businesses and hopes to build a two-page brochure site. Or maybe even make changes to a Wordpress Theme. “Move this box a bit more to the left, and make that color a brighter shade of green.” This…read more »