You are browsing as a guest. Sign up (or log in) to start making projects!

SpaceRanger

@SpaceRanger

Joined May 31st, 2026

  • 20Devlogs
  • 1Projects
  • 0Ships
  • 0Votes
I'm Abdulgafar Abdurrasheed, and for the Summer, I'm a Space Ranger. I love Stardance's Theme, and I hope to Build Amazing stuff, and impress Amazing people.
Open comments for this post
Reposted by @SpaceRanger

1h 17m 33s logged

Changelog

  • Implement caching for live satellite data and adjust debris scaling for better visualization (0e71088)

Okay, so remember in my last Devlog, i noted that Celestrak didn’t like me pinging their servers more than once every 2 hours, which crashes my RUST backend. So today i implemented Caching. Basically, How this works is, I check if there is a file named “active_satellites.txt”, if there is not, i go ahead and create one, and add all the satellite TLE data from Celestrak here. If there already was one, I check the MetaData for time modified, and if this is more than 2 hours, I ping Celestrak again, and Update the File with new data. If it is less than 2 hours tho, i go ahead and use the one i already HAD.

0
1
90
Open comments for this post

1h 17m 33s logged

Changelog

  • Implement caching for live satellite data and adjust debris scaling for better visualization (0e71088)

Okay, so remember in my last Devlog, i noted that Celestrak didn’t like me pinging their servers more than once every 2 hours, which crashes my RUST backend. So today i implemented Caching. Basically, How this works is, I check if there is a file named “active_satellites.txt”, if there is not, i go ahead and create one, and add all the satellite TLE data from Celestrak here. If there already was one, I check the MetaData for time modified, and if this is more than 2 hours, I ping Celestrak again, and Update the File with new data. If it is less than 2 hours tho, i go ahead and use the one i already HAD.

0
1
90
Open comments for this post
Reposted by @SpaceRanger

1h 52m 48s logged

Changelog

  • Changed from Static data to live data using celestrak Starlink APIs. (4a27c90)

Okay, so i HAVE been able to Change from Static data to live data using Celestrak Starlink APIs. Doing this inSo many problems like Chunking, Parsing, RUST async/await, and doing all of that over 500 3d models without frying my CPU.

Now, even tho i have been able to get it actually showing up, I need to deal with Celestrak Rate limiting, and Separating Debris from Satellites(Currently, One of the satellite is chosen to be the Satellite, and the rest are set to debris lol). I’ll fix all of this Tomorrow, FOR NOW I HAVE TO SLEEP(My girlfriend got Mad i was not sleeping enough lol 😭😂). Also fixing Scaling, as these should NOT be this big compared to the earth lol.

0
1
62
Open comments for this post

1h 52m 48s logged

Changelog

  • Changed from Static data to live data using celestrak Starlink APIs. (4a27c90)

Okay, so i HAVE been able to Change from Static data to live data using Celestrak Starlink APIs. Doing this inSo many problems like Chunking, Parsing, RUST async/await, and doing all of that over 500 3d models without frying my CPU.

Now, even tho i have been able to get it actually showing up, I need to deal with Celestrak Rate limiting, and Separating Debris from Satellites(Currently, One of the satellite is chosen to be the Satellite, and the rest are set to debris lol). I’ll fix all of this Tomorrow, FOR NOW I HAVE TO SLEEP(My girlfriend got Mad i was not sleeping enough lol 😭😂). Also fixing Scaling, as these should NOT be this big compared to the earth lol.

0
1
62
Open comments for this post
Reposted by @SpaceRanger

54m 37s logged

Changelog

  • Collision Detection now works on the frontend by changing to a red glow from a cyan glow. (81c0078)

Okay, Massive W on this devlog. So I made collision detection show up on the frontend rather than just the Backend by enhancing my RUST functions to return a True or False value when collision is detected. I had some problems with that, cause RUST doesn’t do global variables, and trying to pass a variable from one function(The collision detector) To another(The trajectory calculation), to add a value to my struct was quite literally impossible. I had to delete one of my threads, and change my architecture from branching to linear.
Oh, and I also changed the number of debris from 10 to 100, and the collision distance from 100km to 1000km to ensure collision will be detected lol.

0
1
72
Open comments for this post

54m 37s logged

Changelog

  • Collision Detection now works on the frontend by changing to a red glow from a cyan glow. (81c0078)

Okay, Massive W on this devlog. So I made collision detection show up on the frontend rather than just the Backend by enhancing my RUST functions to return a True or False value when collision is detected. I had some problems with that, cause RUST doesn’t do global variables, and trying to pass a variable from one function(The collision detector) To another(The trajectory calculation), to add a value to my struct was quite literally impossible. I had to delete one of my threads, and change my architecture from branching to linear.
Oh, and I also changed the number of debris from 10 to 100, and the collision distance from 100km to 1000km to ensure collision will be detected lol.

0
1
72
Open comments for this post
Reposted by @SpaceRanger

1h 28m 25s logged

Today, I started building Penny Bloom, a savings platform I want to make more engaging and useful than a traditional savings app. I started by setting up the basic HTML structure for the dashboard, then created the main header with a greeting, notification btn and user avatar badge then I also added a sidebar with navigation for Dashboard, Goals, Calendar, Transactions, Analytics, Rewards, Shop and Settings. I also connected my CSS and JavaScript files which I later used to style and add functionality for opening and closing the sidebar. The main structure and basic navigation are now in place(I might change some stuff later tho cause I’m not satisfied with the look now). Next, I’ll focus on adding more features to the dashboard and making the site look and feel more like a complete product.

1
1
105
Open comments for this post
Reposted by @SpaceRanger

1h 48m 4s logged

Changelog

  • Replaced 250 dynamic debris with 10 Static Debris. (10a6f0a)

Sighs. I promise this is not all i did for nearly 2 hours 😭🤧.
I have been really battling with trying to render 3d Model Asteroids instead of red Meshes, and am having problems with Only accepting one unique item(Which means i’d have to load 10 different 4mb debris file 62 times every second PURELY ON THE FRONTEND, which would surely crash any browser in any computer lol. Severely Un-Optimised).
Currently doing research On how to Handle that, Don’t wanna use gemini too much.
Sadly, HackClub does not record time spent on research 😭

0
1
39
Open comments for this post

1h 48m 4s logged

Changelog

  • Replaced 250 dynamic debris with 10 Static Debris. (10a6f0a)

Sighs. I promise this is not all i did for nearly 2 hours 😭🤧.
I have been really battling with trying to render 3d Model Asteroids instead of red Meshes, and am having problems with Only accepting one unique item(Which means i’d have to load 10 different 4mb debris file 62 times every second PURELY ON THE FRONTEND, which would surely crash any browser in any computer lol. Severely Un-Optimised).
Currently doing research On how to Handle that, Don’t wanna use gemini too much.
Sadly, HackClub does not record time spent on research 😭

0
1
39
Open comments for this post
Reposted by @SpaceRanger

2h 11m 29s logged

Changelog

  • Add Debris component for visualizing debris in 3D space (20f3c78)
  • Refactor collision detection to use dynamic debris field (b07aa44)
  • Added random coordinate generator for debris coordinates. (45ddcbf)

Basically, i have been working with generating debris coordinates, and Mesh visualizations for said Debris.

2
1
112
Open comments for this post
Reposted by @SpaceRanger

1h 45m 6s logged

Changelog

  • Added 3d visualizations of the earth, and the ISS. (382c0e9)

Basically, I Ditched the Nonsense Sphere Meshes, and added actual 3d models of the Earth and the ISS.
I encountered several issues, Like scaling, and stuff. Had to make sure The ISS could be seen, While not being big enough to be a bother to the Earth. Ended up adding a glow to the satellite.
Add 3D models for Earth and ISS with scaling logic

0
1
96
Open comments for this post

1h 45m 6s logged

Changelog

  • Added 3d visualizations of the earth, and the ISS. (382c0e9)

Basically, I Ditched the Nonsense Sphere Meshes, and added actual 3d models of the Earth and the ISS.
I encountered several issues, Like scaling, and stuff. Had to make sure The ISS could be seen, While not being big enough to be a bother to the Earth. Ended up adding a glow to the satellite.
Add 3D models for Earth and ISS with scaling logic

0
1
96
Open comments for this post
Reposted by @SpaceRanger

39m 14s logged

Changelog

  • Implement collision detection in check_collision function using fake, Hardcoded debris coordinates (5b6b87f)

Okay, so I Hardcoded Debris Coordinates, and Compared it’s Predicted Coordinates to the Predicted Coordinates of My Sattelite. Cna now Predict Collision Chances, and Warn if They get too close.
Also went on a Looking Spree, to Download 3d Models of Sattelites, Space Junk, and the Earth, To use in my Frontend, and Look at other Sites that do what I am aiming at like https://keeptrack.space, and https://cp4.rkas.net/?intldes=2007-012Q(Stuffin Space).

0
1
69
Open comments for this post
Reposted by @SpaceRanger

57m 57s logged

Changelog

  • Added async support for frontend integration, And Used Tokio’s broadcast channel to pass messages between threads. (daf47ad)

Okay, So…… I wanted a way to show my Output Outside if the terminal, and I chose to use a web browser, since I am already quite skilled in frontend web dev. Had to add 2 New crates. Tokio for Async/Await functions, and Axum for Web socket Functions. Had some fun reading through their documentations and Implementing Tokio’s Broadcast instead of mpsc ones.
The reason i needed to change my broadcast method is cause mpsc is Single Consumer/Client, But multiple people might want to View the website at the same time

0
1
58
Loading more…

Followers

Loading…