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

Articles

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
October 8, 2020

Posts of the Week 10/08/20

The Ultimate Guide to GPT3 from Twilio

A step-by-step walk through of what it is like to the the GUI to GPT3 from OpenAI

A Columnist Makes Sense of Wall Stree Like None Other (See Footnote)

Mr. Levine wasn’t always a darling of business media and finance Twitter. (The best measure of his audience’s devotion may not be his 112,000 Twitter followers, but rather the 3,000 that follow @MattLevineBot, a fan account describing itself as a bot that mimics his writing style.) He began his post-collegiate career as a Latin teacher, then worked as a lawyer at Wachtell, Lipton, Rosen & Katz before advancing to Goldman. Despite having made more money at white-shoe law and Wall Street firms than he does as a writer, Mr. Levine says he is happier now. He is doing exactly what he has long wanted to do. This is the story of his ascension. It begins with an escalator.

read more
September 21, 2020

Deriving Average Without Totals

Even an old dog like me learns something new every day.

Let’s say you need a program that receives a sequence of numbers and output the current average. How do you do this efficiently? The naive solution is to to keep track of two variables:

total   # add up all numbers seen so far
count   # a count of how many numbers seen so far

This way, at any step, you can calculate the current average using total/count.

read more
September 21, 2020

Creating New Abstractions

Software engineers find it natural to talk about abstractions. We have ideas such as Decorators, Model-View-Controller, and Message Queues. These abstractions allow software engineers to talk to each other using our own rich and succint language. Abstractions, however, is not unique to engineers. In my role as a parent and an American citizen, I am constantly confronted with new abstract ideas arising out of life.

The abstractions I am referring to are new words and ideas coming out of our shared culture. For example, words that do not exist twenty years ago: Me-Too and BLM as well as a redefinition of words like gender and socialism.

read more
September 8, 2020

I want to love DynamoDB

I want to love DynamoDB. I love that it just scales (disk usage and processing power). I love that it is tightly integrated with AWS’s IAM model, so I don’t have to deal with user/role/permissions management.

But DynamoDB does some weird things by design. For example, only the primary key can be unique. If you want a table with multiple unique attributes, for example, a Users table where both the user_name and email are unique, you’ll have to do weird things like this.

read more
September 2, 2020

Post(s) of the Week Sept 2020

The Empathy Gap from Effectiviology.com

For example, if a person is currently feeling calm, the empathy gap can cause them to struggle to predict how they will act when they’re angry. Similarly, if a person who is on a diet is currently full, the empathy gap can cause them to struggle to assess how well they will be able to handle the temptation to eat when they’re hungry.

read more
August 17, 2020

Managing Humans

I finished Managing Humans from Michael Lopp today. I knew of Lopp through “Rands Leadership”, the Slack community he created. I enjoyed learning from the people in the community and thought I’d pick up his book. I’m not sure what I expected going into the book. I think I expected tips and rules that I can follow. After trying to summarize the book, I think what I wanted and got was a set of mental models that I am happy to add to my toolbox.

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