What ICON 2.0 Means for the ICON Ecosystem

ICON 2.0 is a monumental shift for the ICON blockchain and the broader ecosystem. With ICON 2.0 comes a host of new technologies like BTP for interoperability, Java SCORE support, a completely new core blockchain engine, an EVM-compatible sidechain, and more. In this article, we’ll take a look at ICON 2.0 from a technical perspective to see what kind of potential impact it may have on ICON adoption.

Continue Reading →

How to Set Up a Local Python Development Environment for Building on ICON

Recently, I started to notice an uptick in the number of community members interested in building on ICON. I’ve been developing my own ICON APIs and bots for a little over a year now, and I recall it was pretty difficult to get started. I was a total beginner when it came to programming, and there weren’t any project-based tutorials that walked through the entire development process from setting up a local environment to deploying the finished product.

Continue Reading →

How to Find Broken Links With Python 📝

I was fixing some broken links on our blog at work when I decided it would be fun to make my own broken link checker. It didn’t end up being very complicated at all, and I’m glad that I no longer need to open a web browser and navigate to an ad-infested website to check if a page has broken links.

Here’s the code below if you want to use it.

import requests
from bs4 import BeautifulSoup
from concurrent.futures import ThreadPoolExecutor

def get_broken_links(url):

	# Set root domain.
	root_domain = domain.com
	
	# Internal function for validating HTTP status code.
	def _validate_url(url):
		r = requests.head(url)
		if r.status_code == 404:
			broken_links.append(url)
			
	# Make request to URL.		
	data = requests.get(url).text
	
	# Parse HTML from request.
	soup = BeautifulSoup(data, features="html.parser")
	
	# Create a list containing all links with the root domain.
	links = [link.get("href") for link in soup.find_all("a") if f"//{root_domain}" in link.get("href")]
	
	# Initialize list for broken links.
	broken_links = []
	
	# Loop through links checking for 404 responses, and append to list.
	with ThreadPoolExecutor(max_workers=8) as executor:
		executor.map(_validate_url, links)
		
	return broken_links

How to Rebalance Loans and Retire bnUSD on Balanced

Recently, there’s been a lot of buzz in the ICON community regarding rebalancing of loan positions on Balanced. A rebalance happens when ICX collateral is sold for bnUSD to pay off a portion of a loan – this process can also be referred to as “retirement of bnUSD”. It’s important to note that rebalancing has nothing to do with how close your loan is to the reward threshold. Instead, rebalancing is used to keep bnUSD pegged to 1 USD as close as possible, and it occurs when there is an economic incentive to do so (e.g. the difference between 1 bnUSD and 1 USD crosses a risk threshold).

Continue Reading →

The Dangers of Marginalization

To be honest, I had never heard the term “marginalization” in real life prior to 2020. Nowadays, it appears to be the woke left’s catch-all phrase to describe non-white males. Even worse, marginalization has evolved into the default excuse or explanation for when a non-white male experiences a non-ideal outcome. I understand the appeal, especially in the current political climate. In a society that prioritizes subjective wokeness over objective reality, it’s easy to blame a poor outcome on marginalization instead of digging deeper.

Continue Reading →