# Why do many workplace PCs still run on old software?

A few reasons:

1.  Cost. Upgrading software is expensive.  If an upgraded licence costs \$50 that may not seem like much, but doing that for 5,000 machines gets really expensive really quickly.

2.  Compatibility. Very often, companies will have custom or specialized software that may not function well with newer software.  If the older software doesn’t have patches/upgrades, or those patches/upgrades are not cost effective (see point 1) you may need to keep other software downgraded in order to preserve compatibility.

3.  Security/Reliabilty. Older software – particularly in the enterprise – can be more secure and/or stable because the bugs and security holes have been patched. Newer software may introduce newer bugs that can compromise operations.

4. Usability. Not everyone is computer literate in a company and upgrading their software may confuse them to the point where they struggle to do their job until they learn the new software.

# How are hexadecimal color codes formed?

One of the ways computers store color information is Red, Green, Blue (RGB) format. What the computer does is it stores a value from 0 – 255 for each of those three colors. Some examples:

0,0,0 = Black

255,255,255 = White

255,0,0 = Pure Red

0,255,0 = Pure Green

0,0,255 = Pure Blue

And all the various combinations of colors in between. As we know, computers operate in 1’s and 0’s. Bits and bytes. In memory and on disk, it isn’t storing numbers from 0 to 255, it’s storing a single byte, from 00000000 to 11111111.

Writing out all the bits of a byte can be cumbersome, so hexadecimal is often used, because you can represent four bits with a single hex character, or 2 hex characters to represent a single byte. To show the difference, take a look at some of our previous examples in binary and hex:

Black = 00000000,00000000,00000000 or 0x000000

White = 11111111,11111111,11111111 or 0xFFFFFF

Red = 11111111,00000000,00000000 or 0xFF0000

Much more compact and simpler and easy for computers to read and interpret.

In short, when you see a hex color code, the first two characters represent the amount of red, the second two represent the amount of green, and last two represent the amount of blue.

# How can any storage device keep information once unplugged from the computer/power?

Imagine a board with four switches. And each switch has either on or off position.

Imagine there’s a bulb connected to each switch. So let’s say you have the switches in on, on, off, on position. Logically the second to last bulb is off while the rest is on.

Now disconnect the board from your circuit. Did the switches go back to some default position? No, because there isn’t any. They’re still in their last set on/off position.

So now you can store the board in your drawer for years and it will still hold the information. On, on, off, on.

Connect it to the bulbs again and you will see what you saw years ago, Bulbs 1, 2 and 4 are on while the 3rd one is off.

So the board was able to hold four bits of information for years without any power source.

# How does a computer unset a bit (set it from 1 to 0) in memory/storage?

It depends on the particular kind of storage.

In magnetic storage, like a spinning-disk hard drive, it magnetizes the region storing the bit in the opposite direction.  (In practice, hard drives write entire blocks at a time, but the technology could theoretically be managed a bit at a time.)

In typical flash storage, like in solid-state drives or external flash drives, it can’t write a single bit at a time. In order to change a bit from a 1 to a 0, it erases an entire block of memory, then rewrites the new data into it.

In DRAM, which is the typical kind of RAM in a computer, it connects the capacitor holding the bit to a current drain, which allows it to discharge.  (Similarly to others, standard DRAM actually can only write a whole line at a time, so switching a single bit means writing the previous value into all the other bits.)

In SRAM, which is typically used for things like on-CPU caches, the bit line is set to 0 and then the write line is set to 1.  The transistors switch into the alternative configuration, and then the write line is set back to 0, which causes them to maintain their current configuration until written again.

# How is it possible for ISP’s to know we are doing online? Isn’t HTTPS supposed encrypt content so it can’t be read?

The ISP (Internet Service Provider) is your mailman. They need to get packages to where they need to go. HereBeAnswers, for example, is sending you a package containing this answer. You pay the mailman monthly for a rate at which they send packages from you and to you.

HTTPS encrypts the package’s contents, however the ISP’s responsibility is still to move the package from A to B, and therefore needs to know what these A and B are. Therefore the postage address cannot be encrypted, and your ISP can track who you are exchanging packages with, be it HBA or YouTube or Netflix.

So your ISP can’t actually see what you are viewing on HBA, YouTube, or Netflix, but they can see which sites you are accessing.

# How does clearing browser cache/cookies fix a lot of website issues?

In the case of a web browser, sometimes temporary files and cookies are not current, or even become corrupted. Either way, if changes were made in the browser when trying to load, if the browser is attempting to use what is cached and it is conflicting with what the website currently has, then it can load badly or not load at all. So clearing it forces the the browser to load it as if it were visiting the page for the first time.

Also to note, sites that use a page count, such as newspapers who allow a limited number of articles to be read without a subscription, use cookies and temp files to show that this browser/pc has read x-number of articles, which would cause it to load that annoying screen prompting you to log in or subscribe. Clearing the cookies removes that reference point.

# Why are screen resolutions like 1920×1080 rather than 2000×1000?

Originally, the standard was 4:3 since several experiments found that the human eye’s field of view (FoV) was of the same ratio (155° H x 120° V). Hence it was continued as the standard for film, camera and later for TV as well.

Now Hollywood industry had to be something different compared to the home television. As a result, Hollywood came up with widescreen movies with more picture content which created the wow factor and was successful in drawing back crowds to theaters. Since there was no standards body back then, several aspect ratios started cropping up across different film houses, some of the popular ones being Panavision ratio of 2.20:1 and a much wider format called CinemaScope of ratio 2.39:1. This way, Hollywood managed to get back its audience for movies, while casual viewing at home like soap operas and news continued with the 4:3 ratio.

Going forward, to accommodate this wide array of aspect ratios under a singular standard, the geometric mean of the extreme ratios (1.33 and 2.39) was taken at approx 1.78, rounded to whole numbers as 16:9. This was done to efficiently cater to all the aspect ratios under the same screen by minimizing the presence black bars across the entire ratio spectrum.

Following this 16:9 ratio, screens were manufactured. The resolution or detail (1280×720, 1920×1080) was just a measure of the horizontal and vertical pixel array size and correspondingly, picture clarity.

# How does a database handle huge amounts of data that can be retrieved within a second?

The good news is that data isn’t stored in one giant table. It is actually made up of multiple tables.

Tools exist that then link those tables and read the information in them fairly effeciently. Oracle, MySQL, etc handle massive amounts of data pretty easily.  Because these tools don’t actually care what the data is, they just need the reference points, they can quickly retrieve the data.

Think of how RAM works: fast switching pointers. This is how you get a user’s data out of billions in a table. The software doesn’t need to know that the person’s first name is John, it just needs to know that that user’s pointer is here and it points to that table and then that table points to the next connected bit of data, etc. It is a chain of tables. Again, most of the retreival of the data isn’t getting all of the data, it is just getting the pointer.  That pointer leads to the next pointer, and so forth. Just fast swapping pointers and then one display of the data.

Big Data as it is termed, is a huge industry specifically for this challenge. It isn’t perfect, but an entire industry exists simply to find better ways to store data so that that pointer chain can be processed faster and faster.

# Why do we need IP address to be connected to internet when we have MAC address already?

There are (at least) two problems with MAC addresses:

First, they’re not always unique.

Second, they’re not routable. IP addresses are structured hierarchically, so that if I’m a router on the internet, when data to a given IP passes through me I don’t need to know that specific IP address. I can look at the first part of the address to determine roughly where in the world it should be sent. If it has this prefix, it goes to Germany, but that prefix and it goes to Brazil. (It’s a bit more complicated than that, but that’s the basic principle).

I don’t need to hold a table of all 4 billion IP addresses and remember for each and every one where in the world it is. They’re grouped together so all addresses in this range go to this ISP in that country. Once the packet reaches that ISP, they know which of their customers it should be sent to. So each router only needs to hold a relatively small amount of routing information, in order to be able to route any packet to any IP.

MAC addresses have no such structure. Any given MAC address could appear anywhere on the planet at any time. So to route data based on MAC addresses, every single router on the internet would need to know the location of every single MAC address on the internet, in order to know where to send packets destined for any particular MAC address.

# Why is HTML not considered programming?

Because HTML doesn’t do the things that that programming languages do.
It can’t make decisions and it can’t loop.  You can’t give it a list of numbers and have it sort them or find the average, something all programming languages can do. HTML is about displaying text and images and creating hyperlinks. That’s why it is a markup language and not a programming language.
That said, it is possible to embed a programming language like javascript into HTML, and once you do that, you start to incorporate programming tasks into your web pages.