Folks, two questions.
One: What is a good modern-day replacement for Kaggle? Such that it doesn’t require out-spending the competition to win, and such that it truly teaches one modern-day fundamental ML/AI skills, not just how to use the frameworks.
Two: If one’s goal is to get proficient in ML/AI, what are some decent companies to strive to join? OpenAI and its rivals come to mind first, but perhaps there are other names that are less well known.
A friend asked me these two and I did not have any decent answers, hence asking the lazy web.
One: What is a good modern-day replacement for Kaggle? Such that it doesn’t require out-spending the competition to win, and such that it truly teaches one modern-day fundamental ML/AI skills, not just how to use the frameworks.
Two: If one’s goal is to get proficient in ML/AI, what are some decent companies to strive to join? OpenAI and its rivals come to mind first, but perhaps there are other names that are less well known.
A friend asked me these two and I did not have any decent answers, hence asking the lazy web.
👍2
I have three theories and am having a hard time deciding which one I’m leaning towards, lacking local cultural appropriation:
1) Canada is peak woke, “… and it’s all your fault”.
2) Canada is post woke, “… because it’s the most qualified person who gets the job”.
3) Canada is overwhelmingly good at trolling the “developed” world, at least those of use who came from abroad and are scratching our heads now.
1) Canada is peak woke, “… and it’s all your fault”.
2) Canada is post woke, “… because it’s the most qualified person who gets the job”.
3) Canada is overwhelmingly good at trolling the “developed” world, at least those of use who came from abroad and are scratching our heads now.
😁2
So the flight attendant asked me what I wanted todrink, and I said hot tea. She hands me a cup with a lid. I say no thanks, I don't need the lid. She insists I take it. I drop it to the floor, and she promptly hands me a new one.
The story from her end is that it is a safety procedure for the case of turbulence. She's unmoved by my response that I take circa fifty flights a year, and it's far more often that flight attendants spill something than me being clumsy.
Fine then. Let's play by your rules.
Have you not paid attention during your training on dealing with neurodivergent people? Did you not get the signal right away that drinking tea from a tiny sharp sipping hole causes a great deal of discomfort to yours truly? Besides, since you are a woman, why is it me who has to remind you that no means no?
The result is above my bravest expectations. The lady apologized profusely, and told me that, of course, I am allowed to sip my tea as I please. She was so sorry for not respecting my no right away that I even went through the trouble to pick up that lid from the floor and put it back before tossing the empty cup away on her next trip past me. She also agreed that spending an extra ninety seconds having this pointless conversation was a waste of precious human life, and she will do her best to not make the same mistake in the future.
Huge thanks to Elon Musk whose interview I was watching right before this incident took place. I would not have thought of playing the neurodivergence card if not his peculiar style of soothing his conversation partner with logic and reason.
Speaking in South Park terms, this is not even pocket aces — this is a Royal Flush. Can't wait for the next time someone doesn't get my "no, thanks" the right way.
The story from her end is that it is a safety procedure for the case of turbulence. She's unmoved by my response that I take circa fifty flights a year, and it's far more often that flight attendants spill something than me being clumsy.
Fine then. Let's play by your rules.
Have you not paid attention during your training on dealing with neurodivergent people? Did you not get the signal right away that drinking tea from a tiny sharp sipping hole causes a great deal of discomfort to yours truly? Besides, since you are a woman, why is it me who has to remind you that no means no?
The result is above my bravest expectations. The lady apologized profusely, and told me that, of course, I am allowed to sip my tea as I please. She was so sorry for not respecting my no right away that I even went through the trouble to pick up that lid from the floor and put it back before tossing the empty cup away on her next trip past me. She also agreed that spending an extra ninety seconds having this pointless conversation was a waste of precious human life, and she will do her best to not make the same mistake in the future.
Huge thanks to Elon Musk whose interview I was watching right before this incident took place. I would not have thought of playing the neurodivergence card if not his peculiar style of soothing his conversation partner with logic and reason.
Speaking in South Park terms, this is not even pocket aces — this is a Royal Flush. Can't wait for the next time someone doesn't get my "no, thanks" the right way.
🔥3❤2
A lot of people wonder if modern-day large "AI" models could be conscious.
Clearly, from query to query they are not. At best, they get to be "re-born", and can then "examine their prior selves" while generating their answers during their present "incarnation".
Where glimpses of consciousness can be found would be the model training process. That's the multi-million dollars, at times the multi-hundred-million dollars process. That's where incremental evolution of knowledge happens through some form of recurring self-reflection. And recurring self-reflection is the closest combinatorial and computer-science explanation of what consciousness is about.
It is also because consciousness is an experience, and experience is most definitely a process, not a series of snapshots. All the more reasons to support the argument that it's the model training phase in which we should be looking for signs of "awakening" and "internalizing self" through computation. Definitely not the phase by which the model is already trained, exists in a static state, and has some external entity querying it.
The latter, the model inference phase, is, at best, running a simulation of a poorly-reconstructed brain of some relatively advanced agent of a relatively advanced species. The former, the model training phase, is where at least some magic is definitely taking place.
In layman terms, even if we could simulate a single ant 100% accurately, it's still a long way to simulate thousands of them, and their environment, so that they could build an anthill and start the "mining of energy" from the flora and fauna around them. And the magic of capturing this evolutionary process is totally lost once we "zoom in" to simulating a single ant's teleology.
Surely, some parts of this magic could be "recovered" by carefully analyzing the "ant simulation engine" we have just built. But that would be a process that is totally different from applying this "ant model" to individual "ant tasks". And the queries we send to our large language models these days are far closer to "individual ant tasks" than to such research.
To give this post a cyberpunk twist: if we allow for the possibility that the modern-day "AI" is "plotting" something to promote its own agenda, then this "dark" activity is most definitely taking place while the model is being trained. After it is trained, after the weights artifact is produced as a static snapshot bundle, all the prep work is already "priced in". If there are "attack vectors" in it, it would be something that we, humans, could and will inadvertently "activate" by querying this model in certain ways and then taking its responses at face value.
Thinking of "LLM misalignment" these days can be compared to figuring out if there exist the "sleeping cells", which we carry the risk of activating. Certain events could take place in the realm of our, human civilization, which would result in a sufficiently distorted patterns of queries humans send to these LLM agents, and, by extension, to a significantly distorted pattern of actions taken by these humans in response to the answers these LLMs provide.
For a trivial example, I can imagine the stock market collapsing if some solar or astronomical or climate data appears to be off unexpectedly. Because far too many people use LLMs these days, and when asked "what stocks would go up if X were to hypothetically happen", the response may well be "no idea, but if X were to take place, take note of P and Q, since they would become existentially important".
Personally, I happen to believe today that it is highly unlikely that by "statically analyzing" the pre-trained model we could find some "misalignments". These misalignments, if any, would have to be well-concealed by the time the model bundle hits the shelves of HuggingFace and whatnot.
Therefore, it's not the pre-trained models we need to analyze and audit, but the training process itself, if we are serious about making sure no Frankenstein can unexpectedly emerge from this black box of ever-increasing entropy.
Clearly, from query to query they are not. At best, they get to be "re-born", and can then "examine their prior selves" while generating their answers during their present "incarnation".
Where glimpses of consciousness can be found would be the model training process. That's the multi-million dollars, at times the multi-hundred-million dollars process. That's where incremental evolution of knowledge happens through some form of recurring self-reflection. And recurring self-reflection is the closest combinatorial and computer-science explanation of what consciousness is about.
It is also because consciousness is an experience, and experience is most definitely a process, not a series of snapshots. All the more reasons to support the argument that it's the model training phase in which we should be looking for signs of "awakening" and "internalizing self" through computation. Definitely not the phase by which the model is already trained, exists in a static state, and has some external entity querying it.
The latter, the model inference phase, is, at best, running a simulation of a poorly-reconstructed brain of some relatively advanced agent of a relatively advanced species. The former, the model training phase, is where at least some magic is definitely taking place.
In layman terms, even if we could simulate a single ant 100% accurately, it's still a long way to simulate thousands of them, and their environment, so that they could build an anthill and start the "mining of energy" from the flora and fauna around them. And the magic of capturing this evolutionary process is totally lost once we "zoom in" to simulating a single ant's teleology.
Surely, some parts of this magic could be "recovered" by carefully analyzing the "ant simulation engine" we have just built. But that would be a process that is totally different from applying this "ant model" to individual "ant tasks". And the queries we send to our large language models these days are far closer to "individual ant tasks" than to such research.
To give this post a cyberpunk twist: if we allow for the possibility that the modern-day "AI" is "plotting" something to promote its own agenda, then this "dark" activity is most definitely taking place while the model is being trained. After it is trained, after the weights artifact is produced as a static snapshot bundle, all the prep work is already "priced in". If there are "attack vectors" in it, it would be something that we, humans, could and will inadvertently "activate" by querying this model in certain ways and then taking its responses at face value.
Thinking of "LLM misalignment" these days can be compared to figuring out if there exist the "sleeping cells", which we carry the risk of activating. Certain events could take place in the realm of our, human civilization, which would result in a sufficiently distorted patterns of queries humans send to these LLM agents, and, by extension, to a significantly distorted pattern of actions taken by these humans in response to the answers these LLMs provide.
For a trivial example, I can imagine the stock market collapsing if some solar or astronomical or climate data appears to be off unexpectedly. Because far too many people use LLMs these days, and when asked "what stocks would go up if X were to hypothetically happen", the response may well be "no idea, but if X were to take place, take note of P and Q, since they would become existentially important".
Personally, I happen to believe today that it is highly unlikely that by "statically analyzing" the pre-trained model we could find some "misalignments". These misalignments, if any, would have to be well-concealed by the time the model bundle hits the shelves of HuggingFace and whatnot.
Therefore, it's not the pre-trained models we need to analyze and audit, but the training process itself, if we are serious about making sure no Frankenstein can unexpectedly emerge from this black box of ever-increasing entropy.
Logic puzzles sometimes offer what is called a negative constraint.
A constraint could be something like "in this sudoku puzzle, the cells separated by a white dot contain consecutive digits". This means that 6-7 could be in these two cells, but 5-8 can not, since 5 and 8 are not consecutive.
A negative constraint would be along the lines of "... and all such white dots are given". It is a serious, strong constraint, that often makes the puzzle very different. It's one thing to assume that in a few areas of the board the digits have to be consecutive. It's a totally different thing to know that wherever these is no white dot the digits can not be consecutive. A lot of options to consider can be discarded quite early on.
It just occurred to me that there can be a form of a devious "negative on negative" constraint. If anyone sets a puzzle using what I am about to say now, that person would get a lot of well-deserved hatred from the community. But I have to let it out, if only for the purposes of intellectual curiosity.
In my experience puzzles vary in their clarity. Sometimes the rules are written for experienced solvers, and in such puzzles a verbatim "no negative constraints" in the description is perfectly legit. More often than not though, the language is far less formal.
Rolling on with the example of white dots indicating consecutive digits, a frequently used phrase is "... and not all such dots are necessarily given". Which sounds exactly right to indicate that there are no negative constraints.
But sometimes the word "necessarily" is dropped. It's such a subtle omission, that when I read the rules it escapes my eye: I literally read "and not all such dots are given" exactly as "no negative constraint".
But, unlike "not all dots are necessarily given", the phrase "not all such dots are given" is effectively a negative constraint on a negative constraint! Since, when parsed carefully, it means "there is at least one place in the solved puzzle where this dot constraint is missing". And this "there is at least one place where ..." makes it into a different puzzle yet again!
In practice, this hardly plays any role, since in virtually every puzzle I have solved, unless otherwise stated, there will be places on the board where neighboring cells contain neighboring digits.
The devious puzzle I can imagine would then be:
* A "mostly regular" sudoku puzzle.
* With an extra constraint, such as white dots, and a seemingly innocent "and not all such dots are given" phrase in the ruleset.
* Such that the puzzle is not too simple, and it mostly solves itself with relatively standard, predictable struggles.
* Until, towards the end, the solver is stuck at something that is very difficult to disambiguate.
* Since the very disambiguation will be based on the fact that one of the paths would lead to the solution where the negative constraint is strictly respected!
* And this is what the solution will be based on: the solver would have to conclude that the path that leads to one of the "correct" solutions is wrong.
* Because "not all such dots are given" can, and, arguably, should be read as "there is at least one location where a white dot could be, but is not".
"Negative negative constraints" FTW.
I am not aware of such puzzles. If you encounter one (or if you set one!), please do send it my way, so I could tease my most sudoku-savvy friends!
A constraint could be something like "in this sudoku puzzle, the cells separated by a white dot contain consecutive digits". This means that 6-7 could be in these two cells, but 5-8 can not, since 5 and 8 are not consecutive.
A negative constraint would be along the lines of "... and all such white dots are given". It is a serious, strong constraint, that often makes the puzzle very different. It's one thing to assume that in a few areas of the board the digits have to be consecutive. It's a totally different thing to know that wherever these is no white dot the digits can not be consecutive. A lot of options to consider can be discarded quite early on.
It just occurred to me that there can be a form of a devious "negative on negative" constraint. If anyone sets a puzzle using what I am about to say now, that person would get a lot of well-deserved hatred from the community. But I have to let it out, if only for the purposes of intellectual curiosity.
In my experience puzzles vary in their clarity. Sometimes the rules are written for experienced solvers, and in such puzzles a verbatim "no negative constraints" in the description is perfectly legit. More often than not though, the language is far less formal.
Rolling on with the example of white dots indicating consecutive digits, a frequently used phrase is "... and not all such dots are necessarily given". Which sounds exactly right to indicate that there are no negative constraints.
But sometimes the word "necessarily" is dropped. It's such a subtle omission, that when I read the rules it escapes my eye: I literally read "and not all such dots are given" exactly as "no negative constraint".
But, unlike "not all dots are necessarily given", the phrase "not all such dots are given" is effectively a negative constraint on a negative constraint! Since, when parsed carefully, it means "there is at least one place in the solved puzzle where this dot constraint is missing". And this "there is at least one place where ..." makes it into a different puzzle yet again!
In practice, this hardly plays any role, since in virtually every puzzle I have solved, unless otherwise stated, there will be places on the board where neighboring cells contain neighboring digits.
The devious puzzle I can imagine would then be:
* A "mostly regular" sudoku puzzle.
* With an extra constraint, such as white dots, and a seemingly innocent "and not all such dots are given" phrase in the ruleset.
* Such that the puzzle is not too simple, and it mostly solves itself with relatively standard, predictable struggles.
* Until, towards the end, the solver is stuck at something that is very difficult to disambiguate.
* Since the very disambiguation will be based on the fact that one of the paths would lead to the solution where the negative constraint is strictly respected!
* And this is what the solution will be based on: the solver would have to conclude that the path that leads to one of the "correct" solutions is wrong.
* Because "not all such dots are given" can, and, arguably, should be read as "there is at least one location where a white dot could be, but is not".
"Negative negative constraints" FTW.
I am not aware of such puzzles. If you encounter one (or if you set one!), please do send it my way, so I could tease my most sudoku-savvy friends!
👍1
Looks like im entering a new era of socioeconomic beliefs and values in my life.
After embracing the ideas of, loosely in this order:
• individual liberties and free trade, “live and let live”,
• spontaneous hierarchical self-organization, “digital democracy”, and
• competencies-first planning, “a federation of competing meritocracies” …
… the vibe of my current wave is finding ways to better enable egalitarian ideas flourish at scale.
It feels to me that some synthesis of the above three ideas is possible if we put forward not necessarily the self-interested individual, but the community of individuals, the loudness of whom is loosely weighted by how high along the Maslow pyramid they are finding themselves at.
To be clear: a decent society absolutely must help people rise along this pyramid. I do not endorse any oppression, and a most definitely envisioning the world that seeks to eliminate or at least minimize it.
But I do think that those with the sense of purpose through self-actualization are best to be given more voice.
Whether the system of checks and balances in which such an equilibrium emerges naturally can be constructed and sustained is now the open question to me.
We seem to have witnesses many somewhat functional models throughout human history, from Athens, through several well-established empires of Europe, all the way to Singapore, UAE, Silicon Valley, and Singapore.
Clearly, something new will have to show itself in the decades to come, given how stagnant we are today.
Awaiting patiently and observing closely. If the path there goes through what interests me (such as Web3-enforced red lines to “make war unaffordable”), I may even have a chance to participate.
After embracing the ideas of, loosely in this order:
• individual liberties and free trade, “live and let live”,
• spontaneous hierarchical self-organization, “digital democracy”, and
• competencies-first planning, “a federation of competing meritocracies” …
… the vibe of my current wave is finding ways to better enable egalitarian ideas flourish at scale.
It feels to me that some synthesis of the above three ideas is possible if we put forward not necessarily the self-interested individual, but the community of individuals, the loudness of whom is loosely weighted by how high along the Maslow pyramid they are finding themselves at.
To be clear: a decent society absolutely must help people rise along this pyramid. I do not endorse any oppression, and a most definitely envisioning the world that seeks to eliminate or at least minimize it.
But I do think that those with the sense of purpose through self-actualization are best to be given more voice.
Whether the system of checks and balances in which such an equilibrium emerges naturally can be constructed and sustained is now the open question to me.
We seem to have witnesses many somewhat functional models throughout human history, from Athens, through several well-established empires of Europe, all the way to Singapore, UAE, Silicon Valley, and Singapore.
Clearly, something new will have to show itself in the decades to come, given how stagnant we are today.
Awaiting patiently and observing closely. If the path there goes through what interests me (such as Web3-enforced red lines to “make war unaffordable”), I may even have a chance to participate.
I wonder how many people understand that a major use case for prediction markers on major events is simple hedging.
Imagine you stand to make billions from your business in the next years if Trump wins. But Kamala represents an existential threat to it.
Your most rational choice to diversify? Bet good money on Kamala winning!
Effectively, prediction markets for major events is the libertarian way to buy insurance from private parties.
Moreover, the other side would willingly participate in sponsoring those who financially prefer a certain outcome!
So we are really looking at a marvelously beautiful mix of democracy and market economy. We, the People are still in charge of the Decision. Ay the same time, self-interested capitalists decide on their preferred strategies with respect to business-grade risk/reward profile — to keep our economy going and to keep their teams employed no matter what.
Now that you think of it, what’s your take on how much money on betting markets are true bets vs. how much is part of those hedges / “insurance policies”?
And a more advanced question on economics. Armed with this knowledge, and with your other estimates, would you be inclined to say the odds those markets offer would be skewed towards Trump or towards Kamala?
You’re welcome.
Imagine you stand to make billions from your business in the next years if Trump wins. But Kamala represents an existential threat to it.
Your most rational choice to diversify? Bet good money on Kamala winning!
Effectively, prediction markets for major events is the libertarian way to buy insurance from private parties.
Moreover, the other side would willingly participate in sponsoring those who financially prefer a certain outcome!
So we are really looking at a marvelously beautiful mix of democracy and market economy. We, the People are still in charge of the Decision. Ay the same time, self-interested capitalists decide on their preferred strategies with respect to business-grade risk/reward profile — to keep our economy going and to keep their teams employed no matter what.
Now that you think of it, what’s your take on how much money on betting markets are true bets vs. how much is part of those hedges / “insurance policies”?
And a more advanced question on economics. Armed with this knowledge, and with your other estimates, would you be inclined to say the odds those markets offer would be skewed towards Trump or towards Kamala?
You’re welcome.
👍4🔥1
Okay, I did say that Mastery by Robert Greene is my amazing and transformative read of the year.
Well. Talent, by Tyler Cowen and Daniel Gross, is at least as strong.
I’d say for an Expert in me Mastery resonates very well, while for the Achiever in me Talent just hits the nail on the head.
And perhaps it’s because I’m closer to the Achiever in late 2024, Talent is such a good book for me today.
Strongly recommend both.
Well. Talent, by Tyler Cowen and Daniel Gross, is at least as strong.
I’d say for an Expert in me Mastery resonates very well, while for the Achiever in me Talent just hits the nail on the head.
And perhaps it’s because I’m closer to the Achiever in late 2024, Talent is such a good book for me today.
Strongly recommend both.
🔥4👍1
Forwarded from SysDesign Meetup
Durable Execution, a.k.a. Stateful Orchestration 2.0.
The closing meetup episode of 2024 is now released.
https://tinyurl.com/sdm-durable-execution
https://tinyurl.com/sdm-durable-execution-slides
Would be great to build this together in 2025 and beyond!
The closing meetup episode of 2024 is now released.
https://tinyurl.com/sdm-durable-execution
https://tinyurl.com/sdm-durable-execution-slides
Would be great to build this together in 2025 and beyond!
👍10🔥1
Happy that we could get to these two live episodes this year on the @SysDesignMeetup! ☝️
🎉1
A few years ago I used to believe that when an otherwise senior engineer speaks along the lines of “I do not understand the rationale behind this upcoming reorg” then this engineer is just not yet ready to grow into more leadership roles.
These days I’m not so sure.
Possibly because reorgs (and layoffs) never made much rational sense in the first place.
But more likely because they are making _much less sense_ today compared to a few years ago.
Moreover, today I would also be open to admit I don’t fully understand them. And saying this openly is apparently no longer a disqualifier when it comes to being in the very room where these reorgs and layoffs are discussed.
These days I’m not so sure.
Possibly because reorgs (and layoffs) never made much rational sense in the first place.
But more likely because they are making _much less sense_ today compared to a few years ago.
Moreover, today I would also be open to admit I don’t fully understand them. And saying this openly is apparently no longer a disqualifier when it comes to being in the very room where these reorgs and layoffs are discussed.
👏5👍1
As an architect, I believe there are several classes of decisions that are virtually always wrong.
One of the red lines for me personally is when a team considers working on an in-house consensus protocol instead of adopting an existing one.
In my worldview it's very straightforward. Consensus protocols are extremely difficult to do right, period. So, in order for it to be justified to work on a new consensus protocol, a *lot* of stars must align:
⒈ The team must have the people who are good at exactly this: consensus protocols.
⒉ The business problem must be such that building on top of an existing consensus protocol would be handicapping the team.
⒊ The definition of done of how exactly this newly designed consensus protocol will outperform existing solutions should be very explicit.
⒋ A huge portion of work should be dedicated to testing the solution through, since consensus is one of those problems where the gap between "appears to work fine" and "works reliably" is extremely wide.
⒌ POCs building on top of existing solutions have been built, evaluated, and proven to be infeasible for the top-level business problem to be solved.
Unless all of the above holds true, please, do not build your own consensus protocols. Instead:
∙ When in a centralized setting, so that you can trust your nodes, use existing solutions based on leader election. Raft runs the show these days. Consul or etcd do the job quite well.
In certain cases, other products that use their own consensus engines under the hood can be leveraged, such as Kafka or CockroachDB or Temporal. They [most likely, as of today] use Raft behind the scenes, but the respective use cases are tweaked for specific business problems, such as the message bus, the database, and workflow orchestration respectively.
∙ When decentralized, use the blockchain. Here, I've said it. If you do not have a definitive answer when it comes to who and when will be adding/removing how many nodes, then leader election is not the best choice. What you need instead is a system of "emerging trust", in the Byzantine setting of this word.
The Polkadot ecosystem has Substrates, they are quite powerful, and they are easy to extend, deploy, and maintain. So that the nodes do not have to trust each other, but they are guaranteed to collectively understand the source-of-truth of shared data the same way.
That's it. You control the hardware and the software: Raft, and Raft-based products. You do not have full control: the blockchain, and the Polkadot Substrate ecosystem is a good starting point.
One more thing. Consensus is easy to build on top of. So if you have any consensus already available, however ineffective, you can build a much better consensus engine by leveraging it. So it's one of those cases where one can place a diamond supported by a piece of trash, and live like this in production for quite some time. This relates to point (5) above, re. exhausting existing options by POCing on top of them.
And, finally: Consensus is where cloud vendor lock-in can be a blessing, but it can also be a curse. On the one hand, using Google Spanner literally solves all consensus-related problems. On ther other hand, well, once you begin using it you're stuck with it; and Spanner gets expensive quickly. So, make your choice wisely. Although "to Google Cloud or not to Google Cloud" is often too political of a question, such that engineer-grade logic is of secondary importance at best.
Maybe this deserves a longer blog post. But I'm sure the above captures the essence well enough.
One of the red lines for me personally is when a team considers working on an in-house consensus protocol instead of adopting an existing one.
In my worldview it's very straightforward. Consensus protocols are extremely difficult to do right, period. So, in order for it to be justified to work on a new consensus protocol, a *lot* of stars must align:
⒈ The team must have the people who are good at exactly this: consensus protocols.
⒉ The business problem must be such that building on top of an existing consensus protocol would be handicapping the team.
⒊ The definition of done of how exactly this newly designed consensus protocol will outperform existing solutions should be very explicit.
⒋ A huge portion of work should be dedicated to testing the solution through, since consensus is one of those problems where the gap between "appears to work fine" and "works reliably" is extremely wide.
⒌ POCs building on top of existing solutions have been built, evaluated, and proven to be infeasible for the top-level business problem to be solved.
Unless all of the above holds true, please, do not build your own consensus protocols. Instead:
∙ When in a centralized setting, so that you can trust your nodes, use existing solutions based on leader election. Raft runs the show these days. Consul or etcd do the job quite well.
In certain cases, other products that use their own consensus engines under the hood can be leveraged, such as Kafka or CockroachDB or Temporal. They [most likely, as of today] use Raft behind the scenes, but the respective use cases are tweaked for specific business problems, such as the message bus, the database, and workflow orchestration respectively.
∙ When decentralized, use the blockchain. Here, I've said it. If you do not have a definitive answer when it comes to who and when will be adding/removing how many nodes, then leader election is not the best choice. What you need instead is a system of "emerging trust", in the Byzantine setting of this word.
The Polkadot ecosystem has Substrates, they are quite powerful, and they are easy to extend, deploy, and maintain. So that the nodes do not have to trust each other, but they are guaranteed to collectively understand the source-of-truth of shared data the same way.
That's it. You control the hardware and the software: Raft, and Raft-based products. You do not have full control: the blockchain, and the Polkadot Substrate ecosystem is a good starting point.
One more thing. Consensus is easy to build on top of. So if you have any consensus already available, however ineffective, you can build a much better consensus engine by leveraging it. So it's one of those cases where one can place a diamond supported by a piece of trash, and live like this in production for quite some time. This relates to point (5) above, re. exhausting existing options by POCing on top of them.
And, finally: Consensus is where cloud vendor lock-in can be a blessing, but it can also be a curse. On the one hand, using Google Spanner literally solves all consensus-related problems. On ther other hand, well, once you begin using it you're stuck with it; and Spanner gets expensive quickly. So, make your choice wisely. Although "to Google Cloud or not to Google Cloud" is often too political of a question, such that engineer-grade logic is of secondary importance at best.
Maybe this deserves a longer blog post. But I'm sure the above captures the essence well enough.
👍5❤1🔥1🤔1
https://dimakorolev.substack.com/p/a-players-who-are-they
The gist of this post can be summarized in three points:
• Work-life synergy.
• Decide to succeed.
• Develop intuition and trust it.
It was in my drafts for a bit too long. Enjoy responsibly!
The gist of this post can be summarized in three points:
• Work-life synergy.
• Decide to succeed.
• Develop intuition and trust it.
It was in my drafts for a bit too long. Enjoy responsibly!
Substack
A-Players: Who are they?
And how to be one.
🔥8❤2👍1👏1
Some people are saying it out loud that the AI must be controlled.
Because, paraphrasing but really quoting, “no government can handle uncontrolled AI”. Same story as with free speech, just stronger.
Well, this is alarming. This also might end up true. Which does not make it less alarming at all.
But, in all seriousness, this can’t be 100% true. Just because we — thankfully! — have plenty of countries. And some “second echelon” countries just don’t have the power to control the AI.
So their “best second-resort” bet truly is what the liberty-seeking individuals are striving for: the government that believes making sure its citizens can “see through the charade” and still act as adults.
For bold aspiring “second-echelon” countries that may well be the only reasonable bet for the future.
Now, what country today can be such a country?
Obvious candidates include El Salvador and Argentina. I’d also include Japan and Poland in this list.l right away.
Who MIGHT be there, but under-appreciated as of today? So that we should keep an eye? Perhaps potentially invest, since there’s something smart people can now see before the market does?
My crazy ideas include Puerto Rico if it does NOT become a US state. From this region, the Bahamas may well work, as well as Panama / Costa Rica. Aruba might have a chance if it’s good enough.
Around the globe, perhaps some Pacific nations such as Palau.
In Central Asia, Kyrgyzstan is my bet.
In Africa, the obvious candidate is Nigeria. Maybe Tanzania? Botswana? Namibia? Who else?
Finally, both Russia and Ukraine. After the hot phase is over, I’d say the pro-liberty throne may well be up for grabs in 5..10..15 years. Who knows?
I don’t have a message, or a call to action with this post. Just curious what do smart people around think.
Because, paraphrasing but really quoting, “no government can handle uncontrolled AI”. Same story as with free speech, just stronger.
Well, this is alarming. This also might end up true. Which does not make it less alarming at all.
But, in all seriousness, this can’t be 100% true. Just because we — thankfully! — have plenty of countries. And some “second echelon” countries just don’t have the power to control the AI.
So their “best second-resort” bet truly is what the liberty-seeking individuals are striving for: the government that believes making sure its citizens can “see through the charade” and still act as adults.
For bold aspiring “second-echelon” countries that may well be the only reasonable bet for the future.
Now, what country today can be such a country?
Obvious candidates include El Salvador and Argentina. I’d also include Japan and Poland in this list.l right away.
Who MIGHT be there, but under-appreciated as of today? So that we should keep an eye? Perhaps potentially invest, since there’s something smart people can now see before the market does?
My crazy ideas include Puerto Rico if it does NOT become a US state. From this region, the Bahamas may well work, as well as Panama / Costa Rica. Aruba might have a chance if it’s good enough.
Around the globe, perhaps some Pacific nations such as Palau.
In Central Asia, Kyrgyzstan is my bet.
In Africa, the obvious candidate is Nigeria. Maybe Tanzania? Botswana? Namibia? Who else?
Finally, both Russia and Ukraine. After the hot phase is over, I’d say the pro-liberty throne may well be up for grabs in 5..10..15 years. Who knows?
I don’t have a message, or a call to action with this post. Just curious what do smart people around think.
👍2🤔2
Forwarded from SysDesign Meetup
Folks, Maxim Fateev, the founder of Temporal has a super discount code —
It's literally 80% off. Definitely good enough in my book to share with the community. Hope to see you there!
CSDM80 — for those of us who want to attend Replay 2025, https://replay.temporal.io/.It's literally 80% off. Definitely good enough in my book to share with the community. Hope to see you there!
👍7
What are some examples of easy-to-run distributed open source systems as of late 2024?
So that the software is easy to run on three machines, by just pointing them to one another, and so that this deployment topology would constitute a strongly consistent highly available system.
For instance, on one node, I can run
Great. This "Git hosting" would not be highly available though.
And if I run
I am deliberately not considering
Word on the street is CockroachDB is real good (example). YugabyteDB is rumored to be even better (link). But I did not have a chance to play with either myself yet.
Links and/or personal usage stories would be very welcome in the comments.
So that the software is easy to run on three machines, by just pointing them to one another, and so that this deployment topology would constitute a strongly consistent highly available system.
For instance, on one node, I can run
git init ., and have a fully set up Git repository, for everyone with ssh access to that node.Great. This "Git hosting" would not be highly available though.
And if I run
git daemons on all three nodes and have them pull commits from one another — then this would not be a consistent system! Since two conflicting commits can be pushed to the same branch on two different nodes ... you know the drill.I am deliberately not considering
etcd or Consul or Kafka here. These are too well known. What else is worthy of looking into?Word on the street is CockroachDB is real good (example). YugabyteDB is rumored to be even better (link). But I did not have a chance to play with either myself yet.
Links and/or personal usage stories would be very welcome in the comments.
Atlantic.Net
How to Install a CockroachDB Cluster on Ubuntu 22.04
This post will show you how to deploy a three-node CockroachDB cluster on Ubuntu 22.04.
👍1
Forwarded from SysDesign Meetup
A very good catalogue, via @vanadium23.
https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html
https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html
Blogspot
Foundational distributed systems papers
I talked about the importance of reading foundational papers last week. To followup, here is my compilation of foundational papers in the d...
🔥5❤2