Posts

Risks of Facial Recognition in Gaming

Image
Facial recognition in gaming offers several benefits; the biggest among them is fighting gaming addiction. Thus, when the Chinese government decided to fight the menace of gaming addiction, NetEase and Tencent deployed facial recognition technology to help the campaign. Tencent was the first company to introduce facial recognition with its popular mobile game Honor of Kings ( more details about the game ) and later followed suit with the release of Peacekeeper Elite ( reference ). The anti-addiction system was geared towards limiting the playing time of minors as it is used to verify the identities of players. IDs are cross-referenced with the public security databases. If it’s found that a minor is using an adult’s account to bypass the checks, they will have to go through facial recognition for verification. Suspicious payments or financial transactions will also have to undergo facial recognition for completion.  Tencent claims that privacy protection is their highest priority a...

Privacy and Personal Data

Image
  Data privacy or information privacy is a branch of data security concerned with the proper handling of data – consent, notice, and regulatory obligations. More specifically, practical data privacy concerns often revolve around how the data is being shared with third parties and the legality of its collection and storage. The world runs on transactions. Buying and selling. What's more important than introducing your product in a new market to try and gather customers? Introducing your product in a new market with guaranteed customers. And how are these customers guaranteed? Big Data.  When you shop at Amazon, do you ever see a "customers like you also bought ...."? The item being introduced to you have a higher chance of being sold than to a random customer. It's very simple in how it works, but extremely effective. Look at it this way: A company "X" does not have any information on its customers and their interests. In contrast, a company "Y" has...

Cryptography and Quantum Computing

Image
  Quantum mechanics: A term used heavily in pop culture to represent extremely complicated and state-of-the-art technology.  “Quantum computing” is computation performed using a computing device based on the strange, counter-intuitive physical properties of matter at a very small scale, known as quantum mechanics.  Unlike a traditional computer-based on transistors that work with data in binary digits (or “bits”) that can only be a “1” or a “0”, a quantum computer uses bits where a single qubit is able to encode itself as more than two states. The actual science behind it is too complicated for me to get into or even understand fully myself. The technology is starting to get more and more used in cryptography.  “Quantum cryptography” is the science of exploiting quantum mechanical properties to perform cryptographic tasks. A prime example of this is “quantum key distribution”, which enables a secret cryptographic key to be shared between two remote parties such that ...

"Our application is End-to-End encrypted, What goes on in the middle is not our problem".

Image
  In 2003, Two years after 9/11, National Security Agency (NSA) reached out to American Telephone And Telegraph (AT&T) company and said "Hey! So we were thinking, it'd be real nice if you can let us listen in on a few phone calls and monitor some internet activity - you know, for national security and all." AT&T replied "Hmm - you make a very convincing argument, well, how much of it are you planning to monitor?" NSA replied back: "We did our research and conducted investigations, according to us, monitoring 100% of online and on-phone activity inside and outside of US will make us feel much better!" AT&T shook hands. Enter: Room 641A. Or actually don't - it's not safe. Room 641A was one of the most secretive telecommunication interception facility commencing operations in 2003 as part of the warrantless surveillance program, authorized by the Patriot Act. It was largely kept secret until the Electronic Frontier Foundation (EFF) fil...

Machines and us

Image
In 2000, William Nelson Joy (Bill Joy) wrote in "Wired" :  Eventually a stage may be reached at which the decisions necessary to keep the system running will be so complex that human beings will be incapable of making them intelligently. At that stage the machines will be in effective control. People won't be able to just turn the machines off, because they will be so dependent on them that turning them off would amount to suicide. Bill Joy was an internet and computer pioneer. Joy's predictions were very ahead of its time. This article was written 21 years ago. We have effectively reached a point in just two decades where we are now completely and utterly dependable on one of the many man-made machines: The internet. Even though the mechanism required to "start" or "stop" the Internet isn't technically as complex as just cutting a wire maybe but the economy as a whole is so dependent on the infrastructure that shutting down the internet is ess...

You can now press a button to escape the constitution!

Image
  That’s right, you can now press a button to escape the constitution of the United States. Well, more accurately, you can now press a button on your phone to escape a fourth and fifth amendment loophole that allows courts to rule against you when it comes to unlocking your phone using biometrics. Yes, it’s that simple. Phones, buttons, biometrics, passwords, constitution, a crazy mix of things. Yet another example of how technology is outpacing the law. For the purposes of this blog article, we will only be taking United States law into consideration. The fourth and fifth amendment to the constitution currently protects your phone’s password from being used against you in legal matters. It falls under laws protecting you from self-incrimination since once you unlock your phone and evidence against you pops up in that phone, you would have self-incriminate yourself and therefore you are protected by the constitution to not give up the password. Like many other things, biometric...

Beyond the Binary

Image
 Computers have been making decisions in binary for as long as they have existed. Zeros and ones are responsible for all the technological advancements made prior to and in the Informage Age. As automatic vehicles now take on the roads, old moral dilemmas are resurfacing as well and are being incorporated into important decision-making processes.  The Trolley Problem: Let's talk about the trolley problem. With its first variations originating in 1905, the problem has been a centerpiece of moral philosophical discussions. You might have come across it in one of your high school or college courses especially if you're into philosophy. If you haven't or are not familiar with the trolley problem, it goes as follows:  You're standing next to a lever that controls an oncoming trolley. This trolley, if not interfered with, will keep going on its track and run over five people tied to its track. If you pull the lever and interfere with the trolley's natural pathway, you wil...

Monsters and Google

Image
      Look, i am all for playing our part to make this world a utopia. Why not? We live in it - our children will live in it (unless Mr. Musk decides to give them a ride to Mars). This is all we have. The question then presents itself: At what cost? Should we strive to make this world a place where every individual is happy, satisfied, and fulfilled, we would have to take that into consideration while making even the smallest of decisions that would seemingly have no effect to the general population.  Drinking Energy Drinks = impeding successful cancer research? Let's say i have a brother and a sister who are solely my responsibility. I am currently completing my masters. A company offered me a job on the condition of me successfully completing my masters and if i get that job, i can provide a decent living for me and my siblings. But for now, i still have to provide my siblings with food and shelter so i take on 5 part time jobs. All of it is getting extremely stres...

Semester Reflection Blog

Image
 Before starting my final year of college as a computer science major, I reached out to a couple senior friends who graduated earlier this year to ask about their senior year experiences as computer science graduates. Most of them expressed gratitude as they got an opportunity to work on a FOSS project with a team of equally competent and eager batch mates. I couldn't agree with these seniors more. This course's design is excellent since it gets us off on a relatively less complicated but firm foundation by having students engage in meaningful discussions. In all honesty, at first, I was a little bummed that we have to read multiple articles before every class. But over time, I started getting more and more interested in these discussions. This was especially because of the interests the whole class showed and the level of engagement in each session. I used to have a strong imposters syndrome when I communicated or worked around professions in computer science but these discuss...

Meritocracy in FOSS

Image
  One of the common traits that FOSS developers and the community in large identify with is a meritocracy. On Ubuntu's website, it mentions: " This is not a democracy, it's a meritocracy." I've only been involved with the FOSS community for about 4 months now but in this time, I have realized that  f or members of the FOSS community, the idea that hard work is rewarded with recognition and the opportunity for more responsibility is deeply rooted. It's the structure they are built on and hold this idea very near and dear to their hearts. By looking at other group projects in my class and the feeling i got from their presentations,  In particular, project founders tend to hold influence regardless of the value of their recent contributions -- or whether they continue to contribute. If you have the money and reputation in the FOSS community, you could find yourself climbing the ranks of the developer community regardless of the scale of your contributions.  Canon...

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...

Make way for GPLV3

  GPLv3 is the new GPLv2 A little more than a decade ago, when GPLv3 was first introduced, a debate sparked between the fans of GPLv2 and GPLv3. Linus Torvald, the inventor of Linux, sided with GPLv2 and wrote several emails and threads on why his choice is justified. Richard Stallman, the founder of the Free Software Foundation, chose GPLv3 as his license of choice between the two. The main reason why Torvald didn't approve of the new and improved version of the GPL license was the overreaching aspects it contained. GPLv2 allowed hardware manufacturers to embed a signature key in their chips which would be needed to run free software on a machine. This specific signature key however limited the flexibility of the developer community since they couldn't update or modify the code and run it on the same machine. This limitation set forth by hardware manufacturers was likened by Linus and his followers. GPLv3 tackled this constraint by including an anti-tivoization clause in the l...

History of Version Control in Programming

The First Version Control Systems The first version control system was created in 1972 by Bell Labs where Unix was developed. This alpha version control was named "SCCS - Source code control system" and was only available for Unix and only worked with source code files. After a decade, in 1982, "RCS - Revision control system" was introduced and included cross-platform functionality. However, this version control system was also only for text files. Both of these version control systems worked for a single user and couldn't be used for sharing code. In 1986, a centralized version control system was introduced. This was called the "Concurrent version control - CVS". This was a breakthrough in version control systems because this entry had a central repository and could be used by multiple developers. It still lacked one key feature of a good version control: keeping track of changes made in directory trees. It instead focused on changes made in individua...

Qualities of a good FOSS project

  When choosing a FOSS project, there are certain qualities one should keep in mind if a set goal is to be achieved within the project. Having a well established healthy community of welcoming developers and users is an important quality to look for in a FOSS project. This helps in creating a group of developers who are willing to help fellow devs. The project should not shy away from releasing alpha or beta versions with all the bugs outlined clearly. The developers should be open and honest about the status of the project. It's Important to us because, in order to make the project worthwhile, we have to establish a strong community around it based on honest feedback. If we inflate the dev cycle, we risk losing a lot of users. Priorities should be set and implemented according to how important a development phase is. For example, making the project easier to run despite it being a tedious task could attract developers who are trying new things and want to run their test code....

Free Software? Open Source Software? A concise explanation.

Free Software came into being when Richard Stallman started his free-software movement in 1983. This is also when he launched his GNU project, a household name for aspiring Computer Science enthusiasts and professionals alike. As the world was slowly shifting towards a globally connected network of data points, politics found its way in this new world order. Many internet freedom fighters stood up for the rights of the "common man" using a software. And thus the notion of 'free' software sprout. Just to clarify, Free Software doesn't necessarily mean that it is free of cost (although one wouldn't be completely wrong to make that assumption since the software is free to redistribute for no cost), it essentially means that the computer users have the freedom to cooperate with whom they choose, and to control the software they use. The four essential freedoms that comes with the free software license are:  Freedom 0: The freedom to  run  the program for any purp...