About me
I’ve been programming since I was 14.
I started with the usual PHP-Javascript-CSS combination, but I’ve been doing Intersystems Caché for more than 13 years now.
I didn’t board the latest hype train, but I’m confident that with my experience I can learn anything new in a few weeks.
Skilled experience
I feel very confident in these areas and you can ask me pretty much anything.- HTML-Javascript-CSS
- Intersystems Caché
- SQL
Good experience
I know what I’m doing and with a little research I get the job done. If you explain me something new related to this I’ll pick it up very fast.- Apache
- Nginx
- ExtJs
- PHP
- Adobe Illustrator
- Adobe Photoshop
Ancient experience
Useless nowadays, but I like to mention this to show that I’ve been around for some time and that I have the ability to quickly learn new things in different areas.- Actionscript
- Adobe Indesign
- Adobe Premiere
- Adobe Flex
- Adobe AIR
- Macromedia Director
- Asp.net
Also interested in
- Anything server & backoffice related
- C# / .Net
- Java
- Windows AD & GPO
Languages
- Dutch: mother tongue
- English: excellent
- French: basic
Contact
- maartenvandenvreken@gmail.com
Before we begin
I know that some of this stuff is really old. There is even quite a lot of Flash. But I like to keep it because even though it looks dated now it still shows my progress as a programmer and what kind of things I like(d) to make.So here we go; from recent to old:
Where am I?
Date: December 2022 - February 2023
Software: Android Studio
Language: Java and MariaDB
Link: No link available (anymore)
Software: Android Studio
Language: Java and MariaDB
Link: No link available (anymore)
To teach myself Java I've been playing around a bit with Android Automotive. I started working on an app that checks the location of your car every 250 meters and sends it to a backend to receive more information about that location. On the backend side I'm using a combination of free API's, Google Places, Yelp and scraping Wikipedia to return as much information as possible. The app then displays some basic information such as population, area, elevation, etc. and a list of top attractions and restaurants in the area. Tapping on an attraction or restaurant will then give you the option to call them or start navigating to that location.
Radio statistics
After arguing with my wife that Belgian radio constantly plays the same songs over and over again I decided to provide proof. I have been scraping their websites for months now and there are some interesting results. There are also a surprisingly large amount of mistakes in artists names and song titles, so I try to match each result against a Spotify API to have better quality data.
Feel free to look around the data, but here are already some highlights:
Feel free to look around the data, but here are already some highlights:
- Rosa Linn has only 1 song, but seems to survive on it for months.
- There seems to be a common agreement that 6 december is the starting date of the Christmas songs season.
- Does Studio Brussels get paid to play a Taylor Swift song? It's the only song from her they ever played and they play it 2 or 3 times per day.
- And of course artists get played a lot the day they die: Nicole & Hugo and Coolio.
Bills
Date: April 2021
Software: Sublime Text
Language: MySQL and PHP
Link: No link available (anymore)
Software: Sublime Text
Language: MySQL and PHP
Link: No link available (anymore)
A quick personal project to keep track of my bills. I have multiple e-mailaddresses and so has my wife, so it's nice to have all your invoices in the same place when you need to consult them. Also makes it easier to keep track of which items are still under warranty.
All you have to do is set up a list of verified e-mailaddresses and start forwarding your bills or invoices to a dedicated e-mail address that I've set up for this service. That inbox is being fetched every 5 minutes and any new invoices will be automatically added to the system. Based on the contents of the mail the system will already try to assign them to a shop or create a new shop if no match could be found.
When you log in the website lets you verify the recently added bills first so you can still modify the shop and price, or add a short description for it.
All you have to do is set up a list of verified e-mailaddresses and start forwarding your bills or invoices to a dedicated e-mail address that I've set up for this service. That inbox is being fetched every 5 minutes and any new invoices will be automatically added to the system. Based on the contents of the mail the system will already try to assign them to a shop or create a new shop if no match could be found.
When you log in the website lets you verify the recently added bills first so you can still modify the shop and price, or add a short description for it.
SavegameSync
Date: May 2020 - December 2020
Software: Sublime Text and Visual Studio 2019
Language: c# and PHP
Link: https://satisfactory.vanmaarten.be/
Software: Sublime Text and Visual Studio 2019
Language: c# and PHP
Link: https://satisfactory.vanmaarten.be/
Some games like Satisfactory offer a multiplayer mode, but have no support for dedicated servers. This means someone has to be the host every time and others have to connect to him/her. Also: the host is the only one who has the savegame file. This makes it difficult for other players to keep building in the same world when the original host is not online.
To start learning c# I decided to make a program that synchronizes savegames between computers using an FTP server so that anyone can be a host at all time because he/she has the latest savegame on their computer as well. The program supports multiple games. All you have to do is point to the path of the savegame files for each game you want to synchronize.
On the server side all savegames are verified and backups are stored. In case a savegame gets messed up you can always download a previous version to start over again. On top of that I analyse the contents of the savegames for Satisfactory to display some statistics about the session duration and the amount of buildings that have been built already. I also draw all the buildings on a map so you can easily see what has been built since the previous save.
To start learning c# I decided to make a program that synchronizes savegames between computers using an FTP server so that anyone can be a host at all time because he/she has the latest savegame on their computer as well. The program supports multiple games. All you have to do is point to the path of the savegame files for each game you want to synchronize.
On the server side all savegames are verified and backups are stored. In case a savegame gets messed up you can always download a previous version to start over again. On top of that I analyse the contents of the savegames for Satisfactory to display some statistics about the session duration and the amount of buildings that have been built already. I also draw all the buildings on a map so you can easily see what has been built since the previous save.
Bingoal - Sports betting platform
Company: Bingoal
Date: September 2010
Software: Caché Studio, Perforce, Sublime Text, Nginx and Adobe Air
Language: Intersystems Caché, Javascript and Actionscript 3
Link: https://www.bingoal.be/
Date: September 2010
Software: Caché Studio, Perforce, Sublime Text, Nginx and Adobe Air
Language: Intersystems Caché, Javascript and Actionscript 3
Link: https://www.bingoal.be/
Bingoal is a sports betting platform for both online and offline customers. The entire platform was built from scratch by me since 2010. I initially started working on this as an employee of SDP, but was hired full time in 2014. Over the course of 6 years I became a team leader and I now lead a team of 6 developers.
During these years I mostly gained experience with:
- Connections to external providers: socket, SOAP, REST
- Server management: Windows & Linux
- Webserver management: Nginx & Apache
- OOP in Intersystems Caché
All code has always been self written in our own framework. No templates, no plugins, no copy/paste, ... Several projects were created over the course of almost 10 years:
Main website
The main website was started from scratch in 2010 and I worked on it alone till 2015. However in 2014 a redesign of the website was outsourced to an external company and the provided PSD files were converted into code by me. In 2015 2 extra developers were hired to help with the workload. Initially they helped mostly with the main website, but later they received their own projects like the casino and an application for betting terminals.Mobile website
Even though the frontend for this was made by my colleagues, the biggest part of the backend was made by me. Since Caché doesn't feature a solid ajax or REST call system out of the box I made my own version where developers can create receiver classes with post and get methods and define which parameters they expect to receive. By doing that all necessary code between frontend and backend is then auto generated to handle the verification of all parameters, check session tokens and handle possible errors. Thanks to this system frontend developers can easily integrate the backend API without having much knowledge about Caché.Backoffice
An entire custom written backoffice using Intersystems Caché on the backend and ExtJs on the frontend. Developers can create complex layouts using a simple templating system without having to know javascript or css. Each program for the backoffice is located in a single file and the backoffice will automatically generate all the necessary javascript for each call made between the frontend and backend. All developers have to do to interact with fields, grids, panels, trees, combobxes, etc is grabbing or setting their values in Caché and the backoffice layer wil do the rest. Simple programs to create and modify data that fits in a single SQL table can be created in less than 10 minutes. In total there are more than 100 programs that employees use on a daily basis. Some of the biggest programs of the backoffice are:- Customer management program where you can see their personal information, transaction history, deposits, account activity, betting tickets, bonusses, promotions, etc.
- Support program to interact with customers
- Programs to create and manage sporting events and horse races. Defining bets and their possible outcomes, risk management, automatic payment based on the results, importing events from external providers, fraud detection, etc.
- A link with the accountancy software to insert daily financial data
- A promotion systems with promocodes, campaigns, landing pages, rewards, etc.
- Content management for the website: custom pages, banners, translations, FAQ, paymentd methods, etc.
- A program for employees to request holidays and view their current holiday balance
- A tracking system to report bugs or issues and follow up on ongoing projects
- A knowledge base where employees can write articles to help out other colleagues or document certain programs or procedures
Bingoal Display
A fullscreen program that runs in all betting shops and that can display important information about sport events and horse races. During non busy hours a powerpoint-like slideshow can be played. All communication is done through websocket. The first version was made with Adobe AIR. A second version was created after a few years using NodeJs and Electron.Operations helper tool
An Adobe AIR program that is always active on the computer of all members of the operations team and notifies them when actions need to be taken. It's also possible to override the default schedule of the Bingoal Display program and load custom slideshows. These are just the most important projects, but since I've been working on this for 10 years there is of course much more going on that isn't mentioned here.SDP websites & webshops
Company: SDP
Date: March 2010 - June 2014
Software: Caché Studio and Sublime Text
Language: HTML, Intersystems Caché and Javascript
Link: No link available (anymore)
Date: March 2010 - June 2014
Software: Caché Studio and Sublime Text
Language: HTML, Intersystems Caché and Javascript
Link: No link available (anymore)
Most customers from SDP are physical shops who bought their POS software, so naturally most of them also wanted a webshop that integrated with that same software. Over the course of 4 years I made multiple webshops for their customers. Since this was so long ago most of them are already upgraded to newer versions so I have not much available to show, except for a list of customers that I remember. All the images that I still found are proposals for the layout, so the actual website might have been a bit different still.
For Dhollandia I also wrote backoffice software, as well as for Qteam; the tire company. However; most of my time I spent working for Bingoal which I then joined directly in 2014.
- www.megadeschacht.be
- www.belsacknv.be
- www.dsplastics.be
- shop.vdbparts.be
- www.jesocards.be
- www.delidis.be
- www.prodiy.be
- www.liesenshouthandel.be
- www.csdecor.be
- www.de-clerck.be
- www.vanloon.be
- www.dhollandia.com
For Dhollandia I also wrote backoffice software, as well as for Qteam; the tire company. However; most of my time I spent working for Bingoal which I then joined directly in 2014.
Anyway Doors configurator
Company: SDP
Date: January 2010 - February 2010
Software: Adobe Flash CS3 and Caché Studio
Language: Actionscript 3 and Intersystems Caché
Link: No link available (anymore)
Date: January 2010 - February 2010
Software: Adobe Flash CS3 and Caché Studio
Language: Actionscript 3 and Intersystems Caché
Link: No link available (anymore)
With this online door configurator you can create your own door in 8 steps. Users can also create an account to save their creations or to immediately download a PDF with a price offer.
All images are pre-rendered and all possible combinations are already calculated and stored in the database. With each stop a new image is added on top of the previous one and a call is being made to the backed to see which configurations are still available.
Everything is developed in Flash because in 2010 we still considered it to be the best solution to overlay multiple images and add animations to the process. This was also my first real project with Intersystems Caché.
All images are pre-rendered and all possible combinations are already calculated and stored in the database. With each stop a new image is added on top of the previous one and a call is being made to the backed to see which configurations are still available.
Everything is developed in Flash because in 2010 we still considered it to be the best solution to overlay multiple images and add animations to the process. This was also my first real project with Intersystems Caché.
Tower defense game
Date: September 2009 - October 2009
Software: Adobe Flash CS4
Language: Actionscript 3
Link: No link available (anymore)
Software: Adobe Flash CS4
Language: Actionscript 3
Link: No link available (anymore)
A Flash game of the "tower defense" type. I started working on it 2019 but stopped development when I found a job. Then Steve Jobs killed flash and I never finished it.
In it's current form it has:
In it's current form it has:
- Different tower types that shoot enemies
- Damage and range upgrades for towers
- Ability to set shooting priority
- Enemies attack your castle when they reach the end of the road. If they destroy your castle it's game over.
- Obstacles from which some of them can be destroyed
- A map editor to quickly create or modify maps
ColorCube
Date: August 2009 - September 2009
Software: Adobe Flash CS4 and Adobe Illustrator CS4
Language: Actionscript 3
Link: http://www.kongregate.com/games/icooo/colorcube
Software: Adobe Flash CS4 and Adobe Illustrator CS4
Language: Actionscript 3
Link: http://www.kongregate.com/games/icooo/colorcube
A little game I made to learn more about working with 3D object in Flash CS4 and to practice my Illustrator skills.
The aim of the game is relatively simple: paint the entire cube in the same color by changing the color on each click and take over connecting surfaces. Unfortunately the game becomes boring quite fast and the time limit was too low for most players, but in the end I'm still quite happy with the result.
The aim of the game is relatively simple: paint the entire cube in the same color by changing the color on each click and take over connecting surfaces. Unfortunately the game becomes boring quite fast and the time limit was too low for most players, but in the end I'm still quite happy with the result.
Easykitchening
Company: Katholieke Hogeschool Leuven
Date: January 2009
Software: Adobe Dreamweaver CS3, Adobe Illustrator CS3, Adobe Photoshop CS3 and Adobe After Effects CS4
Language: Javascript, MySQL and PHP
Link: No link available (anymore)
Date: January 2009
Software: Adobe Dreamweaver CS3, Adobe Illustrator CS3, Adobe Photoshop CS3 and Adobe After Effects CS4
Language: Javascript, MySQL and PHP
Link: No link available (anymore)
Website for the Small Business Project of my postgraduate administration and management. The first "UnderCover" idea was already quickly abandoned and replaced by the Easykitchening concept. This small company sold kitchen products to make cutting fruits more easy. We made a lot of profit because basically we were just reselling tools and we didn't have any costs. Isn't that what a great business is about? ;-)
ezReport
Company: Katholieke Hogeschool Mechelen
Date: February 2008 - May 2008
Software: Adobe Dreamweaver CS3 and Adobe Photoshop CS3
Language: Javascript, MySQL and PHP
Link: No link available (anymore)
Date: February 2008 - May 2008
Software: Adobe Dreamweaver CS3 and Adobe Photoshop CS3
Language: Javascript, MySQL and PHP
Link: No link available (anymore)
This is the end project for Interactive Multimedia Designer which I made together with Kristof Stroobants. It's a website which can be used to make the life of school teachers much easier. Teachers can upload all results of tests and exams and have a full overview of a student's entire school career. Parents can log in as well and can see the results of their children.
A short summary of all features:
(All names in screenshots are auto generated. If you recognize a name, that's a coincidence.)
A short summary of all features:
- Teachers and principals can create new students and place them per schoolyear in a classroom
- Tests can be created and grouped into periodical reports
- All reports can be exported to PDF
- The ability to create different departments and to generate different contact pages
- Internal messaging systems between teachers and parents
- Advanced permission system to define which users or usergroups can user different parts of the website
- Templating system to be able to recreate the housestyle of the school
- Multilanguage support
- ...
(All names in screenshots are auto generated. If you recognize a name, that's a coincidence.)
CO2 Calculator
Company: Katholieke Hogeschool Mechelen
Date: December 2007
Software: Visual Web Developer 2005
Language: Asp.net and MSSQL
Link: No link available (anymore)
Date: December 2007
Software: Visual Web Developer 2005
Language: Asp.net and MSSQL
Link: No link available (anymore)
An assignment for the semester of Asp.net in the 3rd year of IMD. We had to build a "green website" and decided to create one where you can calculate your monthly CO2 emmission and give you some tips to reduce your emmission. There was also a Google maps and chart integration.
However the site was hosted on the webserver of our school and is no longer available.
However the site was hosted on the webserver of our school and is no longer available.
Space Shizzle
Company: Katholieke Hogeschool Mechelen
Date: May 2007
Software: Adobe Dreamweaver CS3, Adobe Flash CS3 and Newtek Lightwave 3D
Language: Actionscript 2, MySQL and PHP
Link: No link available (anymore)
Date: May 2007
Software: Adobe Dreamweaver CS3, Adobe Flash CS3 and Newtek Lightwave 3D
Language: Actionscript 2, MySQL and PHP
Link: No link available (anymore)
The end project for the second year of Flash at IMD was a game where we had to use a range of techniques that we learned during the year. Music and a highscores list were obligated for example. The space ship itself was designed using 3D software and a realistic shadow is being cast on the space ship when it's rotating, so it's not just 1 rotating image. In 2007 I considered this to be quite amazing.
In the game that I made the earth is being attacked by UFO's. Obviously you are our last chance to save the planet so you go to space loaded with a bunch of rockets. The game consists of 1 minute rounds and each time more and more UFO's are attacking you. The level you reach will depend on your aim and some luck with the power-ups.
More instructions are available in the game itself (in Dutch).
In the game that I made the earth is being attacked by UFO's. Obviously you are our last chance to save the planet so you go to space loaded with a bunch of rockets. The game consists of 1 minute rounds and each time more and more UFO's are attacking you. The level you reach will depend on your aim and some luck with the power-ups.
More instructions are available in the game itself (in Dutch).
YourFavorites
Date: October 2006 - April 2007
Software: Macromedia Dreamweaver 8
Language: HTML, Javascript, MySQL and PHP
Link: No link available (anymore)
Software: Macromedia Dreamweaver 8
Language: HTML, Javascript, MySQL and PHP
Link: No link available (anymore)
A website where you can create your own browser start page with all your favorite links in different categories. There are also some options to load RSS feeds (because people used that in 2006) and search engines. You can change the style with custom wallpapers, panel colors, font sizes, etc.
Quick summary:
Quick summary:
- Add your own links in your own categories
- Place them in a custom x,y position anywhere on the page
- Make different desktops so you can switch between work, personal,...
- Share categories with other users
- Some tools like a grid and rulers to help you position your categories
- Make your own search engine
- ...
Flash Portfolio
Company: Katholieke Hogeschool Mechelen
Date: May 2006
Software: Macromedia Flash 8
Language: Actionscript 2
Link: No link available (anymore)
Date: May 2006
Software: Macromedia Flash 8
Language: Actionscript 2
Link: No link available (anymore)
At the end of the first year of Flash at IMD we had to make a portfolio. My concept is based on an old TV where you have to change the frequency to reach another page. I liked the result, but the screen was so small that there was not enough space for a lot of images or text. 1024*768 was a rough time to be alive.
Last update: february 2023 | Download my CV as a PDF