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

Avian JVM – z czym to się je

0

Zapewne każdy (a przynajmniej większość) odwiedzający m4txbloga wie, że jest coś takiego jak Java i że programy napisane w niej uruchamia się za pomocą wirtualnej maszyny Javy (w skrócie JVM); większość ma także taką maszynę wirtualną zainstalowaną i w zdecydowanej większości przypadków jest to Oracle JVM, bądź OpenJDK. Nie każdy jednak wie, że są alternatywy. Lepsze alternatywy.

Czytaj dalej

„Plissssssss pomóżcieeeee!!!!!!!”

5

Zapewne zastanawiacie się, czemu tytuł tego wpisu jest taki dziwny. Chciałbym wyrazić swoją opinię na temat idiotycznego zachowania niektórych ludzi, którzy w nachalny sposób chcą przyspieszyć podanie im gotowego rozwiązania na problem, który powinni rozwiązać (a przynajmniej powinni spróbować) sami.

Czytaj dalej

Duplicate Lines Finder 2.0

0

Niektórzy czytelnicy mojego bloga zapewne pamiętają moje początki z językiem C++, kiedy to napisałem Duplicate Lines Findera 1.0, a krótko potem – 1.1. W dniu dzisiejszym – 12 lutego 2012 roku – ponad półtora roku po wydaniu ostatniej wersji, tj. 1.1 program powraca – tym razem nowy, odświeżony, jako już Duplicate Lines Finder 2.0.

Zmian jest dosyć sporo. Przede wszystkim nastąpiła zmiana języka programowania, w którym wspomniany program jest napisany – na język Java, oraz zmiana licencji – z Freeware na GNU GPL. Oznacza to jednocześnie, że program jest teraz Open source!

Kolejną ważną zmianą jest wielojęzyczność. Java umożliwiła mi bardzo łatwą zmianę języka w zależności od tego, jaki język w systemie ma aktualnie ustawiony użytkownik programu. Aktualnie jedynymi obsługiwanymi językami są polski oraz angielski, ale… Może kiedyś się to zmieni? 🙂

Następną zmianą jest nowy interfejs. Wybór plików – docelowego oraz źródłowego – odbywa się obecnie poprzez 2 przyciski. Zrezygnowałem z etykiety, pola tekstowego i przycisku tak, jak to wyglądało w poprzednich wersjach – teraz funkcje tych wszystkich widżetów przejął jeden przycisk. Oprócz tego dodałem pasek postępu pokazujący postęp wykonywania operacji. Jest on połączony z przyciskami Start i Anuluj w następujący sposób: po wciśnięciu przycisku Start, zamienia się on w przycisk Anuluj. Po opuszczeniu kursorem obszaru tegoż przycisku, zamienia się on w progressbar. Po najechaniu myszką na pasek, zamienia się on z powrotem w przycisk Anuluj. Prosto i minimalistycznie 🙂 Oprócz tego rozbudowałem również statystyki.

Z pozostałych zmian warto zaznaczyć, że teraz separator nie musi być już pojedynczym znakiem – może być dowolnej długości. Program teraz działa – chyba, nie robiłem dokładnych testów – szybciej.

To tyle o nowym Duplicate Lines Finderze. Mam nadzieję, że Wam się spodoba 🙂

Ah – warto również wspomnieć, że opublikowałem aplikację również na angielskiej wersji m4txbloga.

Zapraszam więc do pobieralni.

Pozdrawiam 🙂

Premiera mobilnego SmsPrice

2

Tak, tak – SmsPrice powraca. Napisany niedawno po założeniu bloga program przychodzi ponownie, tym razem w wersji mobilnej.

Ostatnio zacząłem interesować się bowiem takim językiem programowania, jakim jest Java. I co mogę powiedzieć?

Java jest językiem dosyć specyficznym. Kod źródłowy napisany w Javie jest kompilowany do kodu pośredniego, który potem może być wykonany przez wirtualną maszynę Javy. Dzięki temu faktowi, jeden plik .jar może być uruchamiany przez wiele systemów. Niesie to jednak pewną istotną wadę – programy napisane w Javie mają słabą wydajność.

Podczas, gdy C++ jest językiem proceduralno-obiektowym, Java jest silnie nastawiona na obiektowość. Oznacza to, że wszystko jest w niej uporządkowane w klasy obiektów.

Nie będę tu jednak wymieniał wszystkich zalet i wad Javy zwłaszcza, że zacząłem dopiero jej naukę, jednak stwierdzam, że jest to język, którym każdy programista powinien się zainteresować. Zapowiada się bowiem naprawdę ciekawie.

Wracając do SmsPrice’a – hm, dużo powiedzieć raczej nie muszę. Działa tak, jak jego desktopowy odpowiednik, jednak w wersji mobilnej mocno zmniejszyła się ilość kodu, a ponadto dodałem automatyczne obliczanie ceny z VATem. Dodatkowo mobilny SmsPrice ma otwarty kod źródłowy i jest udostępniany na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 3.0 Unported License. Tak więc nie będę dalej przeciągał, zapraszam do Downloadu!

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

Aktualizacje!

0

GBX Thumb Extractor

Wreszcie obiecywany GBX Thumb Extractor ujrzał światło dzienne. Prawie, bo niestety potrzebuje do działania kilku „składników”. Przede wszystkim wymagany jest program jpegtran.exe, który musi znajdować się w głównym katalogu programu, a oprócz tego ścieżka do pliku wyjściowego nie może zawierać spacji. W przeciwnym wypadku wynikowy obraz będzie odwrócony w pionie. No cóż, program jednak działa poprawnie.

Przede wszystkim zdecydowałem się na użycie interfejsu identycznego, jak w przypadku Duplicate Lines Finder’a, spora część kodu pochodzi też z tego programu. Jeszcze wspomnę o tym odwracaniu w pionie – jeżeli ktoś zna jakiś sposób na to odwracanie bez użycia zewnętrznych aplikacji, w C++ oraz współpracujący z kompilatorem MinGW32 – proszę o kontakt, nawet poprzez komentarz.

No, więc kończę tu opowiadanie o GBX Thumb Extractorze, żeby znowu nie wyszło jak z Duplicate Lines Finder’em i zapodaję link do progsa:

Link do programu GBX Thumb Extractor

SmsPrice 1.1

SmsPrice doczekał się aktualizacji. Zmiany są głównie kosmetyczne, można o nich poczytać w Changelog’u, ale usunąłem też trochę denerwujący błąd, który zawiesza program. Nie będę się tu rozpisywał, bo w zasadzie nie ma o czym, zapraszam do ściągnięcia najnowszej wersji:

Link do programu SmsPrice

Duplicate Lines Finder 1.1

No tak, wydałem GBX Thumb Extractor’a, zaaktualizowałem SmsPrice, możnaby się domyślać, że aktualizacji doczeka także Duplicate Lines Finder. Zgadza się.

Tu zmian jest więcej: przede wszystkim dodałem możliwość wyboru separatora – dzięki temu, jeżeli ciągi znaków są oddzielone np. spacjami, można w takim pliku także wyeliminować duplikaty. Dodałem także statystyki, dzięki którym dokładnie widać, ile zyskano miejsca, ile w pliku było duplikatów, oraz jak długo program wykonywał swoją operację. Dodałem dymki z informacjami, co dany przycisk lub coś innego robi. Wprowadziłem ignorowanie pustych linii a także wsparcie dla Windows’owego systemu kodowania – program mógł czasami nie działać, gdyż Windows nieco inaczej koduje znak nowej linii. O reszcie zmian można przeczytać w Changelog’u, a teraz po raz trzeci i ostatni w tym wpisie zarzucam link:

Link do programu Duplicate Lines Finder

Miłego używania! 😉

Premiera programu SmsPrice

0

Dziś wydaję program SmsPrice. Program ten służy do sprawdzania ceny, jaką zapłacimy wysyłając wiadomość SMS na podany numer usługi SMS Premium. Nie jest to może zbyt skomplikowana aplikacja… No, ale może komuś się przyda. Może.

Jest to natomiast moja pierwsza aplikacja stworzona w całości w WinAPI, bez używania wizualnej funkcji tworzenia okien dialogowych. Pisanie aplikacji w całości z poziomu kodu jest dużo trudniejsze, niż przy korzystaniu np. z Visual Studio, czy wxWidgets, ale wiąże się to z kilkoma zaletami.
– Nauka programowania w WinAPI
– Większa wiedza, co się w programie znajduje
– Mniejszy rozmiar wynikowego pliku
– Mniejsze zużycie zasobów systemowych (pamięć RAM)

Link do programu SmsPrice

No, ale już koniec o SmsPrice. Zapowiadany wcześniej GBX Thumb Extractor będzie musiał niestety poczekać, aż go przerobię z Visual Studio na WinAPI. No, a to może trochę potrwać, zwłaszcza, że muszę się zająć też aktualizacjami SmsPrice. Niedługo napiszę poradnik o zmiennych w C++. Nie pozostaje wam nic innego, tylko czekać, kolejne aktualizacje na blogu już wkrótce!