one of the biggest problems that happens in software development, and can be extreme with open source, is that a system gets too complicated and bloated to be usable.

the linux kernel, git, bitcoin, btcd, just a few of the projects i can name that have blown up so large that they are beyond the scale that would allow them to be reimplemented properly in other, perhaps more modern, or more suitable languages.

something that i thought of as part of a solution for this a long time ago was to chip apart a project into as small pieces as possible while still maintaining a utility.

bitcoin, for example, you could easily see a use for a simple block replicator. All it does is validate blocks are correct, make them available by their hash on the p2p network, but the node doesn't need to validate them beyond checking their hashes. this is done by full nodes anyhow, but a node that can deliver blocks is still useful on the network, and would be far easier to build schemes to rapidly replicate the chain data from one location to another, as it only concerns itself with one layer of the protocol.

it's something i intend to spend my time doing in the future.

as a low level programmer, it is hard to be heard or seen by the majority of users, and thus starved of access to funding for this work.

the solution is in making small numerous, and simple tools that are useful for other developers.

Reply to this note

Please Login to reply.

Discussion

No replies yet.