Git Migration Large Files

This blog post is going to demo migrating a Git repository that contains large files. An overview of the steps are: Create empty repos at gitlab.com and github.com Create demo file structure and push to gitlab.com Create a mirror clone of the repo Pull down with all branches Create large files Install git lfs Try to use git lfs when there are super large files Delete super big files using BFG Repo Cleaner Working with files in LFS Create empty repos at gitlab.com and github.com I have already created personal accounts at gitlab.com and github.com. We will use GitLab as the source and GitHub as the target, but these are just examples. ...

October 24, 2024 · 7 min · Elijah Gagne

iTerm2

I’m going to start a series of posts talking about software I use daily, highlight some of it’s features, and describe how I’ve customize it. First up for iterm2. In my opinion, there is no better terminal on any platform. iTerm2 is only for macOS. Here are some quick links that might peak your interest iTerm2 feature list iTerm2 main website where you’ll also find a FAQ, Documentation, and a place to submit bugs Source code on GitHub My list of top features are ...

May 7, 2021 · 5 min · Elijah Gagne

Django Jelastic

In this post we will be showing how to create a Django hello world in Jelastic. Our hosting provider is Reclaim Cloud. Create a local Django hello world # Make a directory with an empty README mkdir django-test cd django-test touch README.md # Create a .gitignore file curl https://www.toptal.com/developers/gitignore/api/django -o .gitignore # Initialize a git repo and rename master to main git init git add -A git commit -m 'Initial commit' git branch -m master main # Re-enter the directory so your shell prompt picks up it is in a git repo cd; cd - # Create a virtualenv and activate it virtualenv venv . venv/bin/activate # Install the django module and write the dependencies to requirements.txt pip install django pip freeze > requirements.txt # Create a new django project django-admin startproject config . # Update the SQLite database (although we won't be using this) python manage.py migrate At this point, we have Django ready for testing so let’s see if it’s working. Run python manage.py runserver and then browse to http://127.0.0.1:8000/. ...

April 17, 2021 · 5 min · Elijah Gagne

Website Hosting

At this point I have the gagnenet.com domain and I’d like to find hosting for https://gagnenet.com/. Let’s outline some of the requirements I have: $0 cost is highly desirable Easy HTTPS certificate management is a plus Publishing new content should be simple There are two hosting providers I’ve tinkered around with in the past that I decided to explore further. The first is GitHub Pages. It’s free and publishing new content is simple. It works by creating a GitHub repository and pushing content up. In the most basic case, you create HTML/CSS/JavaScript content locally and do a git push to publish your website updates. They also have integration with a static site generater called Jekyll. Making use of the integration, you can create content in markdown and push that to the Git repo. After that, GitHub runs Jekyll on their platform to build your website from the markdown. GitHub Pages does let you choose a custom domain, but they do not offer HTTPS built in. To accomplish that, we can introduce Cloudflare as a proxy. This great because Cloudflare has built in support for using Let’s Encrypt so it will handle creating and updating the certificates for you. ...

April 10, 2021 · 6 min · Elijah Gagne

Domain Name

It’s well known in the computing world that naming things is hard. In this case, I needed a domain name for my web identity. I’ve owned elijahg.com for 14+ years. Soon after my wife and I started a family, I realized that the elijahg.com domain really only worked for me and I wanted something that could be useful for my whole family. So that obviously meant the first domain I looked into purchasing was gagne.com, taken. gagne.net, taken. How about one of those new domains. gagne.tech was available and I could buy it for 10 years on the cheap. The problem is that it seems after 10 years that price might be $50/year to renew. I didn’t want to risk building an identity on something and then being on the hook for $50/year. So that pushed me back to .com and .net top level domains (TLD). Since I couldn’t get exactly what I wanted from either of those TDLs, I figured I might as well stick with .com. ...

March 27, 2021 · 3 min · Elijah Gagne

Adjusting Scanned PDF With GIMP

This is not what I expected my second blog post to be. However, in the last month, I’ve had to Google how I can use GIMP to “lighten white and darken blacks” several times. For those unaware, GIMP is a free and open source image editor. Think PhotoShop, but free. My issue is that I’ve needed to print, sign, and scan mutliple documents recently and the handwriting is routinely showing up faint. I could either use a Sharpie to sign the document or use software to adjust the contrast. I chose the latter. ...

March 25, 2021 · 2 min · Elijah Gagne

First Post

Welcome to the first post of my new blog. I have tried to blog a few times in the past, but have always fizzled out. It seems that an important question to ask is, “why blog?” A few reasons that come to mind off the cuff for me are: document things I learn to cement the concepts give myself a place to search and reference my notes share knowledge with others start a dialog with others to learn new things That all seems nice, but how am I going to keep this going? I think a need a goal. Let’s set a goal of making at least one new post every week. The topics I’m currently interested in posting on are: ...

March 18, 2021 · 1 min · Elijah Gagne