COLDPEER'S BLOG There is no system but GNU, and Linux is one of its kernels.


piątek, 4 maja 2007

Przenosiny bloga na Joggera. Uwaga!


Nowy adres bloga - http://coldpeer.jogger.pl

Jakieś dwa tygodnie temu założyłem ten blog. Brakowało mi tam kilku, ważnych opcji. Dostałem je - a nawet o wiele więcej, w także darmowym, popularnym wśród polskich bloggerowców, Joggerze. Jako, że ten blog dopiero się rozkręca(ł), sądzę, że nie ryzykowałem zbyt dużo.

Wszystkie wpisy i komentarze zostały już przeniesione na nowy adres. Następne zmiany, co do hostingu, nie są przewidziane, więc nie denerwujcie się ;-)

Czytelników, subskrybujących wpisy w kanale RSS, czy też posiadających blog w zakładkach ;), proszę o aktualizację URL-i.

Przepraszam za ewentualne kłopoty, pozdrawiam i zapraszam do odwiedzania bloga pod nowym adresem!
Coldpeer.

CZYTAJ WIĘCEJ...

piątek, 27 kwietnia 2007

Latający pingwin Tux

Filmik udowadnia, że jednak pingwiny potrafią latać. Bardzo ciekawe i pomysłowe wykonanie, pokazujące Tuksa (maskotkę Linuksa) unoszącego się nad chmurami :) Zresztą zobaczcie sami:

Jeszcze link na Youtube: http://youtube.com/watch?v=fhaEmWWWGeo

y

x


CZYTAJ WIĘCEJ...

czwartek, 26 kwietnia 2007

Wymiary obrazka w Delphi

Jakiś czas temu potrzebowałem pobrać wymiary obrazków w Delphi. Sprawa banalna, ale może komuś ułatwi to sprawę. Można otworzyć obrazek za pomocą klasy TImage i odczytać potrzebne dane. Poniżej prezentuję funkcje. Powyższa funkcja zwraca wartość w postaci SzerokośćxWysokość. Przedstawiam funkcję, która zwraca tylko wybrane przez nas dane: Wywołanie wygląda następująco (dla pliku C:\img.jpg): Standardowo klasa TImage obsługuje takie formaty jak JPG/JPEG czy BMP. Aby obsłużyć formaty GIF czy PNG, należy zainteresować się dodatkowymi modułami jak TGifImage, czy TPngImage - dostępnymi za darmo w internecie.

CZYTAJ WIĘCEJ...

środa, 25 kwietnia 2007

Aktualna piosenka w RMF FM

Lubię i często słucham - znanego chyba każdemu - radia RMF FM, głównie pracując przy komputerze. Ostatnio byłem zajęty pisaniem różnych funkcji do projektu ggb - bota, komunikującego się poprzez sieć Gadu-Gadu i udostępniającemu użytkownikowi przydatne informacje. Postanowiłem napisać funkcję w Pythonie (w tym języku pisany jest bot), pobierającą poprzednią, aktualną, następną i jeszcze następną piosenkę z owej stacji radiowej. Jak dla mnie przydatna sprawa. Poniżej przedstawiam kod w Pythonie i PHP.


Na stronie RMF FM jest flashowe logo, a w nim wyświetlane aktualne piosenki, grane w radiu. Skądś te dane logo musi pobierać. Sprawa sprowadza się do zdekompilowania SWF-a i odczytania adresu URL pliku, jakim jest http://static.rmf.pl/rmf_fm/info_exp.txt. Po obrobieniu zawartości pliku funkcją zamieniającą %20 na spacje, %3C na < itd. dostajemy już bardziej przyjazny ciąg. W PHP mamy ładną funkcję urldecode: Teraz wystarczy, najłatwiej za pomocą wyrażeń regularnych, wyszukać odpowiednie informacje. Kod w Pythonie wygląda następująco: Wynik wygląda w chwili obecnej tak:

coldpeer@box:~$ python rmf.py
Poprzednio: elektryczne gitary - kiler
Teraz: michael buble - everything
Za chwilę: hinder - lips of an angel
Następnie: amel bent: eye of the tiger

Jeśli obecnie są nadawane np. Wiadomości - w każdym razie nie muzyka, albo wystąpił jakiś inny błąd w odczycie pliku, zostanie wyświetlony komunikat.

To jeszcze coś dla lubiących PHP: Have fun!

CZYTAJ WIĘCEJ...

Czy wyraz jest palindromem?

Palindrom (tudzież anagram odwrotny) jest to wyraz, liczba, który odczytany zarówno normalnie (od przodu), jak i wspak (od tyłu) daje taki sam ciąg, np. palindromem jest wyraz "kajak", czy liczba 656. Ponadto ciąg składający się z mniej niż dwóch znaków jest palindromem (np. litera K).

Pokażę za chwilę, jak napisać prosty algorytm, który będzie sprawdzał, czy dany wyraz bądź liczba jest palindromem.

Algorytm

1. boolean is_palindrome(string S)
2. begin
3.  integer I ← (ilość znaków z S) div 2 // przyjmujemy S[0] = pierwsza litera S
4.  while I > 0 do
5.  begin
6.    I ← I - 1
7.    if S[I] != S[ilość znaków z S - I - 1] then return false
8.  end
9.  return true
10.end
3. Deklaracja zmiennej I i przypisanie do niej połowy długości ciągu (zaniedbując część ułamkową), przekazanego w parametrze funkcji.
7. Jeśli I-ty znak ciągu S jest różny od znaku na pozycji: ilość znaków z S - I - 1, zwróć false - ciąg nie jest palindromem.
9. Podczas działania pętli, nie została zwrócona wartość false, więc ciąg jest palindromem.

Implementacje


C/C++: Pascal: Python: Ruby: PHP: JavaScript:

CZYTAJ WIĘCEJ...

poniedziałek, 23 kwietnia 2007

Start!

I ruszył mój blog... Zamierzam w nim pisać głównie o świecie komputerów, w szczególności programowanie (C++, Python, PHP), webmastering, *nix, etc. Oprócz przemyśleń, czasem newsów, będą się tutaj pojawiać różne moje teksty, porady, ciekawostki :) Oczywiście, jak będzie, czas pokaże.

Serdecznie zapraszam i pozdrawiam,
Coldpeer

CZYTAJ WIĘCEJ...