Suggestions for personal projects

cross-posted from: sopuli.xyz/post/7432003

I’ve just transferred all of my serious projects on Codeberg over to a separate organisation, and I’ve noticed that there are now only two mediocre repos on my main profile. Does anyone have any ideas for simple, handy things I could build to flesh it out?

I code mainly in Python, I know HTML (but not JS), I regularly use Bash and Zsh, and I am learning C++.

CmdrKeen,
@CmdrKeen@lemmy.today avatar

Instead of starting your own project, have you considered simply contributing to an existing open source project instead?

hellfire103,
@hellfire103@sopuli.xyz avatar

Good idea!

Pyroglyph,
@Pyroglyph@lemmy.world avatar

Perhaps try making a simple web chat application. I recommend it for a myriad of reasons:

  • You’ll get to touch upon all the layers of a web app (DB/backend/frontend) in a manageably small way.
  • You’ll be able to make multiple choices to learn different technologies - like which database type to use (SQL/document), which message passing method to use (requests/sockets), which frontend framework to use (Solid/Svelte/HTMX/etc), and so on.
  • Getting a minimum working system is very fast. You can easily spend less than a day completing this, even as a novice.
  • Once completed, there are many extra goals you can set yourself. Try adding roles, commands, enable sending pictures, embedding metadata for links, etc. You need only look to your favourite chat app for your next idea!
hellfire103, (edited )
@hellfire103@sopuli.xyz avatar

Good idea, although I think I’d prefer to make a desktop app. I know HTML, but static sites are as far as my web programming goes.

However, with a bit of Python or C and a PGP library, I could probably have a go at making an encrypted P2P chat service.

canpolat,
@canpolat@programming.dev avatar

Are you interested in working on a text editor? If so, I have an idea I plan on implementing myself for fun: a clone of HeyNote with some added functionality. HeyNote is a simple buffer that consists of blocks. It’s useful when you just want to note a simple block of text (an SQL query, log output, test data) but you are not interested in structuring it. What HeyNote lacks is the ability to add title and tags to blocks. It’s not an alternative to other note taking applications. It is just a buffer with unrelated blocks in it.

hellfire103,
@hellfire103@sopuli.xyz avatar

Sounds interesting, but maybe a little too advanced for me.

onlinepersona,

How about rewriting a Python project in Rust? You can start slowly by moving out a part of your python project to rust with pyo3 and writing a module in Rust that’s called by python.

If you want to have some fun, you can start out with writing a small game in Godot.

Or learn how to create a deterministic developer environment using devenv. That means that regardless of on which machine or environment your open your project in, the dependencies will all be the right version and so will the tools (debugger, live reload, db, etc.).

promitheas,
@promitheas@iusearchlinux.fyi avatar

A CRUD webapp, or a text adventure in C++ with object orientation in mind

mrkite,
@mrkite@programming.dev avatar

If you’re going to do a text adventure, don’t deprive yourself of using the most English friendly dsl ever, inform 7.

hellfire103,
@hellfire103@sopuli.xyz avatar

Interesting. I think an online Markdown editor, maybe with S3 as a storage backend and a button to convert to PDF, could be a useful CRUD webapp. Great idea!

It might be a bit too professional for my personal repos, though. More suited to the organisation I just moved everything to.

key,

Have you tried writing a program that checks if other programs will ever finish running? Should be a quick and easy project!

coloredgrayscale,

Process.start(program, arguments)
Print(“it finished”)

Pyroglyph,
@Pyroglyph@lemmy.world avatar

“Will ever finish”, not “has already finished”. It needs to predict.

It’s a reference to this.

coloredgrayscale,

I’m aware, the halting problem is semi decideable - only positive instances of the problem can be decided.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programming@programming.dev
  • ngwrru68w68
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • GTA5RPClips
  • Youngstown
  • everett
  • slotface
  • rosin
  • osvaldo12
  • mdbf
  • kavyap
  • cubers
  • megavids
  • modclub
  • normalnudes
  • tester
  • khanakhh
  • Durango
  • ethstaker
  • tacticalgear
  • Leos
  • provamag3
  • anitta
  • cisconetworking
  • JUstTest
  • lostlight
  • All magazines