Nowe technologie

Kategoria obejmuje wszystko co wiąże się z nowinkami technologicznymi – od sprzętu, oprogramowania czy na różnych pomysłach lub ideach kończąc.

Rozwój nowych technologii w fotografii – migawka globalna

Rozwój nowych technologii w fotografii – migawka globalna

Co to jest migawka?

Migawka to element aparatu fotograficznego, którego zadaniem jest przysłonięcie, a następnie zasłonięcie światłoczułego materiału w taki sposób, aby dostarczyć odpowiednią ilość wiązki światła, która przechodzi przez obiektyw i powoduje rejestrację obrazu. Cyfrowe aparaty fotograficzne oprócz migawki zrealizowanej w sposób mechaniczny posiadają także migawki elektroniczne. Migawka elektroniczna posiada pewne niedoskonałości, jednym z takich problemów jest tzw. efekt rolling shutter.

 

 

Różnice między migawką elektroniczną, a mechaniczną.

Z momentem pojawienia się na rynku aparatów cyfrowych, powstała też technologia migawek elektronicznych. Technologia ta umożliwia bardzo szybką rejestracje obrazu i jego podgląd na żywo. Migawka tego typu włącza lub wyłącza funkcję rejestracji obrazu przez piksele (najmniejszy  element obrazu wyświetlanego na ekranie monitora lub uzyskiwany za pomocą urządzeń przetwarzania obrazu). Migawka elektroniczna to po prostu zestaw elementów elektroniki (między innymi tranzystory), które wchodzą w skład matrycy pikseli.

W przeciwieństwie do migawki mechanicznej, migawka elektroniczna jest uruchamiana przez sygnały elektryczne i nie zasłania elementu światłoczułego. Migawka elektroniczna blokuje funkcje przetwarzania światła.

 

 

Wady i zalety migawek elektronicznych.

Zalety:

  • odporność na zmęczenie materiałowe (migawka mechaniczna jest bardziej podatna na uszkodzenia)
  • jest szybsza od migawek mechanicznych (dużo szybciej się otwiera)
  • jest cicha (w migawce mechanicznej usłyszymy charakterystyczny trzask lamelek) – dzięki temu możemy bardzo dyskretnie zrobić zdjęcie

Wady:

  • Jedną z największych wad jest proces otwarcia i zamknięcia realizowany w aparatach cyfrowych – rolling shutter. Podczas gdy chcemy uchwycić bardzo dynamiczne sceny w kadrze obraz może być zniekształcony – pofałdowany, wygięty np. gdy chcemy uchwycić szybko przejeżdżający samochód, a nawet pofragmentowany gdy np. chcemy zrobić zdjęcie pracujących śmigieł helikoptera.

 

Efekt rolling shutter zwiększa się wraz ze zbliżającym się planem.

Efekt rolling shutter powstaje dlatego, że obraz jest odczytywany linia po linii, a nie odrazy w całości. Oznacza to po prostu, że migawka elektroniczna działa sekwencyjnie czyli nie otwiera się od razu dla wszystkich pikseli obrazu. Następuje tzw. przesunięcie rejestrowanego obrazu w czasie (tzn. różne części obrazu są rejestrowane w różnym czasie) co może objawiać się takimi efektami jak jego przesunięcie lub wygięcie.

 

Migawka globalna.

Rozwiązaniem problemu rolling shutter jest tzw. migawka globalna. Taka migawka działa w ten sposób, że wszystkie piksele rejestrowanego obrazu przetwarzane są równolegle w tym samym czasie. Kluczowe jest tu zapewnienie równoległej pracy konwerterów analogowo-cyfrowych, które nie przetwarzają obrazu kolumna po kolumnie tylko pracują dla każdego pojedynczego piksela.

Takie firmy jak Sony czy Panasonic pracują nad tą technologią. W tej chwili udało się zbudować układ o rozdzielczości około 1,5 megapiksela. Wiemy jednak jak współczesna technika idzie szybko do przodu. Jednym z problemów jest również upowszechnienie tej technologii.

Posted by superkoder in Grafika komputerowa, Nowe technologie
Blockchain – programowanie

Blockchain – programowanie

Czym  jest blockchain?

Blockchain to system, który dokonuje rewolucji w zapisywaniu, zawieraniu i rozliczaniu transakcji. Transakcje przechowywane są w postaci ciągu bloków informacji. W takim jednym bloku przechowuje się dane o zdefiniowanej ilość transakcji. Gdy taki blok zostanie zapełniony do końca tworzy się kolejny. Szereg następujących  po sobie bloków tworzą łańcuch.

Rodzaj przechowywanych transakcji w takich łańcuchach bloków może być różny, mogą to być np.:

  • informacje handlowe
  • transakcje kupna/sprzedaży
  • wytworzenia energii elektrycznej
  • informacje o walutach (kryptowaluty)

 

 

Jak funkcjonuje blockchain?

Ideą tej technologi jest decentralizacja przechowywania informacji. Środowisko utrzymuje współdzieloną cyfrową zbiorową księgę transakcji, która jest rozproszona w całej sieci w takiej samej formie. Każdy węzeł w sieci może uczestniczyć w zatwierdzaniu i przesyłaniu transakcji. Księga transakcji jest zabezpieczona za pomocą algorytmów kryptograficznych. Użytkownik ma dostęp tylko do transakcji utworzonych przez siebie. Dzięki takiemu podejściu wszystkie operacja są publiczne, ale ograniczają je prawa dostępu danego użytkownika. W ten sposób można przeglądać całą historię transakcji od początku powstania „łańcucha bloków„.

 

Do czego można wykorzystać blockchain?

Ta technologia może mieć zastosowanie w wielu dziedzinach gospodarki, energetyki, bankowość, itp. Wszystkie transakcje, które zawierane są przy użyciu łańcucha bloków mogą odbywać się bez udziału instytucji zaufania publicznego (tranzakcje są zawierane bezpośrednio między użytkownikami systemu). Blockchain może gromadzić transakcje różnych typów. Jednym z ostatnio głośniejszych zastosowań tej technologi są kryptowaluty.

 

Programowanie i technologia

Przy użyciu obecnej technologii i biorąc pod uwagę moc obliczeniową komputerów tak naprawdę księgi transakcji nie da się podrobić. Nie którzy uważają, że aby złamać system oparty na blockchain potrzebna by była moc obliczeniowa połowy urządzeń które są podłączone do globalnej sieci. Raz zapisanych transakcji w łańcuchu bloków nie da się już odwrócić – pozostają tam już na zawsze.  Wszelkiego rodzaju próby manipulacji w blokach zostaną od razu wykryte, wynika to z budowy systemu (blockchain w procesie weryfikacji i walidacji wykryje próbę nieautoryzowanych manipulacji).

 

Sposób działania i całą ideę tej technologi można zaobserwować tutaj: https://anders.com/blockchain

 

W wielu już środowiskach czy platformach mamy dostęp do szeregu bibliotek wspierających tą technologię (.NET, PHP, Java, Node.js i wielu innych). Powstaje też coraz więcej publikacji czy książek na ten temat. Pod tym adresem można znaleźć dużo ciekawych informacji na ten temat wraz z darmową książką jak rozpocząć swoją przygodę z blockchainem w C#.

Open Source Book: Programming the Blockchain in C#

 

Jak rozwinie się ta technologia i co się stanie w przyszłości tego nikt nie jest wstanie przewidzieć, ale na pewno warto się tym interesować i wiedzieć co nie co o tej technologii.

Posted by superkoder in Nowe technologie, Programowanie
Biometria w IT

Biometria w IT

Czym jest biometria,  jak ją wykorzystać w systemach informatycznych, czy już za jakiś czas będzie można zapłacić np. w supermarkecie palcem skanując go?

Biometria to między innymi technika automatycznego rozpoznawania osoby na podstawie jej cech fizycznych takich jak:

  • tęczówka oka – systemy korzystające z tego typu identyfikacji najczęściej najpierw lokalizują oczy, a następnie wykonują zdjęcie tęczówki oka wysokiej rozdzielczości. Na podstawie takiego zdjęcia system koduje opis punktów charakterystycznych tęczówki. Potem taki kod jest porównywany z oryginalnym wcześniej spreparowanym kodem trzymanym w bazie danych.

 

  • geometria dłoni – urządzenia, które starają się zidentyfikować osobę na podstawie dłoni wykonują najczęściej „trójwymiarowe zdjęcie” naszej dłoni. Następnie badane są takie parametry jak: długość, szerokość, grubość palców czy wielkość obszarów pomiędzy kostkami. Wszystkie te pomiary są przechowywane w pamięci urządzenia i porównywane ze wzorcem.

 

  • linie papilarne – do rozpoznawania osoby tą metodą służą czytniki linii papilarnych. Urządzenie tego typu posiada pole skanujące, do którego przykłada się palec. W ten sposób sprawdzany jest układ charakterystycznych punktów i inne cechy identyfikujące nasz palec.

 

  • układ naczyń krwionośnych dłoni – identyfikacja w tym przypadku polega na badaniu układu naczyń krwionośnych dłoni, który jest unikalny dla każdego człowieka. Za pomocą podczerwieni skanuje się naczynia przez, które płynie krew.  Następnie jak w przypadku innych metod porównuje się wyniki ze wzorcem przechowywanym w pamięci czy w jakiejś bazie danych.

Biometria jest wykorzystywana jako zabezpieczenie dostępu do wszelkiego rodzaju pomieszczeń, autoryzacji osoby logującej się do systemu informatycznego (może zastąpić np. wszelkiego rodzaju hasła czy piny).

W jednym z londyńskich pubów za piwo można zapłacić przez przyłożenie palca do skanera.
Skaner jednak nie wykorzystuje sprawdzania lini papilarnych lecz co ciekawe metodę badania
układu naczyń krwionośnych.

Jednym z takich systemów jest FingoPay: http://fingopay.com

Posted by superkoder in Ciekawostki, Nowe technologie
NoSQL – nowe bazy danych

NoSQL – nowe bazy danych

Czym jest NoSQL?

Pod tym pojęciem kryją się tzw. bazy danych nie relacyjne. Bazy tego typu bardzo dobrze radzą sobie w świecie tzw. BigData. Nierelacyjne bazy danych w przeciwieństwie do swoich starszych „braci” umożliwiają na szybką analizę danych (współczesny świat coraz częściej wymusza taką analizę w czasie rzeczywistym).

W klasycznej bazie danych mamy z góry narzuconą strukturę i relacje, a przy użyciu odpowiednich zapytań SQL otrzymujemy strukturalne wyniki.

Z dużym prawdopodobieństwem w takiej bazie nie znajdziemy połączeń czy zależności między np. produktami w sklepie internetowym, a np. ilością zaparkowanych samochodów przed fizycznym sklepem tej samej sieci sprzedaży. Dane tego typu prawdopodobnie nie będą umieszczane w bazie danych.

Światowy trend pokazuje, że warto badać i gromadzić informacje na temat różnego rodzaju zależności bo może to dostarczać bardzo cennych informacji biznesowych.

Z pomocą przychodzą nam bazy danych NoSQL, w których nie narzuca się z góry zaplanowanego schematu danych i ich analiza jest wydajna.

 

Wymiana danych z bazami NoSQL

Interakcja z bazą danych najczęściej odbywa się przy pomocy sterownika lub jakiegoś API. Dane natomiast przekazywane są często w takich formatach jak np.:

  • JSON
  • XML
  • BSON

lub zupełnie inne specyficzne dla danej platformy.

Do baz danych NoSQL można zaliczyć takie jak np.: MongoDB, Cassandra, HBase, Oracle NoSQL Database, Redis i wiele innych.

 

Posted by superkoder in Bazy danych, Nowe technologie
Falcon Heavy już blisko startu

Falcon Heavy już blisko startu

Potężna rakieta zbudowana w SpaceX już nie długo wystartuje!?

Plany są takie, aby jej pierwszy start odbył się już w tym miesiącu. Rakieta została umieszczona na historycznej platformie startowej – na tej samej, z którego początek miała misja Apollo 11.

 

Poniższy film przedstawia ją w całej okazałości:

Rakieta podobno ma zabrać ze sobą czerwonego Roadstera:

Celem rakiety ma być marsjańska orbita.

Posted by superkoder in Ciekawostki, Nowe technologie
Programowanie komputerów kwantowych

Programowanie komputerów kwantowych

Firma Microsoft udostępniła swoją nową platformę: Quantum Development Kit. Umożliwia ona zupełnie nowe podejście do programowania i obliczeń komputerowych. Jednym ze składników tego środowiska jest język programowania Q# i choć do łatwego dostępu do komputerów kwantowych jeszcze daleka droga, to pomału już należy myśleć o takich rzeczach :D. Mimo, że nie posiadamy takiego sprzętu platforma umożliwia nam programowanie maszyny kwantowej tak jakbyśmy ją posiadali.

 

 

Czym jest komputer kwantowy?

W tradycyjnych komputerach z jakich korzystamy na codzień dane są reprezentowane przez
fizyczny zapis dwóch stanów (cyfr: zera i jedynki) – zapis binarny. Czyli najmniejszą jednostką informacji jest bit.

W maszynach kwantowych rzecz ma się nie co inaczej. Dane są tam reprezentowane przez tzw.
stan kwantowy układu. Tam najmniejszą jednostką informacji jest tzw. kubit (eng. quantum bit).  Kubit różni się tym od swojego „młodszego brata” bita, że nie ma on ustalonej wartości 1 czy 0. Zgodnie z zasadami mechaniki kwantowej jest on w tzw. stanie pośrednim (superpozycja).  Jest to stan między „jedynką”, a „zerem”. Dopiero gdy następuje zbadanie kubitu przyjmuje on jeden z ustalonych wartości 0 lub 1.

Algorytmy (programy) kwantowe pozwalają – „w teorii” osiągnąć wyniki efektywniej i dużo szybciej niż programy uruchomione na tradycyjnym komputerze.

Co przyniesie przyszłość to się okaże, ale może to być mega krok na przód.

 

Posted by superkoder in Nowe technologie, Programowanie