poniedziałek, września 12, 2011

Zaburzenia na rynku sprzętu (CPU)

Co się dzieje z mikroprocesorami? Na to pytanie odpowiada arcyciekawy artykuł na łamach “The Register”. Do tej pory w grę wchodziły dwie potęgi Intel i AMD. Odpowiednio do nich dostosowywał się Microsoft pisząc swoje narzędzia pod taką właśnie architekturę I86 w odmianach 32 i 64 bity. I wszystko grało. Nagle pojawiły się dwa zaburzenia:

  • Nvidia tworzy coraz lepsze procesory GPU (linia TEGRA), które potrafią wspomóc CPU w intensywnych obliczeniach zmiennoprzecinkowych (np. łamanie haseł) widzi przyszłość bez Intela i duopol Nvidia/Qualcom
  • powstaje nowa architektura ARM i monopolista Qualcom, który wyposaża w procesory urządzenia mobilne (słynna architektura Snapdragon)

Teraz następuje dywergencja:

  • Nvidia dogaduje się z Qualcom
  • Nvidia integruje CPU z GPU (inaczej od Intela)
  • Intel integruje GPU z CPU (sandbridge)
  • Microsoft tworzy Windows 8, które będzie wspierać architekturę ARM
  • Intel widzi zagrożenie spowodowane niezależnością MS od jego architektury i zaczyna wspierać własne MeeGo

Prawda o Skype

Prawdziwy skarb jaki MS dostał w swoje ręce po zakupie SKYPE jest nie jego funkcje VOIP ale 100 mln prawdziwych (autentycznych) kont sprawdzonych w rozmowach. Ciekawe jako fakt ten zostanie wykorzystany?

Takie sobie nowinki

Gartner przewiduje w swym raporcie, że po okresie spadku zakupów PC ponowny wzrost w drugiej połowie 2012 roku. Twierdzi, że możliwości PC (wygoda, ergonomia, szybkość, pasmo internetowe) w stacjonarnym miejscu nie zastąpią urządzenia przenośne.

Google ma wiele ciekawych miejsc do zwiedzenia:

  • Code Playground: zasoby API dla JS (closure, JSONP oraz funkcje anonimowe) i innych technologii Google (biblioteki JS, wizualizacja danych: wykresy, panele). Przykład pobrania danych z arkusza i ich użycia.
  • API do dokumentów 
  • Uwaga! Jest płatne (399) narzędzie do integracji .NET z Google Docs firmy RSSBUS
  • Oskryptowanie arkusza poprzez ściąganie danych z serwisów webowych i umieszczanie ich w arkuszu Google spreadsheet – ciekawe co mówi EU – dane mają być przechowywane na terenie Unii (ale jakie dane? wszystkie czy te osobowe tylko?). Tutaj przy okazji jest pomysł do zrealizowania – pobieranie kursów walut i prezentowanie ich w arkuszu (doskonała wprawka programistyczne)
  • Zaawansowane techniki JS które musisz znać

Rynek aplikacji do tworzenia mobilnych – jest taka firma Nitobi, która zajmuje się tworzeniem GUI w JS, teraz zainteresowała się RAD-em dla urządzeń mobilnych (PhoneGap). Co z tego wyjdzie? A w jaką stronę zmierza projekt Mono – obecnie pod opieką firmy Xamarin? Ma teraz trzy odnogi: Mono for Android, MonoTouch oraz Mono dla Visual Studio. Są jeszcze dwa inne projekty: .NET for iPhone and .NET for Android. Cena tych RAD jest znaczna – 399 US. Jest jeszcze Google App Inventor.

Najlepsze z najlepszych otwartych projektów:

Kryptografia:

wtorek, września 06, 2011

Kryptografia wymienialna

Prawdziwe wezwanie dla aplikacji posługujących się metodami kryptograficznymi następuje w przypadku gdy zachodzi potrzeba wymienialności danych między różnymi platformami aplikacyjnymi. Jasne są zasady:

  1. Należy przyjąć najmniejszy wspólny podzielnik dla wszystkich platform (bibliotekę zaimplementowaną we wszystkich środowiskach), może to być np. openssl, BC lub Jascrypt (tylko dla Java, nie ma odpowiednika w .NET).
  2. Niektóre biblioteki (BC) można wykorzystać na dwa sposoby, jako rozszerzenie możliwości danej platformy (jak to mam miejsce w przypadku Java JCE) lub potraktować niezależnie jako źródło algorytmów kryptograficznych np. takich, których jeszcze nie ma w implementacji danej platformy np. Blowfish lub bardziej egzotycznych.

Najgorzej się tutaj mają języki skryptowe jak Python lub PHP, tutaj nie ma żadnego standardu biblioteki kryptograficznej i posługuje się zewnętrznymi implementacjami kryptografii. PHP ma dwie biblioteki mcrypt (dobrze udokumentowana z wieloma przykładami) i openssl (źle udokumentowana).

Świetny artykuł na temat uzupełniania danych do pełnego bloku - http://www.di-mgt.com.au/cryptopad.html (po to to i jak działa). Tak w ogóle na serwisie www.di-mgt.com.au jest wiele innych ciekawych artykułów:

  • Praca z alfabetem narodowym – należy pamiętać że kryptografia działa na bajtach a nie znakach oraz MS przyjął kodowanie UTF-8 (dokładnie mówiąc UTF-16LE, zresztą jedynie słuszna decyzja). Konsekwencją tego jest wymóg przekształcenia danych typu String do tablicy bitów (Array of Bytes). Przy okazji wyjaśniło się dlaczego w przypadku podpisu cyfrowego przy pomocy klucza publicznego (digital signature with public key) stosuje się nazwy dwuczłonowe np. SHAwithRSA – jest to bowiem proces dwuetapowy, najpierw jest liczony hash za pomocą algorytmu symetrycznego a potem szyfrowanie kluczem publicznym korzystając.
  • UTF-8 ma wiele wariantów np. UTF-16LE (little endian), UTF-16BE (big endian), jaki to kod w pliku wyznacza jego pierwszy bajt tzw. BOM (byte order mark): UTF-8 ma ‘EFBBBF’, UTF16LE – ‘FFFE’.
  • Należy pamiętać, że wynikowy kod nie przechowywać w polach znakowych ale w binarnych polach blobowych bądź opakować je bezpiecznie przy pomocy base64 (radix64 w PGP) i zapamiętać w polu znakowym (kosztem nieznacznego wydłużenia danych).
  • Podstawowe pojęcie o kluczach w kryptografii 
  • Bardzo dogłębnie wyjaśnienie  kodowania UTF-8. Bazuje ono na UCS – uniwersalnej stronie kodowej. W UTF-8 każdy znak ma zmienną długość, o tym decyduje najstarszy bit w pierwszym bajcie (gdy ma ‘0xxxxxxx’ to oznacza, że jest to “zwykły” znak ASCII, a gdy ‘1’ to oznacza wielobajtowy znak i tak ‘11xxxxxx’ oznacza  że znak zajmuje 2 bajty a ‘111xxxxx’ że trzy bajty). ten pierwszy baj zwany jest też jako bajt wiodący (lead-byte). Reszta bajtów to bajty ogonowe (trail) i mają zawsze sygnaturę ‘10xxxxxx’ .
  • Skrośna platforma kryptograficzna – polega na wykorzystaniu symetrycznego kodowanie blokowego (symmetric block cipher) i korzysta się z jednego z zalecanych algorytmów DES, Blowfish lub EAS. One z kolei mają tryby pracy (ECB, CBC,…). Jedynie ECB nie wymaga wektora inicjującego (szyfruje jedynie w obrębie pojedynczego bloku)

Linki - http://www.di-mgt.com.au/crypto.html#links

Cryptography FAQ
Ten parts of the sci.crypt FAQ. Read these before you ask any questions.

Bruce Schneier's page
By the author of Applied Crytography: Protocols, Algorithms and Source Code in C, John Wiley, 1996, and the Blowfish Encryption Algorithm. Lots of info, papers, newsletters, a very comprehensive links page, and variants of the Blowfish source code.

Peter Gutmann's page
Up-to-date information on cryptography and PKI matters from a leading expert in the field with a good sense of humour. Check out his DumpASN1 C program to read BER-encoded ASN.1 files, his style guide to writing X.509 certificates, and his rant on the M*soft inspired PFX/PKCS-12 standard.

Neal R. Wagner
The Laws of Cryptography: a series of well-explained and informative pages on cryptography and coding and information theory by Neal Wagner, a professor at University of Texas at San Antonio. Includes a lot of Java code.

Snake Oil Warning Signs
Avoiding bogus encryption products: Snake Oil FAQ. "Encryption Software to Avoid" by Matt Curtin.

The Six Dumbest Ideas in Computer Security
Marcus Ranum's introduction to the six dumbest ideas in computer security.

Ross Anderson
An excellent and well-written site on cryptography issues by the Reader in Security Engineering at the University Of Cambridge. Check out his book Security Engineering: A Guide to Building Dependable Distributed Systems. The entire first edition (2001) and some chapters from the second edition (2008) are now available on his site. One of the interesting facts from the second edition is that the most commonly-used password has changed in recent years from password to password1.

Digital Timestamping Service
Matthew Richardson's PGP Digital Timestamping Service will timestamp an email sent to it so you can prove your document existed at a given time. Includes a proof of posting service. Operates in clear, header, text, pgp and binary modes. Dates are old, but it still works.

RSA Lab's Public Key Cryptography Standards
RSA Labs specifications on public key cryptography (the PKCS standards) and other useful stuff.

SUNET crypto archive
A downloadable index of cryptography tools on the SUNET archive, especially for privacy of electronic mail.

Worst hotel in the world

poniedziałek, sierpnia 29, 2011

Ciekawostki

środa, sierpnia 24, 2011

Podstawy programowania w JS (i dla zaawansowanych)

Niesamowite wideo

http://www.wimp.com/truckdrop/

http://www.wimp.com/handmagic/

Ciekawostki

  1. Lista darmowych konwerterów z YT - http://www.itworld.com/software/185709/free-youtube-converters?source=ITWNLE_nlt_personaltech_2011-07-25
  2. PlanetPDF – darmowe oprogramowanie do obsługi PDF lub tipsy i uwagi.
  3. Bezpłatne narzędzia wirtualizacyjne - http://www.windowsitpro.com/article/utilities/free-virtualization-utilities, tamże jest rozdział o PowerShell-u - http://www.windowsitpro.com/categories/category/scripting/don-jones-on-powershell

Ciekawostki

Katalog programów systemowo-narzędziowych i nie tylko pod Linuxem - http://directory.fsf.org/category/gdev/

Ciekawostki programistyczne

wtorek, sierpnia 23, 2011

Linki

piątek, sierpnia 19, 2011

Ciekawostki

Nauka HTML5 na poważnie:

  1. http://developers.whatwg.org/
  2. http://www.w3.org/TR/html5-author/

Witryna ze wzorcem do budowy stron HTML - http://html5boilerplate.com/docs/The-style/

Źródło do ciekawych podcast-ów - http://www.devcurry.com/2011/08/free-podcast-for-developers.html

Wszechstronna strona Yahoo dla deweloperów - http://developer.yahoo.com/javascript/

Czy Android to jeszcze Linux czy nie? Opinia Tornvaldsa - http://www.zdnet.com/blog/open-source/linus-torvalds-on-android-the-linux-fork/9426?tag=nl.e019

DOMPDF - kolejny konwerter HTML->PDF dla PHP. Program do podłączenia się do usługi SkyDrive i traktowania jej jako dysku sieciowego - http://skydrivesimpleviewer.codeplex.com/releases/view/39728. W nowszych wersjach przeglądarek Firefox jest wbudowany tzw. ScratchPad – edytor i wykonawca kodu w JS. Dla dzieci – gra - http://www.ageofempiresonline.com/. Dziura budżetowa fundacji Mozilla po zrezygnowaniu przez Google wydawania paska ToolBar dla najnowszych wersji FF – początek końca? Do Androida – darmowa wersja programu antywirusowego Norton-a, blokuje skradziony telefon poprzez wysłanie na niego SMS-a. Gra online na facebook-u na stronie WCG Poland. Ciekawy serwis o IT - http://www.spidersweb.pl/. Warto obserwować: blog o Firefox. Inny link, taki MSDN o przeglądarce Firefox – nazywa się nawet podobnie MDN. Firefox dla Androida za darmo z Android Market.  Wszystko na temat Android-a znajdziesz po polsku tu nosi swojską nazwę eAndroidowo.pl. Za rok HP zniknie z rynku produktów konsumenckich komputerów PC, tabletów i innych urządzeń przenośnych (oprócz DRUKAREK) i postawi na serwery i aplikacji nimi zarządzające. Dygresja: kiedyś można było oferować swoje produkty wszystkim tj. konsumentom indywidualnym i korporacyjnym. Teraz gdy ci pierwsi są nieprzewidywalni, rzucili się na przenośne cacka, jedyna ostoja stabilności to korporacje ze sztywnymi standardami.

wtorek, sierpnia 16, 2011

GoogleRola

Wygląda na to, że powstanie nowa para parterów Google-Motorola (twórca OS + sprzętu) obok takich par jak Apple/iOS, HP/webOS, RIM Blackberry OS/QNX i Nokia/Windows Phone 7. Celem jest tutaj nabycie patentów jaki ma w zapasie firma Motorola by ochronić przyszłość Androida oskarżanego o naruszanie praw patentowych (oskarżają go starzy wyjadacze Steve Jobs oraz Larry Ellison a podjudza ich Steve Ballmer) a także reakcje na nabycie przez Microsoft/Apple praw do patentów upadłej firmy Nortel.

Jednak taki silne powiązanie Google i Motorola Mobile może zaniepokoić innych producentów smartfonów jak: HTC, Samsunga, Sony/Erricson czy LG.

Producent Udział %
HTC 35.9
Motorola 28.2
Samsung 20.5
Sony/Erricson, LG, Acer 15.4

Wg. http://www.theregister.co.uk/2011/08/15/how_the_moto_acquisition_will_affect_others/

Prawda jest taka, że Android jest systemem skopiowanym, API naśladuje styl Java (dlatego to tak rozjuszyło Oracle), UI kopiuje iPhone od Apple (protest Apple). Nabycie Motoroli i jej IP za 12.5 mld dolarów ma wzmocnić pozycję i wiarygodność Androida tym bardziej, że Google się spóźnił z podwyższeniem swej propozycji nabycia patentów Nortela (chciał dać tylko “pi” mld).

Inni potężni patento-dawcy obok Motoroli to już tylko Nokia (wszystko zostało już dawno wykupione) która wygrała niedawno spór patentowy (o narzuszenie patentów) z Appple za co dostała tylko 450 mln dolarów (http://www.theregister.co.uk/2011/08/15/google_motorola_the_poker_chip_that_cant_be_redeemed/)

Inne pytanie to dlaczego Google nie wybrał za język np. Go (wspomaganego przez Thomsona) i platformę GTK (jak Nokia – MeeGo)

poniedziałek, lipca 25, 2011

Historia kołem się toczy

Wspaniałe podsumowanie ponad 40 letnich prac nad wirtualizacją zapoczątkowaną przez IBM w czasach kiedy na Ziemi panowały dinozaury (przepraszam mainframe-y IBM S/360) w dwóch częściach:

  1. Before 'the cloud' was cool: Virtualising the un-virtualisable
  2. Before the PC: IBM invents virtualisation

Część trzeci – będzie niebawem

Nowa weryfikacja użytkownika

[Regs] Mozilla “wymyśliła” nowy sposób na autentykację – stare poświadczenia czyli email użytkownika (na bazie eksperymentalnego protokołu Verified Email Protocol)+ kryptografia w oparciu o klucz publiczny. Trzeba przekonać dostawców usług pocztowych aby ją zaakceptowali. Prace deweloperskie są w toku na serwerze - https://browserid.org/developers.html.

Historia powstania JS

Na podstawie materiału z webhosting (pośpiesznie ktoś streścił dwa linki):

  1. Autora JS - http://brendaneich.com/2008/04/popularity/
  2. Komentarze - http://lambda-the-ultimate.org/node/4308#comment-66267
  3. Super tutorial o bindowanie widoku z kontrolerem w JS - http://blog.stevensanderson.com/2010/07/05/introducing-knockout-a-ui-library-for-javascript/ (opis biblioteki knockout, podobne projekty zaproponował MS i Gog)