Author Archives: lefteris

temperature-map-gl.js – Minimalist pure Javascript Heat Map Library using WebGL shaders

Minimalist Library to draw temperature maps (heat maps) using WebGL in pure Javascript. Except a O(N) pre-process step which is done in Javascipt, all calculations and drawing are done with shaders in WebGL, so it is pretty fast. It is also very small (~3kB minified and gzipped)

‘OES_texture_float’ extension is required.

Continue reading

Spirates

Spirates is a PC game that I am developing with a friend since 2012. Game graphics are in 2D.

In Spirates, the player assumes the role of a space pirates who starts with a broken raft in a forgotten planet and ends up to be the most notorious pirates of the seas of space. On his way he finds mutated house cats, pimped wooden boats with rockets, whales, zombies and other curiosities. He conquers cities, makes enemy boats his own kai hires scum for crew.

Continue reading

Home Automation and More

Home Automation and More, or HAM is a home automation system I and a collegue devised in 2015 using wireless technology and power electronics. I built most of the first working prototype, using an AVR microcontroller, ESP-8266 wifi module and a simple TRIAC driver circuit. The prototype is able to measure power consumption using an Allegro Hall effect current sensor and a voltage measurement circuit I designed.

The first protoHAM

For the software part I wrote a website in PHP, a mobile app utilizing Apache Cordova, a control server using nodejs and wrote the firmware in C.
Continue reading

Automatic News Extraction From Twitter – Diploma Thesis

The subject of my diploma thesis was designing and implementing a system that given a dataset of tweets, it recognises real world events in it. Ideally, it also recognises the relationships between the extracted events, generating storylines as a result. Results are visualized on a web browser. You can see the implemented user interface with some results here. The describing essay is written in greek.

Part of presentation ui

The system includes a program for retrieving and pre-processing historical tweets using the twitter REST API, a program that pre-process tweets stored in a file (you use one or the other), a program that analyses tweet pre-processed tweets and a website that presents the results to the user. The user interface is also used to evaluate the results. All programs are implemented in python and the website is in HTML + Javascript.

Continue reading

Remote control fan modification

I modified a fan to make it controllable with a remote. It allows you to use the fan at different speed settings.

At the first three presses of the remote, the fan changes speed from low to high. The next three presses change the speed again from low to high but also enable the outer rim. The next press turns the fan off. At every state change, a buzzer that I included plays a sound.

Continue reading

PCB Exposure box with LEDs

I used the ‘shell’ of an old scanner as the housing of an PCB exposure box using UV LEDs. It has a control panel with an LCD screen and 4 buttons on the front. An AVR microcontroller controls the process.

The box with all the LEDs turned on

Through the provided settings in the menu, you can set the exposure time, which panels to enable (top, bottom or both), LCD display backlight and if you want to halt the process if the lid is open. It also has 10 slots where you can save settings for future sessions.

Continue reading

AVR Infinite Runner

I wanted to make an infinite runner game. But since “software” infinite runners are so mainstream these days and I also had a lot of purple LEDs laying around, I decided to make one in “hardware”.


I created a screen using purple LEDS and for input I used three buttons. Two buttons are used to moving your dot up and down and one is used as a restart button. Everything is controlled using an AVR Atmega8 microcontroller.

The rules are simple: hitting dots head-on is game over, but hitting them with your side is extra points. As you get more points, the game goes faster and faster. After your dot dies, it displays your score with scrolling text.
Continue reading

TichuIQ

TichuIQ is a website for playing tichu with other people online.

I with a friend created it on 2012 as the final project for a web development seminar we were attending. It offers features such as global and room chat, private rooms, score tracking, ranking, achievements and of course playing tichu.

The main game webpage of TichuIQ

It was written from scratch in PHP and we are using MySQL as the database server. It uses only HTML5 so it can potentially run everywhere. It is essentialy a server side game and can run even on cheap hosting. However, since it relies on polling to get data, it doesn’t scale very well. In 2013 we had to switch to a dedicated server. On the time of writing this it has about 35.000 users and about 100 online at any given time.