26 08 2010
Opublikowano w Programowanie  |  0 Komentarzy
Tagi: ,

Wakacyjny projekt

Uffff kilka “wolnych” miesięcy, które miałem przeznaczyłem na realizację własnego projektu. W mojej głowie zrodził się pomysł na stworzenie portalu o tematyce zdrowotnej. Zrobiłem sobie małe rozeznanie rynku. Muszę przyznać że konkurencja jest spora, ale wierzę że na tle najbliższych miesięcy jestem w stanie wypracować dużą wartość dodatnią.

O stronie

Strona na obecnym etapie stanowi katalog lekarzy oraz artykułów o tematyce zdrowotnej. Użytkownicy mogą dodawać własne opinie oraz wizytówki polecanych specjalistów. Listę artykułów będę z czasem sukcesywnie powiększał. Całości nadam charakter społecznościowy. Zapraszam do odwiedzin: Zaufany Lekarz.

Technologie

Skusiłem się na wykorzystanie Kohany w wersji trzeciej. Za sprawą danego frameworka mogłem uczynić kod jeszcze lepszy niż kiedykolwiek. Niektóre dobre nawyki programistyczne zostały jednak stłumione przez firmę, u której wykupiłem sobie hosting. Brak triggerów w bazie danych to nic przyjemnego. Zastanawiałem się czy aby nie pisać całości w HTML 5. Zostałem jednak przy XHTML. Nowa wersja standardu oferuje co prawda lepszą semantykę dla wyszukiwarek, ale nie wiem jak to się ma do już powszechnych rozwiązań na rynku. Jak radzą sobie roboty google/bing-a z nowym html-em? Skusiłem się również na wykorzystanie nowości wprowadzonych w CSS3.

Zaufany Lekarz

18 05 2010
Opublikowano w Programowanie  |  2 Komentarzy
Tagi: , , , , , , ,

Gra platformowa

Mało wpisów na blogu nie oznacza braku programistycznych prac. Dzisiaj podzielę się jednym z ostatnio realizowanych projektów. Będzie to coś nowego: platformowa gra trójwymiarowa. Pisałem ją w ramach zaliczenia na jeden z uczelnianych przedmiotów. Od początku zakładałem by uczynić ją jak najprostszą, a jednocześnie poznać kilka ciekawych narzędzi. Wersja, którą udostępniam zawiera jeden poziom (zapisany w pliku *.xml) i nie obsługuje trybu kampanii. Mimo wszystko można się nią troszkę pobawić. Co jak co granie w grę, którą stworzyło się samemu jest bardzo satysfakcjonujące. Na czym polega rozgrywka? Najlepiej odzwierciedli to nagrany przeze mnie materiał.

Prezentacja

Technicznie

Marzyło mi się napisanie aplikacji, która działała by płynnie w przeglądarce internetowej. Nie mogłem wykorzystać webgl-a ponieważ moja karta graficzna go nie obsługuje. Zostało mi O3D (3D w przeglądarce od Google), które działało nad wyraz dobrze. Gorzej się miały sprawy z silnikiem fizycznym (Box2D). Początkowo nie było problemów – dopiero później wychodziły braki portu JavaScript. Fizyka była dla mnie na tyle ważna, że zrezygnowałem z takiego doboru narzędzi.
Drugim podejściem było połączenie Irrlicht-a (silnika graficznego) z “normalną” wersją Box2D. Tutaj wszystko było jasne – programowało się miło i przyjemnie ;) Po bardzo dużej ilości godzin pracy, gra została wzbogacona o dźwięk (w oparciu o Irrklang) oraz język skryptowy Lua (z wrapperem Luabind). Choć gra nie jest skończona można ją uznać za grywalną. Cel projektu – osiągnięty.

Kolejna wersja

Co do przyszłości projektu: nie będę już więcej nad nim pracował. Udostępniam źródła, które każdy może sobie przejrzeć bądź zmodyfikować.

Kompilacja – Ubuntu

Skompilowanie oraz uruchomienie gry wymaga w systemie kilku paczek:

  • build-essential
  • irrlicht1.7
  • irrlicht-dev
  • libbox2d0
  • libbox2d-dev
  • liblua5.1-0
  • liblua5.1-0-dev
  • libluabind-dev
  • libluabind0.9.0
  • qt-creator

W raz z ich instalacją konieczne jest pobranie biblioteki IrrKlang, która nie jest dostępna w repozytorium. Po jej rozpakowaniu można otworzyć plik projektu (*.pro) QT Creator-a oraz upewnić się czy podane ścieżki INCLUDEPATH oraz LIBS są poprawne. Teraz można zbudować projekt.

Załączniki

Kod źródłowy + media

14 05 2010
Opublikowano w Programowanie  |  0 Komentarzy
Tagi: , , , ,

Przesiadka

Właśnie zakończyłem prace z dostosowaniem WordPressa do własnych potrzeb. Jako że nie miałem wcześniej do czynienia z daną platformą, potrzebowałem sporo czasu by wdrożyć się w jej możliwości. Z efektu końcowego jestem jednak zadowolony. Utworzyłem szablon, który nie odbiega wizualnie od poprzedniej wersji strony. Funkcjonalność samego silnika została rozszerzona za pomocą wtyczek:

  • Akismet,
  • CodeColorer,
  • Contact Form 7,
  • Get Recent Comments,
  • Google XML Sitemaps,
  • ShiftThis.net | Swift SMTP,
  • Slimbox Plugin.

Stary silnik

Wspominałem o kodzie źródłowym skryptu, na którym stał blog. Pora go udostępnić :) Nie jest to kod kompletny czy idealny ale jednak przez pewien czas się sprawdzał.

Załączniki

Starsza wersja bloga – kod źródłowy

Sklep internetowy

Listopad okazał się bardzo pracowitym miesiącem. Nie miałem właściwie wolnego czasu dla siebie. Patrząc jednak na owoc programistycznych zmagań czuję się usatysfakcjonowany. Napisany przeze mnie skrypt sklepu internetowego spełnia swoją rolę. Co ważne oferuje funkcjonalność, której próżno szukać w gotowych produktach. Jako freelancer często spotykam się ze zleceniami, które wymagają autorskich rozwiązań. Sama oprawa graficzna strony została mi dostarczona i niestety miałem niewielki wpływ na design oraz nawigację. Galeria Qarat.

Galeria

28 09 2009
Opublikowano w Programowanie  |  0 Komentarzy
Tagi: , , , , , ,

Coś w 3D

Jeden z ostatnich wieczorów przeznaczyłem na wykonanie prostego projektu – animacji 3D. Program wykorzystuje mój ulubiony zestaw narzędzi: bibliotekę QT oraz język C++. Za renderowanie grafiki odpowiada uniwersalne api OpenGL. Udostępniłem źródła, które być może okażą się dla Ciebie pożyteczne.

Galeria

Załączniki

Źródło

23 09 2009
Opublikowano w Programowanie  |  10 Komentarzy
Tagi: , , , ,

STasks

Od dłuższego czasu nie aktualizowałem plasmoidy STasks. Miałem ku temu wiele powodów. Brak czasu, nadmiar opcji, rozdmuchany kod – te wszystkie czynniki nie zachęcały mnie do dalszej pracy. Doszło do sytuacji, w której pojawiły się liczne aktualizacje mojego projektu. Jedne zapewniały poprawną pracę z nową wówczas wersją KDE 4.3. Inne rozszerzały plasmoidę o nowe funkcjonalności (fork Smooth Tasks). Wszystkim osobom, które komentowały mój projekt oraz przyczyniły się do jego rozwoju serdecznie dziękuję. Spotkałem się też z mniej radosnymi słowami STasks is dead. Z dniem dzisiejszym tracą na wartości – wracam do pracy. Jaki będzie nowy menadżer zadań?

Simple

Nowy STasks ma być przede wszystkim prosty. Prosty w sensie: intuicyjny, wydajny, dopracowany – nie prymitywny. Bogatszy w doświadczenia z poprzednimi wersjami piszę projekt niemal od zera. Staram się zapewnić dużą jakość kodu tak by był łatwy w utrzymaniu i mógł godnie leżeć w SVN-ie. Na moim pulpicie gości KDE 4.4 (trunk). STasks jest tworzone z myślą o tej wersji środowiska graficznego. Wybaczcie ale nie rozważam kompatybilności wstecz.

Gdzie jesteśmy

Na chwilę obecną oprogramowałem elementarne wyświetlanie zadań. Sposób w jaki to robię radykalnie, różni się od tego z czym spotkaliśmy się wcześniej. Światło widoczne na obrazku pochodzi z pliku svg. Rozwiązany został przy tym problem jego wychodzenia poza obramowanie – przy renderowaniu wykorzystywana jest maska. Oszczędza to użytkownikowi konfigurację a grafikom umożliwia przeniesienie wszystkiego do stylu Plasmy. Być może na obrazku zaobserwowałeś jeszcze jedną rzecz. Dolphin posiada podwójną ramkę z prawej strony. W nowej wersji STasks w taki sposób jest pokazywana grupa zadań. Nie potrzeba już do tego żadnych cyfr/symboli. Postanowiłem zrezygnować z rozwijania zadań. Wiem że wiele osób polubiło tą funkcjonalność ale nie będę jej tutaj dodawać. Za jej nieobecnością przemawia mniejsza wydajność rysowania Frame::Svg (zmiana rozmiaru wymusza wyłączenie cache tego komponentu) oraz mnogość kombinacji, które później trzeba rozpatrywać. Zastanawiam się nad obecnością aktywatorów w plasmoidzie. Możliwe że ich również nie będę dodawał na rzecz osobnej plasmoidy (SLaunch?), która mogła by wyglądać tak. Co o tym myślicie?

Wszelkie komentarze będą pomocne. Pozdrawiam.