Let’s keep this short and sweet, assumptions:
Open an Ubunutu terminal
# add the repo
$ sudo add-apt-repository ppa:neovim-ppa/unstable
# update & install
$ sudo apt-get update
$ sudo apt-get install neovim
run $ nvim
, then:
# create a directory to hold the init.vim file
:call mkdir(stdpath('config'), 'p')
# then create an init.vim file
:exe 'edit '.stdpath('config').'/init.vim'
This is sourced from the :h nvim
command
download and install vim-plug:
$ sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
# edit the init.vim file
$ nvim ~/.config/nvim/init.vim
Sample plugin file
call plug#begin(stdpath('config') . '/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()
write the file and run $ nvim
again.
:PlugInstall
And you should be all set!
Recently, I’ve been focused on developing a Chrome extension, Skater. This extension started off as a hackathon project among friends, resulting in a scrappy, messy codebase written in vanilla js. While a lot of fun to develop at the time, revisiting and making changes without a testing framework in place has been a headache. I’ve made the decision to revisit the extension and implement a testing suite with jest. You can follow along with those updates on the jest-implement branch. …
This post is part of a series of bite-sized tutorials that I have been publishing on my blog.
In data warehousing, we often encounter repetitive processes that can benefit from templating. This is a simple example of creating a COPY INTO statement using some JSON.
{# jinja_template.j2 #}COPY INTO {{ table.target_name }}
SELECT
{% for col in table.columns %}
{{ col.name }} as {{ col.alias }} {% if not loop.last %},{% endif %}
{% endfor %}
FROM {{ table.s3_stage }}
// config.json{ "table": { "target_name": "transactions.app_payments", "columns": [ { "name": "date", "alias": "payment_date" }, { "name": "price", "alias"…
This article serves as a guide for my students to deploy their Flask apps to Heroku. I will assume that you are using Terminal on Mac/Linux or Git Bash on Windows. There is an accompanying GitHub repo for this article.
heroku login -i
and loginWe will start off with a new project directory (folder) called my_app
. In this folder, create a new file, app.py
which will house our Flask app. The code for the Flask app should look something like this:
from flask import Flask, render_template
import gunicornapp = Flask(__name__)@app.route('/')…
Have you ever had to click through a clunky, difficult to navigate, website? Maybe it was a school web portal, or a local government website. If you have to click through a frustrating web page often, I have good news for you. We can automate that with Python.
The library that we will be using to spin up and control a headless web browser is called Splinter. There is some prep work before we get started.
First make sure that you have Homebrew installed. Then run the following in your terminal:
# run this in terminal
brew cask install chromedriver
Python everything!