All my tech-savvy readers and YouTube using colleagues, of course cringe, whenever they accidentally end up on a video with a VPN sponsoring. A sponsoring usually not in the form of an traditional ad, but as a spoken endorsement by the creator himself, so my god damn adblocker can’t block it.
And it’s become so many, basically all medium sized youtubers who need to make some money on the platform since the YouTube-adpocalypse, have, at some point, gone down the VPN shilling route. But this is not only a lesson about the problems of having individuals with no formal education…
Pathfinding in Unreal Engine can become very overwhelming, as soon as you want to go beyond simplistic two dimensional pathing. Luckily there is a plugin, which allows us to create a simple Behaviour Tree (from now “BT”) for any kind of pathfinding - even if there are very dynamicly moving objects in the level.
This is the BT we will create. It retrieves the player location and then executes an action (in this case “Shoot”), while flying (pathfinding) towards the player location - if the player is beyond a threshold range. …
For a while now, there has been a discussion on the horizon in my country, as to the question, wherever private businesses should be allowed to treat vaccinated people differently (i.e. normally), as long as not everybody had the chance to get vaccinated.
At the moment the German government and specifically the German Ethics Council, which advises the government in such matters, took the (only) easy way out: As long as it isn’t fully established, that a vaccinated person can’t infect an unvaccinated person, obviously, they can’t be treated differently. However at the moment, it seems more and more likely…
I recently had to create an UI in Unreal Engine, and being the gimp-grouch that I am, I instantly thought I could (ab-)use LibreCAD, an Open Source technical drawing program, to create a scalable vector UI.
There was just one problem. Unreal Engine can’t import vector graphics.
This article assumes you have basic knowledge of Unreal Engine and C++. LibreCAD, as long as you only want to draw some straight lines, is completely self explanatory.
Now, there are more sensible solutions to this, you could just buy an SVG-importer on the marketplace, for a mere 20 bucks. You could also…
The general approach is, to check for new content, whenever there is an internet connection (or access to WLAN) and display it on demand. The service worker is just…
My recent article about VPN shilling on YouTube, has really made me think about which creators I actually still enjoy.
So, in case you can’t stand watching another, meaningless, infotainment video, which the YouTube algorithm suggested to you or which you got click-baited into (“What if we put a nuke on the moon “— no I’m not going to link it, I don’t want it to get any more views.) Here are some great, zero click-bait channels, which really dig into topics, with widespread scientific illiteracy.
In this guide we assume a media URL will look like this:
In this article I will showcase a template to activate an arbitrary application once it is accessed and deactivate it again automatically if it’s no longer used. While it is not difficult per se it unfortunately requires a lot of systemd units and can be confusion at first. If you only want the code go to my GitHub.
Assuming we have a file /usr/bin/roflcopter.sh that runs continuously once started and provides a service on a Unix or network socket, we first need a systemd unit that starts this program.
I like to start my flask projects with a simple
__name__ == "__main__" with argparse and
app.run(). But obviously the flask inbuilt server is not the fastest and probably not the safest either. This is why you should eventually use a WSGI-runner like waitress to run your app. This post will show how to migrate, while keeping any standalone capabilities.
In short, everything in your
if __name__ block is not going to be executed anymore, the simplest solution is to move it to a
@app.before_first_request anotated function, so:
app = Flask("LOL")
if __init__ == "__name__":
# arparse stuff…
I know it isn’t cool these days to just have a build-script, but you really don’t have to follow the trend of making CI more and more complicated. Jenkins and Docker both have their respective places, but these powerful tools should be used with care, and only whenever the complexity of a project actually justifies and necessitates complex CI-pipelines.
Cue Webhooks. GitLab and GitHub have an inbuilt feature called Webhooks. Whenever a certain event, for example a push on the master branch, occurs, a remote URL is automatically queried to inform a remote server of this event.
First, you need…