Articles
The process you must follow learning to program
Here is a description of how a beginner programmer must learn how to program.
Checking and notifiying subscribers of unused EIPs using Lambda and Node.js
Often when experimenting along with AWS, you spin up EC2 instances that you may use. More often than not restarting those instances results in IP changes, so you attach an Elastic IP address which is an IPv4. Thus is a scarce resource and for this reason, if not used, will result in an hourly charge. I made a small job to notify of unused EIPs daily
SQL: The absolute basics of the language
It has been alive since the 1970s. It is used all throughout the software spectrum from banks to social media to small blogs. It is a standard that is adopted by relational database management systems (RDBMS).
SQL: Primary keys through to foreign ones then joining tables
This lesson will delve into the concept of primary and foreign keys then ending up joining them to utilize the full power of relationships in an RDBMS engine that is utilized by most popular websites.
SQL: Functions and Conditionals
As SQL is a declarative language when you start learning it, when you advance you notice you need the use of a vocabulary that allows more freedom. The benefits of functions are huge in programming. Along with conditionals, all types of programs can be made.
The template design pattern
Design patterns are not how to implement things for the better. They are a concept of how to structure for the better. This article will cover the template design pattern and implement it using C# along with a real life scenario at the end.
SQL: Loops through Constraints ending up in Views
Software is simply the use of the same of the same things over and over again for the better or worse. This article covers some of the powerful constructs that are always of use in SQL.
SQL: From stored procedures to triggers
Software is simply the use of the same of the same things over and over again for the better or worse. This article covers some of the powerful constructs that are always of use in SQL.
SQL: Indexes
Software is simply the use of the same of the same things over and over again for the better or worse. This article covers some of the powerful constructs that are always of use in SQL.
Writing A Node.js tool to bookkeep my software engineering job applications
Applying for software engineering jobs needs some bookkeeping and that bookkeeping takes time over a lot of repeatable mouse clicking hence I decided to make a tool to spare me some more time utilized better else where.
C# Extension methods
More often that not you end up wanting to extend a code you have no control over, maybe from another library. Extension methods can have that made possible.
Infrastructure as Code (IaC): Resource Provisioning with AWS Cloudformation
Such an extremely important topic in today's cloud economy. Infrastructure as Code eliminates a ton of manual labor when it comes to provisioning environments.
Amazon DynamoDB: A Crash Course
A key-value pair and document store which is very helpful in a lot of NoSQL applications.
Uploading and Downloading files in HTML on an ASP.Net Server
HTTP is such a powerful protocol that it powers the web, all the sites you know and love. This article will show an overview of uploading and downloading a file and will not delve into details on anything. It is just an illustration of the process.
C# and .NET: 4 features you can find useful
Knowing C# is not just the basic if/else for/while statements but going into what defines C# as a language as well as it's part of .NET. Starting from viewing internal members from elsewhere to some Enum features and ending in null coalescing operators which reduce the amount of code we need.
Implementing a Dictionary API using real-world best practices using C#
Today I am seeking the dictionary to consume an API I came across. Using .NET 5 and C#, will design an abstraction layer on top of consuming the API. Here the code can be followed If you are using other statically typed languages. Will learn how to abstract the response and how to design that abstraction.
REST and GRAPHQL
REST and GRAPHQL
Current Weather Feeding Messenger: Using AWS Lambda and Node.js
In this article will create your friendly SMS weather messenger. Using AWS EventBridge to invoke AWS Lambda then pushing to AWS SNS all the way to your phone number.
Topic Books and Reviews Aggregator: using C# and Google's Books and YouTube APIs
Riding through API calls to an end product is a really interesting process. In this article will delve into creating a top 10 books aggregator on books along with their YouTube reviews on a given topic all into a JSON file. Will be using Google Books API and YouTube API in C# to accomplish the ride.
4 More C# Features you didn't know about
There are plenty of features pumping out each new version. This article will discover how operator overloading to implicit constructor conversions to discards and top level programs are done.
Writing a Minutes to Read Counter: using HTML and Javascript
Ever wondered how `x mins to read work` is done, don't worry. In this article will learn how to code a script that does that in Javascript and discuss some often overlooked things regarding this.
Topic Books and Reviews Aggregator: using React and ASP.NET Core consuming Google APIs
More often than not consuming public APIs results in plenty of help and time saving. Here I am using the YouTube Data and Google Books APIs to fetch books on a topic I search using the frontend in React along with their book reviews on YouTube. It is a follow up to an article I wrote but here is the human friendly edition.
Writing a Denial of Service application: using React
The best way to learn how to defend against an attack is to know how to attack. Here will be writing a DOS attacker on the browser using React. Use it at your own risk.
Dotfiles: an overview and application of .bashrc
Programmers deal with complex systems, people start to lose track of which commands they or what environment variables were/are configured. A .bashrc file holds Bash configurations and in this tutorial will see how dotfiles as a concept can be very helpful for customization and configuration.
Practical Git: Branches
All Git is made to help you. Getting to know Git is really important, it eliminates nightmares of copying code around while it does it for you so seamlessly.
Practical Git: Manipulating branches
Do you mess up sometimes? Not to worry, Git got you covered, whether you committed in the wrong branch or need to delete something for the time being from Production.
Open Graph: Preview Web Pages
Did you ever wonder how posting a link on your social media app got a preview card rendered? not to worry, he will discuss how you do just that, it is an easy thing to tackle.
Creating your own cloud with Retool and AWS S3
Creating your own cloud has never been easier, now you can use S3 and Retool to create one.
Dealing with deletes
Do you ever soft delete data? Do you always hard delete it? Why? Explore when and why you might want to hard/soft delete the piece of data in a transactional data store.
How to Approach Debugging Bugs
Debugging can be cumbersome sometimes, here is a quick list of steps to follow when solving bugs.
Reducing unnecessary React re-renders
Have you wondered how to gain quick wins reducing React re-renders that can make your pages less laggy allowing for more user engagement? this article covers ways to do that.
Thoughts for Pull Requests Authors
Here's some thoughts on how to structure PRs and how to communicate your intent of code change clearly.
Thoughts for Pull Requests Reviewers
Here is what I think when reviewing code. This covers aspects from how to review, how to comment and how to influence keeping a healthy PR review cycle.
Book Recommendation: A Philosophy Of Software Design
A lot goes on when designing good software, things like complexity, interfacability and documentation are all considerations to think about and compromise on when planning and writing software. This articles presents my takeaways of the book that I think are relevant for a lot of engineers.
Problem Breakdown: Contact Us page
Breaking down problems is a great practice to solving problems in general. The more we breakdown the more clear we're about the engineering requirements to achieve a solution.
Problem Breakdown: Enquiry Support System
Breaking down problems is a great practice to solving problems in general. This article breaks down the expansion of a simple project for use by internal stakeholders exploring what considerations one needs to think about and address.
Why Breakdown Problems?
Learn what makes breakdown of software engineering problems useful and required. It influences how we design, develop and deliver software.
Why Write Unit Tests
Discover why unit tests are important in the world of software engineering. Various reasons are presented towards adopting unit tests and how to think of them in your code.
Software Engineering Abstraction
What are abstractions? why even care? how to utilise them in software engineering.
Monorepo vs Polyrepo codebases
Discover reasons for and/or against monorepos and polyrepos. Understand that each with each approach there are tradeoffs that you need to consider.