Take a Bit of a Byte

The concept of a byte and why it consists of 8 bits can be traced back to the early days of computing and the development of computer architectures. When computers were first being designed, a byte was established as the fundamental unit of storage.

At that time, engineers needed a unit of storage that was large enough to represent a wide range of characters and symbols used in computing, yet small enough to be efficiently processed by the computer’s hardware. They settled on a byte consisting of 8 bits.

The choice of 8 bits was influenced by a few factors. One important consideration was that 8 bits provided enough combinations to represent a sufficiently large character set. With 8 bits, there are 2^8 (or 256) possible combinations, which allowed for the representation of a variety of alphanumeric characters, symbols, and control codes.

Another factor was the hardware design of early computers. The use of binary digits (bits) as the fundamental building blocks of data storage and processing was a natural choice due to its simplicity and compatibility with electronic circuits. Binary digits were easy to handle and manipulate within the computer’s hardware architecture.

Additionally, the use of 8 bits aligned well with the hardware architecture of many early computer systems. The design of processors, memory, and other components was often based on byte-oriented operations, where data was accessed and processed in chunks of 8 bits. The alignment of storage and processing units with 8-bit boundaries allowed for efficient data handling and operations within the computer’s architecture.

Over time, the 8-bit byte became widely adopted and standardized across various computer systems and programming languages. It remains the most common unit of storage and data representation in modern computing, providing a balance between flexibility, efficiency, and compatibility.

So, the choice of 8 bits in a byte was a result of considerations related to character representation, hardware architecture, and compatibility, ultimately becoming a widely accepted standard in the field of computing.

Unleash the Speed Demons!

Bandwidth refers to the capacity of a network connection to transmit data. It is measured in bits per second (bps). Network bandwidth determines how quickly information can be sent and received over the internet. Just like a wider pipe allows water to flow more quickly, a larger bandwidth allows more data to flow through the network.

In the computer world, the basic unit of storage is a bit, which is a 1 or 0. Bandwidth is typically measured in megabits per second (Mbps), where 1 megabit equals 1 million bits.

Transfer speed, on the other hand, is measured in bytes per second (Bps), with a capital “B” to distinguish it from bits. Bytes are a collection of 8 bits and are used to represent characters in computer systems. Want more on this subject? Check out my post on it!

Ethernet cables, such as CAT-5e or better, have a rated bandwidth of 1Gbps (1 billion bits per second). If you connect your computer to a router using an Ethernet cable, the connection between them can transfer data at up to 1Gbps. However, the connection between your router and the internet service provider (ISP) may have different ratings.

Your ISP provides you with a certain amount of bandwidth that you can use to transfer data between your home and the ISP. This is not the same as the capacity of the connection itself. ISPs often have high-capacity connections to the internet backbone, but they share the bandwidth among their customers. This means that the bandwidth you get from your ISP is the capacity you are renting, not dedicated bandwidth to you alone.

If multiple customers in your area are using the internet simultaneously, the ISP may employ oversubscription. This means they allocate less bandwidth than the sum of what all customers are paying for, assuming not everyone will use their full bandwidth simultaneously. This can lead to network congestion and higher latency.

When comparing Ethernet and wireless connections, it depends on the specific scenario. Ethernet can provide faster speeds than wireless in some cases, as it typically supports 1Gbps or higher. However, modern Wi-Fi standards like 802.11ac can support speeds of up to 3.46Gbps. In your specific case, with a strong 802.11ac connection, wireless is faster than the Ethernet connection available on your router.

Keep in mind that the maximum bandwidth available to you is determined by your ISP. If your ISP provides 150Mbps of bandwidth, the maximum theoretical transfer speed would be around 18.75MBps (Megabytes per second). However, due to factors like network congestion and shared usage in your home, you can expect to achieve around 75% of that speed, approximately 14MBps.

It’s important to remember that bandwidth is shared among users in the same network, so as more people in your home use the internet simultaneously, the available bandwidth for each individual may decrease.

Artificial What?

Over the last 2 months, there’s been a single rising star on the horizon; ChatGPT by the company OpenAI.

For those that have not heard about ChatGPT, please share what corner of the world you are living in so I can join you there in blissful ignorance of reality! For everyone else, here’s my take on ChatGPT and what it is, including some playful banter I had with the tool.

In AI, or Artificial Intelligence, a model is used to drive the output of the AI. An AI model is the development of a set of machine learning algorithms that try to emulate logical decision-making based on the data used to train the model itself. This is the basis of any AI engine, and for ChatGPT, that is the actual AI model, ChatGPT. GPT, or Generative Pre-Trained Transformer, is a type of language model that is trained on a large amount of text data with the sole purpose of generating human-like text in response. The name ChatGPT is a derivative of this, you are chatting with the GPT model that OpenAI created.

What’s the purpose of ChatGPT? Simple, to mimic a human conversation using logical responses, kinda like having a chat session with Spock. But wait, there’s more! It has also been able to write computer program code, because what’s a more logical grouping of text than program code! Also, it can compose music, which really is a mathematical construct at its core, and can also write poems, stories, even a term paper, granted, it will sometimes be very obvious a human did not write the paper just by reading it. You will see that below.

Ok, now on to the fun, let’s have a conversation with ChatGPT. I will not edit ChatGPT’s responses so you can see that in some cases, it’s pretty damned good, but in others, you can see grammatical errors and what is called “AI hallucination”.

So I start with “in layman’s terms, explain what ChatGPT is and how it can make my life better”

ChatGPT is an AI-powered language model developed by OpenAI. It’s designed to generate human-like responses to text inputs. Essentially, it’s like having a very smart computer program that can understand and respond to natural language questions and commands.

In terms of how it can make your life better, ChatGPT can be used for a variety of tasks such as answering questions, providing information, and even generating creative writing. For example, you could use ChatGPT to help with your homework by asking it questions about a topic you’re studying, or you could use it to get quick answers to questions you have throughout the day. Additionally, ChatGPT can also be used for entertainment, such as generating jokes or writing short stories. By using ChatGPT, you can save time and effort by getting information and answers more quickly, and also have some fun along the way.

Ok, so that’s probably a pretty canned response, so I decided, let’s really test this by asking “Can you expand more on how ChatGPT works”.

Sure! ChatGPT is a type of AI model called a Transformer-based language model. These models are trained on massive amounts of text data and use that training to generate new text.

ChatGPT specifically is trained on a dataset of billions of words from the internet and is capable of understanding and producing human-like text. When you input a text prompt, the model uses its understanding of language patterns and relationships between words to generate a response.

The model is based on a neural network architecture, which is a type of machine learning algorithm that is designed to recognize patterns in data. The network is trained on the text data to identify patterns in language and generate responses based on those patterns.

Once the model is trained, you can interact with it by inputting a text prompt and receiving a text response. The model uses its understanding of language to generate a response that is relevant to the input prompt. The response is generated in real-time, and the model can generate multiple responses to the same prompt, depending on the specific context and the intent behind the prompt.

Overall, ChatGPT is designed to generate human-like text responses, which makes it a powerful tool for a wide range of applications, from answering questions and providing information, to creative writing and more.

Ok, so that’s actually pretty good. Of course, my brain can’t stop there, so I asked this, “What would be a funny satireirical title”. Notice the mispelling, I had a brain fart, but ran with it because it should know what I mean and not what I type, right? It’s response was

Here’s a satirical title for you: “The Politician’s Guide to Saying Absolutely Nothing of Substance: A Step-by-Step Handbook.”

I fixed the misspelling and resubmitted it, here’s the response.

Here’s a humorous and satirical title for you:

“The Misadventures of Mr. Politician: A Guide to Being Incompetent and Getting Away with It”

Ok, the thing has a sense of humor, kinda. More like ripped from the headlines and arranged in a way to fit a satirical title, but damned that’s funny! Let’s be a little more specific now, “what is a satirical title to a blog post explaining how ChatGPT works”

Here’s a satirical title for a blog post explaining ChatGPT: “How ChatGPT is Taking Over the World: A Guide to Understanding the Rise of the AI Overlords.”

Now we are getting somewhere that’s bordering on funny and scary all in one shot! One thing to note, I am entering my responses in a chat-like window, similar to Discord, so it’s taking all previous responses into context as it responds.

Let’s try this, “What is a short, funny way of saying that using the least amount of words”

Here’s a short, funny way to say that: “AI’s takeover: a funny guide.”

I almost used that as the title of this blog post to be honest, because damned that’s good! I also decided to have it describe itself, which I then edited and ran through Dall-E 2, producing the image provided at the top of this post.

Finally, and I think this is a good closing to the blog post, I asked ChatGPT “What would you say to people who are afraid that you will make writers obsolete”. Here’s a better response than what I could ever come up with.

As an AI language model, I have been designed to assist with various language tasks, including writing. While I can generate text quickly and accurately, I do not have the creativity, originality, and personal voice that comes with human writing.

In many cases, AI language models like myself can actually help writers by providing inspiration and helping with research and editing. However, it is important to note that AI models like myself should be used as tools, not replacements, for human writers.

Additionally, writing is not just about the words on the page, but also about the emotions, perspectives, and experiences that a writer brings to the table. These unique qualities cannot be replicated by AI, and therefore, human writers will always be necessary and valued in the field of writing.

So, to those who are afraid that AI will make writers obsolete, I would say that AI language models like myself have the potential to augment and enhance the work of human writers, rather than replace them.

V for Virtual

                What is a VPN?  Well, like most things in IT it’s an acronym for Virtual Private Network.  So that makes it all clear now doesn’t it?  I’m sure if you’re here then no, that doesn’t do much to help.

                So let’s start with the Private Network part.  At home, you have multiple devices, all connected to your home network.  On this network, your devices all can talk to each other without any issue, and typically you don’t worry about that occurring.  Additionally, when someone not on your network tries to look at your traffic, your router/firewall will keep them out and prevent them from getting into your Private Network

                So, where does the Virtual part come in?  Well, a VPN creates a tunnel over the Internet between two Private Networks and encrypts all the traffic in that tunnel.  Even though you are now going over the Internet, since you have this tunnel, this Virtual Private Network, the data is heavily encrypted and secure from prying eyes.

                Why does this matter on may ask?  Well, a VPN requires a client and a server, and all traffic in-between these two endpoints are encrypted.  The servers job is to decrypt the traffic coming from the client, and encrypt the traffic going to the client.  This is where a VPN comes in to play.

                Companies such as NordVPN provide the VPN server that you rent from them, and the client is, well, your computer or phone.  What this does is create a VPN tunnel between your device and the VPN server.  When you surf the Internet, the data goes to the VPN server encrypted, then leaves from the server to the Internet as normal.  When it comes back, the server encrypts the data and sends it back.  This is how your information is safe from prying eyes on the Internet, sort of.

                When you are on public WiFi, the data is not generally encrypted, so your data is easily intercepted.  When you use a VPN is this instance, your data is encrypted over this public WiFi, which provides the security.  The caveat to this is that as data leaves the server to the Internet, it is not in the VPN tunnel any longer or encrypted, so anyone on the far side of the server can still intercept traffic that is not secured using some other method, such as SSL.

                Using a VPN is also useful when one does not want their ISP to be able to track where they are going on the Internet, or when you wish to appear like you are coming from a place other than where you physically are.  The latter is useful when you want to watch, say Netflix, and you are traveling overseas.  Due to licensing agreements, the same shows that are available when you are in the US may not be available when you are in, say, Canada, and vice versa.  By connecting to a VPN server in Canada, you are coming from a Canadian location, so you can now watch the Canadian Netflix content.

                Moving the conversation back to using a VPN, marketing would like you to think that using a VPN magically makes all your traffic invisible and safe, but, that’s not true, totally.  When you use a VPN, it shifts the risk down the road, but doesn’t remove it.  Outside of the legal implications of using a VPN to bypass geographic licensing restrictions, it’s dangerous for one to think that their traffic is completely safe just because they are using a VPN.

                First, and foremost, if you are using a VPN for security, you are putting your trust in that company providing the VPN service, because in order for them to provide you this service, they have to encrypt and decrypt the data on your behalf, meaning they have all the access to your data that you are trying to protect.  One issue with this that I see is companies like to sell data in order to turn a profit, and you are giving one company all that access now, even if you are using an SSL based connection, the VPN server has to maintain state and know where you’re going and where you’ve been.  Granted your data itself is safe in the SSL encryption, that’s only part of the story.

                It is possible to run a VPN at home or on a hosted service such as AWS or Azure, where you own the server and control the server completely.  The data is still unencrypted leaving that server, but between your device and the server it’s secure.  For instance, running a VPN server on your home network that you connect into, secures your traffic on any WiFi you may connect to, back to your home network.

               One of the big misconceptions is that VPN’s are associated with security. The perception is that a VPN will render the computer or mobile device immune malware because it is “secure”. Well, it does no such thing. Web page injection, DNS poisonings, script embedding, and any number of other avenues of attack are in no way effected by the use of a VPN.

               All the VPN does is encrypt the data, nothing more. It’s like putting your package inside a lockbox with only a sequence of numbers known only to the provider. Anyone else intercepting the box will have no idea what’s inside the box or what the source/destination is. If they sniff on the other side though, your address as the originator is still able to be deciphered in some cases.

               In closing, I hope that this helps to bring down some of the misconceptions of what a VPN is, what it isn’t, and break through some of the marketing ploys. Also think about this, these services cost money to provide, so how does these “free” VPN providers pay the bills? Well, quite frankly instead of you paying for the product, you are the product in the form of ads and data being sold. Be skeptical of the “too good to be true” situation.

               Be careful, be safe, and have a healthy dose of skepticism.

The Case of the Disappearing Files

Recently, there have been a rash of Windows 10 Updates, including both KB4532693 and KB4524244, that have caused a number of issues with users files. It stems from the update creating a temporary user profile, but not cleaning up after itself so that when the user logs back in they get that temporary profile. The issue with this is that you don’t have your expected files, and there’s a lot of convoluted steps to take that can rectify this. In some cases, the original profile get’s deleted or becomes inaccessible, Manning the files are lost.

So, one can say that it’s very easy to just not update Windows, but I say “You Fool!” That’s a good way to make life much worse. I lean back on my answer when folks ask me how do I not ever freak out about this stuff, or when crypto-locker things hit I just shrug and move forward.

My secret? Well, it’s not backups, but that’s definitely a very important way to recover from these items, and that keyword RECOVER should provide the clue. While I don’t actually backup in the traditional sense, I do keep a copy off of my computer which includes file versioning. For those not familiar with file versioning, essentially every time you change a file, that change is save, but the file previous to the change is also saved without the new changes, giving you a previous version (as it’s known in Windows Explorer) to go back to. Depending on the tech, this can also be called snapshots, but in this case, it’s simply file versioning.

What magic do I use to do this and how do I manage doing this convoluted thing? Well, it’s honestly the simplest thing to do and goes back to an old habit I developed in the enterprise space, which is to decouple the user from the data. In my case, I have an Office365 Home subscription, which includes 1TB of OneDrive storage, so I will use that for my example, but Google Drive, Box, Dropbox, OwnCloud, etc can also work. The key is that you have a mounted drive or folder on your computer that represents this service.

With OneDrive, you get a OneDrive folder under your user profile directory (C:\Users\{Username}) that acts just like another folder, but is synced automatically to OneDrive online whenever a file is changed. OneDrive also has a nice feature called Files on Demand, which only downloads files to your computer that you’ve recently accessed, but creates links to all your files. This is nice because the file looks like it’s on your computer, but if you haven’t used it in a while (14 days by default), then it only takes space in OneDrive online, not on your computer, but as soon as you want to open it, OneDrive will download it to your computer and open it for you.

So using this, what I do and suggest for others is to redirect your Documents, or any other important folder to a location in your OneDrive folder, which means that when you save a file in Documents, it’s actually being saved in your OneDrive, synced to the cloud, and versioned. This also adds the benefit that anything that can access OneDrive; your phone, tablet, or any computer with a web browser, so your documents and files are with you where ever you go.

Lastly, don’t use your Desktop for storing, well, everything. I see this so often that one can’t even find anything and get overwhelmed because their screen is just full of junk. There’s a psychological factor to having a clean desktop and keeping documents in your Documents and downloads in your Downloads. This makes everything clean and organized, and by redirecting your Documents somewhere, you are also safe from some of the things I’ve talked about above and gain some of the advantages.

If you have other ideas for folks, please leave a comment and help others protect themselves.