A research workflow with Zotero and Org mode
tags: Org Mode,Taking Notes,Zotero,Research,Emacs source: “A Research Workflow with Zotero and Org Mode | Mkbehr.Com.” Accessed January 5, 2022. http://www.mkbehr.com/posts/a-research-workflow-with-zotero-and-org-mode/. Gluing zotero and Org mode together with zotxt(zotxt-emacs). Workflow: Store papers into zotero by its browser plugin, that may also download the PDF. Create a page in Emacs and link to zotero via zotxt-emacs C-c " ". When I want to read the paper. Go to the page in Emacs and type C-c " a. When I’m reading a paper and see a citation that might be useful, I look it up on the internet and repeat this process to store a note linking to it.
Zotero
tags: Tools,Learning,Taking Notes
Deserializing JSON really fast
tags: Rust,优化,High Performance source: https://blog.datalust.co/deserializing-json-really-fast/
Database
[译] RFC 1180:朴素 TCP/IP 教程(1991)
tags: TCP source: https://arthurchiao.art/blog/rfc1180-a-tcp-ip-tutorial-zh/
Assembly Nights
tags: Assembly,NASM Assembly Language Tutorials source: https://ratfactor.com/assembly-nights
web3 is Centralized
tags: Web3 source: https://blog.wesleyac.com/posts/web3-centralized
An Algorithm for Passing Programming Interviews
tags: Algorithm source: https://malisper.me/an-algorithm-for-passing-programming-interviews/
A not so gentle intro to web3
tags: Blockchain,Web3 source: https://www.kooslooijesteijn.net/blog/web3
Web3
tags: Blockchain
Go Fuzzing
tags: Go source: https://tip.golang.org/doc/fuzz/
Bonsai offers freelance contracts, proposals, invoices
tags: Freelance source: https://www.hellobonsai.com/ HN: https://news.ycombinator.com/item?id=29782097
Assembly
tags: Computer Systems
NASM Assembly Language Tutorials
tags: Computer Systems,Assembly,Linux,Online Tutorial source: “NASM Assembly Language Tutorials - Asmtutor.Com.” Accessed January 5, 2022. https://asmtutor.com/.
Microstartup
tags: Freelance
HN: My Microstartups make $500/day while I'm sleeping
tags: Freelance,Microstartup source: https://news.ycombinator.com/item?id=29790964 Comments: Related: “Tell HN: My Microstartups make $500/day while I’m sleeping” (this): https://news.ycombinator.com/item?id=29790964 “AMA: I make $100K+ ARR from my microstartups” (3 months ago): https://news.ycombinator.com/item?id=28561132 “Show HN: I passed up an opportunity to make $200K from my microstartup” (2020): https://twitter.com/1HaKr/status/1301142901510995969 “Show HN: My Indie Hacker goal - Earn $100 a day to keep your desk job away” (2020): https://news.ycombinator.com/item?id=24304674 “Show HN: I made $9000 posting on Hacker News about my microstartup” (2020): https://news.ycombinator.com/submitted?id=1hakr ...
Ledger, the first peer-reviewed journal dedicated to the study of blockchains and cryptocurrencies!
tags: Blockchain
Privoxy socks5 to HTTP
tags: Privoxy,Over the Wall source: https://wiki.archlinux.org/title/Privoxy%5F(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E8%BD%AC%E5%8F%91%E5%8D%8F%E8%AE%AE
Privoxy
tags: Tools,Unix home: https://www.privoxy.org/
Tools
HTTPs
Beam
tags: Bigdata source: https://beam.apache.org/
Flink: Keyed State
tags: Flink State Snapshots source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/concepts/stateful-stream-processing/#keyed-state Keyed state is maintained in what can be thought of as an embedded key/value store.
Flink: Exactly Once Guarantees
tags: Flink State Snapshots,Fault Tolerance via State Snapshots source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/learn-flink/fault%5Ftolerance/#exactly-once-guarantees Depending on the choices you make, Flink possiable outcomes: Flink makes no effort to recover from failures (at most once) Nothing is lost, but you may experience duplicated results (at least once) Nothing is lost or duplicated (exactly once) Given that Flink recovers from faults by rewinding and replaying the source data streams, when the ideal situation is described as exactly once this does not mean that every event will be processed exactly once. Instead, it means that every event will affect the state being managed by Flink exactly once. ...
Wikipedia: Chandy–Lamport algorithm
tags: 分布式 source: https://en.wikipedia.org/wiki/Chandy%E2%80%93Lamport%5Falgorithm
Flink: How does State Snapshotting Work?
tags: Fault Tolerance via State Snapshots,Flink State Snapshots,Wikipedia: Chandy–Lamport algorithm source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/learn-flink/fault%5Ftolerance/#how-does-state-snapshotting-work Workflow: Checkpoint coordinator (part of the job manager) instructs a task manager to begin a checkpoint. Insert numbered checkpoint barriers into their streams of all the sources record their offsets. checkpoint barriers flow through the job graph, indicating the part of the stream before and after each checkpoint. Checkpoint n will contain the state of each operator that resulted from having consumed every event before checkpoint barrier n, and none of the events after it. ...
Flink Checkpoint
tags: Flink State Snapshots,Fault Tolerance via State Snapshots a snapshot taken automatically by Flink for the purpose of being able to recover from faults. Checkpoints can be incremental, and are optimized for being restored quickly.
Flink Savepoint
tags: Flink State Snapshots a snapshot triggered manually by a user (or an API call) for some operational purpose, such as a stateful redeploy/upgrade/rescaling operation. Savepoints are always complete, and are optimized for operational flexibility.
Flink Checkpoint Storage
tags: Flink State Snapshots,Fault Tolerance via State Snapshots,Flink Checkpoint source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/learn-flink/fault%5Ftolerance/#checkpoint-storage Flink periodically takes persistent snapshots of all the state in every operator and copies these snapshots somewhere more durable, such as a distributed file system. In the event of the failure, Flink can restore the complete state of your application and resume processing as though nothing had gone wrong. Two implementations: A distributed file system. JobManager’s heap.
State Backends
tags: Flink State Snapshots,Fault Tolerance via State Snapshots,Stateful Stream Processing Two implementations of state backends are available: RocksDB An embedded key/value store keeps its working state on disk. Overhead Accesses and updates involve serialization and deserialization. Java heap-based state backend Keeps its working state in memory, on the Java heap. Risk Large amount state will cause OOM. Conclusion Both of these state backends are able to do asynchronous snapshotting, meaning that they can take a snapshot without impeding the ongoing stream processing. ...
Fault Tolerance via State Snapshots
tags: Flink State Snapshots,Stateful Stream Processing source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/learn-flink/fault%5Ftolerance/
Flink State Snapshots
tags: Stateful Stream Processing
Stateful Stream Processing
tags: Stream processing,Flink source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/learn-flink/overview/#stateful-stream-processing https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/concepts/stateful-stream-processing/ This means that how one event is handled can depend on the accumulated effect of all the events that came before it. How the stateful streaming processing works on a distributed cluster? The set of parallel instances of a stateful operator is effectively a sharded key-value store. Each parallel instance is responsible for handling events for a specific group of keys, and the state for those keys is kept locally. ...
Timely Stream Processing
tags: Stream processing,Flink source: https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/learn-flink/overview/#timely-stream-processing Flink timely stream processing support by using event timestamps that are recorded in data stream, rather than using the clocks of the machines processing the data.
Flink Redistributing
tags: Flink Parallel Dataflows Redistributing streams (as between map() and keyBy/window above, as well as between keyBy/window and Sink) change the partitioning of streams. Each operator subtask sends data to different target subtasks, depending on the selected transformation. Examples are keyBy() (which re-partitions by hashing the key), broadcast(), or rebalance() (which re-partitions randomly). In a redistributing exchange the ordering among the elements is only preserved within each pair of sending and receiving subtasks (for example, subtask[1] of map() and subtask[2] of keyBy/window). So, for example, the redistribution between the keyBy/window and the Sink operators shown above introduces non-determinism regarding the order in which the aggregated results for different keys arrive at the Sink. ...
One-to-one
tags: Flink Parallel Dataflows One-to-one streams (for example between the Source and the map() operators in the figure above) preserve the partitioning and ordering of the elements. That means that subtask[1] of the map() operator will see the same elements in the same order as they were produced by subtask[1] of the Source operator.
Flink Parallel Dataflows
tags: Flink Streams can transport data between two operators in a one-to-one (or forwarding) pattern, or in a redistributing pattern:
Stream processing
tags: Flink Stream processing, on the other hand, involves unbounded data streams. Conceptually, at least, the input may never end, and so you are forced to continuously process the data as it arrives.
Batch processing
tags: Spark Batch processing is the paradigm at work when you process a bounded data stream. In this mode of operation you can choose to ingest the entire dataset before producing any results, which means that it is possible, for example, to sort the data, compute global statistics, or produce a final report that summarizes all of the input.
Flink实时计算-深入理解 Checkpoint和Savepoint
知乎:Flink实时计算-深入理解 Checkpoint和Savepoint
tags: Flink,Flink State Snapshots,Flink Checkpoint,Flink Savepoint source: https://zhuanlan.zhihu.com/p/79526638
GitHub: 像小说一样品读 Linux 0.11 核心代码
tags: Linux source: https://github.com/sunym1993/flash-linux0.11-talk
Audio: The lost talks from Linus Torvalds at DECUS'94
tags: Linux source: https://archive.org/details/199405-decusnew-orleans/1994050DECUSNewOrleansLinuxImplementationIssuesInLinux.ogg
Linux
tags: Operating system
Ethereum: Shard chains
tags: Ethereum,Proof-of-stake source: https://ethereum.org/en/eth2/shard-chains/ Sharding is the process of splitting a database horizontally to spread the load – it’s a common concept in computer science. In an Ethereum context, sharding will reduce network congestion and increase transactions per second by creating new chains, known as “shards”. This is important for reasons other than scalability.
Ethereum: The Beacon Chain
tags: Ethereum,Proof-of-stake source: https://ethereum.org/en/eth2/beacon-chain/ Extra coordination for the Ethereum: Shard chains. The beacon chain receives state information from shards and makes it available for other shards, allowing the network to stay in sync. The beacon chain will also manage the validators from registering their stake deposits to issuing their rewards and penalties.
How does Ethereum's proof-of-stake work?
tags: Ethereum,Proof-of-stake source: https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/#how-does-pos-work When you submit a transaction on a shard, a validator will be responsible for adding your transaction to a shard block. Validators are algorithmically chosen by Ethereum: The Beacon Chain to propose new blocks. Attestation If a validator isn’t chosen to propose a new shard block, they’ll have to attest to another validator’s proposal and confirm that everything looks as it should. It’s the attestation that is recorded in the beacon chain rather than the transaction itself. ...
ETH
tags: Ethereum
Proof-of-history
tags: Blockchain Proof,Solana,Proof-of-stake Solana is a Proof of Stake network. This short phrase - “Proof of Stake” - represents a much larger concept with considerable complexity behind it, and even more so for Solana, which adds the unique properties of Proof of History to the mix to enable fast, low-latency transactions while still maintaining censorship resistance.