Need Programming and Linux Projects

Hey guys,

I am learning programming and I am having troubles learning learning due to lack of projects in class. I get the basics, but it never make me really think. Any ideas, i am still just learning and learn best with hands on. I am willing to learn any language i really enjoy learning So any ideas for simple projects or some kind of projects I can get involved in?

I also want to learn more about networking and severs and have a project in mind to take the old parts from a gaming computer and building a local sever, but not really sure what i would make it do or if i would learn anything from it.

I am currently learning Java and C++. I want to learn a decent amount of languages and i really want to learn more about Linux and applications for Linux. I am currently distro hopping looking for what works best for me.

1 Like

It's not Java or C/++, but maybe something (a script or binary) that essentially updates/cleans major Linux distributions? I thought of this recently as something I wanted to make, but just haven't had the time to sit down and do it. Essentially detects which package manager is running, and based on that input will update the distro/delete old packages. If apt, then something like sudo apt-get update && sudo apt-get upgrade && sudo apt-get clean etc.... and if pacman, then sudo pacman -Syuu.... and if dnf then sudo dnf upgrade.

Essentially a script made to work on all the major distros that will do most of the work, detecting OS and performing the update, but at the same time, provides the actual script for anyone who wants to learn a bit about how scripting works and package management.

Idk, just an idea. Not the best, but hopefully it's somewhat interesting.

EDIT: YAY! #JavaMasterRace

2 Likes

I like that idea. I will have to try to do it over time, I am still learning the terminal and working on learning the file systems, but I will try over next couple of months as I learning scripting and more about how Linux works.

Writing a shell script which automatically installs all your stuff for you on Linux might be a good starter. Lots of people do this in their dotfiles repo.

3 Likes

Alright that sounds like something I could start on decently soon. Did not think about that, but would be really helpful since i have a few different computer running linux that do a lot of the same things.

I think a to-do list or note taking app might be good for you to do. Once you've got it built to the basics you could add networking to it so it syncs across multiple pcs locally and then maybe add it so it can be anywhere on the go.

I've started to look at my day to day routine and find things that I could automate or that could benefit from having an app.

A meal planner is something I'm thinking about working on. Choose what I want to eat for a week and have it spit a shopping list out at me.

1 Like

here's a fun idea:

build a 2 leap mesh network with any spare rpi's/wireless APs you have laying around

makes you look into flashing routers, configuring SBCs/network nodes, and helps you understand how wifi works.

1 Like
12 Likes

Another simple idea would be to make a joke command line app. Those are usually very simple but you get to learn about how to use package management for the language you're going to use. It can be based on a meme like nyancat, doge, or something else. I personally have one which is based on the flip-table ascii (you can find it here).

Examples (for inspiration):
- https://github.com/fsufitch/git-gud
- https://github.com/thiderman/doge
- https://github.com/klange/nyancat

1 Like

Alright I like that, did't really think of making board games. I may try and start my own from scratch to see how far i can get. So far i try to not look at examples either.

PHP I know nothing about, am looking into it and python at next languages i want to start on. Currently in college the class is moving way to slow so may pick up one pretty soon.

Really like that idea will look into what i could automate

This may be one I look into as well , currently I cook 2 meals a day something that i could put recipes into and make a shopping list, could use MySQL as a database and learn how to pull information about what i have currently as far as ingredients.

1 Like

I would like to, but sadly do not have any laying around, could loop at Goodwill's and thrift stores, found a UPS last week that just needed replacement batteries. Also not really sure where to start, but that is the point of projects.

Help me with the icaros desktop project! Its all c and c++ (and some c asm). Port some apps to it or something!

help out the Linux kernel folks working on the open source drivers.

Will look into, not really sure where to start, but will look about throw it in a vm and play with it a bit.

I was thinking about this, but not sure where to start, i do not know how drivers work beyond a 5th graders explanation. I am interested in learning though. I am definitely going to look in to it

Thanks for the great suggestions so far, some may be going a bit over my head in terms of my abilities, but all are worth looking into. Right now since Java and C++ are my first programming langs i am having a hard time with the logic still, but i am moving forward right now i am watching a Youtuber named Derek Banas and I am taking classes on Pluralsight to try to move forward. Sorting, arrays, multidimensional arrays, OOP and looping though arrays is currently what I am struggling with, i am however moving forward it is all stating to click, in last week in java initializer and constructors clicked. Haven't got that far in C++ that college class is way behind and i am trying to not get to far ahead.

1 Like

It has a hosting mode. You can just install it like it was an app.

Meant this one, but the later is inevitable.


@perkelator @Schyken @aghost7 @FaunCB @Randomio @tkoham @comfreak

6 Likes

I'm working on a program github repo to give me a website as a background in linux, wish me luck.

Puppet already does that, and a lot more.

1 Like

It was just an idea, but I'll definitely check into that :) Easier than doing it myself ;)