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 object oriented API for perl's YAML::XS module, with YAML 1.2 Support by tinita
Description
YAML::XS is a binding to libyaml and already quite old, but the most popular YAML module for perl. There are two main issues:
- It uses global package variables to influence behaviour.
- It didn't implement the loading of types like numbers and booleans according to the YAML spec (neither 1.1 nor 1.2).
Goals
Create a new interface which works object oriented. Currently YAML::XS exports a list of functions.
- The new API will allow to create a YAML::XS object containing configuration influencing the behaviour of loading and dumping.
- It keeps the libyaml parser and emitter structs in memory, so repeated calls can save the creation of those structs
- It will by default implement the YAML 1.2 Core Schema, so it is compatible to other YAML processors in perl and in other languages
- If I have time, I would like to add the merge
<<
key feature as an option. We could then use it in openQA as a replacement for YAML::PP to be faster.
I already created a proof of concept with a minimal functionality some weeks before this HackWeek.
Resources
- Work is currently happening on the oop branch
- Experimental release waiting for user feedback: https://github.com/perlpunk/yaml-libyaml-pm/releases
- Diff