SoK/2025/StatusReport/Anish Tak: Difference between revisions
Appearance
< SoK | 2025/StatusReport
Drowsywings (talk | contribs) mNo edit summary |
Drowsywings (talk | contribs) mNo edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 21: | Line 21: | ||
* [https://invent.kde.org/drowsywings/win-2-linux/-/merge_requests/6 Recommendation engine] | * [https://invent.kde.org/drowsywings/win-2-linux/-/merge_requests/6 Recommendation engine] | ||
* [https://invent.kde.org/drowsywings/win-2-linux/-/merge_requests/7 Hardware Info Integration] | * [https://invent.kde.org/drowsywings/win-2-linux/-/merge_requests/7 Hardware Info Integration] | ||
==== BLog Post ==== | |||
* https://drowsywings.github.io/sok25.html | |||
=== Weekly Progress === | === Weekly Progress === | ||
Line 55: | Line 59: | ||
==== Week 4 ==== | ==== Week 4 ==== | ||
* Basic recommendation engine operational using dot product; switching to cosine similarity. | * Basic recommendation engine (more detailed breakdown in the blog post) operational using dot product; switching to cosine similarity. | ||
* Majority of the desktop client UI completed. | * Majority of the desktop client UI completed. | ||
* Improved the questionnaire and refined the algorithm by adding a penalty criterion. | * Improved the questionnaire and refined the algorithm by adding a penalty criterion. | ||
Line 66: | Line 70: | ||
* Improved questionnaire so that questions directly map to parameters which are predefined in distribution vector | * Improved questionnaire so that questions directly map to parameters which are predefined in distribution vector | ||
* Merged the script which extracts hardware info (uses wmi) from the devices | * Merged the script which extracts hardware info (uses wmi) from the devices | ||
==== Week 7 ==== | ==== Week 7 ==== |
Latest revision as of 16:10, 29 March 2025
Win2Linux-Chooser: An app to help migrate from Windows to Linux
Project Abstract
The project aims to help users migrate from Windows to GNU/Linux by analyzing their system specifications, asking relevant questions, and recommending a ranked list of distributions based on their preferences.
Deliverables
- A MVP (Minimum Viable Product) that recommends a ranked list of distributions to the users switching from windows to linux
Mentors
- Joseph P. De Veaugh-Geiss ([@joseph:kde.org])
- Snehit Sah ([@flyingcakes:kde.org])
- Aakarsh MJ ([@aakarshmj:matrix.org])
Merge Requests
BLog Post
Weekly Progress
Week 1
- Discussed criteria for recommending distributions.
- Decided to ask 4-5 questions without excessive technical details.
- Explored distributions suitable for beginners, including Kubuntu, Fedora KDE, Linux Mint, and Lubuntu.
- Started working on the recommendation engine logic.
Week 2
- Decided on parameters to rate distributions:
# Ease of installation # Old hardware support # Good documentation # Community support # Updates
- Finalized JSON format for questions and CSV format for distribution weights.
- Chose local processing over server-side for privacy and efficiency.
- Decided to use PySide6 + Kirigami for the project.
Week 3
- Set up the basic repository on KDE Invent.
- Implemented the basic UI.
- Worked on hardware detection using WMI and psutil.
- Discussed filtering methods for the recommendation engine:
# Agreed on using a cosine similarity model. # Treating each distribution as a vector. # Calculating similarity with the user preference vector.
Week 4
- Basic recommendation engine (more detailed breakdown in the blog post) operational using dot product; switching to cosine similarity.
- Majority of the desktop client UI completed.
- Improved the questionnaire and refined the algorithm by adding a penalty criterion.
- Researched driver and external hardware support.
Week 5-6
- Narrowed the scope to Win102KDE-Chooser to KDE-based distributions.
- Discussed the driver support, and decided to start with Nvidia driver support and extend it later.
- Improved questionnaire so that questions directly map to parameters which are predefined in distribution vector
- Merged the script which extracts hardware info (uses wmi) from the devices
Week 7
- Implemented the recommendation logic
- Made adjustments to the parameters to refine the recommendation system.
- Used a penalty mechanism for categorical questions, to push certain distributions lower in the list which doesn't match user preference
- Added a mock-ui which shows ranking of distros with there respective scores.
Week 8-9
- Implemented and integrated hardware detection in the recommendation logic.
- Implemented a UI for Hardaware Info Page.
- Begin testing the application on a Windows machine
- Also added an option to skip hardware detection if needed.
- Decided to take Blue Angel Specifications as reference
Blue Angel Specifications (Reference System) * Model: 2015 Esprimo P920 * CPU: Intel i5-4590 (4 cores, 3.3 GHz) * RAM: 4 GB DDR3 (1600 MHz) * Storage: 500 GB SATA III HDD (6 Gbit/s) * Graphics: Intel HD Graphics 4600