#Zaczytani2016 – ogromna poświąteczna wyprzedaż ebooków

560x200_promo

Chwilę po północy drugiego stycznia 2016 rusza dwudniowa ogromna wyprzedaż ebooków w ebookpoint.pl.
Serwis przygotował dla czytelników ponad 7200 tytułów (ebooków i audiobooków). Promocję wspierają najwięksi polscy wydawcy, m.in.: Literackie, Czarna Owca, Rebis, Nasza Księgarnia, PWN i Wydawnictwo Dolnośląskie. Wszystkie tytuły objęte promocją zostaną zrabatowane do czterech progów cenowych: 6.90 zł, 9.90 zł, 14.90 zł i 19.90 zł. To obniżki sięgające nawet 95% cen detalicznych!

Czytaj dalej

Zagadki algorytmiczne #3 – połowa sumy tablicy

Otrzymujesz listę liczb całkowitych. Twoim zadaniem jest zwrócenie jednego z jej elementów x, który spełnia warunek 2 * x = suma pozostałych elementów.

Masz zagwarantowane, że element x istnieje

Przykład:

Dla A = [1, 2, 3, 4, 5], wynikiem jest 5, bo 2 * 5 = 1 + 2 + 3 + 4.

  • Wejście: A int[]
    • 3 ≤ |A| ≤ 100, -1000 ≤ A[i] ≤ 1000
  • Wyjście int
    • jeden z elementów tablicy wejściowej

Priorytetem jest napisanie algorytmu zawierającego jak najmniejszą ilość znaków.

Czytaj dalej

Zagadki algorytmiczne #2 – parser wyrażeń liczb rzymskich

romanOtrzymujesz jako tekst poprawne wyrażenie matematyczne, jednak zapisane liczbami rzymskimi.
Twoim wyzwaniem jest zwrócić liczbę całkowitą będą wynikiem wyrażenia w systemie dziesiętnym. Algorytm powinien składać się z jak najmniejszej ilości znaków.

Wyrażenie może zawierać następujące znaki:

  • operatory: '+', '/', '-', '*', '=', '(', ')'
  • cyfry: 'C', 'D', 'I', 'L', 'M', 'V', 'X'

Przykłady:

  • RomanExpression("V+V=") = 10, as 5 + 5 = 10
  • RomanExpression("IX=") = 9, as 9 = 9
  • RomanExpression("(III+VI)*CM=") = 8100, as (3 + 6) * 900 = 8100
  • Dane wejściowe: string
    • Poprawne wyrażenie matematyczne do rozwiązania
  • Dane wyjściowe: integer
    • Wynik wyrażenia.

Czytaj dalej

Zagadki algorytmiczne #1

Lubicie zagadki algorytmiczne? Jeśli tak, to zachęcam do wypróbowania https://codefights.com (jeśli jeszcze nie jest któremuś z Was znana ta platforma). Przypominam również o odbywających się w grudniu X Mistrzostwach Wielkopolski w Programowaniu Zespołowym, do których zapisy zostaną otwarte w tym miesiącu.

Zadanie

Załóżmy, że każda tablica składa się z kilku pierścieni (warstw), które ponumerowane są rozpoczynając od 1 jako zewnętrznej warstwy, 2 jako kolejnej i tak dalej zmierzając do jej środka.

zadanie

Dla wskazanej liczby N zostaje zwrócona tablica o rozmiarze NxN.

Czytaj dalej

Raspberry PI 2 jako ekran infokiosku

____rpikioskZapewne nie jeden z Was widział na stacjach benzynowych ekrany LCD wyświetlające informacje o prognozowanych warunkach pogodowych, czy utrudnieniach w ruchu. W witrynach sklepowych możemy również oglądać prezentacje reklamowe, a na lotniskach planowane przyloty / odloty samolotów. Również w parku niejednej gminy na terenie naszego kraju mamy możliwość zapoznania się z miejscami wartymi do zwiedzenia w okolicy dzięki multimedialnym infokioskom.

Poniżej opiszę przykład konfiguracji Raspberry PI w systemie operacyjnym Raspbian, dzięki której w łatwy sposób będziemy mogli stworzyć nasz multimedialny infokiosk. Jako widok ekranu posłuży nam zewnętrzna strona www uruchamiana w trybie pełnoekranowym. Nic nie będzie stało na przeszkodzie, aby uruchomić w RPI lokalny serwer WWW serwujący widok z danymi.

Czytaj dalej

Muzycznie, nieprogramistycznie – Besides

Miałem okazję być ostatnio na tak bardzo kameralnym koncercie zespołu Besides, jak bardzo może się to wydać nierealne. Świetny klimat, wspaniała muzyka i do tego tak skromni artyści.

besides_notatnik

Besides po dwóch latach od wydania debiutanckiego „We Were So Wrong” wraca z nowym albumem „Everything Is”, który ukaże się w drugiej połowie października tego roku, a ja już miałem okazję usłyszeć jeden z singli na żywo 🙂

Kupiona od chłopaków płyta zdecydowanie uprzyjemnia mi podróż samochodem i myślę, że warto wspierać tak alternatywny rock. Zwłaszcza, że album można u nich kupić za 27,95 zł, a w wersji elektronicznej za 19,95 zł.

Raspberry PI 2, nauka podstaw Pythona 3

Python_logo_and_wordmark.svgW jednym z ostatnich wpisów zebrałem sobie źródła wiedzy do nauki Pythona, a w międzyczasie kupiłem Raspberry PI 2. Jedno z drugim jest mocno powiązane, ponieważ minikomputer standardowo posiada zainstalowanego Pythona (zarówno w wersji drugiej jak i trzeciej), dzięki któremu od ręki można oprogramować Raspberry.

Python

Przyznam szczerze, że z wyjątkiem pobrania kilku narzędziowych skryptów pythonowych, nie miałem z nim nigdy do czynienia. W sensie poznania składni języka. Ale umiem już programować w wielu innych więc nie będzie problemów 🙂

Nie wiem jak Wy, ale ja wręcz uwielbiam ten moment, gdy rozpoczynam naukę nowego języka programowania. Pierwszy ‚hello world’, pobranie i wyświetlanie danych, parsowanie tekstów. Piszę ten artykuł już po wykonaniu kilku ćwiczeń i powiem tak – jestem mile zaskoczony samą składnią Pythona. Wszystko wydaje się być takie przejrzyste, czytelne. Trudno mi to nawet opisać, w każdym bądź razie jestem pełen optymizmu.

Zresztą, zobaczcie jakie zdanie mają znani programiści. Kojarzycie nazwisko Bruce Eckela, autora księżek takich jak „Thinking in C++”, „Thinking in Java”? Ja sam rozpoczynałem naukę tych dwóch języków właśnie od tych lektur. Bruce Eckel jest przekonany, że żaden język nie uczynił go tak produktywnym, jak Python. Twierdzi, że Python jest prawdopodobnie jedynym językiem, który skupia się na tym, by ułatwić pracę programiście. Tutaj możecie przeczytać wywiad. Wielu jest programistów, których do pierwszych kontaktów z Pythonem zachęcił artykuł Erica Raymonda (autora „The Cathedral and the Bazaar” – słynnego eseju na temat otwartego oprogramowania i Linuksa), w którym przyznaje, że Python został jego ulubionym językiem programowania.

Czytaj dalej

Adafruit Flora Hello World – rozpoczynamy zabawę

Tak jak pisałem w lipcu, zaopatrzyłem się w zestaw Adafruit Flora w sklepie kamami.pl. Niestety zarówno w lipcu jak i w sierpniu cierpiałem na deficyt czasu i nie zdążyłem zabrać się do zabawy z tymi elementami. Dziś zaczynam serię wpisów o Adafruit Florze i mam nadzieję, że wiodącymi wrześniowymi postami na blogu będą właśnie te związane z „odzieżą inteligentną”. Dziś zupełne podstawy, czyli integracja z Arduino IDE, instalacja sterowników i prosty przykładowy program.

flora_set_2

Informacyjnie: Adafruit Flora to sterownik dla „inteligentnej odzieży”. Dzięki zastosowaniu dodatkowych modułów i przewodzących nici, możemy wykonać efektowne projekty jak np. podświetlana sukienka:

Czytaj dalej

Testy PHP 7.0.0beta2 w Windows

PHP 7

Dziesiątego lipca 2015 została wydana wersja PHP 7.0.0 Beta1. Na dzień dzisiejszy dostępna jest już do pobrania Beta3 (6 sierpnia 2015), a najnowsze źródła i wersje skompilowane można pobrać stąd. Kolejnym wydaniem będzie już PHP 7 RC1, którego udostępnienie planowane jest na 20 sierpnia i wszystko wskazuje na to, że wersja finalna zostanie wydana 12 listopada 2015.

Aby rozpocząć zabawę z PHP7 w Windowsie najłatwiej zrobić to poprzez instalację WAMP Stack Installers (pobierz instalator), w skład którego wchodzi:

  • Apache 2.4.16
  • MySQL 5.6.26
  • PHP 7.0.0beta2
  • PHPMyAdmin 4.4.7
  • ImageMagick 6.7.6-6-Q8
  • SQLite 3070603
  • ModSecurity 2.9.0
  • Heroku client
  • Git 1.9.5
  • Ruby 2.2.2-i386-mingw32

Pakiet zainstalowałem w najnowszym Windowsie 10 bez żadnych problemów.

Czytaj dalej