Relacja z Warsaw Games Week 2015

Warsaw Games Week 2015 - logo

Warsaw Games Week 2015 – logo

W dniach 23-25 października w warszawskim EXPO XXI odbyła się pierwsza edycja Warsaw Games Week, w której wziąłem udział – spędziłem tam całą sobotę 24. października. Co zobaczyłem i w co zagrałem? Zapraszam do przeczytania! 🙂
Continue reading “Relacja z Warsaw Games Week 2015” »

O ‚Total Car Rescue’ i udziale w E(x)plory

W pewien sobotni, wiosenny poranek zeszłego roku, gdy wstawał mój kolega Arek, wraz z nim wstała też idea. Idea lepszego świata. Świata, który byłby bezpieczniejszy. Świata, w którym – kończąc ten krótki, acz nad wyraz poetycki wywód – kierowcy nie zasypialiby. Konkretnie rzecz ujmując, Arek „wpadł na pomysł” mierzenia pulsu kierowcy. Wprawdzie to nie było wtedy nic odkrywczego, ale on wtedy tego nie wiedział, więc podzielił się tym pomysłem ze mną oraz Wojtkiem w szkole i od tego wszystko się rozpoczęło.

Logo Total Car Rescue, bez napisów

Logo Total Car Rescue, bez napisów

Na wstępie wspomnę, iż w zeszłym miesiącu miał powstać post o tematyce powiązanej z zagadnieniami technicznymi, niemniej jednak mój czas pochłonęły olimpiady i konkursy, w tym E(x)plory (o czym niżej w tekście). Rzeczony post powstanie, ale później – w przyszłości 🙂 .
Continue reading “O ‚Total Car Rescue’ i udziale w E(x)plory” »

Jak nazywać zmienne?

Rozpoczynając naukę programowania nie skupiałem większej uwagi nazewnictwu zmiennych. Później, korzystając z różnych bibliotek, modułów czy też frameworków zwróciłem większą uwagę na konwencje nazewnictwa. To niemniej jednak jest tylko jedna z wielu kwestii, o których należy pamiętać. Jak zatem nazywać zmienne?

Raz napisany kod czyta się wiele razy. Powinno się więc zadbać o to, by jego czytanie było możliwie proste, szybkie i przyjemne. Nazwy symboli (zmiennych, klas, metod, itp.) odgrywają tu ważną rolę. Nie musisz zgadzać się ze wszystkimi wskazówkami, które są zamieszczone poniżej, niemniej jednak warto mieć je na uwadze podczas wymyślania nazw i stosować się choć do części z nich.

Twórz opisowe nazwy

Ile razy zdarzyło Ci się, że gdy czytałeś swój kod po kilku tygodniach, nie mogłeś sobie przypomnieć, co oznaczała dana zmienna? Mi to się przytrafiło nie raz i nie dwa. Nazwy zmiennych powinny zawierać tyle informacji, by móc dokładnie określić do czego jest ona wykorzystywana. Cytując Roberta Martina:

The name of a variable, function, or class, should answer all the big questions. It should tell you why it exists, what it does, and how it is used. If a name requires a comment, then the name does not reveal its intent.
Clean Code – A Handbook of Agile Software Craftsmanship

Powyżej zacytowany tekst zawiera w sobie sporo wskazówek, które zostały opisane poniżej.
Continue reading “Jak nazywać zmienne?” »

Jak postępuje profesjonalny programista?

W tym artykule zostały opisane niektóre z głównych zasad, do których osoba uważająca się za profesjonalistę powinna się stosować. Przedstawiona tu wiedza jest dość skondensowana, by nie wydłużać tego tekstu, więc po obszerniejsze opisy odsyłam książki w bibliografii. Artykuł jest kierowany głównie do osób średnio zaawansowanych i bardziej doświadczonych początkujących.

Kim jest profesjonalista?

Po pierwsze jest to osoba odpowiedzialna. Nie szkodzi ona innym, a w przypadku, gdy coś się jej nie uda, to nie ucieka, a ponosi konsekwencje swoich błędów i naprawia wyrządzone szkody nawet wtedy, gdyby były ogromne. By zminimalizować prawdopodobieństwo popełnienia błędów, profesjonalista testuje swój kod.
Po drugie jest to osoba, która zachowuje etykę pracy. Oznacza to, że zna ona swoje otoczenie. Wie, co potrafi i czego się podejmuje. Jest ona pokorna i świadoma tego, że nie zawsze ma rację, że może się mylić w pewnych kwestiach, więc powinna liczyć się także ze zdaniem innych.
Po trzecie jest to osoba świadoma tego, że rynek IT rozwija się bardzo dynamicznie, więc by pozostać wartościowym programistą ciągle się uczy, ćwiczy i doskonali.

Continue reading “Jak postępuje profesjonalny programista?” »

WWW10 – opis i wrażenia

Wakacyjne Warsztaty Wielodyscyplinarne - Logo

Wakacyjne Warsztaty Wielodyscyplinarne – Logo

W minione wakacje, w dniach od 18 do 29 sierpnia w Głogowie, odbyły się 10. Wakacyjne Warsztaty Wielodyscyplinarne. Dowiedziałem się o nich od osoby, którą spotkałem na innym obozie i już wtedy po opisie WWW stwierdziłem, że to będzie coś wspaniałego, ale dałem się zaskoczyć – było jeszcze lepiej niż się spodziewałem!

Dlaczego warto uczestniczyć w WWW?

Dla ludzi i atmosfery!

Na WWW nie ma „kadry i uczestników”. Są tylko ludzie – grono znajomych – które samo się organizuje, uczy nawzajem i przy okazji świetnie bawi. W tych krótkich zdaniach można zawrzeć całą esencję Warsztatów.

Szczegółowiej – na WWW wszyscy „są na ty”. Nieważne czy kończysz gimnazjum, czy oddajesz doktorat. Dzięki temu łatwiej się zintegrować, wspólnie pracować i lepiej siebie wzajemnie poznać. Ponadto prowadzący jedne warsztaty mogą być uczestnikami innych, a wieczorem wszyscy i tak spotykają się przy planszówkach, kartach czy komputerach 🙂 . Mi osobiście bardzo spodobała się ta forma prowadzenia Warsztatów. Dodam, że jestem także pod wielkim wrażeniem samoorganizacji WWW, a zwłaszcza Miśki, która ciągle myślała o wszystkim, przyjęła na siebie odpowiedzialność organizacji Warsztatów i faktycznie włożyła spory wysiłek, aby wszystko się udało. Uświadomiło mi to pewną myśl i zainspirowało do podjęcia konkretnych akcji… (tak już poza WWW).
Continue reading “WWW10 – opis i wrażenia” »

To już dwa lata minęły…

…od pojawienia się wpisu „Hello world!” na Mrowqa’s Blogu. Podobnie, jak rok temu, przygotowałem dla Was trochę – mam nadzieję nienudnych – statystyk. Zapraszam do zapoznania się z nimi 🙂 .

W historii bloga z drugiego roku jego egzystencji (rok pierwszy) nie działo się szczególnie za wiele. Wspomnę o dwóch wydarzeniach, o których jeszcze nie pisałem nigdzie na blogu, wbrew temu jak to zwykłem robić. Pierwszym z nich jest przeniesienie bloga na hosting firmy linuxpl.com dnia 28 listopada 2013 roku, z którego jestem bardzo zadowolony. Drugim ciekawym, choć już niezbyt dla mnie przyjemnym wydarzeniem jest odkrycie – po raz pierwszy w historii bloga – backdoorów, dnia 11 lipca roku 2014. Winowajcą okazała się nieaktualizowana przez kilka dni wtyczka – skąd moja rada dla wszystkich użytkowników WordPressa – jeśli często nie zaglądacie na bloga, to radzę zainstalować wtyczkę do automatycznej aktualizacji wtyczek – jak to zrobiłem ostatnio i ja.

Continue reading “To już dwa lata minęły…” »

„O zarządzaniu …” – Potyczki Młodych Adminów 2014

W dniach 24-25 kwietnia oraz 6-7 czerwca odbyły się odpowiednio I i II etap 1. edycji Potyczek Młodych Adminów. Zakres zagadnień tego konkursu obejmuje tematykę administracji serwerów, w tym konkretnym przypadku SLES-a 11 (SUSE Linux Enterprise Server). Dlaczego ten konkurs nad wyraz się mi spodobał? Nie jest on taki sam jak inne. Standardowe konkursy wymagają od nas głównie teorii. Tutaj było inaczej. Występowały jedynie zadania z wiedzy praktycznej. Warto jeszcze nadmienić, iż startowało się w 2-osobowych zespołach.

Logo SUSE - systemu, na którym pracowaliśmy podczas zawodów

Logo SUSE – systemu, na którym pracowaliśmy podczas zawodów

Przed konkursem

O konkursie dowiedziałem się od dalekiego znajomego. Od samego początku podobała mi się formuła zawodów i mimo podejrzeń, że mam małe szanse dostać się dalej, postanowiłem wystartować. Lekkim problemem było znalezienie drugiej osoby do zespołu, która posiadałaby pokaźną wiedzę. Kuba, z którym ostatecznie wystartowałem, nie był wprawdzie orłem, ale miał wcześniej styczność z systemami unixo-podobnymi, więc był dobrym kandydatem.
Continue reading “„O zarządzaniu …” – Potyczki Młodych Adminów 2014” »

Google Science Fair – konkurs młodych naukowców i wynalazców

Google Science Fair to konkurs dla ludzi w wieku 13-18 lat, w którym należy coś zbadać albo wynaleźć. Oficjalny czas trwania konkursu wyniósł 3 miesiące – od 12 lutego do 12 maja, niemniej jednak można było zgłosić projekty, nad którymi prace rozpoczęto wcześniej. Po nieosiągnięciu wyznaczonego przeze mnie celu – zwyciężeniu Google Code-In 2013 – postanowiłem spróbować swoich sił w tym konkursie (tak, jak to zadeklarowałem w poście o GCI).

Pomysł

To była poniekąd ciekawa historia. Od dłuższego czasu myślałem nad zabezpieczeniem smartfonów przed kradzieżą. Po pewnej rozmowie ze znajomym, kiedy to wracałem z nim autobusem i opowiedział mi, jak to skradziono mu jego smartfon, bardziej utwierdziłem się w swoim przekonaniu o potrzebie stworzenia takiego zabezpieczenia. Już od dłuższego czasu wtedy szukałem pomysłu na GSF-a (Google Science Fair), jednakże nic nie mogłem wymyślić. Dopiero po dłuższym czasie skojarzyłem fakty 🙂 . Taki więc miałem cel: stworzyć zabezpieczenie zapobiegające kradzieży smartfonów. Miałem już wstępne pomysły, jak to zrealizować, ale pewien kolega, Arek, który koniecznie chciał ze mną wykonywać projekt, zmienił „nieco” moją koncepcję… i to o duże „nieco”. Nowy projekt ma za zadanie wykrywać obecność człowieka wykorzystując pole magnetyczne. W rezultacie stworzyliśmy „Nowoczesny System Zabezpieczeń”.

Continue reading “Google Science Fair – konkurs młodych naukowców i wynalazców” »

Twórz backupy! Nigdy nie wiesz, kiedy będziesz ich potrzebować.

Niedawno spotkała mnie bardzo nieprzyjemna sytuacja, a mianowicie software, który zainstalowałem jeszcze pod Windowsem 8 przed aktualizacją do Windowsa 8.1 uszkodził mi system. Partycja odzyskiwania stworzona przez system, punkty przywracania ani żadne narzędzie dołączone do instalatora nie pomogły. Męczyłem się cztery dni analizując szkody i działania programu, jednakże ostatecznie uratował mnie backup (kopia zapasowa) partycji systemowej, który wykonałem końcem grudnia zeszłego roku szczerze mówiąc bez żadnej racjonalnej przyczyny. W tym poście opiszę jak w prosty sposób tego dokonać.

Co konkretnie zrobimy i dlaczego to jest dobre rozwiązanie?

Pokażę, jak zrobić kopię zapasową partycji systemowej i jak ją przywrócić, choć równie dobrze w ten sposób można zbackupować cały dysk. Dla niewtajemniczonych: dysk (ten który znajduje się fizycznie w komputerze) dzieli się na tzw. partycje. W systemach z rodziny DOS/Windows osobna partycja najczęściej jest reprezentowana jako osobny „dysk lokalny” z własną literką w „Mój Komputer” tudzież „Komputer” w zależności od wersji systemu.
Wadą tego rozwiązania jest wielkość kopii zapasowej* i – dla osób niewtajemniczonych – trochę nieoczywiste działania z naszej strony.
Zalety? Mamy konsystentną kopię całej partycji systemowej! To oznacza, że po przywróceniu systemu dzięki tej kopii odzyskamy idealnie taki sam stan systemu! Nie będziemy musieli na nowo konfigurować systemu, personalizować własnego profilu czy instalować od nowa programów**.
* wprawdzie na partycję systemową nie trzeba wcale sporo miejsca, ale przeciętny użytkownik pewnie nie myśli jak sensownie podzielić dysk i wszystko umieszcza w tym jednym miejscu (co szczerze mówiąc wcale nie jest mądrym rozwiązaniem); poza tym zawsze backup można skompresować 🙂
** lokalizacja instalacji programu: partycja systemowa = program zostanie odzyskany, inna lokalizacja = przywracamy partycje systemową, czyli ta inna lokalizacja nie jest naruszona

Continue reading “Twórz backupy! Nigdy nie wiesz, kiedy będziesz ich potrzebować.” »

Prosty sposób na przyspieszenie komputera – RAM Dysk

Dyski są wąskim gardłem komputerów. To z ich powodu system uruchamia się długo. Można to prosto sprawdzić dowolnym programem monitorującym wykorzystanie dysku podczas startu systemu – ujrzysz wdzięczne 99-100%. Dysk również spowalnia uruchamianie się programów. W przypadku lżejszego oprogramowania nie trzeba czekać długo, jednakże gdy korzystamy z „cięższego oprogramowania” to jesteśmy zmuszeni poczekać chwilkę, aby program wczytał wszystkie potrzebne zasoby. Dysk nie spowalnia tylko włączania się programów – spowalnia także działanie niektórych z nich. Spora ich część bowiem doczytuje dane podczas korzystania z nich (np. gry), a inna część cache’uje dane (np. przeglądarki internetowe). Jak tego wszystkiego uniknąć albo przynajmniej ograniczyć w pewnym stopniu?

Dyski SSD

Przeciętne dyski magnetyczne (HDD) umożliwiają odczyt na poziomie około 100 MB/s. Mój dysk wewnętrzny osiąga prędkość średnią w granicach 120 MB/s, natomiast zewnętrzny na USB 3 około 110 MB/s (przy podkręceniu portu USB poprzez sterowniki płyty głównej – około 130 MB/s).
Wydajniejsze dyski SSD na SATA III (powszechnie wykorzystywaną magistralę do podłączania dysków) osiągają prędkość w granicach aż 500 MB/s! Na takim dysku system uruchomi się dużo szybciej, a programy nie będą ładować zasobów tak wolno, jak na zwykłym dysku HDD, przez co będą działać szybciej.
Niedawno pojawiły się na polskim rynku dyski SSD na PCI-E (magistralę wykorzystywaną do m.in. podłączania kart graficznych). Modele, które widziałem, osiągały prędkość odczytu rzędu 800-900 MB/s. To spore przyspieszenie, choć da się uzyskać jeszcze większe.
Dyski SSD niestety nie należą do najtańszych. Te tańsze nośniki o pojemności 128 GB, w dniu publikacji tego postu, można było nabyć za cenę 300-400 zł. Dysk o tej pojemności spokojnie zmieści system, częściej wykorzystywane programy, wszelaki cache oraz trochę danych. Resztę można trzymać na zwykłym dysku HDD.

Istnieje jednakże alternatywne rozwiązanie, które potrafi przynieść może nie aż tak spore korzyści, jak dyski SSD, ale niemalże za darmo.

RAM Dyski

Pamięć RAM – powstała, by komputer mógł szybko wykonywać operacje na aktualnie wykorzystywanych danych. Dzisiejsze komputery stacjonarne i laptopy posiadają zazwyczaj 4 GB RAM-u, czasem nawet i 8 GB. 1 GB RAM-u w smartfonach to także rzecz, którą można spotkać każdego dnia. Sam jestem szczęśliwym posiadaczem komputera z 16 GB RAM-u od niemalże dwóch lat. Pamięć DDR3 o powszechnie spotykanym taktowaniu 1333 MHz umożliwia przesył danych z prędkością 10600 MB/s. Szybko, nieprawdaż? Dlaczego by tego nie wykorzystać? Niżej opisano sposób, jak tego dokonać.
Continue reading “Prosty sposób na przyspieszenie komputera – RAM Dysk” »