Making a Web Scraper to Download Images off the Internet

One afternoon I read on a popular website that http://prnt.sc/ uses sequential 6 character codes to host user images on their website, this made me wonder what was on there. The next day I made a small bot to scrape the website and collect all images through a range and then the bot could run multiple times to collect more images if necessary. I left the bot running for a couple of hours and here’s what I managed to find, I’m sure I cannot re-host the images but the range I scraped through was gmmlaq for 1,287 images before the… Continue reading Making a Web Scraper to Download Images off the Internet

Scraping Canvas (LMS)

Because my time at university is ending I thought it best to archive the canvas pages available to me for later reference should I not be able to access canvas later if they change platforms or disable my account. I should probably add this is for archival purposes and I will not be able to share the data I was able to collect. Thankfully I was able to get the whole thing going in a few minutes and downloading took a lot longer. The first snippet I got from here, didn’t complete the first time, it seemed some image was… Continue reading Scraping Canvas (LMS)

Exporting GnuCash Data to PowerBi

Some things are better if you do them yourself. I mainly did this project to keep a running ledger of the changes that I would need to keep track of the account balance data. GnuCash is great, but when I export my accounts data the CSV file isn’t easily translated with power-query automatically. I decided that because I need to keep track of my transactions, this problem was best suited with a little program to calculate my net inflows and outflows using a python program, I also decided halfway through the project that I wanted to hook it up to… Continue reading Exporting GnuCash Data to PowerBi

Simulating a phone combination brute force

  If a malicious individual were to steal your android or iPhone, plug in a device to emulate a keyboard and have it test every single pass code possible, it would take a while, using the following tutorial, you can calculate the time It would take to do so.             Firstly, you need to grab Python 3.4.3, or you can probably use the version you have installed. Next we need to create the code. Firstly we need to import datetime to convert the guesses into time it would have taken, we also need to write down… Continue reading Simulating a phone combination brute force

Using Hashlib to Securely store user passwords and credentials.

What is hashing? Hashing a password means that users cannot have their passwords compromised when a database engineer is reading cleartext in user databases (to a degree, the passwords could be decoded, but hashing them makes them illegible to someone who is not doing anything extensive). And also prevents hackers from reading passwords in plain text and can be compromised by collision attacks. Additionally when hashing a password a salt may be added to the password, this prevents a database from being attacked by dictionary attacks. Why Hash Passwords? Storing User credentials in Plain Text is generally as bad practice as it allows… Continue reading Using Hashlib to Securely store user passwords and credentials.