Thanatermesis Resume

www.elivecd.org

Samuel Flores Baggen

Senior Linux Engineer
UX Innovator

ABOUT ME

ABOUT MEWHO I AM

My name is Samuel, known on internet as Thanatermesis. I was born in 1980 in Belgium and grew up in Barcelona. At 24 years old, I started developing Elive and learned everything by myself, developing my skills. Since then, I have lived in different places around the wOrld.

LANGUAGESLANGUAGES

Spanish: Native
French: Native
English: Advanced and fluid
Catalan: Perfect understanding, medium speaking
Italian: Basic

INTERESTSINTERESTS AND HOBBIES

From a work point of view, I am interested in computers, human-computer interfaces, visual representation of information, design, and creativity. I believe that we can absorb much more information in a much faster way if we are able to represent it in a visually optimized manner.

I have a general interest in psychology and sociology, and I'm a strong believer in a higher level of society improving human knowledge.

And finally, for leisure, I love traveling and discovering new things, listening to music, and I enjoy solitude and peaceful moments.

Personality

How I amWow I am

I’m intuitive and logical at the same time, I always try to find optimal or different ways of solving problems, I think that I’m resourceful in this aspect.

I'm also:

  • Perfectionist, meticulous
  • Independent, self-sufficient
  • Multidisciplinary
  • Observant

DETAILSMore about my Personality

This is a list of personality traits that I think that could define myself pretty well:

Innate Skills

                                          
    [x] Accept criticism [x] Adaptable      [ ] Ambitious
    [ ] Assertive        [x] Competent      [x] Confident
    [x] Conscientious    [x] Creative       [ ] Dependable
    [ ] Diplomatic       [x] Easy-going     [x] Efficient
    [x] Energetic        [ ] Enthusiastic   [ ] Flexible
    [x] Friendly         [x] Helpful        [x] Honest
    [x] Intelligent      [ ] Loyal          [ ] Motivated
    [x] Open-minded      [x] Organized      [ ] Patient
    [x] Persistent       [x] Problem-solver [x] Productive
    [ ] Punctual         [x] Quick learner  [ ] Rarely absent
    [x] Reliable         [x] Resourceful    [ ] Responsible
    [ ] Take direction   [x] Tenacious      [x] Trustworthy
    [x] Understanding    [x] Versatile      [x] Intuitive

Transferable Skills

    [ ] Accept responsibility [x] Analyze data            [ ] Articulate speaker
    [x] Assessing others      [x] Compile information     [x] Counseling others
    [x] Creative              [ ] Customer/client service [x] Delegate duties
    [x] Develop goals         [ ] Develop relationships   [ ] Edit materials
    [x] Evaluate ideas        [x] Friendly                [x] Get results
    [ ] Good listener         [x] Instruct others         [ ] Interview/hire people
    [x] Logical thinker       [ ] Manage a budget         [x] Manage projects
    [ ] Mediate               [ ] Meet deadlines          [ ] Mentor others
    [ ] Motivate others       [ ] Negotiate agreements    [x] Organizing data
    [ ] Plan events           [ ] Public speaking         [x] Research information
    [ ] Run meetings          [ ] Sell ideas/products     [x] Strong, clear writer

Ideology

How I thinkHow I think

Even though I’m very realistic regarding the real world, I have a dreamy imagination so I’m always trying to extend my possibilities to new horizons.

  • Philosophical
  • Futuristic / Visionary
  • Searching relations between nature/universe and computers, which sometimes helps me to find the optimal answer
  • I dream about a future where things are shared in real time, economically distributed and decentralised, which is why I'm so interested in Open Source and the venus project.
  • Realistic and coherent, which helps me to make tangible decisions regarding any particular concept.
  • Spiritual

SKILLS

BRIEF SKILLSINTRO OF SKILL SET

My main and most important skillset obtained over the years is is related to the linux operating system and specially debian-based system. For a better overview of the things that I can accomplish is better to see the WORKS section.

All my learning was obtained when I started making the GNU/Linux operating system “Elive”, which started around the year 2003 under a different name. It was my learning platform and also my best historically proof CV. I learned and enjoyed improving the system on every side and implemented own ideas on it, creating different concepts for a better usability keeping it user-friendly for any kind of user. The need to adapt every different part of the system to the wanted needs pushed me to learn new things every day. I enjoyed designing new concepts and sharing these results with the world.

I'm more in the sense of a multi-disciplinary person, because I have not focused all the learning curve to a unique topic, instead, I needed to deal with lots of different situations and elements of the operating system in every sense that appeared. This made me a Linux expert, with strong knowledge in administration, designing the system, dealing and predicting bugs, user-experience and ease-to-use, and packaging elements of the system

PROGRAMMINGPROGRAMMING LANGUAGES THAT I USE

Because of the need to manage lots of different things I never specialised in any specific programming language, except for my most used ones.

I use Bash more than C as I find it faster to obtain the same solutions, considering options like: speed of development, required interface, complexity, and my familiarity with the language

  • Bash: In combination with any other commandline tool it gives me the possibility to develop any application or need required. It helped me to develop simple frontends, automated tasks such as detections and configurations, and surprisingly, almost everything that I have needed. It is not only one of the most widely-used languages in a UNIX-like operating system but also one of the most open, well-known, and easy to modify, making it easier for users to improve or modify them in any way. A list of some applications that I have made for Elive can be found in the "Miscellaneous" section. It is my everyday language for daily tasks, giving me a big familiarity with it.
  • C: Particularly in combination with the EFLs (Enlightenment Foundation Libraries API) and thanks to my relationship with Enlightenment it gave me a powerful framework with tons of possibilities. Long familiarity with the API, its improvements during the history, and also with the Enlightenment API itself.
  • Edje: Edje is a type of programming language, part of the EFL libraries, in short its a language used to develop powerful interfaces. Personally it is the most enjoyable of the languages, which brings me the possibility to unleash my creative skills.

ACQUIRED EXPERIENCETHINGS THAT I LEARNED OVER THE TIME

The adventure of making Elive pushed me to acquire miscellaneous general experience of every different topic, the most notable ones:

  • System Administration
  • Task Automation
  • Development of small tools to resolve a problem or improve a situation
  • Packaging expertise (Debian)
  • Solving problems and finding solutions
  • Finding the weakest points in applications, predict bugs
  • Quality of code
  • Behaviour prediction or future needs
  • Making interfaces more user-friendly
  • Finding bottlenecks on the efficiency side
  • Trying new or different concepts and ways of doing things
  • Smart actions for, determine, find answers, or automatic configuration: It’s not possible to have artificial intelligence making decisions for us, but we can have smart interfaces that know things about us and predict our actions, saving us time and effort

GOOD SKILLSI AM GOOD AT

  • Finding ways of improving efficiency and making procedures / tasks / interfaces effortless.
  • Automating / optimising tasks
  • Human-computer interaction
  • System Administration
  • Selecting good default settings for applications
  • Thinking about concepts, user interfaces, and usability

PRIORITIESWHAT I CONSIDER IMPORTANT

  • A good design
  • Intuitiveness
  • Efficiency and effortlessness
  • Optimisation and Speed
  • Automation and prediction
  • Visual representation of information
  • Making different / new concepts when necessary
  • Understanding how situations are affected by feelings, the subconscious and emotions (psychology)

EDUCATION

All my knowledge has been learned self-taught, but let's focus about the process which made me learn about computers:

My first computer was at the age of 12, and the first contact with the open source world with 18. Without internet connection surprisingly it was when I learned the most about it. One day, a system called Knoppix appeared which I really liked; a completely different concept, but I was not happy with the common environment and its usability was not enough for me, this is when I decided to modify it to my own vision. I was very happy with the result and wanted to make a similar version to share with the world.

I was living on Belgium at that time with enough free time available, out of internet and without stress my working environment was purely the terminal without graphical interface, on a 300 Mhz / 200 Mb RAM computer. Surprisingly, this is computer is the one where I made the first versions of Elive. The reason why I worked on Console was just because I was never satisfied by the graphic system and I was happier with it, being able to do many different kinds of things (even watching videos, browsing the net, viewing images, etc.)

For the next years and with connection to internet my full time work was with Elive, on which I needed to deal with all the existing tasks, assisting the users with their problems or questions, and developing new implementations into the system. This has remained like this up to these days.

OTHER

Invited to multiple Open-Source events, like the LinuxConf in Barcelona or the Debconf of 2009

EMPLOYMENT

2003 - PRESENT DAYELIVE

#
Founder and developer of Elive for more than 15 years, a well-known linux distribution used by thousands of people around the world. Managing the entire project and its development on my own.

www.elivecd.org

2005 - PRESENT DAYENLIGHTENMENT

#
I have been an official Enlightenment collaborator for many years, specially for small improvements and fixes, reporting bugs, beta-testing, and a couple of redesigns and new features.


www.enlightenment.org

2004 - PRESENT DAYDEBIAN

#

As I use Debian as the base for Elive, I have a thorough understanding of it. Although this relationship is unofficial, I try to participate when needed in different projects, in particular Debian Live.


www.debian.org

2019Freelance Works

#

Some freelance works that I have made for other enterprises:



  • A small tool to view in realtime statistics of the queue of the email server from different servers, with a small notification and highlighting color in case the values are exceeded - Project for a Canada enterprise (L***.com)

  • A tool to scan the undelivered emails from a unix directory on a big email server and sending them back to the owner if enough time passed, removing them later from the server. The tool was made in bash and was independent to the email service. - Project for a Canada enterprise (D***.com)


WORKS I DID

MAIN OS WORKSMAIN OS WORKS

  • Compiled custom kernels since 2003
  • Strong modifications in the boot init system for Live systems
  • Actually maintaining more than 2500 own packages
  • Lots of experience in automating tasks
  • Brainstorming ways to making the system lighter in resources
  • Entire installer of the OS with unique features like migrating a linux system to Elive or the automated upgrade process of an existing install
  • Developing tools to build and maintain packages, this includes checking for updates, creation of chroot environments, controls, versioning, statistics, dependencies, repositories, signatures, patching, checks, and much more...
  • Entire framework for translating source code, this includes automated translations, manual (by collaborators) translations, english proofreading, modification of original source code messages, automated changes, automated rebuilding packages
  • Automated errors reporting to the server, directly from errors or warning messages from the operating system after user's approval for reports
  • Tools to create the entire OS image including the Live infrastructure, recently switched to debian-live with own modifications
  • Repositories for the OS, their management, sincronization, maintenance, settings, etc
  • Personal user configurations manager
  • Desktop creation setup and automated configurations generator
  • Tool to automatically upgrading the OS with special features like applying hooks

DEVELOPERS TOOLSDEVELOPERS TOOLS

  • Tool to easly search and read API's of C libraries
  • VIM Colorscheme focused on code-readability and aesthetic beauty, how colors are interpreted psychologically and their strong visual impact in comparison to others, focusing in usability and intuitiveness, it looks nice with bash code, featuring comments, todo/fixme words, blocks, searching, numbers, etc...
  • ZSH customized environment with awesome and unique features (link in progress)
  • APT handy tools for the users
  • Misc statistical visualizers for different purposes, like servers or automated processes
  • Multiple backuping tools, featuring incremental snapshots, tags, recovery, transfer, automation, etc...
  • Tools to create chroot environments and managing them with full access like to their graphical interface
  • Remote assistance to users, using a reverse SSH, features graphical access, automatic port selection, full guided process to the users, etc...
  • Generator list of packages to build a specific OS based on templates and conditions
  • Automating process of applying patches, including binary files
  • Bash framework library extremely useful and powerful to expand the language to more possibilities and easy to programming
  • Generator of translations from the google service to apply in .pot, .xml, .desktop, and other files
  • Tool to apply back translations from .pot files (english proofreading) to the original source codes
  • Tool to perform incremental backups of working directories, with diff's, graphical comparison tool, patch generator, etc... extremely handy for daily use
  • Tool to analize the time spent on the progress of a verbose command or scripts
  • Tool to send emails from commandline, with a nice looking template and automated html features and extra options like attaching files
  • Amazing tool to manage GIT project fork and branches, featuring history of revisions, picking of commits, multi-user work, differences between branches, searching for specific files or keywords, searching for changes made by a specific author, edition, marks and messages, notifications to other managers, backporting, undo, compilation and install automations, and backups, everything automated and guided interactively
  • Tools to manage partitions and ease the mounting process including chroot layers to access to graphical system and similar needs
  • Tmux launcher of processes in background

DAEMONSDAEMONS

  • Health features to detect bad blocks in user's hard disk, incorrect shutdowns of the computer, shacking detection, extreme cpu temperatures, filesystem capacity and auto-cleaning, etc
  • Tool to watch processes with rare conditions like stuck or loop and the process to close them
  • Tool to maintain the stability of the desktop and autorecovering process

TOOLS FOR USERSTOOLS FOR USERS

  • Tool for configure touchpad with unique features (link in progress)
  • Remote access granter with guided steps
  • Guided tool to setup a VNC session
  • Tool to pair bluetooth devices (in the times where there was not applications for it)
  • Tool for connect to internet using your mobile phone, using wvdial and a list or dial configurations (364) per country and company (in the times where sharing internet from phone was not existing)
  • Tool to administrate users
  • Tool to configure languages and keyboard layouts
  • Tool to make screenshots with handy features for practical use
  • Tool to record USBs with OS images with extra features
  • Tools to help users install propietary drivers for their graphic card with autodetections, checks, guided process, and removal of drivers
  • Tools to reconvert media files like audios, images, or videos

DESKTOP FEATURESDESKTOP FEATURES

  • Helper for opening files from the user with multiple or special purposes
  • Dynamic web browser selector and smart launcher
  • News notifications system in a light and automated way and listing of them to the desktop

INTERFACESINTERFACES

  • Personalized desktop designs (UI) - Video demo
  • Extra controls hidden for the desktop in a extra menu on the window borders with unique actions - Video demo
  • Lots of misc desktop modifications (UX) used for the OS
  • Graphical boot init based on an entirely different platform (in Topaz 2.0)
  • Tutorial from a terminal for the desktop usage steps with interactive explanations
  • Custom menu structure following XDG standards (menus of applications, dynamically modifiable)
  • Dynamic and animated wallpapers
  • Animated icons
  • Desktop gadgets and extra features
  • Desktop login-manager unique theme design (2006) - Video demo
  • Designed a font for console TTY terminals

FUTURISTIC CONCEPTSFUTURISTIC CONCEPTS AND TOOLS

  • paralel reality, a tool that creates a children state of the operating system on the fly being able to do modifications and tests that doesn't affect the parent / real OS
  • A configuration panel for the OS with futuristic-look and unique way of work, animated screenshot of elpanel

OTHER TOOLSOTHERS TOOLS

  • System to generate a list of the optimal tags to use for a specific-purpose website (listing available tags, calculate the amount of demand for the tag VS how many people provides it, calculating the worth value from previous calculations and their characters density, etc)
  • Tool to add a cover automatically to your mp3 songs with prediction of candidates
  • Tool to automatically gain followers on Twitter, on-topic, auto-clean, etc
  • Tool to automatically open a web browser tab when a new very-specific product appears listed on ebay*, in order to be the first buyer on a good traded offer
  • Optimised keyboard layout specially-designed for programmers, focusing on a strong productivity, see the project on github

HOSTING RELATED TOOLSHOSTING RELATED TOOLS

  • Incremental backup system for a wordpress website, featuring automated or manual, recovery and tags
  • Checks (and restarts) for services or features to be correctly running
  • Installation of different types of services: nginx, monit, fail2ban, ssh, exim4, phpmyadmin, mysql, debian repos, etc...
  • Tool to upload built ISOs into the server in a reliable and fast way, featuring zsync to transfer only a total 10% of the data, and guaranteed availablity from any network using an ssh tunnel
  • Automated generator of posts for wordpress (news announcement about release versions, including the changelog fetch from my notes and the version to publish)
  • Tool to continuously verify the availability of remote mirrors and notify in case the server is down
  • IRC bot customized for specific purposes

WEBSITES INSTALLED

  • Mediawiki
  • Trac
  • Discourse
  • Flyspray
  • ModX
  • Wordpress
  • piwigo
  • phpmyadmin
  • piwik
  • seopanel
  • myTinyTodo
  • plain HTML website templates modified
  • debian package repositories
  • svn repositories
  • git repositories

CONCEPTSCONCEPTUAL DESIGNS

  • A concept about how a Venux system should be made. For The Venus project. An operating system based on the natural rules of life, the design is totally unfinished but there are some concepts that I’ve written about:
    • As with natural selection, the most useful, efficient, reliable, etc. have the highest chances of survival
    • Neutral and objective goals, not based on vested interests
    • Decentralised and independent
    • Automated quality control based on rules, structure, and privileges using mathematical results
    • Automation and effortless work
    • An extremely modular system
    • Visual representation of any information required, in script query form
    • Automated internal management

IDEASIDEAS AND INVENTIONS

  • Device that allows blind people to see

CONTACT ME

CONTACT ME

Email: thanatermesis@gmail.com.




Thank you for printing my CV. If you have any questions, please feel free to contact me.