Schedule

  • 09:00-09:30
    Registration/Breakfast
  • 09:30-10:00
    Welcome to hack{cyprus} summit
  • 10:00-10:30
    Circumventing Adblock for fun and profit. Milko Todorov, System Engineer, Mindgeek
  • 10:30-11:00
    Deepmind Health. Carmen Ruiz Vicente, Software Engineer, Deepmind
  • 11:00-11:30
    Coffee Break
  • 11:30-12:00
    JavaScript for the Modern Web. Adamos Fiakkas, Software Team Lead, Amdocs
  • 12:00-12:30
    A few thousand commits later - evolution in a young fintech startup. Alex Michael, CTO, Plum
  • 13:00-14:00
    Lunch
  • 14:00-14:30
    A journey through search. Michael Schinis, Software Engineer, Trouva
  • 14:30-15:00
    Modernisation Methodologies for Resolving API Obsolescence Problems. Simos Gerasimou, Research Associate, University of York
  • 15:00-15:15
    Coffee Break
  • 15:15-15:45
    Microservices with CQRS and Akka. Vasilis Nicolaou, Senior Software Engineer, Rentalcars.com
  • 15:45-16:15
    Evolution of deploy.sh. Leonid Mamchenkov, CTO, Qobo Ltd
  • 16:15-16:30
    Coffee Break
  • 16:30-17:00
    Android development with Kotlin: faster, easier, and more fan. Konstantinos Papageorgiou, Engineering Lead, Acasus.
  • 17:00-17:30
    Become an artisan developer: Tips & best practices using Laravel PHP Framework. Marios Vasiliou, Lead Full Stack Developer, Softline Computer Systems Ltd
  • 09:00-09:30
    Registration / Breakfast
  • 09:30-11:00
    Optimizing an API driven UI for performance and usability. Kyriakos Ktorides & Valentinos Papasavvas, Lead Developers, Mindgeek
  • 11:00-11:30
    Coffee Break
  • 11:30-12:30
    Training a computer to understand images. Maria Terzi, Research Associate at Cyprus University of Technology
  • 12:30-13:30
    Lunch
  • 13:30-14:30
    Common Security Pitfalls for Web Developers. Simon Loizides, Marios Nicolaides, Nicolas Markitanis, Penetration Testers, RUNESEC
  • 14:30-14:45
    Coffee Break
  • 14:45-15:45
    Capture The Flag Field Guide. Stelios Joannnou, Researcher, CS Circles
  • 15:45-16:00
    Coffee Break
  • 16:00-17:00
    From 0 to live in 30 minutes. Kyriakos Toumbas, CTO, Pixel Actions
  • 17:00-17:30
    How to win a hackathon. Stefanos Christoforou, Full Stack Developer, CS Circles

Summit Sponsors

Summit Partners

Hosted by

carmen

Carmen Ruiz Vicente

Software Engineer, DeepMind

Carmen Ruiz Vicente is a software engineer at DeepMind Health, where she works on technologies that help improve patient healthcare. Previously, she was a member of Google beacon platform that integrates beacon technology with first and third party apps, and Google’s privacy engineering team. Prior to joining Google in 2013, she was a post-doctoral researcher at Universitat Oberta de Catalunya (Spain).

Carmen completed her Ph.D. at the Center for Data Intensive Systems in Aalborg University, Denmark.

{Deepmind Health

konstantinos

Konstantinos Papageorgiou

Engineering Lead, Acasus

Konstantinos is a software developer with extensive experience in Geographic Information Systems, database design, and mobile development. After studying Computer Engineering and Informatics at the University of Patras, he worked as a freelancer and a consultant. For the last five years, he has been working primarily as a mobile developer.

He joined Acasus in 2017 and helped set up the firm’s engineering division. Prior to that, he worked at a GIS startup developing products in collaboration with governments and the private sector.

{Android development with Kotlin: faster, easier, and more fun

Talk Summary: Kotlin is a new open-source language for the JVM (and Javascript), created by Jetbrains (IntelliJ, Android Studio, WebStorm, PyCharm etc). It has been used as a drop-in replacement for Java in its various applications, but great emphasis has been given in its potential for developing Android apps. As of 2017, Kotlin is officially supported by Google as a first-class citizen of the Android developer toolchain, which means its popularity will only rise.

Notable features include:
- 100% compatibility with Java and all existing Java libraries
- Nullable types
- Extension functions
- Functional paradigms

We'll be going through what makes hacking in Kotlin fun, how it can make the life of Android developers a lot easier, and how we can write better, more readable, more maintainable code.

leonid

Leonid Mamchenkov

CTO, Qobo Ltd

Web developer, system administrator, DevOps engineer, Open Source advocate with 20+ years of experience.

{Evolution of deploy.sh

Talk Summary:This talk is about a variety of ways to deploy web applications to test, staging and production environments. Starting with simple FTP/SSH and shell scripts, all the way to Continuous Integration, web hooks, and ChatOps.

milko

Milko Todorov

System Engineer, Mindgeek

Milko worked for the past 7 years on building scalable, distributed systems for some of the largest online properties out there. I've driven and integrated from Hadoop and Hive (on Tez), to HP Vertica, to Mesos & Docker. Systems design is my work, problem solving and S/H optimization is my passion. Currently I'm in a Systems Engineer@ Mindgeek, which I find gives me a unique angle to impact the business I'm part of every day.

{Circumventing Adblock for fun and profit

Talk Summary: In our quest for fair monetization, we went to war with today's online business' biggest bully - Adblock. And we came out smugger and richer! Here's how we did it.

runesec

Simon Loizides

Penetration Tester, RUNESEC

Simon Loizides is a Pentester at RUNESEC, a Cypriot company specializing in offensive Information Security Assessment services. He graduated with a BSc (Hons.) in Computer Science from King's College London. He is interested in post-exploitation and lateral movement (in both the virtual and physical worlds), and likes to climb trees when he can.

He is one of the 4 chapter leaders of OWASP Cyprus, a global non-profit dedicated to improving the security of web and mobile applications.

{Common Security Pitfalls for Web Developers

runesec

Marios Nicolaides

Penetration Tester, RUNESEC

Marios Nicolaides is currently working as a Penetration Tester at RUNESEC, a Cypriot company specializing in offensive Information Security Assessment services. Marios holds a BSc Computer Science degree from Northumbria University and an MSc degree in Cyber Security from the University of York. He is passionate about web application security and likes to spend his free time mastering his backgammon skills.

He is one of the 4 chapter leaders of OWASP Cyprus, a global non-profit dedicated to improving the security of web and mobile applications.

{Common Security Pitfalls for Web Developers

runesec

Nicolas Markitanis

Penetration Tester, RUNESEC

Nicolas Markitanis is a Penetration Tester professional at RUNESEC, a Cypriot company specializing in offensive Information Security Assessment services. He graduated with honors from Northumbria University at Newcastle with a degree in Computer Science and a masters degree in Cyber Security from De Montfort University in Leicester. Nicolas has also started his PhD with his research area being cybersecurity. He is interested in mobile application security and likes to dabble in a little bit of everything, especially sciences and books.

He is one of the 4 chapter leaders of OWASP Cyprus, a global non-profit dedicated to improving the security of web and mobile applications.

{Common Security Pitfalls for Web Developers

Workshop Summary: Discuss and demonstrate the most common security pitfalls that web developers fall for.

# SQL Injection - not using parameterized queries / prepared statements
# Cross-Site Scripting - no output encoding / not taking into account the context
# Access controls - authentication vs authorization / exposing internal resources and not binding to sessions
# Session Management - Insecure session termination / cookie scoping and attributes / session fixation
# Cross-Site Request Forgery - not using anti-CSRF protection ---> impact
# Insecure Password storage -> not HASHING passwords but either encrypting them or storing them in plaintext
# Directory Traversal - not limiting the root of the application

The workshop will be carried out in the following format: - Explain the pitfall and the vulnerability it leads to. - Explain how to exploit the vulnerability and discuss impact - Demonstrate exploitation - Give time to participants to exploit vulnerability.

All pitfalls will have demos. We will use an online 'training' environment which will be available for a few days after the event in case participants

theo

Theo Andreou

Manager, Alpha

A software engineer by profession, traveller and food lover at heart. Theo holds a Computing degree from Imperial College London and a masters on Financial Systems Engineering from UCL. He has worked in a number of financial corporations in the City of London and is currently working as a manager in the product development team at Alfa^.

{Hackathon: Changing a company's culture

Talk Summary: People and companies are reluctant to change. How we managed to disrupt the status quo and change the culture of a 25 year old corporation by organising it's first ever Hackathon. Come and find out more about:
- The pitch
- The challenges
- The organisation
- The execution
- The post mortem

alex (1)

Alex Michael

CTO, Plum

Alex is a co-founder and CTO at Plum, where he oversees the technical direction of the product. He is the former payments lead at Tictail. He joined Tictail as engineer #5, built the platform and team that handled payment processing for 150,000 shops and watched the company grow to 60 people with offices in Stockholm and NYC. Prior to Tictail, he built software for retail data analytics, social networks, sports and Bloomberg. He is also the co-founder of Hack Cyprus, a tech movement in Cyprus which runs hackathons and coding schools for youngsters who want to learn how to code. He has an MEng in Computing from Imperial College London.

{A few thousand commits later – evolution in a young fintech startup.

Talk Summary:This talk will discuss the evolution in a young fintech startup on
- Moving money around
- Code & architecture
- Team / Hiring

stelios (1)

Stelios Joannou

Researcher, CS Circle

Stelios is a researcher for CS Circles, working on innovating new products and utilizing new technologies to improve existing ones. After studying Computer Science in London, he then moved to the University of Leicester where he got his MSc and PhD degree working with succinct data structures. His weekend plans very often include International CTF competitions, with his favorite challenge category the `PWNables`.

{Capture The Flag Field Guide

Talk Summary: A capture the flag competition, abbreviated as CTF, provides everyone with an opportunity the learn while solving fun challenges usually within a 48-hour period. In this workshop we will go over some of the challenges written as part of Cyprus own CTF, Pentest Cyprus. Alone or as a part of a team a CTF competition is a great way to test and enhance your skills.

toumbas (1)

Kyriakos Toumbas

CTO, Pixel Actions

Kyriakos Toumbas is the co-founder and CTO at Pixel Actions, a boutique web development agency and the co-founder of Politica.io, a multi-segment platform for political analysis, real time reporting and visualisations. He is a hardcore Software Engineer with an extensive experience in Web Technologies. After graduating from the National Technology Insitute of Athens and the Hunan University in China, he has worked in various Technology Positions around the world. A NTUA alumni, a hackathon veteran and a fencer Kyriakos is also a member of the of the hack{cyprus} organising committee.

{From 0 to live in 30 minutes

schinis

Michael Schinis

Software Engineer, Trouva

Michael is a Software Engineer at trouva.com and an Ambassador at Algolia. He is a hackathon veteran, huge startup fan and a photography enthusiast. During his spare time, he wears his opensourcerer hat and actively works on, amongst other things, EmberJS documentation, popular open source projects and his own side projects.

He mainly works with React and EmberJS during his working hours but outside work he uses NodeJS, Elixir and continuously explores new avenues and new programming patterns. He uses photography as his main source of relaxation and exploration of his creativity.

{A journey through search

Talk Summary:Together, we will explore and compare how various search engines perform on a production database with over 200 thousand products, analyse the pros and cons of each one and dive into Trouva's unique search architecture. Databases and search engines covered: MongoDB, ElasticSearch, Algolia.

adamos_f

Adamos Fiakkas

Software Team Lead, Amdocs

Adamos is a Software Team Lead at Amdocs Development Ltd and an avid Martial Arts fan. He is a University of Louisiana at Monroe, USA, graduate with a long career in IT and Software Development. Previously Adamos held roles either in UI or full stack oriented teams. He is currently leading a UI team in Cyprus for the Amdocs Optima suite.

{JavaScript for the Modern Web

Talk Summary:Technologies covered in this talk is JavaScript and React

simos (1)

Simos Gerasimou

Research Associate, University of York

Simos Gerasimou is a Research Associate at the High-Integrity Systems Engineering research group within the Department of Computer Science at the University of York. He received his BSc in Computer Science from the University of Cyprus, Cyprus, in 2010, and his MSc in Software Engineering and PhD in Computer Science from the University of York, UK, in 2011 and 2017, respectively. His research interests lie in the area of self-adaptive and autonomous systems with a focus on methods that enable dependable system adaptation. Other research interests include runtime quantitative verification, search-based software engineering, model-driven engineering, robotics and artificial intelligence.

Talk Summary: An increasing number of software systems is developed using publicly available/ third-party products (i.e., frameworks and libraries). Many of these products provide robust and efficient functionalities that are available through Application Programming Interfaces (APIs). Although the use of APIs enhances modularity, reduces development time and increases the quality of software systems, it also reinforces the dependency of these systems on third-party software.

Since both software systems and products evolve independently, dependent software systems will likely encounter obsolescence issues during their lifetime. For instance, new requirements or improved software designs lead to product updates, and thus to API modifications, that often break compliance with dependent systems. Developers must select between the costly process of adapting a software system to resolve these obsolescence issues versus dealing with the imminent problems arising from using obsolete software (e.g., bugs, security risks).

In this presentation, we review recent work towards the automated resolution of these obsolescence problems and introduce a semi-automated software modernisation methodology for dealing with the problem of API obsolescence. The methodology comprises a set of stages that includes software system analysis, discovery and compatibility assessment of new libraries, data visualisation, mapping inference and application of modernisation pattern, and finally source code population. We applied the methodology to four different demonstrators that involve library upgrade, hardware infrastructure update and hardware migration. Using these demonstrators, we analysed the methodology and extracted several qualitative and quantitative features including extensibility, engineering effort and scalability. Finally, we reasoned about the considerations that stakeholders should make to determine whether to proceed or not with the modernisation.

{Modernisation Methodologies for Resolving API Obsolescence Problems

vasilis (1)

Vasilis Nicolaou

Senior Software Engineer, Rentalcars.com

Vasilis is a senior software engineer at Rentalcars.com .He moved around a lot of projects and teams but his constant responsibility was to build high performance systems. His work highlights involve building a distributed cache for the webapp backend and developing a low response time microservice which is the inspiration for this talk.

He has mainly worked with Java, Scala and Akka along with various AWS technologies. On his free time he works on personal and 3rd party open source projects or video streaming programming paradigms. On his real free time he plays football, table tennis or road tripping.

Talk Summary: In the world of microservices, the need for distribution, high availability and optimal performance imply high level technology debt both in terms of infrastructure and code while they promise to reduce the technical depth of service monoliths.

Are there any paradigms that guide us into building high performing and highly available services? What are the needs of containerisation , partitioned networking and service discovery? Do all these considerations worth the effort of building a contained, domain specific service?

The problem at hand is the requirement for a low latency , highly available microservice. To achieve this the need for partitioned network leads us to a world of eventual consistency due to the CAP theorem barrier . What are the assumptions that are necessary to achieve such a goal? How do we tackle the complexity of the technology choices from infrastructure to programming languages?

The paradigm discussed is inspired by Command Query Responsibility Segragation pattern (CQRS) using Akka (http://akka.io) to achieve a low response time, always available domain specific distributed cache. The results were astounding with 95th percentile response times being at 32ms . The combination of AWS services such as kinesis, dynamodb and ecs along with Akka and docker composed a complex but reusable solution to build containirised, clustered, always available, low response time services.

{Microservices with CQRS and Akka

terzi

Maria Terzi

Research Associate at Cyprus University of Technology

Maria Terzi works on turning noisy data into actionable information using machine learning techniques. Maria completed her Ph.D. at the University of Lancaster in 2017, focused on handling the effects of semantic noise in Information filtering. She has been selected as a finalist Woman Techmaker Scholar for 2017. During her Ph.D. Maria joined Google (Zurich) as a Software Engineering Intern, where she was working on Information filtering for Google Maps. In 2016 she founded Προγραμματίζω, a movement to inspire, educate and equip girls with computing skills. She currently works as a Research Associate at Cyprus University of Technology and as an Associate Lecturer at UCLan Cyprus in the areas of Internet-of-Things and Software Development respectively.

Workshop Summary:Hands-on Tensorflow and Deep Learning

{Training a computer to understand images

MariosVasiliou

Marios Vasiliou

Lead Full Stack Developer, Softline Computer Systems LTD

Marios Vasiliou aka DarkPain and is 30 years old. He started programming when he was 15 making 3D games in Basic. His nickname is a mix from DarkBasic (Basic language IDE for games) and MaxPayne (my favorite film and game). Professionally he started working as a freelancer 8 years ago, when he was 22, with C programing language. He created more than 15 web applications in Python, Java, and PHP and more than 30 mobile applications in both Native and Hybrid Environments. Some of his mobile applications were featured on the front page of ‘XDA Developers’ and some of his mobile apps were top free applications in App Stores. He won Blackberry programming contests and recently his team won the 3rd position in BOC Hackathon creating a blockchain application with a chatbot based on Laravel. He is working with Laravel the past 4 years.The last 3 years he is working at Softline Computer Systems LTD, in Zygos Team and he is a Lead Full Stack Developer, both for Web and Mobile. Softline Computer Systems LTD developed the first Cypriot web and mobile application for Law Firms and they currently have more than 140 law firms using our solution all around the island.

Talk Summary: Laravel is one of the most famous PHP frameworks out there. Some of the reasons include its responsiveness, ease of use and great communication from the team which created it. Building a great application using Laravel though can be challenging and sometimes overwhelming. We've learned that first hand at Softline Computer Systems (softline.com.cy) where we started developing our main software solution, Zygos (getzygos.com) totally based on Laravel, almost 4 years ago. We have faced a lot of challenges and obstacles that many Laravel developers, have faced in large web applications. We want to share these experiences with others and help them get an idea of how Laravel works and which are the best practices.

{Become an artisan developer: Tips & best practices using Laravel PHP Framework

papasavvasworkshop

Kyriakos Ktorides

Lead Developer, Mindgeek

Kyriakos Ktorides is currently the Lead developer for one of MindGeek’s highest earning products, overseeing its architecture and development team. In his 14-year career in the software engineering industry he has worked on a multitude of government and semi-government projects as a developer, consultant and project manager. He has worked with successful start-ups such as Yumbles and AtYourService, and holds the title of CTO for Enermap where he was responsible for the technical aspects of Enerfund EU project. He holds a Master’s degree in Computer Science from University College London.

{Workshop: Optimizing an API driven UI for performance and usability

Workshop Summary: Lets team-up to build a high performance API and a stellar user experience to go along with it. Challenging for both the front-end and back-end dev species. A walkthrough on how to get an API and UI from the old fashioned bare minimum to the fancy modern.

kyriakosworkshop

Valentinos Papasavvas

Lead Developer, Mindgeek

Valentinos Papasavvas is a Lead developer in Mindgeek where he is in charge of one of the biggest and high traffic products of Mindgeek. He studied Computer Science in Crete/Heraklion and did a Master in Database Professional in Sheffield. He worked for 5 years as a Web Developer in the UK at a small Digital Agency company which was a growth experience for him / where he gradually developed his experience. He also worked in one of the biggest online retailers of short dated and residual stock food and drinks by creating and optimizing the internal web application that was responsible for order packing and picking. He attended three Hackathons and won at  two of them in the categories of the Best Company Award and Best use of beacons challenge. He is the creator of Hack Cyprus Slack and part of the Hack Cyprus board.

{Workshop: Optimizing an API driven UI for performance and usability

Workshop Summary: Lets team-up to build a high performance API and a stellar user experience to go along with it. Challenging for both the front-end and back-end dev species. A walkthrough on how to get an API and UI from the old fashioned bare minimum to the fancy modern.

stefanos (1)

Stephanos Christoforou

Full Stack Developer, Amdocs

Stefanos is a Full Stack developer at CS Circles, an Information Security company in Limassol. He holds a Computer Science degree from the University of Cyprus and he's passionate about technology and startups. Hardware, software, algorithms, are just words, when it comes to a challenge you'll find him there. If you've been to any hackathons or technology/ startup oriented events in the last cuple of years, he is definetly a familiar face.

{How to win a hackathon

Talk Summary:How to win a hackathon