Monitoring Nginx with @sherlog/cli

Logs play a very important role throughout the entire life cycle of an application development as well as troubleshooting and replicating bugs on production that could lead to service interruption and harm our user’s experience. A few months ago, I went on a journey for finding a tool that will allow me to improve logs visibility and to take action as quickly as possible, and of course with a minimum amount of effort and server requirements....

<span title='2020-10-07 16:20:23 +0000 UTC'>October 7, 2020</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Bruce Lampson
Image by @ingoschulz

Python Logging Basics: Why is it important and how to use it?

If you find yourself having troubles debugging your code, or wondering what went wrong, then you should start logging events in your python code. Using the logging library you can basically record what actions is your code doing, i.e making a web request, reading a file, monitoring something, etc. It can help you to narrow down your faulty code for debugging. Moreover, logging is not only helpful for debugging, but it is also helpful for collaboration, and many platforms use the logging module in your code so you navigate between events easily....

<span title='2020-06-27 09:45:41 +0000 UTC'>June 27, 2020</span>&nbsp;·&nbsp;5 min&nbsp;·&nbsp;Franccesco Orozco

Save Python Objects with Pickle

Sometimes you just want to save a dictionary, a list, a string, or anything into a file so you can use it later. This can be easily achieved with the module Pickle. Warning: The pickle module is not secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source. — Pickle Documentation What is Pickle Pickle is a module in Python that can be implemented to serialize or de-serialize a Python object, meaning that it can be used to save an object into a file; Just have in mind that this is not the same as saving a configuration file, there are other data structures that we can use to achieve that task such as JSON, CSV, YAML/TOML, etc....

<span title='2019-06-26 16:21:45 +0000 UTC'>June 26, 2019</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Franccesco Orozco

Develop and Publish Your Python Packages with Poetry

I’ve been trying to publish my packages to PyPi so people can access my software more easily. But I have to be honest, Python’s publishing system is not the best out there and it has to improve quite a lot. Wandering around I stumbled upon Poetry, which is a python packager and dependency manager created by Sébastien Eustace for people that doesn’t want to lose their head managing a Python project....

<span title='2019-06-16 11:20:44 +0000 UTC'>June 16, 2019</span>&nbsp;·&nbsp;6 min&nbsp;·&nbsp;Franccesco Orozco

How to Easily Use a Progress Bar in Python

We’ve all been there, your code is performing a job and it’s going to take a while. I’m an impatient guy, so it would be nice to have an ETA or a progress bar to show us. Fortunately, there are libraries out there than can help us to achieve this! There’s two ways in which we can integrate a progress bar into our loops, via a Context Manager or just wrapping up an iterable object into a method....

<span title='2019-06-15 20:40:39 +0000 UTC'>June 15, 2019</span>&nbsp;·&nbsp;6 min&nbsp;·&nbsp;Franccesco Orozco

Create a Project Page for Your Repos Easily With Jekyll and GitHub Pages

I’m going to show you how to create a project page using the ever popular Jekyll and GitHub Pages so your projects can have a face, and of course, to show it of to your friends out there. So, without further ado, we should get to the point already, shall we? Building our site with Jekyll Let’s say that you have a project called chuck-says that acts like a fortune cookie + cowsay whenever you call it in the command line....

<span title='2019-06-08 20:24:14 +0000 UTC'>June 8, 2019</span>&nbsp;·&nbsp;7 min&nbsp;·&nbsp;Franccesco Orozco

How to Create a Ruby Gem With Bundler

I’ve been writing and focusing on Python lately and I’ve been wanting to make more content about Ruby. Ruby was my very first language and the one that got me into this programming world. For this entry I’m going to write how to create, test and publish our gem to RubyGems.org to make it available for everyone, and in future entries we’re going to see how to setup a CI/CD for automatic testing and deployment, Behavior Driven Testing with Cucumber/Aruba and Code Coverage with SimpleCov....

<span title='2019-03-06 12:44:08 +0000 UTC'>March 6, 2019</span>&nbsp;·&nbsp;36 min&nbsp;·&nbsp;Franccesco Orozco

Change Flask Root Folder for Templates and Static Files

Today I was facing a problem, I didn’t know how to change Flask root directory. Flask by default look for templates and static files under the root directory (/), how can we change that? Changing the root path Here’s my directory structure: . ├── api_files │ ├── static │ │ └── style.css │ └── templates │ └── index.html ├── api.py ├── Pipfile └── Pipfile.lock 3 directories, 5 files I want Flask to be able to process the folders static and templates inside the api_files folder, my main Flask app is api....

<span title='2018-05-12 13:55:57 +0000 UTC'>May 12, 2018</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;Franccesco Orozco

Deploy a Flask Project to Heroku

I was suddenly in the need of deploying a very basic Flask API to the cloud, so it can be available to the public. The thing is, Flask is not made for a production and scalable environment, but if you only need to deploy a very basic web server to Heroku then this guide is for you. Initialize a repository First of all we will need to set up a virtual enviroment with Pipenv, a Flask app, and initialize a repository....

<span title='2018-05-10 21:26:58 +0000 UTC'>May 10, 2018</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;Franccesco Orozco

Importing Variables from a Website

Before we start: A short disclaimer Don’t do this. Don’t go there importing random code you found on the internet into your code because that can be dangerous and code would be injected into your machine or a client’s machine and you don’t want that. Remember to always have your code and modules in a version control system and that you have complete knowledge of what you’re loading. Today I was talking with some of the guys in a Discord server about python, called Python Discord (which I definitely recommend you to check out!...

<span title='2018-04-17 11:03:45 +0000 UTC'>April 17, 2018</span>&nbsp;·&nbsp;5 min&nbsp;·&nbsp;Franccesco Orozco