#main, 20 czerwca 2016

By 20 czerwca 2016#main

Kolejny poniedziałek, kolejny #main! Dzisiaj m.in. o tym, co ma piernik do wiatraka i mała wycieczka w przeszłość z PTI.

Cykl #main to punkt początkowy Waszego tygodnia,  prasówka, w której zbieramy ciekawe linki, dzielimy się informacjami, a także podsyłamy programistyczne zadanie. Mamy nadzieję, że w ten sposób umilimy Wam poniedziałkowy powrót do rzeczywistości ;)

Podsumowanie ankiety z zeszłego tygodnia

wyniki ankiety.001

Jak się okazuje jednym z najważniejszych aspektów telefonu jest jego system operacyjny! Dopiero na kolejnych pozycjach znalazły się cena, czas pracy na baterii czy jakość robionych zdjęć a nawet producent – zdaje się, że programiści lubią Androida :)

Stypendia dla dziewczyn w IT

Ostatnio coraz częściej pojawiają się inicjatywy wspierające start w branży nowych technologii – tym razem trafiliśmy na dość ciekawy program stypendialny dla dziewczyn. Jako że nabór wniosków trwa do 30 czerwca, zachęcamy do spróbowania i złożenia wniosku!

Strona projektu

Zabawy danymi i niezwykłe korelacje

W języku polskim mamy powiedzenie ‚co ma piernik do wiatraka’ – okazuje się, że może mieć bardzo wiele (a przynajmniej na podstawie danych). Spurious correlations to zbiór ciekawych korelacji pomiędzy fizycznie niezwiązanymi danymi, które dają do myślenia – może jednak coś w tym jest ;)

Wykresy z opisami w serwisie tylervigen.com

Archiwum polskiej informatyki

Bardzo wiele osób jest przekonana że rewolucja informatyczna odbyła się za oceanem i później dotarła też do nas – o ile częściowo jest to prawda (przynajmniej z punktu widzenia dostępności elektroniki konsumenckiej), to Polacy mają też wiele zasług w jej rozwoju – szczególnie w obrębach analizy logicznej oraz technologii wytwarzania. Więcej ciekawostek, biografii i różnych informacji związanych z historią informatyki z perspektywy naszego kraju znajdziesz na stronie historiainformatyki.pl – są tam m.in. archiwalne materiały udostępnione przez PTI (Polskie Towarzystwo Informatyczne) – polecamy!

Archiwum w serwisie historiainformatyki.pl

(nie do końca) cyber – waluty

Ta sytuacja jest ciekawa na 2 płaszczyznach – ale po kolei ;) W ostatni piątek miała miejsce jedna z największych kradzieży ostatniego czasu – skradziono 50 mln $. Mechanizm (jak się wydaje póki co) był banalnie prosty – ponieważ mówimy o jednej z kryptowalut, przestępca wykorzystał bug w kodzie, który pozwolił mu ‚ponawiać’ transakcje transferu określonej ilości pieniędzy, pomijając sprawdzenie czy ma do tego prawo. I w tym miejscu zaczynają się ciekawe rzeczy.

Ponieważ wartość kryptowaluty jest zaszyta w kodzie programu, który ją obsługuje, jednym z pomysłów na ‚anulowanie’ tej kradzieży jest modyfikacja kodu programu w taki sposób, żeby udawał że te transfery nie zostały dokonane. Brzmi to w porządku, w końcu dokonano kradzieży – ale pojawia się pytanie co się stanie, jeśli jeden z twórców zapragnie ‚anulować’ któryś z dokonanych przez siebie ‚przelewów’ ? Czy nadal jest to kryptowaluta – w założeniu niepodatna na wpływy polityczne, oparta jedynie na matematyce – skoro decyzją grupy programistów można tworzyć ‚wyjątki’ ?

Z drugiej strony jest to ciekawy inżyniersko problem – system, z którego wykradziono kwotę został napisany w języku Solidity – ot, kolejnym wysokopoziomowym języku, który w założeniu ma uprościć tworzenie oprogramowania i przyspieszyć czas jego wydania. Rzecz w tym, że błąd najprawdopodobniej wynika ze specyfiki języka i tego, że dość łatwo w nim pominąć określone czynności. To pokazuje jak łatwo współcześnie ufamy narzędziu, nie poświęcając należytej uwagi na weryfikacji tego narzędzia (i naszej wiedzy o nim).

Polecamy pełny artykuł na ten temat (link poniżej).

Artykuł w serwisie wired.com

Odpowiedź na pytanie z zeszłego tygodnia

A pytaliśmy o to: czym jest i jak działa JDBC?

JDBC to akronim od Java DataBase Connectivity – czyli w skrócie sposób, w jaki Java może komunikować się z bazą danych. Sam standard określa jak to zwykle bywa z Javą głównie interfejsy – implementacje specyficzne dla baz danych (np. sposób budowania zapytań SQL) są dostarczane w postaci tzw. sterowników (ang. Driver).

Same sterowniki mogą być też różnego typu i działać w różny sposób – od korzystania z natywnego klienta i jedynie ‚opakowywania’ go w interfejsy Javy, poprzez komunikację pośrednią z użyciem serwera wymiany lub ODBC (jeden z wcześniejszych standardów na połączenie z bazą danych) po implementacje w 100% napisane w Javie.

Z uwagi na sposób budowy, często korzystając z bazy danych konieczne jest zaimportowanie stosownej biblioteki do projektu w zależności od rodzaju bazy danych, z której korzystamy.

Więcej informacji oraz szczegółowe opisy można znaleźć na stronie poświęconej standardowi JDBC.

Jaki będzie wynik wykonania fragmentu Math.min(Double.MIN_VALUE, 0.0d);?

Oczywiście zachęcamy do samodzielnego odpowiedzenia na pytanie. Za tydzień nasza odpowiedź.

Więcej pytań technicznych z poprzednich mainów wraz z linkami do odpowiedzi znajdziesz tutaj! 

John Carmack

John Carmack z pewnością jest znany wszystkim zapalonym graczom – jeśli nie jesteś jednym z nich, z przyjemnością przybliżymy Ci jego sylwetkę.

John z zawodu jest programistą, obecnie pełni rolę CTO w firmie Oculus – twrcy bardzo głośnego zestawu VR Oculus Rift. Jego kariera zaczęła się jednak z grą Doom – rewolucyjną pod wieloma względami na ówczesne czasy. John był twórcą silnika graficznego do niej.

Ówczesne komputery nie były czymś, co nazwalibyśmy ‚potężnymi graficznie maszynami’ – głównym celem ówczesnych kart graficznych było wyświetlenie prostych okienek i obsługa konsoli. Generowanie w czasie rzeczywistym grafiki 3D, z cieniami i oświetleniem brzmiało jak fantastyka. A jednak dzięki kilku sprytnym trickom, sensownemu wykorzystaniu zasobów procesora i karty graficznej udało się stworzyć grę, która na ówczesne realia zachwycała grafiką, generacją świata i ‚realizmem’. To była najbardziej przełomowa produkcja, ale nie jedyna z sukcesami – nie trzeba spędzać lat z konsolą do gry żeby znać tytuły takie jak Wolfenstein 3-D, Half-Life, Call of Duty czy Medal of Honor. John obecnie pracuje wraz z zespołem Oculus nad kolejnymi innowacjami, a my czekamy co będzie dalej ;)

Strona na wikipedii
Konto w serwisie twitter.com

Pytanie na ten tydzień

Czym jest dla Ciebie komputer?
  • Add your answer
  •  
  •  
  •  
  •  
  •