Understanding Robots.txt and Sitemap.xml

For those unaware, there are two special files that almost all websites use to influence how visitors see them. Not human visitors, but bots — web crawlers, search engines, one of the many various “internet archival” sites, you name it. Maybe you’d like to know this because you’re building up a website or service, or maybe you’re just curious on how to read them. In either case, let’s get to explaining.

Continue reading

Python: Multithreading, Multiprocessing, and the GIL Explained

One of the many things that make Python such a popular and powerful language is that you can easily divide your code into multiple concurrent threads rather easily, take this for example:

from threading import Thread

def thread_func(n):
    print(f"I'm thread number {n}!")

for t in range(4):
    t = Thread(target=thread_func, args=[t])
    t.start()

4 threads! Easy, right?

Well, not exactly.

Continue reading

DSLR Raw Editing: Dark Frames and Flat Fields

So I know I’ve already covered the basics of raw photos, but there’s a few things worth elaborating on that I think deserve a separate post, so here we are.

There’s three things that can be easily solved with raw photos, two of which are obnoxious and annoying and the other is.. less so. These are dead pixels, noise, and lens vignetting, solved by dark frames, and flat fields.

Continue reading

MacOS Installers and .DS_Store

If you’ve ever used a drive not formatted as HFS or APFS in a Mac, and later plugged it into a non-mac or poked around in the terminal, you’ve probably noticed a lot of hidden files. Almost everything has a copy that begins with ._, and there’s this ever-present .DS_Store in every directory. What’s up with this? And furthermore, how does this relate to application installers? AppleDouble and The ._ Files macOS will only create . Continue reading
Newer posts