Content pfp
Content
@
0 reply
0 recast
0 reaction

Lefteris Karapetsas pfp
Lefteris Karapetsas
@lefteris.eth
🎉 Big news! @rotki v1.37.1 is here! Over the holidays, we tackled every bug 🐛 reported and delivered key improvements to make rotki even better for you. 💾 Ready to take it for a spin? Download now: https://rotki.com/download Spread the word ❤️, let us know what you think
1 reply
2 recasts
22 reactions

Pau 🎩 ⛓️‍💥 pfp
Pau 🎩 ⛓️‍💥
@p4u
I'm a user of Rotki, but why Python? Rotki is quite a monster and a script language is not the best fit... Feels slow and heavy. Would you change your choice if starting from scratch?
1 reply
0 recast
0 reaction

Lefteris Karapetsas pfp
Lefteris Karapetsas
@lefteris.eth
Python is not a scripting language. It's just dynamic versus compiled. We are rewriting parts that could be improved in different languages, but nothing matches the speed of development that python has nor the talent pool.
2 replies
0 recast
0 reaction

Pau 🎩 ⛓️‍💥 pfp
Pau 🎩 ⛓️‍💥
@p4u
Btw according wikipedia Python is a Scripting Glue Language https://en.m.wikipedia.org/wiki/Scripting_language But I can agree that Python has evolved to something else. However it is still untyped and interpreted.
1 reply
0 recast
0 reaction

Lefteris Karapetsas pfp
Lefteris Karapetsas
@lefteris.eth
Wikipedia's categorizations vary and are up for debate. A ton of real-life serious products are written in python, including rotki. I explained the choice in a previous post. The language of choice for moving critical components to for us is Rust. Go is also a pretty cool language as you mentioned.
1 reply
0 recast
0 reaction

Pau 🎩 ⛓️‍💥 pfp
Pau 🎩 ⛓️‍💥
@p4u
Yeah, Python is one of the most used Languages, there is no doubt. Also PHP and JavaScript are. Most of Rotki's developers would not have much trouble starting programming in Go, the learning curve is fast, and the language is very intuitive (as it is Python too). Don't take my wrong, I have nothing against Python. But as an Engineer with some years of experience, I'd say Python is not the best choice nowadays for something as complex as Rotki. In any case, thanks for doing open-source and building programs for the community.
1 reply
0 recast
0 reaction

Lefteris Karapetsas pfp
Lefteris Karapetsas
@lefteris.eth
I think python is quite misunderstood. It's a lot more powerful than people realize 🙃 Main reason most people say rotki feels slow is not the language. Rust or go would be similar. It's just that pulling all this data from many different sources almost all of which rate limits you slows everything down. Especially without a centralized indexer that makes everything faster. It's the price to pay for owning your data. The biggest bottleneck tends to be the network. It's a local app not a SaaS. And some times where we thought the language could improve it, when rewriting some components we ended up realizing that even there the language was not a bottleneck. But ... just bad code. e.g. the way a query was written or the way an algorithm was written. Languages are just small details. You use them all, and use whatever fits or whatever the right choice is at the given time. This is something you realize after coding products for a few decades.
1 reply
0 recast
0 reaction

Pau 🎩 ⛓️‍💥 pfp
Pau 🎩 ⛓️‍💥
@p4u
Yeah, I agree with that. Python was my main programming language 11 years ago, I know it is powerful. But my point was about complexity. I do believe, the capabilities of a programming language are actually tested in complex situations. Writing spaghetti code is easy. Writing good, modular, structured and optimized code is hard. And the Language here is relevant. I'm not saying you cannot write good, complex code in Python. But it's not the best option, for sure. By the way, I feel you with the RPC limit rate issue. We had the same problem until we implemented a web3-pool client. So you can define a list of RPCs (or fetch them automatically from chainid.network), then transparently, each RPC call is routed through a different server, avoiding this way most rate limits. See here our Go implementation, maybe it can give you some ideas. https://github.com/vocdoni/census3/tree/main/helpers/web3
1 reply
0 recast
2 reactions

Lefteris Karapetsas pfp
Lefteris Karapetsas
@lefteris.eth
Thanks a lot for the link. Will check it out! Sounds quite interesting.
0 reply
0 recast
1 reaction