I am a software engineer at Motive (formerly KeepTruckin) on IoT Platform team. I came to the United States from Taiwan in 2017 and graduated from San Jose State University with a Bachelor's degree in Computer Science in 2021. My expertise includes building reliable and scalable IoT Platform for over 500K IoT devices in the cloud.
📕 Blogs
[Golang] Context
Jan 8, 2024
Engineering
Golang
[Rails] How to write a function that returns an Emerator
Jan 5, 2024
Engineering
Rails
[gRPC] Authentication
Nov 16, 2023
gRPC
Engineering
[K8S] How add AWS permission to a K8S service
Nov 15, 2023
k8s
Engineering
[Golang] Functional programming in Golang
Nov 9, 2023
Golang
Engineering
[Golang] Fatal vs Panic
Nov 9, 2023
Golang
Engineering
Fatal vs Panic
[Golang]What is
defer
in Golang?Nov 9, 2023
Golang
Engineering
[Golang] interface and struct
Nov 9, 2023
Golang
Engineering
interface and struct
[Golang] ... in Golang
Nov 7, 2023
Golang
Engineering
...
is similar to *
in Python to pack/unpack iterables[Golang] Compile type assertion
Nov 7, 2023
Golang
Engineering
[Golang] How to convert types in Golang
Nov 7, 2023
Golang
Engineering
convert type and type assertion
[Golang] Print
Nov 6, 2023
Golang
Engineering
[Golang] Error in Golang
Nov 6, 2023
Golang
Engineering
error handling and custom error
[Golang] Control Flow in Golang
Nov 6, 2023
Golang
Engineering
if, for, switch
[Golang] Function, closure, method
Nov 6, 2023
Golang
Engineering
[Golang] variables, constants, and common types
Nov 6, 2023
Golang
Engineering
[Golang] Conventions
Nov 6, 2023
Golang
Engineering
Comment/naming/interface/var… conventions
[Golang] How to structure a Golang project
Nov 6, 2023
Golang
Engineering
[Golang] Ecosystem
Nov 6, 2023
Golang
Engineering
go run/build/mod/get…
[Rails] Rack + Puma
Nov 1, 2023
Rails
Engineering
Basic web server and interface for Rails app, but still lots of stuffs I don’t know…
[Rails] ActiveAdmin - filter, sidebar, menu
Oct 31, 2023
Rails
Engineering
[Rails] ActiveAdmin - belongs_to
Oct 31, 2023
Rails
Engineering
[Rails] ActiveAdmin - arb
Oct 31, 2023
Rails
Engineering
[Rails] ActiveAdmin - actions
Oct 31, 2023
Rails
Engineering
ActiveAdmin - collection_action, member_action, action_item, …
[Rails] Backburner
Oct 25, 2023
Rails
Engineering
A beanstalkd-powered job queue that can handle a very high volume of jobs, but the scalability to handle large throughput could be questioned.
[Rails] Grape
Oct 25, 2023
Rails
Engineering
An opinionated framework for creating REST-like APIs in Ruby and designed to run on Rack - a modular Ruby web server interface.
[Rails] Test
Oct 24, 2023
Rails
Engineering
There are many different ways and libraries for testing in
Rails
. This article is a general one.[Rails] Weird signs in Ruby (||=, <<, ?, *, :, !)
Oct 23, 2023
Rails
Engineering
||=, <<, ?, *, :, !
[Rails] auto-load, reload, load, require, include, extend
Oct 20, 2023
Rails
Engineering
auto-load, reload, load, require, include, extend
[Rails] Common CRUD methods
Oct 20, 2023
Rails
Engineering
create/new/save/find_by/where/update/update_all/destroy
[Rails] Migration
Oct 20, 2023
Rails
Engineering
Basic migration
[Rails] Route
Oct 18, 2023
Rails
Engineering
Very basic Rails route concept
[Rails] Controller
Oct 17, 2023
Rails
Engineering
Basic controller usage
[Rails] View
Oct 17, 2023
Rails
Engineering
Very basic Rails usage; erb
[Rails] Model
Oct 13, 2023
Rails
Engineering
Model: scope, validation, callbacks
[Rails] class and self in Ruby
Oct 12, 2023
Rails
Engineering
class and self in Ruby
[Rails] Ruby Method
Oct 11, 2023
Rails
Engineering
instance method/class method/singleton method
[Rails] Exception + rescue/raise
Oct 11, 2023
Rails
Exception + rescue/raise
[Rails] Ruby Basics
Oct 11, 2023
Rails
Engineering
Language syntax + block/module + require/include
[Rails] nil? vs empty? vs blank? vs present?
Oct 10, 2023
Rails
Engineering
nil? vs empty? vs blank? vs present?
[Rails] How to show raw sql in Rails console
Oct 10, 2023
Rails
Engineering
Show raw sql in Rails
[Rails] Read from Replica
Oct 10, 2023
Rails
Engineering
Read from replica in Rails
[Rails] Some enumerable methods and Hash
Oct 10, 2023
Rails
Engineering
pluck/select/Hash/map/to_h/index_by
[Rails] size vs count vs length
Oct 9, 2023
Rails
Engineering
Always use size
Full time兩年回顧
Oct 8, 2023
Engineering
Career
Self Improvement
歷經兩次裁員。想更近一步升到L5。
[Rails] Different find methods
Oct 8, 2023
Rails
Engineering
find vs find_by vs find_by_field
[Rails] Different update methods
Oct 8, 2023
Rails
Engineering
update/update!/update_all/update_attributes/update_attribute/update_column(s)…
[Rails] each vs each_slice vs find_each vs find_in_batches vs in_batches
Oct 7, 2023
Rails
Engineering
each vs each_slice vs find_each vs find_in_batches vs in_batches
Basics of Bazel
Oct 6, 2023
bazel
Engineering
package/target and bazel run/build/test/query
N+1 Query
Oct 6, 2023
Database
Engineering
Rails
N+1/eager load/preload/lazy load/over-eager load
[Rails] Associations between models
Oct 6, 2023
Rails
Engineering
has_many/has_one/belongs_to/inverse_of/dependent
K8S Custom Resource
Oct 5, 2023
k8s
Engineering
Custom resource is useful when you don’t want to use normal k8s resources
What is Argo?
Oct 3, 2023
Engineering
Argo
Argo or mostly ArgoCD learning notes
Golang Basics
Apr 29, 2023
Golang
Some basic Golang concepts and usage. Some of the articles might be basics but something I used during work.
人生中第一次看到裁員
Dec 10, 2022
Motive Layoffs
K8S Basics
Nov 16, 2022
Engineering
k8s
Notes of k8s basics
AWS Lambda Beginner
Nov 7, 2022
AWS
Engineering
Lambda
Some basic notes of AWS Lambda
一年回顧
Oct 23, 2022
Career
Self Improvement
Life
這個月終於達成工作一年的里程碑,是時候回顧這一年學到了什麼,或者理悟了什麼。
Intro to Elasticsearch
Oct 12, 2022
Elasticsearch
Recently I watched a brownbag from my current company, and I figured it was time to groom some notes from my previous company and the current one. So this is a note of very basic Elasticsearch in case one day I will need it again.
Intro to Kafka
Oct 4, 2022
Engineering
Kafka
Kafka learning notes
半年回顧 —— 軟體工程師 6 Month Retro as a Software Engineer
Jul 31, 2022
Engineering
Self Improvement
Career
在KT打工6個月的自我省思...
AWS IoT Basics
Mar 24, 2022
IoT
AWS
AWS IoT by far is the easiest and most efficient development tool for IoT industries I have ever used. It provides a serverless message queue with predefined topics. It is convenient to use AWS IoT for device configuration, device jobs, device authentication/registration, and data streaming. Also, it is well integrated with other AWS services, such as Lambda, SQS, and S3.
MQTT
Mar 3, 2022
Engineering
IoT
MQTT is a popular protocol in IoT industries
[Book Notes] Design Data-Intensive Application Ch1: Reliable, Scalable, and Maintainable Applications
Feb 5, 2022
Engineering
Distributed System
This chapter mainly describes the terminology: reliability, scalability, maintainability.
[Blog notes] Ten Rules for Negotiating a Job Offer
Jan 22, 2022
Career
Negotiate
Salary
Haseeb Qureshi describes his ways of negotiating a job offer. Other than 10 rules, he also provides tips and examples of different scenarios.
[Blog Notes] It’s all about negotiate with yourself
Jan 17, 2022
Engineering
Career
Negotiate
Salary
By “鄰居可以不要都是 CEO 嗎 - The Suns in California”. 作者是個product manager,講述一些基本談薪水的mindset。
[Blog Notes] The Differences Between a Junior, Mid-Level, and Senior Developer
Jan 17, 2022
Engineering
Career
The main difference is the impact and the knowledge.
[Blog Notes] Tricks For Getting Unstuck During a Coding Interview
Jan 15, 2022
Engineering
Career
Interview
Oftentimes, we get stuck during interview, but there are some tricks we can take to “continue” the interview
AWS SQS - Send/Receive/Delete SQS messages
Jan 12, 2022
Engineering
SQS
AWS
An easy SQS client written in Golang to send, receive, and delete messages
2021 Software Engineer Intern in the US
Jan 12, 2022
Career
Engineering
Student
Intern
My working experience as an software engineer intern at a pre-IPO company
2020 台灣 Software Engineer Intern
Jan 2, 2022
Career
Engineering
Intern
1st time Software Engineer Intern at a Taiwan Startup
AWS SQS - How to monitor and debug SQS
Jan 2, 2022
Engineering
AWS
SQS
How do I know if a message is sent to SQS
AWS SQS - Message Life Cycle
Jan 2, 2022
Engineering
AWS
SQS
Describe how a message is processed
AWS SQS - polling
Jan 2, 2022
Engineering
AWS
SQS
Oftentime, use long polling for efficiency
AWS SQS - 3rd SQS queue - Dead Letter Queue
Jan 2, 2022
Engineering
AWS
SQS
Dead letter queue to process failed messages
AWS SQS - FIFO Queues
Jan 2, 2022
Engineering
AWS
SQS
Obviously First-in-first-out, but also exactly-once processing
AWS SQS - Standard Queues
Jan 2, 2022
SQS
AWS
Engineering
Standard queues contain out-of-order messages
組電腦
Jan 1, 2022
Engineering
Computer
Notes of assembling a computer for Machine Learning and Video Game
2021回顧
Dec 31, 2021
Student
Engineering
Career
2021 Self-Retro
Intro to Event-driven Architecture
Dec 27, 2021
Engineering
message-queue
Introduction to event-driven architecture mostly seen in Microservice or Serverless architectures
AWS SQS - Basics
Dec 27, 2021
Engineering
AWS
SQS
Introduction to AWS Simple Queue Service
What I Learn from Working on 3 School Projects At the Same Time
Dec 21, 2021
Engineering
Student
Taking database, computer network, web project classes at San Jose State University
2020 自我回顧
Jan 3, 2021
Career
2020 Self retro