/dev/jcheng
  • About
  • Articles
  • Pages
  • Reviews
  • Tags

Articles

August 22, 2019

Interview Questions

Good technical interview questions are hard to find. In the last month, I’ve seen some really great ones and equally bad ones. I want to go through some of them and write down my highly biased 5-star rating on their effectiveness. First, for some context on how I evaluate interview questions. Your interview questions should be: Respectful of the candidates Objective and evaluated consistently Gathers relevant and insightful data
August 19, 2019

Deploying Go

I’ve written a lot of Python. If I need to create something quickly, I tend to go to Python. I’ve written a lot of Java. But I almost never write Java code outside of work. One thing I liked about Java over Python, however, was ease of deployment. I can package all third party dependencies into a single executable jar, making it easy to upload and distribute artifacts. I have never mastered packaging Python for distribution.
August 19, 2019

Own Your Data

I previously wrote about owning my own data. An important part of data ownership is backing up your data. I use S3 as my long term data store. It is pretty easy to set this up using Terraform.

S3

Provisioning a S3 bucket is simply a single Terraform resource:

resource "aws_s3_bucket" "repo_archive_log" {
  acl = "log-delivery-write"
  bucket = "example-bucket"
  tags = {
    Name = "example"
    TTL = "persistent"
    ManagedBy = "Terraform"
  }
}
August 13, 2019

Stupid Emacs trick for writing Go code

Lately, I have been writing more code outside of full-fleged IDEs and found myself tweaking Emacs into a lightweight IDE for Go. Having gofmt automagically formatting the code and refreshing it in the buffer is simply lovely. My current go-mode cusomization looks like this:

First, get the excellent go-playground package.

(package-install 'go-playround)

Then, configure Emacs

;; Automatically format your code on save
(add-hook 'before-save-hook 'gofmt-before-save)

;; Automatically display gofmt processed code in buffers
(custom-set-variables
 '(global-auto-revert-mode t)
 '(auto-revert-interval 1))

;; Verbose output when running tests via go-test-current-*
(setq go-test-args "-v") 
August 11, 2019

Another year, another blog

A little more than a year ago, I moved my blog from Blogger to Medium. Medium, as a blogging platform, was always meant to be temporary. It is platform with a modern look. It is a free service. One does not need to worry about domain registration, uptime, security patches(!), or a host of little things that adds up. The price is, however, to give up control of your content.
  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 8
  • 9
  • »
  • »»
© /dev/jcheng 2023