Select Page
DevSpeak: Artificial Intelligence

DevSpeak: Artificial Intelligence

Artificial Intelligence (AI) often sounds like something straight out of a science fiction movie—robots taking over the world or computers that think and act like humans. But the reality of AI is much different and far less scary. AI is already a significant part of our lives, helping us in ways we might not even realize.

Artificial Intelligence, Defined

At its core, Artificial Intelligence is simply the ability of a machine to perform tasks that would normally require human intelligence. These tasks can include things like understanding language, recognizing patterns and solving problems.

AI is just a tool designed to mimic certain aspects of human thinking or behavior. But it’s important to note that AI doesn’t have feelings, consciousness, or self-awareness. It’s just a set of algorithms—basically, step-by-step instructions for processing data and making decisions based on that data.

For example, when you use voice commands to ask your smartphone for the weather, AI is at work. It understands your question, searches for the information, and provides you with an answer—all in a matter of seconds. But it’s not “thinking” the way humans do; it’s following a programmed sequence of actions based on the input it receives from you… a thinking, creative human.

General vs. Narrow AI

Now that we know what AI is, it’s crucial to understand that there are two main types: General AI and Narrow AI.

It’s a little more complicated than just General and Narrow. If you want to dive deeper into the types of AI, check out this video from IBM.

Narrow AI

This is the type of AI we interact with daily. Narrow AI (often referred to as weak AI) is designed to perform a specific task or a set of related tasks. It’s very good at what it does, but it’s limited to that particular function. A facial recognition system can identify people in photos, but it can’t play chess or write a song.

These types of AI can seem deceptively intelligent, but that’s because it’s trained to be incredibly proficient at one thing. As humans, we tend to recognize someone who is really good at something as very capable. AI is not a human. Just because it’s impressively responsive as a chat bot doesn’t mean that it has real insight or understanding of anything it’s been trained on.

Search engine algorithms are a great example of this. Google seems like it knows everything about you sometimes. It places ads at the exact right time. Have you ever gotten an ad on YouTube for something that you were just thinking about but never voiced aloud? Spookily insightful, huh?

Only it’s not. Google’s algorithm has sampled terabytes of data on literally billions of people. It is excellent at seeing the patterns and knowing that if you searched for A and you purchased B, you’re likely going to think about C sometime in the next few days. This doesn’t mean it knows you, it just knows what humans are likely to do.

General AI 

This is the kind of AI you see in movies — machines that can think, learn and apply knowledge across a wide range of tasks, just like a human. However, General AI (referred to as strong AI) doesn’t exist yet. While there’s some disagreement about how long, we’re still definitely a long way from creating a machine that can do everything a human can do.

To accomplish this, we’d need to make algorithms that can do everything the human brain can. The problem with that is that we don’t really understand how our brain does its thing entirely. Even if we can simulate the number of neurons and interconnections in a human brain (a BIG task), will that equate to learning, insight and creative thinking? Is a brain just a computer or something more is a question that science hasn’t come very close to answering.

Recent studies indicate that we may be even further from General AI than we thought. Some recent evidence suggests that human reasoning may actually be using an unprecedented macroscopic quantum system throughout our bodies, giving rise to what we think of as “consciousness”. If that or anything like it is the case, we’re orders of magnitude further from general AI that can compare to human intelligence than we thought we were.

Regarding GPT: Understanding Large Language Models

Let’s take a short digression to talk about one of the most ubiquitous forms of AI out there – the Large Language Model (LLM), used in programs such as GPT (Generative Pre-trained Transformer). Since these specialize in one of the cornerstones of civilization (communication), they’re easy to overestimate or misunderstand. After all, we typically see the ability to communicate well in humans as a sign of intelligence.

Large Language Models (LLMs) are a type of AI designed to understand and generate human-like text based on the input they receive. They are trained on vast amounts of text data, allowing them to learn patterns, grammar and even some aspects of reasoning. When you ask GPT a question or give it a prompt, it analyzes the input and generates a response that seems coherent and relevant, often mimicking human language quite convincingly.

How GPT Forms Responses

When you interact with GPT, you’re essentially giving it a prompt – a piece of text that it will use as a starting point to generate a response. GPT doesn’t “think” or “understand” the way humans do. Instead, it uses the patterns it has learned during training to predict what text is likely to come next based on the input it received.

If you ask GPT to write a story about a cat, it’ll use the knowledge it has about cats, stories and language structure to craft a response. The more detailed your prompt, the more focused and accurate its response will be. It isn’t actually composing a story… it’s just giving a response that sounds like something a human may say.

Limitations of LLMs

While LLMs like GPT are incredibly powerful, they have significant limitations:

  • Lack of understanding: LLMs do not possess true understanding or consciousness. They generate text based on patterns, not on any deeper comprehension of the world. This means that while GPT can produce text that seems intelligent, it doesn’t actually “know” anything in the way humans do.
  • Dependence on training data: LLMs are only as good as the data they’ve been trained on. If the data is biased or incomplete, the model’s responses may also be biased or inaccurate. Additionally, GPT cannot create entirely new knowledge; it only recombines and reinterprets what it has already been exposed to.
  • Inability to think critically: GPT and other LLMs cannot critically evaluate or verify information. They can sometimes generate responses that are factually incorrect or nonsensical, particularly if the prompt is ambiguous or outside the model’s training scope.

You can train a parrot to respond to specific phrases with almost conversational quips… that doesn’t mean the parrot is carrying on a conversation with you. LLMs are similar to that in lots of ways. The AI is learning what responses to a prompt are likely to be appropriate based on the data it is fed. It’s complex, but it’s still just parroting the data it’s been given.

Apocalypse, Not

One of the biggest myths about AI is that it will eventually become so intelligent that it will take over the world, causing an “AI apocalypse.” This idea is more fiction than fact.

Remember, Narrow AI is designed to do specific tasks. It can’t suddenly decide to become something else. Your AI-powered vacuum cleaner isn’t going to start plotting world domination… it’s just going to keep cleaning your floors. Even if we one day develop General AI, the idea that it would turn against us is highly speculative and far from a present concern. It’s also likely that generations of sci fi writers have been assigning scary, but fundamentally human characteristics to a theoretical, inhuman system.

In reality, AI is just another tool. As people understand more of this, another alarmist point of view has become prevalent – the idea that AI will replace all of us. Again, this goes a little far. There are parts of life that AI has already made more efficient, but it’s just a tool. 

The invention of the power drill didn’t replace carpenters. Often human expertise is still required to get the best work out of these AIs. Writing from GPT will feel choppy and generic if it’s not edited by an expert. Images generated by non-artists from Midjourney often still lack the composition and cohesion that an artistic eye with experience can bring. 

You could give me (a writer) a powerful data aggregation algorithm, and I would be totally lost and would probably just waste time on it. To a data analyst, it can be a super power for tedious and mundane tasks that previously sucked their time dry. The expertise from a real human is still required to get the best work out of AI.

Human Intelligence Boosted

Hopefully this DevSpeak gives you a lot more insight into the very broad term “AI”, and how it affects your daily life. New tech and the jargon that comes with it is often confusing, but that’s why you have DevSpeak!

This one was a mouthful for sure! Thanks for sticking with us through this deep dive on an important topic. We’ll be back soon with more explainers designed to buff your understanding of the tech world!

DevSpeak: Bandwidth, Throughput and Speed

DevSpeak: Bandwidth, Throughput and Speed

There’s a lot of jargon in the tech world. Sometimes, you may understand these terms on their face, but their nuances in relation to technology takes a bit of deeper understanding. Luckily, DevSpeak is here to have your back.

You’ve probably frequently heard terms like “bandwidth,” “throughput,” and “network speed,” especially when discussing internet connections. But what do these terms really mean, and how do they impact your online experience? For those new to tech, understanding these concepts can be confusing. People regularly lament, “but I have a fast connection!”, in response to data speed problems… but the speed of your connection is only one factor in determining data transfer speed and efficiency.

In today’s DevSpeak, we’ll dive into these terms so you can confidently understand what each does and doesn’t mean. Use this knowledge wisely to understand your digital connections better… and to not put your foot in your mouth the next time you’re having a casual conversation with a developer.

Bandwidth, Throughput, and Network Speed, Defined

Let’s grab a very basic analogy here and hold it close as we explore these terms. Think of your internet connection as a highway. There’s lots of data packets trying to get through on the highway both ways.

  • Bandwidth: Think of this as the highway itself. Bandwidth is the total width of the road—the number of lanes available for cars (data) to travel on. The more lanes you have, the more cars can travel at the same time. In technical terms, bandwidth refers to the maximum amount of data that can be transmitted over a network in a given amount of time, usually measured in megabits per second (Mbps). Just because you have a solid maximum bandwidth, however, doesn’t mean you’ll always transmit data at those speeds… highways have other things that slow down traffic.
  • Throughput: Now, consider the traffic on the highway. Throughput is the number of cars that successfully reach their destination per unit of time. Even if you have a wide highway (high bandwidth), the actual traffic (throughput) might be lower due to various factors like road conditions or accidents. In network terms, throughput is the actual amount of data that gets successfully transmitted from one point to another over a given period of time.
  • Network Speed: Finally, network speed is the time it takes for a car to travel from point A to point B. It’s influenced by both bandwidth and throughput, but also by the car’s speed (latency). If the road is clear and cars are moving fast, data reaches its destination quickly. Network speed is often what people refer to when they talk about how “fast” their internet connection is, though it’s really a combination of several factors.

Different Metrics for Different Network Capabilities

These three terms — bandwidth, throughput, and network speed — each describe different aspects of your internet connection’s performance:

  • Bandwidth determines the potential maximum capacity of your connection. Think of it as the upper limit.
  • Throughput shows how much of that potential is being used effectively, giving you a realistic measure of your current connection.
  • Network speed impacts your experience of using the internet, like how fast pages load or how quickly you can stream videos.

To continue with our highway analogy, you could have a wide road (high bandwidth) but still experience slow traffic (low throughput) due to construction work or traffic jams. Similarly, even with good traffic flow (high throughput), if your cars (data packets) aren’t moving fast enough due to speed limits (latency), you’ll feel that your network is slow.

Let’s step outside of our analogy for a minute here. Keep in mind that data transfer is a 2-way issue. While you may be sending data packets efficiently and quickly, perhaps the other side of that connection is experiencing difficulties. Maybe a data center in between the two endpoints is congested. It’s a big internet, and it takes two to tango.

Not All Connection Problems Are Equal

Understanding these distinctions helps explain why sometimes your internet feels slow even if you have a high-speed plan. For instance:

  • Congestion: Just like rush hour on a highway, too many users online at the same time can lead to lower throughput, even if you have high bandwidth. Try connecting to two games, spinning up several YouTube videos and opening 42 tabs on Chrome to experience this limiting situation.
  • Latency: If your data takes a long time to travel across the network, it doesn’t matter how much bandwidth you have—your experience will still feel sluggish. Often this can be because of how far data is traveling, or how many stops in between. A ping test to the address you’re transmitting to can give you a good idea here. Ping is measured in ms, and tells you how long a signal takes to go to the other side and come back to you.
  • Packet Loss: Imagine some cars not reaching their destination at all due to accidents. In networking, this is called packet loss, and it can drastically reduce throughput. This one can be tougher to isolate into one experience… but trying to connect on bad wifi is usually a pretty good parallel. Try sitting with your laptop outside with a yard sprinkler between yourself and your wifi router. Those water droplets are each scattering part of your data stream, leading to lost packets that never make it to your laptop or to their destination.

When troubleshooting a slow internet connection, it’s important to consider all three factors—bandwidth, throughput, and network speed. The problem is usually a combination of them, but rarely in equal proportions. Deal with the biggest issue first, then reassess the situation.

Knowledge Transmitted

Understanding the differences between bandwidth, throughput, and network speed can help you make informed decisions about your internet service and troubleshoot connection issues more effectively. Remember, a wide highway (bandwidth) doesn’t always guarantee smooth traffic (throughput), and how fast you can get from point A to point B (network speed) depends on several factors working together. Once you grasp, you’ll be better equipped to navigate the digital highway with confidence.

Hopefully this DevSpeak showed you how to more confidently conversate about these networking topics and also gave you some practical knowledge about connection problems that we all face from time to time in our digital lives.

Even if you’re not the most techy person in the world, these are important concepts that everyone should know at least a little about. We’ll be back again soon with another DevSpeak to bring you more clarity to the confusing terms tossed around tech!

DevSpeak: Encryption

DevSpeak: Encryption

Welcome back to another DevSpeak, where we decode the often confusing language of developers in a way that you can understand. Speaking of decoding, today we’re diving into a concept that is entirely ubiquitous in the web3 world… but not often understood. Today we’re diving into encryption!

If you’ve heard the term but are unsure what it really means, you’re not alone. Let’s break down what people mean when they say “encryption” and explore why it’s crucial for your digital safety.

Encryption, Defined

Encryption is a method of converting plain, readable information into a coded format that only authorized parties can decipher. If bad actors intercept your data, it’s gibberish to them without the proper cipher. Security measures use complex algorithms to ensure reliable encryption of information.

This isn’t just a process computers can do – you’ve probably encountered the idea of ciphers and code before in entertainment or history even if you don’t have super secret coded messages to send around.

You use a set of rules to replace each letter with another symbol or letter. To anyone who doesn’t know the code, the message looks like a jumble of symbols. But if you have the cipher, you can easily decode the message and read it as it was originally written. That’s the essence of encryption.

Remember these puzzles from newspapers? Classic encryption problems!

This is an old, old practice. In fact, one of the most classic examples of this is Cesarian Code, a method reportedly used by Julius Cesar to send coded messages to his legions.

Read More: Interested in knowing more about the Ceasarian cypher? 👇
https://www.sciencedirect.com/topics/computer-science/caesar-cipher

In this method, you move each letter back three positions in the alphabet, revealing the true letters. While this method is obviously not secure after kicking around for 2100 years, there are many variations that are still used in manual ciphers today.

When the Fuzzles were lost in the wormhole in 2022, they used a slightly modified version of the Cesarian cipher to communicate with Earth! For extra security and interplanar transmission strength, they altered the amount of position offset and converted the entire message to binary.

Why Encryption

So, why is encryption so important? The primary reason is privacy and security. Every time you send an email, make an online purchase, or log into your bank account, your personal information is transmitted over the internet. Without encryption, this data could be intercepted and read by cybercriminals, leading to identity theft, financial loss, or other serious breaches of privacy.

©ภัทรชัย รัตนชัยวงค์ | Licensed through Adobe Stock #826157319

Consider that when you shop online, for instance, you’re entering sensitive details like your credit card number and home address – that info is being sent from your computer to a server somewhere else, then probably to a datacenter in an entirely different location! If the website you’re using doesn’t employ encryption, those details could be easily stolen by someone who’s able to intercept the data transmission. Encryption ensures that even if someone tries to steal your information, it’s unreadable without the decryption key.

Encryption also plays a crucial role in securing communications between individuals and organizations. When you use messaging apps or email services that offer end-to-end encryption, only you and the intended recipients can read your messages – they aren’t accessible by any other party during transmission. This makes sure there’s confidentiality in conversations.

Not All Encryption is Equal

It’s important to know that not all encryption is created equal. In the most basic sense, there are two main types of encryption. Their effectiveness can vary based on how they’re implemented.

  1. Symmetric Encryption: This method uses the same key for both encrypting and decrypting information. It’s like having a single key to lock and unlock a diary. It’s fast and efficient, but the main challenge is securely sharing the key between parties. If the key is intercepted, the encryption is useless.
  2. Asymmetric Encryption: This method uses a pair of keys—a public key and a private key. The public key encrypts the information, while the private key decrypts it. This approach is like having a public lock that anyone can use to securely send you a message, but only you have the private key to unlock it. This method enhances security, especially in scenarios where secure key exchange is challenging.
Sound familiar? We dove into the details of symmetric vs asymmetric encryption in our second article in The Guardian Papers!

While encryption is a powerful tool, it’s not foolproof. The security of encrypted data depends on the strength of the encryption method, the management of encryption keys and the overall security practices you use to protect your data.

Frqfoxvlrq

In a world where our personal and professional lives are increasingly dependent on digital security, a basic understanding of encryption is more important than ever. Encryption is constantly protecting your activity every day!

Uh oh, did we leave the heading encrypted? Your first test begins!

The details of how encryption works can be complicated in practice, but the basic why and how of this practice are easy to understand. It’s about safeguarding your privacy and ensuring that only you and those you choose to share your information with can access your data.

Hopefully this DevSpeak gave you enough insight to not be totally lost the next time you go out on the town with your techy friends. We know that not everyone is or will be a tech expert, but understanding the basics of these concepts is important to not only use technology to its full potential, but also prepare you for the next wave of advancements! 

Let’s all be ready for the world of tomorrow together!

DevSpeak: Front End, Back End, Full Stack

DevSpeak: Front End, Back End, Full Stack

Have you ever been listening to someone who works deep in an obscure niche of tech talk only to realize that you only understood two out of the nine words in that last sentence? It’s ok. Most of us have been there.

Welcome back to DevSpeak, where we dispel confusion around dense tech jargon. Often people who are fully capable of understanding some big topics in technology are pushed away, simply because they don’t know the lexicon. No more! DevSpeak is here to clarify!

Today we’re diving into three terms you’ll hear pretty often across all sectors… front end, back end and full stack development!

Front End Development: The Dining Area

Imagine you’re going out to eat at a restaurant. The dining area is designed just for you down to every detail. It’s comfy and well-lit with a relaxing ambiance. The waitstaff is friendly and ready to answer your questions. It’s a polished user experience. This is similar to what front end development is all about.

Front end developers work on everything you see and interact with on a website or app. They design the layout, choose the colors, and ensure that the buttons and links work as expected. They test and make sure everything is up to the standards of the customer.

Just like how a restaurant’s dining area is crafted to create a pleasant atmosphere and make your dining experience smooth, front end developers use languages like HTML, CSS, and JavaScript to create an engaging and user-friendly interface.

Back End Development: The Kitchen and Staff

Now, think about what happens behind the scenes in the restaurant’s kitchen. The chefs prepare the food, the kitchen staff manages the inventory, and the dishwashers clean up. There is an entire different workplace with its own systems and procedures going on back there just one wall away from you!

This is what back end development is like. Back end developers work on the server, database, and application logic that you don’t see directly. They ensure that when you place an order (like submitting a form or searching for information), it gets processed correctly and the right information is delivered back to you. This is back end development. Even though it’s all working to serve your need as the user, none of it is designed for your eyes.

Full Stack Development: The Restaurant Manager

This brings us to full stack. Let’s think about the restaurant manager. This person understands both the dining experience and the kitchen operations – and more importantly, how they work together. They ensure that everything runs smoothly. They troubleshoot problems in the front of the house where customers are all the way to the back of the house where food is prepared. They handle staff, manage inventory, and resolve any issues that arise. They are often the ones who have the best context to deal with issues that affect the entire pipeline from prep table to dining room table!

This is similar to what a full stack developer does. Full stack developers are skilled in both front end and back end development. They manage the entire web development process, ensuring that the user interface and the server-side functions (work seamlessly together. Just like a restaurant manager coordinates every aspect of the restaurant, a full stack developer oversees both the visual and functional aspects of a website or app.

Now You Have the Full Stack

That’s all for this DevSpeak. These aren’t huge concepts, but they’re important pieces to understand the language developers use. Hopefully these short summaries give you a little more context and confidence to take part in the greater conversations out there about technology! We don’t all start from the same knowledge level, but that doesn’t mean that we don’t all have valuable input!

DevSpeak: Virtual Machine

DevSpeak: Virtual Machine

The world of tech is full of buzzwords and jargon that seems to change faster than many can keep up with. Never fear. DevSpeak is here! Today, we’re learning all about virtual machines!

Imagine you have a powerful computer at home, capable of handling many tasks simultaneously. Now, picture this computer being able to run not just one, but several different “mini-computers” inside it. Each of these mini-computers can run its own software, operate independently, and even have its own operating system. Sounds like science fiction? It’s actually a reality, thanks to something called a Virtual Machine (VM). If you’ve ever wondered how a single computer can do so many things at once, or how developers test software in different environments without needing multiple physical computers, you’re about to find out!

Virtual Machine, Defined

A virtual machine is basically a computer within a computer. Imagine your computer is a big, fancy hotel with several rooms. Each room can be rented out separately and has its own furniture, decor, and amenities. The hotel is your physical computer, and each room represents a virtual machine.

Just like rooms within a hotel can be used for different purposes, each virtual machine can run different types of software and operate under different operating systems (like Windows, Linux, or macOS) and perform different tasks. For example, a software developer might use one VM to test a new app on Windows, while another VM runs a different app on Linux.

Virtual Machines are incredibly useful in various situations:

  • Testing and Development: Developers often need to test their applications in different environments to ensure compatibility. Instead of buying and setting up multiple computers, they use VMs to simulate those environments.
  • Simulation of Different Environments: If you need to use software that only runs on a specific operating system, you can create a VM that runs that OS without affecting your main computer.
  • Security: By isolating potentially risky software or browsing activities within a VM, you can protect your main operating system from malware and other threats.

Better Development Through VMs

Let’s walk back to your hypothetical hotel. Regardless of how many rooms it has, those rooms are what they are and can’t be changed without sinking some remodeling money into it. Not the case with virtual machines. You can easily adjust your environments to do what you need them to when you need them to do it.

There are lots of ways that a VM could be leveraged for more effective use of digital tools, beyond just making yourself a fresh computer environment.

  • Cloud Computing: Many cloud services use VMs to provide resources on-demand. If you run a website, your traffic demands aren’t exactly consistent all the time. Cloud providers can use VMs to handle high traffic by creating more VMs to accommodate more visitors. When traffic decreases, they can easily reduce the number of VMs to optimize cost and resources.
  • Resource Efficiency: Virtual Machines maximize your use of physical hardware. Instead of having one physical server for each task, you can run multiple VMs on a single server. This not only saves space but also reduces energy consumption and hardware costs.
  • Disaster Recovery: VMs play a crucial role in backup and disaster recovery plans. If a VM crashes or gets corrupted, you can quickly restore it from a backup without affecting the entire system. This is akin to having those multiple hotel rooms in the above example. Say one room floods… you’ve got other rooms to move guests to that provide the exact same quality night’s stay.
  • Sandboxing: Developers and security professionals often use VMs as “sandboxes” where they can experiment with new software or analyze potential threats without risking their main operating system. This also can be referred to as “staging”. You copy your main environment to the stage or sandbox, then implement your changes there first. That way, if you bork your whole site or app, the part you need to stay working stays working undisturbed.

You’re Virtually an Expert Now!

In essence, Virtual Machines transform a single physical computer into a versatile, multi-functional tool.. They provide immense flexibility, efficiency and safety in computing. Whether it’s for running multiple operating systems, testing new software, or managing resources efficiently in the cloud, VMs are a cornerstone of modern technology.

Next time you use a cloud service or hear about tech-savvy developers working on different systems, you’ll be a little wiser about what this all means.


We’ll be back with another DevSpeak before too long… there’s so much jargon out there and so little time! Have a topic you want us to cover? Let us know on Discord!