Posts

Design of an Internet Banking System with AWS

Design of an Internet Banking System with AWS by Fausto Iván Zamora Arias In today’s digital era, online banking systems have become essential for delivering secure, efficient, and user-friendly financial services. This article presents a comprehensive design for a modern Internet Banking System, leveraging proven cloud technologies and architectural best practices. By breaking down the system through multiple levels of abstraction—from high-level context and container diagrams to detailed internal components—you’ll discover how each part interacts to provide seamless authentication, robust transaction handling, multi-channel notifications, and reliable data auditing. Whether you’re a developer, architect, or simply interested in fintech, this overview offers valuable insights into building scalable and secure banking solutions. Level 1: Context Diagram The system interacts with 7 main actors: Bank Client: End user who accesses services thro...

Improving LLMs CAG with accumulative knowledge using RabbitMQ, Ollama and Gemma3

Image
Improving LLMs CAG with accumulative knowledge using RabbitMQ, Ollama and Gemma3 Why RabbitMQ ? Thinking about an LLM that will receive a lot of messages from everywhere means that you need to keep track of its messages and responses so the context could be understood on the whole conversation. Remember that it can't be just a stream every time; sometimes users would appear after days or months, and the sense of knowing the person should be stored. Now, storing is just one part of the solution for retaining context. We all have heard about RAG and CAG, but what happens if I need to store the information in real-time? You know, users keep sending messages. So the saving and retrieving messages would be blocking the AI's response time. Therefore, I figured why not use a queue system that notifies a consumer about new messages, stores them in a DB, so t...

Exploring LLMs with Ollama and Llama3

Image
I am going to use NodeJs and Windows 11 , however everything here should be the same for Linux or Mac , I just like my Windows machine for personal use. Steps to install the LLMs: 1) Install OLLAMA : this can be done by going to the ollama website https://ollama.com/ or using curl liek this: curl -fsSL https://ollama.com/install.sh | sh 2) Pull LLama3 with OLLAMA Ollama works something like a package manager but for LLMs , so to download LLAMA3 use the following command: ollama pull llama3 3) After doing so you can use Llama3 on your terminal ollma run llama3 "make a helloe world in C++" Steps to use it on usefull scenarios: 1) setup a nodejs/nmp project mkdir personal-llama cd personal-llama npm init -y we need to install ollama which is a client for the ollama server that we are running on the same machine sqlite3 because I want to have some personal data inside the ollama so it can execute responses based on me. chalk for nice l...

For education only: NFT bots for your Wallet

Image
 So I had this friend who was pretty upset because every time he wanted to do an offer on Opensea a bot took it , and as you could imagine it was "blazing fast". Which made me think, as someone who do computers for a living, how to make an NFT bot which makes offers and buys NFTs in real time? Well I dont know much about NFTs, but I love programming crasy experiments, so I decided to use NodeJs and ask the AIs how to do it, to be fair vibe coding but a story to tell. So I started by looking into ChatGPT , which sugested some alternatives but not a direct script, you know it seems like it learned to just give hints on crypto stuff.  Then I asked DeepSeek which was way more efficient on code and an actual division of buying and offering. Well what did I found ? First is the Ethers library    which is a library to manage etherium and ilk , which means the way you create a wallet instance  this.provider = new ethers.provide...

Analysis of dark patterns in League of Legends and Star Wars:Battlefront II with the usage of Loot Boxes

The following analysis was done originally as an assignment for the Introduction to Game Research course at University of Gothenburg, first section fall 2019. The Darkness of a game design and its consequences revealed: Analysis of dark patterns in League of Legends and Star Wars:Battlefront II with the usage of Loot Boxes In some video games there are practices that are ethically questionable, which makes them go against what the player expects from the games. These practices of going against the player are called Dark Patters   (Staffan Björk) . As they are ethically questionable, I think it is good to identify (reveal) some of these patterns in games, which are currently very much played, and also reveal their current consequences. In specific, my analysis is going to consist in how League of Legends   (RIOT games, 2009) and Star Wars: Battlefront II   (Electronic Arts, 2017) have some characteristis that could mean that they are ussing the Grinding , M...

What is Rust ? How to start ?

Image
 Rust ? what is Rust? How to start? As you might already know Rust is a programming language targeted for low-level development , systems programming, web assembly, and also all related to networking. Nevertheless, there are frameworks and libraries that let you do web development with Rust. So lets start with an example to understand Rust , which usually helps programmers to udnerstand code by practice. Setup Rust in your computer  First install Rust by the following official website . Then use cargo to create a new project "cargo new new-project" Finally, you will see that a new folder with the name of your project has been created Start programming The goal for this example would be to obtain random names and save them into a json file. As the default main.ts file is shown  inside your project folder src , you will see a main function, which works as in C/C++ so your app will be executed in this function.  For this example I will create a console app so I will n...

Introduccion a la arquitectura de juegos de video / Introduction to Game Engines architecture

Image
  This post is in English and Spanish as the conference I participated in was in Spanish as it was organized in Ecuador. Spanish Hace unos meses tuve la oportunidad de dar una charla sobre la arquitectura de juegos de video , ejemplos y temas importantes para el desarrollo de juegos de videdo. Cabe mencionar que me enfoque en temas que siento que son mas importantes para ingenieros que quieren adentrarse en el mundo de los juegos de video, pues para mi punto de vista enfocar en graficas, fisicas y animaciones puede caer en temas de arte pues los autores generalmente muestran ejemplos de meshes y esqueletos en motores de jeugos. Entonces enfoque mi charla en temas como AI, Networking, y la base de los motores.  Entonces para gente que sepa de ciencias computacionales se les haria mas divertido entender los juegos de video. English A few months ago I had the opportunity to give a talk on video game architecture, examples, and important topics for video game development. It is wo...