sethserver / all posts
The horrifying - yet eerily familiar - dystopia full of murder-bots and all-knowing robot overlords; and the oh-so-close utopia featuring flying cars and droid servants darting around: these futures have been part of our collective imagination for over a century now. As much as I love Sci-Fi, I am compelled to promote a less intense and much more practical future. read on »
Let me reframe this question using different technology. Why are Toyota Corollas so popular despite being so slow? They're obviously much slower than rocket powered aircraft! Things just got crazy, right? Let's do some math to prove our point about how slow Toyota Corollas really are when compared to rockets. read on »
I love consuming new information. The first big breakthrough in my reading journey was Amazon's book delivery service. It was no longer necessary for me to coerce one of my parents into driving to B. Dalton and watch as I aimlessly wandered... read on »
The term startup is used to describe a company that is in its early stages of development. Startups are typically small and have a limited amount of resources. They are often funded by venture capitalists, angel investors, or other private investors. read on »
After more than two decades as an engineer and over a decade as a hiring manager I've experienced my fair share of terrible engineering interviews. From quizzes to whiteboarding, take-home tests to awkward real-time coding exercises; I feel as though every startup I've worked at has had the exact same growing pains. read on »
Technical debt is a term that has been used to describe a myriad of different things. The most common use of the term is to describe the amount of work that needs to be done to fix a system that has been poorly designed or implemented. read on »
It's generally considered bad form to use the root MySQL user to manage and query your database. One of the first things I do after spinning up a MySQL database is create users with varying degrees of permissions. read on »
SQL Injection is a type of attack that allows malicious users to inject SQL statements into non-validated queries. This can be used to read and modify data in your database. read on »
GitHub does not like using the same deploy key across multiple repositories. Try it, you'll get a really fun "Key is already in use" error in a lovely pink box at the top of your screen. What if we have multiple repositories residing on one server? How do we pull from different repositories using the same user? read on »
Time in milliseconds since COVID quarantine began... read on »
This random password generator creates strong random plain text passwords using the PCG32 random number generator without sending the password over the internet or storing the generated password on a server. read on »
Use the unicode random password generator to create secure passwords using unicode characters such as emojis and extended latin characters. Unicode passwords are much more secure than traditional ASCII passwords. read on »
This secure random passphrase generator creates random plain text passphrases using the PCG32 random number generator without sending them over the internet or storing them on a server. read on »
When working with Python dictionaries you'll find yourself needing to access a key that may or may not exist. The easiest way to do this is with the get() method. read on »
Python is an amazing language and it's easy to get started. However, there are a few things you should do to ensure your environment is setup properly. read on »
Python has some pretty amazing features, and one of its most powerful and versatile is the for loop. As you can see by the examples below the for loop in Python is quite powerful when used in conjunction with... read on »
The conciseness of the Python language paird with its easy-to-use REPL make it ideal to hack out quick and easy scripts. One thing you can do is quickly and securely generate a random password with practically one line of code. read on »
If you've spent any time working with Python environments you're bound to have run into errors such as pip: command not found, No module named pip, ModuleNotFoundError: No module named 'distutils.util', or other Python 2.x vs Python 3.x issues. read on »
Python helps make a lot of things really easy. The conciseness of the language make it awesome to accomplish simple tasks in as few lines as possible. One of these simple tasks is checking to see if a file exists. read on »
When debugging and profiling Python software you'll find yourself relying on Python's built-in logging module. Something that is very simple to overlook is the fact that the root logger defaults to WARN and not DEBUG. read on »
When using Python for Data Science or general Programming you'll find yourself needing to read and parse very very very large files. The easiest way to accomplish this is by iterating over the actual file object. read on »
When using Python for Data Science or general Systems Administration you'll find yourself needing to recursively read a directory tree, remember all (or some) of the files in the directories and then do something fun with those files. read on »
My wife is in charge of our families' annual Secret Santa Gift Exchange. Because she, unfortunately, knows about my background in math and computer science her requirements have become more extreme. read on »
When working with Python dictionaries you'll find yourself needing to access a key that may or may not exist. The easiest way to do this is with the get() method. read on »
In my mind the easiest way to understand Python's slice notation is to visualize it with real examples. Once you get it under your fingers you'll find list slicing is an invaluable tool to have in your Python toolkit. read on »