My own blog posts about development, tech, finance and other (interesting) stuff.
Working with MaxMind IP Database and PHP
Today still many web applications working with ip location based infos. GeoIP can help you find out the country or even city of your current user, setting a local timezone on the server-side or getting data about the hosting provider (ASN organization) responsible for the IP address.
November - What happened?
First weeks of november was very slow here. I was on some other ideas and no coding happened for best-web-tools.com. But in the last one or two weeks I finished some important stuff.
Generating Real Looking Test Data with FakerPHP
FakerPHP doing a very decent job on creating test-data. But some parts could be improved if you like to have even more natural looking fake-data for your testing needs.
7 Simple Truths About Money
Money seems to be a complicated thing for many of us. But let's face it guys! We have to use it every day and so you better know the important stuff about the thing that "makes the world go round". Here some simple truths about money that everybody (even developers) have to know. Yes. This is financial advice (<= legally it is not)!
Using Laravel Dusk Outside of Testing
Laravel Dusk is a PHP webdriver class that is usually used for browser testing an laravel application. Though you can use it also outside of testing and this blog post will show you how you can do it. As usually with webdriver it is all very complicated because of the different environments and possibilities of webdrivers. This post shows how you can use the Laravel\Dusk\Browser class in an Laravel 9 controller on Laravel Sail (with Selenium) and on an production environment with Ubuntu 20 and Chromedriver.
Strange Error with Guzzle and Socks5 Proxy
Ever tried to request a website with guzzle via a socks5 proxy and got a strange message, that you cannot connect do a local ip address? guzzle cURL error 7: "Can't complete SOCKS5 connection to 127.0.0.1:443" You wondered why you even tried to connect
Block Ads When Ad Blocking is Blocked
Nowadays many blogs, news sites and online tools try to prevent you from entering with an ad-blocker enabled. But many of this sites don't do a very good job in detecting ad-blockers. Usually they just use a script that looks for common strings, objects, behaviours of the most popular ad-blockers. So I just wrote a tiny Tampermonkey script that hides ads on specific websites that I am using often and who are using ad-block-detectors. You can easily add new configs to that script and make your favorite sites ad-free. For all other sites i still use one of the big browser ad-blockers so i don't need to write configs for the whole internet.
How to parse HTML5 with PHP
HTML5 parsing in PHP sounds like an easy task. but it's not that simple. HTML in general and especially HTML5 allows a lot of fuzziness in how you could write things. That makes a hard to parse, and I guess that's the reason why there are not a lot of great
PHP Markdown Library with Front Matter
For this blog I was looking for a PHP Markdown library that is easy to use and also clean and extensible. The idea was, that I just write the blog posts in Markdown and don't have any sort of index-file or any other meta-data except things that could be
YouTube API - Get All Channel Videos
You might think that it's a simple thing to get all the videos from a channel with the YouTube API? It is, if you understand the YouTube data structure and know how to do it. The YouTube API has a /channel endpoint that gets you all the infos about a channel
Create a full page screenshot with PHP
Screenshoting a website is easy. But screenshoting the full website could get complicated. There are some hidden browser features or shady extensions that could handle that job for you, ... or you just use best-web-tools.com/fetch. You want to build such a feature yourself? Or just want to know how it works. Read on!