Teknikal_Domain's Personal Blog

#<ENT:NTA:NnT:SSrgS:H66-198:W200:CBWg>

Today I Discovered: Graph Databases

So if you’re used to databases, you know what SQL is, most likely, and the most common SQL (relational) databases. If you’re a little more advanced, maybe you’ve heard of or even messed around with NoSQL databases. Well today, I just found something cool: graph databases - a cross between a database, and mathematical graph theory. SQL / Relational Databases SQL, or Structured Query Language, is a language that allows you to perform operations on a database, more or less independent of the database itself, the file format on disk, etc. 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

Programming Isn't a Skill, It's a Mindset

Spoiler Or as those darn scientists insist on calling it, ABSTRACT: A programmer isn’t someone who can write code, a programmer is someone who can think. When most people speak of, are told of, or think about, a “programmer” as an abstract being, they either picture one of two things: Either someone in their favorite all black gear, sunglasses, and a lime green-on-black terminal window open with lines flying by (see also: hacker), if they’ve watched too many movies, or someone sitting at their computer with a text editor / IDE / pick your favorite app, typing code into. Continue reading

Minor Rant: Linux, Scripts, and SetUID

2019-09-14 3 min read Programming Rants Teknikal_Domain
So let’s set the stage. You’re writing a blog. This blog is kept in a Git repository. “Great!” You think, knowing that you can make changes from any of your computers, and just git pull on the server to bring everything down. Because how Nginx works, you don’t need to reload anything, the new content is available immediately. There’s just one problem: this means you need to SSH into the server to pull everything, which requires SSH into a border server first, tunneling your connection through another one. Continue reading