Select Page
DevSpeak: Algorithms

DevSpeak: Algorithms

Welcome back to DevSpeak, where we demystify the often confusing jargon that developers use. Today, we’re tackling a term you’ve probably heard a lot: “algorithm.” Algorithms are fundamental to programming and technology, but what exactly are they? Let’s break it down.

Algorithm, Defined

At its core, an algorithm is simply a set of instructions or a step-by-step guide designed to perform a specific task or solve a problem. Think of it like a recipe in a cookbook. When you follow a recipe to bake a cake, you’re executing an algorithm. You have a clear list of ingredients (inputs) and detailed steps (instructions) to transform those ingredients into a cake (output).

Al·go·rithm
/ALɡəˌrithəm/

NOUN – a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.

LEARN MORE:
“What is an Algorithm? Introduction to Algorithms” – GeeksforGeeks.org, June 4th, 2024

Why Algorithms?

via GIPHY

Algorithms are everywhere in the tech world, essential for making software and hardware function correctly. They are used to process data, make decisions and automate repetitive tasks. From sorting data in a spreadsheet to finding the shortest path in Google Maps, algorithms are behind the scenes making things work smoothly and efficiently.

Imagine you’re planning a road trip. You want to find the quickest route from your home to a distant city. You input your starting point and destination into a GPS app. The app uses an algorithm to analyze various possible routes, considering distance, traffic, and road conditions to suggest the best path. This algorithm ensures you get to your destination efficiently.

Types of Algorithms

Algorithms come in various types, each suited for different tasks. Here are a few common ones:

Sorting Algorithms: These arrange data in a particular order. Examples include QuickSort and MergeSort.

Search Algorithms: These find specific data within a large dataset. Examples include Binary Search and Linear Search.

Compression Algorithms: These reduce the size of data for storage or transmission. Examples include ZIP and JPEG compression.

Encryption Algorithms: These protect data by converting it into a secure format. Examples include AES and RSA.

LEARN MORE:


“What is an Algorithm? Defining and Applying Algorithms” – Forbes Tech, January 2024

Algorithms in Web3

In the context of Web3, algorithms play a critical role in blockchain technology and decentralized systems. They ensure the integrity, security and efficiency of web3 powered platforms and blockchains themselves. For instance, consensus algorithms like Proof of Work (PoW) and Proof of Stake (PoS) are vital for validating transactions and maintaining a blockchain’s integrity.

Algorithms in Action: Smart Contracts

Smart contracts are self-executing contracts with the terms directly written into code. Algorithms within these contracts automatically enforce and execute the terms when predefined conditions are met, ensuring transparency and reducing the need for intermediaries. 

SEO and Algorithms

Search engines like Google use complex algorithms to rank websites. These algorithms evaluate hundreds of factors to determine which sites provide the best answers to users’ queries. Understanding these algorithms can help developers optimize websites to rank higher in search results, making SEO (Search Engine Optimization) a vital skill.

For a content, product or service provider to maximize their reach and capture the attention of as many people as possible in today’s hyper connected world, they must learn to understand search engine algorithms inside and out. 

LEARN MORE:
“10 Actionable Insights From the Google Algorithm Leak” – CMSWire, June 2024

In Social Media

The term “algorithm” rose to prominence in the mainstream with the rise of social media during the web2 era, which will likely be remembered as the social media era. Perhaps the most commonly known algorithmic activities today are the ones that determine what you’ll see on your social media feed.

In the earliest days of social media, you would simply see everything posted by those you followed or your designated friends. But as the social media industry evolved, we began to see much more complex behaviors from sites like Facebook, Twitter and Instagram. They began to show you only what their complex algorithms wanted you to see, based on the information they had collected from you (with your permission, thanks to your acceptance of extensive terms and conditions).

As these networks of algorithms grew more robust and users contributed more and more data to the social media platforms, our “feeds” began to know us very well. This is how scrolling a feed became one of the most satisfying (and unfortunately, addictive) activities humans have ever experienced. The algorithms knew exactly what kind of content was worthy of our individual attention at that moment. It’s truly fascinating to look back at all the ways that social media algorithms have changed the lives of not only those who use social media networks, but everyone in the world.

LEARN MORE:
“2024 Social Media Algorithms: A Guide for all Networks” – Hootsuite blog, March 2024

Algorithms are the backbone of the digital world, powering everything from simple calculations to complex blockchain systems. They transform inputs into outputs through a series of well-defined steps, making technology functional and efficient. Whether you’re navigating with a GPS, securing data or interacting with a blockchain like GalaChain, algorithms are at work, ensuring optimal performance.

Previous DevSpeak Articles

That’ll do it for this DevSpeak, but we’ll be back soon to dispel the confusion around other common tech terms. If you’ve missed any of our previous editions, check them out below!

DevSpeak: API

DevSpeak: API

API, TPS, AI, SDK, DAU… so many acronyms. Never fear! DevSpeak is here!

Welcome back to DevSpeak, the series where we try to improve your understanding of the often dense and confusing language developers use to communicate about their craft. There’s no shame in not knowing these kind of tech terms… but in case you don’t want to ask your dev friends, DevSpeak has your back.

Today, we’re talking about APIs. You’ll hear this term tossed around a lot, and with good reason! APIs are a fundamental part of how software is developed, utilized and expanded upon throughout the entire tech world!

API, Defined

API stands for Application Programming Interface, and they are one of the primary tools developers will use to integrate data, services and functionality from previously made software into their new applications. APIs allow developers to call the resources of another application so that not everything has to be built from scratch every time.

APIs are a set of rules that govern the framework by which different pieces of software communicate. These rules can be customized to only share specific information, meaning developers can create and call on a wide variety of APIs for different purposes, knowing that no one is getting full, unadulterated access to software just from this kind of connection.

Let’s say that you have your collection of non-fungible teddy bears ready to release on GalaChain. You’ve got an amazing multiplayer platformer – ”Grizzly Picnic” – developed and ready to release… but you need to access the Gala platform’s data to see how much BearPower a user has when they log in. Well, hook up that API and there’s already a pipeline made for you!

Anytime you need to get information from an existing piece of software for your software to use, there’s probably an API for that.

Why APIs?

Without APIs, a new tool or system would need to be developed every time data needed to get from one application to another. That is simply not how tech grows. Applications are highly specialized, and rather than waste development time on building data pulling systems from the ground up, specialized developers would rather work on what they’re best at and plug in tested, standardized tools to build the foundation for inter-app communication.

This standardization is better for everyone. When someone builds new software, it’s usually because they want people to use it. Creating robust tools for other developers to integrate your app into their project is a great way to provide more utility, but also to ensure that your product is being used in the best way possible. You give people the ability to get more out of your app, while ensuring that you are still in control of the data within your application.

Have you ever wondered why you’d see “Pay with PayPal” buttons on sites that aren’t PayPal? Let’s be honest, most of us don’t even think about these anymore before we click. At first deeper  thought though, this may seem a little suspicious. If you’re on some obscure store page, why would you give them your credentials? PayPal has created an API for people to verify encrypted info and initiate payments on their platform. More for retailers, more for customers… and it has been absolutely critical in PayPal’s rise to a ubiquitous payment method on all sorts of different transactions.

Ever wonder why your phone seems to know when you travel? Google Maps APIs allow tons of apps to call all sorts of data about your location and the services around you. Or sometimes the other way. You know exactly where that driver with your tacos is because their phone is sending data to an API, then the app you’re seeing it through is calling that data through an API.

APIs are ways a piece of software can be connected to, meaning they can be customized in a huge variety of ways. There are definitely APIs for specific data calls, but there are also private APIs that can only be used by specific entities or apps. Companies will often have private internal APIs just for managing and calling customer or employee data.

APIs Are Everywhere

It’s important to understand that we’ve discussed some examples, but APIs are incredibly varied. We are not exaggerating when we say that they are everywhere. Think of APIs as the nerve tissue connecting all the disparate parts of our body of technology in the modern world. The APIs are what keep our tech working together and building on the foundations created by each other.

Most apps you engage with are constantly using multiple APIs to call data. Why embed everything in the front end and bog it down when you can create a secure API for the front end to communicate with the back end? 

Any upgrade to any of your programs or devices at any time is using an API to distribute those new files. 

Anytime you stream, you’re being sent that information through an API.

Swipe a card? API. 

Any time that two or more pieces of software are communicating with each other, you’ll find APIs behind it. 

AP-Bye

That’ll do it for this DevSpeak, but we’ll be back soon to dispel the confusion around other common tech terms. If you’ve missed any of our previous editions, check them out below!

DevSpeak: Depending on DePIN

DevSpeak: Depending on DePIN

Being enthusiastic about the tech world doesn’t necessarily mean that you know EVERYTHING… we get it. DevSpeak, because sometimes the jargon day to day can all start feeling a little bit alphabet soup.

Lately, there’s been a lot of talk about DePIN. An anecdotal and unscientific sampling of coworkers has revealed that it’s likely many of you reading this (also) have no idea what DePIN stands for or means. 

DevSpeak is here to save the day! This series is your chance to get just a teeny bit of insight into some techie lingo here and there. Even if you’re not going to single-handedly engineer the next era of tech breakthroughs, hopefully some small window into developer culture gives you a much better understanding of the world as a whole!

DePIN, Defined

DePIN (usually pronounced `Dē-Pǐn), is short for DEcentralized Physical Infrastructure Network. These are systems organized across a physically distributed network – allowing for storage, sharing and other cooperative use of resources without any one entity controlling the system itself.

DePINs share work across a network of computers to accomplish tasks that would otherwise require a physical server infrastructure. Unlike traditional remote networks, these systems allow participating nodes to work together without any centralized organization, while maintaining standards through protocols established on the network itself.

Modern DePINs frequently rely on blockchain technology to ensure that individual nodes in the network play by the rules or do their part. A blockchain naturally creates verifiable accountability for all users of the DePIN, whereas on-chain assets can provide incentives for users to continue supporting the network.

Constant Evolving Technology

If this concept sounds familiar, that’s because it’s exactly what the Gala Node Ecosystem has been doing for years. We’d love to claim credit for the idea of distributed networks, but it goes back way further than us.

Digital resources have been shared remotely by networks for a long time. Remember torrents? Those were utilizing your bandwidth to facilitate downloads… working with other people hosting the same file, you’d each be providing part of the file. This created a network with scalability bound only by its user base.

DePIN evolved fast from those early days. Organizations like IPFS came along and made the world rethink what was possible from decentralized networks. Today, IPFS has created a truly global peer-to-peer network that has become one of the key foundations for the modern internet. 

The Gala Node workloads actually operate through IPFS protocols. Each innovation in the chain of progress is required for the next step.

DePIN Review

To summarize: A DePIN is a network of physical devices sharing resources, yet physically separated from each other. 

These systems can have governance rules, or simply protocols that mandate incentives and punishments for non-compliance. DePINs are often the basis for blockchain ecosystems, but not always. Sometimes a DePIN is just an off-chain, decentralized system.

Still confused? Let’s try a couple examples.

Imagine you want to host a platform that contains all the best cat videos in the history of the internet, preserved for posterity and human viewing pleasure. You start gathering up cat videos (mostly from your hypothetical cats, Mittens and Meowth), then find yourself buying an awful lot of physical storage. No problem, you can just call that big box hosting service… cats love boxes!


Now you’ve got Tb of cat videos, you want to get them to the world that needs them! But… people REALLY love cat videos. You quickly find your apartment stuffed full of server boxes running your growing platform. Hey wait! Doesn’t the big box corporation also have data servers? Yay! Boxes!


Eventually, you have your cat video empire… but pretty much only by the grace of the big box company. Instead of handing control over the culturally indispensable cat videos and data over, you could have involved a DePIN with sustainable incentives… ensuring your cats aren’t controlled by a dog-loving company.

Hmmm… maybe that was more confusing… let’s try something simpler.

There are miners for Bitcoin all over the world. Those miners all contribute work to the network, which uses that computational power to encrypt the next block. Some Bitcoin miners are massive facilities and some are individuals with a few extra machines. Regardless, each of these individual miners is technically a node in a DePIN.

Bitcoin miners don’t receive a paycheck from a central office. They don’t have to keep up with amending company bylaws or sign contracts… Bitcoin provides incentives to miners who write the last block directly from its inherent protocols. It is a self-sustaining DePIN, with each miner a node.

Hopefully those “practical” examples eliminated some confusion for you!

‘DePIN’ Your Understanding

Unlike some other jargon that we’ll talk about, DePIN isn’t necessarily a complex topic that we need to just brush the surface of. It’s actually pretty simple… a bunch of machines that are not physically together doing work together with no central hub. This one isn’t rocket science… it’s just a new enough idea to not always be intuitive.

This idea is going to continue to grow over the next few years. The idea of DePIN is that no individual controls the network… the network itself makes those decisions. Advancements in AI could help power a new revolution of DePIN and with it true democratization of digital spaces.

DePIN is something that you probably interact with on a daily basis. We hope you not only understand the word a little better from this edition of DevSpeak, but also are a little more aware of the systems around you that are marvels of modern ingenuity.

We’ll see you next time to demystify another tech concept! Enjoy the DePIN world!

DevSpeak: What the Hack is a Hackathon?

DevSpeak: What the Hack is a Hackathon?

Here at Gala… and throughout any part of the tech world, we sometimes forget that the language we use in the course of business is… well, definitely not how normal people talk. We’ve come to terms with this on a personal level, but we want to make sure that nothing ever gets lost in translation with our community

It’s not embarrassing to not know things. In fact, it’s quite normal! We want to help break down some basic jargon and concepts that are thrown around in the development world in this new series.  Welcome to DevSpeak!

A lot of concepts may be oversimplified here, but this is just some basic information to get everybody without a technical background some basic knowledge. Enjoy!

With our registration open for the March 20-21 GalaThon event during GDC, we’ve been talking a lot about hackathons this week! We suspect that there are quite a few people out there who smile and nod when that phrase comes up without really understanding what it means.

That’s OK! Not everyone is a developer or knows their jargon. Today we’re going to go over the basics of hackathons for those who may not have ever participated in one… or even heard the word before!

Hackathon Defined

A hackathon, in its most basic sense, is an event where developers and enthusiasts can gather for collaborative programming. This is an idea born out of the open source community, with decades of nuanced culture and variations.

While collaborative work has existed since long before the computer era, the first event called a “hackathon”, is typically agreed upon as the OpenBSD Hackathon in Calgary, June 4th, 1999. This was a semi-spontaneous gathering of 10 developers all working towards the goal of creating a program that would allow two devices to communicate with each other using an infrared port.

This right away set one of the standard cultural norms for hackathons – that there would be specific goals and parameters that participants were working towards. Often this takes the form of building up a particular piece of software or building tools to accomplish a specific task. In the case of our upcoming hackathon, the parameters are to build on GalaChain using the recently released SDK

Bigger and Better

As the idea of hackathons grew into the mainstream, an entire culture sprang up around them. More and more hackathons saw amazing results from their unbridled creative collaboration, more and more hackathons popped up. Now there is a robust circuit of hackathons happening all year long all over the world.

While in-person hackathons are still widely held, remote tools have allowed even more people to enjoy these short development sprints, leading to more innovation across the world of hackathons!

We’ve put together an amazing prize pool with a total value of $1m for our upcoming GalaChain Hackathon. This is a frequent feature of major hackathons in the modern day. 

While not every hackathon goes as overboard on the prizes as we did, it’s pretty normal to see multiple awards with prizes at the end of development. These prizes will usually be decided by a panel of judges after reviewing the work from each team versus the criteria of the hackathon and the requirements of each prize.

Why Hack?

While prizes are cool, they’re not the biggest reason that people usually want to jump in and participate in a hackathon. Don’t get us wrong, there are some serious devs out there who are professionals on the hack circuit winning prize after prize… but there we see the real reason that a hackathon is an amazing experience. Getting to work with people like that.

The development world is not a place where you go to school, know everything, then stop learning. Tech is changing all the time, and hands-on experience is a huge advantage to both veteran and novice developers. Self-taught devs often hone their skills at hackathons, and those with the benefit of a development education get priceless real-world experience.

Sometimes hackathons are a great way to try out brand new systems and tech (GalaChain anyone!!!), sometimes it’s just an opportunity to work alongside devs who may have more or just different experience than you. A fresh perspective is often where the best innovations start.

Often in hackathons, people will be open to new teammates for their project as well. This is a great opportunity to get in and network – meet new people with obviously shared interests and maybe find future collaborators and fellow hackers.

Last, it’s just plain fun! Development is work for a lot of people. Hackathons represent a chance to actually get out and do something you love without long-term metrics and bottom lines to worry about. At a hackathon, you can build things that never would be built by a company and you may not have time for as a hobby. Creative development and building for the sake of building can truly flourish!

Come One, Come All!

Don’t take our word for it though! If you’re even remotely interested in development and coding, a hackathon is the time to take that passion to the next level! Anyone can join!

A hackathon is a free way to get in and get your hands dirty in the industry. Most hackathons will welcome amateurs, and will provide robust documentation so that anyone can come in and learn!
Even if you don’t win in a hackathon, there’s no way to lose. No one’s efforts “aren’t good enough”. The only way to fail is to not try!

If you want to give it a go, join us on March 20th!
galachain.com/hackathon