Giter Club home page Giter Club logo

Good thoughts 🖖

Hi there! My name is Daniel.

Contact me ✍

Drop me a note or get in touch with me: Google Form.

Projects 📋

Here are some projects I've been working on. You can also play TeTwix, a nice game developed by me and a colleague 🎮.

TeTwix

Tetris GamR (Game Resurrection)

The game proposes a modern version of Tetris, it supports multiplayer game modes, while user(s) are able to use natural I/O devices and interaction methods such as: gestural (Leap Motion), locomotion (Makey Makey), etc. The game is attractive for various population segments and can be used as a means for having fun or to carry out cardio exercises, a serious game, and many others.

Tech: JavaScript, HTML, CSS, Leap Motion Controller, Makey Makey

Company Classification

GitHub repo: https://github.com/danielamariei/company-classification

  • Exploratory Java application for indexing a corpus of articles and searching companies in the corpus of articles using different strategies
  • Exploring the use of Lucene for indexing text and searching the index using various Query techniques
  • Fine-tuning for optimal results is required and is context-dependent
  • Please take into consideration that this is a specific use-case and the same technique/approach can be used in other contexts (e.g., DNA sequencing, finding specific faults in sets of wafers to be inspected, etc.)

Tech: Java, Spring, Spring Boot, Lucene, Gradle

Points Distance

GitHub repo: https://github.com/danielamariei/points-distance

Point Distance calculation on a large corpus of input points using different approaches. Determines the optimal set of points according to predefined metrics (i.e., closest, farthest to the reference point). Provides different proximity calculator possibilities (e.g., Priority Queues, Sorting, etc.); abstracts different strategies. Ability to read the points from different sources: binary file, JSON, etc. Provides support for reading the input in a lazy fashion through iterators.

Tech: Java, Spring, Spring Boot, Gradle

Product Ratings

GitHub repo: https://github.com/danielamariei/product-ratings

  • Java Application that reads a large corpus of product ratings, processes them, and computes relevant metrics.
  • Uses the Java API for Bean Validation (JSR 380) to ensure that fields meet specific criteria in a declarative format.
  • Ability to read the points from different sources: binary file, JSON, etc.
  • Provides support for reading the input in a lazy fashion through iterators.
  • Optimally determines the top k best rated and worst rated products by using a Priority Queue.

Tech: Java, Spring, Spring Boot, Gradle, Java API for Bean Validation (JSR 380)

Clothing Ontology

GitHub repo: https://github.com/danielamariei/clothing-ontology

The purpose of this ontology is to create the common conceptual framework for 'talking' about clothing and/or related concepts. This should provide a common vocabulary for this domain.

Tech: OWL 2 Web Ontology Language, SPARQL Query Language for RDF

Semantic Clothing

GitHub repo: https://github.com/danielamariei/semantic-clothing

Semantic Clothing Web Application that enables the selection of different clothing items based on the existing wardrobe. Some people have difficulties when choosing the right vestment for a certain type of event (i.e., interview, dinner party, show, etc.). The purpose of the project is to create an Web Application that enables the selection of different clothing items based on the existing wardrobe; the information of interest can be obtained from DBpedia or Freebase. The application will offer suggestions that take into account the fashion proclivity, the season, or different preferences that the user has. Moreover, the user will be able to receive information regarding the purchasing of different items of interest, taking into account its geographic localization.

Tech: REST, RAML, OWL 2, SPARQL, Stardog, Scala, PHP, JavaScrip, HTML, CSS

Databases Ontology

GitHub repo: https://github.com/danielamariei/databases-ontology

The purpose of this ontology is to create the common conceptual framework for 'talking' about databases and/or related concepts. This should provide a common vocabulary for the domain. The results are captured in the following paper: S. C. Buraga, D. Amariei and O. Dospinescu, "An owl-based specification of database management systems," Computers, Materials & Continua, vol. 70, no.3, pp. 5537–5550, 2022.

Tech: OWL 2 Web Ontology Language, SPARQL Query Language for RDF

Databases Ontology Demo App

GitHub repo: https://github.com/danielamariei/databases-ontology-demo-app

The purpose of this application is to provide a demo for the usage of the Database Management Systems Ontology (DBMSs Ontology) ontology. It provides an interactive comparison of different characteristics of interest for several databases.

For more details regarding the DBMSs Ontology please consult the dedicated repository: https://github.com/danielamariei/databases-ontology/.

Tech: Node.js, Stardog, OWL 2, SPARQL

Movie Recommendation

GitHub repo: https://github.com/danielamariei/movie-recommendations

The implementation of a movie recommendation system on top of the Hadoop platform using Apache Pig and Apache Hive.

The purpose of this project is to provide movie recommendations based on the ratings made be multiple users. It uses a collaborative filtering algorithm in order to construct user profiles, detect the closest users and construct a set of movies that the users will most likey appreciate. The algorithm is based on the work presented in the following book (chapter 9): Title: Minning of Massive Datasets, Authors: Jure Leskovec, Anand Rajaraman and Jeffrey D, Ullman.

Input:

  • a CSV file with user ratings that has the following columns at least:userId, movieId and rating,
  • a CSV file with movie data that has the following columns at least: movieId and movieTitle,
  • the id of the user for which we want to make the recommendations,
  • the size of the sample from the ratings file on which we should base our algorithm.

Output:

  • a list of recommended movie titles.

Tech: Hadoop, Apache Pig, Apache Hive, Python

Talks 👨‍🏫

Monologue for the Cloud

Presentation: Monologue for the Cloud

The purpose of this presentation is to introduce the concept of Cloud computing. In order to accomplish this, we structured the presentation as follows:

  • Main characteristics: In this section, we describe the main characteristics that Cloud computing exhibits.
  • Architecture and service models: This section provides details regarding the architecture of the Cloud, together with the stack of service models.
  • Advantages. Disadvantages: In this section, we present the duality between the advantages and disadvantages of Cloud computing.
  • Cloud providers: We enumerate some of the most popular Cloud computing platforms. We conclude with a description of OpenStack, an open-source Cloud computing platform.
  • Do we use the Cloud?: In the final part of the presentation, we conclude with a description of several popular freely available web applications that are empowered by the Cloud.

#cloud-computing, #IaaS, #PaaS, #SaaS, #CloudComputing

Natural/unconventional interfaces and game resurrection

Presentation: Natural/unconventional interfaces and game resurrection

The purpose of this presentation is twofold. Firstly, we explore unconventional user interfaces (e.g. haptic, speech, olfactory, etc.) which become an increasingly prevalent mode of interaction. Secondly, we describe an open-source game (i.e. TeTwix, Website: https://github.com/danielamariei/tetwix) which proposes a modern version of the classical electronic game Tetris by adopting these new user interaction techniques.

  • Nontraditional interfaces: In this section of the presentation, we expose the main characteristics for each interaction method, as well as the general context which enables them to be used as a day-to-day technology. Several examples are also included.
  • Tetris GamR (Game Resurrection): We describe the main aspects of our developed game. As the game proposes a modern version of Tetris, it supports multiplayer game modes, while user(s) are able to use natural I/O devices and interaction methods such as: gestural (Leap Motion), locomotion (Makey Makey), etc. The game is attractive for various population segments and can be used as a means for having fun or to carry out cardio exercises, a serious game, and many others.

#HCI

RESTing on MVC using Node.js and Express

Presentation: RESTing on MVC using Node.js and Express

In this talk we review some of the basics aspects that we deal with when developing software for the World Wide Web (WWW). Some of the topics that are discussed include:

  • What a Pattern is and the different types;
  • The MVC Architectural Pattern;
  • The REST Architectural style;
  • The Node.js framwork;
  • Creating a basic application using Express.

#REST, #HTTP, #MVC, #Node.js, ##DesignPatterns

AOP Case Studies

Presentation: AOP Case Studies

In this talk with go over some Aspect Oriented Programming (AOP) case studies, together with some practical examples.

  • Using AOP with class hierarchies
  • Runtime measurement:
    • AOP
    • The classical approach

#AOP, #AspectOrientedProgramming

Erlang

Presentation: Erlang

The purpose of this presentation is to describe the Erlang programming language together with a few concepts that entail a better understanding of the context. The presentation will cover the following aspects:

  • consistency models and examples
  • concurrency and parallelism and the difference between them
  • concurrency models
  • the Actor mode
  • the Erlang programming language
  • programming examples

#Erlang, #ConsistencyModels, #Concurrency, #Parallelism, #ActorModel

Cppcheck Your Code

Presentation: Cppcheck Your Code

The purpose of this talk is to offer a concise view of program analysis, especially static program analysis, using Cppcheck as a tool. The presentation covers topic as follows:

  • the levels at which a program analysis can be performed;
  • program analysis and possible approaches in performing it;
  • Cppcheck presentation, both from an architectural and practical standpoints

Practical examples for the including, but not limited to:

  • out of bonds errors
  • unitialized variable error
  • unused function errors
  • unused variable errors
  • buffer overflow errros
  • using initialized memory only
  • must free the buffer after using it
  • detection of redundant conditional expressions
  • configuration possibilities

#program-analysis, #ProgramAnalysis, #Cppcheck, #cpp-check

Insufficient Process Validation

Presentation: Insufficent Process Validation

The purpose of this talk is to cover how Insufficient Process Validation occurs when a Web Application fails to prevent an attacker from circumventing the intended flow or business logic of the application [1]. For example, if the user state through a process is not sufficiently well verified, the Web Site is vulnerable to exploitation or fraud.

We cover practical examples that depict Insuficient Process Validation situations:

  • best-buy: Entering negative values on donation forms.
  • list: Listing directories without beeing authenticated.
  • youtube: Accessing restricted content.

#OWASP, #InsuficientProcessValidation

SQL Injection Tools: Pangoling and sqlmap

Presentation: SQL Injection Tools: Pangoling and sqlmap

The presentation introduce the following SQL Injection Tools: Pangolin and sqlmap. These are penetration testing tools that automate the process of detecting and exploiting SQL Injection vulnerabilities. Pangolin is a penetration testing, SQL Injection test tool for database security. Its main purpose is to detect and exploit SQL Injection vulnerabilities. Following the detection of SQL Injection vulnerabilities, the users have available a plethora of options to choose their further exploration, including:

  • perform a DBMS fingerprint;
  • retrieve DBMS session user and database;
  • enumerate users, password hashes, privileges, databases, etc.;
  • run specific SQL statements;
  • etc.

#OWASP, #SQLInjectin, #PenetrationTesting

w3af: Web Application Attack and Audit Framework

Presentation: w3af: Web Application Attack and Audit Framework

The presentation introduce the w3af Web Application Attack and Audit Framework. The project helps reduce a site's overall exposure by helping project developers detect more than 200 application vulnerabilities.

danielamariei's Projects

api-security-checklist icon api-security-checklist

Checklist of the most important security countermeasures when designing, testing, and releasing your API

awesome-cto icon awesome-cto

A curated and opinionated list of resources for Chief Technology Officers, with the emphasis on startups

awesome-sre icon awesome-sre

A curated list of awesome Site Reliability and Production Engineering resources.

guides icon guides

A guide for programming in style.

movie-recommendations icon movie-recommendations

The implementation of a movie recommendation system on top of the Hadoop platform using Apache Pig and Apache Hive.

papers-we-love icon papers-we-love

Papers from the computer science community to read and discuss.

points-distance icon points-distance

Point Distance calculation on a large corpus of input points using different approaches

tetwix icon tetwix

A modern version of the Tetris game.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.