‹ Gerald's Journal

Tags / Programming


This article was created because of my guy, Collins Ikotun, my vim convert! Also, I use vim btw.

When I started off programming I really had a very wrong perception of a “development environment” or “development setup.” This led to me, eventually wanting to do the most. Effectively creating an amazing workflow to most people with very much reduced productivity. Now, I’ve come to realise that a development setup isn’t necessarily spawning an ultra wide $5,000 monitor. But creating a very productive environment that maximises your experience and gets the best out of your abilities.

The performance of mobile applications is extremely important. Users want a seamless experience with almost no bugs or glitches — to save yourself the violent reviews your mobile app would get on the app stores. Or preferably reduce? Because haters will hate.

JavaScript is arguably a performant language naturally. It’s the pinnacle of all web applications that run on the client. A modern day functioning app cannot exist without shipping JavaScript modules to the client. There are several benchmarking tools to illustrate this.

The “Nigerian Council of Food Science and Technology is a professional body in Nigeria that is focused advancing the field of food science and technology in the country. It serves as an organization for professionals, researchers, educators, and practitioners who are involved in various aspects of food science and technology.

They have a portal that is used by the adminstrative team at Nicfost. The client side is written entirely in JavaScript. I didn’t build the client, it was written by someone else. After all, I have expressed my distate severall on this blog for JavaScript as a bad dynamic programming language for robust projects. I use Typescript instead. The backend is also written in Java, I didn’t write the initial Java backend though - which I wish I did. The refactoring and process wasn’t funny.

Let’s solve the shortest path problem

Today we’re going to be solving the shortest path problem by implementing Dijkstra’s algorithm with some Python. So get a cup of coffee and a neovim buffer opened, it’s going to be a ride.

What is the shortest path problem?

Before we begin, we must first understand what is the shortest path problem. The shortest path problem is a fundamental optimization problem in computer science, speficifically graph theory under discrete mathematics or data structures and algorithms. It involves finding the shortest path or the minimum distance between two nodes (vertices) in a weighted graph. The “shortest path” is defined as the path with the smallest total sum of edge weights or distances. From this, we can tell that we would be working with a non-linear data structure throughout this article, The “graph.”

Neovim is actually overrated. I don’t really understand the buzz with some lua scripted, terminal based editor, which is a Vim rip-off. Which same human being hits “gg” to go to the top of a line, and “ggVG” with case sensitivity in mind to select all content?

Hold up. I got you in the first paragraph, didn’t I? Neovim is a pretty cool Vim based editor that I still can not understand why people may hate on or have misgivings about it.

« Older posts Newer posts »