Posts

Showing posts from April, 2026

Machine readable code is needed to execute a program

Even so a human can operate with coding task using a preferred programming language, when that code needs to executed by a computer it needs to be transformed from the code that can be easily be understand by a human to the code that a computer can execute.

Differentiation to front-end and back-end programming languages

Many of the programming languages can be split by their use to front-end and back-end programming languages. Back-end programming is usually not visible by others, where front-end programming is. An example of front-end programming is writing a JavaScript code. It is easily accessible by everyone. Example of back-end programming is to create a script that will perform data transformation. Both front-end development and back-end development are important for reliable computerized operations.

Turning an algorithm to a code that a computer can understand

Using a programming language to turn an algorithm to a code that a computer can understand is called programming. There are different types of programming languages, I will not be covering these in this article. A different article is dedicated to programming languages, or you can do your own research.

Computer algorithm

A computer algorithm outlines the steps needed for a computer program to accomplish. It is a good idea to think about steps that a program will do before writing any code. Algorithms can be efficient and not efficient. An example of not efficient algorithm is to perform all of the cycles in a loop to find out which value satisfies a condition, efficient algorithm will exit that loop execution after that value is found.

Replacing laptop’s keyboard

​Replacing laptop’s keyboard is a delicate task, because a keyboard is connected to laptop’s internal base using a flexible wide cable. Damaging that cable may cause inoperability of that laptop’s keyboard. Attention and care needs to be paid when dealing with that cable.

Computer screws

​Computer screws comes at different sizes. When working with a computer please make sure that screws that were used to tie specific equipment goes back to their previous spots. Screws may have same diameter and tread, so they will physically fit the place of being screwed in, however screws may have different length. Longer screws may cause damage to computer components, shorter screws will not provide same level of tightnesses as longer screws.

Electricity safety when working with computer components

​When you are working with computer equipment please make sure that a computer is not just turned off, but completely disconnected from electrical power. This will ensure electrical safety of a person who is working with computer components.

ESD safety

​ESD abbreviation stands for Electrostatic Discharge. It means that small current from human’s body can cause severe damage to computer components. In order to avoid ESD an ESD wrist band needs to be worn by a person who is working with computer components. Other end of ESD band will have a wire with a connector that supposed to be connected to a case of a computer, by doing so voltages between a computer case and a human who is working with computer components will be equalized and ESD will be prevented. Sensitive computer components which are often expensive will be preserved.

Programming languages

​Programming language is a set of well defined instructions that can be used to create a specific functionality. For example a programming language can be used to create a video game. A programming language can be created to create functionality of a self driving car. Programming languages differ by their use and whether they are compiled or interpreted. Compilation process means taking of taking human readable code and turn it to the code that can be easily be used by a computer. For example c++ is a compiled language. Example of interpreted language is Python. There are advantages and disadvantages to both approaches. A compiled code is fast, however it can only be running in one hardware or operating system environment. Interpreted code is slower, because it relies on the interpreter environment to execute the code. For example C is a compiled programming language. Python on other hand is the interpreted programming language. Compiled languages are used where performance of code is ...

Binary

Image
Computers can represent really big numbers, but it all comes down to that they are represented by 0s and 1s. Collection of 0s and 1s is called binary numbering system. Please think of cases, where you have only two choices. For example: true and false, yes and no, numbers 1 and 0.  Numbers 0 and 1 are the smallest numbers that can be represented by a computer. These are called bits. When these 0s and 1s are grouped together, then it is possible to represent more complex information. We are used to decimal numbering system. Decimal numbering system has numbers 0 through 9. However we are not limited by numbers that have range from 0 to 9. We can represent more complex numbers, when we are using just numbers from 0 to 9. Same is true for binary numbers. Binary numbers can represent complex numbers. Number 1 represents on state, and number 0 represents off state. Binary numbers are grouped. With 8 positions, it is possible to have a number as high as 255. With 32 binary numbers, it is...

Different types of software languages

​There are different types of programming languages. A specific programming language needs to be used to create a specific type of the software. Different programming languages exist to develop web sites, desktop and mobile applications.

Software libraries

​Software libraries are the piece of code that is easily consumed by another application and perform specific functions. Using software libraries speedup software development processes, because software developers don’t need to create the code from scratch, but they can rely on the code that was written by someone else. Same is true, when the software is developed. A person who develops it, needs to think what code can be reused. It is a good habit of creating software libraries if such functionality will written again. Instead of writing that code again and again, software libraries can  be used by the code.

Attribution

​Attribution is the process of giving credit to that person who inspired the development.

Getting feedback about the software

​Getting feedback about the software is geared towards Improving that software. Feedback can be from the pears or from the users, if such software is meant to be used publicly. Feedback from the users is collected via alpha and beta testing of the software. It is expected that these are pre-release versions of the software and they may contain errors or bugs. Alpha and beta versions of the software may be time sensitive, meaning such software will only work during specific time period.

Documenting software code

​Documenting software code adds clarity of what that code does and how to use it. Comments can of two types: First type is comments inside the software code. Such comments explain the software logic, so another developer can adjust the code later. Second type are comments included in Readme file. Such comments are geared toward a user of a program and not toward the developer. Comments inside the Readme file explain how such a program needs to be used.

Collaboration

Image
Collaboration is a process of working on the same project by multiple people. Different people may have different skills therefore they can provide better work then others team members. Important features of well collaboration is to set clear expectations of what will be done, focus on individual strength. establish realistic timelines. divide workload equally among the team members, set clear expectations of what each team member is going to do. 

Getting users feedback

Image
Often companies will release alpha and beta versions of the software. These are testing phases of software development process. During alpha and beta testing not final version of the software will be available to the people from public. This is done to involve as many people as many people as possible to test the software.

User-centered design

Image
User-centered design is a process of creating the application considering demands of users. One of the ways to implement user-centered design is to get feedback from users.  There are several aspects what a user needs to focus on: Useability - is it easy to use features of the application. Accessibility - is the application available to majority of people. For example users with poor vision may rely on audible feedback. Well designed application with this feature will support as many people as possible. For example the application will provide bigger font size or audible feedback. Accessibility - can the application be used by as many people as possible? Content - does the application provide well crafted content?

Free image generator

I had found that this one is a good image generator