My writing includes book reviews, news about my projects and other random musings. You can subscribe with your favorite feed reader.
What do you do when you know that you are no longer a good maintainer for a open source software project? You can step away gracefully by requesting help from the community. This post will discuss one way to request that help.
Software developers face physical and mental health issues that arise from creative yet sedentary work. If you are a developer, can you help me identify our community's biggest issues by answering a few questions?
How can you start code reviews on your team? Your team might have questions similar to ones I recently received. I shared my thoughts as someone who has done regular code reviews for years.
How do you get into the rich field of data science and the array of tools that are available in Python? Christine Lee provided an excellent overview of the data science ecosystem. The talk, from the December 2017 Python Frederick monthly event, is full of goodies to check out.
Automated tests are extremely valuable when writing code. The faster you can get feedback that your code is correct, the quicker you’ll finish a task. In this post, learn how to run automated tests directly in your Vim editor and finish the job in record time.
Vim is an extremely powerful text editor. With no setup, you can do amazing work, however, you can supercharge Vim by extending it with plugins. This blog series will show how to get the most out of Vim.
Scrapy is a great tool to get data from a website that does not offer any API. Micah Nordland showed Python Frederick how to use the tool and taught the group the core concepts of Scrapy. This presentation happened at the November 2017 Python Frederick monthly event.
The Python world is full of web frameworks. This post includes the Python Frederick video presentation comparing 5 popular Python web frameworks that I presented in October 2017.
When I received a Nintendo for Christmas as a kid, it altered the direction of my life. My NES console transformed me into a person who is passionate about computers and technology, and I'm forever grateful to the woman who gave it to me.
Python has many methods to manage software package dependencies. The Python Packaging Authority proposed a new standard format called a Pipfile. This post includes the Python Frederick video presentation about Pipfiles that I presented in August 2017.
Serving webpages securely with HTTPS offers numerous benefits. This post explores those benefits and shows how to set up HTTPS in no time using Netlify.
Code reviews improve the quality of software. But a code review can be done badly. In this post, we'll look at some tools to make your code reviews as effective as possible.
Python has many methods to manage software package dependencies. The Python Packaging Authority proposed a new standard format called a Pipfile. Let's explore the reasons and benefits of a Pipfile and walk through converting a project to use one.
Modern software development has a strong focus on continuously delivering new code, and many businesses do not have the luxury to ship code on an infrequent schedule. How can an engineering team manage this speed of development and produce a quality product? One invaluable tool to achieve this goal is feature flags. Learn more about what feature flags are and how they work.
In this series of posts, I'm going to examine common design patterns in Python that make Python code feel "Pythonic." The sixth and final post explores the Python Package Index, and the benefit of using software libraries that are written by others to make your code more expressive.
Recently, I learned that how I perceive the world is different from how the majority of people perceive it. My mind does not have the ability to visualize memories. After some study, I found that this is known as aphantasia.
In this series of posts, I'm going to examine common design patterns in Python that make Python code feel "Pythonic." The fifth post peeks at Python's standard library and how the "batteries included" mindset can make developers super productive with no setup.
In this series of posts, I'm going to examine common design patterns in Python that make Python code feel "Pythonic." This fourth post turns our attention to the built-in functions and the power of knowing what is immediately at your fingertips.
In this series of posts, I'm going to examine common design patterns in Python that make Python code feel "Pythonic." The third post in the series focuses on the property decorator as a way to clean up your classes.
In this series of posts, I'm going to examine common design patterns in Python that make Python code feel "Pythonic." This second post covers Python's with statement, a syntax to elegantly handle code that requires set up and tear down.
In this series of posts, I'm going to examine common design patterns in Python that make Python code feel "Pythonic." This first post will cover list comprehensions, a powerful way to build a Python list data structure.
Semantic UI is a popular styling framework for websites. I integrated Semantic UI in my Ember app and had an interesting experience with the process. I explain a bit of what I learned from that experience.
The Pragmatic Programmer is one of the most influential books in my professional career. With more than seven new years of experience since my first reading, I re-read the book to compare it to my journey as a software professional.
Twelve-factor applications are a pattern that can be applied to web applications for making deployment easier. Learn what a twelve-factor app is and some things to consider when applying the pattern to Django applications.
Social media is a huge part of how people share news with each other on the internet. This post looks into how to make your content appear richer on sites like Facebook and Twitter.
Imposter Syndrome is a popular subject in the software world. I believe there is a "cure" for this lack of self-confidence. We require a dose of Humility.
In order to add search functionality on a budget for College Conductor, I incorporated the text searching capabilities of the PostgreSQL module available to Django 1.10. This post covers features and limitations of PostgreSQL search.
Rollbar provides some excellent middleware that makes setup a snap for a Django application. But what if you're running Celery with your Django application too? There are a few bumps in the road that I'll explain how to resolve.
As a user of Ember Simple Auth and Ember Simple Auth Token, I needed to show an authenticated user for College Conductor. By making a currentUser service, my application could access the user. Since College Conductor uses JWT, making the service required some extra thought. Check out how it works!
Software abstraction is vital to managing a large application. My aim is this post is to combat the belief that a developer must understand all the details of the abstractions that they work with.
Python packaging is a challenging process. Many tools can help you make a package, but I'll describe the tools that I think are the most important.
If you use Django REST Framework and the DRF JSON API extension, you may want to learn how to sideload extra resources to save on network requests of commonly paired models. We will explore the extra settings required to make that happen.
Using Rollbar in your Ember application can give you eyes on the same errors that your users encounter. Learn how you can add Rollbar into your application.
Make a sitemap that Google can find using new features available in handroll 3.1. In a few steps, you can improve the visiblity of your website to search engine crawlers.
Ember CLI makes using Segment a snap. Learn about the core features of ember-cli-segment.
What I learned about the Python standard library and how you can apply those learnings to your own study.
Tell the world the versions of your dependencies when you release. Software is constantly moving so documenting your dependency versions can help future users know what worked.
Our brains are amazingly flexible. My trip to the dentist taught me a lesson about human behavior and abilities.
Carpenters, painters, illustrators, and many other craftspeople collect tools over the years as their experience and skills grow. These tools help produce better work. Similarly, developers can create their own personal toolbox to perfect their craft. In this post, you can learn ways to manage your toolbox.
How do text editors and other tools make code look pleasant with colors? We'll explore ways to colorize code by looking at Pygments, a "syntax highlighter," and how the tool does its job.
Show how to create an entire handroll extension from scratch
If you spend a lot of time on a Linux or Mac terminal, you may be familiar with bash, the shell program that your terminal uses by default. In this post, we will look at Zsh, an alternative shell, and some of the amazing benefits that it can offer over bash.
Do you need a way to trigger some Python code to run when a certain event happens? Blinker is a Python package that makes this kind of feature possible with something called signals. Learn how to connect Python objects to blinker signals.
In this post, I describe my experience with setting up Statsd and Graphite. Statsd and Graphite work together to make custom monitoring of your web services a snap to get going.
The world speaks far more than English. To broaden the reach of an application, developers should internationalize the text to other languages to reach a bigger audience. This is a complete detailed guide to explain how to internationalize Python code.
Laziness is a motivator for making good tools. By optimizing in ways that allow developers to be lazy, you can make tools that are more desirable to use.
A release announcement for handroll 1.1
Introduction of handroll website generator tool
Introduction of TAP tools for Python
A book review of 'Advanced Rails'
A review of "Patterns of Enterprise Application Architecture"
Using Travis CI and Tox to test Python packaging
MarkWiki 1.3 release announcement
A review of "Ruby on Rails Tutorial"
A review of "Dreaming in Code"
MarkWiki 1.2 release announcement
A description of the pain encountered with contributing to Java FOSS
A review of "ZeroMQ"
A review of "Peopleware"
An explanation of the Test Anything Protocol (TAP)
A review of "Code: The Hidden Language of Computer Hardware and Software"
A review of "The Copywriter's Handbook"
A review of "learn you some Erlang for great good!"