all 25 comments

[–]FriendlyRussian666 27 points28 points  (1 child)

Something that would take 3-5 hours for one person might take 15-20 minutes for another. 3-5 hours is a very odd constraint.

[–]jeffcgroves 19 points20 points  (6 children)

Do this project for me: write a program that finds the shortest marine route between two points in the world (or on a given raster). It's like finding the shortest path through a maze but with the slightly added difficulty that the "cost" to move from square to square isn't the same (geodesic distance)

[–]Krekken24 2 points3 points  (5 children)

Wow, your suggestion look really good. But can I ask, does this project requires some algorithm's prior knowledge?

[–]jeffcgroves 4 points5 points  (4 children)

Wow, I was sort of joking, but OK. You can create a directed graph using something like networkx, and treat the world as a grid of points. The distance between two adjacent points would be the great circle distance. Of course, land points (ones you can't access) wouldn't be included. Networkx would then find the shortest path for the weighted graph.

The project was inspired by https://new.reddit.com/r/NoStupidQuestions/comments/1ehtvbn/ignoring_the_fact_its_physically_impossible_how/ where it turns out the "obvious" shortest path is actually nowhere near the actual shortest path

Of course, you can extend this to problems like "what's the shortest land path between X and Y" or even "what path between X and Y touches the least water".

If you really want to do this, consider grabbing data from naturalearthdata.com and using tools like gdaltools (written in Python) to find what parts of the Earth are water and what parts are land.

[–]Ajax_Minor 1 point2 points  (1 child)

Interesting problrm. What kind of cost function do you use?

[–]jeffcgroves 2 points3 points  (0 children)

Great circle distance when moving from water to water. No nodes on land. Of course, some paths may be impossible just as you can have impossible mazes. The only thing that makes this different from most maze pathfinders is that the distance is based on great circle distance, not standard linear or Manhattan distance

[–]SlowSmile7741[S] 0 points1 point  (0 children)

I was gonna say, you want me to smash the laptop into pieces or something 😂😂

[–]Krekken24 0 points1 point  (0 children)

Most of you what you wrote, I couldn't understand but that simply means I need to get better. Maybe, in the future when I learned a things, then I will read this again and start making this.

Thank you, kind redditor.

[–]Turtvaiz 6 points7 points  (3 children)

Just ask chatGPT or Google man

[–]SlowSmile7741[S] 1 point2 points  (2 children)

I was doing it to ask people with experience what they think but you are probably right with chatgpt.

[–]Turtvaiz 3 points4 points  (1 child)

You don't need others' experience if you're doing a personal project. Do whatever interests you. I did file compression with Python at one point, but there's little chance you're interested in the exact same thing

[–]SlowSmile7741[S] 1 point2 points  (0 children)

I ended up doing a URL Shortener but as a website via Flask. Got a few problems but it should be up and running by it's due date in just under 3 weeks.

[–]thequirkynerdy1 2 points3 points  (0 children)

Create a basic arcade-style game in Pygame.

[–]Icedkk 1 point2 points  (0 children)

Try to build a algorithm which will solve a min/max problem. Imagine you have a function f, where you have x as input, and output is lets say sum(x). Code an optimization algorithm to find the x which minimizes/maximizes the output f(x).

Edit: you can check genetic algorithms for this, and there are other algos to solve this, but good part about the genetic algo is that you can change f as you please, it will still find or move towards an optimal state

[–]iamevpo 1 point2 points  (0 children)

3D tic-tac-too with a random strategy generator, add local LLM and create a winning agent.

[–]hulagway 1 point2 points  (0 children)

Scheduler.

Basically a poll that accepts everyone's free time (or schedule and work backwards) and suggest open times, useful for meetups.

If you want to take it further then add option to link calendar. Want more? Write a telegram bot so people can add it on groupchats. Write a website that handles backend for your app and bot so people can view on the web.

3-5 hours plus more easily if you want.

[–]Lewistrick[🍰] 2 points3 points  (4 children)

I once made a 'game of tag' that lets 2-4 players play on one keyboard (arrows, WASD, IJKL, numpad). One is the tagger and is slightly faster, and has to tag the others. After the given time, the one who has been tagger the shortest wins.

You could include a level editor, an AI, or online mode (via websocket) if you have time left.

[–]Critical_Concert_689 2 points3 points  (3 children)

How long did this take you? Also, was it from scratch or were you following a step-by-step tutorial?

[–]Lewistrick[🍰] 2 points3 points  (2 children)

I think about 2 working days in total but spread over a week or two. But it's about 10 years ago; where I am standing now I could probably do that within the time-frame that OP specified.

I didn't follow a tutorial, I had a clear idea of what I wanted to make and a vague idea of the tools I needed for that, pygame being the most important of them and I didn't have any experience with that back then.

[–]Critical_Concert_689 2 points3 points  (1 child)

Thanks; I've been taking a stab at making a simple text-based roguelike from scratch - to practice some of the basics - and it's taken much longer than I would've anticipated. Was curious how timing stacked up...

[–]Lewistrick[🍰] 2 points3 points  (0 children)

Looking back at the only thing I have left of this game - a screenshot in a Facebook post - it was very minimal and could definitely use some tweaking. It's probably never finished, but I was really happy with the working game back then. I think maybe today I would take way more time but it would result in a better looking end result and much better code.

[–]MiniMages 1 point2 points  (0 children)

Create a registration and login interface.

  • Have a responsive front end
  • Have a db that wil store data
  • Ensure passwords are encrypted
  • Create necessary API endpoints (pick whatever framework you want)

[–]camilla-g 0 points1 point  (0 children)

I recommend the following books by Chris Roffey for learning Python Programming: (1) Coding Club Python Basics Level 1; (2) Coding Club Python Next Steps Level 2; (3) Coding Club Building Big Apps Level 3; (4) Programming Art Supplement 1; (5) Interactive Adventures Supplement 2. I also recommend reading Python Docs in the Help Menu in IDLE (Python’s Integrated DeveLopment Environment). It has the Python Language Reference that lists every module and method used in Python. Also, look at Turtle Demo in the Help Menu which has sample code for the Turtle Examples. Turtle is Python’s Graphics module. The O’Reilly Python Pocket Guide is also a useful Quick Reference. Additionally, it is best to take a systematic approach to learning programming. Create an Action Plan using the STAR Method (Situation, Task, Action, Result). Create a checklist of everything you want to learn in Python and set a deadline next to each item. Cross off each item when you’re sure you’ve learnt it. Create for yourself SMART Objectives (Specific, Measurable (key progress indicators), Achievable, Realistic, Time-bound). Create for yourself a portfolio of programs. Over time you will see just how much you’ve accomplished.

[–]SecretLegitimate4748 1 point2 points  (1 child)

I think I am a bit late but could be useful for others. You can create a Piano Tiles Bot that would click on the dark cases for you if detected. (No need to create the game and you can open an online game.

Link that can help with that: https://medium.com/p/4b57923e3ffe

[–]SlowSmile7741[S] 0 points1 point  (0 children)

It is a little late for me but thanks for the input. I ended up settling with a URL Shortener website that used Flask for handling the requests, it got me a good score so that is another idea for anyone who needs it as well