eprints (HSR Hochschule für Technik Rapperswil)
Not a member yet
    1196 research outputs found

    Monad Torrent

    No full text
    Introduction: The BitTorrent protocol revolutionized peer-to-peer file sharing by enabling efficient and decentralized data distribution. This project, developed by Fadil Smajilbasic and Davor Lucic, explores the implementation of a simple BitTorrent client using the Haskell programming language. By using Haskell's robust functional programming paradigms, this project aims to provide educational approach to understanding how BitTorrent clients can be used to download files. Alongside the implementation, the project includes a simple, step-by-step guide to empower others to build their own BitTorrent clients, demystifying the technical complexities of this widely used protocol. This project aims to shed some light on Haskell's versatility and another practical use of the language outside of academics. Objective: The primary objectives of this project encompass a combination of technical development, organizational discipline, and educational outreach. Effective project management and time tracking are central to ensuring that the development process remains structured. A key focus is on delivering a functional and usable BitTorrent client, showcasing a practical application of the Haskell programming language in network programming. Additionally, the project aims to produce a comprehensive and accessible guide that simplifies the process of building a BitTorrent client, enabling others to replicate and expand upon the work. These objectives collectively ensure a well-rounded project that balances technical achievement with educational value and professional practice. Approach: For the development of we decided to take inspiration on a pre-existing guide developed by a team at codecrafters.io and the Brick library for the terminal UI. This guide helped us to comprehend the challenge and more easily use Haskell to solve the objective of this project. Further details about the technologies used can be found in our documentation

    Radius Server Implementation to existing SSL-VPN Solution

    No full text
    To enhance the SSL-VPN infrastructure at a huge, international company, this project implemented FortiAuthenticator as a centralized AAA server within the Fortinet Security Fabric. Key goals included integrating multi-factor authentication (MFA) with FortiToken, enabling user-based policies, and ensuring compatibility with FortiGate firewalls. Additionally, SAML authentication via FortiAuthenticator was explored as a cost-efficient and user-friendly alternative to FortiToken, aligning with modern security standards and operational needs. The implementation of FortiAuthenticator successfully enhanced the SSL-VPN infrastructure, meeting key objectives of improved security, scalability, and user-based access control. The integration of multi-factor authentication (MFA) with FortiToken performed well. The SSL-VPN configuration was also tested with FortiAuthenticator as a SAML proxy for MFA, demonstrating that this approach also worked effectively within the infrastructure. The deployment of FortiAuthenticator in a high-availability (HA) cluster ensured redundancy and reliability. Additionally, the transition from IP-based to user-based policies improved flexibility and consistency in access control. Pilot implementations confirmed the system’s effectiveness, resolving minor configuration issues and establishing a scalable framework for broader deployment. The project successfully modernized the companies SSL-VPN infrastructure by implementing FortiAuthenticator and transitioning to SAML authentication via Microsoft Entra ID. While the FortiToken-based OTP solution performed well, SAML was chosen for its equal security, better cost-efficiency, and improved user experience. The high-availability deployment and adoption of user-based policies ensured robust and flexible access control. With the pilot's success, the company is well-positioned for a global rollout, reinforcing its commitment to secure and efficient remote access

    Der digitale Kostümfundus

    No full text
    Im Fokus der vorliegenden Arbeit stehen die beiden Auftraggeber Bühnen Bern und das Luzerner Theater, sowie der Fundus von SRF (Schweizer Radio und Fernsehen) als zusätzlicher Praxispartner. Für Theater-Aufführungen werden Kostüme extra neu hergestellt – in Bern sind das pro Jahr ca. 1’000 Kostüme. Nach den Aufführungen werden diese in den Kostümfundus verschoben. Der Kostümfundus wächst so über die Jahre zu einer beträchtlichen Grösse an und beherbergt zum heutigen Zeitpunkt in Bern und Luzern je ca. 30’000 Kostüme. Das Wissen über die Kostüme und den Fundus befindet sich in den Köpfen von einzelnen Personen. Die ganzen Prozesse rund um den Bereich Kostüm und Kostümfundus sind hauptsächlich analog. Das Projektteam legt den Schwerpunkt der Arbeit auf einen zentralen Kostüm-Finder, dem «Kostüm+». Dabei handelt es sich um ein Digitalisierungsprojekt eines analogen Prozesses. Innerhalb der Masterarbeit soll untersucht werden, wie eine für Theater und andere Institutionen übergreifende, zentrale Lösung die Kostümfundus Verantwortlichen unterstützen kann. Im Zentrum steht die Inventarisierung, Suche und Ausleihe von Kostümen. Nachhaltigkeit und Vernetzung der Institutionen stehen dabei als übergeordnete Leitgedanken über der Arbeit. Die Transparenz sowie die Zugänglichkeit zum Knowhow rund um die Kostüme im Fundus sollen erhöht werden. Die vorliegende Arbeit orientiert sich an dem Vorgehensmodell Contextual Design von Beyer und Holtzblatt. Das Projektteam startet mit einem aufwendigen Research in die Arbeit. Aus den konsolidierten Ergebnissen werden Produktideen für den Bereich Inventarisierung, Suche und Ausleihe entwickelt. Die Produktkonzepte werden drei Testings unterzogen. Gestartet wird in die Testings mit Handskizzen und einem Hallway-Test, zumeist mit Laien. Die beiden weiteren Testings werden in den Institutionen mit Fachspezialisten durchgeführt. Zuerst mit einem Wireframe Prototypen und in der zweiten Testing Runde mit einem Design Prototypen. Einen guten digitalen Kostüm-Finder zu entwickeln, reicht aber nicht aus, um Prozesse im Fundus des Theaters zu verändern. Es braucht hier Personen, die eine Veränderung anstossen wollen und diese Veränderungen auch tragen. Die Digitalisierung des Kostümfundus kann in mehreren Etappen umgesetzt werden. Dabei soll mit der Inventarisierung gestartet werden, da alle anderen Prozesse von den digital erfassten Kostümen abhängig sind. Zusätzlich wird den Praxispartnern eine Checkliste für eine Umsetzung des Projekts an die Hand gegeben, um eine mögliche Hemmschwelle für den Umsetzungsprozess zu minimieren. Das Projektteam startet ohne Vorwissen in das Thema «Digitalisierung des Kostümfundus» und überwindet die anfängliche Skepsis der Praxispartner. Im Verlauf gelingt es, Begeisterung zu wecken und die Vorteile der Digitalisierung aufzuzeigen. Die Zusammenarbeit im Viererteam ist stets positiv, zielorientiert und produktiv. Das Thema interessiert alle vier Teammitglieder, da mit dem Projekt in der Theaterlandschaft etwas bewegt werden kann, sei es in der Nachhaltigkeit oder auch in den Arbeitsprozessen. Das Projektteam kann seine zu Beginn definierten Lernziele erreichen und hat ein neues Vorgehensmodell kennengelernt. Dieses bietet eine gute Orientierung während des Projektes mit dem nötigen Freiraum für die Anwendung passender Methoden

    Limbic Chair Anwendung

    No full text
    Einleitung: Der Limbic Chair ist eine innovative Sitzlösung von Limbic Life. Er nutzt Sensortechnologie, um durch Bewegungstracking die Interaktion mit dem Benutzer zu verbessern. Diese Bachelorarbeit untersucht die Entwicklung eines fortschrittlichen Softwaresystems, das die Funktionalitäten des Limbic Chairs durch die Nutzung seiner integrierten Sensoren erweitert. Der Stuhl ist mit sechs Sensoren ausgestattet, die verschiedene Beinbewegungen überwachen und aufzeichnen. Insbesondere erfassen die linken und rechten Pitch- Sensoren die vertikalen Bewegungen der Beine, während die linken und rechten Yaw-Sensoren die seitlichen Beinbewegungen verfolgen. Darüber hinaus messen die Roll-Sensoren auf beiden Seiten die Rotationsbewegungen des Stuhls. Ziel dieses Projekts ist es, diese Sensoreingaben in eine Softwareplattform zu integrieren, die ein erweitertes Benutzererlebnis bietet und den Weg für innovative Anwendungen in Bereichen wie Gesundheit und Gaming ebnet. Der Entwicklungsprozess, die Systemarchitektur und die potenziellen Anwendungen des erweiterten Limbic Chairs werden in dieser Arbeit aufgezeigt. Vorgehen / Technologien: In der heutigen Zeit sitzen viele Menschen aufgrund ihrer beruflichen und privaten Aktivitäten zu lange, was nachweislich negative Auswirkungen auf die Gesundheit hat, wie Rückenprobleme und schlechte Körperhaltung. Diese Bachelorarbeit zielt darauf ab, dieses Problem anzugehen und eine Lösung zu entwickeln, die zu mehr Bewegung im Sitzen anregt. Eine umfassende Recherche und Analyse wurden durchgeführt, um die gesundheitlichen Auswirkungen von übermässigem Sitzen zu untersuchen und bestehende Lösungen zur Bewegungsförderung am Arbeitsplatz zu analysieren. Basierend darauf wurde der Movement Score entwickelt, der verschiedene Parameter zur Berechnung der Bewegung des Nutzers heranzieht. Ein Algorithmus berechnet den Score kontinuierlich basierend auf den getrackten Bewegungen. Zur Erhöhung der Attraktivität des intelligenten Stuhls wurden zwei interaktive Bewegungsspiele entwickelt, die den Stuhl als Controller nutzen. Im Raketen-Spiel steuert der Benutzer eine Rakete, während er im Jump-and-Run-Spiel einen Charakter durch eigene Bewegungen im Stuhl steuert. Diese Spiele sollen zu mehr Bewegung motivieren und gleichzeitig Spass bieten. Ergebnis: Das Usability-Testing zeigte, dass Benutzer sich deutlich mehr bewegten, sobald sie sich des Movement Scores bewusst waren. Der Score stieg schnell an, da Benutzer motiviert waren, ihren Punktestand zu verbessern. Die Nutzung der Bewegungsspiele führte zu gemischten Ergebnissen: Einige spielten bis zu 15 Minuten, andere nur kurz. Ein weiterer positiver Effekt war das gesteigerte Bewusstsein der Benutzer für ihre täglichen Aktivitäten. Viele versuchten, sich auch im Sitzen mehr zu bewegen. Bei Aufgaben mit hoher Konzentration wurde der Movement Score jedoch häufig ignoriert, während bei leichteren Tätigkeiten wie Meetings eher passive Bewegungen in den Alltag integriert wurden

    Document Management using Large Language Model

    No full text
    Initial Situation: The management and retrieval of documents can be challenging due to the unstructured nature of their content. Traditional search methods, which rely on document names, are often inefficient and ineffective. With the rise of Transformers-based Large Language Models (LLMs), which sig- nificantly enhance our everyday tasks, there is an opportunity to improve the search and man- agement of these documents. The integration of LLMs can transform unstructured data into structured metadata, making documents more accessible and organized. Objective: Within the scope of this project, we aim to build a Single Page Application of this type. We created this prototype application, which is able to store, read, and process PDF documents with unstructured data and generate metadata using an LLM. This metadata improves document search and management, as well as streamlines repetitive tasks such as sending an email reminder to a customer. The prototype is designed to be easily expandable to facilitate the continuous development and implementation of new features. Conclusion: In this project, we developed a prototype application utilizing React and TypeScript for the frontend while using NestJS with TypeScript for the backend. We integrated external services such as Hugging Face and Zapier. The application enables users to upload PDF documents, extract a suitable title, summary, and tags using a Large Language Model (LLM), and search for docu- ments based on this metadata. Additionally, it includes a feature for sending email reminders to customers for specific files. Designed with scalability in mind, the application allows for the easy addition of new features in the future, such as integrating various file types like pictures,which could utilize the LLM. This proof of concept demonstrates the potential of using LLMs to enhance document management and retrieval

    API Security Lab

    No full text
    APIs (Application Programming Interfaces) are integral to modern software development and digital transactions, facilitating communication and data exchange between diverse systems. However, their widespread use has made them prime targets for cyberattacks. Many APIs are developed rapidly without sufficient security measures, leading to vulnerabilities such as weak authentication, data exposure, inadequate logging, and poor error handling.The bachelor thesis aims to develop labs in API security for future OST Hacking-Lab students to raise awareness of risks. The research phase extensively examined API history, styles, and security fundamentals. Key areas such as threat identification, authentication methods and the OWASP Top 10 API Security Risks 2023 were explored. This foundational research informed the collection and categorization of lab ideas, which were then evaluated using a decision matrix based on feasibility, educational value, and expandability criteria. A proof of concept (PoC) phase validated the feasibility of each lab, followed by iterative improvements based on detailed feedback from usability testing. Participants evaluated the labs on setup difficulty, usability, design, and realism, leading to enhancements that ensured an effective learning experience. The project successfully developed six labs covering most OWASP Top 10 API Security risks. Each lab provided hands-on experience identifying and mitigating these vulnerabilities through practical exercises using tools in a containerized environment. To enhance the educational value, future expansions could include additional labs to cover remaining OWASP risks and specialized areas like cloud provider APIs and advanced OAuth2 authentication flows

    Design and Implementation of an OS for Use in the Operating Systems Lecture Track

    No full text
    This paper examines all aspects of memory management in a custom operating system. The goal is to create a foundation for an interactive learning tool to be used in the "Operating Systems 1" and "Operating Systems 2" lectures at OST. Topics covered include parsing Multiboot2 information, implementing frame allocation and page tables, and using these components to remap the kernel. Based on this, dynamic memory allocation during kernel runtime was implemented using different allocation strategies. The objective of this work is to develop a modular and extensible memory management system encompassing physical and virtual memory management as well as heap management. This provides a robust foundation for extending other kernel components while serving as a learning platform for hands-on exploration of operating system concepts. The developed operating system includes: - Physical memory allocator: Manages the allocation and deallocation of physical memory, including a simplistic version without deallocation functionality. - Virtual memory management: Implements multilevel page tables to separate logical and physical address spaces. - Heap memory allocator: Enables dynamic memory allocation within the kernel heap. This foundation can be extended in the future to include additional kernel functionalities and to expand the feature set of the existing memory management system

    Mondriλn: A Visual Programming Language Based on the Lambda Calculus

    No full text
    The lambda calculus is a core part of every functional programming class. However, students often find it difficult to grasp, especially the process of beta reduction. Hence, representing lambda terms and the beta reduction process visually could improve its comprehensibility to students and motivate them to learn more about the subject. The goal was to design a visual language for the representation of lambda terms which can aid students’ understanding of lambda calculus. In addition, the language aims to be visually pleasing, simple to draw and reason about on paper, and straightforward to read for humans. A proof of concept application should be created to ensure that the implementation of this language is feasible. The team conducted research about existing visual esoteric programming languages and visual lambda calculus representations. The results of this research influenced the design of the language. Additionally, the SVG format was chosen for storing the visual representations. Mondriλn uses coloured rectangles and their relative positions to represent lambda terms. This design was inspired by the Dutch painter Piet Mondrian. The language allows for artistic freedom without sacrificing its understandability. Furthermore, it is able to represent all lambda terms, only limited by the number of colours displayable on screens. The proof of concept application is implemented as a command line tool and supports generating images from lambda terms, parsing a lambda term from an image and performing beta reduction on them. This proves that it is possible to implement the language we envisioned. Mondriλn appears to make lambda terms simpler to understand, particularly when it comes to the beta reduction process. While the language shows promise, its potential usefulness to students remains an open question. Further evaluation is needed to determine how effectively it can aid students’ understanding of lambda calculus, with a particular focus on the beta reduction process. Some unresolved issues remain in the proof of concept application, for example, when handling large lambda terms. A next step to improve the usability of the system could be to develop a web-based interface, which could also offer additional features. Overall, this project provides a good starting point for further development. By addressing the aforementioned limitations and opportunities for enhancement, the system can become even more usable and effective

    Entwicklung eines Dashboards für das digitale Produktionsmanagement im industriellen Umfeld

    No full text
    Die SFS Group Schweiz AG ist ein international tätiger Industriekonzern, der sich auf die Entwicklung und Herstellung von Präzisionskomponenten und Baugruppen, mechanischen Befestigungssystemen, Qualitätswerkzeugen und Bewirtschaftungslösungen spezialisiert hat. Mit rund 13.200 Mitarbeitenden weltweit hat das Unternehmen seinen Hauptsitz in Heerbrugg. In den globalen Produktionswerken der SFS Group AG werden täglich eine Vielzahl von Kennzahlen erfasst, um die Leistung der Produktionsanlagen zu überwachen und zu optimieren. Diese Daten werden in Echtzeit erfasst und in einem zentralen System gespeichert. Zur Analyse und Überwachung der Kennzahlen kommen verschiedene Applikationen zum Einsatz. Ziel dieser Studienarbeit ist es, die Nutzung dieser Kennzahlen durch die direkten Führungskräfte der Produktion zu fördern. Um dieses Ziel zu erreichen, sollen bestehende Applikationen erweitert oder ein Prototyp für eine neue Applikation entwickelt werden. Zu Beginn der Arbeit wurde eine umfassende Analyse der bestehenden Kennzahlen und der genutzten Applikationen durchgeführt. Parallel dazu wurde die Nutzung der Kennzahlen durch die Führungskräfte untersucht. Im Rahmen eines ausführlichen Contextual Inquiry wurden die Anforderungen, Arbeitsabläufe und Problemstellungen der Führungskräfte an verschiedenen Produktionsstandorten ermittelt. Basierend auf diesen Erkenntnissen wurden ein Affinity-Diagramm sowie mehrere Personas erstellt. Die Personas halfen dabei, die Anforderungen der Führungskräfte zu strukturieren und zu priorisieren. Aus diesen Anforderungen wurden verschiedene Lösungsideen abgeleitet, von denen eine zur Umsetzung in einem Prototyp ausgewählt wurde. Die Entscheidung fiel auf die Entwicklung einer Webapplikation zur digitalen Durchführung der Teammeetings. In enger Zusammenarbeit mit dem Auftraggeber wurden die Requirements definiert, um die Nutzerbedürfnisse optimal zu erfüllen. Zur strukturierten Entwicklung des Prototyps wurden mehrere Wireframes erstellt, die als Grundlage für die Implementierung dienten. Im weiteren Verlauf der Arbeit wurde ein Prototyp entwickelt, der die digitale Durchführung von Shopfloor-Meetings ermöglicht. Ein zentrales Element der Applikation ist die Möglichkeit, personalisierte Dashboards zu erstellen, die den Führungskräften die wichtigsten Kennzahlen übersichtlich präsentieren. Der Inhalt der Dashboards kann von den Führungskräften individuell in Form von Widgets angepasst werden. Diese Widgets sind in ihrer Grösse und Anordnung flexibel, wodurch eine benutzerfreundliche und anpassbare Darstellung gewährleistet wird. Die Evaluation des Prototyps erfolgte durch einen Usability-Test und ein abschliessendes Gespräch mit dem Auftraggeber. Dabei wurde geprüft, ob der Prototyp die definierten Anforderungen erfüllt und mit der im Vorfeld erarbeiteten Beschreibung des Minimum Viable Product (MVP) übereinstimmt. Die Ergebnisse zeigten, dass die definierten Anforderungen erfüllt wurden. Dies bestätigt den Erfolg der entwickelten Lösung und bietet eine solide Grundlage für eine mögliche Weiterentwicklung

    Rapid Prototyping in TypeScript

    No full text
    Building a fullstack web application with NodeJS in today’s landscape of countless frameworks and libraries can be daunting. Which ones should be chosen? How to configure the chosen libraries so that they work together seamlessly rather than against each other? Many technologies and libraries feature a simple "hello world" tutorial but combining the technologies together to craft a powerful fullstack web application is not straightforward. The lack of a good introduction to a new technology slows down the development process and distracts developers from focusing on what truly matters: building features. For this purpose we developed an approach with rapid prototyping. Our proof of work focuses on fast development without the need of always adapting the API when changes are made. Our approach to rapid prototyping is based on a GraphQL API that supports code generation with the help of TypeGraphQL-Prisma, which creates the resolvers for create read update and delete operations for each data model out of the box. To bring rapid prototyping to the developers, we created an easy to understand tutorial with Docusaurus, a static website generator that makes it easy to build documentation-focused web applications that are accessible and engaging, that we refined based on feedback we gathered from user testing. The tutorial demonstrates our technologies in a realistic and easy to understand example application where you can make ticket reservations for a cinema chain

    549

    full texts

    1,196

    metadata records
    Updated in last 30 days.
    eprints (HSR Hochschule für Technik Rapperswil)
    Access Repository Dashboard
    Do you manage Open Research Online? Become a CORE Member to access insider analytics, issue reports and manage access to outputs from your repository in the CORE Repository Dashboard! 👇