Tags Posts tagged with "programowanie"

programowanie

przez -
0 1373
trendy_2019

Gawędzisz sobie z komputerowym asystentem kupując bilety lotnicze, zresztą asystent ten łapie co raz różniejsze pokłady czarnego humoru. Na ręku masz zegarek, dzięki któremu zarządzasz poszczególnymi etapami produkcji w fabryce po drugiej stronie świata, a nad zawiłymi procesami dyskretnie czuwają wszechwiedzące algorytmy kwantowe.

Czy to tylko nasza wyobraźnia, otóż nie. Razem z ekspertami Coders Lab wybraliśmy 6 gorących, najbardziej obiecujących technologicznych trendów, o których będzie głośno w 2019 roku. Gotowi?

Rozwój NLP. Czas pogadać z komputerem

Każdy z nas miał prawdopodobnie okazję do internetowej rozmowy z chatbotem, dochodząc w jej trakcie do wniosku, że wirtualni konsultanci długo jeszcze nie pozbawią pracy prawdziwych ludzi z działu obsługi klienta. Chatboty są coraz bardziej zaawansowane, a NLP (ang. natural language processing), czyli przetwarzanie języka naturalnego, to obszerna dyscyplina nie ograniczająca się do programowania, ale bazująca na osiągnięciach językoznawstwa, Big Data i sztucznej inteligencji. Głównym zadaniem NLP jest jak najwierniejsze przełożenie pełnego wieloznaczności ludzkiego języka, którym posługujemy się każdego dnia, na taki który jest w pełni zrozumiany przez komputery. I na odwrót.
W roku 2019 zapowiada się prawdziwa rewolucja w tej dziedzinie. W grudniu Facebook udostępnił swój framework PyText, który od teraz działa na zasadzie open-source’owej. Wciąż jednak istnieją zagadnienia, które trudno komputerom wytłumaczyć – takie jak ironia albo akcentowanie.

UX i UI produktu coraz ważniejsze

Bardzo mało jest na rynku takich aplikacji czy stron internetowych, które jako jedyne oferują daną usługę. Wybieramy te, z których korzysta się intuicyjnie i przyjemnie. Firmy dbające o doświadczenia użytkownika (UX) osiągają sukces, bo precyzyjnie definiują oczekiwania klientów i tworzą funkcjonalne rozwiązania.

  • Nawigacja 2.0: doświadczyli jej już użytkownicy Twittera, wkrótce zobaczymy ją pewnie w Google Maps i innych aplikacjach. Menu trafi na dół aplikacji (Bottom Sheets) dostosowując się do zasięgu kciuka, którym będziemy mogli je rozwinąć (Swipe Up gestures).
  • Lokalizacja: dane, gdzie znajduje się użytkownik, będą wykorzystywane w sposób znacznie bardziej zaawansowany, niż pokazywanie najbliższej restauracji. Inteligentne systemy pokażą treści w odpowiednim języku, dostosowane do lokalnego świata (kolory, treść, metafory) i w sposób odpowiadający na lokalne potrzeby.
  • VUI (ang. Voice User Interface): spodziewajmy się rozwoju systemów odczytujących i coraz lepiej interpretujących mowę użytkownika.

AR tak, VR jeszcze nie

Mimo dobrej prasy i passy wirtualna rzeczywistość wciąż czeka na swój najlepszy czas. Na razie oprócz gamingu i wyspecjalizowanych usług nie znajduje jeszcze szerokiego zastosowania w biznesie, marketingu, a nawet rozrywce. Za to ten rok przebojem zdobędzie jej młodsza siostra, czyli rzeczywistość rozszerzona – AR (ang. augmented reality). Póki co największe marki częściej eksperymentowały właśnie z AR niż z VR: Timberland pozwalał wirtualnie przymierzyć ubrania, L’Oreal i Sephora pokazywały twarz potencjalnych klientek z nałożonym make-upem, IKEA prezentowała w czasie rzeczywistym, przez ruch smartfona, mieszkanie umeblowane jej produktami.

Masz je na sobie. Wearables kolejną falą komputeryzacji

Według New York Times’a, twórcy smartfonów zdają sobie sprawę, że pierwszy szczyt ich możliwości został już osiągnięty. Po pierwsze, rynek bardzo się nasycił, a po drugie rośnie świadomość negatywnych konsekwencji społecznych jakie niesie za sobą uzależnienie od smartfonów. Wyjściem z sytuacji może być rozwój wearable devices. To przenośne urządzenia, podłączone do sieci, które można nosić na sobie, reagujące na mowę, gesty, ograniczające bezpośredni kontakt z ekranem smartfona: np. bezprzewodowe słuchawki AirPods, zegarki Wear OS od Google, opaski, rejestratory czy last but not least Apple Watch. Coraz więcej z tych urządzeń potrafi nawet trafnie monitorować stan zdrowia: wykrywa zaburzenia rytmu serca (97% dokładności), bezdech senny (90%), nadciśnienie (82%) i cukrzycę (85%), ma też funkcję EKG.

Programowanie kwantowe. Komputery automatyzują procesy

Prawdziwy przełom wciąż przed nami i liczę na to, że najbliższy rok przyniesie dobre wieści. Mam na myśli stworzenie super komputera kwantowego

– mówi Marcin Tchórzewski, CEO szkoły IT Coders Lab.

Podstawową jednostką informacji takiego komputera jest kubit, czyli bit kwantowy nieograniczony – jak klasyczny bit – zapisem do wartości 0 lub 1. Może on jednocześnie przybierać obie wartości, co radykalnie zmniejszy czas obliczeń z dni do sekund. W tej chwili ok. 100 korporacji na świecie pracuje nad prototypami algorytmów kwantowych. Są to podmioty z branży motoryzacyjnej (Volkswagen, Ford, Daimler, Toyota), chemicznej (Dow Chemicals), finansowej (Barclays, JP Morgan), czy telekomunikacyjnej (British Telecom). Ostra rywalizacja o rozwiązania i patenty w tej branży znakomicie rokuje na rynku pracy.

Standard 5G. Nadchodzi era internetu rzeczy

Odpowiedzią ną na nieustannie rosnący popyt na wysoko wydajne łącza internetowe jest wdrażany już standard sieci komórkowej 5G. Dziś potrzeba ta jest generowana w szczególności przez usługi strumieniowania wideo, w niedalekiej przyszłości ma jednak przede wszystkim sprostać rosnącemu ekosystemowi urządzeń internetu rzeczy (IoT), często operujących w trudno dostępnych miejscach. Sieć 5G będzie w stanie obsłużyć bardzo dużą liczbę urządzeń za pośrednictwem jednego nadajnika przy bardzo niskich opóźnieniach i znikomej interferencji. Nowy standard jest długo wyczekiwanym rozwiązaniem dla orędowników internetu rzeczy, który pozwoli zbudować zupełnie nowy rynek rozwiązań, produktów i usług dla użytkowników indywidualnych oraz dla firm i przemysłu.

przez -
0 1249
GLM, OpenGL Mathematics

GLM (openGL Mathematics) jest biblioteką matematyczną przeznaczoną do współpracy z OpenGL wykorzystywaną przez praktycznie każdy projekt oparty na tej drugiej. Ułatwia operacje na macierzach, wektorach, wykonywanie dowolnych transformacji i bardziej zaawansowane operacje na zwykłych liczbach, których na darmo szukać w bibliotece standardowej C++. Od poprzedniej wersji dodano do projektu kolejne 398 commitów.

Nowe funkcje:
  • Więcej prawo- i lewo-ręcznych rzutów (aka projekcji) i kontrola klipów,
  • Dodanie funkcji compNormalize i compScale do GTX_component_wise,
  • Dodanie packF3x9_E1x5unpackF3x9_E1x5 do GTC_packing dla RGB9E5,
  • Dodanie un/packHalf do GTC_packing,
  • Dodanie un/packUnorm i un/packSnorm do GTC_packing,
  • Dodanie 16 bitowego pakowania i rozpakowania do GTC_packing,
  • Dodanie 8 bitowego pakowania i rozpakowania do GTC_packing,
  • Dodanie brakujących operatorów bvec*: && i ||,
  • Dodanie iround i uround do GTC_integer, szybkie zaokrąglanie na dodatnich wartościach,
  • Dodanie surowego SIMD* API,
  • Dodanie ‘wyrównanych’** kwalifikatorów,
  • Dodanie GTC_type_aligned z wyrównanymi typami vec,
  • Dodanie rozszerzeń funkcji GTC_functions,
  • Dodanie Kwaternion-owych wersji isnan i isinf,
  • Dodanie lowestBitValue do GTX_bit,
  • Dodanie GLM_FORCE_UNRESTRICTED_GENTYPE pozwalającego na nie-podstawowy genType.
Poprawki:
  • Poprawienie SIMD oraz działania na kompilatorach GCC i Clang,
  • Poprawienie dokumentacji GTC_random linearRand,
  • Poprawienie dokumentacji GTC_reciprocal,
  • Poprawienie pokrycia GLM_FORCE_EXPLICIT_CTOR,
  • Poprawienie wsparcia wykrywania OpenMP dla Clang, GCC, ICC i VC,
  • Poprawienie GTX_wrap dla lepszej współpracy z SIMD,
  • Dodanie constexpr dla typów vec, mat, quat i dual_quat,
  • Dodanie wykrywania zbioru instrukcji NEON,
  • Dodanie wykrywania CPU Mips,
  • Dodanie wykrywania CPU PowerPC,
  • Wykorzystanie wbudowanej w CUDA funkcji jako implementację abs z kompilatorem CUDA.
  • Zastąpienie GLM_COMPILER_LLVMGLM_COMPILER_APPLE_CLANG uniwersalnym GLM_COMPILER_CLANG.
  • Brak ostrzeżeń kompilatora przy użyciu long long,
  • Dodanie większej ilości informacji podczas budowania programu.
Łatki błędów:
  • Naprawienie literówki w GTX_extended_min_max,
  • Naprawienie intersectRayTriangle by uniknąć nieplanowanego, tylnego cullingu,
  • Naprawienie ostrzeżeń przy long long w C++98 na GCC i Clang,
  • Naprawienie ścisłych ostrzeżeń aliasingu,
  • Naprawienie brakującego przeciążenia vec1 dla funkcji length2 i distance2,
  • Naprawienie testu GLM, parametry kompilatora /fp:fast i /Za są niekompatybilne,
  • Naprawienie funkcji rzutowania kwaternionu na mat3mat3_castGTC_quaternion,
  • Naprawienie GLM_GTX_io dla CUDA.
Przestarzałe funkcje:
  • Usunięcie definicji GLM_FORCE_SIZE_FUNC,
  • Oznaczenie jako przestarzałych:
    • GLM_GTX_simd_vec4,
    • GLM_GTX_simd_mat4,
    • GLM_GTX_simd_quat,
    • GLM_SWIZZLE (zastąpione przez GLM_FORCE_SWIZZLE),
    • GLM_MESSAGES (zastąpione przez GLM_FORCE_MESSAGES).

Przykładowy kod wykorzystujący GLM możecie zobaczyć tutaj.

*SIMD – Single Instruction Multiple Data, instrukcje (m.in. procesora) pozwalające na szybkie przeprowadzenie analogicznych operacji na dużych zbiorach danych. Procesory x86 udostępniają zwykle AVX, AVX2, SSE, SSE2, SSE3 itd., architektura ARM obsługuje zestaw instrukcji o bardzo wymownej nazwie – SIMD.
**Wyrównanie – ułożenie danych w pamięci tak, by procesor mógł szybciej uzyskać do nich dostęp lub zaoszczędzić kilka bajtów kiedy jest to potrzebne. Przykładowo na części architektur adresacja stronami jest szybsza niż w wypadku bajtów.

przez -
15 8308
java logo

Po wielu latach prac, Oracle ogłosił, że 22 września 2016 zostanie wydana nowa Java 9. Jest ona bardzo długotrwałym i żmudnym projektem, który rozpoczął się niemal od czasu gdy Oracle przejął firmę Sun Microsystems. Po tym zdarzeniu firma musiała skompletować od początku zespół, który rozpoczął proces zmian oraz modularyzacji języka. Pojawiły się nowe wersje Javy, w szczególności Java 8, oraz dużo poprawek błędów w trakcie trwania tego procesu.

Na początku maja szef architektów Java Platfom Mark Reinhold upublicznił harmonogram prac nad Java 9:

  • 2015-12-10: Feature Complete
  • 2016-02-04: All Tests Run
  • 2016-02-25: Rampdown Start
  • 2016-04-21: Zero Bug Bounce
  • 2016-06-16: Rampdown Phase 2
  • 2016-07-21: Final Release Candidate
  • 2016-09-22: General Availability

Jak widać, Reinhold daje Oracle dużo czasu pomiędzy etapami na ewentualne poprawki błędów. Największą zmianą w Javie 9 jest przejście do modułowości. Tak zwana “układanka” to zbiór klas, bibliotek i różnych innych danych wraz z metadanymi. Pierwszym moim skojarzeniem były pudełka z klockami, która można dokładać do projektu kawałkami w miarę potrzeby. Już widzieliśmy wstęp do wprowadzenia modułowości w Javie 8, a mianowicie były to profile kompaktowe. Ale te klocki zawarte w Javie 9 będą dużo mniejsze. Założeniem projektu jest usunięcie problematycznych plików RT i JAR, a zastąpienie ich przez profile kompaktowe (compact profiles).

Modułowość również poprawi bezpieczeństwo aplikacji, co jest bardzo potrzebne. Java 9 wprowadzi wyraźne różnice pomiędzy komponentami i jasno określi, co musi pozostać wewnątrz modułu, a co może się znaleźć na zewnątrz. Dzięki temu możliwość ataków poprzez odnoszenie się do metod, które poszerzą uprawnienia aplikacji lub jej dostęp do danych, pozostanie mocno zmniejszona. Nowy linker, który zajmie się linkowaniem modułu został nazwany jlink.

Pozostaje nam czekać cierpliwie na premierę długo wyczekiwanej przez entuzjastów języka Java nowej 9-tki.

Programistok

Programistok to niepowtarzalna konferencja, odbędzie się ona 10 października 2015 roku na Wydziale Elektrycznym Politechniki Białostockiej. Spotkanie jest skierowane dla programistów czterech języków programowania: C#, Ruby, Python oraz JavaScript. Jak to mówią do wyboru do koloru, każdy znajdzie coś dla siebie. Organizatorami konferencji Programistok są różne grupy entuzjastów języków programowania. Od społeczności dla społeczności. Kiedyś różnorodność tego miasta określały liczne narodowości, dzisiaj to mieszanka wielu technologii.

Grupy organizacyjne konferencji składają się z:

  • #bstoknet – Białostocka grupa .NET to jedna z prężniej rozwijających się grup w tym kraju. Rozwijają swoją pasję w tym języku co jest bardzo dobre, również dla osób, które zaczynają przygodę z tym językiem.
  • #brug – grupa programistów specjalizująca się w języku Ruby, często organizują spotkania swojej społeczności.
  • #pystok – Białostocka grupa związana z językiem Python, bardzo im zależy aby język, którego są entuzjastami jak najbardziej stał się popularny.
  • #bstokjs – grupa związana z JavaScript. Chcecie usłyszeć nowości na temat js? Nauczyć się czegoś niepowtarzalnego? Już wiedzie do kogo możecie się zwrócić.

Już wiemy jacy goście wystąpią w trakcie spotkania z wykładami:

  • Tomasz Kopacz– Współpracuje z architektami oraz projektantami systemów wykorzystujących, między innymi, technologie Microsoft. W ramach współpracy doradza przy wyborze właściwych elementów pozwalających rozwiązać określony problem. Zajmuje się również prezentacją wzorców i dobrych praktyk architektonicznych oraz szeroko pojętym wykorzystaniem technologii .NET, serwerów Microsoft, Microsoft Azure i różnych narzędzi wspierających prowadzenie projektów
  • Andrzej Krzywda – Lider polskiej społeczności Ruby, założyciel firmy Arkency, prelengent, autor książek( m.in “Fearless Refactoring: Rails controllers“)
  • Norbert Wójtowicz – jest deweloperem Base CRM, jego kod można znaleźć na Github
  • Jakub Gutkowski – pasjonat programowania, uwielbia nowinki technologiczne oraz bawić się językami programowania oraz bibliotekami. Czynny uczestnik wielu konferencji, często pomaga innym w tym trudnym starcie w zawodzie.
  • Paweł Żmiejko – Współzałożyciel startupu noxai.com zajmującego się wykorzystaniem sztucznej inteligencji w analizie dokumentów prawnych. Zafascynowany zagadnieniami sztucznej inteligencji. Bierze aktywny udział w rozwoju społeczności technologicznej w Polsce i lokalnie w Białymstoku. Współorganizator pierwszych w Polsce konferencji informatycznych takich jak Devops Days i pyData.

Oprócz zaproszonych gości, wykładać będą wybrani prelegenci wyłonieni przez organizatorów pośród wysłanych zgłoszeń Call for proposals. Organizatorzy zapraszają na fanpage na FB: www.facebook.com/programistok, gdzie będą się pojawiać informacje i aktualizacje. Resztę informacji można znaleźć na stronie konferencji.

Polecane

0 283
Konferencja Open source w biznesie to bezpłatne wydarzenie poruszające tematykę rozwiązań otwartych i ich praktycznego zastosowania w przedsiębiorstwie. Wydarzenie ma na celu zrzeszenie zawodowych...
pyconcz

0 227