Posts

Showing posts from February, 2026

Commonly used Wi-Fi frequencies

Wi-Fi communications commonly use 2.4 GHz and 5 GHz frequencies. 2.4GHz has longer range and better penetration than 5 GHz. Even so 2.4 GHz has good range and penetration, it could suffer interference from other home appliances such as microwaves. 5 GHz frequency has less overlapping channels than 2.4 GHz. 5 GHz frequency has shorter range than 2.4 GHz. 5 GHz frequency is good for shorter range, it has worser than 2.4 GHz signal wall penetration. It has lower interference with common household devices. It is ideal for short range, high speed communications. Newer technology that was introduced recently is 6 GHz Wi-Fi. Wi-Fi 6 offers faster data rates than 5 GHz Wi-Fi, however it has shorter range than 2.4 and 5 GHz sygnals, and it has poorer wall penetration than these.

Introduction to TCP vs. UDP

TCP protocol is connection oriented protocol, meaning that TCP connection will be reliable. UDP protocol is connection less, meaning some of the UDP transmission packets can be lost. TCP transmissions are needed where data integrity is needed, UDP can be used in cases where some of the data packets can be lost. For example TCP is used for file transfer, you don't want to end-up with a broken file, because of data transmission issues. UDP protocol can be used for voice over IP, where loss of a packet of data does not impact conversation. UDP in this case is used to speed up the voice delivery.

Common TCP ports and TCP port ranges

TCP ports can use numerical values between 0 and 65,535. Port numbers between 0 and 1023 are well known ports. I will list a few commonly used ports: 20 and 21 are used for FTP. FTP stands for file transfer protocol. 22 is used by SSH or secure shell. It encrypts communications. 23 - is used by telnet. Telnet does not use encryption to transfer the data, so please consider using SSH instead. 25 is assigned to SMTP. SMTP stands for Simple Mail Transfer Protocol. 53 is assigned to DNS. DNS stands for Domain Name System. 67, 68 are being used by DHCP. DHCP stands for Dynamic Host Control Protocol. DHCP is responsible for dynamically assessing IP addresses. It is wise to use dynamic IPs for client machines, but not for the servers. Dynamic IPs may change, and this not you want to have for servers. 80 - is used for HTTP. HTTP uses unencrypted communication. 110 - is used by POP3, it is used to retrieve email. 137 and 139 are used by NetBIOS. 143 - IMAP. IMAP stands for Internet Mail Access ...

RDP - Remote Desktop Protocol

RDP stands for Remote Desktop Protocol. It allows to use remote desktop functionality in Windows. It uses both TCP and UDP port 3389. It is often used by IT administrators and tech support people to remotely login to those systems. If that port is publicly accessible, then it could be a security risk.

SMB - Server Message Block

SMB stands for Server Message Block. It uses TCP port 445. It is used for file and print sharing in Windows networks.

HTTTPS - secure data transfer

HTTPS is a secure version of HTTP protocol. HTTPS needs to be used whenever sensitive or private information is transmitted. For example HTTPS needs to be used in login pages or pages that contain financial information. HTTPS uses certificates that can be used to verify if the SSL certificate belongs to the address that a user attempts to use. If there is a mismatch between the address in the certificate and the address that a user attempts to use, then a browser displays a warning message. Encrypting the data comes at higher CPU utilization. Some companies choose to encrypt all web traffic to be on the safe side.

LDAP - Lightweight Directory Access Protocol

LDAP stands for Lightweight Directory Access Protocol. LDAP listens on TCP port 389. It often used to store user data and for authentication of these users. Active Directory uses LDAP to store its data. LDAP communications can be encrypted, if encrypted they use TCP port 636.

NetBIOS ports

​NetBIOS is legacy network protocol used by Windows systems. NetBIOS used TCP ports 137 and 139.

Color of the light

​Color of the light depends on the distance that light needs to travel. The longer the distance the light has to travel, redder it becomes.

Amplitude

​Amplitude is a distance between middle point to furthest one.

Size of original computers

​First computers were huge, really huge, they could take up a lot of space. For example ENIAC, one of the original computers, took up about 1800 square feet of floor space. To power that beast, it was needed to provide 150 kW of power. Today’s desktop computers are millions times faster than ENIAC.

A computer network

​A computer network is a group of interconnected computing devices. I am not limiting a computer network to simply computers, because even printer can be a part of a computer network.

How a computer program is developed?

To create a computer program a programmer or a software engineer first needs to come up with an algorithm or a process by which a program will execute. Second step in this process is to actually create a program, write a software code.

Computing systems

​Computing systems are systems that run computer programs. Example of commonly what we call a computer is a desktop computer or a notebook, however things like dishwashers, smart watches or even some light bulbs have computers built into them.

Getting unique data in Linux by running the data through uniq command

It is possible to learn about unique data in Linux, by running output through 'uniq' command. Linux uniq command will only work with sorted data. For example, if it is needed to view only unique lines in the file, such data needs to be sorted first, and then unique filter needs to be applied to it.

Sorting the output data

It is possible to sort data in a Linux system, by using 'sort' command.

Finding the exact locationof the command with 'which'

It is possible to not know which version of the file is used by specifying multiple paths in the $PATH environment variable. It is possible to learn about the location of such file with 'which' command. 'which' command will accept just the name of the file, and it will print full path of that file.

$PATH environment variable

$PATH environment variable will contain a list of folders that will be searched by default. Folders will be separated by colon. Instead of specifying the full filename of the file, it is possible just to type that file filename, if it is located in one of the paths which are specified in the $PATH variable.

Autocomplete in bash shell terminal

Autocomplete in bash shell terminal is done using tab key. It is useful when not the full name of a file needs to be typed, nut only beginning of that file is typed. It reduces number of errors associated with typing long names, and it speed up work in terminal to work with files.

Getting help for commands in Linux

It is possible to get help on how to use commands in Linux by appending --help to the command that you . want to run, or by running "man name_of_the_command". man is abbreviation of word manual. Sometimes -h will be equivalent to --help.

Physics: frequency

​Frequency is a measurement of the number of cycles an object goes through in 1 second. There may be fast moving or rotating objects and there could be slow ones. If an object is fast, than this number could be a high positive number. If this number is low, then this number will have 0 as whole part and decimal part of that number will represent number of cycles that object performs in one second. Negative values don’t make sense.

Physics: period

​Period is the amount of time needed for an object to get the same position as beginning of the repeating motion.

Physics: guesstimate or approximation

​It is good to deal with exact numbers in physics, however it is not always possible to do so. Sometimes we don’t have enough information and we need to deal with approximate numbers. For example average speed of a walking person according to Google is anywhere from 2.5 to 4.0 mph. It can be averaged to 3 mph. Average is a sum of all numbers divided by the count of these numbers, Similar to average is a mean number. Mean number is the middle number in the ordered sequence of numbers, Average and mean numbers have different meanings, even so their values maybe same.

Physics: Does the answer makes sense?

​It is important to notice if the answer make sense to the problem you are trying to solve. For example if the height of the building is 3 only feet tall. It is a rather small building, it is for kindergarten age kids only, or it is likely that the result that you had gotten is incorrect. Another pitfall to look for, are the units of measure that is received as the result. For example if a distance that a car needs to travel is in miles per hour, than it is likely that the solution was wrong. YouTube video

Physics: Units of measure

​It is important in physics to have units of measure added to the numerical value, without it, the number will have no sense. For example 400 may represent either grams, pounds, kilograms or even tons. Such units of measurement are optional and often are not being specified in mathematics. It is being assumed that units of measurement are the same and only mathematical operators needs to be performed. YouTube video

Who moved my cheese?

Image
​A book that had made big influence in my life is “Who moved my cheese?” by Dr. Spencer Jonson. It is not a big book, but has a good meaning. I highly recommend reading it. It is one the first books in my Kindle e-book library. I hope that it will make a good influence in your life too. I will not spoil what this book is about, but I highly, highly, highly recommend reading it. YouTube video

Why the productivity is low or slow?

​One of the questions that can be asked is - “why the productivity is so low or slow?” Of course it could be related to a person that writes the code. Maybe that person doesn’t have enough knowledge in order to make that change, or it could be that such a task is too complex. If this is an issue with a person, maybe that specific task is giving that person a hard time. I am not a manager, so it is difficult for me to specify employees related issues. One of the ways to determine if this is employee related issue, if such a person ALWAYS or OFTEN has these sort of issues. Maybe such a person lacks knowledge or experience. Maybe such a task was too complex to meet the deadlines that once were established for such a task. If the task was too complex, then it may be a possibility to split such a task into subtasks. Each smaller subtask will get its own work estimate, and it will be more accurate. It is foolish to wait until deadline of a project to learn that such a specific tasks experien...

Higher productivity may come at the cost of increased numbers of software bugs

​If the productivity is only measured by the time it takes to write code, then it may influence people who write that code to be sloppy in order to meet the deadlines. Not only deadlines need to be considered in such a case, but it is necessary to account for complexity of code. If code is simple, then it is possible to provide estimates, but if the code is complex, then it is difficult to provide any estimates. Long estimates may be questioned by the mangers, short duration estimates may put people who write that code to be in the uncomfortable position. They either going to be working long hours in order to meet the timeline that was given, or they going to write sloppy code, this will result in more software bugs and stress to that person that is writing that code. If the task is difficult to estimate, and it very complex, then consider splitting this task into several smaller tasks. By doing so, it will be easier to estimate duration of the main task, and it will reduce the stress ...

Default error handling in Python try/except block

​Even so it is useful to specify different ways of how errors will be handled in try/except block, there may be cases, when it is impossible to predict the type of the error that may happen. In order to handle errors of unknown type, except block with no specific error type needs to be used. It is a “catch all” case. It is specified with default keyword. YouTube video

Detail exception handling in Python

​It is possible to specify specific type of an error in except section of try/except block. This is useful to do so, if different variations of code need to be executed depending on different types of errors. YouTube video

Basic exemptions handling in Python programming language

​Whenever you write a code in Python programming language where you expect that an error may occur, then it is possible to wrap your code in try/except block. The try block is where executable code will be inserted where you expect an error. If error in the code happens, then code except block will be executed. By default except block will handle every exception, in the next article I will write about how to handle specific error types. YouTube video

Common HTML elements

There are a number of HTML elements, but I will list a few common ones. <p> - opens paragraph, </p> - closes it. <h1> - <h6> - Header text. It is bigger in size than regular page text. It needs to be used to specify title of the page, or sub titles of contents within that page. <a> </a> - It is the anchor tag. Within opening anchor tag, it is possible to specify which page, or section of the page need to be opened. It is also possible to specify how the new web page needs to be opened. <span> </span> - This is is an inline HTML element which usually used to specify special styling for its content. <blockquote> </blockquote> - is used to specify a quote from another source. <br> - line break. This is self closing tag. Another common use of this tag is <br />. both options are acceptable by majority of web browsers. <img> - this tag specifies which image needs to be used. <hr> - this tag places horizontal...

HTML doctype element

Image
HTML doctype element tells which version of HTML needs to be used, and to which version of HTML this document conforms to. Over the years HTML format had been evolved. The type of HTML we use today is different from type of HTML was used in the early days of HTML. YouTube video

Relationship of HTML elements

Image
HTML elements have parent - child relationship. Top HTML element is a parent of the HTML element that is included in it. For example <body> element opens visible portion of a web page, all other html elements will be children of it. In other words HTML elements are nested within one another. YouTube video

HTML elements

Image
HTML elements typically have opening and closing tag. Between opening and closing tags there is content that is included in these tags. This content is displayed by an Internet browser, how it is displayed depends on the browser that clients use, and how well it conforms to HTML standards. YouTube video

POP3 TCP port

Image
POP3 TCP port is used to retrieve email. POP3 uses TCP port 110 for unsecure connections and TCP port 995 for secure connection. YouTube video

Headset

Image
​A headset is a device that can be worn overhead to allow for better quality of voice during conversations using a computer. A headset includes both a microphone and a speaker. In order to use a headset it maybe needed to select headset’s microphone and a speaker to be used by the operating system for audio. YouTube video

Touch-pen

Image
​Touch-pen can be used to provide penmanship experience to the devices that support this sort of functionality. Touch-pen with a battery is also pressure sensitive, so it is possible to draw thicker lines in a drawing application. Touch-pens with a battery are more expensive than those that do not require one. Touch-pen is also known as a stylus. Touch-pens provide better control, so it is good to have touch-pens for drawing applications. Touch-pens can also be used to capture written text. YouTube video

Touchscreen / digitizer

Image
​Some screens are made that they are touch sensitive. Touch sensitivity is provided by transparent layer before the display. YouTube video

Laptop’s built-in camera

Image
​A laptop’s built-in camera is usually found at the top center of a display. Microphone for this camera is also located in a close proximity of it. When such camera is replaced, it is important to align it properly. A camera that points to wrong direction may not capture things properly or its view may be obstructed by the display. The microphone for this camera is located to close proximity of it. This microphone if obstructed may cause sound issues. YouTube camera

Wi-Fi antenna in a laptop

​Wi-Fi antenna in a laptop is typically routed behind a screen of a laptop at the perimeter of that screen. Work with it requires to be very careful. If it is broken, then maybe it is a good idea to get USB Wi-Fi dongle. It will be less expensive than fixing laptop’s Wi-Fi antenna, and it will avoid potential of a damage. YouTube video

OLED displays

​Letter O in OLED stands for organic. Such displays are flexible, therefore it is possible to have curved displays with such technology. YouTube video

LCD display types

​There are several versions of LCD display type. Abbreviations for these are TN,  iPS, VA. I will go over each type separately. IPS stands for in-plain switching. It is a fancy version of this display type. It is good at displaying colors from all angles. People who work with computer graphics will enjoy this type of a display. TN stands for Twisted Nematic. TN displayed are fast. TN displays are good for video games. VA type of display is in the middle between IPS and TN displays. They are better at displaying colors than TN type of display, colors are also better than in TN type. VA displays are good at showing black, so VA displays are good for watching movies. YouTube video

LCD and LED screens

​There are two common types of displays today used for flat screens and screens of mobile devices. These are LCD and LED screens. LCD stands for Liquid Crystal Display. LED stands for light emitting diode. LED screens are thinner than LCD screens, because LCD screens need lighting behind them. LCD screens require more energy than LED screens. In LED screens, each pixel generates light, therefore LED screens can be thinner. LED screens show better colors in comparison with LCD screens. Black color is also better with LED type screen than with LCD. YouTube video

NFC - Near Field Communication

​Term NFC stands for Near Field Communication. NFC functionality is found primarily in mobile devices. YouTube video

IP port banners may reveal useful data

IP port banners may reveal useful data. In addition to the information that it is possible to connect to that port, it is possible to find out what software and which versions are running on that system. Such information can be useful to correlate this information with vulnerabilities which are available for that version of software. I am just providing information here, please ONLY do it against the systems that you own. Retrieving such information from systems that you don’t own may be considered a hacking attempt and may be punishable by law. YouTube video

FICO scores

​FICO scores indicate risk of issuing a credit to a person or a company. Individual FICO scores range from 300 to 850. The higher the score is, the better personal credit rating. Companies credit FICO scores range from 0 to 300. High score means low risk lending money. There are number of factors that influence credit rating. YouTube video

Liquidity issues

​Liquidity issues are financial issues. Many companies borrow money from financial institutions and at some point of time payments need to be made. If payments are done in time, then there is no problem, however if the payments are delayed and there are issues to make these, then the owners of this company feel uneasy. I cannot recommend a silver bullet of how to resolve these, I just give the definition here of what liquidity issues are. YouTube video

Beyond the Training Loop: 5 Impactful Realities of Modern Machine Learning

1. The Model That Disappeared: A Lesson in Architectural Debt The most costly failures in machine learning are rarely mathematical; they are structural. Consider the common engineering tragedy: after exhaustive data cleaning and high-compute training, a developer achieves a model with 98% accuracy. It is a technical triumph until the environment is reset or the session terminates. Without a persisted state, documented weights, or a reproducible path, the model is effectively vaporware. This frustration highlights a critical industry bottleneck: the tendency to view machine learning as a "science project" rather than a production asset. Shifting toward high-signal engineering requires acknowledging that ML is not merely a collection of algorithms—it is a rigorous, multi-stage lifecycle. Without a strategy for architectural durability and idempotency, even the most accurate models represent little more than technical debt. 2. Machine Learning is a Lifecycle, Not a One-Off Event...

A webcam

Image
A webcam is device to capture video. Video conferencing require a web cam. Some of the laptop computers come with built-in camera. If that camera breaks, than it is easier to get a webcam, rather then fixing a built-in camera, because it is a time consuming process. Getting a webcam is a cheaper option then to fix a built-in camera. YouTube video

A speaker

Image
A speaker is a hardware device to play sounds. Speakers can have multiple configurations to provide mono, stereo, or surround sound. YouTube video

Headset

Image
A headset is a comfortable way of making audio conversations over a computer. A headset device has a headphone or many headphones and a microphone to capture the sound. A headset device is worn over head and offer hands free conversations. YouTube video

Computer’s power supply

​Computer’s power supply or abbreviated as PSU is the source of power to that computer’s components. Majority of computer components will require power.

Connectors at the back of a computer

​At the back of your computer you will find many connections that are part of that computer’s motherboard. You can find multiple USB connections, a connection for a monitor, if your motherboard supports video functionality,  Older computers may have PS/2 connections for a keyboard and a computer mouse. These had been replaced with USB keyboard and a computer mouse. These can also be wireless using Bluetooth technology. Network Ethernet port can be a part of a computer motherboard, and Ethernet connection can be found at the back of a computer. However dedicated network cards can provide better functionality. Dedicated network cards are usually found in the server systems, desktop systems generally will not require a dedicated network card. Wired network connectivity had been replaced in many homes with WiFi, therefore a need for physical cable is limited. Audio connections can also be found at the back of a computer. Number of connections will depend on what type of sound is suppor...

Optical drives

​Optical drives also can be found at the front of a computer case. This is considered an older technology, so new computers may not have these installed. These had been replaced with flash drives and external disks. CD and DVD media can be used with such drives. Please note that majority of DVD readers will be capable of reading CD media.

Front of a computer case

​At the front of a computer case you can find several jacks to connect audio equipment. There can be headphones jack and a microphone jack. Additionally there could be one or several USB ports to plug in USB devices that you have. It is big convenience to have them at the front of a computer, otherwise a person needs to reach out to the back of one to use such ports. Some older systems may have FireWire port at the front too.

System case

Computer system cases can be different sizes. There can be small, medium and large system cases. There could be also all-in-one computer unit. Regular computers can be upgraded, or enhanced with additional functionality. However all-in-one computer has limited upgrade ability. You can replace memory, or install a bigger long-term storage disk there, but this is about all of the enhancements you can do with such a system. Adding hardware to a regular system unit is much easier than adding hardware to all-in-one system unit. Number of devices will depend on availability of expansion slots and power support by the power supply unit.

Responsibilities of an operating system

​There are three things that an operating system needs to do: 1. Manage hardware access. 2. Provide user interface. 3. Manage files and applications. Managing hardware is either built-in into an operating system. For example an operating system knows how to operate long term storage disks. If an operating system doesn’t know how to operate a device, than it is responsibility of that device manufacturer to provide drivers for that hardware, so an operating system knows how to use it. For example video cards may be used by the operating system using a generic video cards may driver, but to use this video card at full capacity, a driver from this card manufacturer is needed. Some devices use “plug-and-play” model. Generic drivers of how to use such hardware is available with the operating system, however to use full functionality of such hardware, the device driver from the manufacturer maybe needed.

Data analysis

​Data analysis is a process of reviewing and understanding data, based on that analysis conclusions can be made.

Repeating same password at multiple places maybe dangerous

​Repeating same password for email, social media accounts, and work account could be dangerous, because hacking one of the accounts can expose other accounts too. Passwords for such accounts must be unique.

Dangers of BOD

​BOD or bring your own device to work had eased employees work with computing equipment, however at the same time it had increased chances of malicious activity. Home computers may not have same strict level of information security as a company may have, and computing equipment may get infected with malware at home, therefore when it is connected to work network may represent a danger.

Digital threats

​For a security engineer it important to understand threat types that can cause digital harm. The threats are: Malware - malicious software that can impact a computer operation. Malware is available in different types. Ransomware - this is a malicious type of software that makes certain functionality of computers software not available until the payment is made. Be aware that making a payment does not guarantee that software functionality will be restored. Denial of service - the Internet resource can be bombarded or flooded with requests that makes that resource not available for legitimate users. DDOS is abbreviation of Distributed Denial of Service, this is DOS attack that is performed by multiple clients. Spam - email messages that takes a user that clicks on the links in such a message to sites that are harmful to a user. Anti spam filters is a good protection from spam messages. Gmail for example uses spam detection technology for all incoming emails. Most of spam emails end-up i...

Day-to-day tasks of a security engineer

​Day-to-day tasks of a security engineer may include the following: - perform security assessment  - making solutions to patch security vulnerabilities  - research cyber criminals that can exploit your business. If it is an interest to you, then it is likely a job for you.

Attention to detail is needed for a security engineer

​Attention to details is an important and an essential characteristic of a security engineer. Without it, it is easy to miss a configuration change that may lead to a security breach.

Continuous learning is needed for a security engineer

​Some professions change slowly, however it is not the case with IT security jobs. It could be a bad thing for some people and a good thing for others. Continuous learning is needed in this field. New exploits are found frequently, and a person doing IT security jobs needs to learn continuously. It means reading Internet articles, vendors notifications, attending meetings and seminars.

Security engineers are in demand now

​Security engineers such as cybersecurity analyst, cybersecurity and security engineers are in demand now. If you are interested in this career field then it is an exciting career choice. Pay is good too.

Identify theft

Identify theft is an illegal activity of stealing personal information often for financial gain. Identify theft can happen both online and offline. Examples of identity theft includes: Example of protection from identity theft or dealing with one: Blocking creation of accounts under your name. Review your financial activity often for unrecognized transactions. Use secure passwords, for sensitive accounts use multi-factor authentication. Don’t share personal information with strangers. Be vigilant for phishing attempts. Make sure that your wireless network is secure. Order credit unions reports that will uncover if credits had been opened under your name.

Cyberattack

​Cyberattack is an attempt to use computer equipment to steal private information or damage resources that are stored in computers.

HTTPS

​Letter S at the end of HTTPS stands for secure. Data that is transmitted using HTTPS connection is secured. In cases when sensitive information needs to be transmitted over Internet such as financial or personal information HTTPS needs to be used. Encryption of data requires more processing resources, therefore transferring data over HTTPS requires more processing resources. Some sites redirect from HTTP to HTTPS by default. I think this is done with a purpose of not having headaches with sensitive data being transmitted not encrypted.

HTTP - Hypertext Transfer Protocol

​HTTP uses TCP port 80 for UNSECURED online communication.

DHCP - Dynamic Host Control Protocol

​DHCP stands for Dynamic Host Control Protocol. It uses UDP ports 67 and 68. Port 67 is used for server side communication and port 68 is used for client communication. The purpose of DHCP is dynamically assigning IP addresses to the clients, assuming of DNS servers and gateways to other networks. It helps to avoid manual configuration, therefore it simplifies configuration, and it dynamically assigns DNS servers to clients.

Issues with DNS may cause slow network performance

​Since DNS is responsible for translating human readable names into numbers that are understandable by computers, DNS is a critical part of operations of a computer network. Issues with DNS may cause slow network performance.

DNS network ports

​DNS uses port 53 for its operations. DNS uses both TCP and UDP protocols for its operations. TCP protocol is being used for zone transfer and UDP protocol is being used for queries. DNS translates names such google.com into numbers, other operation to translate numbers into names is also possible.

DNS hierarchy

​The DNS data is distributed across many different DNS servers. Each server is responsible for their part of the names. When a DNS query is made this request is send to a DNS server which is responsible for that name. At the top of public DNS server structure are top level DNS servers. These servers have information what DNS servers have information about specific zones, such as .com, .net, .org and so on. These servers also have information which DNS servers have information about a specific domain.

DNS - Domain Name System

​DNS stands for Domain Name System. It used to translate human understandable names such as Google.com to the machine understandable IP addresses or numbers. Reverse DNS operation is also possible, to lookup the human readable name by an IP address.

SMTP - Simple Mail Transer Protocol

​SMTP or Simple Mail Transfer Protocol uses TCP port 25 to send outgoing email. This port is often blocked by ISPs (or Internet Service Providers) to prevent spam. SMTP sends data unencrypted, such data can be captured.

Telnet connection

​Telnet connection uses TCP port 23 for communication. Telnet is found in many Unix like systems or networking equipment. Telnet communication is not encrypted, so anyone that is able to capture Telnet data is able to retrieve sensitive information. Telnet is mostly had been replaced with SSH, SSH communication offers encryption. Telnet may be found in some legacy systems.

SSH connection

​SSH connection is a secure connection to remote machines running SSH server software. SSH offers both remote connection and data transfer.

FTP connection

​There are two TCP protocols for FTP. These are ports 20 and 21. Port 20 is used for commands, port 21 is used for data transfer. Please be aware that FTP transactions are not encrypted and these data can be captured. Secure alternatives for FTP include FTPS and SFTP.

Data synchronization

​Data needs to be synchronized with network services. For example email data needs to be synchronized by the client application with online service in order to reflect latest changes. Many email clients synchronize automatically, however it may depend on the email client application settings. If manual synchronization is chosen, than that email message will not be shown unless synchronization is performed. There could be data synchronization issues related to network connectivity, or login credentials. If data synchronization is done over metered mobile connection, it may quickly use data allowance.

Cellular data

​Cellular data may have speed or data limitations. Please check it with your plan and carrier. To avoid excessive mobile data usage, it is possible to use WiFi connection whenever it is available. Speed of cellular data will depend on the data allowance, usage, and cellular coverage. If cellular coverage is poor, than cellular data speed is going to be slow.

Conflict of interests needs to be resolved by HR

​Conflict of interests in a business occurs when personal interests interfere with business interests. For example if the individual has similar business on a side as the business where that person is employed, than such a business may represent a conflict of interests. An HR person needs to be involved to understand if a person has a conflict of interests.

Personal conflict of interests

​Personal conflict of interest at work becomes an issue when that person job interferes with that person’s individual interests. For example if a relative works for the same company as that individual, than taking care of needs if that person may become more valuable than take care of needs of that business.

Interest rate risk

​Interest rate risk is a risk of interest rates to go up. In the case of interest rates going up, the payment that loan is also going to go up. Most of credit cards have flexible interest rates, so individuals can also be exposed to such a risk, it is not only a business risk.

Financial risk - credit risk

​Credit risk is a risk of getting a loan for business operations or expenses. I am not a business person, but in my opinion if a company gets a loan for day to day operations, than this company is in a bad shape. A loan may be obtained for a new building or for new equipment.

Enterprise risk

​Enterprise risk is a risk that such a business will seize to exist. Fir example if a business has only one main building and that building burns down, that business may seize to exist.

Financial risk

​Financial risk is a chance of losing money. Financial risk can be personal or it can be associated with a company. If a person looses a job there is high chance of having financial risk. There are several financial risks associated with companies. I will outline a few, but there could be more. Products of the company can be no longer be in demand, poor management in the company, competition releases similar products.

Risk

​Risk in a business sense is a potential of financial loss. There may be a high risk or low risk. It depends on what financial impact that risk has.

for loop

​The simplest form of a loop is a for loop. for loop specifies initial configuration of the loop variable, the exit condition and optionally a change of a variable with each iteration. By default if a step of changing variable value is not specified, then with each iteration of this loop, loop variable will be adjusted by one.

A loop in programming

​A loop in programming is way to perform multiple iterations of code execution. There are three options of loops, I will cover each one separately.

Combine statements within an if statement

​It is possible to combine conditions that are inside of an if statement with the help of AND and OR statements. AND statement is used to perform a Boolean expression that combines results of each condition, and only if all of the conditions are true then entire condition evaluates to TRUE. OR condition just like AND condition is used to perform Boolean operations on the results of expressions. If any of the expressions evaluate to TRUE, then entire condition evaluates to TRUE. I think that operation with OR conditions can be simplified. If first occurrence of such a condition evaluates to TRUE, then there is no need to evaluate conditions any further.

if control statements

​if control statements is way to conditionally execute code depending on the condition that is within of statement. I will explain more about if statements.

Computer dictionaries

​A computer dictionary is a way to store and efficiently access related information in code. A dictionary consists of elements that have a key and the value. For example keys can be “first” and “last”. Computer dictionaries make more sense than arrays.

Introduction to OOP (Object Oriented Programming)

​Object Oriented Programming (OOP) is used to speed up complex development time. OOP defines classes that can be reused by several different objects. Classes define properties and methods that can be used by that object. For example if a class is a car. Then speed of the car is going to be that class property. Actions of that class are going to be accelerate or break.

A module in programming

​A module in programming is a piece of code that can be reused in other applications. The benefit of having modules is that modules speed up development time. Modules can be used to provide generic functionality that will be common to many programs.

Customers feedback

​Another important source of information is other users feedback. Such feedback is a good resource of information for other customers to make an informed buying decision about a product. Such information is also a good source of information for the vendor to learn about issues or defects with a product. Of course in a case of e-commerce someone from the company or customers needs to reed such textual feedback, numeric rating numbers can be used to alter position of a product in the product listing. Products with bad feedback can be pushed to the bottom, and products with good feedback can be pushed to the top. Textual feedback is often paired with rating system. If you shop at Amazon for example, a product will have 1-5 stars. If a product is good, then customers more likely to give it high rating, but if a product is bad, then its rating is going to be low. Such data can later be used to alter presentation of bad products by lowering priority of their display to customers, or disconti...

Data-driven business decisions

​Data-driven data decisions are decisions made based on metrics. For example it is possible to identify most sellable product, or most returnable product or a product that has a lot of visits, but it has only few sales. Digital products can also have such metrics. This information is useful to identify what is popular and what is not. This information also useful to identify quality issues with a physical product. In addition to metrics, products may have rating and reviews from users. These are useful to learn about this product to other customers and the vendor that advertises these.

Digital products

​Digital products are the products that can be obtained electronically. For example a book for sale in electronic format is a digital product, a music or song that can be downloaded is a digital product, an online course is a digital product.

A computer’s algorithm

​A computer algorithm is an outline of what a computer program is supposed to do. A benefit of having an algorithm is that having one it forces a human to think about steps that are needed for the code to do. An algorithm can be written down or it can be in a person’s head, if the change is small.

Computing systems

​A computing system is a system that runs programs and store information. For example it can be a desktop computer, or it can be a refrigerator with smart panel on it, or Evan it can be a smart bulb.

Numbering systems

​There are three main numbering systems that are in use today. People are used to use numbers from 0 to 9. These are basic numbers, but using these basic numbers we can represent even complex numbers such as 53841. Computers use two main numbering systems: binary, or 0 and 1 numbers, and hexadecimal numbers, these are numbers from 0 to F. Just like with decimal system it is possible to represent large numbers, it is also possible with these numbering systems represent very high numbers. Binary system has only two numbers. These numbers are 0 and 1. Computers use transistors and 0 represents absence of a signal and 1 represents availability of it. Hexadecimal systems is used to group binary numbers together and go beyond just 0 and 1. Hexadecimal system has 8 bits and it is possible to represent a number as high as 255. However, you can question me. A computer can represent numbers higher than 255. Of course they can. In order to do so more than a single byte needs to be used.

Learning from others

​It is false way of thinking that yourself knows everything. -You may know a lot, but one of the things that is needed for an IT person is to know how to listen to others. Other people may represent a valid point that you did not think, or may be it is necessary to explain your point of view.

Collaboration is important for an IT person

​An IT person doesn’t work alone. That person usually works with clients or people who needs computer help, and that person also works with fellow employees. Communication is important for such a person. That person is not a lone wolf. Communication maybe verbal, in this case, a person needs to know how to express his or her opinion verbally. Verbal communication could be one on one with another person, or with a group of people. Communication can be verbal or communication can be in electronic form, such email, instant messaging or post in electronic board. Regardless of type of medium used, such a person needs to behave timely and professionally. Please prepare to provide more details, when using electronic communication. It is easy to provide details when verbal communication happens, however it may take some time when a request for more information is sent via electronic form of communication. It is a false way of thinking that you know everything right, another person may represen...

Time management

​It is a good idea to give yourself a little bit of buffer when estimating how long a specific computer related work is going to take. When I was young then it was a problem for me. I don’t want to see you in a difficult situation. It is good to have a buffer, if a job takes less time, then a person for whom such work is done will be happy, but if low estimates are given and the work takes longer time, then that person will be unhappy, and you will find yourself in a difficult situation too.

Troubleshooting of computer issues is one of the responsibilities of an IT professional

​Troubleshooting of computer issues is one of the responsibilities that an IT professional needs to be doing. Such a person needs to understand common hardware and software related problems and ways to fix these. If an IT professional doesn’t have this knowledge, then it is a good idea for that person to read some books, watch videos, tinker with computer equipment where it is safe to do it, preferably at home and not at the workplace.

Firewall management

​Firewall management is probably not one of the things that a system administrator would need do. Having dedicated network personnel, that have good experience doing this work is a good idea. Regardless of that a system administrator needs to have a good idea of what firewall rules do and what v-lan is and how it separates network traffic. I never was a network person, so I just give you basics here, a dedicated network person will know more about this topic. Firewall rules define what type of network traffic is allowed and what network traffic is not allowed. Firewall rules will also specify which systems are allowed to handle the specific traffic.

Management of networking equipment is one of the responsibilities of an IT person

Image
​One of the responsibilities of an IT person is to configure and manage networking equipment. Of course management of switches and firewalls is a good idea to hand over to dedicated networking people, but an IT person needs to know at least basics of computer networking. A system administrator may not know all of the specifics of firewall rules, or how to manage networking equipment, but such a person needs to have basic knowledge of these actions.  Developers do not require this skillset. YouTube video

Operating system user permissions

Image
​To successfully troubleshoot or install additional software proper operating system user permissions are needed. Regular user can use a computer, however installing software usually requires additional permissions. Lower permissions are done for a regular user to use a computer, but don’t give that user permissions to change vital systems settings. This is done in order to safeguard that user. Users may have different computer knowledge, some people know just a little bit, but some people know more. People with very limited computer knowledge are usually safeguarded from changing advanced computer settings, however computer users with advanced computer knowledge may feel boarded and feel micromanaged if such permissions are applied to their computer accounts. It maybe a good idea to separate your advanced computer users from regular computer users. Advanced computer users will include software developers, technicians, database administrators. I had excluded from this list system admin...

What does a computer specialist do?

Image
​A computer specialist manages computer systems. The quantity of computer systems to manage depends on the size of a company that person works for. Both good hardware and software skills may be needed for this job. I will start with basics here, and I hope that I can expand my writing to more advanced topics. Some of the systems are within walking distance, however some are remote. In this case troubleshooting of software and hardware issues can be done remotely, assuming that these issues allow logging to the computer remotely. Most of modern operating systems allow remote connectivity, however some of the issues require repair of that computer physical components, in such a case a human involvement is needed. I hope that I can cover more advanced topics such as development later. YouTube video

HTTP sessions

Image
​HTTP sessions are used to store information for HTTP requests that make browsing persistent. For example session information may contain information such as user logged in or not. HTTP sessions use cookie files to store data. Session id is randomized therefore cookie filename will also be randomized. Typically a session data is deleted after a web browser gets closed. However browser cookies can be used along with session data which can make online behavior persistent even after a web browser is closed and reopened. YouTube video

Stylus

Image
A stylus is an input device similar to a computer mouse. There two common types of styluses. These are active and passive stylus, An active stylus uses battery power to perform its operations, a passive stylus does not need one. Active styluses usually have pressure sensitivity feature. Active styluses are commonly used by computer graphics people. YouTube video

Indentation is important in Python code

Image
​Indentation is important in Python code. Writing a program in other programming languages may indicate a piece of code that needs to be executed together by starting and closing curly brackets. It is not so in Python programming. Python code uses indentation to indicate a beginning of code, and the indentation ends means that that logic is over. Using indentation to separate code into logic blocks makes code look cleaner than using curly brackets. Using indentation forces a developer to write nice looking code.

Installing Python programming language packages

Image
​A programming language package is a piece of software that had been already written and tested. These modules can be installed using ‘pip’ utility to be used with Python programming language. Such packages can speed up development time, since a developer needs to focus only on core functionality and not on the specifics of common functionality. pip modules had been tested by the community and are generally a good quality. YouTube video

Different run levels

Image
​Linux has different run levels, or the way a system starts or shut down. Different scripts maybe needed to run depending on the run level selected. For example, if a graphical run level is selected, then a graphical user environment needs to be loaded, it is not needed in a text only mode. There are seven Linux run levels. 0 - halting of the system. 1 - single user mode. In this mode a minimum number of different scripts run at system startup. 2-5 run levels from 2 to 5 are multiuser run levels. 6 - sixth run level is used to reboot the system. YouTube video

Priority of rc startup scripts

Image
​Priority of running rc startup scripts is specified with a numerical prefix in the filename of the script. Lower number means higher priority and higher number means lower priority. YouTube video

rc Linux startup scripts

Image
​rc scripts are scripts to run whenever Linux system starts. There are multiple ways how a Linux system can start in text mode or graphical mode for example. I am skipping a few start levels. Each start level will need to run specific startup scripts. YouTube video

Tethering

Image
Tethering allows sharing of Internet connection via USB, Bluetooth or Wi-Fi. YouTube video

Bluetooth

Image
Bluetooth is another short range wireless technology that is primarily used to transfer audio. Bluetooth can be integrated into speakers, or headphones. Bluetooth technology can also be used in such computing devices as keyboard or mouse. YouTube video

NFC - Nearfield communication

Image
 NFC is an acronym for nearfield communication. NFC communication is short-range, typically it is about 4 cm. NFC is typically used for contactless payments or payments which are done with mobile phones. YouTube video

Lightning connector

Image
Lightning connector is Apple's proprietary connection type. It had been used in iPhones and iPads. Apple transitions using USB-C connector for its devices. YouTube video

Micro USB connector

Image
Micro USB connector is an older type of connection that could be found on mobile phones, or portable devices such as tablets. USB-C had been replaced micro USB connection. If you are working with older technology, than such a connection could be found there. Micro USB is not reversable and fragile, so don't force it.  YouTube video

The Art of the "Close Enough": 5 Mind-Bending Lessons from Approximation Algorithms

1. The Perfection Trap In the clinical, idealized world of introductory computer science, every problem has an elegant, exact answer. But as we transition from the classroom to the chaotic architecture of reality, we collide with the "NP-hard" problems—computational giants like the Traveling Salesperson or the Steiner Tree. These are not merely "difficult"; they are effectively unsolvable in their worst-case scenarios within any reasonable human timeframe. If we demand perfection, we find ourselves paralyzed by exponential time. Approximation algorithms offer an escape from this perfection trap. They represent a fundamental shift in our goals: we stop hunting for the elusive optimal solution (OPT) and instead design algorithms (ALG) that produce results with a mathematical guarantee of quality. These are not "heuristics"—the digital equivalent of a finger in the wind—but rigorous compromises. By accepting a fixed approximation factor (α), we trade the impo...

USB-C supports charging

Image
USB-C connection support charging. This type of connection can be found in many mobile devices. YouTube video

USB-C supports video transfer

Image
USB-C connection is fast enough to transfer video data, in fact this connection type can be used to transfer video. Youtube video

Beyond the Hype: 5 Surprising Realities of How AI Actually "Thinks"

Introduction: The Gap Between Sci-Fi and State Space In the popular imagination, artificial intelligence is a shimmering mirage of sentience—humanoid machines that "think" through a spark of consciousness. However, from the perspective of an AI strategist, the reality is far more rigorous and, in many ways, more fascinating. AI does not "feel" its way through a problem; it navigates a mathematical construct known as a state space. The gulf between science fiction and technical reality explains why the field's pioneers were so famously over-optimistic. They mistook the ability to perform high-level symbolic reasoning for the possession of general intelligence. To truly understand the current trajectory of AI, one must look past the hype at the five foundational realities that define how these systems actually operate. -------------------------------------------------------------------------------- 1. The "10-Year" Mirage and the Hard Truth of Logic The ...