Check out my personal homepage at https://josehu.com 😎
josehu07 / josehu07.github.io Goto Github PK
View Code? Open in Web Editor NEWGuanzhou's personal website
Guanzhou's personal website
Check out my personal homepage at https://josehu.com 😎
This post summarizes my personal development environment configuration on macOS X. Just for memo. 记录一下我在 macOS X >= 10.14 上的个人开发环境 & 工具配置,以便将来需要时 refer。
https://www.josehu.com/memo/2020/02/10/macos-dev-environment.html
Guanzhou’s personal storage for lecture notes, blog posts, & good mood.
Replicated state machine is a common distributed system design to achieve fault-tolerance against fail-stops. Consistency among distributed replicas thus arise as a crucial problem. People have defined different levels of consistency models throughout distributed systems research. Some of them are strong and easier to reason about and program with, while others weaken the constraints to pursue higher performance.
https://www.josehu.com/technical/2020/05/23/consistency-models.html
When doing systems research, we sometimes need to modify/add new stuff into the Linux kernel. This post lists a successful workflow of building and installing a custom Linux kernel under a Ubuntu 18.04/20.04 environment (deb), along with steps to debug the Linux kernel by running it over the QEMU emulator and attaching to GDB.
https://www.josehu.com/memo/2021/01/02/linux-kernel-build-debug.html
In file system & database design, write buffering (write grouping or coalescing) is a commonly-used technology to avoid in-place updates and only expose sequential writes to disks. Log-Structured Merge Tree (LSM tree) is a modern practical solution which sacrifices a little bit of read performance to enable efficient write buffering. Journaling (write-ahead logging) is another file system terminology which is sometimes confused with write buffering. In short, write buffering is for write performance and journaling is for crash recovery - they are different, but can be combined.
https://www.josehu.com/technical/2020/06/13/write-buffering-lsm-tree.html
Rust 作为一门新兴的 system programming 语言,其设计参考了各 system programming 语言的优劣势,以安全、同时快速为目标,开创了 compile-time 实现几乎一切安全检查的新颖的编程语言模式。可以说,Rust 承载了作者 Graydon Hoare 和新互联网时代逐渐关注起安全的众多开发者们的理想,也吸引了如 M 校前沿系统研究者们的关注(参考 PDOS 博士生 Jon Gjenset)。
One of the most dangerous kinds of security attacks is side-channel attacks since they are not part of the designed threat model. Meltdown & Spectre, the most recent side-channel vulnerabilities found on modern microprocessors, are good demonstration of the sneakiness and danger of side-channel attacks. These attacks combine CPU speculative execution + cache timing side-channel.
https://www.josehu.com/technical/2020/06/10/cpu-side-channel.html
在美国勉强算是安顿下来了。这个小公寓可能一呆就是 5 年,故干脆狠下心配了一套 2020 年中高配的【游戏+工作站】的 PC,作为自己 5 年学习生涯的小家。在此将自己第一次亲力亲为的装机过程,尽可能详细地记录下来。
Concurrency plays a significant role in modern multi-core operating systems. We want a locking mechanism that is efficient (low latency), scalable (increasing the number of threads does not degrade performance too badly), and fair (considers the order of acquirement and does not make any one thread wait too long). This post summarizes a bit on hardware atomic instructions which modern locks are built upon, a comparison between spinning and blocking locks, and a partial list of representative lock implementations.
https://www.josehu.com/technical/2021/05/31/locking-techniques.html
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.