Author

Victor Jaume

System admin & Software/Mobile App Developer

From Mallorca, Spain

Season: Spring

About

A passionate software archaeologist, dedicated to retrieving lost information from the 90s and 2000s — a specialty of mine since I was 9 years old.

I code because I want to build the future.

Work Experience

Feb 2024 - Dec 2024
(11 months)

Full-stack Software Developer at AnySolution

Remote

https://www.anysolution.eu

ASP.NET Core, Python, Docker, Git, Next.js, Node.js, Vue.js, React, TypeScript, Tailwind, CI/CD, Testing


Apr 2022 - Jun 2023
(1 year and 3 months)

Software Developer at MADISA

On-site

https://madisa.es

ASP.NET, Dart, Flutter, Node.js, Git, SQLite, Redis, Object Relational Mapping (ORM)


Sep 2021 - Jan 2022
(5 months)

Freelance Software Developer at Bespoke Automation and Control Services

Part-time - Remote

https://www.bacs-ltd.co.uk

Python, Node.js, Git, Mqtt, SQL, HTML


Mar 2019 - Jun 2019
(4 months)

Software Developer and 3D Modeler at SMACH Z

Internship - On-site

http://www.smachz.com

C#, Python Django, JavaScript, Git, Photoshop, Blender, Unity Engine, Unreal Engine


Mar 2017 - Jun 2017
(4 months)

IT Network Administrator at Proa Ocasión

Internship - On-site

https://www.proaocasion.com

PHP, ASP.NET, C#, SQL, Java, Batch, Bash shell, Word, Excel


Education

Sep 2021 - Jun 2023
(1 year and 10 months)

Dual Higher Vocational Education and Training, Software and web development

Col·legi CIDE

https://www.cide.es

- ASP.NET and C# applications in Visual Studio Community
- Java programs using IntelliJ IDEA and apps developed with Android Studio
- Python development in PyCharm
- Node.js
- Databases: MySQL, MongoDB
- Object Oriented Programming (OOP)


Sep 2019 - Jun 2021
(1 year and 10 months)

Bachelor's Degree in Computer Engineering

Universitat de les Illes Balears

https://www.uib.cat

- Java
- C
- Calculus
- A bit of discrete mathematics


Sep 2017 - Jun 2019
(1 year and 10 months)

Higher Vocational Education and Training, 3D Animations, Games and Interactive Environments

CEF Escuela de Imagen y Sonido

https://cefmallorca.com

- Animation and 3D modeling using Blender
- Creating textures and images in Photoshop
- Programming Unity game projects with C# scripts


Sep 2015 - Jun 2017
(1 year and 10 months)

Higher Vocational Education and Training, Network and Systems Administration, IT

FP Sant Josep Obrer

https://www.santjosepobrer.es

- Web development using PHP and C#
- Android app development with Java in Android Studio
- ASP.NET projects with SQL databases managed in SQL Server Management Studio
- Object-Oriented Programming (OOP)


Skills

Hard Skills

C, C++, C#, TypeScript, Dart, Python, Java, JavaScript, ASP.NET, Flutter, CSS, SASS, Next.js, Node.js, Vue.js, React, Tailwind, Git, npm, MongoDB, MySQL, PostgreSQL, .NET Aspire, Docker, Redis, Word, Excel, PowerPoint, PhotoShop, CI/CD, Testing


Soft Skills

Teamwork, Self-Learning, Adaptability, Problem Solving, Critical Thinking


MY PROJECTS SO FAR :)

Open-source projects

.NET Desktop app development

Desktop apps:
TODO App .NET Avalonia (Avalonia UI version from TodoAppWpf.)
TODO App .NET WPF (Tasks can be created, modified and deleted. Stores and uses a local JSON file showing the tasks, put reminders on them and mark their statuses, and displays notifications.)


netavaloniauiwpf

App and package development in Flutter

Apps and reusable packages:
ISP basic app (ISP app with BLoC and Repository design patterns, with a basic implementation including authentication and display of user data. Uses MySQL as database and 3 alternative backends to interact the API:
- Codeigniter - PHP Backend
- Node.js Backend
- .NET Web API Backend)
Bid For Power Weapon & Attack Set Config Editor (A modern GUI editor for bfp_weapon.cfg(and bfp_weapon2.cfg) and bfp_attacksets.cfg files used in the ancient Quake 3 mod Bid For Power.)
Eye of Sauron (Eye of Sauron particle effects.)
Customized animated gradient text (Adds a customized animated gradient text widget.)
Area selector (A widget that allows to select, move and resize rectangular areas. App test here.)


flutter

NuGet package development in .NET

Reusable libraries to ease the integration of specific features into multiple .NET projects. Like:
Q3 CSharp library (Experimental library of core structures and functions from Quake 3 translated to C#, created for recreational purposes. It can be reused for Unity projects)
Advanced math library (An experimental advanced math NuGet package for testing complex calculations and operations.)
Integrations with JsonPlaceHolder API (A sample NuGet package project that contains 'appsettings.json' config to execute the config variables)


netnuget

HeXen: Edge Of Chaos (dhewm3 port)

Ported to dhewm3 to be compatible in old and modern hardware.


hexeneoc

Quake 3 mods

Developing some recent and lost Quake 3 Arena mods. GitHub repositories:
LegendaryGuard/BFP (recreation of Bid For Power)
alcachofass/devotion (mod based on Rexuiz and Xonotic)
ec-/baseq3a (enhanced Q3A vanilla)
LegendaryGuard/q3a_lms (Last Man Standing gamemode on latest Q3A gamecode version)


q3a

Liblast

Opensource multiplayer FPS project using Godot engine.
Communication and organization for game development plans.


liblast

Xonotic

Open Source, Free and Fast Arena Shooter. Built on the DarkPlaces engine, a derived Quake I engine.
Documentation on how to model a weapon and character, and programming features for the game.


xonotic

ZEQ2

Open-sourced and mod expandable project based on a highly modified ioQuake3 engine foundation and features many true-to-reference DBZ visuals and mechanics. Developer sandbox for people who want to tinker with basic game development.


zeq2

Private projects

DotChan

An imageboard written in ASP.NET Core (.NET 8) and Entity Framework.
Visuals and styles are intended to resemble the 4chan theme but with a modernized design.


dotchanimgboard

ペーパーテンコ (Paper Tenko)

A game project inspired on Paper Mario and Touhou Project.
Author/Creator by つなみ~
Maintained by Victor Jaume:
UTF-8 and DXEncode support


papertenko

Unity projects from academic courses on CEF

3D Platformer
2D Platformer


unityproj

LIBRARY

A place to dive and explore horizons! :P

Books

Clean Code: A Handbook of Agile Software Craftsmanship

A book by Robert C. Martin. Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability. The URL here redirects into a summary.


cleancode

Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)

A book by Robert C. 'Uncle Bob' Martin with contributions by James Grenning and Simon Brown. Writing code and developing software is a completely different task. When the software is written correctly, the same work can be done using only a part of the human resources required to create and maintain it. This makes changes simple and quick. By reducing the required effort to minimum, functionality and flexibility can be maximized. The URL here redirects into a summary.


cleanarchitecture

The C Programming Language

A book by Dennis Ritchie (the creator of C) about the use of C (ANSI C (C89))


cprogramminglangbook

Game Engine Architecture

A book by Jason Gregory. Covers both the theory and practice of game engine software development, bringing together complete coverage of a wide range of topics.


gameenginearchitecture

Software architectures

Hexagonal Archictecture

English post: here
Spanish post: here


explicit_hexagonal_architecture

DDD, Hexagonal, Onion, Clean, CQRS, ... How I put it all together

A post explaining about the explicit architecture. The application is the territory, the reality, the concrete use case where we need to apply our knowledge, and that is what will define what the actual architecture will look like!



.NET development stuff

C# tutorials

A good reference to look C# stuff, includes advanced stuff.


csharp

How to read the appsettings.json configuration file in ASP.NET Core

Allows for a configuration file to be set up that can be read through the application. There's a video resource on it, in case of link breakage:
https://www.youtube.com/watch?v=PN6kAaZVVBM



Creating NuGet Packages the easy way with .NET Standard in C#

A nice NuGet package creation .NET tutorial.


netnuget

How to configure NuGet Package for .NET Core

Shows the best methods for passing configuration parameters in NuGet packages and analyze their pros and cons.



NCrunch IDE Extension

An automated concurrent testing tool for .NET.


ncrunchnet

Flutter development stuff

Flutter Course (Spanish) by Fernando Herrera

A nice Flutter course for starters.


fluttercourse

Flutter GetX plugin Tutorials

A tutorial about how to use GetX microframework to ease the state management and keep persistant data in the network side.


fluttergetxtutorials

How to Create Dart Packages for Your Flutter Apps

A tutorial about how to create dart packages by making apps more modular and dependencies more explicit.


createflutterpackages

Developing a Custom Plugin using Flutter

A tutorial about how to create Flutter plugin.


developcustomflutterplugin

Design Patterns in Flutter

Some few well-known design patterns that are frequently applied in the creation of Flutter like MVC.


designpatternsflutter

Creating a Flutter Module: A Step-by-Step Guide

Learn how to create a reusable Flutter module and use it across different projects.


creatingfluttermodulestepbystep

The power of a Flutter module in a native App

A representation of how fetches data from an API with the Flutter module and send it back to our native apps.


thepowerofafluttermoduleinanativeapp

Dark C programming

Some obscure C features

More obscure C features: Sizeof may have side effects, hexadecimal float with an exponent, array designators...



Lesser known tricks, quirks and features of C

More obscure C features: Sizeof may have side effects, hexadecimal float with an exponent, array designators...



Implementing a XOR Doubly Linked-List in C

A type of data structure that reduces the memory requirements of doubly linked lists by using a single pointer field to store the bitwise XOR of the addresses of the previous and next nodes.



The Legend of the Fast Inverse Square Root

0x5f3759df

Explains about the magic constant 0x5f3759df and an extremely neat hack.



A researchment of the math PDF by Chris Lomont can be found in this Stack Overflow post

An excellent reference from a mathematical demonstration developed by an expert mathematician.
In case of link breakage, the PDF can be found here: http://www.lomont.org/Math/Papers/2003/InvSqrt.pdf



Modding/programming game stuff

Half-Life 1 Programming pages

Tutorials about mod programming in Half-Life 1 game.


hl1programmingcategorypages

Quake 3 Coding Arena Tutorials

Tutorials about mod programming in Quake 3 game. Any Quake 3 mod programming link can be found here:
Quake 3 mod programming link tutorials


quake3codingarenatut

Breaking the Quake 3 QVM 16 weapon limit and some Quake 3 mod programming questions

An ancient Quake3World forum page talking about Modifications Programming Forum FAQ.


programmingeditingsectionq3worldold

Quake 3 Source Code Review: Architecture

Fabien Sanglard's website talking about Quake 3 architecture and his talks with John Carmack.


quake3sourcecodearchitecture

CONTACT