Documentation
What is it?
It's a little tool that can help you to get to know your colleagues here at SUSE while playing a photo/names-matching game.
How does it work?
It checks for SUSE employees who have a photo in 'floor', randomly shows three of these photos and then asks for the full name of one of these employees, comparing the answer to the corresponding entries in tel. Of course it does not bother tel every time you play a round. Instead it gets a list of all tel-entries from a daily cron job. It also works the other way around by showing you a photo and asking for the matching name, giving you the choice between three.
What else is implemented?
It keeps score and has a highscore submit function. Furthermore it has a search function that is somehow better than the one floor offers. Why better? You finally can search for full names with blanks in between. Why only somehow? The search function was implemented on Hack Week's Thursday as a kind of by-product after I realized I already had all the fundamental subroutines. It worked almost immediately but has still a few flaws, like not being able to show more than one result. It also vaporizes all special chars because of some char-set confusion. I'll fix that soon.
Why this project?
The idea grew in my mind since my first day here at SUSE ... even before I knew Hack Week existed. The amount of new faces and names is just overwhelming and I wished there was a tool that could help me remember my new colleagues faster.
Why Perl? Wouldn't that have been way simpler with JavaScript?
Maybe, but the spirit of Hack Week is to learn something new and have fun while doing that, right?
How to use it?
This is quite simple. The project is online on the trainees' server. On the page's left side you can see the menu. I think it's self-explaining but here is a short overview: - The first entry is the search function which has autofocus. So you can just load the page and then immediately type in a search string, hit enter and hopefully see the desired result. Clicking on a user- or full name starts a mail to that employee's suse.de-account. Sure, this is a very cheap trick but maybe it can save you some time. - The second entry is the game sub menu. Choose between the two different game modes or play a mixture of both. - The third entry shows your current points and also shows the overall highscore on click. There you can submit your own points to the list. - The forth entry is the About Page where you (will) can find the change log and stuff. - The fifth and last entry is the contact information if you have questions, bugs or requests.
How to make a use of it?
Just use it if you find it useful. And: Send me criticism...! Also and especially about the code. I always want to improve. But please keep in mind that this was my first Perl project after 'Hello World' and a little command line fun. Therefor the code is not that pretty or slim but very readable :)
And now: Try and have fun!
Cheers, Thomas
This project is part of:
Hack Week 10
Activity
Comments
Be the first to comment!
Similar Projects
Create a page with all devel:languages:perl packages and their versions by tinita
Description
Perl projects now live in git: https://src.opensuse.org/perl
It would be useful to have an easy way to check which version of which perl module is in devel:languages:perl. Also we have meta overrides and patches for various modules, and it would be good to have them at a central place, so it is easier to lookup, and we can share with other vendors.
I did some initial data dump here a while ago: https://github.com/perlpunk/cpan-meta
But I never had the time to automate this.
I can also use the data to check if there are necessary updates (currently it uses data from download.opensuse.org, so there is some delay and it depends on building).
Goals
- Have a script that updates a central repository (e.g.
https://src.opensuse.org/perl/_metadata) with metadata by looking at https://src.opensuse.org/perl/_ObsPrj (check if there are any changes from the last run) - Create a HTML page with the list of packages (use Javascript and some table library to make it easily searchable)
Resources
Results
Day 1
- First part of the code which retrieves data from https://src.opensuse.org/perl/_ObsPrj with submodules and creates a YAML and a JSON file.
- Repo: https://github.com/perlpunk/opensuse-perl-meta
- Also a first version of the HTML is live: https://perlpunk.github.io/opensuse-perl-meta/
Day 2
- HTML Page has now links to src.opensuse.org and the date of the last update, plus a short info at the top
- Code is now 100% covered by tests: https://app.codecov.io/gh/perlpunk/opensuse-perl-meta
- I used the modern perl
classfeature, which makes perl classes even nicer and shorter. See example - Tests
- I tried out the mocking feature of the modern Test2::V0 library which provides call tracking. See example
- I tried out comparing data structures with the new Test2::V0 library. It let's you compare parts of the structure with the
likefunction, which only compares the date that is mentioned in the expected data. example
Day 3
- Added various things to the table
- Dependencies column
- Show popup with info for cpanspec, patches and dependencies
- Added last date / commit to the data export.
Plan: With the added date / commit we can now daily check _ObsPrj for changes and only fetch the data for changed packages.
Day 4
MCP Perl SDK by kraih
Description
We've been using the MCP Perl SDK to connect openQA with AI. And while the basics are working pretty well, the SDK is not fully spec compliant yet. So let's change that!
Goals
- Support for Resources
- All response types (Audio, Resource Links, Embedded Resources...)
- Tool/Prompt/Resource update notifications
- Dynamic Tool/Prompt/Resource lists
- New authentication mechanisms
Resources