SoK/2025/StatusReport/Anish Tak: Difference between revisions
Appearance
< SoK | 2025/StatusReport
Drowsywings (talk | contribs) No edit summary |
Drowsywings (talk | contribs) |
||
Line 15: | Line 15: | ||
* Snehit Sah ([@flyingcakes:kde.org]) | * Snehit Sah ([@flyingcakes:kde.org]) | ||
* Aakarsh MJ ([@aakarshmj:matrix.org]) | * Aakarsh MJ ([@aakarshmj:matrix.org]) | ||
=== Merge Requests === | |||
* [https://invent.kde.org/drowsywings/win-2-linux/-/merge_requests/2 Questionnaire] | |||
* [https://invent.kde.org/drowsywings/win-2-linux/-/merge_requests/4 Hardware Classification] | |||
* [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] | |||
=== Weekly Progress === | === Weekly Progress === | ||
Line 53: | Line 60: | ||
* Improved the questionnaire and refined the algorithm by adding a penalty criterion. | * Improved the questionnaire and refined the algorithm by adding a penalty criterion. | ||
* Researched driver and external hardware support. | * 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 |
Revision as of 19:59, 28 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
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 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