Ideas for New Challenges

Hi all,

I have some ideas for potential new challenges that I’d like to share with you and get some feedback on. So, what do you think about the following ideas?

  • General networking algorithms, such as UDP and TCP
  • Implementing handshake for any of: Ethereum, Solana, Polkadot, NEAR, Ergo, Cardano, EOS, Bitcoin (Bitcoin could be too trivial), etc.
  • A NoSQL DB, such as a Graph DB
  • Information/Cyber security (this includes Cryptography)
  • Computational biology/Bioinformatics
  • FinTech:
    • HFT
    • Quantitative trading
  • A problem that can be efficiently solved with our own implementation of the Actor model
  • Some Distributed computing application

I also have a question. I see that Compiler leads currently in the voting. Why is it more popular than other topics? I’m not sure it’s so practical, but I could be missing something. I don’t think many people do it in practice, or can apply the knowledge, but I am curious to find out.

3 Likes

@ivanbgd Thanks for the new challenge ideas! :handshake:

While I can’t say for sure why other users voted for Compiler, I can certainly understand the strong sense of achievement that comes with building one from scratch.

You might have heard of the famous Dragon Book (Compilers: Principles, Techniques, and Tools). After all, who wouldn’t want to be a dragon slayer? :star_struck:

image

2 Likes

Hey @andy1li,

Thanks for your response.

Yeah, I’m sure it’s challenging.

Same. I am also super not-excited about the compiler one. Soo many other options. I quite like a few of yours!

1 Like

@smith558 , thanks for your opinion!

Simply, I find my ideas practical, and compilers and such more on the theoretical side. That isn’t to say that they don’t have any practical value, but in terms of efficiency, it’s low, in the sense of practicality. Time costs and it’s limited.

I don’t know why people are so high on those things, at least on this platform. One idea that I have is there could be a lot of students, self-taught learners and junior developers here, i.e., in large percentage, and these things may indeed look interesting to those groups.

On the other hand, would they really not want to learn some of these things that I mentioned? As I said, I was trying to be practical, so what I would like from the platform owners is to take everything into account when deciding about what to develop next. I’m sure they are senior-level engineers and know what I mean, as well as I am sure that they want to listen to their users and their wishes, and that’s fine.

I was just hoping that I could start a discussion in which more users would be involved and shared their opinion, apart from simply sharing some of my ideas and thoughts.

perhaps @sarupbanskota might be interested in this, he seems quite open to feedback. (@rohitpaulk too)

1 Like

However, I do think most challenges are already more on the practical side (e.g. Redis, HTTP server, Git, Kafka, SQLite, and even Shell). At the same time, I would appreciate more of them. But I see the platform as in an early stage, so I am sure (hope) they will still come.

Yes, I agree that the current challenges are practical, so I just wanted to continue the tradition. :smiley:

I appreciate diversity of challenges too. So a few theory-based ones in the bunch is good too actually.

With enough time, I’d consider doing compilers, too. I am pretty sure that I’d learn something new from that challenge. Whether that would help me in practice or not is my concern. I like programming, obviously, as all of us here, so it would be fun, no doubt.

These are just ideas, and I wanted to see what people think.

There’s a lot of diversity in (software) engineering. Up there I mentioned FinTech, Biology, Network programming, Blockchains, etc. Very different things.

How about this (new) idea: A Raspberry Pi or Nvidia Jetson project? With a cheap board. Embedded stuff. Jetson can do some AI/ML. Codecrafters would have to purchase a few boards for testing, but we’re talking about cheap models. Perhaps some people would join for that reason alone.

How about classical ML, at least on CPU, with small data sets? Or implementing ANNs from scratch? How about (ML) data pipelines, i.e., a Data engineering challenge?

My point is, there’s so many things, and I’d rather do any of those than compilers, but that’s just me. :smiley: And, again, I’d do compilers, too, if I had time. It’s not that I’m against them. Perhaps one day, one never knows. :smiley: I was curious to find out what makes people so high on them and the rationale behind it. As I said, I could be missing something.

1 Like