IV edycja otwartej, darmowej konferencji
poświęconej zagadnieniom informatycznym
19 listopada 2016, Gliwice

Program

Trzy niezależne ścieżki tematyczne, prowadzone w ramach konferencji, umożliwią uczestnikom indywidualny dobór prelekcji. Dostępne będą następujące tematyki:

Inżynieria oprogramowania
Tworzenie gier komputerowych
Biznes i rozwój
Audytorium A Audytorium B Audytorium C Audytorium D Audytorium E
8:30 Rejestracja uczestników
9:30 Rozpoczęcie (Audytorium A)
10:10
Are you familiar with Test Doubles Patterns?
Sebastian Malaca (Luxoft)

Are you familiar with Test Doubles Patterns?

Sebastian Malaca (Luxoft), 10:10 - 11:10, Audytorium A

We usually call them mocks. However, there are more patterns and it is really good to know them all. Why? Because it will make your tests simpler and more readable. Using Test Double Pattern in the right place helps you to express precise intention and behaviour of the objects.

During the talk I will explain the difference between those patterns. I will also show you how they can increase the quality of your tests. And, finally, I will show you what happens when we abuse the usage of Test Doubles. 

Prezentacja odbędzie się w języku polskim.

Pimp your team! Coaching w pracy Scrum Mastera.
Małgorzata Dec (Future Processing) / Karolina Trzcionka (Future Processing)

Pimp your team! Coaching w pracy Scrum Mastera.

Małgorzata Dec (Future Processing), Karolina Trzcionka (Future Processing), 10:10 - 11:10, Audytorium B

Prelekcja prowadzona przez doświadczonych coachów / team coachów z przeszłością liderską, pracujących w Future Processing - software house, który od kilku lat z sukcesem wdraża agile w swoich projektach. Tematyką prelekcji jest znaczenie i wykorzystywanie coachingu w pracy Scrum Mastera, skupiając się na konkretnych narzędziach i ich praktycznym użyciu. Omówimy zagadnienia związane ze sztuka zadawania pytań, filozofia małej zmiany czy postawa coachingowa w roli lidera służebnego. Pokażemy również konkretne narzędzia takie jak GOLD. Chcemy, żeby nasza prelekcja była dla Scrum Masterów początkiem (lub kontynuacją) drogi w kierunku włączania elementów coachingu do swojej pracy.

Przenieś grę do Internetu, czyli o tym, jak przy użyciu Emscripten uruchomić aplikacje w przeglądarce.
Mateusz Borycki (Huuuge Games)

Przenieś grę do Internetu, czyli o tym, jak przy użyciu Emscripten uruchomić aplikacje w przeglądarce.

Mateusz Borycki (Huuuge Games), 10:10 - 11:10, Audytorium C

Wyobraź sobie, że uruchomienie Twojej gry jest tak proste jak otwarcie linka w przeglądarce… Bez instalacji, pluginów albo próśb o dodatkowe uprawnienia. Brzmi jak marzenie? To rzeczywistość!

Na mojej prezentacji dowiesz się czym są asm.js i webAssembly, czyli technologie pozwalające to osiągnąć poprzez uruchomienie natywnych aplikacji w sandboksowanym środowisku przeglądarki. Powstaje pytanie czy asm.js i webAssembly mogą stać się częścią przyszłych gier komputerowych? Odpowiedź jest prosta: Na pewno są obiecującą technologią. To zdanie podzielają developerzy znanych silników, jak Unity i UDK, które już umożliwiają wybór asm.js jako platformy docelowej. W swojej prezentacji przedstawię jakie ograniczenia posiada platforma asm.js oraz jak wpływają one na portowanie istniejących aplikacji. Na przykładzie pokażę, jak sobie z nimi radzić oraz na co zwracać szczególną uwagę przy projektowaniu nowej aplikacji. Na wykładzie dowiecie się jak wygląda integracja kodu w Javascripcie z natywnym kodem skompilowanym do asm.js oraz na własne oczy zobaczycie porównanie wydajności zwykłego javascriptu, asm.js oraz webAssembly.

Czy demoscena to dobre miejsce, żeby zacząć swoją przygodę z gamedevem? Czyli o znaczeniu demosceny w polskim i zachodnim gamedevie.
Łukasz Słowak (Jujubee)

Czy demoscena to dobre miejsce, żeby zacząć swoją przygodę z gamedevem? Czyli o znaczeniu demosceny w polskim i zachodnim gamedevie.

Łukasz Słowak (Jujubee), 10:10 - 11:10, Audytorium D

Gdy pojawiły się pierwsze gry komputerowe, to też pojawiła się demoscena. Tworzenie dema czy też inter, to ciągły proces, uczenia się nowych technologi od innych, oraz nauka pracy w większej grupie. Wielu dzisiejszych pracowników branży gier, swoje pierwsze kroki stawiało na demoscenie i też tam nabywało swoje pierwsze umiejętności.  Warto się przyjrzeć historii, najważniejszym produkcją demoscenowym, oraz ludziom, którzy wywodzą się z tego nurtu. 

Czego może nauczyć się grafik, programista lub muzyk z demosceny. Jakie aspekty technologiczne są wykorzystywane przy produkcji dem lub inter, które potem przekładają się na prace w branży gier. Opowie o tym wszystkim i pokaże wraz z przykładami, wieloletni członek demosceny.

11:10 Przerwa kawowa
11:30
P&A + DDD + CQRS = OO
Łukasz Szydło (Bottega IT Solutions)

P&A + DDD + CQRS = OO

Łukasz Szydło (Bottega IT Solutions), 11:30 - 12:30, Audytorium A

Większość aplikacji webowych jest dziś tworzona w architekturze 3-warstwowej. Pytanie dlaczego tak jest? Czy jest to szczyt naszych możliwości? Czy jest to zawsze najlepszy wybór? Jakie są alternatywy i kiedy opłaca się na nie zdecydować?  Chciałbym wam opowiedzieć o moich doświadczeniach i przemyśleniach w tym temacie. Zapraszam.

ScriptableObject, bo Unity to nie tylko MonoBehaviour
Adam Nosal (Anshar Studios)

ScriptableObject, bo Unity to nie tylko MonoBehaviour

Adam Nosal (Anshar Studios), 11:30 - 12:30, Audytorium B

Czy nie dręczy Cię już wszechobecny MonoBehaviour w Unity?
Czy da się pisać logikę gry inaczej niż przypinając ją do każdego GameObject'u?

Rozwiązaniem tych problemów jest ScriptableObject. Wykład poruszy tematy:

  • jak stosować to rozwiązanie - kiedy możesz/powinieneś go użyć
  • jak wygląda serializacja - jakie ma możliwości i zalety
  • jakie ma ograniczenia oraz wady
  • z jakimi wzorcami projektowymi to rozwiązanie dobrze współpracuje
  • jak poprawić swoje stosunki z designerami

Wykład będzie zawierał również przykładową implementację w Unity.

Architektura lambda pod lupą
Kamil Folkert (3Soft)

Architektura lambda pod lupą

Kamil Folkert (3Soft), 11:30 - 12:30, Audytorium C

  1. O danych szybkich i wolnych, czyli o strumieniach i batchach
  2. O łączeniu wody z ogniem, czyli jak analizować dużo i szybko
  3. O bezpieczeństwie i efektywności w analityce, czyli jak się dzielić mocą i pamięcią

Praktyczne wdrożenie platformy do efektywnego przetwarzania i składowania dużych zbiorów danych to szukanie ciągłych kompromisów. Sizing klastra pod kątem obsługi strumieni danych, czy bezpiecznego przechowywania z gwarantowaną dostępnością danych? Bezwzględne bezpieczeństwo danych, czy nieskrępowana inwencja analityków? Praca u podstaw na danych surowych, czy szybkie raportowanie z użyciem agregatów? Nigdy nie są to łatwe decyzje projektowe, zwłaszcza w obliczu szybkozmiennej technologii rozwijanej przez społeczność. Jak więc rozumieć architekturę lambda, która próbuje te zagadnienia opisać? Czy zawsze należy bezkrytycznie implementować wszystkie jej elementy? W jaki sposób w ramach takiej architektury zapewnić bezpieczeństwo danych i gwarancje dostępności zasobów? O tym i innych wyzwaniach, na przykładach z wdrożeń w największych firmach w Polsce, opowie Kamil Folkert (3Soft S.A.).

Programowanie hybrydowe w Unreal Engine 4 (Blueprint + C++)
Łukasz Czechowicz (Alrauna Studio)

Programowanie hybrydowe w Unreal Engine 4 (Blueprint + C++)

Łukasz Czechowicz (Alrauna Studio), 11:30 - 12:30, Audytorium D

Czy można zrobić grę na silniku Unreal Engine 4 tylko na Blueprint? Oczywiście, że tak. Czy można na samym C++, oczywiście. Tylko pytanie po co?

Oba te sposoby tworzenia logiki gry maja swoje plusy i minusy i warto skorzystać z obydwu korzystając z ich zalet, które się uzupełniają.

W ramach prelekcji dowiesz się o zaletach i wadach obu rozwiązań. Jak łączyć te techniki oraz jak tworzyć własne kontrolki Blueprint z wykorzystaniem C++.

12:30 Przerwa obiadowa
13:10
11 grzechów głównych ludzi z branży IT
Wojtek Gawroński (Appliscale)

11 grzechów głównych ludzi z branży IT

Wojtek Gawroński (Appliscale), 13:10 - 14:10, Audytorium A

Uważam, że złośliwość jest najwyższym wyrazem zainteresowania. A do tego narzekanie na innych to sport narodowy w którym przodujemy (szczególnie w Polsce).

Kontynuując w tym duchu jako aktywna część branży IT, postanowiłem wybrać 11 rzeczy, którymi grzeszą członkowie tej społeczności (disclaimer: ja nie byłem wyjątkiem).

Jeśli jesteście gotowi usłyszeć kilka gorzkich słów, być może może odnaleźć wśród tych 11 tematów również swoje wady a do tego spędzić chwilę na autorefleksji - zapraszam na prezentację.

Obiecuję, że nie będzie nudno. ;)

Wprowadzenie do Actor Model
Łukasz Szymik (SAP Hybris)

Wprowadzenie do Actor Model

Łukasz Szymik (SAP Hybris), 13:10 - 14:10, Audytorium B

Actor model rozwiązuje wiele problemów w programowaniu współbieżnym. Pomaga implementować skuteczne i wysoce wydajne systemy. Zapoznamy się z historią, podstawami matematycznymi, jak i doświadczeniem autora, opartym na wprowadzeniu modelu do serwisów produkcyjnych.

Sztuczna inteligencja w grach wideo
Grzegorz Mazur (Vile Monarch)

Sztuczna inteligencja w grach wideo

Grzegorz Mazur (Vile Monarch), 13:10 - 14:10, Audytorium C

O tym jak tchnąć życie w modele 3d czy pixelowe postacie. Sprawić by myślały i wchodziły w interakcję z graczem. Przegląd najpopularniejszych obecnie koncepcji i technik tworzenia AI w grach, pełen przykładów z gier takich jak Crush Your Enemies czy This War of Mine.
Rozproszona i asynchroniczna architektura - case study
Krzysztof Szabelski (Future Processing)

Rozproszona i asynchroniczna architektura - case study

Krzysztof Szabelski (Future Processing), 13:10 - 14:10, Audytorium D

Przez półtorej roku tworzyłem rozwiązanie oparte o usługi PaaS. Aby osiągnąć wysoką dostępność, odporność na awarie i zdolność obsługi znacznego ruchu, kierowaliśmy się dwoma zasadami: dzielimy system na wiele małych serwisów i baz danych, oraz kluczowy ruch obsługujemy asynchronicznie.

W trakcie prelekcji opowiem na ile takie podejście rozwiązało problemy, do których zostało zastosowane oraz czy z perspektywy czasu uważam je za warte poświęconego czasu.

Drugim bardzo istotnym elementem projektu, było wykorzystanie usług Microsoft Azure jako platformy wdrożeniowej. Opowiem jak poszczególne usługi poradziły sobie z wyzwaniem oraz co nieco o kosztach. Nie będziemy bynajmniej przeglądać cenników, powiem za to w co zainwestować, żeby zrobić, ale się nie narobić.

Zapraszam na moje wystąpienie, minimum teorii, maksimum własnych doświadczeń!

The meetings you want to have
Sebastian Malaca (Luxoft)

The meetings you want to have

Sebastian Malaca (Luxoft), 13:10 - 14:10, Audytorium E

“More meetings mean less time for work”. Is it true? Sometimes yes. When? In situations when you don’t see any progress after a meeting. When you are bored or exhausted after it.
When a meeting was only about talking and not about moving forward.

This talk will help you to change this. 
To turn valueless talks into productive discussions.

Prezentacja odbędzie się w języku polskim.

14:10 Przerwa kawowa
14:30
Czy istnieje życie na innych planetach czyli nie samym projektem programista żyje
Maciej Gdula (EUVIC)

Czy istnieje życie na innych planetach czyli nie samym projektem programista żyje

Maciej Gdula (EUVIC), 14:30 - 15:30, Audytorium A

Jak wyznaczać sobie realne cele? W jaki sposób uniknąć wypalenia projektem? Jak zachować równowagę pomiędzy pracą a życiem? Czy można być coachem dla samego siebie i co oznacza „wyjść ze strefy komfortu”? Jeśli coaching i rozwój osobisty kojarzy Ci się z kimś, kto mentorskim tonem będzie opowiadał Ci jak masz żyć, przekonaj się, że coaching to coś zupełnie innego. Coś, co może pomóc Ci w planowaniu pracy, zarządzaniu czasem i wypoczynku. Obiecuję - nie będę namawiał Cię do ujawnienia swoich ukrytych mocy :)

Kim jest programista gier?
Katarzyna Niżałowska (Techland) / Andrzej Blumenfeld (Techland)

Kim jest programista gier?

Katarzyna Niżałowska (Techland), Andrzej Blumenfeld (Techland), 14:30 - 15:30, Audytorium B

W trakcie wykładu postaramy się odpowiedzieć na pytanie kim jest programista gier, czym się zajmuje oraz jakie umiejętności i wiedzę musi posiadać. Opowiemy także o kilku ciekawych problemach, z którymi zmierzyliśmy się w trakcie produkcji gry Dying Light.
Jak uniknąć buzz word driven development i jak rozpoznać koncepcje, które pozostaną z nami na lata?
Witold Adamus (XSolve)

Jak uniknąć buzz word driven development i jak rozpoznać koncepcje, które pozostaną z nami na lata?

Witold Adamus (XSolve), 14:30 - 15:30, Audytorium C

Społeczność programistów nastawiona na dzielenie się wiedzą zalewa nas w ostatnich latach tysiącami nowych pomysłów i technologii. Prelekcja ma na celu przybliżenie sposobów na to jak oddzielić ziarna od plew, oraz przybliżyć część koncepcji, które mają potencjał pozostać w branży przez długi czas. Na wykładzie dowiesz się jaka jest przyszłość wysokoskalowalnych aplikacji działających w środowisku rozproszonym, oraz jak paradygmant programowania funkcyjnego pomaga nam w osiągnięciu tego celu.

Szybkie prototypy - niesamowite przygody
Piotr Trochim (BotPerfect)

Szybkie prototypy - niesamowite przygody

Piotr Trochim (BotPerfect), 14:30 - 15:30, Audytorium E

Gdy kucharz gotuje potrawę i coś z nią jest nie tak, dokłada jedną przyprawę, potem trochę makaronu albo innego składnika.
Potem miesza, smakuje, i powtarza proces.
Czasem wychodzi z tego majstersztyk. Dużo częściej - zwykłe spaghetti.

Nad wyraz często świadomie "przegapiamy" ten pierwszy znak, że coś jest nie tak, brnąc w problem do momentu, gdy jest za późno.

W niniejszej prezentacji przeanalizuję ten fenomen oraz sposoby skutecznego radzenia sobie z nim przy użyciu magicznej zasady - dziel i rządź:

  • dlaczego prototypy są dobre w każdej fazie projektu, a nie tylko na jego początku
  • jak zmienić żmudne przeklikiwanie w debuggerze w ciekawą przygodę
  • co robić, by nie tracić z oczu problemu, który staramy się rozwiązać

I jak Indiana Jones ze swym kapeluszem i batem, opuścisz salę uzbrojony w dwa potężne akcesoria - kompilator i debugger.
A dotychczasowa dżungla kodu stanie się Twą dżunglą przygód.

15:30 Przerwa kawowa
15:50
Graphs are everywhere
Jarosław Pałka (allegro.tech / Symentis)

Graphs are everywhere

Jarosław Pałka (allegro.tech / Symentis), 15:50 - 16:50, Audytorium A

I invite you for a ride into the world of graphs, during which we will look at the theory of graphs and Neo4j database.

After, a brief theoretical introduction, we will get familiar with the Cypher language.

We will build, materialize and traverse graphs, from the small to the large. We will learn about algorithms and techniques for the analysis of social networks and learn the basics of recommendation engines.

All this with the help of one of the most beautiful language, that was created by Neo4j, which combines the expressiveness of good old SQL and the power of search patterns in graphs, and all this will look like the good old "ASCII art".

I hope that after this workshop you will have a good feel how Cypher works and what everyday problems you can solve with it, not getting crazy with JOIN clause and the Cartesian product.

During the workshop, we will be analysing social trends in our email inboxes and search recommendations in movies database.

We will learn foundations of Cypher syntax and some interesting algorithms and modelling techniques in graphs.

Prezentacja odbędzie się w języku polskim

Jak wróżyć z fusów skoro najczęściej pijemy kawę z ekspresu?
Marek Gajda (The Software House)

Jak wróżyć z fusów skoro najczęściej pijemy kawę z ekspresu?

Marek Gajda (The Software House), 15:50 - 16:50, Audytorium B

Każdy programista przynajmniej raz w życiu usłyszy magiczne słowa “Mam taki projekt… Ile to zajmie?”. Jak radzić sobie z odpowiedzią, kiedy nie mamy jeszcze wszystkich szczegółów, a jedynie ogólny zarys tego, co trzeba wykonać? Podzielę się z Wami moimi doświadczeniami z szacowania projektów i opowiem o tym, jak najskuteczniej wróżyć z fusów.

Programowanie obiektowe i komponentowe w architekturze gry komputerowej
Aleksander Kauch (11 Bit Studios)

Programowanie obiektowe i komponentowe w architekturze gry komputerowej

Aleksander Kauch (11 Bit Studios), 15:50 - 16:50, Audytorium C

Analizowanie różnych architektur i zdecydowanie się na jedną z nich nie jest konieczne do sprawnego zaprogramowania rozgrywki, a wręcz może wydłużyć czas powstawania grywalnego produktu. Prostą grę można napisać dowolną metodą. Jednak nawet proste gry mają tendencję do rozrastania się, obrastania w drobne funkcjonalności. Proces tworzenia gry jest iteracyjny i wraz z każdą iteracją wiele elementów ulega zmianie. Ważniejsze od szybkiego efektu staje się sprawne dodawanie i usuwanie drobnych części gry, a w tym bardzo pomocne jest trzymanie się pewnych, często sprawdzonych wcześniej, założeń. Prelegent przedstawi dwa podstawowe podejścia, na bazie których projektuje się architektury gry - podejście obiektowe oraz komponentowe. Przybliżone będą różnice między nimi oraz przypadki w jakich dobrze jest stosować każde z nich.

Level designer survival kit. Proste narzędzia do edycji złożonych danych.
Jakub Węglarz (Artifex Mundi) / Sarin Suriya (Artifex Mundi)

Level designer survival kit. Proste narzędzia do edycji złożonych danych.

Jakub Węglarz (Artifex Mundi), Sarin Suriya (Artifex Mundi), 15:50 - 16:50, Audytorium D

Narzędzia to bardzo ważna część developmentu. Im więcej uwagi pochłania walka z ich niedoskonałościami, tym mniej jej dostaje sam produkt. Narzędzia to także część produkcji, której najłatwiej obciąć budżet. W prezentacji pokażemy narzędzia i praktyki, jakich dorobił się zespół Bladebound. Można je zaimplementować bez wielkiego nakładu sił i środków. Mimo że przykłady są oparte o ten konkretny projekt i silnik Unity3D, metoda za nimi stojąca jest dosyć uniwersalna.
Functional programming in the wild
Wojtek Gawroński (Appliscale)

Functional programming in the wild

Wojtek Gawroński (Appliscale), 15:50 - 16:50, Audytorium E

Bardzo dużo w ostatnich latach mówi się o programowaniu i językach funkcyjnych. Argumentacja podnoszona jest coraz częściej w rzeczywistości, która coraz mocniej popycha Nas w kierunku systemów rozproszonych (IoT, rozbudowane aplikacje webowe i systemy) i potężnych wieloprocesorowych maszyn.

Nie można mówić o wadach i zaletach rozwiązań, izolując rozmowę od rzeczywistego kontekstu, dlatego zaprezentuję "inność" tego paradygmatu na praktycznych przykładach. Skorzystamy przy tym z domeny, która bardzo mocno równoległa i implementacji w postaci dużego rozproszonego systemu.

16:50 Zakończenie (Audytorium A)
17:30 Zamknięcie
Korzystając z tej strony, zgadzasz się na zapisywanie przez nas plików cookie na Twoim komputerze zgodnie z naszą polityką prywatności.

Sponsor platynowy

Sponsor złoty

Sponsor złoty

Sponsor złoty

Sponsor złoty

Sponsor złoty