Subscribe to our Newsletter

Explore Blog

Recent Posts

hero_section

How to get started with blogging in 2023

June 20, 2023

Let's get started

On many blogs, the person reading the posts can leave comments, which are notes in which a person says what they think about the blog post. This makes blogs good for discussion — if someone writes something that someone else does not believe to be true, someone else can fix it by writing a comment on that blog or their own blog. Someone else cannot change what the post says, but the writer of the post can. Not all blog posts need to be talked about or fixed. But if there are a lot of people interested in a topic, they can start a discussion on the original blog, on their own blogs, or both. These people can discuss a topic or their point of view. Very often, a community blog or group blog will shrink into a small group of bloggers (writers) who know and trust each other, called a creative network. That kind of community blog will also have a larger group of people, a social network, who only read (and maybe comment on) the blog. Some blogs have scoring (ranking) of posts that makes these networks more solid so that postings that people like the most are shown first or in a way that is easier to find. Often people have their own blog and make an RSS feed to it. When blogs have RSS feeds, other programs, called content aggregators, can put postings from all the blogs that a person likes in one place. Many people find it easier to read all the new posts from blogs they like in one place, through RSS, instead of going to each site one at a time. Some experts think that community blogs, and some groups of individual (one-person) blogs that talk about similar topics, have a power structure like that inside a political party. These experts think that a clique (a small, exclusive group of people) will control discussions by choosing when someone has "won" an argument, and when a matter is decided. But an advantage of blogs is that even people outside that clique can comment on the original discussion.

21 min read

hero_section

Best practices to use in your TypeScript application

December 28, 2022

Congratulations on choosing TypeScript as one of your first languages — you’re already making good decisions!

You’ve probably already heard that TypeScript is a “flavor” or “variant” of JavaScript. The relationship between TypeScript (TS) and JavaScript (JS) is rather unique among modern programming languages, so learning more about this relationship will help you understand how TypeScript adds to JavaScript.



What is JavaScript? A Brief History

JavaScript (also known as ECMAScript) started its life as a simple scripting language for browsers. At the time it was invented, it was expected to be used for short snippets of code embedded in a web page — writing more than a few dozen lines of code would have been somewhat unusual. Due to this, early web browsers executed such code pretty slowly. Over time, though, JS became more and more popular, and web developers started using it to create interactive experiences.

Web browser developers responded to this increased JS usage by optimizing their execution engines (dynamic compilation) and extending what could be done with it (adding APIs), which in turn made web developers use it even more. On modern websites, your browser is frequently running applications that span hundreds of thousands of lines of code. This is long and gradual growth of “the web”, starting as a simple network of static pages, and evolving into a platform for rich applications of all kinds.

More than this, JS has become popular enough to be used outside the context of browsers, such as implementing JS servers using node.js. The “run anywhere” nature of JS makes it an attractive choice for cross-platform development. There are many developers these days that use only JavaScript to program their entire stack!

To summarize, we have a language that was designed for quick uses and then grew to a full-fledged tool to write applications with millions of lines. Every language has its own quirks — oddities and surprises, and JavaScript’s humble beginning makes it have many of these. Some examples:

21 min read

hero_section

How to analyze the time complexity of a problem?

December 25, 2022

Time complexity is a measure of how long an algorithm takes to run as a function of the size of the input. It's a way to compare the efficiency of different algorithms and to predict how well an algorithm will scale as the size of the input increases.

There are two common ways to express time complexity: as a big O notation, which gives an upper bound on the running time, and as a theta notation, which gives a tight bound on the running time.

For example, if an algorithm has a time complexity of O(n), it means that the running time will increase linearly with the size of the input. An algorithm with a time complexity of O(n^2) will have a running time that increases by the square of the size of the input. An algorithm with a time complexity of O(log n) will have a running time that increases logarithmically with the size of the input.

Time complexity is an important consideration when designing and analyzing algorithms, because it can have a big impact on the performance of a program. In general, algorithms with lower time complexities are preferred, because they will run faster and scale better as the size of the input increases.

21 min read