Image for post
Image for post
Scalability — friend or foe?

Slowly, scalability has snowballed to become an all encompassing behemoth set to eat the software development industry.

Gone are the days where you setup a small Rasberry Pi, open up public access and host your website from your basement — it isn’t scalable enough! No longer can we create simple HTML & CSS pages — if we were to increase the team, simple HTML & CSS gets sloppy. In the wind are the time we choose to use whatever database we feel like —SQLite has a single connection pool, and therefore bottlenecks down the whole system.

2021 will be the…

Image for post
Image for post
Beautiful :)

Typescript is an amazing language — one that allows us to do everything JavaScript can in a tenth of the debugging time. These tips will mostly be for:

  • reducing bugs, by writing more explicit and understandable code
  • pack more value into your code without reinventing the wheel.

If you already know these, then congrats! You’re a TS Legend — maybe share some of your wisdom with me in the comments (and read my other article with 5 seperate tips!).

Here’s 5 advanced TypeScript tips that will allow you to write better TypeScript Code.

1. The “is” operator / Type Guards

Swagger is really, really helpful to see…

Image for post
Image for post

I’ve been lucky enough to experience and work in a lot of different programming paradigms, and have developed a strong set of opinions in every part of the stack.

We’ll be going through the frontend, backend, database, systems, and mobile paradigms.

Knowing the best tech isn’t only good for programmers, though: those that work with people who code (like project managers) or those that are implementing business plans (like entrepreneurs or CEOs) will benefit heavily from knowing the best tech. …

Image for post
Image for post
Loader by Ahmed Emran

When loading up a Single Page Application like React, Vue, or Angular, you’ll spend several seconds staring at a blank, white HTML page. These several seconds are the perfect time for your inner UI/UX to go absolutely crazy — the user doesn’t have to click anything, they just needed to be distracted so that they don’t click away!

I’ve recently taken to building some crazy, over the top loaders here. While it seems pointless, it can add so much life to an app. A fun animation can create an awesome feel for the app without being intrusive at all. …

Image for post
Image for post
What a beautiful footer! If only we could fix it to the bottom of the page…

One of the “big 3” CSS questions is the following:

How do I keep my footer hugging the bottom of the page?

After answering this question on Reddit for the 5th time, I decided that a blog post was necessary. Here’s how.

(Aside: If you’re wondering, the other 2 “big 3" CSS questions are “how do I center elements” and “why aren’t my styles applying”).

tl;dr and full code at bottom.

The Setup

First, we’ll take a look at the setup HTML. Here’s some minimal HTML:

<!DOCTYPE html>
<html lang="en">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> …

Image for post
Image for post
Flutter App Lifecycle — How to tap in

A tl;dr can be found at the bottom of this post.

Most, if not all, apps you use on your phone utilize the app lifecycle for various reasons — maybe you want to show that a user went offline when they close the app, or maybe you want to commit some critical data at the end of the session. App lifecycle is a powerful tool that you should 100% have in your Flutter toolbelt.


Here are some usecases for app lifecycle:

  • Reporting data analytics (time user spent looking at screen, tap count, etc.)
  • Cleaning session data off system
  • Reporting…

Image for post
Image for post

CSS is one of the most hated things about front end development. Often, your styles won’t do what you ask them to do — Here are 5 things that will help relieve your CSS induced headache.

1. STOP Using !important: How CSS Hierarchy Works

CSS hierarchy is something that is really confusing to front end developers, because often it’s overlooked when learning. Generally, styles don’t really conflict… until they do. When they do, developers often throw in a !important at the end of the style. While it often is the solution, it can cause many problems later down the line.

In fact, at my day job, we have…

Image for post
Image for post

Sometimes, state management monopoly is good; in React, there’s really only one or two state management solutions that are seen regularly. As the wild beast that 2020 was draws to a close, there seemed to be a new state management solution every month. Here’s a list of where each solution shines, so you can be confident you picked the best state management solutions for your needs.

The Basics

There are two state management solutions you can use without ever touching your pubspec.yaml file, and sometimes (more times than you’d think!) It’s enough.


Image for post
Image for post
A rusty iterator over element Links… get it?

In JavaScript, performing a filter on a list and then logging every element takes O(2n). In Rust, it takes O(n). Here’s why, and other cool things about Rust iterators.

We often hear that Rust iterators are lazy, but it never really clicked for me what that meant until I had to filter a list in both Rust and JavaScript (technically TypeScript, but still).

In JavaScript, a list filter looks like this:

myList.filter((t) => t !== "Filter me out")

and then to log each element, you’d chain it like this:

myList.filter((t) => t !== "Filter me out").forEach(console.log)

What happens behind the…

Anthony Oleinik

Developer passionate about learning and creating things. Writing to help others learn.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store