13 December 2015, Cineplexx, Skopje City Mall, Halls 5 & 6
starting at 09:30

Agenda Hall 6

Time Talk Presenter
9:00 - 10:00 Registration and coffee
10:00 - 10:10 Opening Pance Cavkovski
10:10 - 10:50 Java Time Travel Stojan Peshov
Time travel through Java's life span:
How it all started 20 years ago.
Where, What and Why is Java today.
Java Future plans, what to expect in next years.
How to get involved?
10:50 - 11:10 Break
11:10 - 11:50 Docker from Dev to Prod Christian Mader
A quick introduction to the docker technology followed by where the road to Docker may head to: Continuous Deployment, DevOps, High Availability Setups.
11:50 - 12:00 Break
12:00 - 12:20 Face feature detection using Java (openCV) Dragan Miladinovski
What is OpenCV and how face detection works using Haar Cascade Classifiers? How to use these classifiers to make face features detection, eyes, nose, mouth, ears and face skin, and how to improve face detection by using squares of interests.
12:20 - 13:00 Lunch break
13:00 - 13:40 Android Pulse Risto Muchev
Android - beginning, current status and future expectations. Non-contact heart pulse measurement on multiple people simultaneously, in real time and how it is possible on Android with use case.
13:40 - 14:00 Coffee and energy break
14:00 - 14:40 Stand Up Comedy about Software Project/Product Management Aleksandar Ubavkov
Ironic and fun approach on Project & Product Management addressing most common "Headaches" from different perspectives. One purpose to find the "Cure" for the Software Industry - or at least try.
14:40 - 15:00 Break
15:00 - 15:30 Spring RabbitMQ Martin Toshev
A practical overview of the support that the Spring framework provides for the AMQP protocol and in particular - the utilities provided by the framework for integration with the RabbitMQ message broker.
15:30 - 15:40 Break
15:40 - 16:00 May the UX force be with you Marcel Kessler
Angular, React, ECMAscript6 and all the other cool and trendy frameworks/languages are great from a technical perspective, but here's the thing: the user doesn't care. What he or she does care about is that software is intuitive, easy to use, looks good and feels good. So you should not just care about the technology, but also about the User Experience.
16:00 - 16:10 Break
16:10 - 16:15 Connected hardware for Software Engineers 101 Pance Cavkovski
Quick introduction of how you can code your own $5 hardware in Java or Arduino, and connect it to the world.
16:15 - 16:20 Spring best practices Goran Atanasovski
Common topics that arise when using the Spring framework for application development, practices that should be followed while configuring the application context, dependency injection, unit/integration testing, layering, templating and performance.
16:20 - 16:25 Hybrid Tips & Tricks Sashko Peshevski
Set of simple, yet powerful, JavaScript tips, tricks and best practices that should be known by all hybrid mobile app developers.
16:25 - 16:35 A for Algorithms Rosica Dejanovska
Real life examples on why you should cherish your algorithm knowledge.
16:30 - 16:50 Rewards and closing Pance Cavkovski

Sponsors


Agenda Hall 5

Time Talk Presenter
11:10 - 11:50 Spring Cloud Netflix Sinisha Mihajlovski
Handling microservices with Spring Boot and the Netflix OSS stack. Enable and configure the common microservices patterns inside your application and build large distributed systems with battle-tested Netflix components.
11:50 - 12:00 Break
12:00 - 12:20 Intro to Gradle Zlatko Stamatov
Quick introduction on what is Gradle, how and for what you should use it.
12:20 - 13:00 Lunch break
13:00 - 13:40 Thinking reactive Martin Ilievski
As reactive architectures gain in popularity, more and more developers find themselves faced with the challenge of "thinking reactive". It's a lot about letting go of old imperative and stateful habits of typical programming, and forcing your brain to work in a different paradigm.
13:40 - 14:00 Coffee and energy break
14:00 - 14:40 JS Modularization - The Restaurant approach Goran Kopevski
What to do when you have existing monolith angular application and you need to create several app releases for different affiliates / brands with an accent on business functionality, core reusage, extensions, and all this in period of two weeks?
14:40 - 15:00 Break
15:00 - 15:30 Automation(testing).selenium(); Ana Sarbescu
A description of the need for testing in the software industry with Selenium, and why automation is the best way that you can choose for it, to satisfy the needs of everybody from clients, management and even programmers themselves.
15:30 - 15:40 Break
15:40 - 16:00 Monads in Javascript? Jana Karcheska
Javascript has taken over the world and among its other traits it's supposed to be a functional programming language. Does this mean now we can use our favorite patterns in our daily jobs? I have taken the journey of understanding how Monads can live in Javascript only to find out we are already using them everyday. In this presentation I want to share my experience with Monads - the Javascript way.

Supporters


Speakers

Marcel Kessler

@cheesenoc

Topic: May the UX force be with you

Angular, React, ECMAscript6 and all the other cool and trendy frameworks and languages are all great from a technical perspective, but here's the thing: the user doesn't care.
What he or she does care about is that software is intuitive, easy to use, looks good and feels good.
So you should not just care about the technology, but also about the User Experience (UX).
In this talk, I will give you a short introduction into UX and User Centered Design (UCD), based on examples from my daily work.
I will discuss topics like Personas, Prototyping and Usability Testing, and hope that at the end of the talk, the UX force will be a bit stronger with you.

Slides: download


Bio:

In 2005, Marcel graduated from ETH in Zurich, Switzerland with a Master in Software Engineering. He was living a happy life as developer at Netcetera, until he felt the need to learn something new and attended an advanced study course in Human-Computer Interaction (HCI), where he learned that not just technology, but also design and psychology are important. For more than 3 years now, Marcel is the Head of Netcetera's User Experience Office and spends his time doing User Research, Sketching, Prototyping and Usability Testing.

Stojan Peshov

@spesov

Topic: Java Time Travel

Time travel through Java's life span:
How it all started 20 years ago.
Where, What and Why is Java today.
Java Future plans, what to expect in next years.
How to get involved?

Slides: download


Bio:

Stojan Peshov is Java developer with more than 10 years experience in web and back-end development. He has worked on a wide range of projects and business domains using open source libraries and frameworks such as Spring, Hibernate, Magnolia CMS, IceFaces, Hessian, RobotFramework, AngularJS, etc. As such, he has tasted different flavors of Java: JSP, JSF, JPA, JTA, CDI, as well as Test Automation, ETL, HTML5, Javascript and Web Services.

Pance Cavkovski

Topic: Connected Hardware for Java Software Engineers 101

Ignite session that will show you the basics of hardware coding on $5 platforms with Java and Arduino, and how you can make a quick IoT platform to connect all of them to the internet.

Slides: download


Bio:

Pance is a senior software engineer at Netcetera and the current JUGMK leader. He is a developer on daily basis in Java, JavaScript, C# and C, part of the team behind the codefu.mk algorithm coding competition, strong hardware, electronics and IoT enthusiast, and d3js fan. Every now and then, Pance blogs at http://pance.mk/

Martin Toshev

@martin_fmi

Topic: Spring RabbitMQ

During the presentation a brief overview of RabbitMQ and the capabilities of the message broker is provided (how does it work in general, types of exchanges, clustering support and tools in the message broker). The overview is followed by a brief demo on how to send/receive message from the broker using the Java client. The second of the presentation dives into the Spring RabbitMQ world and in particular - the Spring AMQP and Spring Integration projects that provide support for the RabbitMQ message broker. The presentation ends with a short demo on Spring AMQP and Spring Integration RabbitMQ.

Slides: download


Bio:

Martin is a Java enthusiast, software consultant and one of the board members of the Bulgarian Java Users group (BG JUG). He is a certified Java professional (SCJP6) and a certified IBM cloud computing solution advisor. His areas of interest include the wide range of Java-related technologies (such as Servlets, JSP, JAXB, JAXP, JMS, JMX, JAX-RS, JAX-WS, Hibernate, Spring Framework, Liferay Portal and Eclipse RCP), cloud computing technologies, cloud-based software architectures, enterprise application integration, relational and NoSQL databases. You can reach him for any Java and FOSS-related topics (especially Eclipse and the OpenJDK). Martin is a regular speaker at Java conferences.

Goran Kopevski

@kopevski

Topic: JS Modularization - The Restaurant approach

What to do when you have existing monolith angular application and you need to create several app releases for different affiliates / brands with an accent on:
most of the business functionality is the same
reuse the core / common functionality
easily extend / modify the business and common functionality
do it in 2 weeks.
The reason why we want to to make presentation on this topic is to spread the word about modular architecture in Javascript applications. Most of the applications that are built in AngularJS nowadays are based on the structure that is provided by Google. This approach is not suitable when your project needs to grow and continuously change / extend. We'd like to help others being in similar situation as us: having different affiliates / brands for same product.
Our solution was to use ng-boilerplate for project structure and use grunt + git for distributed code base of the modules. We used restaurant idea for presenting modularization in order to simplify the idea about the buzz word "modularization". Hear about the alternatives and the obstacles we had in this talk.

Slides: download


Bio:

Goran Kopevski is a 5 year experienced Java & mobile developer. Currently, he is working for Polar Cape as a senior consultant and developer for a telecom company. He has worked for multiple clients including Porsche Informatik, Cardiologie Centra Nederland and various telecom companies. He is a versatile developer who aims for simplified code and usage of javascript. Open minded for new technologies and solutions. As an open minded person, he wants to exploit all of the magic that javascript can offer.

Christian Mader

@cimnine

Topic: Docker from Dev to Prod

Chris will first introduce you briefly to the Docker technology. After he ran through the basics he'll head off to what makes the Docker technology a thing, that is, how Docker helps you develop and deliver your applications better and faster. He'll look into the various stages of software development and you'll learn, which parts of the Docker stack is used in each step.
All new technology has it's pitfalls and Chris wants you to be aware of them. You'll learn that your application should follow certain patterns to leverage Docker to the full, commonly referred to as "the twelve-factor app".

Slides: download


Bio:

Christian's interest in computers dates back to his childhood. You know, that time, where "IBM compatible" was really a thing and the games fit on a single 3.5" floppy disk. After his eduction and studies in Computer Science, Christian now works as software engineer in the Swiss-based company Netcetera. He's working on various tasks related to Software, including some ops tasks. In his spare time Christian explores emerging technologies like NodeJS or, more recently, software container (i.e. Docker, Kubernetes, etc.).

Martin Ilievski

@martinmaxs

Topic: Thinking reactive

Over the past few years, web-applications have started to play an increasingly important role in our lives. We expect them to be always available and the data to be always fresh.
As reactive architectures gain in popularity, more and more developers find themselves faced with the challenge of "thinking reactive". It's a lot about letting go of old imperative and stateful habits of typical programming, and forcing your brain to work in a different paradigm.
In this talk we will distinguish between reactive programming, reactive application, functional reactive programming. It will be a quick introduction of what is reactive application and what reactive programming is.
At the end we will see a reactive application demo.

Slides: download

Other: Source code


Bio:

Martin Ilievski is a Java Developer at Seavus, technology geek and a firm believer in the reactive manifesto. He is an Oracle certified Java Professional and holds a Bachelor's degree of Computer Science from FSCE. In his spare time, he enjoys MOBAs, reading books by awesome people, and eating pizza.

Sinisha Mihajlovski

Topic: Spring Cloud Netflix

Spring Boot makes it easy to create Spring-powered, production-grade applications and services with absolute minimum fuss.
You can use Spring Boot to create stand-alone Java applications that can be started using java -jar. This makes it perfect for creating microservices.
This presentation will be about how to handle the setup, service discovery, some microservices patterns using Spring Cloud and the Netflix OSS components(Eureka, Hystrix, Zuul...)

Slides: download


Bio:

Sinisa Mihajlovski is a Java developer, working with all sorts of java based technologies for 7 years. He is interested in continuous delivery, code quality, integration patterns... His favourite colour is blue. Likes long walks on the beach, pina coladas & getting caught in the rain.

Zlatko Stamatov

Topic: Intro to Gradle

This talk will give an introduction on what is Gradle.
It will include instructions on how to use it to build a simple java project. The talk will quickly explain how to use Gradle together with nexus repo, jenkins and sonar. Since most of the Java developers are familiar with Maven the talk will also include some Gradle vs Maven comparison. It will also shortly explain what is Gradle wrapper and how Gradle plugins work.
The talk will end with some explanation on how to use Gradle to build Android applications.

Slides: download


Bio:

Zlatko Stamatov is a senior software engineer, currently part of the Android team at Netcetera, Skopje. He has experience in various technologies, lately with primary focus on Java. His portfolio covers from Windows desktop applications, rich web application created with Flex, enterprise finance solutions with GWT, applications for secure payment in the 3-D Secure domain, to mobile application for the Android platform. In free time he enjoys mountain biking and hiking.

Dragan Miladinovski

Topic: Face feature detection using Java (openCV)

This presentation will provide information of what is OpenCV and how face detection works using Haar Cascade Classifiers.
Using these classifiers we can make face features detection, eyes, nose, mouth, ears and face skin.
Also will be explained how to improve face detection by using squares of interests.

Slides: download


Bio:

Dragan Miladinoski is developer with more then 5 years experience, mostly in Java, Hybrid Mobile Applications and Test Automation. He works at Polar Cape as a Developer and Consultant on projects for foreign customers. His working experience covers Java EE, Spring, Hibernate, Web Services, JavaScript, HTML5, AngularJS, RobotFramework and Selenium.

Sashko Peshevski

@saspes

Topic: Hybrid Tips & Tricks

This presentation will provide set of simple, yet powerful, JavaScript tips, tricks and best practices that should be known by all hybrid mobile app developers. These are techniques that all JavaScript programmers can use now, you didn't need to be an advanced JavaScript developer to benefit from these tips. After detailed explanations of how each technique works and when to use it, you will have become a more enlightened JavaScript developer, if you aren't already one.

Slides: download


Bio:

Sashko is a senior software developer and consultant at Polar Cape with 9 years experience in Java. More than 1 year ago (beside Java) started to work as a hybrid mobile app developer, Android and iOS, including JavaScript, AngularJS, Cordova, HTML5, Objective-C, etc. Also, in free time, he has blogging view on the most recent happenings in IT, gadgets and IoT (especially Raspberry Pi).

Ana Sarbescu

Topic: Automation(testing).selenium();

This presentation will explain the purpose of testing wing of the development, how people decided that it's a good idea to have it and what outcome usually has. A bit of context into agile testing and how this makes your life easier as a whole team, but requires a very well defined process.
It will explain the basics of the testing process in order to see what can be best auomated, and a few methods and principles QAs use to simplify their tests, and that are also used in creating test data and valuable test cases.
Then we will take a practical case of implementing automation into a project and how this is done, what you need to have in mind when you choose your tools, how they inntegrate together and who's responsibility each step should be. Basically how to make your automation framework.
In the end i will present how Selenium actually works and and what is all about, presenting the library and the infrastructure, with a couple of examples.
And 5-10 minutes for questions and open discussions.

Slides: download


Bio:

I've been living and working in Skopje for the past 5 years; I'm from romania. I've started working in a gaming multinational corporation which opened and formed a specific style of work that is focused on improving yourself and work smart instead of work hard to meet the deadline, where you should wonder and play around and give your best in what you like. Now i like to share my QA experience with other people and try to push the people in the Software Testing Community in Macedonia to better practises and knowledge and self image, as well as the whole IT community in Macedonia.

Rosica Dejanovska

Topic: A for Algorithms

Ignite talk that will remind you about the basics of algorithms and complexity, followed by real examples that made some features possible or improved existing ones

Slides: download


Bio:

Rosica is a 3rd year student at FSCE. She is very passionate about math, machine learning and competitive programming. Rosica is a former Google intern.

Jana Karcheska

Topic: Monads in Javascript?

Javascript has taken over the world and among its other traits it's supposed to be a functional programming language. Does this mean now we can use our favorite patterns in our daily jobs? I have taken the journey of understanding how Monads can live in Javascript only to find out we are already using them everyday.In this presentation I want to share my experience with Monads - the Javascript way.
I'll start by shortly explaining in plain words what Monads are so that every programmer can understand regardless of their preferred language. Then I will showcase through few examples how they can be implemented in Javascript and why should we use them. And finally I will present where they are already used and give you references of where the community is at on this topic.

Slides: download


Bio:

Jana is a senior software engineer working at Netcetera. She has 10 years of experience working mainly with Java technologies. Her expertise includes working on complex safety critical and mission critical systems. Outside of the daily work, her other interests are machine learning, bioinformatics and functional programming languages like LISP and Clojure.

Goran Atanasovski

@gatanaso_

Topic: Spring best practices

This ignite talk will cover some of the core topics that arise when using the spring framework for application development. It will go over some major points, such as, spring configuration, whether to use java or xml based configuration. Dependency injection, constructor vs setter injection, which should be used when and what to avoid. Application design, layering a web application and how spring supports this type of design. The all important art of testing, unit and integration testing, and when should spring be avoided. Additionally, we will briefly go over spring's templating support and take a look at some basic performance considerations.

Slides: download


Bio:

Goran is a software engineer at Netcetera, working on Java based web applications, with a sprinkle of JavaScript. He is a Java enthusiast, pivotal spring certified professional, strong coffee addict and from recently a Python fan.

Aleksandar Ubavkov

Topic: Stand Up Comedy about Software Project/Product Management

Project & Product similarities and differences.
Project Managers,Project Management and their "Tools of Management"
Modern Project Management Principles & Methodologies in Software Industry.
The Right Choice - Making the right selections to achieve the Optimal Project.

Slides: download


Bio:

M.Sc. in Computer Science with rich experience in International Multicultural IT companies on various positions both technical and management positions. An adventurer with excellent sense of humor, mostly on my behalf.

Risto Muchev

Topic: Android pulse

Android evolution is happening. The software matures and the hardware is getting better and cheaper. But why this happens and what does it mean to us? What possibilities will there be in the future with Android that don't exist now? Medical industry, although highly standardized, is reinventing itself. Health trackers are everywhere. Wearable sensors are blooming. But do we need a sensor for everything? My app will measure heart pulse rate on multiple people simultaneously, in real time using only latest Android software and hardware. This is never done before and no sensor can do that. Standing on the shoulders of giants, I will explain how the human cardio system works and why measuring this vital sign is so important. But how the app performs it without touching users... Video face detection and custom face tracking - all there. How I managed to gain huge speed by doing thing in native, JNI way, switching between data structures and using all processor cores on the device. But there is more... signal processing and filtering. Do you think that that is too much for your pocket Android device to handle. Is it? I say no... Android is very powerful if used in proper way. It is the future of the software of things. I am looking forward to explain you how this is used in streaming music application that can generate playlist and stream songs by your heart pulse.

Slides: download


Bio:

Risto Muchev is passionate about open source technologies and has over 7 years work experience with Java and Android, designing and developing projects in the medical, financial and entertainment sector. He graduated with a Computer Science degree in 2008 and now he is doing master studies in Software Engineering. He is active member of Skopje software engineering community and his interests are in software architecture, design patterns, quality assurance, bio-signal processing, algorithms, optimizations and project management. He likes to help others and make things better.

How to post on jug.mk

Organized events

2017

Tech session #21

09 November 2017, FINKI Small Amphitheatre

JavaSkop 2017

11 March 2017, Cineplexx, Skopje City Mall, Halls 5 & 6

Tech session #20

25 January 2017, FINKI Small Amphitheatre

2016

Tech session #19

20 October 2016, FINKI Small Amphitheatre

2015

JavaSkop 2015

13 December 2015, Cineplexx, Skopje City Mall, Halls 5 & 6

Tech session #18

04 November 2015, FINKI Small Amphitheatre

Tech talk by Endava #2

24 September 2015, Endava Offices, top floor

Tech talk by Endava

21 July 2015, Endava Offices, top floor

Tech session #17

25 March 2015, Broz Cafe (1-st) floor

2014

Java Day #4

22 November 2014, Cineplexx, Skopje city mall

Tech Session #16

30 September 2014, Club of Journalists (Клуб на новинари)

Tech Session #15

19 June 2014, PMF Building

Tech Session #14

26 February 2014, Club of Journalists (Клуб на новинари)

2013

Java Day #3

22 December 2013, Cineplexx, Skopje city mall

Tech Session #13

02 October 2013, FINKI

Java Day #2

23 February 2013, Skopje Fair

2012

Tech Session #12

06 June 2012, PMF Building

Tech Session #11

08 February 2012, FINKI

2011

10 years Eclipse Birthday Party

23 November 2011, Cafe Opera

Tech Session #10

05 October 2011, Club of Journalists (Клуб на новинари)

Java 7 Macedonia

20 July 2011, Skopje Fair Business Hall

Tech Session #9

20 April 2011, FEIT (Conference hall)

2010

Java Day #1

18 December 2010, EU Info Center

Tech Session #8

03 March 2010, FEIT (Conference hall)

2009

Tech Session #7

15 July 2009, FEIT (Conference hall)

Tech Session #6

17 June 2009, FEIT (211)

Tech Session #5

13 May 2009, ETF (Amphitheater)

Tech Session #4

08 April 2009, ETF (Amphitheater)

Tech Session #3

04 March 2009, ETF (Amphitheater)

Tech Session #2

26 January 2009, ETF (Conference hall)

2008

Tech Session #1

24 December 2008, ETF (Conference hall)

Sponsors

Supporters

Fork me on GitHub