środa, 31 maja 2017

[DSP2017] 32# Daj się poznać 2017 - kilka słów na zakończenie

W zeszłym roku napisałem podsumowanie z DSP dopiero… po gali. Tym razem postąpię inaczej i tak jak większość osób napiszę takiego posta w ostatni dzień DSP, czyli teraz.

Poprzednio wybrałem sobie dyskotekowe aplikacje mobilne reagujące na muzykę i komunikujące się z diodami Raspberry Pi, teraz odleciałem znacznie mocniej… w rzeczywistość mieszaną (Mixed Reality) z HoloLens. Tematykę poznawałem od zera, a ostateczny temat wykreował się w trakcie tych trzech miesięcy. Po poznaniu możliwości platformy zapadła decyzja o realizacja prototypu gry SurvivalShooter (z tutoriala Unity) na magiczne okulary, który zacząłem nazywać Holo Survival Shooter. Co ciekawe… nie miałem do dyspozycji  fizycznego sprzętu, a jedynie emulator, ale nie przeszkodziło mi to w poznaniu wielu zagadnień związanych z Unity 3D i HoloLens. A jak pojawi się możliwość dostępu do okularów, będzie już coś w zanadrzu… na urozmaicenie otaczającego pokoju.

Oczywiście trzeba by to jeszcze tu i ówdzie dopracować, a fizyczny sprzęt od pewnego momentu zaczyna być już do tego niezbędny, jednak powstało coś zabawnego i pierwsze szlaki zostały przetarte. Mało tego wyszedłem poza standardową “szkolną” tematykę z HoloLens i dotarłem w kodowaniu do mniej opisywanych bardziej zawansowanych zagadnień. Udało się zrealizować dynamicznie tworzenie nawigacji z elementami NavMeshAgent czy kolizje samej kamery z postaciami!  Co ciekawe, raz musiałem posiłkować się…  czytaniem japońskich blogów. Generalnie podsumowując można postrzelać sobie do zombi, które lezą po podłodze pokoju do mnie, a i mogą pozbawić życia jak się zbliżą za blisko.

Z innych ciekawych momentów nasuwa mi się szczególnie eksperyment z Vuforią, jak wzbogaciłem płytę trzymaną na swoją głową o… jakże by inaczej, o czajnik! Można powiedzieć, że to taki ukłon w stronę muzyka zwanego Zacierem, tyle że czajnik w moim przypadku w rzeczywistości nie istniał.

zacier

Tegoroczna korekta reguł DSP zezwalała na wzbogacenie poruszanych cotygodniowo treści i to był strzał w dziesiątkę pomysłodawcy. Pewne przerwy od jednego tematu są nieraz wskazane, w moim przypadku przekuło się to na - może jeszcze nieśmiały - romans z Pythonem oraz obfite dzielenie się wrażeniami i newsami z sesji tegorocznego BUILD’a.

Co dalej? Generalnie nie jestem tu od wczoraj, tych trzech miesięcy czy nawet trzech lat, więc pewnie nadal tu będę, choć może nieco mniej intensywnie niż w okresie DSP. Dodatkowo od zeszłego roku aktywnie komentuję rzeczywistość IT na twitterze. Co dalej z rzeczywistością mieszaną? Zobaczymy, może wprowadzę jakieś udoskonalenia tego, co powstało. Oprócz pewnych rzeczy związanych z kolizjami i kierunkiem chodzenia, pasowałoby dodać jakiś ogień do wystrzału. A może strzelać z ręki przy pomocy gadżetów, które zostały zaprezentowane na BUILD? Z pewnością dostęp do okularów wpłynąłby istotnie na takie prace.  Inną tematyką, którą chciałbym się bliżej przyjrzeć w jakiejś tam mierzalnej przyszłości jest szeroko rozumiany machine learning. Poznawanie składni Pythona to był mały kroczek w tym kierunku. Zresztą zastanawiałem się czy nie iść w te rejony jak pewna ilość osób w tegorocznym DSP, ale ostatecznie wybrałem rzeczywistość mieszaną i nie żałuję.

[DSP 2017] 31# BUILD 2017 odc.7 (Windows & Linux, UWP, XAML, Python, R, ML)

Witam w kolejnym kolażu z BUILD’a. Oprócz bardziej tradycyjnej tematyki jak UWP czy XAML, mamy zgrabne podsumowanie ile Linuksa mieści się już w Windows 10 oraz wreszcie dochodzimy do gwoździa programowego BUILD 2017, czyli machine learning jak sądzę. Tak, tradycyjne programowanie w C# czy nawet JavaScript się kończy i przyjdzie pewnie kiedyś pisać nam obróbkę danych w SQL, Pythonie lub R oraz rysować wykresy z analizami jak w ostatnich 4 prezentacjach… Nie ma w sumie w tym dziś dużego odkrycia, te języki i biblioteki z algorytmami są dostępne także poza produktami Microsoftu, ale na pewno warto zwrócić uwagę na prezentacje tego rodzaju. Trochę szkoda, że skupiają się one w większości na narzędziach, co z jednej strony zrozumiałe, bo chodzi o pokaz produktów firmy, ale przydałoby się więcej teorii i omówienia ogólnie dostępnych bibliotek. Wiem, co mówię, bo w lutym pooglądałem trochę niezależnych szkoleń z tej tematyki i zgromadziłem pewną ilość książek, by nabrać nieco orientacji. To wierzchołek góry lodowej! Z tą górą zaczęła się mierzyć pewna ilość uczestników tegorocznego DSP, też to rozważałem, ale postanowiłem wykonać jeszcze woltę w bok z mieszaną rzeczywistością…

 

Using the Windows Subsystem for Linux and the Windows Console for a next generation development experience

image

image

image

image

image

image

image

image

image

 

Nextgen UWP app distribution: Building extensible, stream-able, componentized apps

image

image

image

image

image

AppxContentGroupMap.xml

Nie trzeba definiować wymaganych plików. Należą do nich wszystkie niewymienione w sekcji Automatic.

image

lub (jeśli zależy nam na jak najmniejszej ilości plików wymaganych)

image

sterowanie kolejnością

image

image

image

image

image

image

image

image

image

imageimage

image

dość oldchoolowe wywołanie kodu natywnego z dodatku

image

image

image

Co dalej w Fall Creators Update i później?

image

image

image

image

image

Instalacja spoza Store

image

image

 

XAML custom controls for UWP: Start to finish

image

Telerik ma nie tylko data grida, ale także data form

image

własne kontrolki

rozszerzanie istniejących:

image

tworzenie nowych od zera:

image

podobnie jak w WPF

image

image

 

A lap around R Tools 1.0 for Visual Studio 2017

Nowe okno Workspaces z różnymi wersjami R. Z okna edytora można zlecić wykonanie w interaktywnym oknie zaznaczonego kodu.

image

Można łączyć się ze zdalnym R na Azure i debugować. Klikamy Attach Debugger, a potem kod w edytorze oznaczamy poleceniem ‘Source R Script’ z menu kontekstowego.

Podgląd zmiennych w Variable Explorer. Wygodny podgląd tabel.

image

Trwają prace nad łączeniem z R działającym na Linuksie. Tutaj wynik wywołania plot na zdalnej maszynie.

image

 

A lap around Python tools in Visual Studio

image

image

profiling

 

Using Visual Studio for Machine Learning

Python, R i F#

image

image

Baza IntelliSense dla pakietów alternatywnie do listy pakietów.

image

image

imageimage

Procedura SQL z R

image image

Łatwy deployment na SQL Server

image

uruchamiamy i dostajemy wynik w Visual Studio

image

 

Fraud detection for a mobile banking app using Cortana Intelligence Suite

image

image

image

image

image

po obróbce danych zwiększa się nieco procent oszustw

image

trochę tych kroków jest…

image

image

Dokładność rozpoznawania: 0,994

image

image

image

image