Weekly Digest #58
Articles
A brief history of code search at GitHub
How We Saved 70K Cores Across 30 Mission-Critical Services (Large-Scale, Semi-Automated Go GC Tuning Uber Developers
Go runtime invokes a concurrent garbage collector at periodic intervals unless there is a triggering event before it. The triggering events are based on memory back pressure.
Garbage collection in Go is concurrent and involves analyzing all objects to identify which ones are still reachable.
GOGC, expressed in percentage of live dataset, to control garbage collection.
hard_target = live_dataset + live_dataset * (GOGC / 100).
Then the pacer is in charge of predicting when it is the best time to trigger GC to avoid hitting the hard target (soft target).
GOGCTuner dynamically computes the correct GOGC value in accordance with the container’s memory limit (or the upper limit from the service owner) and sets it using Go’s runtime API.
- Simplified configuration for easier reasoning and deterministic calculations.
- Protection against OOMs (Out Of Memory)
- Allow higher GOGC values for corner cases
- Lead or be led
- Topic sentences
- Get excited
- Unmotivated details
- Slides versus speaker
- Daily progress tracking
- Managers as input/output machines
You put into it your update and you get back feedback. The meeting is for your benefit.
A few suggestions for running update meetings with your advisor/manager:
- Assume they forgot everything that was said last meeting.
- Show up with things to talk about and a goal.
- In 3–4 sentences, refresh everyone’s memory about the last meeting and what you were supposed to accomplish since then.
- In 4–6 sentences, summarize what you did, what worked, what didn’t work, and what you think you should do next. Think of this as bullet points.
- Avoid diving into details until you know everyone is on the same page and caught up.
- If possible, show up with something tangible, like a visual aid, a demo, a draft, or at least some notes.
Tutorials
Various ways to include comments on your static site
A Visual Guide to useEffect — Cleanups
Tools
lazydocker, A simple terminal UI for both docker and docker-compose, written in Go with the gocui library.
Vizzu — Library for animated data visualizations and data stories.
GitHub-Web-IDE, browser extension adds to any GitHub repository a new drop down menu which offers links to a number of online services that allow viewing the source code of the repository in an IDE like interface.
Off-topic
In 2021, the Internet went for TikTok, space and beyond
InterfaceLIFT free high resolution wallpaper