Goodbye Gmail.

Posted on Thu 26 November 2020 in posts • Tagged with developer journal

After switching from Gmail to self-hosted email, managing the inbox has become more difficult. Making the switch made me realize something; I miss some of the features from Gmail. On my search for an alternative email client, I have seen RoundCube suggested as a web-based, open-source alternative. I started using …


Continue reading

Using Brave Browser flags in linux

Posted on Sun 23 August 2020 in dev-journal • Tagged with developer journal

The easiest solution to add flags to your Brave Browser startup is to use the brave AUR package. It has a brave-launcher script that will check for a .config/brave-flags.conf file. All you need to do is create and populate the .config/brave-flags.conf

Alternative if using the brave-bin …


Continue reading

Grub Boot repair

Posted on Wed 19 August 2020 in dev-journal • Tagged with developer journal, linux, grub

One of my servers had a failure over the weekend and caused some corruption of the boot loader. This is the first time I have experienced this with a setup built on LVM and LUKS, which provided a little extra complexity to solve the problem.

This time, the Ubuntu Boot …


Continue reading

Incremental UI improvements

Posted on Tue 04 August 2020 in dev-journal • Tagged with developer journal, conveyor

Small UI updates today

Added a card to show additional information:

info card

Just for convenience a link was added to get from the register screen to the login page.

Add link back to log in


Vim regex grouping

Posted on Tue 28 July 2020 in dev-journal • Tagged with developer journal, vim

Wrote a regex in vim today that used a grouping in the find and replace. Needed to update 936 instances..

From a statement that calls a custom module function {% if entry.getEnableVal('conveyorDevToggle') == 1 to be a simple statement.. {% if entry.conveyorDevToggle %}

This is the regex used: :%s/\ventry.getEnableVal …


Continue reading

Overhauling the registration page

Posted on Fri 24 July 2020 in conveyor • Tagged with developer journal, conveyor

In this iteration a few small changes are going to be made. Here is the current state of the Conveyor registration page:

2020-07-23-210006_1455x812.png

Here it is after the following changes:

  • The width of the form imports are too long
  • Add a referral code input
  • Make the submit button smaller
  • Right align …

Continue reading

Recaptcha Uncaught (in promise) null error with Flask

Posted on Fri 24 July 2020 in dev-journal • Tagged with developer journal, recaptcha, flask-wtf

When trying to implement Recaptcha2 Invisible with Flask-WTF I ran into the following error:

Uncaught (in promise) null

This seemed to be a pretty obscure problem as I could not get any additional information from the application about what was going wrong. What finally got me to the solution was …


Continue reading

Developer Journal: 19 July 2020

Posted on Sun 19 July 2020 in dev-journal • Tagged with developer journal

Finished documentation for a client website. Remove database backups that are more than 30 days old

Otherwise a server maintenance day:

  • Cleaned internals of home server
  • Ran RAM test as I have had some crashes a couple times
  • Loosened the CPU heatsync screws a half turn each. There are reports …

Continue reading

Adding Matomo to Pelican Flex theme

Posted on Wed 15 July 2020 in dev-journal • Tagged with developer journal

After setting up an account with Matomo you can add the following to your peliconconf.py file.

# pelicanconf.py
MATOMO_SITE_ID = 2
MATOMO_URL = "ma.matomo.cloud"

Remove spaces from filenames

Posted on Wed 15 July 2020 in dev-journal • Tagged with developer journal

Here is a great little bash command to remove all of the spaces of a filename and replace them with an underscore for all files in the current directory.

for f in *\ *; do mv "$f" "${f// /_}"; done

Developer Journal: 09 July 2020

Posted on Thu 09 July 2020 in dev-journal • Tagged with developer journal

Spent some time today working with Github actions for the first time. I set up a workflow that allowed me to lint the repo and run the tests on push.

Of course, this meant running my tests for the first time in a different environment and there was 37 tests …


Continue reading

If you were granted a wish, what would it be?

Posted on Wed 08 July 2020 in dev-journal • Tagged with developer journal

Today I was filling out a survey for a product I signed up for Python Morsels to help continue my Python education and one of the questions was:

If you could wave a magic wand (written in Python) and I could grant a wish, what would suddenly be different for …


Continue reading

Open markdown links in a new tab

Posted on Tue 07 July 2020 in dev-journal • Tagged with developer journal, markdown

While this is not supported with all Markdown interpreters, the following will work with Pelican and many others. You can add {:target="_blank"} following the Markdown link.

[Conveyor](www.conveyor.dev){:target="_blank"}

Here is an example, this link will open in a new tab: Conveyor


Return all items from a Github resource from the API

Posted on Tue 07 July 2020 in dev-journal • Tagged with developer journal, github

If you want to get the list of repos (or any other resource) from Github, the items are paginated once there are more than 30. Here is an example of how you can use a recursive function to follow the pagination and return all items of a particular resource.

Given …


Continue reading

Developer Journal: 29 June 2020

Posted on Mon 29 June 2020 in dev-journal • Tagged with developer journal

I so rarely need to run raw SQL queries that I have to look up how to use joins every time I need to use one.

sudo mkfs.ext4 /mnt
sudo gpasswd -a michael-abrahamsen storage

short LVM reference sheet

Posted on Sun 28 June 2020 in dev-journal • Tagged with developer journal

Creating a logical volume

sudo lvcreate -L 250G vg0 -n vms

Add livestream video stats to Google analytics

Posted on Wed 24 June 2020 in dev-journal • Tagged with developer journal

How can you get more granular stats for a livestream video? One option is to use Google analytics and google tag tracking.

https://www.analyticsmania.com/google-tag-manager-recipes/youtube-built-in/ has a great resource on how to set up a events with google analytics. I used this page as a resource when …


Continue reading

Developer Journal: 23 June 2020

Posted on Tue 23 June 2020 in dev-journal • Tagged with developer journal

Redirecting pages with Craft-CMS. A client was using Redirect Manager with to handle their redirects but in a moment of need today it stopped working. Luckily, Craft-CMS has a redirect tag that was able to be used. {% redirect "webinar" %}


Adding reCAPTCHA to a Flask site

Posted on Sat 20 June 2020 in dev-journal • Tagged with developer journal, flask, conveyor, python

This post will explain how to add Google reCAPTCHA to a Python Flask application using Flask-WTF.

The first thing you will need to do is get your SITE KEY and your SECRET KEY from Google reCAPTCHA Make sure to create a reCAPTCHA version 2 site. Version 3 takes much more …


Continue reading

Developer Journal: 15 June 2020

Posted on Mon 15 June 2020 in dev-journal • Tagged with developer journal

Another day working with Craft CMS

Using the codebase that the client gave me I was struggling to figure out how they were embedding their youtube videos into a page. The html for the section I was trying to duplicate looks like this:

<section id="intro" class="">
    <div class="container-fluid …

Continue reading

Developer Journal: 12 June 2020

Posted on Fri 12 June 2020 in dev-journal • Tagged with developer journal, craft cms

I'm creating a new page with editable fields using Craft CMS. I've never used Craft and am working on an already created site. With the large amount of field groups already created it was difficult to follow the docs as they said to Add a new field group. I could …


Continue reading

Developer Journal: 10 June 2020

Posted on Wed 10 June 2020 in dev-journal • Tagged with developer journal, craft cms

Today I am working to create a webinar registration page for a client. The proposed idea was to add a page to their Craft CMS site that would have a form to collect email addresses and send them confirmation and reminder emails. Instead of trying to figure out how to …


Continue reading

Improving site create flow on Conveyor.dev

Posted on Fri 05 June 2020 in conveyor • Tagged with conveyor, developer journal

Creating the first site on Conveyor.dev can use some improvement. Currently the user will need to create the site, create the server, then wait for the server to finish provisioning before heading to the "Sites" page where they can then see that the site has not been added to …


Continue reading

Developer Journal: 01 June 2020

Posted on Mon 01 June 2020 in dev-journal • Tagged with developer journal

Updates to the registration page

To allow Flask developers to use Conveyor without a subscription some changes will need to be made to the registration page.

I wanted to make sure the onboarding process for new users is as easy as possible. To help with that, I am removing the …


Continue reading

Developer Journal: 28 May 2020

Posted on Thu 28 May 2020 in dev-journal • Tagged with developer journal

Made a chart comparing some of the features of virtual conference apps. The comparison includes: Fonteva, cVent, Whova, vFairs, Evia, and All In the Loop

Virtual Conference app comparison


Developer Journal: 20 May 2020

Posted on Wed 20 May 2020 in dev-journal • Tagged with developer journal

When running chsh -s /bin/zsh the command would fail with Shell not changed. The solution was to use chsh -s /usr/bin/zsh which does not fully make sense to me because chsh -l lists both /usr/bin/zsh and /bin/zsh. Fixed and moving on.


Installing full system encrypted arch linux

Posted on Tue 19 May 2020 in dev-journal • Tagged with developer journal

This is a documentation of an Arch Linux installation with luks and lvm.

The drive will use a boot partition which will remain unencrypted with a second partition which will be encrypted with luks and then use lvm to create volumes within the lux encrypted partition.

Resources: https://computingforgeeks.com …


Continue reading

Developer Journal: 18 May 2020

Posted on Mon 18 May 2020 in dev-journal • Tagged with developer journal, conveyor

Found a UI bug on the Conveyor event output. The close button is outside of the event modal.

Close button bug

To fix this I'm actually going to move the close button up to the top right corner and make it an X. Just a small rearrangement of html:

<div class="border-b text-center …

Continue reading

Developer Journal: 15 May 2020

Posted on Fri 15 May 2020 in dev-journal • Tagged with developer journal

Today I wanted to write a function to send me an email when someone registers for conveyor.dev

To do this I wrote the following test:

@patch('routes.send_reg_notification_email')
@patch('stripe.Customer.create')
@patch('stripe.Subscription.create')
def test_notification_email_is_sent(self, mock_sub, mock_cust, mock_email):
    mock_cust.return_value = stripe_customer
    mock_sub.return_value = stripe_subscription
    self …

Continue reading

Gemini Trading Script

Posted on Mon 11 May 2020 in dev-journal • Tagged with developer journal, crypto, python, api

Created a short script today to make trades on the gemini platform. Simple, not DRY, and it works. One improvement I will probably make the next time I use this is to change the buy function to accept units of a currency other than dollar.

import requests
import json
import …

Continue reading