Blog / Software Development

The Joy of Refactoring

October 4, 2019

I spent a good part of last month refactoring a decent portion of the codebase of our Shopify data exporter app, EZ Exporter.

There are 3 main motivations I decided to invest this much time in refactoring:

  • Optimization.
  • Preparing the codebase for new features.
  • Reduce maintenance cost/complexity/technical debt.

Refactoring is the process of improving the code's structure and design, which I actually quite enjoy. I'm a bit of a minimalist and I find cutting ...

Easily convert XML data to a Python dict with xmltodict

September 1, 2019

I hate working with XML mainly because I find it difficult to read.

There's a popular Python package for parsing XML called lxml which is very flexible, but I found xmltodict much better suited and easier to use for what I needed to do.

We have a inventory management app for Shopify, EZ Inventory, and one of the features we've added recently is XML support. We have a few customers whose suppliers can only ...

Dealing with datetime objects and time zones in Python 3

June 29, 2019

Working with datetime objects and time zones is one of those things I always struggle with when writing code in Python. I always have to look things up and double check the outputs (such as making sure daylight savings time was taken into account) to make sure I'm doing things correctly.

This blog post is really more of a reference for myself when making adjustments to datetime objects that involve time zones so I won't ...

How to reset the primary key sequence in PostgreSQL with Django

March 19, 2019

I was working on some fairly big features involving new Django models for one of our apps and when I pushed to our staging environment, I got this error during deployment at the database migration step:

duplicate key value violates unique constraint "auth_permission_pkey" DETAIL: Key (id)=(55) already exists

It looks like new records were getting added to the auth_permission table. I was puzzled as I didn't make any changes related to the Django auth app. ...

Django 2.1 SameSite cookie issue with Safari 12

February 16, 2019

We just ran into this issue two days ago as we've recently upgraded the Django version for one of our Shopify apps to version 2.1.

We had a user tried to use the app and he kept getting redirected to the login page during the OAuth flow. He then tried it on Chrome and it worked fine so we narrowed down the issue to his web browser, which was Safari, specifically version 12 of Safari ...

Older