Page table is where Linux stores virtual to physical page address translation, and its size can get huge when memory usage is high. One way to reduce the size of page tables, and reduce the number of page faults, is to use huge pages. I’ve been digging some information on hugepages for my own curiosity, and it looks like Linux has pretty good support for huge pages. And this blog serves as a quick note on my readings.
Reading-Summary 2018-05
Posts I found interesting during my reading:
Writing a Time Series Database from Scratch
The author’s experience in writing a time-series database from groundup, for Prometheus.
Introducing Thanos: Prometheus at Scale
The effort to scale Prometheus with a new project Thanos, with Kubernetes sidecar pattern, to read data from individual nodes, pre-process (e.g. sampling), and submit to a centralized data storage and display.
A Beginner’s Guide To Scaling To 11 Million+ Users On Amazon’s AWS
What kind of machine/cluster you’ll need for different size of user base (from 1 to billions).
Nexflix FlameScope
A display of CPU trace as a Github-style texture tiles.
A Usable C++ Dialect that is Safe Against Memory Corruption
IT-‘No Bug’-Hare is an interesting blog I found recently, focused on system, C++ language and game design. A good read for C++ fanatics and system designers.
I’m feeling guilty for not updating for so long. But on the bright side: I’m back.
As a part of work requirements I’m taking on Golang and some small distributed system design jobs. It’s an interesting language for this task: network, systems, infrastructures, etc. I’m having mixed but mostly positive feelings about this language, and maybe will share my experience when I got a chance.
Reading Summary 2017-06
It’s been a while since I ever post a reading summary never mention a new blog post. Writing is a time demanding job.
Society and Technology
Why do we manage academia so badly?
“Managers want metrics that are easy to calculate, easy to understand, and quick to yield a value … metrics with these desirable properties are almost always worse than useless.”
Easy metrics are also easily “hacked” - people “hack” the metrics to make statistics look good, while deviate from the original purpose of academia: to achieve good quality research.
See also:
Every attempt to manage academia makes it worse
Did Reddit’s April Fool’s gag solve the issue of online hate speech?
An interesting, anarchic style experiment on Reddit: let thousands of Redditers draw a picture all at the same time, what would possibly happen? It turned out to be surprisingly good.
Tim Berners-Lee: I invented the web. Here are three things we need to change to save it
Tim Berners-Lee: The Father of the World Wide Web and Turing Award winner believes the web nowadays has serious flaws, namely the loss of control of personal privacy, rampant spreading of misinformation on the web, and manipulations from the political campaigns online. It took everyone to build the web we have today, and it takes everyone to fix it now.
More reports and readings on Tim Berners-Lee:
Reading Summary 2017-03
Programming
Episode #51 - Mechanics of Building a Carpooling Service - Introduction
Sysadmin Casts is back again, and this time with more stuff: how to turn an idea into a MVP.
Technology
Technology Review: 10 Breakthroughs Technologies 2016
Artificial Intelligence for better conversational interfaces, Elon Musk’s companies, and biological technologies are back to people’s attention again.
Reading Summary 2016-12
C/C++
How to find size of an array in C without sizeof
The difference between arr and &arr - basically, arr is of type int *, and &arr is of type (int *)[size].
Very excellent article on the fundamentals of C/C++!
What Every C Programmer Should Know About Undefined Behavior
Some “gotchas” and pitfalls in the C programming language and how sometimes compiler optimizations can make it worse. Long story short is, steer away from undefined behaviors.
This post is from Chris Lattner himeself. Really nice article.
Python
Python Has Big Impact At Red Hat
Why Python is such a cool language and how Python is used in Redhat. Most of redhat’s important infrastructure is written in Python, including but not limited to firewalld
, yum
, and its successor dnf
, and many cloud PaaS tools for OpenShift.
Reading Summary 2016-11
Reading Summary 2016-09
Reading
A Bit of Python
Some security pitfalls in Python language. Very interesting read, from RedHat.
Improving Workflow By Using Clang-based Tools
Tips For Productive Debugging With GDB
A very beautifully crafted GDB init file. Worth taking a look.
The Definitive Guide to Python Exceptions
From the author of ‘The Hacker’s Guide to Python’.
Reading Summary 2016-08
Reading
Alan Kay’s Reading List
If this site is reliable, this is Alan Kay’s reading list for all his students. He’s a great thinker, not just in Computer Science, but human intelligence in general. His list is a constant reminder how much I’m trailing the great minds of this generation, and how much I should pick up the pace in reading.
How to use your full brain when writing code
Tips on being an efficient programmer.
Digital Rights
How Technology Hijacks People’s Minds -from a Magician and Google’s Design Ethicist
Interestingly how big companies like Facebook and Google use techniques to enchant you to stay on their page for more time, or click on more of their links. I think it’s an interesting read that raises our awareness against cases such tricks, and help us defend ourselves from such exploitation.
Reweaving the web
How a slew of new startup decide to use the latest technology such as “Blockchain” and “Ethereum” to decentralize the key web infrastructures and the World Wide Web they support, to compete against giant cooperations like Google and Facebook. It’s an interesting to trend to keep an eye on, but so far I don’t know if I have the optimism that they’ll succeed.
Reading Summary 2016-04
Programming
Eli Bendersky’s Website
Eli Bendersky’s blog has always been a must-read to me. He never fails to regularly come up with posts of interesting and insightful ideas, or detailed tutorials.
He also actively participates in LLVM-dev mailing list and based on his blogs, has board interests in programming language, computer systems and etc..
Computer Science
What is HCI research? And what is its relationship to computer science?
Phillip Guo is another one of my favorite bloggers. This time he wrote an intro to HCI research.
Avoid Nasal Demons
Recently my colleague and I were working to port V8 JS engine as one of our benchmarks. We used it as it’s a widely-used library on devices we cared about, and we believed it’s a well-maintained, high code quality project. Or at least we thought.