Posts

Showing posts from November, 2020

FOSS Success Stories: Linux

Image
Linux: Leader of a world without windows and gates.  Let me jumps straight to why Linux is better than all other operating systems in circulation. I mean, Microsoft, one of the biggest advocates against open-source in the 70's, acquired Github which hosts over 140,000,000 open source projects today. What caused this turnaround? Why do i think Linux tops all other operating systems? Here are a few reasons: With just a few exceptions, there are no license keys to buy, and no specific hardware requirements to use a Linux operating system. It is as free as they come.  Thousands of developers from all over the world are actively working to improve Linux. Thousands of lines of code are added every day.  Helps the world economy. As stated on its website, $16B worth of software product out there is free because of the Linux foundation.  Linux uses software packages which automate all installation and uninstallation process. No more hunting around the web looking for the corr...

A brief history of Open-Source. Why is it important?

Image
 Much of the software code that powers some of the biggest companies in this world is open to the public. Anyone can download the source code behind Facebook's user interface, Google android's operating system, or even the Goldman Sachs data modeling program. Developers can use this available code as a building block for an entirely new project. Open-source developers can collaborate and help each other walk through the process of developing software and in this collaborative work, they form groups, organizations, code pods, and families. This network of developers get together and produce open-source software for free of charge. These are volunteer developers who are not promised any monetary compensation for their work. Fierce commercial rivals, tech giants, all contribute to the open-source community without signing anything.  The open-source software model hasn't always been around. When the internet was first rising to fame, proprietary software was popular. Bill Gates...

Software Processes: Developer versus Engineer

Image
  There's no one standard definition that applies to a software developer, engineer, coder, or scientist. They could be used as titles at a company but could eventually lead to the same position.  Coder:  Generally, a coder would be someone who is starting out in the software development industry and is perhaps new to programming. A coder is an absolute beginner in the world of software development who has some experience coding and might have passed through a couple coding courses. They generally do not have a lot of real-world code experience. A coder can also be substituted by the title "Junior programmer". Coders are not involved in the design process and are typically assigned specific coding jobs. They work under a set scope of responsibilities.  Software Developer:  A software developer or a computer programmer is a more advanced position in software development. These are people with more experience in the field. Typically job postings alternate between ...

OpenMRS uses Unit testing. Why is it important and why should we learn it?

Image
Before talking about unit testing and why it is preferred by large and open-source organizations like OpenMRS, let me introduce "code testing" to those without a background in code development.  Much like field testing a vehicle before launching it to the consumers, or testing a vaccine before releasing it to the public, a code needs to be tested thoroughly before it is deployed and shared with clients. How thorough? As thorough as it can be. It is very important to test every possible case and every code block. All accepted input types should be tested and their outputs respectively. It is crucial for the longevity of the code and the developer producing it, to test their code before releasing it. It prevents any future recalls and resource allocation for fixing something that should have been caught in a testing phase.  In the old days of programming, manual testing was one of the only options available. Even though it is still used by many, it is not wise to manually test ...

"We'll make you a software that will last a lifetime!" - said every brittle code developer, ever.

Image
 Y2K. Ring any bells? Apparently, the world was coming to an end 2 years after i was born. It was a hippie's worst night mare, technology had took over the world and was supposedly going to bring it to its knees in once the timer runs out on the clocks in 1999. So what was Y2K?  Instead of allowing four digits for the year, many computer programs only allowed two digits (e.g., 99 instead of 1999). As a result, there was immense panic that computers would be unable to operate when the date descended from "99" to "00". Year 2 thousand, or Y2K, was not going to be documented properly in computers since the dates on computers were recorded in two digits. Many companies including AT&T estimated that more than 50% of their financial and labor resources would have to be spent to fix all the code when the year turns. Why wasn't this addressed earlier? Why were the dates recorded in 2 digits only? Brittle code.  Brittle code is when older software appears reliabl...

When a code rot can be the difference between life and death.

Image
 In 2018, a 9-year-old girl who had type-1 diabetes her entire life was being misled by her trusty medical applications on her smartphone. If these misleadings were not investigated by her father, Jeremy Vaughn,  she could have faced critical and fatal medical consequences.  Her medical check-up app with a continuous glucose monitor (CGM) failed.  “Features were disappearing, critical alerts weren’t working, and notifications just stopped,” he stated. As a result, his nine-year-old daughter, who relied and lived her whole life on the CGM alerts, had to live on instincts.  These apps were downloaded by Jeremy in 2016 for his daughter but by 2018, despite regular updates, these apps were now outdated and almost non-functioning. Jeremy checked the reviews on these apps and several patients had complained about malfunctioning apps and how they directly affected their health in a critical way. All this was due to the rotting code in these applications. They were regu...