A non-definitive, quickly put together, hastily turned into a blog post checklist for deploying production DBs.
It’s been 7 months since my last post.
Generators facilitate lazy evaluation in Python. They can be used to reduce computaional stress as well as memeory requirements. Python sucks a little bit less because of them.
I’ve gotten a lot of questions in my time about firing off a long running process in an ssh session and having them stop after logging out. This is because every command you run in a bash sessions (via your local terminal or ssh) has an associated hangup signal. When you log out of the sessions (i.e. close your terminal or kill an ssh session), the shell will terminate all of the sub-commands associated. This can be problematic for people who want to log in, run a script to start a server, and log out.
Database users and roles, in short, for the rest of us.
OOP and FP are both good foundations for writing code. They are not mutually exclusive though. Think less and pick the right tool for the job.
The Well Architected Framework is an guide to good infrastructure practices within AWS. It’s also about 80 pages long and incredibly dry. So here it is in like 3 pages.
Writing is not an easy thing to do. What’s harder is revealing opinion. I needed a break.
Lacinia, Clojure, and GraphQL. It’s easy to do when you know what to do.
Examination of a proper solution to any problem in any domain is critical to advancment.
Dotfiles are the greatest thing ever. They are the king of facilitating protable configuration. Both at start up and runtime. They can be very confusing if you don’t know what each one is for though.
Bad web application server setups can waste days of your life over even a short period of time. Taking some time to set up a proper work flow will improve your work flow and maybe even earn you a long weekend.
I’m working on a project now that requires a lot of lines like,
(let [c (get-coords :New-York)] (if (seq c) (connect-coords c) nil))
Unfortunately, I couldn’t really finagle the current
if-some, to work the way I need.
I really liked the built in binding you get with those macros though, it’s very easy to read.
So like any engineer, instead of just living with it, I dedicated a ridiculous amount of my time to learn how to fix it.
It was abolutely worth it.
As a developer, it’s easy for me to stay on the bleeding edge of all things tech. Code libraries, hardware, software, operating systems, etc… It’s all in my job description. It’s also something that I enjoy doing.
Of all the weird symbols in the clojure language, one of my favorites is
It’s necessary, but for reasons that weren’t intuitive to me.
Relational databases are fickle creatures. They are pretty alright at what they do as long as you just let them do it.
If you ask me, Windows (any version) is bad. I don’t like the focus of the company any more and I resent their ‘operating system’. Mac isn’t as bad because it at least has a decent shell, but that’s really it. Apple is still watching your every move. Linux however, it’s the bees knees man.
Without the idea of a first in, first out (FIFO) queue, maintaining order would be very difficult. Or maybe, it’s the other way around. Six to one, half a dozen to the other. Either way, FIFO is necessary.
A few years ago, I tried to make a big switch to Vim. I was tired of using IDEs. I always felt so disconnected from the project I was working on.
OK, yeah, hackers typically use Linux. That isn’t just who Linux is for though. Linux has changed a lot over the years and is now for everyone. But the reasons why hackers prefer Linux are reasons why everyone should use it.
Higher order functions are a powerful tool for functional programmers.
The idea of higher order functions/functions as data has given rise to three especially useful functions.