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

Articles

November 24, 2020

Posts Of The Week 2020-11-24

From Monolith to Microservices

tldr;

  • baby steps (lots of them)
  • similar infrastructure to TeleSign – on prem
  • similar infrastructure to TeleSign? Also run on multiple clouds
  • started with Docker on prem
  • started with ugly hacks, as ones does ;)
  • (not related?) practices blue/green deployment
  • dedicated infrastructure resources
  • service discovery, then routing, the orchestration
  • community as a big reason on technology selection
  • involved changes to how config and secrets are made available
  • took much too longer to get existing tooling to work with k8s
  • SECURITY IS HARD, e.g., networking, scanning, security patches
  • Come on JVM isn’t that bad ;)
  • Development environment IS HARD; Figure out how to do dev with a “minimal” set of systems. Do as you like. Share instances in the cloud when possible. Make it easy to spin up a cluster in the cloud for each developer
  • Data migration off the the monolith database is painful. Double writing is a thing. No database may be used by one codebase.

What Makes Sand Soft?

read more
November 23, 2020

Go: Pointer vs Value

In A Tour of Go, it states “Go has pointers. A pointer holds the memory address of a value.” When you design your data structure in Go, you have to decide between using a pointer or not. There’s no clear rule of thumb for it.

I had been reading the Go source code to AWS’s client library for DynamoDB. For a while, I had been annoying with their API design, which looks like this:

read more
November 12, 2020

Posts of the Week 11/06/20

https://rootsofprogress.org/immunization-from-inoculation-to-rna-vaccines

When you get your covid shot (probably in 2021), take a moment to think back on the 300 years of progress that got us to this point.

https://github.com/wbolster/emacs-python-black

This is an Emacs package to make it easy to reformat Python code using black, the uncompromising Python code formatter.

read more
October 30, 2020

Docker With Custom DNS Server

By configuring your Docker containers to talk to a custom DNS server, you gain more control over how your container look up other services – database, other microservices, etc.,

It turns out Docker networking isn’t completely straight forward. On Linux you can:

  1. Run a DNS server locally, either dnsmasq or devdns
  2. Run your container with --dns 172.17.0.1, the magic IP where your host machine is located
  3. Configure dnsmasq from step 1 via /etc/hosts

Sadly, none of it was easy. The entire thing probably took me three hours.

read more
October 22, 2020

Posts of the Week 10/08/20

What are your favorite CLI apps?

I’m looking for CLI utilities that are definitely not part of the POSIX required or optional utilities, and more coloquiallly not considered to be standard BSD or *nix fare.

The Penderwicks

My daughters couldn’t stop lauging during storytime. They actually enjoy bedtime now. Birdsall is an excellent writer.

Just write the praser

This is a whirlwind tour of writing parsers by hand. Why would you want to do that, when tools like Yacc exist to do it for you?

read more
October 20, 2020

2020 Emacs User Survey

I recently participated in 2020 Emacs User Survey. One of the questions asked is “When you were first learning Emacs, what did you find difficult to learn?” The obvious answer is keyboard shortcuts, e.g., instead of CTRL-S for save, it is CTRL-X CTRL-S. Instead, CTRL-S performs find, which is usually mapped to CTRL-F, and so on and so forth.

Why Emacs is hard for new users

There were other problems too. I didn’t put them all down in the survey. I’ll jot them down here as they come to mind.

read more
October 19, 2020

Webcam on Linux (Logitech Razer Kiyo)

I recently got a Logitec Razer Kiyo for my Zoom meetings. Currently, I need to use it on on Linux Laptop, and it works rather fine. I was skeptical that it would “just work” on Linux, but it did! There is also a software package named v4l-utils that allows you to configure the zoom (crop) level of your video, which is nice for cutting out undesirable background.

apt-get install v4l-utils

You can get a listing of attached cameras with

read more
October 16, 2020

Posts of the Week 10/23/20

How to hire for your organization

A three-part series from 9/21/20 to 10/5/20 on how to hire for your organization.

The Tempral Workflow Framework

Let’s look at a use case. A customer signs up for an application with a trial period. After the period, if the customer has not cancelled, he should be charged once a month for the renewal. The customer has to be notified by email about the charges and should be able to cancel the subscription at any time.

read more
October 16, 2020

Dell XPS-13 - Developer Edition

This Feburary, I ordered a Dell XPS-13 Developer Edition. The Developer Edition is a line of Dell laptops that ships with certified Linux OS. It has been my programming powerhouse for the last eight months.

My first choice for a laptop was not Linux. Windows and macOS are simply more practical. Games and MS Office just works on Windows. Software support on macOS is generally good (except games), but it beats Windows with its underlying BSD architecture. There is better hardware support simply because more people use it. However, I ultimately ended up with a Dell and Linux and it worked out great.

read more
October 15, 2020

AWS Step Functions

I briefly worked on a workflow system at $past_job, implemented using AWS Step Functions. My experience was pretty terrible. I wasn’t sure which technical requirements led the team to this system. Some people said we needed a “system that is configuration driven and not code driven” and some people said “we needed something that scales.” Whatever the reason was, making improvements to this system was a pain in the ass, with AWS Step Functions itself being somewhat responsible.

read more
  • ««
  • «
  • 3
  • 4
  • 5
  • 6
  • 7
  • »
  • »»
© /dev/jcheng 2026