Tags Posts tagged with "programowanie"

programowanie

przez -
0 801
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 7212
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

Prasa, Czasopismo

1 815
Ukazało się Linux Magazine – numer 161. Lipcowe wydanie magazynu zawiera analizę tworzenia bardziej czytelnych wyrażeń regularnych z Simple Regex Language, instrukcje zabezpieczania i...