Skip to main content

ยท 4 min read
Jimmy Chu

This week I read about Mastery by Robert Greene and listened to Luogic TalkShow 83: How to Become a Master. It is interesting to see how they approach a similar topic from two different angles. Luo in Luogic talk show admitted from the beginning that the video is an advertisetment of its mobile app channel. First he covered being a master is not just about keep on repeating a certain process or procedure, but it is about Deliberate Practice. One would disconstruct the steps needed to complete a certain tasks, and then practice on each of these steps. In sport, this exercise is called drill. In a drill one only focuses on practicing a particular aspect of the whole endeavor. In fact, I recalled this similar subject is also covered in The Art of Learning by Josh Waitzkin. Waitzkin said his teacher would ask him to practice playing with just a king and pawn piece to throughly understand the limit of what both pieces could do together on a board (it turns out a king and a pawn can be quite powerful in chess endgames). It is this kind of dissecting the whole endeavor into small steps, drilling in each steps to throughly understand them, and finally putting them together that one can finally perform the endeavor in a master fashion. During this process, don't forget the element of diligence. Yes, one still need repetition, but it is repetition with full awareness. When a practice is performed over and over again, one would easily drift to an auto-pilot mode, when you would perform the action without paying much attentions. But not for those to be a master. They would perform every steps conciously using all their five senses and attentions, so they can imprint how to do a certain task deeply into the brain. Engaging with all senses and attention will also cultivate the intuition that you know sometimes something "feel not right". Because it is likely one of the senses or some environmental signals that you accept is contradicting to what you had perceived in the past when you performed them. Master to-be would also reflect and self-critique on where it could be improve upon, and repeat the practice. This become an iterative improvement cycle, and this will slowly imprint in your brain and new neurons are formed. When a Japanese swordman swings a sword 1000 times, it is not just swinging a sword mindlessly, but he is swinging a sword with attention and full awareness.

The second point Luo got into was about going away from your "comfort zone" to the "learning zone". There is a comfort zone that you believe you know most of the thing. Then way out from the zone is the "horror zone", where you know nothing about and you would feel horrified when you are in that zone. In between these two zone is the "learning zone". It is where you still have some familiarity on what you know, but at the same time you know there are things you don't know and need to learn. Luo argues that this is the best zone to learn. Your brain will get excited and fire up by the unknown, and your learning progress would be substantially accelerated in this zone.

Of course, Luo also covered about getting real-time feedback about your work. In fact, building such feedback mechanism need a deliberate way of cultivating your own environment. Maybe one needs to find a teacher and presenting his work to get critique in a timely fashion, regularly. Maybe one needs to join a community and finds peers who have the same objective as you and could perform peer-review to each others. In the modern day, probably one can use AI companion to give critique on the work as well ๐Ÿ˜„. By getting feedback, studying through them, and deliberately improve on those aspects, one is on the journey to becoming a master.

In my next writing, I should write more on Robert Greene Mastery.

ยท 4 min read
Jimmy Chu

Just finished reading Messari Thesis Report 2023 last week. I was impressed with myself that I could finish reading a 150+ page report. Of course, I am more impressed by Messari CEO Ryan Selkis and his team ability of compiling this report in the last two months of 2022. There are a few points I think worth mentioning, summarized from the report.

Crypto Regulationโ€‹

Regulation continue to be a big deal in crypto space, especially with crypto friendly banks such as Silvergate and Signature bank collapsed recently. I believe financial entities not governed in DAO but licensed structure will inevitably get more and more scrutinized from regulators. That's why Coinbase stock is at best doing as meh as it continuously being the focal point of SEC.

Ethereum Product Developmentโ€‹

The development of Ethereum continues to gain momentum in 2022. After the Merge last year Sep, we are expecting the Shanghai upgrade to happen in 2023 Apr, allowing staked ETH tokens to be withdrawed from the network. The developers in the ecosystem are also working on EIP 4844, Proto-Danksharding, to build a data availability layer in Ethereum. Another effect of this feature is that rollup cost from layer 2s will be significantly reduced. I also learned that there is a broad ethereum development roadmap, published under Vitalik's tweet.

Ethereum Roadmap

Zero Knowledgeโ€‹

Zero knowledge continue to occupy a seat in blockchain landscape. One of its biggest applications is in rollup. Currently there are two kind of rollups, optimistics and zero-knowledge rollup.

Optimistic rollup assume data rolled up is correct, until a valid fault proof is submitted during the challenge period. Once the challenge period has passed without a valid fault proof raised by verifiers, data is regarded as valid and finalized on layer 1. The advantage is that the implementation is easier compared to the other approach (mentioned below). The disadvantage is that users need to wait for the challenge period to pass before data is finalized. Usually the challenge period could last from a few hours (Polygon) to a few days (Arbitrum).

Zero-knowledge rollup uses validity proof instead. That means each piece of rollup data need to be accompanied with a proof to be proven valid. The verification mechanism on layer 1 (some smart contract logics) will run through the proof and check for its validity. Once the proof is shown valid, data is written on-chain. Using this approach the engineering implementation is much more complex, but the finalization time needed is much shorter, like a few blocks, thus, within a minute.

Another application of zero knowledge is in transaction privacy. Tornado Cash is actually a good use case of zero-knowledge. Unfortunately regulators hate technology that promote transaction privacy, as it facilitates money laundering. Tornado Cash has a spiritual successor called Privacy Pools.

Stakingโ€‹

Staking in ETH ecosystem continues to be a big deal, especially with Shanghai upgrade that allow stakers to withdraw their staked ETH. LIDO, a decentralized staking protocol, has become the Defi protocol with the highest TVL. The protocol is governed in a DAO structure with a forum, Snapshot gasless voting, and Aragon on-chain voting platform.

Modular Blockchainโ€‹

This year, Ethereum has graduated from a monolithic platform to become more and more modular. Modular blockchain used to be the catchphrase in Polkadot ecosystem with blockchains built with Substrate framework. Now it also applies to Ethereum with the effort from Celestia and Fuel.

Modular Ethereum

original image source

A blockchain can be viewed as functioning in four aspects, data availability layer, consensus layer, settlement layer, and execution layer. These two teams continue to strengthen their frameworks and making them could inter-operate with other frameworks, and users could mix-and-match these different frameworks together to form their own modular blockchains.

NFTโ€‹

In addition to being PFP (profile picture), there are a lot happening within NFT spaces. For instance, there are more and more use cases of using NFT to represent some kind of identity, such as rns.id, memberships, or just receipts. There are also innovations going such as creating NFT with expiration, NFT with on-chain info of a collection, and NFT owning other NFTs. There is momentum and we are likely to continue seeing innovation in this domain.

ยท 6 min read
Jimmy Chu

In the past three months I have been working on solving Advent of Code 2021 puzzles. I probably have spent 80+ hours in solving all 25 puzzles. Yes, that is pretty much a whole two weeks of full-time work cumulatively, and that is with the help of this subreddit forum and a lot of online resources ๐Ÿ˜ณ.

My solutions are here, with a corresponding website.

For those who don't know, Advent of Code are a series of programming puzzles released every year before Christmas, from Dec 1st till the Christmas day 25th to be exact, one problem a day. The author Eric Wastl has been doing this since 2015, and the programming puzzles have since used in company training, university coursework, and practice problems.

Coming out from the rabbit hole of solving these puzzles, there are three problems that stand out from the rest, in my opinion. So I want to document them down and reflect on what I have learned from them.

Spoiler Alert

For those who want to solve the puzzles yourselves, please stop reading here ๐Ÿ˜„

Day 19: Beacon Scannerโ€‹

The original problem. In solving this puzzle, the first issue is to clarify what the 24 orientations are. The way I eventually visualize it is with a Blu Tack and three piece of papers.

So we can have X, Y, Z axes like that, and we can rotate them to have three different axes arrangement:

image

Now we can have axes pointing at different directions as follows:

image

With eight different set of axes directions and each direction with three axes arrangement, we get a total of 24 orientations.

I then learn that we can rotate a coordinate XYZ based on these orientations by matrix transformation(multiplication). The 24 matrics are listed here at the end.

Now with all beacon coordinates relative to a scanner location, and the scanner orientation be one of the 24 orientations, how are we going to solve the problem? At this point I am out of my wit and look for clues in the subreddit forum. The key is by comparing the distance of beacons between different scanner report.

Yes, Of course! That is the only invariant we have here! And I recall what Bezos have famously said "What is not going to change?".

Indeed, if a scanner have scanned the same set of beacons as another scanner, the distance between any pair within that beacon set are not going to change, no matter where the scanner is (its x, y, z offset), and what orientation the scanner faces (the matrix transformation).

With this insight we proceed to the next problem. How could we determine if two scanners have scanned the same set of twelve beacons, as specified by the problem?

Here we need to get to a concept in graph theory - complete graph. It is a set of nodes with each node have edges connect to every other nodes. So if two scanners have scanned the same set of 12 beacons, we should be able to build a complete graph from these 12 beacons (nodes) and get all of its edge length matches. Now how many edge lengths should we be counting here? It is 12 chooses 2, so 66. So if we build an edge table (with all edge length between any two beacons) for the two scanner reports, and find there are 66 entries in the two tables matches, we can claim there is a very high likelihood that the two scanners have scanned the same set of twelve beacons.

Once we identify the set of 12 beacons, we can determine the orientation of the second scanner. Here we always use the first scanner as the baseline, meaning it is located at (0, 0, 0) with the [[1, 0, 0], [0, 1, 0], [0, 0, 1]] orientation matrix.) We apply all 24 orientations to four beacon coordinate and see which one will result to having the same vector displacement of the first scanner, then we can determine the location and orientation of the second scanner.

Using this methodology we can map out all beacon and scanner locations and the orientation of scanners iteratively.

Day 22: Reactor Rebootโ€‹

The original problem. I learned two concepts in solving this puzzle. The first one is how to compute the area covered by multiple sets, without double counting, when they overlap with each others.

For instance, the following:

image

We know the total of area are:

Area A + Area B - Area A^B

Now with the following:

image

Area A + Area B + Area C - Area A^B - Area A^C - Area B^C + Area A^B^C

So with N set, following the pattern, it is:

Area A + Area B + .... Area N - Area A^B - Area A^C - .. Area A^N - Area B^C - ... + Area A^B^C + Area A^B^D + .... - ...

I then learned that this is the Inclusion-exclusion principle.

I stumbled upon another sub-problem when solving this puzzle, that is, given a set of items, efficiently generate all its combination and compute its n choose k combinations. I thought it will be fun to code that, so using the algorithm from Dr. James McCaffrey, I coded the algorithm and also the front end Combination App (source code) that you can play with.

Day 23: Amphipodโ€‹

The original problem. This is a fun puzzle. I learn from sub-reddit that this is basically a shortest path problem and can be solved with Dijkstra's algorithm. So it is a refresher on coding that algorithm and encoding various game states into keys of nodes, with edge extended from the node as all its next possible moves, with the edge length as the move cost.

But in implementing Dijkstra's algorithm, with a large amount of possible states and edges, how do you efficiently get the next shortest path to try? This is when I learn the data structure about Indexed Priority Queue (IPQ) from this Youtube video.

The overall structure is shown as follow:

image

You use an index to represent its nodes' keys and corresponding edge costs. Then during the heap operations (swimming up or down), we just move the index around. So here is the implementation of indexed priority queue with test cases.


That's it on Advent of Code 2021. Overall it is a fun and intellectually challenging experience, and I am glad to finish all 2021 problems ๐Ÿ˜‰.

ยท 10 min read
Jimmy Chu

Introductionโ€‹

In the past two months I have been reading the book The Network State. It is a thought-provoking book. It first gives an detail explanation of what's going on in the past, and what's up to the current times (and it is not pretty), and giving a few predictions on how will these trajectories goes. At the end, he is proposing an alternative explanation of building a new type of society, which could eventually lead to being a state, and how to do that.

Contextโ€‹

First and foremost, Balaji, the author, said that history is important. Because that's how humans learn and relate it to their existing knowledge inside the brain. Usually when people have a certain proposition, not only will we look at what is proposed, but also why it is proposed. We want to look at the context, and that is history. For example, why did Karl Marx come up with Communism? In what context does he come up with that idea? What is Marx background that make him said history materialism? When it comes to the context of one thing, we are talking about its history.

Those who shapes the history shapes the present, and those who shapes the present likely could shapes the future. So reviewing the world history in a broad way, the book author mentioned that people used to revolve around three powers, also known as the Laviathan: God, State, and now the Network.

Leviathan from Thomas Hobbes
Leviathan from Thomas Hobbes

In the Medieval period, people has resolve to use God as the ultimate power. That's why church, which people would equate as God, has a lot of power, including putting people to death. The church also had its own military and territory. That was the times of 16th and 17th centuries. Then there is a power conflict between multiple Lords, the emperor of Holy Roman Empire, and church on who has the ultimate says on what people should do, and that caused a Thirty Years' War within Europe. Peace of Westphalia came out of the war at the end, and establish the foundation of Sovereign States. Countries will honor the sovereignty of other countries and would not interfere with their governance within their territories. From this point, the State / the government of a country gained more and more power on the life of people. That occurs up until the 1980s.

With the development of computing technology and the Internet, "the Network" becomes more and more powerful. Nowaday Facebook, Twitter, and different communication / instant-messaging apps has became the main way of our communication. News and informations is no longer passed using the traditional media, but with these social network tools. They become like the neural network of our body. The companies that initially built these network do not foresee they are building such a platform that hold so much public power. With filtering what information could flow on these platforms, classifying information is misinformation, or which user accounts to ban, the owning companies of these platforms hold a power that even a modern day government would admire. Because they have control the channels of how information flow for the mass.

Current Statesโ€‹

Repeating on Ray Dalio's theme in The Changing World Order, the author saw how empires have risen and fallen in the past. From Dutch Empire, British Empire, and now at the point of a declining "US empire" and a rising "China empire". It will soon reach an intersection point when China will out-compete US.

Rise and Fall of Different Empires

The collapse of an empire is usually triggered by one or more of the following three incidents:

  • A severe conflict within the country, that could be a civil war, or a highly splitted groups within the country between, say for example the rich and the poor, or struggle between two classes.
  • Invasion from a foreign power that the empire couldn't withhold against.
  • A failure of its financial/economic policy that cause the lives of people inside the empire becoming very difficult.

The current states of the global affair can largely be represented with the Triangle of BTC, NYT, and CCP.

BTC, NYT, CCP Triangle

These three type of forces have their corresponding patterns, way of governance, and capital structure, as shown below:

BTC, NYT, CCP Triangle

The author expresses how the current political landscape has resolved to - having the progressive left, represented by NYT, that has provoked the US into Great Awokening age. There is also the right conservatives who uphold US nationalism. Then there is a rising China totalitarianism (CCP), and the technocrats that build blockchains and crypto-currencies (the BTC).

NYT (stands for New York Times), represents the Progressive Left in the US politics spectrum. The media is famous for using many "x-ism" words, racism, sexism, etc to provoke the emotion (hatred) of mass. It also spearheaded the Great Awokening that is happening in US. This movement has made US population splitted more than ever since its founding and a lot of societal progress has been hindered due to this split.

On the other side, it is the rise of China. As believed by Ray Dalio and many others, China will soon challenge the number one position of US in its global economics prosperity and military strength. But China is a totalitrian country and when they export their idealogy and "means" of governance, it is not going to be a pretty picture.

So finally the author is raising an alternative viewpoint on the development of blockchains and cryptocurrencies, epitomized by Bitcoins. It has its own sovereignty and no government can really seize the fund (or have any control, for that matter). Blockchain also served as a place where the truth is hold. Once on-chain, records of event will be kept forever. There are always a trace on-chain if anyone try to alter it. It becomes the third kind of power that it keeps the truth without trusting on a government or a centralized corporation.

The Network Stateโ€‹

Eventually if we develop the third kind of force, it can eventually become a Network State, something as follows:

A Growing Network State

To quote:

Network State in One Sentence

A network state is a social network with a moral innovation, a sense of national consciousness, a recognized founder, a capacity for collective action, an in-person level of civility, an integrated cryptocurrency, a consensual government limited by a social smart contract, an archipelago of crowdfunded physical territories, a virtual capital, and an on-chain census that proves a large enough population, income, and real-estate footprint to attain a measure of diplomatic recognition.

There is an elaboration for each of the elements mentioned.

  • a social network - it has to connect its members online, because these people are likely physically splitted in multiple geographic locations.

  • a moral innovation - people joining the network state should have a moral objective to pursue. It maybe no smoking, or practicing meditation, whatever the group decides to advocate. This group must not be formed mere from financial objective and need a higher purpose. This is also what will keep this group going when the time is tough.

  • a sense of national consciousness - they have to have a sense of being the club members and fullfill their membership duty. It could mean paying the "due" or membership fee, or vote on important matters. Otherwise the club cannot be kept as one piece.

  • a recognized founder - need a clear leader so when there is a close call, a leader will come out to lead. Time is going to be tough at every startup phase. It will need excellent execution capability to keep the community going and growing. People also need someone to look up to at the beginning. This is where a recognized founder comes in.

  • a capacity for collective action - members need to align on certain set of principles and able to collectively execute to accomplish their objectives.

  • an in-person of civility - we want to build a high-trust society. In such society we need a basic civility among people during communication and cannot be constantly yelling at each others.

  • an integrated cryptocurrency - we need both the higher purpose (covered in the moral innovation) and a correct economics for the society. Members / citizens will be rewarded and profited for acts they do for the club / state. We also need a currency that is sovereign and people could believe in. Cryptocurrency fits the bill here.

  • a consensual government limited by a social smart contract - the government rules by consent when people sign a particular smart contract with their private keys. They opt-in to be governed by the government, fullfilling its responsibility as the citizen and in turn enjoy the fruits of joining this community. But they are also free to withdraw the citizenship based on the contractual relationship as well.

  • an archipelago of crowdfunded physical territories - the network state starts from a digital community, but it doesn't stop there. Eventually when there are enough members contributing to the club finances, the society can use the proceeds to purchase physical territories so the society has physical footprints and its members have actual venues to perform their activities.

  • an on-chain census that proves a large enough population, income, and real-estate footprint - population, income, and real-estate are some of the important KPIs that a state keeps track of. Traditional nation states perform census every 5 or 10 years, with the network state keeping this data digitally and on-chain. It can even be known in real-time. A society can be proved to be gaining traction when it reach a milestone of, says 10k population, $1B annual income, and 10M meter square real-estate footprint.

  • attaining deplomatic recognition - The network state eventually should be recognized by other nation states and network states. Why is this important? It is because only then other states can offer assistance and regard the society as a sovereign state. People will know that it is not someone daydreaming, but an entity that is actually recognized by others.

The founder will start from a mere startup society (a group of people who uphold certain principles), to a network union (group of people with collective execution capability), then a network archipelago (the membership society with physical territories footprint), and finally a network state (that other nation-states and network-states diplomatically recognized).

Other points worthy to note ofโ€‹

  • Win, and help win,

    that is to say, absolutely, take care of number one, that's important because if you don't do that, you can't help others win. But do that as well.

    A good philosophy to practice in life.

  • The term "nation-state", is formed with the word "nation" and "state". Nation is a group of people with common ancestry, sharing the same culture and/or speak the same language. State is talking about the government governing a group of people over a bounded set of territory. Within the territory, the government has a monopoly use of forces, write laws, collect taxes, and protect its territories from foreign invasions. So "nation" is talking about the mass, while "state" is focusing on the government, the elite level, the ruling class.

Further Studyโ€‹

ยท 3 min read
Jimmy Chu

I want to blog again. This has been in my mind for a while: I wonder instead of being hired full time by a company, can I be a freelancer getting paid based on my contribution. This idea come from the realization that if I can get fully committed to my employer endeavor, it is great. But it has been the case that after working for my previous employers for a while, I become lukewarm at work, and it is too drastic to make a change in my position. So I play safe and continue to stay in my role for too long until I no longer could tolerate it.

But instead of this, I wonder is it possible to have a living mode as a contributor, where I am free to work for different projects that I am passionate about. I get paid based on the work I made during that period. If I start getting lukewarm on one project, I can leave the project and search for another project team to work for.

For this to be possible, it will require:

  • I be an expertise in certain domain and that domain is needed across different project teams. Fortunately coding and software development is such a domain.

  • There are enough projects that are publicly accessible that I can search for and join. Fortunately with the web3 movement going on recently. There are a lot of open source projects and blockchain-related project where if I'm interested, I can dig into the code and dive deep inside, to the point of even making a pull request and contributing to that project.

  • There are different grants in the web3 ecosystem to motivate developers to build in their ecosystem. For example there are Polkadot / Web3 Grant, Ethereum Foundation. There are also platform like Gitcoins, and different hackathon projects.

All these conditions seems to be mature. I also need to have a reality check with myself:

  1. Because it is usually project-based, there is a clear responsibility of what you (AND ONLY YOU) need to deliver by a certain time. You / your team are going to own that part of work. This clarity on responsibility should increase the motivation to get the job complete.

  2. You have to keep honing your skills in that domain, otherwise no one is willing to pay for your skill. Also, because you are not a full-time, you are more "disposible" to your client than their staff, and the only reason to continue engage with you in the price you demand is because you really worth the value you ask for.

  3. If you feel lukewarm about the project, it is time to reflect about your work make the necessary switch between the project / ecosystem.

  4. By default, you don't get paid if you are not involved in any project or if you are not delivering. This is also a motivation for you to engage in projects and deliver.

All in all, this is something I want to explore in the coming six months if I can make a sustainable living as a contributor, and also find if there are like-minded people. These people don't want to bound by a company / employer, instead they want to choose to engage in projects and works they feel passionated, or else taking time off to enjoy their lives or taking care of other aspects in life, all in their own terms.

Ultimately, I will be one to manage my own time and output.