The Essence of Programming

Nowy minimalistyczny szablon

27 maja 2008

Znalazłem trochę czasu i postanowiłem zmienić szablon bloga :) Denerwował mnie w nim brak przejrzystości i funkcjonalności. Aktualny szablon, który przygotowałem miał być maksymalnie minimalistyczny. Chyba się udało :)

Zostało kilka poprawek do zrobienia, elementów, stylów i JS(zwijane menu boczne) do dodania, ale to już jest "małe piwo" i będę starał się to na bieżąco uzupełniać :)

Co do wpisów z mojego życia postanowiłem, że wszystkie będą pojawiać się w serwisie niezależnym od Joggera, czyli tumblr - life.gruszka.info

W miniblogu pojawiać się będą wpisy, które nie będą artykułami i ich wartość merytoryczna znacząco odbiegać będzie od głównej treści bloga.

Wpisy dotychczas napisane, ale nietechniczne przeniosę na wyższy poziom, także od teraz nie będą one dostępne.

Jak widzicie zmiany już nadchodzą, niedługo będzie jeszcze ciekawiej :)

SmallGallery v0.3.8

27 maja 2008

Kolejna wersja SmallGallery do ściągnięcia - v0.3.8 :)

Czym jest SmallGallery?
To prosty skrypt galerii pozwalający na poruszanie się po katalogach i przeglądanie zdjęć w nich zawartych. Istnieje również możliwość zgrywania plików do odpowiednich folderów przy pomocy www :)

PingerCast - zobacz o czym piszą Pingerowcy

27 maja 2008

Zauważyłem już jakiś czas temu, że brakuje narzędzia pozwalającego śledzić wpisy z serwisu pinger.pl, które grupowałoby je wg określonych tagów. Postanowiłem więc skorzystać z okazji i stworzyć coś takiego :)

Użytkownik podczas dodawania nowych wpisów do swojego bloga w serwisie pinger.pl, może oznaczyć je odpowiednimi tagami, dzięki którym PingerCast z agreguje odpowiednie treści. PingerCast przechowuje wpisy tylko z ostatnich 48 godzin.

PingerCast połączony został również z PingerMapą - tagi pojawiające się na mapie kierują bezpośrednio do odpowiednich stron PingerCastu.

Całość jest już funkcjonalna, ale w najbliższej przyszłości zamierzam jeszcze poprawić niektóre elementy, aby było jeszcze lepiej :)

Zapraszam do korzystania i będę wdzięczny za wszystkie uwagi dot. działania(również te bardzo krytyczne).

Dla zainteresowanych współpracą: blazej.gruszka [małpka] gmail [kropka] com

PingerMapa - mapa serwisu pinger.pl

27 maja 2008

Zawsze chciałem zrobić coś używając Google Maps API. Teraz w końcu jestem w stanie powiedzieć, że coś takiego przy pomocy moich rąk powstało. Padło na serwis pinger.pl, a w połączeniu z mapami Google, szczyptą AJAX'u oraz JS dało PingerMapę. Spytacie co to jest?

PingerMapa jest narzędziem pozwalającym na bieżący podgląd skrótów wpisów(160 znaków) dodawanych przez użytkowników w serwisie pinger.pl, odzwierciedlając tym samym ich faktyczne położenie na mapie świata :)

Stronicowanie w PHP

27 maja 2008

Jest wiele możliwości stworzenia stronicowania w PHP. Ja zamierzam przedstawić jedną z nich, która moim zdaniem dobrze nadawać się będzie do użycia np. w różnego rodzaju skryptach galerii nie korzystających z baz danych. Dla nieświadomych, czym jest stronicowanie? - podziałem treści na strony ;)

Wyobraźmy sobie, że stworzyliśmy galerie plików. Pod uwagę wzięliśmy podział na obiekty. Obiektami mogą być pliki graficzne oraz foldery(zawierające inne pliki), oczywiście zawierać mogą one różne właściwości, np. typ, tytuł, url, kategorię, datę utworzenia.

SQL i instrukcja CHECK

27 maja 2008

Chciałbym poświęcić kilka słów na temat użycia SQL'a oraz jego instrukcji, które nie są zbyt często opisywane w różnych tutorialach i kursach. Dzisiejszy artykuł będzie pierwszym z cyklu "jak to działa" ;) Aby przetestować przykłady znajdujące się poniżej, musimy zaopatrzyć się w bazę PostgreSQL lub MS SQL.

Automatyczna aktualizacja do IE 7.0

27 maja 2008

Przed chwilką włączyłem Windowsa XP i okazało się, że jest do zainstalowania poprawka. Nie byłoby w tym nic dziwnego, gdyby nie to, że jest to aktualizacja Internet Explorera do wersji 7.0! Ciekawe jakie niespodzianki Microsoft jeszcze szykuje? :)

ENUM w Ruby on Rails

27 maja 2008

A to ci heca! ActiveRecord w Ruby On Rails nie wspiera typu ENUM dla kolumn!

Does ActiveRecord support ENUM column types?
No, not currently.

Jeśli korzystamy z baz danych MySQL to sobie jeszcze jakoś poradzimy, ale co do innych DB niestety będzie trzeba poczekać :-/. W Postgresie(podczas tworzenia tabeli) możemy zamiast ENUM użyć np. CHECK

Photoshop na Linuksie?

27 maja 2008

Według gazeta.pl:

Za najważniejszą aplikację, która blokuje migrację na Linuksa, uznano Adobe Photoshopa.

Fakt! Ale to nie znaczy wcale, że nie można uruchomić Photoshopa na Linuksie. Ba!, można nawet na nim w miarę normalnie pracować :D

Dla chcącego nic trudnego - Adobe Photoshop 6.0 CE(dzięki Wine) :)

Adobe Photoshop under Linux

Rozważania nad nową wersją SmallGallery

27 maja 2008

Od tygodnia rozważam w swojej głowie zmiany/innowacje jakie mam dodać do najnowszej wersji SmallGallery.

Prawdopodobnie będzie to:
- konfigurator(przez www) zapisujący konfigurację w plikach xml
- stronicowanie
- zmiana biblioteki LightBox na ThickBox ? (galeria zyskałaby możliwość wyświetlania plików video)
- przycisk wstecz, który nie będzie JS
- miniatury zapisywane na dysku, dzięki czemu cache'owane

Jednocześnie wszystkich chętnych oraz osoby korzystające z galerii zapraszam do współpracy. Być może macie jakieś nowe pomysły, które warto byłoby uwzględnić? Czekam na komentarze :)

Wpisy wielojęzykowe na Joggerze - implementacja

27 maja 2008

Znam kilku Joggerowiczów, którzy dodają swoje wpisy w językach innych niż ojczysty. Tworzą oni tym samym nowe kategorie, w których je umieszczają. Pytanie brzmi, po co, bądź czy nie dałoby się tego rozwiązać w inny, ciekawszy sposób?

Rozwiązanie, które zamierzam przedstawić w całości oparte jest na JavaScript i jQuery.

HTML Challenge

27 maja 2008

Znalazłem przed chwilą ciekawą rzecz - HTML CHallenge. Mój wynik 46 znaczników, więcej w 5 minut nie umiałem wymyślić :P I Ty sprawdź jak dobrze znasz HTML-a ;)

Ubuntu 7.10 - ShipIt

27 maja 2008

Właśnie przyszła mi paczka a w niej Ubuntu 7.10. Czekałem coś ok. 4 tygodni, ale opłacało się - fajnie jest dostawać coś za free :) W zestawie płytka + naklejki. Dołączam zdjęcia w niezbyt doskonałej jakości, ponieważ nie miałem pod ręką nic lepszego niż stary "pseudocyfrowy" aparat Aipteka :P

Debugowanie w Ruby on Rails

27 maja 2008

Czasami w aplikacjach railsowych zdarzają się błędy które trudno wychwycić gołym okiem, bądź znaleźć w logach. Co wtedy zrobić? Na szczęście programiści Ruby on Rails wymyślili narzędzie, które pomaga debugować aplikację w różnych punktach napisanego przez nas kodu.

API dla Rails

27 maja 2008

Właśnie znalazłem stronę zawierającą dokumenty API dla Rails(całość oparta na AJAX) - http://railsbrain.com/

Ciekawe i podręczne. Warto dodać do ulubionych :)

Wpisy wielojęzykowe na joggerze

27 maja 2008

Udało mi się zrobić na swoim blogu możliwość pisania w języku polskim i angielskim równocześnie :) Użyłem jQuery oraz czystego JS(dlatego, że nie wiem jak sprawdzić w JQ czy dany obiekt istnieje :P). Skrypt rozpoznaje, czy dostępna jest wersja artykułu po angielsku, jeśli tak to dodaje odpowiedni link :) Póki co ten trick jest w wersji beta, ale jak go podrasuje, to opisze jak zrobić to na swoim joggerze :)

Przykładowy wpis: http://gruszka.info/2007/08/30/znajdz-swoich-znajomych-z-gmaila-na-twitterze

PS. Nie przejmujcie się moją gramatyką angielską jakby co ;)

Znajdź swoich znajomych z gmaila na twitterze :)

27 maja 2008

Na twitterze jest nowy gadżet: http://twitter.com/invitations/gmail. Dzięki niemu, każdy z nas będzie mógł znaleźć znajomych na twitterze, którzy również posiadają konto w gmailu :) Zabawmy się w szpiega... let's go :D

2 Mb/s

27 maja 2008

Fajnie jest mieć 2Mb Internet :) a wszystko w standardzie mieszkaniowym w NL ;)

Konferencja - "Metody, narzędzia i technologie informatyczne w gospodarce opartej na wiedzy”

27 maja 2008

Katedra Informatyki przy Wyższej Szkole Bankowej w Poznaniu Wydziału Zamiejscowego w Chorzowie zaprasza na ogólnopolską konferencję naukową "Metody, narzędzia i technologie informatyczne w gospodarce opartej na wiedzy", która odbędzie się 26 września 2007

Celem konferencji jest przedstawienie osiągnięć naukowo-badawczych przedstawicieli nauki i praktyki gospodarczej. Organizatorzy mają nadzieję na stworzenie forum dyskusji dla środowiska naukowego i praktyki gospodarczej oraz propagowanie idei współpracy naukowo-badawczej.

SmallGallery v.0.3.5

27 maja 2008

Stało się - dzisiaj światło dzienne ujrzała najnowsza wersja SmallGallery 0.3.5. W najnowszej wersji:

  1. Zmiana systemu szablonów Smarty na OPT(Open Power Template)
  2. Dodanie możliwości wyświetlania miniatur zamiast ikonek
  3. Kilka nowych opcji do zmiany w konfiguracji: GALLERY_TITLE - tutuł naszej galerii, SHOW_THUMBS - wyświetlanie miniaturek, THUMB_MAX_WIDTH i THUMB_MAX_HEIGHT - maksymalna wysokość i szerokość miniaturki, THUMBS_QUALITY - jakość tworzonych miniaturek(od 1 do 100)

Grep w PHP

27 maja 2008

Zastanawialiście się kiedyś jak stworzyć narzędzie grep, tylko że w php? :) Poświęciłem chwilkę czasu i spłodziłem skrypt, dzięki któremu możemy wyszukiwać pliki(w odpowiednich katalogach), o określonym rozszerzeniu, zawierających odpowiednie wzorce(póki co nie oparte jeszcze na wyrażeniach regularnych ;)) Ruszyć powinien u każdego(pisane pod php4). Skrypt jest prosty i nie zawiera takiej funkcjonalności jak linuksowy grep, ale być może przyda się użytkownikom, którzy nie potrzebują zaawansowanych funkcji ;)

Ajaxowe problemy

27 maja 2008

Myślałem, że linkując na stronie plik JS(z AJAXem) z serwera zew. będzie można również pobierać pliki z tego serwera. To jednak tak nie działa :-/ Wiem, że można użyć języka ServerSide, ale trochę mi to komplikuje sprawę. Chciałem w prosty sposób umożliwić wielu użytkownikom korzystanie z pewnego gadżetu. Użytkownik dostaje kilka linijek kodu JS i wkleja na stronę(podobnie jak w Google Analytics). Zna ktoś z was sposób, jak sobie z tym problemem poradzić?

Gadżet twitter.com

27 maja 2008

Jakiś czas temu założyłem sobie konto w twitter.com. Chcąc wzbogacić bloga o pewien dodatek oferowany przez wymieniony wyżej serwis(dot. aktualnie wykonywanych przeze mnie czynności), zmuszony byłem zainstalować go w postaci flasha na stronie. Niestety, nie przepadam za "flashowymi bajerami" i tym samym postanowiłem stworzyć coś nowego, co odpowiadałoby moim potrzebom :) Z pomocą przyszło mi API twittera, php oraz JavaScript(prototype, script.aculo.us - pliki: scriptaculous.js, effects.js).

Chrome.pl padł

27 maja 2008

Od wczoraj próbuję się zalogować do Jabbera i nic, chrome.pl padł :-/ Chyba trzeba będzie zmienić serwer :P Jaki byście mi polecili?? :)

SmallGallery v.0.3

27 maja 2008

Po kilku miesiącach oczekiwania wypuszczam nową wersję SmallGallery v0.3. Co zostało zmienione/poprawione w najnowszej wersji?

"Widzimisie" w Operze?

27 maja 2008

Może mi ktoś powiedzieć, dlaczego ten kod nie chce działać w Operze?? Jedyna informacja jaką udało mi się znaleźć na ten temat - aptana.com. Czyżby Opera nie wspierała document.getElementsByName oraz length??

Rusz swoim oknem

27 maja 2008

Wielu z was pewnie nie raz potrzebowało możliwości przesuwania określonych obiektów na stworzonych przez siebie stronach. Jako, że staram się do rozwiązań niektórych problemów dojść sam, stworzyłem prostą bibliotekę, która nam to umożliwi :)

Dodajemy własne logo do lightbox'a

27 maja 2008

Jakiś czas temu znalazłem zlecenie(zlecenia.przez.net) dot. dodania logo dla Lightbox'a v2.0. Nie jestem specjalistą od CSS i JS/DOM, ale rozwiązanie, które zamierzam przedstawić działa(testowane tylko na Firefox 2.0.0.1 :P). Sam proces instalacji Lightboxa ominę, ze względu na fakt, że można znaleźć wiele informacji na ten temat przy pomocy google :) Kiedy Lightbox już działa dokonajmy właściwej instalacji naszego loga ;)

Odporność polskich stron na ataki typu path traversal

27 maja 2008

Ponad tydzień temu postanowiłem sprawdzić odporność polskich stron na atak typu "path traversal" (jest to atak polegający na dostaniu się do pliku lub katalogu na serwerze normalnie niedostępnego) oraz na atak związany z dołączaniem(includowaniem) plików ze stron zewnętrznych. O dziwo jeszcze dziś, kiedy tak wiele mówi się o zabezpieczeniach serwerowych oraz środowiska aplikacji(np. skryptów php), zdarzają się witryny, które wręcz krzyczą "zhakuj mnie". Agresor, dzięki błędom wykorzystującym polecenie include(ew. require) ma możliwość inegerencji w strukturę plików serwera, co w rezultacie może doprowadzić do pobrania pliku /etc/passwd lub podmianę strony głównej witryny. Z praktycznego punktu widzenia programowania skryptów php wystarczy kilka linijek aby zabezpieczyć się przed tego typu błędami.

Nowości w narzędziach Google

27 maja 2008

Google po raz kolejny zaskoczyło internautów ogłaszając kilka nowości dot. swoich narzędzi.

Udostępniono “Dokumenty i arkusze” w języku polskim. Jest to darmowa usługa Google, umożliwiająca tworzenie dokumentów oraz arkuszy kalkulacyjnych przy użyciu przeglądarki internetowej.

Zniesiono także system zaproszeń z poczty GMail, tym samym oficjalnie otwierając bezpłatny system pocztowy dla wszystkich.

Kolejną nowością jest udostępnienie Google Toolbar 3 w pełnej wersji dla przeglądarki Firefox.

No to już jest prawie wszystko spolszczone ;) Jeszcze tylko Google Analytics :)

Kilka informacji o autorze

Programista, blogger, uwielbia białą czekoladę ;)