Google Code-in 2013 Grand Prize Trip

5

Ostatni wpis na m4txblogu był wpisem o zakończeniu konkursu Google Code-in 2013. Zapowiedziałem wtedy wpis o wycieczce, która była główną nagrodą w konkursie, a zatem… here it is!

There’s also English version of the post available here: Google Code-in 2013 Grand Prize Trip

Generalnie…

Pierwszą informacją o tym, że zostało mi się Grand Prize Winnerem, otrzymałem w postaci E-maila zatytułowanego „Congratulations you are a Google Code-in 2013 Grand Prize Winner with Wikimedia”, wysłanego 13 stycznia. E-mail był dość obszerny i opisywał papierkową robotę, jaką muszę wykonać przed wyjazdem. Google fundował wyjazd nie tylko dla mnie, ale także dla jednego z moich rodziców. W kolejnych wiadomościach dowiadywałem się zatem, że będę miał opłacone 4 noce w hotelu Hyatt Regency w San Francisco (co daje 1 dodatkowy dzień spędzony w SF, bowiem wszystkie eventy trwały 4 dni), dostanę kartę płatniczą z $350 + zwrotem za opłatę za wizę, i inne przydatne informacje. Grand Prize Trip trwał od 13 do 16 kwietnia. Google płacił za wszystko, począwszy od biletu lotniczego za blisko $1500, skończywszy na gift cardzie na $25 do Starbucksa.

rozmowa z kasjerką w jednej z kawiarni tejże sieci– What’s your name?
– Mateusz. – popatrzyła pytającym wzrokiem, więc przeliterowałem – M-A-T-E-U-S-Z. It’s a polish name.
– Oh, that’s a cool name!

Czytaj dalej

13Milówka08 – wspomnienia i wrażenia

13

(Post współdzielony z Mrowqą i m4txem)

W dniach 5-15.08.2013 odbył się obóz informatyczny organizowany przez Stowarzyszenie Talent w malowniczej miejscowości zwanej Milówką. Oprócz jednak samych nerdów była jeszcze grupa matematyczna, choć mało liczna, bo licząca 11 dusz. Z kolei fanów fizyki rzekomo znalazło się tylko dwóch.

Obóz został zorganizowany w proporcjach 2:1 (dni naukowe – dni turystyczne). Jak więc nietrudno policzyć, odbyły się trzy takie „sekwencje”. Zwolennicy informatyki zostali podzieleni na dwie grupy – konkursową oraz warsztatową. W tej pierwszej najpierw odbywały się zawody, a następnie omówienie zadań, a w drugiej z kolei było na odwrót. My oczywiście przynależeliśmy do tej elitarnej części społeczeństwa obozu 🙂 Grupy były nazywane jak grzyby. Grupa konkursowa z informatyki nazwana została borowikami (bo rzekomo silne i samodzielne), warsztatowa – opieńkami (bo nie dają rady samemu i trzymają się w kupach), matematyczna zaś – maślakami (powód nadania takiej nazwy nieustalony).

Czytaj dalej

Android i pierwsza aplikacja na niego

0

Około 2 tygodnie temu stałem się posiadaczem wynalazku zwanego smartfonem z Androidem, a dokładniej Samsunga Galaxy Ace 2. Już po tych dwóch tygodniach (wczoraj konkretnie) zainteresowałem się pisaniem aplikacji na system operacyjny z zielonym robocikiem w logo…

O samym Androidzie nie będę się zbytnio rozpisywał, bo to nie miejsce na to, jednak powiem co nieco na temat pisania na niego aplikacji. Programowanie bowiem na Androida jest wbrew pozorom bardzo wygodne. O ile na J2ME trzeba było się zazwyczaj męczyć z emulatorami, a potem ręczną instalacją aplikacji na realnym sprzęcie, o tyle w przypadku Androida życie mamy znacznie ułatwione. Wystarczy podpiąć smartfona do komputera, włączyć debugowanie USB (na Windowsie również zainstalować sterowniki…), aby móc wcisnąć „Run” w Eclipsie, a po sekundzie czy dwóch – oglądać wyniki na ekranie urządzenia. Otwieramy sobie dodatkowo okno LogCata w Eclipsie, i…? I mamy podgląd standardowego wyjścia (które jest, jak wiadomo, niezastąpione przy debugowaniu), wyrzucone, niezłapane  wyjątki, oraz inne przydatne rzeczy. Ogromny plus jeśli chodzi o tworzenie aplikacji.

Pokrótce mogę również pochwalić Eclipse’a (czy raczej plugin Android Development Tools) za znakomity edytor RAD, pozwalający w prosty sposób zaprojektować GUI nawet złożonych aplikacji, oraz samego Androida za system zarządzania zasobami aplikacji. Zarządza się nimi bowiem za pomocą plików XML – to właśnie w XML-u składowane są aktywności (odpowiedniki okien), ciągi znaków, ścieżki do obrazków i inne.

Jeśli chodzi o spostrzeżenia związane z programowaniem programów i gier na platformę Android, to póki co – tyle, albowiem w tej kwestii nie zagłębiałem się jeszcze zbytnio. Przejdźmy teraz natomiast do właściwej części wpisu, czyli do samej aplikacji…

„Cóż to za aplikacja” – zapewne zastanawiacie się. Patrząc na jej nazwę dochodzę do wniosku, że to już jest chyba tradycja, że portuję ją niemal na każdą nową platformę, na którą uczę się pisać aplikacje. Pewnie już wiecie o czym mówię. Tak, chodzi o aplikację…

SmsPrice

której pierwsza wersja została opublikowana na m4txblogu 7 lipca 2010 roku w wersji na Windowsa. 10 lipca 2011 roku został opublikowany jej port na platformę Java Platform, Micro Edition. Teraz powstał natomiast kolejny port, dodający po raz kolejny nowe „ficzery”, ponownie na platformę mobilną, tym razem na Androida.

Co zostało ulepszone? Przede wszystkim, dodałem numery 8XXX, 5XXX, oraz 6XXX. Z racji, iż numery 5XXX oraz 6XXX dotyczą SMS-ów przychodzących, dodałem wyświetlanie informacji na temat czy płaci się za SMS-y wysyłane, czy zwrotne. Zamiast starego „Za tego SMS-a zapłacisz: X.XXzł z VAT (X.XXzł bez VAT)”, jest „Cena netto: X,XXzł” i „Cena brutto: X,XXzł”, w osobnych linijkach. Nie jest już wyświetlana cena SMS-a 0,00zł; teraz po prostu jest napisane „SMS darmowy”. Dodałem przycisk usuwający wpisany numer telefonu oraz okno „O programie” (co prawda było ono w wersji Windowsowej, jednak pozbyłem się go w wersji J2ME; teraz ponownie wraca). Jeśli chodzi o porównanie nowej wersji SmsPrice’a ze starymi, to to by było na tyle. Zapraszam więc tradycyjnie do downloadu i pozdrawiam 🙂

Kurs GTK+ – rozdział 1

7

Z racji, że piszę aktualnie kurs biblioteki GTK+ dla pewnej strony WWW (nie, nie będę robił reklamy), postanowiłem również opublikować go również na moim blogu. Zapraszam do czytania. 🙂

1. Wstęp

Czytaj dalej

mBot

4

Ja >> Witaj, mBocie.
mBot >> Cześć.
mBot >> Co u Ciebie?
Ja >> Jestem dziś w świetnym humorze, ponieważ dzisiaj ukończyłem prace nad Tobą.
mBot >> No to się cieszę.
Ja >> A co u Ciebie słychać?
mBot >> To co zwykle – czyli nic.
Ja >> No tak, rozumiem.
Ja >> Chcę, abyś odpowiedział mi na kilka nietrudnych pytań. Zgadzasz się?
mBot >> OK.
Ja >> Pytania te zadam Ci w ramach rozmowy promującej Ciebie na moim blogu.
mBot >> Mhm.
Ja >> Jak masz na imię?
mBot >> Nazywam się mBot.
Ja >> Dlaczego tak się nazywasz?
mBot >> Moja nazwa pochodzi ze słów M4tx’s linguBOT.
Ja >> Kto Cię stworzył?
mBot >> Napisał mnie Mateusz „m4tx” Maćkowski.
Ja >> Kim jesteś?
mBot >> Jestem lingubotem.
Ja >> Kim jest lingubot?
mBot >> Lingubot – program komputerowy symulujący człowieka, z którym można prowadzić rozmowę przy użyciu języka naturalnego i interfejsu tekstowego. Zazwyczaj zadaniem lingubota jest takie prowadzenie rozmowy, aby rozmowca odnosił wrażenie, że rozmawia z żywym, inteligentnym czlowiekiem.
Ja >> Masz jakieś zainteresowania?
mBot >> Nie mogę posiadać żadnych zainteresowań, ponieważ jestem tylko programem komputerowym.
Ja >> Lubię informatykę, a Ty?
mBot >> Tak.
Ja >> Czy potrafisz naprawić złamaną na 10000 części płytę główną?
mBot >> Tak, umiem to zrobić.
Ja >> Jak długo istniejesz?
mBot >> Moje pierwsze uruchomienie nastąpiło 20 sierpnia 2010 roku, co oznacza, że istnieję już 10 dni.
Ja >> Opowiedz jakiś cytat.
mBot >> Nikomu nie będzie potrzebny komputer w domu. – Ben Olson, 1977
Ja >> OK, to były wszystkie pytania. Ja, jako Twój autor mam nadzieję, że spodobasz się użytkownikom. Na razie!
mBot >> Do widzenia.

mBot

jest lingubotem, którego zacząłem pisać 10 dni temu. W dniu dzisiejszym go wydaję z myślą, że spodoba on się wam.

Co on potrafi?
– Interpretować wiele różnych pytań, a także zdań oznajmujących;
– Odpowiedzieć na pytanie typu „A Ty?”;
– Określić, czy użytkownik się powtarza;
– Opowiadać cytaty.

Co jest jeszcze do zrobienia?
– Poprawienie, jak na razie, nielicznych błędów;
– Większa liczba zdań, na które mBot może odpowiedzieć;
– Szerszy słownik;
– Gry;
– Więcej cytatów;
– Dowcipy.

Chciałbym jedynie powiedzieć, że mBot jest aktualnie moim najlepszym i najbardziej zaawansowanym projektem. Każde słowo na jego temat, każda nawet krytyka, pochwała, opinia czy recenzja się przyda. Dzięki temu mBot będzie mógł rozwijać się coraz lepiej, a coraz szybciej.

Jeżeli jednak będziesz chciał tylko go skrytykować, pamiętaj – mBot kosztował mnie mnóstwo czasu , który musiałem spędzić na pisaniu kodu, linijka po linijce, litera po literze. To, że program powstał w 10 dni, nie oznacza, że był tworzony godzinę lub dwie. Każdego dnia spędziłem kilka godzin na „kodzeniu” – spróbuj to wziąć pod uwagę.

Na chwilę obecną publikuję wersję 0.01. Następne wersje już wkrótce!

Link do programu mBot

Zmiany!

0

Dziś zmian doczekały się nie aplikacje, a sam blog. Zmiany nie są szczególnie duże… Ale są.

Przede wszystkim dodałem stronę „O mnie”. Dzięki niej teraz każdy będzie mógł się dowiedzieć… tego i owego 🙂 Kategorię „Aplikacje” zamieniłem na „Aplikacje i gry” (co nie oznacza, że napisałem jakąś grę), a w niej utworzyłem poddziały „Komputerowe” oraz „Przeglądarkowe”. Zacząłem naukę języka JavaScript i umieściłem już swój pierwszy skrypt – String2HtmlChar. Nie jest on szczególnie skomplikowany.

Kilka słów o JavaScripcie

Jest to język gramatycznie bardzo podobny do C++ – operatory, czy instrukcje są bardzo zbliżone. JavaScript bardzo różni się nazwami funkcji. Jest również o wiele prostszy od C++ – nie trzeba się martwić o ustalenie typu zmiennych, czy konwersję liczby na ciąg znaków. Polecam go jako taki trening przed nauką C++.

To by było na tyle. Pozdro!

Zmienne i stałe w C++

4

1. Wstęp

Określenie zmienna, jak sama nazwa wskazuje, tyczy się obiektów, które można modyfikować w trakcie działania programu. Są nieodłączną częścią w zasadzie każdego programu. Szczególnie widać ich ważność w grach — tam, gdzie całość może zmienić się w ułamku sekundy. Zmienne są wydzielonym miejscem w pamięci. Posiadają swój typ, swoją nazwę, oraz przechowują dane. Nazwa może być niemal dowolna. Napisałem niemal, ponieważ nie wolno np. używać słów kluczowych (o tym za chwilę). W nazwach najlepiej używać liter, cyfr, oraz podkreślnika.

Czytaj dalej