POLITICA DE CONFIDENȚIALITATE

1. Introducere

Prezenta Politică de Confidențialitate explică modul în care Alexandru Mihai MN Persoana Fizica Autorizata colectează, utilizează și protejează datele personale ale utilizatorilor care accesează și utilizează serviciile noastre.

2. Informații colectate

Colectăm următoarele categorii de date personale:

  • Nume și prenume;
  • Adresă de e-mail și număr de telefon;
  • Informații de facturare (CUI, cont bancar, adresă sediu social);
  • Adresa IP, tipul dispozitivului și browserul utilizat.

3. Scopul colectării datelor

Datele colectate sunt utilizate exclusiv pentru:

  • Crearea și gestionarea conturilor utilizatorilor;
  • Procesarea și gestionarea programărilor prin aplicația web;
  • Comunicarea cu utilizatorii pentru suport și asistență;
  • Respectarea obligațiilor legale și fiscale.

4. Confidențialitatea și securitatea datelor

Ne angajăm să protejăm datele utilizatorilor prin măsuri tehnice și organizatorice adecvate, pentru a preveni accesul neautorizat, pierderea sau utilizarea abuzivă a acestora.

5. Partajarea datelor

Nu vindem, nu închiriem și nu transferăm datele personale către terți fără consimțământul utilizatorului, cu excepția cazurilor în care este necesar pentru:

  • Respectarea obligațiilor legale;
  • Executarea unui contract cu utilizatorul;
  • Protejarea drepturilor și siguranței noastre sau ale utilizatorilor.

6. Drepturile utilizatorilor

Utilizatorii beneficiază de următoarele drepturi:

  • Dreptul de acces la datele personale;
  • Dreptul de rectificare a datelor incorecte;
  • Dreptul de ștergere a datelor („dreptul de a fi uitat”);
  • Dreptul de restricționare a prelucrării;
  • Dreptul la portabilitatea datelor;
  • Dreptul de opoziție la utilizarea datelor în anumite scopuri.

7. Perioada de stocare a datelor

Datele sunt păstrate pe perioada necesară prestării serviciilor, conform obligațiilor legale aplicabile. După această perioadă, datele sunt șterse sau anonimizate.

8. Modificări ale politicii de confidențialitate

Ne rezervăm dreptul de a modifica această politică. Orice modificări vor fi publicate pe website-ul nostru.

9. Contact

Pentru întrebări sau solicitări privind prelucrarea datelor, ne puteți contacta la:

Alexandru Mihai MN Ionescu Persoana Fizica Autorizata
Str. Piscului 11, bl.78, ap.25
pfa.ionescu.alexandru@gmail.com / pfa@alexionescu.onmicrosoft.com
0730305974

Termeni și Condiții

1. Disclaimer

Acest site este oferit în forma în care se prezintă la accesarea sa de către utilizatori, fără niciun fel de alte garanții. PFA Alexandru Ionescu nu este și nu poate fi făcut responsabil pentru nepotriviri, indisponibilități sau alte defecte ale acestui site sau ale conținutului său.

Dacă folosiți serviciile sau informațiile oferite de acest site, acest lucru va fi echivalent cu acceptarea de către dumneavoastră a termenilor și condițiilor de mai jos.

Acești termeni și condiții se pot modifica din timp în timp. Veți fi notificat ori de câte ori se produc modificări ale termenilor și condițiilor website-ului.

2. Protecția Proprietății Intelectuale

Conținutul și designul site-ului, precum și orice alt material având legătură cu site-ul, aparțin PFA Alexandru Ionescu și sunt protejate de legislația privind proprietatea intelectuală. Nu puteți utiliza, reproduce sau permite nimănui să utilizeze sau să reproducă materialele fără permisiune scrisă.

3. Utilizarea Conținutului Site-ului

Puteți copia și printa conținutul site-ului doar pentru folosința personală, lipsită de intenție comercială. În orice alte cazuri, conținutul site-ului nu poate fi reprodus, modificat sau exploatat fără acordul nostru.

4. Modificări de Conținut

Ne rezervăm dreptul de a suspenda, modifica, adăuga sau șterge în orice moment porțiuni ale conținutului acestui site.

5. Acord de Confidențialitate

Informația pe care o furnizați va fi utilizată doar în conformitate cu Politica noastră de Confidențialitate.

6. Forța Majoră

PFA Alexandru Ionescu nu poate fi făcut responsabil pentru întârzieri sau erori cauzate de factori externi precum defecțiuni tehnice, viruși informatici, acces neautorizat sau alte probleme independente de voința noastră.

7. Legislația

Acest acord este guvernat de legislația română. Orice litigiu va fi soluționat în fața instanțelor românești.

Introduction

Hello, and welcome to my portfolio

My name is Alexandru Ionescu, I am from Romania, Bucharest
I have studied Mathematics and Informatics at "High School Miguel de Cervantes"
I have finished my degree in the United Kingdom, studying Games programming at "Staffordshire University"
I am now pursuing a Masters degree in Environental Physics, at Bucharest University
I am working as self employed as an application developer.

Portfolio

Low Level Games Programming // C++

Ray tracing is a technique used in computer graphics, to render shadows, reflections and refract lights. Classic ray tracing shoots invisible rays from the camera and traces the path as they bounce from object to object.
The main areas of this project were the optimizations techniques through the use of kernel threads and user level threads, file reading and writing optimizations, and the low level memory managenent.
For the memory manager, I made use of the C style operators "malloc" and "free", that are used to allocate and deallocate chunks of memory. The memory manager helps developers to find memory leaks easier, or check if any variable is overwriten. We can create a header and a footer for the memory we create, that way we can declare an unused variable in the header and footer, and check if that variable has changed at any point during the program.
The optimizations techniques I used are mainly based on threads, and Parallel tasking. If the program runs sequentional, with only one thread working on all images, the program is slow. Adding more worker threads helps with the performance of the program.
Sequentional time: 120 seconds
/-/-/-/-/-//-/-/-/-/-//-/-/-/-/-//-/-/-/-/-//-/-/-/-/-/
Threads time: 9 seconds

A representation of the project I managed to create is available here:

3D // DirectX11 (Physics) // C++ // HLSL

The physics system I managed to create is a representation of forces applied to objects of different masses. The first cube has a thrust force applied to it from below, that launches it upwards when arrives in position(0,0,0), and another brake force that is applied in the opposite direction, so only gravity can affect it and bring it back to ground.
The second cube is a representation for Quaternion rotations.
Cube 3 and cube 4 are a representation of velocity and acceleration being applied. Cube 3 will move at the same speed whenever the button is pressed. Cube 4 will start moving slowly, and then increase its speed over time.
Cube 5 can be moved by player input, and can apply forces to the other game objects in the scene.
There are 2 types of collision detection implemented. AABB or axis aligned bounding box, which can be visible on screen through the collision resolution applied to other objects, and sphere collision which can be seen in the output window.

A representation of the game I managed to create is available here:

3D // DirectX11 (Graphics) // C++ // HLSL

DirectX is a collection of APIs that you can use to create games and high-performance graphics applications. DirectX11 graphics includes support for both 3D and 2D graphics. Direct3D is an industry standard, low-level graphics API, used to draw primitives through the rendering pipeline, and enables us to render 3D worlds using 3D hardware acceleration. The main competitor to Direct3D is OpenGL, because both APIs are commonly used to create graphics for Windows PC.

The DirectX project I managed to make is a representation of a 3D scene, that contains 4 objects. I made a real life cube out of paper to be able to visualize and understand the vertices.

On paper, I have drawn the wall's vertex coordinates, normals, and texture coordinates. The floor is scaling up and down constantly, due to the time period passed since the last frame (delta time); At first, I implemented the scaling into the shader calculations, all objects in the scene suffering the transformation.

For the airplane, we have been given an OBJ loader and the airplane model. The pyramid is rotating around a pivot of coordinates(0,0,0).

For the lighting calculations, we needed to have a look at the vertex and fragment shaders, and alter which variables get passed in the constant buffer, and use them to calculate the ambient, diffuse and specular lights. Intellisense does not recognise HLSL code, which makes it harder to find errors. Towards the end of the semester, we found that there is an extension that can be applied to Visual Studio, that helps developers find errors easier.

A representation of the game I managed to create is available here:

Task based software engineering // C# // WPF // F#

This project was about designing a C# application that can deal with a large amount of data query the data and make calculations based of the required data type.
the project presents is a simple data reading algorithm, which calculates the sum between elements of a list, depending on what the consumer wants to know.
For example, the consumer might want to find the cost of all orders available in the supplied data, or the cost of the orders for a supplier type, in a week for a specific location. To do the calculation for every order, a “Parallel.ForEach” does the job, if it has the reference to the correct set of data.
The easy way to do it is to use the correct override method and reference the “orders” list where the data is stored and use a “Lambda” expression for performing the equation for sum. The problem comes when different threads try to access the same variable at the same time, and different sums are shown at the end of each run.

I started with a console output, where the user can select what information he wants to access, then I implemented the functionality to a WPF GUI.

A representation of the game I managed to create is available here:

Mario // C++

In the first year, during the second semester at Staffordshire University, we have been required to create a 2D game in C++, using SDL 2.0, that is simmilar to Mario Bros. A simple 2D game, with different levels, enemies, tasks, or with an implemention of textures or animations. I managed to create a similar experience with the actual game, by using similar textures, but I have added my original ideas, such as a puzzle(level 2), and pixel art textures created by me.(grass, brick)

A representation of the game I managed to create is available here:

Pacman // C++

In the first year, I learned bit-by-bit how to create a 2D game, a representative game, "Pacman". I remember that when I made pacman move up, down, left, and right, I was so excited to learn how to improve the project, by implementing the ghosts, the menus. For this project we used the library S2D, which helped us with the window handling, input controls, audio, and drawing objects in 2D. To draw the map, I used pen and paper to get the correct coordinates for the walls, and set the munchies on positions where the player can get achieve them.

A representation of the game I managed to create is available here:

Server-Chat architecture // WPF // C#

WPF (WINDOWS PRESENTATION FOUNDATION), is a UI framework that creates desktop applications, or a server-client architecture. The framework has a similar interface experience with other .NET frameworks, so if you have previously worked with applications that are using ASP.net, Windows Forms, XML or HTML, the programming experience should be familiar. Syntactically, the language might be slightly different, for some of the wording, but the layout should be common. WPF uses the Extensible Application Markup Language (XAML), and can be used to display graphics, can be used to layout the features that you might want to implement. WPF can be used for a lot of different areas, such as chat communication, 2D and 3D graphics, the relationship between video and animation, data binding, styles and control templates.
At first I started with a simple console application, where a person was able to communicate with a computer.

Then I made a simple GUI, with multiple instances (chats), where you could enter a name and connect to the server. Messages that are sent by a user can be seen across the other clients.

A representation of the game I managed to create is available here:

3D // OpenGL // C++

3D OpenGL is a pretty hard to understand framework, in which you can add, change, move objects around the scene, objects that can have different colors, textures, dimensions, or objects that can have their size changed from the scene. Lights and materials are important features for a game scene, features that can give your game a better perspective of a scene. OpenGL can be used to create a custiomizable game engine.

A representation of the game I managed to create is available here:

Side projects

1. Find and Replace in multiple EXCEL files

The idea behind this project was that I had been assigned to replace a specific generic sentence with another similar one, in more than 500 ".xls" files. Windows lets you open 10 files at a time, which takes time as well, in adition to the time it would take to find and replace manually using the built in function.
This is where I got the idea to create an application where you can select a folder where you have all the Excel files, opens each one, and if there is any cell value matching with the word we are looking for, it would change it to the other one.
This app will save a lot of time, since it takes only a few seconds to open the folder that contains all the files.
The program creates a copy of each files in case anything goes wrong, so they can be reverted to original.

A video of the app working:

2. Generic website with included meeting scheduler

I have been suggested a project idea to create a link that people can access anytime and schedule a meeting with a doctor, barber, shop, or any other type of business that requires meetings. To access the website CLICK HERE
The information on the website can be changed to match someone else's expectations, as well as the structure or design of the website.

The idea of this project was to implement the meeting scheduler, and to make it work without direct access to the customer's email account. This way, I can create a new workspace on my Microsoft account, asign the staff privileges based on the email address and share the booking page with customers.
The workspace has multiple options when it comes to assinging staff members, sending emails to the staff and customers such as reminders or feedback.

3. Schedule application demos

I have created a few demos for different clients as collab proposals. Different designs for the scheduling application:

Skills

One of the skills I am most confident with, is programming in C++. I started with learning pseudocode for C++, in order to understand the logic behind the program. When I got my PC during high-school, I had no idea what a computer was or how it worked, but the problem solving skills developed during my education years helped me comprehend quickly the basics of the C++ programming.
I started by learning simple management of different variables types, and then perfectining on manipulating different kinds of collections. The final exam for programming is structured in 3 sections.
The first one is more about solving mathematical problems such as simple integer calculations, recursion, nodes, binary trees, and string manupulation, and with multiple choices with no solving required .
The second section is more focused on solving and writing both C++ and pseudocode to achieve the wanted result. This secton is where the imagination and problem solving skills are handy.
The last section is focused heavily on writing object oriented code and optimization. It is very important to understand each problem's starting values and solving requirements.

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

											while (!deck.isInOrder()) {
												print 'Iteration ' + i;
												deck.shuffle();
												i++;
											}

											print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form