My recent research/work in blockchain technology required me to synchronize the whole blockchain for both of these cryptocurrencies. The main bottleneck of a task like this is computational resources, and on average consumer hardware nowadays this would take days or more likely weeks depending on your hardware (especially so for BTC). Due to this, I’ve decided to make the data publicly available for download. These were both last updated June […]
How will AI change the role of a Software Engineer?
My reason for titling this post as such and posing it as a question is due to the uncertainty that the future of AI poses. This post will focus specifically on how implications of AI on the job of software developers. We’ve already seen impressive code generation by Large language models (LLM), leaving many developers to question what the future of our role as engineers may look like. This is […]
Getting past reCAPTCHA v2 (by using 2Captcha)
Web scraping is more important now than ever. Gathering and selling data can be lucrative, and analyzing it can help businesses in any industry. As web scraping becomes more and more common, measures to stop bots have evolved. Google’s reCAPTCHA v2 is a great example of this. In this article, I will briefly describe how this system works, and how we can bypass it. First, lets analyze the code of […]
Showing progress of GET/PUT using ‘requests’ & ‘clint’
Uploading/downloading large files can be tedious, especially when you’re unable to view the progress and status of the request. Using the requests library alongside clint, it’s easy to visually display progress in a console application. We’ll be able to specify the chunk size and monitor the download speed. In the snippets below, you’ll see a function ‘progress.bar’ called. This is contained inside if the clint.textui module, and it’s the function […]
Creating a ‘requests’ session from a selenium web driver
Python is frequently used for web scraping. Often times, the ‘requests’ library is sufficient. However, it is typically only used for basic requests. We can send a GET request to a website, but what if the actual page is loaded via javascript? Using a real browser/web driver allows us to load the page completely. Instead of simply sending a request to a url, we can automatically execute scripts and download […]