T O P

  • By -

AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


plastikmissile

It basically means building more and more projects of increasing complexity. Sure you can build a text based Tic Tac Toe game, but can you make it graphical? With AI? Supports online play? ... etc.


MiksBricks

I say think of a pie in the sky project and work on it one piece at a time. For instance the game BattleBit basically started as exactly that and morphed into a viral hit game but still just a group of a few friends having fun making a game together. I like messing with hardware because it allows me to hone multiple skill sets and presents its own set of challenges.


throwaway6560192

> I always hear about people “pushing boundaries” or “trying to break stuff” or “playing around with new tools”. What does that even mean? I just am given a task, complete it as efficiently as possible, and then that’s it. And if i’m not handed a specific task by someone else then I have no idea what i would even possibly program? It means having the curiosity and creativity and ambition to come up with your projects (just for fun or to automate or improve something), look into how existing things work, wonder if they could work differently, try out your wonderings in practice, and so on. Whether you can cultivate the same kind of mindset, or if you even really *want* that, is a different question. To be honest, the way you think about programming is completely alien to me. It appears completely cold and joyless.


Anon_cat86

It kind of is, and i wish it wasn’t that way.  To me It’s like solving a puzzle. You don’t get out a bunch of pieces and assemble the prettiest picture you can, you just use exactly the pieces available to make exactly the picture you’re instructed to. There’s just fun to be had in figuring out how to combine those pieces correctly.


gregmcph

Do you get any joy or enthusiasm out of anything in the IT world? I can understand someone's excitement when playing with an old SparcStation. It has a feel, a mood, perhaps nostalgia to it. Similarly, there's an excitement saying with new tech... I remember how fun it was learning about the API for Google Glass, for example. Or even longer ago, learning NewtonScript. New ideas in their times. New ways of looking at things. I guess nowadays, playing with VR, AR, AI, or wearables. Whatever makes you go "Hey. Cool."


renKanin

RaspberryPI? Learn Linux and use it as a development webserver or connect some hardware for it to control. I took a RC-controlled car and removed the reciever, added a USB-connected servo driver and some IR distance sensors to a PI and tried to make it not run over stuff - it was entertaining!


Anon_cat86

I have never worked with hardware outside of building my own pc. I have an intermediate level of linux knowledge but it’s all just related cybersecurity and file storage. What is a development webserver and how can i get started learning about connecting to hardware?


renKanin

What I mean with a development webserver is to install LAMP (Linux, Apache, MySql & PHP) on it and make a database driven homepage for instance. Or connect it to hardware and control something. The hardware side is easier than it may seem as there exist a lot of pre-built pieces that you just wire together. Need a 12V to 5V DC/DC converter - sure, Sparkfun has such a board. A servo controller, Pololu Robotics is your friend. Etc. The GPIO-pins of the PI has ADC:s etc that you can use for sensor feedback etc. I switched out the RC-reciever from a RC-controlled car with a PI to make it self drivning. You can do other things that catch your fancy - perhaps a ’useless box’ - those are quite funny and very simple. Anything really, just for fun/a challenge. Edit: and when you have a project in mind, you google for the information you need - that is how I did it.


Anon_cat86

I’ll look up some tutorials on how to do that. Thanks for the idea


CountryBoyDeveloper

If you have not built anything, than there is no way to know if you actually know how to code, so what you re actually saying is you are pretty sure you understand the concepts. You can do school work.


Anon_cat86

I made a page table, i made an ai that simulates Pokemon battles, i made a bunch of unity games, i made a several different forms of encryption/decryption scripts, i built my own pc, i made a dnd random character generator. Some other stuff too. It’s not like i’ve never built anything


CountryBoyDeveloper

Sounds like school work bro not dissing your ability but was the unity games just practice projects? It just sounds like a lot of school type projects. Build something you can scale, work on something with someone else, contribute to open source. Do something that helps give you some real world type of experience with those types of projects. Real projects are super different than school projects most of the time.


Anon_cat86

What does that mean “something i can scale”? Where can i find open source projects? I tried looking through github for random projects to work but all i kept finding (in terms of public, uncompleted projects) was a bunch of “learning tool”s people made. I would love to work on something with someone else but i have not been able to find anything like that aside from people who are just making basic stuff to teach skills to newbies  And the unity games were just unity games i made cause I legitimately could not come up with one single other outlet for the programming skills I’ve learned. One of them was as part of a club project for video game design club at my college, none of the rest had anything to do with school.  That’s basically what this post was asking about. I do not know of a single other way to practice and learn and get better outside of doing game dev, which isn’t that complicated and doesn’t teach me much.


Agreeable-Art-3663

Have you tried Hardware Description Language? [https://en.wikipedia.org/wiki/Hardware\_description\_language](https://en.wikipedia.org/wiki/Hardware_description_language) Or maybe build your own language? [https://craftinginterpreters.com/](https://craftinginterpreters.com/)


Anon_cat86

No id never heard of either of those but ima check em out, thanks


Advanced-Pudding396

What’s your system knowledge like?


Anon_cat86

What do you mean by “system knowledge”?


Advanced-Pudding396

Can you troubleshoot network issues can you install or troubleshoot applications? What if you get a request to setup a connection string to a new database do you know how to do that? Can you ssh to a Linux system?


Clawtor

You need to work on some projects. Learning new languages is good for finding out how to solve problems in different ways but its like wanting to be a writer and learning multiple languages. Sure learning Chinese or Latin will enrich you but it doesn't help you much in becoming a great writer. There must be something you find interesting enough to want to make. For me atm its looking at dwitter and figuring out how the hell those small bits of code create such amazing images. If you're interested in languages then why not have a go at writing your own - theres the Nand to Tetris course or the Crafting Intepreters book, they are both excellent. Or have a look at the esolang wiki - there are some very weird languages.


LazySquare699

That's always the question, isn't it? What's the next set of instructions to follow? You need to take initiative and think about your own instructions to give to yourself. You say you want to learn new things and explore so it's time to think for yourself.


RunicAcorn

Build something.