Youtube Video Deck
![Youtube Video Deck screenshot](/assets/images/deck-6fd092348d866764826c25e4845a8988.png)
YouTube Video Deck is an alternative way to view your YouTube subscriptions!
To use the deck you need to sign in with Google. Since the app still has the testing status you need to be manually added to the test user group to be able to sign in. Please send your Google email to youtubevideodeck@svenkonings.nl if you want to try out the deck!
You can try it out online or view the source code on Github:
DCodR
![DCodR website screenshot](/assets/images/dcodr-cd1df9140475cfdc2d444d3828b4b06f.png)
DCodR is a simple site where you can combine several different (en/de)coding steps and then calculate the result, including support for brute-forcing. The current implementation is quite limited since only a few (en/de)coding algorithms are implemented.
The tool is available online and the source code can be found on Github:
JaCoMo
JaCoMo is a high-level, solver-independent, Java constraint model for constraint satisfaction problems in the integer domain. JaCoMo can be used to model constrain satisfaction problems and then solve them using different solver implementations. Currently, supported solvers are:
For more info, see Github:
ScalaMetrics
A metric analysis framework for Scala used to research multi-paradigm metrics. This framework has been developed as part of a Master's thesis.
Source code metrics are used to measure and evaluate the code quality of software projects. Metrics are available for both Object-Oriented Programming (OOP) and Functional Programming (FP). However, there is little research on source code metrics for the combination of OOP and FP. Furthermore, existing OOP and FP metrics are not always applicable. For example, the usage of mutable class variables (OOP) in lambda functions (FP) is a combination that does not occur in either paradigm on their own. Existing OOP and FP metrics are therefore unsuitable to give an indication of quality regarding these combined constructs.
Scala is a programming language which features an extensive combination of OOP and FP construct. The goal of this thesis is to research metrics for Scala which can detect potential faults when combining OOP and FP. We have implemented a framework for defining and analysing Scala metrics. Using this framework we have measured whether code was written using mostly OOP- or FP-style constructs and analysed whether this affected the occurrence of potential faults. Next, we implemented a baseline model of existing OOP and FP metrics. Candidate metrics were added to this baseline model to verify whether they improve the fault detection performance.
In the analysed projects, there was a relatively higher number of faults when mixing OOP- and FP-style code. Furthermore, most OOP metrics perform well on FP-style Scala code. The baseline model was often able to detect when code was wrong. Therefore, the candidate metrics did not significantly improve the fault detection performance of the baseline model. However, the candidate metrics did help to indicate why code contained faults. Constructs were found for which over half of the objects using those constructs contained faults.
For more info, see Github:
MAC Protocol Challenge
![MAC Protocol Challenge website screenshot](/assets/images/mac-abdcea5c82aa6fe8910ff55777c94d17.png)
Simulate Channel Access Methods and achieve the highest score! This project has been developed as part of a computer science education research. It has been used in a pilot with Dutch high-school classes.
During the challenge you simulate several systems that try to communicate with a router on the same wireless network. For these systems you build the channel access method that determines when this system tries to send information. When multiple systems try to communicate at the same time they interfere with each other. The goal is to transmit all the data as fast as possible while dividing the bandwith fairly accross the different systems.
The challenge is available as an online website and the source code is available on Github:
MathematicaMVA
Flappy Gull
![Flappy gull screenshot](/assets/images/flappygull-545590a36143cf438caa9fa1d15ac8df.png)
Fly around as a bird in VR together with others!
This project was created during a WebVR games workshop at a symposium. The original idea was based on a combination between the Fly Like a Bird games and Flappy Bird. However, the flapping mechanic was removed and replaced with gliding, since it turns out flapping up and down is horrible in VR, who knew?
You can try it out online or view the source code on Glitch:
JavaGraph
Combine graph transformations and Java. This project has been developed as part of a Bachelor's thesis.
The goal is to add Java based functionality directly to graph transformations and vice-versa. Using this approach, one could enhance their existing Graph transformation models with Java code. Or one could treat Java data as a graph and apply graph transformations to it.
This approach relies on annotations to identify the intended graph structure of the Java program and uses annotated user defined methods to manipulate the graph structure. The graph structure can be manipulated by applying the graph transformation rules defined in GROOVE, a general purpose graph transformation tool set.
For more info, see Github:
Graphter Effects
![Graphter Effects logo](/assets/images/graphtereffects-432cde9cd2d14cb2ce29a02cfd52e682.png)
Graphter Effects is a tool to visualize graphs, with a twist! Instead of visualizing a graph as a series of dots and arrows, you can use a declarative, prolog-like langauge called Graafvis to create any visualization you want. For example, a graph describing the game state of wolf, goat and cabbage problem, can be visualized as an image of animals trying to cross the river using a boat.
The tool comes with an editor written in Java and a manual and is available on Github. I've also made a (limited) online environment available to try out the tool. Both can be found here:
Harry and the Time Machine
![Harry and the Time Machine menu screenshot](/assets/images/harry-7d878b8464c8bd9c737b9ff9bc348766.png)
Harry and the Time Machine is a Gamemaker game I made together with two peers back in high school. In the game you control a character called Harry, who is transported back in time through different eras. Each era you have to retrieve your time machine to travel to the next era.
The game is also playable with two players. I've ported the original version to Gamemaker Studio 1.4 and made it playable online. The game and the source code can be found here: