Image for post
Image for post
Photo by Louie Martinez on Unsplash

Have you ever wanted to live in Japan? Have you ever wanted to work in Japan? I asked myself this a couple of years back, and have realized today that I have reached my goal of working and living in Japan. While this article will revolve around being a software engineer, the resources I mention also offer other positions like HR and sales.

Requirements

Before getting into any details, I will briefly go over some requirements for successfully integrating yourself into Japan as a resident:


Image for post
Image for post
11F at Hennge

HENNGE is a company in Tokyo, Japan that is not your average Japanese company. It is more aligned with what it’s like working in Silicon Valley, as it is a very chill environment compared to the various other Japanese startups and companies I have experienced in the past. They advocate to voice out your opinions if you think something can be improved or changed, which is a very foreign concept to most typical Japanese company. Best of all, there is no need to know Japanese to work here, as HENNGE has standardized their main language to be fully English. The…


Image for post
Image for post

Here is a how to setup Flask tutorial as of recent. I recommend following along in Linux/Mac/WSL, as my setup will be mostly done through the terminal. I will also assume some basic Python knowledge, as this isn’t a Python tutorial. This tutorial won’t be going over how to make a specific web app, as I think the best way to truly learn a technology is to build something for yourself. Rather than be stuck in a tutorial loop, learning the concepts and applying them to your own ideas would help you grow faster in my opinion. …


Image for post
Image for post

Here are 3 nice visual changing terminal tools written in Rust that I have integrated into my workflow. Coding requires spending most of your time looking at your screen, it should at least look visually pleasing. All of the packages mentioned here are compatible Linux, WSL, and Mac. They are very easy to implement, as they pretty much work out of the box after installation. The only configuring you would want to do is in your ~/.bashrc (or whichever shell’s rc you use), as 2 of these packages will replace some of your main commands.

Starship

This is a neat tool…


Image for post
Image for post

I’ll be documenting how I installed Manjaro in this article for future reference. We will also be starting from booting into the bootable USB, check another guide on how to make that if you haven’t done that yet. From the image above, running down the list:

— Select your timezone
— Keyboard, Language (I default to US)
— Driver: free if intel integrated, not free if nvidia

Enter the Boot: Manjaro


gunicorn.errors.HaltServer: <HaltServer ‘Worker failed to boot.’ 3>

Image for post
Image for post

Getting this error while trying to deploy a Django app? Check the logs with this command:

journalctl --unit=gunicorn | tail -n 100

With this command, you can see gunicorn trying to startup your Django app more clearly compared to sudo service gunicorn status .

If your systemd socket/service settings file ( /etc/systemd/system/* ) contains the setting EnvironmentFile , make sure to check the format of your env file. It cannot be the bash script format like this:

export MY_KEY=123
export MY_OTHER_KEY=aaa

Correct format:

MY_KEY=123
MY_OTHER_KEY=aaauld

If your gunicorn is active and running from sudo service gunicorn status , but your website still…


Image for post
Image for post

This article will go through how I got subdomains to work on Django 3 with Certbot for https. It was a little finicky to get working, since I couldn’t find much info on some specific errors I was running into. Maybe I’m just not a high level search engine ninja, but I figured it out myself. My server was using nginx, but I think it shouldn’t matter if you use apache or something else. …


Image for post
Image for post

Something very useful I’ve found while using Django is writing custom Django-admin commands for your manage.py. Essentially this is just appending arguments to the CLI of manage.py. You might wonder why can’t you just make your own script in like a folder called project_name/utils/, but you would need to jump through a lot of hoops to use the resources in your Django app in order to do so. If you want to just take a look at the docs instead, you can find it here.

Blog Updater

Here’s a pretty useful example: say you wanted to update the blogs on your site…


Image for post
Image for post

This was a problem I ran into recently, and here’s a simple solution to it. The Django doc’s example handles this problem by making 2 admin sites, but I wanted to handle 2 databases on1 admin dashboard.

In project_name/app_name/admin.py we can register our objects to be on the localhost:8000/admin interface. All we need to change here is add a class MultiDBModdelAdmin from the docs, and also a class that specifies the name of our database we want for the models in this app:

# admin.py of one of your apps
from django.contrib import admin
from .models import Article, Author
class…


Image for post
Image for post
Photo by Chris Ried on Unsplash

This article is mainly for beginners at webscraping, and should help with thinking about how to scrape something specific off a website with the example below. The best way to learn methods on grabbing specific HTML tags is to find a website you frequently go to and try to automate something with the text you can grab from that site. Normal advice but; read the official docs when trying to pinpoint a HTML tag, then google carefully…

I typically just have test files for specific HTML tag targets that are hard to grab, and a main file with the rough…

Derrick Gee

Software Engineer living in Tokyo | Linux | Cats | https://github.com/kai-dg | https://haruspace.dev | https://ko-fi.com/harukai

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store