Posts

Showing posts from November, 2025

Types of file systems

There are also system files. These files there need to be properly protected from accidental deletion by a novice user. More experienced user needs to know that system files are critical files, and these need not be deleted. There are different types of file systems that help to manage files on disks. These are NTFS for Windows systems, HFS (letter H in this word stands for Hierarchical) for Mac OS, new Mac computers use Apple File System (APFS). Linux OS has many file system types. I will not be listing all of them, I will only specify a few popular choices. These are EXT4, XFS, Btrfs. YouTube video

Main activities of an operating system

It is possible to outline four main activities for which an operating system will be responsible for. These are: File and disk management. An operating system needs to organize data in a disk in a way that it is easily accessible. At the same time this data needs to be properly secured, so that only those users that need, can access the data. Process management. An operating system need to allow for reliable process management. It should be able to manage applications and services. Memory management. System's memory need to be properly allocated for programs and data files. Device management. An operating system needs to make device available for use. For example a sound card need to be useable, it needs to make system sounds when needed, and allow a user to manage the sounds. YouTube video

Main types of operating systems for desktop systems

There are three main types of operating systems that majority people are using for their desktop systems. These are Windows OS, Apple OS, various flavors of Linux. Less popular operating systems are Free BSD and Open BSD. YouTube video

Computer's basic data types

Common simple data types in programming are: Boolean, integer, long, float, double, char and string. Each one of these data types will use specific amount of operating system memory in a computer. Boolean data type contains values of True or False, 1 or 0. It takes only one byte. One byte is one of the smallest amount of memory, it consist of 8 bits, representing sequence of 0s and 1s. integer data type represent whole negative and positive numbers, long data type is another data type that represents whole numbers, but the range of long data type is larger than range of integer data type. Float and double a data types that represent numbers with floating point, precision of double data type is greater than precision of float data type. Car data type will only hold a single character. String data type is a collection of characters. Each data type represent different amount of memory that can be allocated, depending on their byte size. I had listed here basic data types, more complex dat...

Rubber duck debugging

Rubber duck debugging is a debugging technique to say out loud things which are needed to be performed. By saying things out loud it helps to find issues in the code that can be missed by just looking at the code. YouTube video

Debugging tools

One of the most simple debugging techniques is to print out information from the code using print function to screen. More advanced techniques will include this output to a log file, by doing so the output in the screen will not be polluted by the debug output, but all the debug output will go the a log file. Making debug output going to a log file is a good programming technique. Debugging will slow down execution of this program, so before this program is released to production, most if not all debugging code needs to be removed. Debugging code is mostly for software developers to troubleshoot potential issues. More advanced debugging can be done with debugging tools. Debugging software allows line by line execution of the code, and it possible to set breakpoints, or points where the execution of the code will be paused, so line by line execution of the code can be performed. Debugging tools will also show variable values. In debugging tools it is possible to execute the rest of the ...

Debugging

Debugging is a process of finding issues in the code. Computer code can be very complex and debugging can be a very tedious process. With experience a person makes less mistakes, if time had passed by, but this person still writes buggy code, than something is wrong. Term "bug" or computer bug was originated, when actual bug was found in one of the early computers, that was causing incorrect computing operations. YouTube video

Decompiling code

Decompiling code is an opposite process to compiling code, however by doing decompiling variable names and function names will be lost. Without having proper names it will be difficult to understand what that code does. YouTube video

Four steps in compiling code

When source code is compiled into machine code it goes though four steps. These steps are:  Preprocessing - preprocessing in coding means to add dependencies to your code. The code that is written may rely on functionality that is available in some other code. Of course it is possible to write that code by yourself, but it will be inefficient than to use code that had been already written. It is likely that this code had been already well tested by others and don't contain many errors. Preprocessing means to use that library. Preprocessing step does not include code to your code, but simply points that this library is needed. Compiling - is the next step in the process of compiling source, this code is not yet transformed into machine code, but it is transformed to instructions that this machine can understand. This code looks like assembly code, or low level programming instructions. Before high level programming languages were developed, people used to make computer programs in t...

Intermediate environment

Intermediate code requires a use of additional software to be executed. Advantage of doing so, is that additional software will abstract use of that operating system specific functions, so that the code that had been written will not be specific to just one platform. Example of intermediate library is .NET. Even so the code that will be executed within .NET environment will not be as efficient as code that had been written specifically for that environment, however it will be abstracted enough, that operating system specific functionality will be replaced with executing methods within that environment. That environment will be responsible to use that operating system specific methods in order to perform desired functionality.

Compiled code

Compiled code is the code that had been transformed in machine readable format. Operating system in that machine will dictate what format of executable code needs to be. Different operating systems will have a different format of executable code, for example it is not possible to take an executable code that was compiled for Windows and run it it Apple OS because that binary will not be compatible with that system.

Computer exceptions

Computer code exceptions happen when an invalid operation is performed. For example division by 0 is done, or opening of non-existing file is performed. Typically these type of errors will cause an application to crash and exit the execution of the code that follows the line where that exception occurred. To handle exceptions it is possible to wrap the code, where an exception is expected to occur in exception handling block. In Python programming language it is try and except block. If exception occurs in try block than there are chances that it will be handled by the except block. I am saying that there are chances, because exceptions can be of different types, and it depends what type of exceptions are handled by the application. It is also possible to specify default exception handling. Default exception handling will handle all error types. YouTube video

Analog to digital and the other way around

Analog signal is a continuous signal. I am going to use an example of voice for this example. Voice of a singer in a concert is an analog voice, but MP3 file with the same song is in digital format. Analog signal in this example a voice, is a continuous change of the data. Digital form of the same song is transforming analog signal to data that can be easily stored by a computer. Higher the number or the bitrate, better the quality of that recording is going to be. The same principal applies to video as well. It is impossible to perform this operation in opposite way, take digital format and convert it to analog, because digital format has less information than analog. Example of data in analog format are vinyl disks. Music quality there is much better than in CDs, or MP3s but vinyl disks are less portable. YouTube video

Integer overflow

Integer overflow happens when a decimal number is larger than a binary number can represent. For example 255 is represented by eight ones. If a larger number than 255 needs to be represented, then more binary places are needed. If a decimal number will is larger than a binary number can support, than value of a decimal number higher than a binary number can support will be lost. Where does it happen in practice? 32 bit systems had a limitation of about 4 billion. 4 Gigabytes of operating memory was the highest number than can be addressed by these systems. Going over 4 Gigabytes required use of more than 32 bits. That is where 64 bit processor came in action. 64 bit processors can overcome the limit of 4 gigabytes of RAM and have a much larger number of it. YouTube video

Patterns in binary numbers

There are patterns in binary numbers. Each odd number will be represented by a binary number that ends with one, and the opposite is true too, an even number will be represented in binary format by a number that ends with 0.

Converting a decimal number to binary format

Converting a decimal number to binary format involves calculation of power of two in sequential order and subtracting that value from original number, For example, if a decimal number 47 needs to be converted to binary format, then first it is necessary to list powers of two. These will be 64, 32, 16, 8, 4, 2, 1. I use small number therefore I did not use the full 8 bits for a binary number, First we need to compare power of 2 in the first position with the original number. In our case 64 will be compared with 47. 64 is larger then 47, therefore 0 will be in that place, and we can move to the next position. Next position is 32. 32 can fit into 47, therefore we will put one in that place. Next step is to subtract 32 from 47. Difference of these 2 numbers is going to be 15. We will continue doing this operation until the resulting number is going to be equal to 0. If the resulting number will become 0 before the end of binary sequence, then we can assign 0s to the rest of the positions. ...

Computer hardware and software

​Computer hardware are physical parts of a computer, computer software are the files in the computer.

Finding a string in the output

​Finding a specific string in the output can be done using grep and egrep commands. grep command will search for a specific string, egrep will perform regular expressions match. These commands often combined with cat command to see if specific text exists in that file.

Outputting last few lines of a file in Linux

​Similar to head functionality can be achieved with tail command. It will output last ten lines of that file by default, however number of lines to be displayed can be changed to a different value. It is possible to specify -f option to monitor that file for changes and output those changes to the screen.

Outputting beginning of a file in Linux

​Beginning of a file can be output to standard output using head command. By default this command will only output first ten lines of a file, however this behavior can be overridden by specifying -n option with a numerical value that follows it to specify number of lines that need to be outputted using head command.

Removing a directory in Linux

​Removing a directory in Linux can be done using rmdir command. If the directory that is ment for deletion is not empty then that directory will not be deleted. This will prevent a non-empty directory to be deleted. Before such directory can be deleted, the content of that directory needs to be deleted first.

Deleting a file in Linux

​A file can be deleted in Linux using rm command. By default rm command will not delete directories. Directories can be deleted by specifying -r (recursive) option. If a file is write protected, then rm command will prompt a user before deleting such file. This prompt can be suppressed by specifying -f option. -f stands for force.

Moving and renaming a file in Linux

​A file can be moved in Linux using mv command. This command can also be used to rename a file.

Copying a file to a new location

​A file can be copied to a new location using cp command. If destination file already exists, then that file will be replaced.

Making a new directory in Linux

​A new directory can be created in Linux (BSD flavors, Mac OS) using mkdir command. If that directory already exists then content of that directory will not be erased.

touch command in Linux

​touch command in Linux can be used to create a new file. If this file doesn’t exist, then a new file will be created. If file already exists then creation and modification dates of that file will be updated, but the content of that file will be intact.

Printing output of file in a screen with cat command

​cat command in Linux can be used to output content of a file in standard output which is usually a screen. This output can be reduced with using grep or egrep commands, so only lines of text that match search condition will be displayed. This reduced output can be redirected to a file for further processing.

Redirecting output in Linux

​It is possible to redirect output of one command to another command in a command line interface. There are couple of options there. Single > sign will replace existing content of a file with new content. For example if file contains a list of files retrieved by ls command, that this list will be replaced if listing of a directory is done, and it is redirected to that file. Appending data will not replace existing content, but it will add new content to the end existing content.

Piping in Linux

​Piping in Linux means executing another command after the first command executed and passing output first command to second one. For example it is possible to combine ls and grep commands. First command will list all the files, second command will limit this output to only content that matches search pattern.

Wildcard symbols

​There are two special characters that can be used in Linux (BSD, Mac OS) terminal as wildcards. These characters are useful while listing files using terminal. These characters are ? and *. Question mark is used to replace one single character, where * is used to replace any number of characters. For example when a filename is only partially known, then it possible to use one of these characters to list many files that match search condition.

Locating executable file location with whereis

​whereis command can be used to identify which program is being used. whereis command will output full path of a program.

Getting help for commands

​Help for the commands can be shown in two ways. First one is specifying —help after a command name. Second one is typing “man” command followed by a command for which you want to get additional information. man command output is generally more descriptive than output of —help.

Listing content of a directory with ls command

​A directory content can be displayed with ls command. ls is short for list. ls command will accept various command options in order to adjust the representation of that information.

Changing a working directory with cd command

​It is possible to change current working directory with cd command. cd stands for change directory. It is possible to specify full or relative path of directory. Full path will be the location of that directory in from the starting location, which is / (forward slash) in Linux. Relative path is location of that directory from the current location of the user. Going back a directory level can be specified with .. (two dots). It is possible to specify more than one double dot. Each double dot needs to be separated by forward slash symbol.  In this case a user will go back as many levels as many double dots symbols are specified.

Common Linux commands

​I will list a few common Linux commands: pwd - it stands for “print working directory”, this command will report current location of where a user is located. whoami - is a command that will report what is the current system user that is being used. This command is useful to return to use regular user instead of root user. I know this list can be expanded, and I think that I will do it later.

Common Linux directories

​I will list and I will give brief explanation of common Linux directories. Beginning of Linux file system starts with forward slash symbol. All other directories and files reside in this directory. /root is a home directory of a root user.  /etc directory contains configuration files for different applications. /home directory is the location of user files. Each user in this system will get a separate directory. Each user home directory permissions allow only that specific user to access content of that directory. /mnt is a directory where other media is mounted. /media is a directory where other media is mounted and accessible in this system. For example a flash drive will be mounted here. /bin is a location of executable files. It can be compared with “Program Files” folder in Windows. /lib this folder is the location of shared or library files. These files are similar to DLLs in Windows OS root user is able to access and edit content of these folders, however it is good idea to...

Linux file system

​Linux file system is different from Windows file system in a way that it doesn’t have letter activation for drives. Beginning of Linux file system is marked with / (a slash) symbol. I cover physical structure of the file system separately, this is only explanation of logical functionality of this file system.

Terminal application

​Terminal application is a computer application to display non-graphical information. Transmitting text uses less bandwidth than transmitting graphics.

Linux shell

​Linux shell is an interpreter for executing commands. There are different flavors of Linux shell. Popular shells are Bash (Borne Again Shell), C and Z shells.

A script

​A script is not a full blown application, but a small code that does a specific task. There are couple of advantages of using a script over performing a task manually. 1. The task will be executed more reliably. 2. A task will be executed faster. There are times when scripts should not be created, but a task needs to be done manually. These are events that will happen just once or rarely. Time that is spent creating a script needs to be less than time performing this task manually. A script has a potential to create a lot of damage, because it will do things quickly. A script needs to be verified that it does things properly.

Converting from binary to decimal format

There may be a time when conversion from a binary number to a decimal number is needed. In order to convert a binary number to a decimal number each position in a decimal number can be represented by two to the power of that position place minus one. Counting in computers start with 0. For example a binary number 1001 can be represented as decimal number 9. It is 2 to the power of 3, plus 0 to the power of 2, plus zero to the power of 1, plus  2 to the power of 0. It results in 8 + 0 + 0 + 1 or 9. YouTube video

SPAN and DIV HTML elements

​DIV and SPAN HTML tags can be used to identify block of text that already has line breaks in it. DIV tag is a block level element, meaning it can be on its own within an HTML document. SPAN element is inline, it needs to be included in other HTML tags.

HTML ids and classes

​HTML ids and classes. Ids are unique within the HTML document, they can be used to identify HTML elements. Classes are not unique, they can be used more than once. Ids and classes can be used within CSS documents to specify how specific HTML elements need to look like. Ids can be used within JavaScript code to perform specific actions to that HTML element.

Line breaks and spaces in HTML document

​Line breaks and spaces are ignored within HTML document if they are not as part of text to be displayed.

HTML headings

​There are six levels of HTML headings. An HTML heading is represented by H symbol with a number that follows it. Each following HTML heading is smaller in size than a previous level. H1 heading is the largest and it needs to be used only once in a web page. It is a good idea to use lower font size, or higher numerical value of heading within the lower heading number.

HEAD HTML tag

​HEAD tag will have metadata about this HTML document. For example it may contain title of this web page.

Indentation within HTML documents

​Indentation within HTML documents does not impact how this HTML file will be represented, however indentation is helpful to edit an HTML document.

HTML doctype

​Doctype directive species which version of HTML is needed to be used when HTML document is rendered.

Creating HML images

​It possible to use tools like Figma or Gimp to create images. I am not a graphic designer so I just recommend what can be used, but a graphic design person may have his or her favorite image editing tools. You may leave comments with your favorite graphics design tools.

Editing HTML text

​There are specific editor applications that are designed specifically to edit HTML code, These editors have syntax highlighting which is a good thing to have when editing of HTML code is done. It is possible to use Visual Studio Code or Sublime Text editor to edit HTML documents.

HTML comments

​HTML comments may help with understanding of specific block is there. HTML comments start with /* symbols and end with */ symbols. HTML comments may span several lines. HTML comments will not be visible in the web page, but they can add clarity of why specific block of HTML code is there.

HTML style guide

​Having HTML style guide is a good idea, it will make web site consistently looking.

Source image files

​Often source image files contain more information than exported versions of files to be used in a web site. Often source files contain information such as layers, exported image files to be used in HTML pages do not contain this information. If images need to be adjusted in a future, then it is a good idea to keep raw source files.

Default HTML document

​Default HTML document is index.html file, in older systems that only supported three letter filename extensions, you may see HTM file extension.

Lowercasing file and folder names in HTML

​it is a good practice to lower case file and folder names used to build HTML web site. Case matters because some operating systems are case sensitive, and this web site may not work in another hosting provider.

Space is disallowed symbol in HTML file names

​Space bar is disallowed symbol in HTML file names. It can be faked using dashes or underscores.

What is HTML?

Image
HTML stands for Hyper-Text Markup Language. HTML is the language of the Internet. HTML language is not dynamic, it is static. However dynamics can be added to web pages using JavaScript. JavaScript is a programming language for the web. HTML is rich. It can contain images, forms, links to other documents. HTML consists of tags, attributes and elements. Tags are surrounded by left and right angle brackets. Many of the tags have both opening and closing tag. For example paragraph tag will have tag indicating where paragraph starts and it will have closing tag indicating where this paragraph ends. End HTML tag contains forward slash. HTML attributes specify extra information about this element. HTML attributes are included in the opening HTML tag. It is a good practice to wrap attribute values in double quotation marks. HTML element is both a tag and content within that tag. HTML elements have parent/child relationship. HTML element that includes another HTML element is referred as a pare...

Android development with IntelliJ - part 1

Image
Android development can be done differently. Google had released their Android Development Studio to make Android projects, or it possible to do Android development using IntelliJ. IntelliJ is a development environment to do Java development in Windows. I hope that I will cover Android Development Studio next. Programming or coding is a difficult skill, but I will try to teach you of how to develop an Android application. IntelliJ can be obtained from the website of its manufacturer - JetBrains There are different versions of the software free and paid version. I will cover free version. Once the software is downloaded, it is necessary to install it. When IntelliJ is installed, you will be presented with options to start a new project, open a project, or clone repository. First two options are self explanatory and the third option will open a window to open a project saved in the existing code repository.

A laptop's docking station

A docking station for a laptop expands laptop capability by adding additional ports to a laptop, and make this laptop act as a desktop computer. YouTube video

A computer webcam

Image
A computer webcam is a device to capture video. Computer web cams can be used in video conferencing. Laptop computers usually have built-in camera, so a separate web cam is needed only for desktop computers, or laptops, that don't have a web camera. Standalone web cams offer better picture quality, than built-in laptop cameras, however for video conferencing built-in laptop cameras are sufficient. YouTube video

Computer speakers

Image
Computer speakers are used to produce a computer sound. Sounds can be produced by the operating system, also known as system sounds, or audio can be generated by music you play, a computer game or a video. Basic configuration of speakers include left and right speakers. Speakers can also be used to generate surround sound. A subwoofer can be used to play low frequency sounds. Laptop computers usually come with built-in speakers. YouTube video

A headset

Image
A headset is used to produce sound and capture audio. Headsets can be wired or wireless. Bluetooth is usually used in wireless headsets because Bluetooth offers low power consumption. YouTube video

A stylus

Image
A stylus is input device for touch sensitive displays or drawing pads. A stylus offers greater precision than doing the same operation with a finger. A stylus can be passive or active. Active stylus have batteries in it. Active styluses are usually pressure sensitive. YouTube video

Steps to remove Copilot from a Windows computer

​If you don’t like AI (Artificial Intelligence) t there is a way to remove Copilot from a Windows computer. Copilot is Microsoft’s version of AI assistant. https://mashable.com/article/copilot-windows-11-how-to-remove

Critical vulnerability is found in Chrome browser

​A critical vulnerability was found in Chrome browser and an attack exploding this vulnerability was used. It recommended to update Chrome web browser to fix this issue. https://www.forbes.com/sites/zakdoffman/2025/11/19/attacks-confirmed-google-issues-emergency-update-for-2-billion-chrome-users/

iPhones are more valuable than Android phones.

​An interesting story about mobile phones was published in Android Police web site. It shows that a value of iPhone is more than of an Android device. https://www.androidpolice.com/thieves-are-hilariously-turning-down-android-devices/

Wi-Fi hotspot

Image
Wi-Fi hotspot is an ability of smartphones to share their Internet connectivity via Wi-Fi connection. Please be aware that Wi-Fi hotspot connectivity via smartphone can be disabled by the wireless service provider. Wi-Fi hotspot connectivity can also be provided by portable hotspot devises. YouTube video

Tethering

Image
Tethering is a term used to describe a condition when Internet connectivity is shared by one device with other devices. Tethering may be done via USB cable, Bluetooth, or Wi-Fi connection. YouTube video   

Bluetooth

Image
Bluetooth is a short range wireless communication. Devices like headphones, keyboards, computer mice may have Bluetooth communication enabled. Smart watches rely on Bluetooth connectivity. Data exchange may also happen via Bluetooth. Bluetooth requires low power, therefore devices that use Bluetooth may last a long time. There are different versions of Bluetooth. Common versions are 4.0 and 5.0. 5.0 version of Bluetooth is a low power version. Bluetooth communication is secure. Bluetooth connection in many cases requires verification of a code upon first time connection is established. YouTube video

NFC - Near Field Communication

Image
NFC stands for Near Field Communication. It is low power and low range communication type. Communication range of NFC is about 4 centimeters. NFC is used in mobile wallets. NFC does not require manual configuration and it uses minimum power. YouTube video

Lightning connector

Image
Lightning connector is a proprietary type of connector that was wade by Apple. Lightning connector is used in iPhones, iPads and iPods. Lighting connector is reversable. Apple transitions to use USB-C, however it is possible to find lightning connector in many of older Apple's devices. YouTube video

Micro USB and mini USB

Micro USB and mini USB were used before USB-C became standard. Some of the older devices may have this type of USB connector. USB is used to connect external devices of many types. YouTube video

USB-C connection

USB-C is a modern connection type. It can be used for data and video transfer. YouTube video

External connectivity via USB

External devices can be connected to a computer via USB. USB stand for Universal Serial Bus. USB devices are hot pluggable, and often the operating system already has a device driver for these. To disconnect an external USB device is often needed to "eject" from the system, or in other word disable all communications to it. USB plugs and ports can be of a different type, so please make sure that you are getting a USB device that is compatible with your system.

A faulty microphone in a laptop

A faulty microphone in a laptop computer may result in no sound or muffled sound. An easy solution to a faulty microphone problem is to get an external microphone or a headeset.

Working with a mobile device camera

Majority of mobile devices now days include front and back cameras. Replacing a camera in a mobile device or a laptop is is a difficult task. Majority of laptops may get a standalone web camera instead.

Laptop's Wi-Fi antena

Laptop's Wi-Fi antenna may go around the screen behind the display, it is a time consuming and tedious task to replace it. The components that cover this antenna are delicate and easily breakable, so extra caution needs to be paid when this antenna is replaced. Symptoms of bad antenna may include failure to detect or to connect to a wireless network. 

Replacing NFC device in a laptop

Some of laptops come with an NFC adaptor. NFC stands for Near Field Communication. NFC is low power, low distance communication module. In phones NFC can be used to make payments, in laptops NFC module maybe located in obscure location. Please consult the service manual before replacing one in order to know the proper location of one. After physical installation is complete, there maybe a need to install drivers for this module.

Replacing fingerprint scanner in a laptop

Some of the laptops come with a fingerprint scanner. It can be used to authenticate user instead of the password. If this fingerprint scanner goes bad, it can be replaced with an another one, please pay attention to cabling when this module is replaced. Fingerprint scanners are usually more reliable than other laptop's components.

Replacing a wireless card in a laptop

It is possible to replace wireless card in a laptop. A laptop may have couple of wires connected to the wireless card. These wires are very fragile and extra care needs to be provided to handle these. Wireless cards are usually secured with a screw, so you will need a tool to unscrew and screw the new one. A new wireless card may not be recognized by your operating system, in this case it is needed to install wireless drivers that came with that card, Please be aware that new drivers may be available from that card manufacturer, and it may be needed to install new version of the drivers. That Wi-Fi card may be operational even with the old driver, but the driver may include new functionality or bug fixes.

Replacing a drive in a laptop

A drive is the main storage for the laptop. It contains files for that laptop. Usually a laptop has only one main drive. Laptop hard drives can be of two types, they can be in a form of spinnable media, or they can be in a form of SSD. SSD stands for Solid State Disk, and it has no moving parts. SSD drive takes less space, than spinnable drive. SSD drives can be also replaced, however it may be a challenge to locate one in a laptop. Please be aware that the new disk will not contain OS, if this is the only drive in your system, then you may get a message that "No bootable media is found" after the drive is replaced. Fresh installation of the operating system may need to be done, or an image of the old drive may need to be saved and restored to the new media, before that drive will become bootable.

Laptop's memory module replacement or addition

When replacing memory module of a laptop, please ensure that this laptop is turned off and external power source is disconnected. Laptop's memory modules are smaller in size than desktop's counterparts. There could be more than one slot for the laptop memory, it is necessary to look carefully for them. Home use laptops may have just a single memory slot, however laptops that are meant for engendering work may have memory slots located in different places. Laptop's memory needs to be installed at 45 degree angle, before it can be pushed down to ensure good latch. With all kind of memory, desktop or laptop memory, please ensure good connection before locking memory. If not inserted properly, desktop memory will not be recognized, and it is possible to damage laptop memory, if extra force applied to a memory chip that was not inserted properly. When extra memory is added, please ensure that new memory is recognized by this system. Some laptops have RAM modules soldered to moth...

Laptop's functionality expansion

Laptops have smaller form factor than desktop computers, therefore laptop components are also smaller. For example memory module of a laptop is smaller than in a desktop computer. Video card is often integrated in laptop's motherboard. Desktop computer functionality can be expanded with the use of expansion cards. A laptop computer does not have expansion slots. Functionality of a laptop can be expanded with the use of USB devices.

Replacing parts in a laptop

Laptops are more fragile than desktop computers. When working with a laptop it is necessary to pay extra attention as the same actions that can be performed with a desktop computer may damage a laptop. Timewise it also may take longer to replace parts in a laptop than in a desktop computer.

It is important not to damage computer components

Computer components can be damaged by difference of electricity between the computer you work on, and the body. In order to make charge the same between this computer and your body a wrist wrap needs to be used. A wrist wrap is made of conductive material. One end of this wrist wrap is worn on the hand and another part is attached to the computer case. The part that is worn by a human looks like a bracelet, that bracelet is connected by a wire to tweezers, and the tweezers are connected to the computer case's metal part. Antistatic mat can be used as well.

Safety is important when you are working with computer hardware

Safety is important when you are working with computer hardware.  It is important that there is no power going to that device. The device needs to be not just turned off, but physically that device needs to be unplugged.

SFTP protocol

​SFTP protocol defines how to transmit a file using SSH connection.

Giga

​Giga is a definite of about 1 billion. To be exact Giga represents 2 to the 30th power.

A function

​In programming a function is way to separate a piece of code separately so it can be executed over and over again. A function has only one return value, but it may accept multiple values. For example finding a minimum value of two values will accept two values to compare, but will return only a single value, in this example it will be a minimum value of two values.

FQDN - Fully Qualified Domain Name

​FQDN is full name of the domain. In a browser FQDN is what type when we want to visit a specific website. In the network FQDN is a full name of the host.

FTPS protocol

​FTPS protocol adds encryption to the FTP protocol. Encryption is done using SSL, which is a pretty good encryption.

FTP protocol

​FTP is a data transfer protocol. FTP uses TCP ports 20 and 21 for data transmission and authentication. Communication in FTP is not encrypted therefore it is possible to sniff network traffic and obtain username and password that used to connect to an FTP server, it is also possible to know which data is saved to FTP server, or obtained from it. Secure methods of communication include FTPS and SFTP. FTP protocol is obsolete nowadays it had been replaced with more secure alternatives. I don’t know if FTP protocol is still in use today. Maybe some legacy systems rely on FTP data transfer.

Freeware

​Freeware is software that is distributed for free with no license fees .

root user

​root user in Linux like system is a high privilege user. This user can do almost anything in that system. For example root user can install software or perform this system reconfiguration. It is a bad idea to use root user for daily operations because if root account is compromised, then an attacker can have great control over that system. Temporary access to root account needs to be used. Temporary access is done with sudo command. Permissions needs to be given to a user to execute sudo command.

Home directory

​Home directory is a default location of user’s files and folders. Default location of home directories in Linux are in /home directory. Each user will get a subfolder in that folder.

Directory

​A directory is the location of files and other directories. You maybe familiar with the term “folder” in Widows OS. A directory has the same meaning and same functionality as a folder in Windows OS.

Case sensitivity of file names in Linux

​File names in Linux are case sensitive. Filename with a word “Document” is different from a filename “document”. This case sensitivity applies to folder names too.

Binary

​Binary is a term for non-human readable format of a file. Binary executable files are platform specific. Linux will have its binaries, so will Mac OS, Windows OS and BSD. Binary files are more optimized for use by applications. Binary files will have much richer information about content of a file. For example text file will have just a text, but rich text document with that text will contain information of how big that text will be, that text location in the page, and alignment of that text to other elements. Of course it is not full description of features, but it should give a good representation of what can be done.

Linux has great future

​Linux has great future. Linux OS has great popularity among users, and it has good support from people who support it or add new features. Android is based on Linux and iOS has roots in Unix OS.

Most of the hacking tools are written for Linux

​Majority of hacking tools are written for Linux. Linux is opened source and offers great control of how applications will behave. Even so it is possible to customize how each application will look like in Windows OS, Linux allows a person to do much greater customization.

Linux is granular

​The word granular means changeable. All of the things in Linux can be adjusted. Of course a person that does it needs to have sufficient skills and knowledge to modify source code. Source code of an application can be very complex.

Linux is transparent

​Linux is transparent meaning that nothing is hidden a person that use Linux can know everything about implementation and such a person can modify it per his or her liking. Of course that person needs to have knowledge to understand what was done and how to modify it, because modifying source code is not a trivial task.

Linux uses open source license

​Many of Linux applications use open source licenses. An open source license means that the source code of the application is available. It means that this application can be customized per your liking. Modifying a source code is not a trivial task. A person who changes source code need to have skills to do it, and such a person needs to have knowledge of doing it.

Why hackers love Linux?

​Linux offers customization, it offer great control over how a system is going to behave. Of course it is possible to make Windows or MacOS look differently using background or theme, but Linux offers much greater customization for internal things, for example it is possible to customize how networking will behave.

Espionage

​Espionage is way to determine secrets that a company or a country has.

Vulnerability scan

​A vulnerability scan is a scan of a device or number of devices in order to see which issues are present. The issues may include vulnerable applications or misconfiguration of these. Please be aware that vulnerability scan results are only good for that particular scan, a new scan may include additional tests. Therefore vulnerability scans need to be performed periodically.

Ethical hacking

​Ethical hacking also known as “white-hat” hacking is a way to determine which issues a system has in order to fix these issues.

RAID - Redundant Array of Independent Disks

​Term RAID stands for Redundant Array of Independent Disks. RAID means that more than one drive will be used. I will try to explain common RAID levels. Common RAID levels are 0, 1, 5. More advanced RAID levels are 10 and 50. RAID level 0 is striping, when data is written or read from two drives. RAID 0 does not provide any redundancy. It is used to increase write and read performance. If one of drivers in RAID 0 fails then data in second drive will be unavailable as well. RAID 1 is called mirroring. The data which is written in one drive is duplicated to another one. RAID 1 does not provide any performance improvements for write operations, however it can improve read operations. RAID 5 is good for redundancy. Drives are configured this way that data which is written there is written to all drives. Data is split, so only a portion of data is written to each drive. RAID level 5 requires at minimum three drivers to operate. Two drives will be used for data and one for parity. RAID 10 is ...

RAM - Random Access Memory

RAM stands for Random Access Memory. Over the years there were a number of types of computer memory. First type that that I will discos is a DIMM. A type of DIMM memory that I will explain is SDRAM. S in its name stand for synchronous. Speed of that RAM was tied to speed of motherboard. Certain motherboards required specific speed of memory.  RAM can be of a different capacity and speed. Please verify of what type of capacity and speed your motherboard can support before buying more memory.

Foreign key

​Foreign key is the database term that defines a relationship between two database tables.The data in a table that references primary table cannot be changed or added without corresponding data existing in primary table.

Flatbed scanner

​A flatbed scanner is a peripheral that allows scanning of documents. There may be several types of scanners. There could be flatbed scanners or scanners that feed through documents. Usually scanners that are flatbed usually have better resolution or quantity of scanning documents.

Firmware

​Firmware is low level software that allows hardware to operate. Firmware can be upgraded to resolve issues that are found with that hardware.

Firewall

​A firewall is a physical device or software that can restrict traffic between networks.

File system

​File system is the format of how files and folders are saved on a disk. A file system can use such features as user permissions, encryption or compression. File system also specifies top limit of size of a partition that uses that file system.

File server

​A file server is a server that contains files. These files can be used by other computers which are called client.

File format

​File format is tightly related to file extension. File format shows how this file can be used and what type of data it contains.

Fiber-optic cable

​A fiber-optic cable uses light to transmit signals. Fiber optic transmissions are fast, but fiber optic cables are fragile.  Cost wise fiber-optic cables cost more per foot than network cables that use copper. Installation wise cost to install fiber an optic cable is also more than installation of a copper cable.

EXT3 and EXT4 file systems

​EXT3 and EXT4 are common types of file systems used in Linux operating systems. EXT4 file system adds journaling to the EXT3 file system. Journaling is a way to record activities that were performed.

EULA - End User License Agreement

​EULA or End User License Agreement  is the software agreement that a user should agree to before using the software. Usually EULA is displayed to user during installation process. A user is then asked if that user agrees to it or not. If that user does agree to the terms of EILA than software installation process is cancelled.

Removing a directory in Linux

​Removing a directory in Linux can be done with “rmdir” command. In that case all of content of that directory will be deleted. “rm” command will also delete any of subfolders that are contained within that directory.

Renaming a file in Linux

​Unfortunately Linux does not have a special command to rename a file. Move command can be used instead. Instead of a new destination of the file a new name of that file can be given therefore it is possible to rename that file.

Creating an empty file in Linux

​An empty file can be created in Linux using “touch” command.

Copying a file in Linux

​cp command can be used to copy a file in Linux command line. cp stands for copy.

Making a new directory in Linux

​A new directory in Linux can be created with the use of mkdir command.

touch command in Linux

​touch command in Linux will either create a new file, if that file doesn’t exist, or it will update timestamp information when such file was created or modified if a file with that name already exists.

Output content of a file with “cat” command

​It is possible to view content of a single file with “cat” command. “cat” word stands for concatenate. It is possible to use more than one file with “cat” command and redirect that output to a new file, in this case a new file will contain the contents of the files that had been used in the “cat” command.

Piping output of one command to another one

​Pipe symbol can be used to redirect output of one command to another one. Pipe symbol looks like a vertical bar |. It is possible to use multiple pipe symbols to use output of one command as an input of another command and so on.

Wildcards

​When it is difficult to know the filename, then it is possible to use wildcards. Wildcards symbols will be replacements for one or more characters. A single question mark symbol will be a replacement for one single symbol. An asterisk symbol will be a replacement for any number of symbols.

Getting more help for command line applications in Linux

​it is possible to get more help for applications using ‘man’ command. ‘man’ command stands for manual.

Getting help for applications

​Many of command line utilities support functionality of how these commands can be used. This is usually done with specifying -h or -? or —help options after a command name. There is guarantee that one of these options will work, it depends on how the application was developed. YouTube video

Listing files in a directory in Linux

​It is possible to list which files and other directives are located in the current path in Linux using command prompt. This is done using ls utility. la is short for list. There are additional switches that can be included in ls command. For example it is possible to list content of a folder in a long format that includes more information about content of this folder. YouTube video

Moving up a directory level in Linux

​When changing a directory it is possible to go up a level using two dots (..). It is possible to combine dots and move more than one level up, in this case each level needs to be separated with a forward slash. YouTube video

Liquid cooling of a CPU

Liquid cooling of CPU means that heatsink that has liquid running through it is mounted on the CPU. Liquid cooling has a container that is cooled by fans, Liquid cooling is more efficient than air cooling. Liquid cooling is more  quieter  than air cooling of a CPU, If liquid cooling fails result of it will be same as cooling fan fails. The system will reboot. It is a sign of a hot CPU. YouTube video

CPU cooling

When CPU is active it generates a lot of heat, therefore cooling must be applied to it. There are two main types of CPU cooling. There is air cooling. CPU heatsink has a fan which is part of it, and when air goes thorough heatsink plates it cools them. Another type of cooling is water cooling. It is more efficient then air cooling, but at the same time it is more expensive then just air cooling. It is also a lot quieter than air cooling. CPUs can be overclocked. Overclocking a CPU means increasing its speed beyond what it was rated at. It is a dangerous operation and can ruin the processor and void its warranty. When CPU is overclocked it requires even better cooling, because it will generate even more heat. YouTube video

Speed of a CPU

Speed of a CPU is measured in hertz. One hertz is number of cycles that can be performed in one second. Speed of modern CPUs is measured in low number of gigahertz. Giga means a billion. However number of hertz it is not an only measure of CPU speed. Speed can be fast, however it is also important how many actions are performed in each cycle. For example Pentium 4 processors had incredible speed in hertz, however these processors had to execute many steps in order to complete a single operation therefore these processors were inefficient. Speed of CPU is based upon system crystal. A system crystal made out of quartz, and when electrical current is applied to it, it oscillates with a specific frequency, later this frequency is multiplied and we get speed of CPU. Maximum CPU speed is determined by CPU's manufacturer. It performs a series of tests to rate CPU speed.

CPU - Central Processing Unit

CPU stands for Central Processing Unit. CPU is the brain of a computer. There are two manufacturers that make CPUs for personal computers. These are Intel and AMD. Apple make their own processors for their computers, but in older Macs you may find CPUs made by other companies. Until recent time Intel processors were used in Mac computers. CPUs can be of two types. They can be either LGA or PGA type. PGA stands for "Pin Grid Array". If one of these pins is snapped, then entire CPU can be thrown away. LGA stands for "Land Grid Array". Each connector in a CPU is a tiny connector in a form of dot, therefore LGA processor type is less fragile than PGA type. It is important not to touch a CPU connectors with fingers. Finger oil can damage a CPU. When a CPU needs to be handled, then it can be grabbed by its sides. A CPU is good at calculating numbers, but it does it so quickly. A CPUs allows us edit word documents, play video games or edit spreadsheets. Over the years CPUs...

Opening a computer case

There are different types of computer cases. Some cases have physical screws to unscrew, some have screws that can be unscrewed with fingers, some have a latch to open the case. There is no standard way of opening a computer case. YouTube video link

Major parts of a computer system

A system unit contains all the internal parts of a computer. Size of a system unit may vary on number of devices you want to install there and aesthetics of your place. Other things that are connected to system unit are called peripherals. One the device that is connected to a system unit is a monitor. There are different types of monitors. There could be an old type CRT monitor. These are bulky, and I don't know if you can even buy one now days, but you may be able find in the office. There could be flat monitors, there are called LCD or LED displays. Input devices include a keyboard and a computer mouse. There may be more than a single type of a computer keyboard and a mouse. Audio output is provided by speakers. A very simple setup of speakers will include just two speakers. Speakers are optional devices. You may find speakers used in a home computer, but an office computer will probably exclude these. Next step up is to add a subwoofer to play low sounds. Next step up is to mak...

Steps in computing process

1. First step in computing process is to retrieve raw data. Raw data is stored in some sort of medium such as hard drive, flash drive, somewhere in the Internet. 2. Second step is to load this data into computer's memory for processing.  3. Optional step is to provide input of how this data needs to be processed. This input maybe in form of pressing a key on the keyboard or make an action with a computer mouse or some other device that controls movement of computer cursor. 4. Next step is to process this data. 5. Next step in this process is to receive output. Computer output can be visual, or displaying something on computer's monitor, an output can be audible, if a sound is played through a computer's speakers, an output can also be in form of printed materials. Output shows us how well the input data was manipulated. 6. Next step in this process is to save the result of this manipulation in storage. This is an optional step, because in example when data is printed nothin...

Eavesdropping

​Eavesdropping is a process of capturing networks data that is not intended for yourself. Tools like Wireshark can be used to capture network traffic. Please be aware that switches isolate network traffic to only devices that are intended for communication and eavesdropping is not possible there. Wi-Fi networks can be used for eavesdropping. Destination computer IP addresses can be used in the eavesdropping devices so the network traffic can be going to it instead of original device. In many cases when duplicate IP address is used in the network, devices will complain about it.

Dynamic RAM

​Dynamic RAM is term that describes computer memory that can be used only when computer is powered. When a computer is turned off then the content of RAM disappears. RAM is much faster than solid state or spinnable hard drives. RAM is more expensive than these too.

Dumpster diving

​Dumpster diving is a term used to describe that a person goes to a trash in order to find valuable information.

Dumb terminal

​Dumb terminal is terminology to describe a device that has no processing power on its own. Dumb terminal will allow a person to connect to a system that has processing resources.

Dual voltage

​Dual voltage is usually means that a computer power supply will be able to accept either 110 volts that is used in the US or 220 volts that is used in Europe. Setting power supply to 220 volts but is power supply of just 110 means that computer will not start, however setting power supply to 110 volts where electricity voltage is 220 means frying the electronics.

Dual boot

​Dual boot term means that more than one operating system is installed in a computer and it possible to use a different operating system.

DNS - Domain Name Server

​DNS stands for Domain Name Server or Service. DNS exists to translate names into numbers. Humans are good with names such as Google.com, but computers are good with numbers. DNS management is built in into Windows Server operating system. Linux and BSD variants often use software that is called Bind in order to manage DNS records.

Web cams (web cameras)

​Web cams allow video to be recorded. Web cams allow for remote ability to attend meetings if a meeting supports remote video connectivity.

A KVM switch

​A KVM switch is used to use single keyboard, mouse and monitor for multiple computers. Term KVM stands for keyboard video mouse. A KVM switch can simplify use of these devices for multiple computers in a datacenter. KVM switches have support for different devices, for example it is possible to share a single set of speakers. KVM switches have different number of devices that they can support.

Special input devices

​Special input devices exist to perform specific functionality. A drawing pad. A drawing pad can be used by an artist to draw with it. Drawing pads are usually pressure sensitive, meaning light pressure will result in a small size line and heavy pressure will result in a thick line. Special input devices include a barcode scanner. When barcode is scanned then barcode lines will be translated into numbers. Usually there is no need for special driver for a barcode scanner, because basically a barcode scanner acts as a keyboard. A game controller. It is used to simplify controls while playing video games.

Keyboard delay and speed settings

​At least in Windows OS it is possible to adjust delay and speed of a key repetition. Please adjust these to settings which you like

Computer mouse settings

​Computer mouse settings can be adjusted. Foe example it is possible to adjust the speed with which mouse cursor moves, it is also possible to change duration of double click.

Software RAID

​it is possible to configure different RAID levels in software, however software RAID will have lower performance that dedicated RAID hardware.

Universal Serial Bus (USB)

​USB allows hot pluggable functionality of various devices. USB stands for Universal Serial Bus. USB connections can be on keyboard and mouse, various flash drives, external drives, scanners, printers, video cameras. This list can be expanded if I missed something. Unplugging a USB device is usually done via an operating system, such a device may need to be disabled first. If the device is in use then a warning message will be displayed and the drive cannot be disabled. If device is unplugged before it is disabled, then information that needs to be saved on that flash media may be lost.

Different storage sizes

​The smallest storage size is indicated with a single byte. Common storage sizes are indicated with Kilo, Mega, Giga. Kilo means 1000, Mega means 1 million, and Giga means 1 billion. We simplify storage sizes to values that are powers of 10.

Boot order

​Boot order specifies priority of boot devices. Boot order is specified in system setup. Boot order can use storage disks, optical media, flash drives. Media must be made bootable or an error during system startup will be displayed that the media selected is not bootable.

Hardware RAID

​Hardware RAID (RAID stands for Redundant Array of Independent Disks) allows for better performance of RAID than software RAID. There are several RAID levels and types of RAID levels that a card supports will depend on how that card was made.

DHCP (Dynamic Host Configuration Protocol)

​DHCP is the ability of IP protocol to assign IP address automatically. 

Device manager

​Device manager is a Windows OS utility to configure hardware and/or their drivers.

Device hardening

​Device hardening is a process of making a computer hard to break or even access by unauthorized people. 

Desktop computer

​It is a computer that is dedicated to a single user and it is not portable.

Default gateway

​Default gateway in IP configuration is an address of host that allows communication to go beyond the boundary of a local network.

Dedicated server

​Dedicated server is a server which hardware is not shared with other users. Opposite of dedicated server is a server that shared between multiple users. Dedicated web hosting is more expensive than splitting that hardware into multiple virtual machines and then offer such resources separately. Dedicated server can also be in the local network and not exposed to Internet users.

Debuging process

​Debug is a process of detecting and eliminating computer problems.

DDOS - Distributed Denial of Service

​DDOS is the abbreviation of a Distributed Denial of Service activity. DDOS attacks use multiple machines to perform requests. Such requests make resources slow or unavailable to legitimate users. Recently AWS and Microsoft Azure were destinations of DDOS attacks.

DOS - Denial of service

​Denial of Service attack is abbreviated as DOS is a way of overwhelming ab application which resources are exposed to other users. DOS is performed by a single user. When multiple devices are performing denial of service attack than it is called a Distributed Denial of Service attack.

Data at rest

​Data at rest specifies data that is stored in some sort of medium. The opposite of data at rest is data in motion.

CRUD

​CRUD is the abbreviation of common database operations. CRUD stands for - create, read, update and delete.

Crossover network cable

​Crossover network cable can be used to connect two devices to each other directly.

Consumables

​Consumables are computing resources that need to be replenished. For example a printing paper, ink, toner cartridges are examples of consumables.

Compression

​Compression is a process of eliminating redundant information within a file or a group of files to reduce resulting size. Compression is used to reduce size as well as if a group of files is compressed that it is easier to transfer a single compressed file than several files. A process opposite to compression is decompression.

CLI - Comnand Line Interface

​CLI is interface that does not provide any graphics. A computer that runs in text only mode does not have overhead of displaying graphics. The opposite of CLI is GUI - it stands for Graphical User Interface.

Source code

​Source code is a human readable code of the software. The opposite of source code is compiled code.

Cloud computing

​Cloud computing is type of computing, where computing resources can be adjusted based on the load.

Closed source software

​Closed source software is a software type where source code of that application is solely controlled by a single organization. An opposite to closed source software is software that open source.

Client-server operations

​Client-server operations is a type of operations in which a client computer uses resources from a server computer. A server computer provides file, print, web resources to clients. A server may provide other resources to clients if it is configured to do so.

Client

​A client computer is a computer that uses resources from a different computer.

Cipher text

​Cipher text is a text that has been encrypted with an encryption key.

Chrome OS

​Chrome OS is an operating system released by Google. Chrome OS uses web applications to perform tasks. Chrome OS is a Linux variant.

Char

​Char is a computer data type that consists of a single character.

Cascading Style Sheet - CSS

A ​Cascading Style Sheet centrally specifies styling of HTML elements.

CAPTCHA

​CAPTCHA is a type of authentication challenge that distinguishes humans from computers. CAPTCHA is usually an image or an audio.

A touch screen

​A touch-screen is a type of screen that can sense activity on it. For example iPhones or Android phones have touch-screen.

Cache

​Cache is memory that can be accessed very quickly. CPUs for example have cache. CPUs can have level 1, 2, 3 of cache. A CPU’s level one cache is the fastest and smallest of all caches. Frequently used data is placed in cache, so an operation does not need to be performed and the results of such an operation can be quickly retrieved from cache. Cache is used to speed up operations.

A byte

​A byte is the smallest unit of data. A byte consists of 8 bits. A bit is represented by 0 or 1. 0 represents off state or no signal, 1 represents on state or a presence of a signal. To operate efficiently a chunks of several bits is used at a time. There could be 8, 16, 32 or even 64 collections of bits that are processed by a processor at one time. 8 an 16 bit processor are legacy now days, because the architecture with that number of bits has limitation of how much RAM (or Random Access Memory) can be used. Storage in a personal computer can be counted in Kilobytes, Megabytes, Gigabytes, Terabytes. One Kilobytes is 1024 bytes. 1024 number comes as number 2 to 10th power. Each following description of storage is a multiplied by 1024. For simplicity sake 1000 is used.

BYOD (bring your own device)

​BYOD process defines a set of rules to use your own device at work. BYOD stands for Bring Your Own Device. A big advantage of BYOD is that a user will be familiar with technology such a person uses, another advantage of  BYOD is reduced cost of purchasing hardware, a major disadvantage of BYOD includes difficulty to support such devices by company’s technology department.

A computer bug

​A computer bug is a software issue. A computer bug can lead to unusual behavior. A term computer bug began to be used when actual bug was found in the circuits of an ENOAC computer. Software may have bugs because humans can make mistakes. You are probably familiar with software update process, of course software updates can bring new features, but many of such updates are bug fixes.

Broadcast communication

​Broadcast communication is a type of communication that is geared to all devices in the network.

Bits per second

​Bits per second (bps) number shows how fast is a network connection. Usually this speed is measured in Mbps of Gbps. M stands for Mega or million, G stands for Giga or billion. BPS number is usually is associated with the network speed.

Bootable media

​Bootable media is the device from which boot process can be started. Bootable devices include a computer disk, removable media.

Boot sequence

​Boot sequence specifies the order of boot operation in a computer. Boot sequence may include booting from HDD or SSD drive, removable media or from the network.

Boot sequence

​Boot sequence is the order of devices to try load operating system from in a computer. Boot sequence is controlled by UEFI. Typical boot sequence include booting from solid state or hard drive, removable media or from the network.

Boot sector

​Boot sector keeps enough data to load operating system in a computer voltages.

Boot

​Boot is a process of initiating a system. There are two types of boot: hard boot and soft boot. Hard boot happens when a computer physically turned off and power button is pressed to perform startup of that computer. Soft boot or warm boot happens when operating system is restarted.

Boolean values

​Boolean values are rather true or false values. Boolean values or expressions that result in a Boolean result are used in loops or conditional execution of code.

Bluetooth

​Bluetooth is the way wirelessly connect devices. Bluetooth is a short way communication method. Bluetooth devices may include such computer devices such as keyboard and mouse. You may purchase headphones that only have Bluetooth connectivity.

Bloatware

​Bloatware are unneeded by computer user programs. Bloatware programs may include weather applications, music players, antivirus programs and many more. Bloatware programs make money through payments from hardware manufacturers to pre-install these, advertising or payments for premium features.

Bit depth

​Bit depth quantity represent number of colors that can be represented by a video card. Two common characteristics are 16bit and 32bit colors. 16bit is capable of displaying just over 65K colors, where 32bit is capable of showing over 16 million colors.

Voltage of current

​Voltage of current is a measurement of a difference between 0 point (usually called ground) and high position. Typical computer voltages are 3.3V, 5V and 12V. 3.3V is used for computer memory, 5V is used for fans and to power USB devices, 12V is used for major computer components such as CPU or video.

AC and DC current

​There are two types of current, these are AC and DC currents. AC stands for alternating current, and DC stands for direct current. Direct current means that flow of electricity is in one direction. Alternating current means that flow of electricity changes. Frequency of that change is measured in hertz.

Electrical conductivity of a material

​Different materials have different abilities to pass electricity. For example metals have good ability to pass electricity however plastic or wood are not. Ability to pass electricity is measured in ohms. The lower ohms value, the better material passes electricity however plastic. Since metals have good ability to pass electricity than wires have metal core to pass it, however plastic doesn’t pass electricity well, therefore wires have plastic outer layers to prevent accidental leakage of electricity. It is important to have undamaged protective layer of a wire, damaged protective layer means that voltage can be transmitted.

Electricity basics

​Electricity has two basic measurements. These are voltage and amperage. Voltage shows amount of difference between high and low point. Low point is usually ground, so it has 0 volts. Amperage can be compared with volume of how much electricity can be passed through a medium. Different materials have different ability to pass electricity. For example metal is good material to pass electricity, but wood isn’t.

A motherborard

A motherboard is the main board of a computer. Motherboards have a socket for a CPU. There two main types of personal computer CPU manufacturers: Intel and AMD. A motherboard which you get suppose to support a processor type that you have, or you are planning to buy. Motherboards have different number of extension slots. If having additional boards are important to you, please get a motherboard that have enough slots to support your equipment. A motherboard may have embedded video into it, sound or network connectivity, however getting separate boards to support this functionality will be a better quality. For example getting an additional video card means that quality and performance of video will be better using an external video card. Having an external video card is important for gamers, built-in video is sufficient for general use. Same principal applies to built-in audio or network card. Having separate cards for audio and network will mean that you can get better sounding system...

Main parts of a computer

One of the main parts of a desktop computer is a system unit. System unit contains all of the hardware. System units differ in size. There could be small system units and big ones. All other items that are connected to a computer are peripherals. One of the items that is connected to a system unit is a monitor. There could be more than one monitor connected to a system if graphic card support  multi-monitor functionality. There are different types of a monitors. A monitor can be a bulky old type monitor. These are called CRT monitors, or a monitor can be slim. Slim monitors are LCD monitors. LCD stands for Liquid Crystal Display. Having a good monitor is important for graphic designers. They work with graphics that is in different colors, and their monitors need to represent colors well. Input is provided by some sort of keyboard, a mouse, a pad, or a video camera. There maybe many different kinds of a keyboard and a mouse. Output can be visual, in this case it will be displayed in...

How computers work?

It is possible to indicate four steps in operations of a computer to process data. Fifth step is optional. Step 1 Raw data is usually kept in some storage, it can be a drive in the system or data in removable media. That data is loaded into memory for processing. Access to memory is much faster than access this data from a storage media. Step 2 Input to manipulate that data is provided. It can be a keystroke or pressing a button of a mouse. Providing an input is an optional step. I think of applications that don't require input, but perform some operations.  We perform operations in order to indicate  what is needed to be done with the input. Step 3 Data is processed by a computer. Step 4 Processed data is then outputted. Output may manifest differently. It could be displayed in the monitor, information can be printed, or in case of audio file, that audio file will generate some audio output. Step 5 An optional step is return modified data back to storage. It does not always h...

BIOS

​BIOS stands for Basic Input Output System (or Software). It allows to low level access to hardware resources and system configuration. BIOS access allows low level access to a system and it is a good idea to lock access to BIOS with a password. In modern computers BIOS had been replaced with UEFI.

Biometric device

​A biometric device is an authentication device that uses specific body parts for authentication. For example a biometric device can use a fingerprint or an iris scan to identify which person uses a system. A biometric device enhances authentication over password authentication, however biometric technology is costly and protection that it provides need to justify the cost of resources it protects.

Binary system

​Binary system consists of two numbers. These numbers are 0 and 1. Electrical processors work on the principle that 1 represents availability of a signal and 0 represents absence of it. With 8 combinations of 0 and 1, it is possible to count all the way to 255. Starting number is 0. If higher values are needed, then more than 8 combinations are needed. Modern computers have either 32 or 64 bits, allowing them to work with larger numbers. Bits can be translated to RGB values. RGB stands for red, green and blue. With only 256 combinations of red, green and blue, it is possible to represent millions of colors. Not only colors can be represented by numbers, but sounds can be represented by numbers too. Better sounding audio requires more bits. A human does not deal well with binary data, a human operates well with 0 to 9 numbers, so it is needed to have a process that transforms our numbers to numbers that a computer understands. Numbers that are represented by numbers 0 to 9 are called de...

Authorization

​Authorization is a definition of what a specific user can do after successful authorization is performed.

Authentication

​Authentication is computer term which represents who accesses a specific data.

File attributes

​File attributes are the attributes that shows the status of a file. Common file attributes are hidden, read-only, system.

Attack surface

​Attack surface is a computer term that represents a potential of a specific system or software for security breaches.

ASCII

​The term ASCII stands for American Standard for Information Interchange. ASCII defines standard way of representation of common characters and English alphabet. ASCII defines 128 characters. Extended ASCII extends character set to 256. Instead of using 7 bits in ASCII, extended ASCII uses 8 bits. To represent non-English alphabets and special characters Unicode standard is used.

A computer array

​A computer array is a programming data type that holds multiple values of the same type.

Archive

​Archive in computer meaning is a copy of files for long-term storage. Archives are often compressed to a single file. Compression to a single file makes operations with such data easier. Compression tries to reduce file size before placing a file to an archive file.

Algorithm

​An algorithm is a conceptual representation of steps an application will be making to achieve its goal.

Adware

​Adware is a type of malicious software that displays ads

Changing a directory with cd command

It is possible to change current directory of a system user with cd command. cd stands for change directory. With cd command it is possible to specify full directory path or relative path of a directory which a user wants to be in. Full path is full name of a directory location in filesystem. Full path starts with forward slash. Relative path is a location of a directory related to the current path. Relative path may include one or more .. signs. .. means a previous directory.

whoami command

whoami will tell a user under which account operations are performed.

pwd command in Linux

pwd command in Linux will list the current path where a user is located. Command prompt by default will only list the current directory where this user is located.

Reducing privileges of a user

root user in a Linux system has full control of that system. It is advisable to use root user temporary when full access to system files is required. If someone will gain access to a computer where a user uses root account, then that person will have full control of that system files. If a malicious user gets access to a machine where a personal account is used, then such a person will have limited access to files.

Notable directories in Linux

There are several directories in Linux that a person who is working with Linux systems need to know. These are the following: / - beginning of file system tree /root - home directory of root user /etc - this directory contains configuration files /home - this directory contains folders for each user. Under each folder there files and folders that belong to that user. /mnt - under this directory you can find other filesystems that were mounted or attached to this system. /media - a common directory to list directories of flash drives or media such as CDs or DVDs. /bin - a directory where executable files are located. /lib - in this directory you can find shared files that are used by multiple programs. These files are similar to Windows DLL files.