Bragdocs
Log in Sign up
FK

Fardin Kamal

Evening the odds

  • January 3rd, 2026

    Egyptian multiplication

    Today learnt about Egyptian multiplication from a Reddit post
    How it works is, we have to half the multiplicand and double the multiplier until multiplicand becomes 1 and sum the values of multiplicand. In the meantime, if we find that both the multiplicand and the multiplier is even, we  don't add add it in our result.
    When the multiplicand becomes 1, we check the result of all the multiplicand and that's the result of that multiplication.
  • January 2nd, 2026

    Some LeetCoding and working on Transport App

    Did some LeetCode and found a new thing: Quests. I've started the DSA Quest. Currently doing problem solving with C++, thinking of switching to Java....


    In case you don't know I'm building a transportation system for my university: DIU Transport App (Github).
    I've reached a stable state on the backend and let's not talk about the mobile app😔

    I was trying to learn SQL & OOP. So I thought why not create the same thing but with Java Spring Boot! Thus, DIU Transport System Backend. The same thing, but with Java and Postgres. Github: https://github.com/fardinkamal62/diu_transport_system_backend
    Boom! Now I'm learning Java, Spring Boot, OOP, SQL and at the same time I'm having a production grade software project. GG.
    The problem is, I'm not familiar with Spring Boot so I have some friction. Thankfully I have a clear system design concept. So what I'm doing is, I'm instructing Agents of Co-Pilot, especially Clause Sonnet 4.5 to do things for me. Then I'm reviewing things. 
    With the Agent's help, I'm creating the base/template. Then I try to write similar code according to the template

    But I am so lazy working on it. I know what needs to be done but the thing is, as I'm not familiar with Spring Boot, I get demotivated easily.


    Today I realized I didn't implement API versioning. Easy. Just created a new folder and changed the routes inside of the controllers.
    Then I was trying to login but I was getting a HTTP error but it's not giving me any response. So with the Agent's help I implemented a better logging system. Also created file for logging. All thanks to Spring loggings system. I just modified the application.properties file.
    Then realized I don't need all these logging on production system. Then implemented separate properties file for production and development.

    That's it. Still a lot of things to work on...
  • January 24th, 2025

    Securing the base

    It's been some time I couldn't do anything new. Just fixing old things.
    I was supposed to complete the APIs for 'journey' entity but I spent all the time fixing previous problems. I'm using TypeScript in this project. I don't have much experience with it. So I was suggested a lot of fixes.

    My project was up and running but when I asked for a Pull Request, I got a lot of suggestions on my codebase from Code Rabbit AI. Good thing is it has also suggested why it has occurred as well as potential solution. So spent a good chunk of time fixing those. Learnt a lot of good practices, lot more to come.

    I am glad that they have provided us with such tool. Otherwise it would've been difficult to learn new things and best practices.
    Now as the base is ready, I can proceed with journey entity
  • January 14th, 2025

    Maps API

    We solved the location gathering. Now we needed a solution to represent the data. As of writing I was able to find out 3 main usage of Map:
    1. Get current location
    2. Identify nearest intersection: to create a route
    3. Find distance between multiple point

    Thought of using Google Maps API for all the tasks but things got sour quickly.
    Get current location was easy. We will just use the device's GPS. Google can help us get accurate location data.
    To Identify nearest intersection, Google doesn't have anything directly. I have to use Geocoding. But the problem is, even for trial I need to provide credit card information for verification. I understand the need but I don't have a international card. There is no other way of accessing Geocoding API.
    So went back to OpenStreetMap(OSM). OSM has its own query language: Overpass Query Language. On https://overpass-turbo.eu/ I have run this query and boom! It gave me pointers of intersections in my view! It was so amazing.
    Lastly to Find distance between multiple point I wanted to use OSM. Found out OpenRouteService. Here I can create a route from points as well.

    Now that I have all the tools in hand, I can proceed😊
  • January 7th, 2025

    Storing Geo data

    To store Geo data, I had decided to use the start and end location. But there were some problem:
    1. How can I know which route did he choose?
    2. How can I know the distance of his starting and ending point?
    3. There are also some brainstorm needed about storing it in mongoDB

    To resolve these, I thought of introducing checkpoints. On some events, the location data from transport vehicle would be uploaded and the route would be determined from that.
    Currently I have two things in mind: intersections & interval
    If I go on a straight road, there is no reason to change direction. Only multiple road can disrupt the straight line. So on intersections we will take the new checkpoint.
    Also with some time period we will take the location of the vehicle; though we're planning a live location feature but let's keep it this way for now.
  • January 6th, 2025

    Defining Core Data Entities & creating DFD

    Started working on back-end how data will travel between front-end to back-end to database. My 2 other teammates are working on their different thing. They are yet to give me the feature list and they didn't communicate; we're supposed to have a meeting.
    Taking direct help from ChatGPT as well as documentation. Though I have done this before as well, I want to do it in better and standard way. Remember: 'perfection is the enemy of progress'.
    I'm not pursuing perfection but a standard way of doing it. Because of this it's taking time. I want to learn and make it as a standard. Also I'm writing this log as well as storing things in the document, so yeah it will take some time.
    Before starting I've created some stories and tasks in Jira. Kind of like it, kind of not. Kinda cool.
    Planned some works for 2 days.
    Made the database schema & data flow diagram. Went well. Now I'm more clearer on how to build it.

    Thinking how shall I store the password and which algorithm to use. Simple task though but as I said, I want to make it as a standard project. So I have to think which algorithm to use and stuffs.

    But a different problem is with Geo Location Storage
    How will I store the location data? What I'm currently thinking is: I will store the starting and ending co-ordinates. But here are some problems:
    1. How can I know which route did he choose?
    2. How can I know the distance of his starting and ending point?
    3. There are also some brainstorm needed about storing it in mongoDB

    Also, I need to learn more about GeoJSON data.
    I can rely on transmitter's(device on transportation) but let's find a better way.

    Everything is defined well, I'm little bit skeptical about the journey's Geo location. Data flow diagram for the device communication is done. It's easy. Data will go from the device in the vehicle to the server and that's it.
    Though we have lots of other features as well. Documentation will increment as the day passes & feature increases
  • December 31st, 2024

    Documenting Learnathon

    I was feeling left behind on Learnathon.
    They have been sharing resources, tips, instructions but I was busy with other tasks. Now I've got some free time and reviewed the discord content.

    What I did today is
    • Created a Google Sheet
    • Documented the resources
    • Chose efficient tools

    We'll start our project soo