A collection of 26 posts
How Special Cases make Software Development harder?
What is a Special Case?In Software Development, we can refer a Special Case as a unique situation in our process that makes us modify our codes or general process just to cover it even though it might overall represent a tiny portion of the codebase. This term is often
How I solve Permission Denial Error: starting intent when running Appium on an Android Emulator?
For QA Automation Engineering, in my team we use BrowserStack for running our tests. It’s straightforward to get started. However, this platform - as a service - is not perfect. It does an excellent job of simplifying both Web and Mobile Automation; but the service is relatively slow and
How making wrong assumptions when debugging can highly decrease your productive time?
How to solve the Create Phone Number kata from CodeWars?
I usually use CodeWars to improve my problem solving skills. I got this challenge a few days back. KataThis is a beginner level of programming, good for people who are learning to code. For me, the reason for doing this kind of exercises is to keep my logic problem solving
Why using Database Ids is not recommended for filtering data in our codes
Database Ids are used for internal purposes by the database as primary key, foreign key, and/or indexing. Ideally, we don’t want to display this column in our applications. As a result, we use models to map the relevant data. For example, a student table might contain: Id, studentCode,
How using Read Aloud or Narrator on StackOverflow may help you?
For us Software Developers, researching on technical QA sites like StackOverflow is something we do almost daily, irrespective of our years of experience. Sometimes, the answer you're seeking lies just in front. Other times, you need to endless try every solution and what's recommended in the comments to achieve your
How to view the contents of another Git Branch without checking out?
Problem Statement Right now, I am adding unit tests to a project based on Angular. As we are working in an Agile mode, the user stories, designs and tasks will often change. Therefore, we try to break components into smaller yet manageable ones. By doing so, we focus on writing
How to search for another value in the same property in a schema with MongoDB?
Scenario As an admin, the person should know - when looking at a customer details - if the latter already has an existing account or not. Depending on the case, a button should be displayed with the respective message - create new account or reset password for existing account. However,
How I experiment with codes and libraries using Git Stash?
Software Development and problem solving in general requires a lot of trial and error. For programming, versioning tools such Git helps experiment different strategies without losing work. Whenever I focus on a problem, within reasonable time constraint, I try coding different solutions even if I will finally choose only one.
How I am using Winston to implement file logging in a NodeJS application?
Winston is a NodeJS library for logging data on the server. You can either log data on the console or on files. Why use a Logger?When we are developing codes or debugging an error, it's much easier if we have a stack trace rather than guessing. Nonetheless, most code
Why a Design Language is important for Software Development Organisations?
What is Design Language?A design language can be a set of visual components and/or ways of solving problems in a particular domain. For software development, it can be a group of UI elements in the frontend. For the backend, it can be a well defined process or list
Lessons Learnt from Unit Testing with Mocha, Chai and Sinon
In this post, I share my top lessons learnt writing unit tests with Mocha, Chai and Sinon. Mocha is a test runner, Chai is an Expectation library and Sinon helps with test doubles such as stubs and mocks. A more popular alternative nowadays is Jest, which is easier and simpler
How to improve your logic skills with CodeWars?
Here is how I use CodeWars to improve my logic skills. Code WarI first make sure not to interfere with my day to day programming job, which remains of the highest priority. Learning something new usually takes plenty of cognitive effort, leaving less focus for doing other work. Improving your
Why is the easiest solution often enough when solving a problem?
Working on an in house eCommerce application - that enables potential customers to buy products online - I am assigned a task whereby the date for a column is always two hours early, albeit only for a specific flow. If the same column value is used elsewhere, there is no
How to create magic links quickly and effortlessly with NodeJS
What are Magic Links?Magic links also known as temporary links are links that enable one time action through SMS or email without logging into the actual system through traditional means. PurposeYou can use magic or temporary links to: reset a user's passwordone time access to a website or application
How I finally been able to mock Sequelize with NodeJS using Mocha, Chai, Sinon & Sequelize-mock?
Unit TestingUnit testing is important for developing reliable applications. For me, the best benefit is when you modify codes either to remove bugs or to add new features, you already know if something is broken. Obviously doing integration tests is more useful than unit tests as the later abstracts and
How challenging your assumptions will make you a better problem solver and software developer?
Do you often find yourself spending countless of time stuck when programming or debugging? This post provides a simple yet effective tool that you can start using right now to be more productive. If you already know it - this tool can still be a kind reminder.