Image for post
Image for post
Photo by Tirza van Dijk on Unsplash

Not every programmer is a designer. In fact, a lot of great engineers are lost when it comes to effective user interface design. Specialization can be a good thing, despite the recent trend of “full-stackifying” every single developer role. Being really good at writing server code and dealing with the specific problem set to solve in that realm is important, and shouldn’t necessarily translate to the frontend. So, what if you fall into this category but you need a quick GUI?

If you’re prototyping a new application that would benefit from a basic UI bolted on, it might feel like your options are limited. In some cases it feels like you either have to build the entire thing from scratch or get someone else to do it (which might not be an option at all). In the world of Python your options are more than just binary. The Python community has a world of drag-and-drop and low-code UI editors that you can build fully functioning graphical user interfaces with. …


Dynamically call a function, list functions with a specific part of their name, and more

Laptop on a desk
Laptop on a desk
Photo by Rich Tervet on Unsplash.

Refactoring existing code effectively is an art. If you have ever inherited someone else’s code or even looked back at your own after some time, you know how trying this process can be. Oftentimes, features are made and bugs get fixed under tight timelines, which can lead to sloppy, inefficient code.

That’s completely fine. You’re allowed to commit some bad code from time to time. What is imperative is that you can identify the bad code and always return to fix it.

In this article, we’re going to look at some small segments of Python code that make refactoring for cleaner code easier. In most cases, these use simple, standard library functions and don’t obfuscate intent behind exceedingly complex algorithms or dense one-liners. When you’re refactoring code, you want a good balance between being concise and readable. …


Image for post
Image for post
Photo by Luke Chesser on Unsplash

Getting the most out of Postgres has always been a personal quest of mine. Whether it’s new ways of generating aesthetically pleasing graphs based on table data or gaining new insight into the inner-workings of PG itself, I’ve been on a constant search for new and interesting features. Most of the average Postgres user’s time is spent on the command-line using tools like psql or pg_dump but these aren’t always the best or easiest ways to manipulate and monitor PG. Sometimes having access to a simple and effective GUI is really all you want.

If you have ever stood up a new Postgres instance before then you know it doesn’t ship with any sort of “management” GUI out of the box. You are left to fend for yourself and bolt-on a third-party library or pay a SaaS provider for access to an expensive web app. If all you want to do is keep tabs on Postgres and run a few queries visually then this can feel frustrating. …


Image for post
Image for post
Photo by ThisisEngineering RAEng on Unsplash

Learning a programming language isn’t just about getting the basic syntax down and then coasting into seniority. Being a programmer means continuous education. You need to stay on top of new versions of code and keep an eye out for deprecated libraries. Part of your daily work routine should include consuming some form of programming news and updates. This routine should also have resources that expose you to new ideas or ways of writing code. One of the best ways to get your daily dose of Python exercise in is to have a solid group of go-to resources.

In this article we’re going to look at some Python-centric resources for keeping up-to-date on the latest and greatest the language has to offer. Some of these resources will also apply to more than just Python, but for the sake of this article we’ll focus on a single language to make things simpler. We’ll also examine some learning resources that are short and easy to knock out quickly so you can get on with your day. Let’s dive in. …


Image for post
Image for post
Photo by Steve Harvey on Unsplash

Merging code with sound design can be an often overlooked specialization of programming. Unless your daily tasks center around programmatic sound design for games or other interactive programs you might not think twice about having to manipulate sound via code. Downloading prepackaged samples is easy enough and playing a clip is also straightforward, so why reach for anything more complex?

The world of programmatic sound design is an immense and wonderful one filled with many different areas of focus. You can build lush sonic environments for games, create unique virtual instruments and develop collaborative musical composition systems right from the browser. The power packed into modern browsers like Chrome or Firefox would rival that of many dedicated hardware synthesizers of years past. …


Image for post
Image for post
Photo by Ildefonso Polo on Unsplash

Pinning down complicated network issues doesn’t have need to involve the use of complicated tools. You don’t need to craft packets by hand and have the network engineering knowledge of a CCIE. More often than not you can easily troubleshoot a network issue using the readily available tools that ship with most Linux distributions. Spending less time finding and installing third-party tools means you have more time to get to the bottom of the problem.

In this article, we’ll explore some common and fairly straightforward networking tools and how to use them. Most of these tools are usually included in most popular distributions, but there will also be installation instructions where applicable for each one just in case. …


Simple SSH connection tweaks that will save you time

man checking his phone while sitting in a coffee shop with an open laptop in front of him
man checking his phone while sitting in a coffee shop with an open laptop in front of him
Photo by Muhammad Raufan Yusup on Unsplash

Connection to <insert_host_here> closed.

Do you see this message almost every day? Logging in and out of remote machines to get work done is about as common as sending email for some developers. Having remote SSH access to machines lets you do everything from troubleshooting to developing directly on them. As long as you’ve got a solid network connection and a set of credentials, you can get work done from anywhere.

With more and more developers going fully remote now, having robust and flexible SSH access is crucial. Whether you’re focused on setting up new infrastructure or just testing a new version of an app remotely, being able to quickly connect without having to remember obscure addresses or other information is a productivity essential. …


Image for post
Image for post
Photo by Josue Valencia on Unsplash

Linux life isn’t all about ls and grep. Sure, you’ve probably used those tools to quickly find things and solve simple problems, but that’s only the beginning. Most Linux distributions have a plethora of tools built-in that are easy to miss at first glance. Under the surface Linux has some of the most specific, concise programs to accomplish everything from basic text manipulation to complex network traffic engineering.

If you spend time Googling tutorials or guides on mastering Linux you will be presented with some great material that covers the basics. Learning the foundational knowledge of how to navigate on the command-line using cd and ls is a must, but there is so much more you can accomplish without ever reaching for another third-party tool or language. …


Image for post
Image for post
Photo by Cookie the Pom on Unsplash

Staring at code all day can be a real drag. Git can be frustrating and is mind-numbing at the best of times. Code reviews and project plans do not spark joy. You have to inject a little fun into your day. You have to take a little time to blow off some steam. What better way than with a few neat little command-line toys?

Adding some fun and especially a little color to your terminal will lighten the mood and really helps when the work tasks start to grind. Some of these utilities are more functional and actually serve a technical purpose, while others are just pure fun. …


Image for post
Image for post
Photo by Headway on Unsplash

You can build the best application in the world, but if you don’t know how to tell anyone about it why bother?

Being a successful developer isn’t just about learning a language or two and knowing how to structure a git commit. There are a multitude of other skills that don’t involve writing code that are critical for developers on a daily basis. You can build the best application in the world, but if you don’t know how to tell anyone about it why bother?

There are many skills that make a well rounded developer, a lot of them aren’t about complex algorithms or systems. A lot of these skills are about “soft skills” or relatively simple concepts like communication or writing. Being able to articulate ideas in a brainstorming session, draft technical outlines or even turn a screwdriver make you infinitely more flexible and agile than if all you did was eat, sleep and code. …

About

Tate Galbraith

Software Engineer @mixhalo & die-hard Rubyist. Amateur Radio operator with a love for old technology. Tweet at me: https://twitter.com/@Tate_Galbraith

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store