Komputery, oprogramowanie, internet i okolice
Kategorie: Wszystkie | Aplikacje | Blog | Dev | Hacks | Linux | Subversion | Varia | gry | khoomei | książki | mjuzik
RSS
niedziela, 16 stycznia 2011

Czytając tu i ówdzie krytyczne uwagi o projektach powstałych w ramach działania 8.1 programu POIG można odnieść wrażenie, że to głównie wyrzucanie pieniędzy w błoto. Na szczęście pojawiają się też naprawdę ciekawe serwisy mające spore szanse na sukces. Jeden z nich chciałbym wam dziś zaprezentować.

eTutor.pl

eTutor.pl

eTutor to internetowy, multimedialny kurs języka angielskiego. Mimo, że jestem raczej sceptycznie nastawiony do wszelkich kursów korespondencyjnych, to muszę przyznać, że serwis robi bardzo pozytywne wrażenie. Do dyspozycji jest 150 lekcji dla różnych poziomów zaawansowania. Zawierają one listy słówek (okraszonych zdjęciami), nagrania wideo i audio, gramatykę, wypracowania i testy. Do tego system powtórek i wiele różnych ćwiczeń, w których spory nacisk położony jest na rozumienie ze słuchu.

Szczerze powiedziawszy mam wątpliwości, czy kurs internetowy może zastąpić normalne kursy językowe. Nie ukrywajmy, brak tu bezpośredniego kontaktu z lektorem, brak interakcji i rywalizacji z innymi kursantami (rankingi użytkowników i forum to tylko namiastka). Na pewno jednak będzie to bardzo interesujące uzupełnienie innych metod. Podejrzewam, że może się też sprawdzić w przypadku osób, które kiedyś już uczyły się języka angielskiego i potrzebują solidnej powtórki by przypomnieć sobie słownictwo i osłuchać się trochę z językiem.

Jeśli ktoś chciałby się osobiście przekonać jaka jest skuteczność eTutora może wziąć udział w konkursie i wygrać kod dostępu.

Diki.pl

Diki.pl

Drugim serwisem, który chciałbym polecić jest Diki. To "gadający" słownik polsko-angielski i angielsko-polski. Jest on całkowicie darmowy i dostępny dla każdego (a użytkownicy eTutora mają dodatkowo możliwość zintegrowania słownika z systemem powtórek). Podobnie jak w wyżej opisywanym serwisie tu też jest bardzo multimedialnie. Oprócz podanego znaczenia słowa i przykładów użycia w zwrotach i zdaniach, dostępne są nagrania z poprawną wymową (czytane przez lektorów), oraz obrazki dla wzrokowców. Podczas moich testów słownik sprawował się bardzo dobrze i wydaje się być ciekawą alternatywą dla innych internetowych słowników.

Jako bonus dostajemy listę edukacyjnych podcastów, oraz opis jak dodać wyszukiwarkę słówek do przeglądarki.

Nie byłbym jednak sobą gdybym się do czegoś nie przyczepił. Mój główny zarzut to brak informacji o źródłach i/lub autorach opracowanych na potrzeby słownika haseł. Wydaje mi się, że w serwisie bądź, co bądź edukacyjnym jest to informacja bardzo istotna, mająca wpływ na wiarygodność serwisu i ocenę jego wartości merytorycznej. Drugim poważnym problemem jest brak informacji o źródle wyświetlanych przy hasłach zdjęć i obrazów.

Jeszcze kilka uwag mam, jednak... nie chcę psuć zabawy. Bo to właśnie propozycje zmian w słowniku Diki są tematem konkursu.

Regulamin konkursu

  • Organizatorem konkursu jest serwis Diki.pl.
  • Do wygrania są 4 kupony do serwisu eTutor o wartości 160 zł. Kupon z kodem zostanie przesłany pocztą (może więc być użyty jako prezent), lub na życzenie dostarczony mailem.
  • By wziąć udział w konkursie wystarczy w komentarzu do tego wpisu odpowiedzieć na pytanie: W jaki sposób Diki.pl mógłby zostać ulepszony?
  • Jako, że Blox nie wymaga podania adresu email przy wysyłaniu komentarzy, a muszę mieć jakiś kontakt ze zwycięzcami proszę o podanie kontaktowego adresu email w treści komentarza z propozycją. Jeśli ktoś nie chce publicznie podawać adresu niech wyśle jeden komentarz z propozycją, a drugi z adresem (na czas konkursu włączona zostanie moderacja komentarzy).
  • Termin nadsyłania komentarzy z propozycjami zmian w Diki mija w przyszłą niedzielę (23 stycznia) o północy.
  • Wraz z organizatorem konkursu wybiorę 4 najlepsze propozycje. Lista zwycięzców zostanie ogłoszona w komentarzu pod tym wpisem.
  • Listę adresów mailowych zwycięzców przekażę organizatorowi i to on będzie odpowiedzialny za dostarczenie nagród.

Nie pozostaje mi już nic innego jak zaprosić do zapoznania się z serwisem i przysyłania propozycji do konkursu!

poniedziałek, 10 stycznia 2011

Jak sobie przypomnę te godziny spędzone na fragowaniu botów, LAN-party organizowane ze znajomymi, no i oczywiście moje zabawy w modowanie. Znowu zrobiło się nostalgicznie. Wspomnienia, wspomnienia, wspomnienia... cała masa wspomnień. Tak, Quake I to niewątpliwie najważniejsza gra moich lat młodzieńczych. A wszystko to przez znakomity filmik ze speedrunem w Quake'u I (na poziomie Nightmare, kończąc plansze na 100%), na który natrafiłem kilka dni temu. Po prostu musiałem ponownie zagrać w tą znakomitą grę. Przekonać się, czy po latach przerwy nadal będzie sprawiała dziką frajdę jak kiedyś.

Odpalamy Quake'a

Quake

Po długich poszukiwaniach udało mi się odnaleźć płytę z grą i backup quake'owego folderu z przeróżnymi modyfikacjami. No tak, ale przecież nie będę tego uruchamiał w DOSBoxie, czy Wine. Trzeba było znaleźć jakieś rozwiązanie bardziej przystające do naszych czasów. Okazuje się, że nowoczesnych silników Quake'a, które działają natywnie na Linuksie jest całkiem sporo. Oto kilka z nich:

  • ezQuake - pierwszy engine, który udało mi się odpalić. Niestety mimo sporych możliwości konfiguracji nie udało mi się go zmusić do płynnego działania.
  • Tenebrae - często polecany, podobno jeden z najbardziej wypasionych - od razu możemy się cieszyć dynamicznymi kolorowymi światłami, teksturami w wysokiej rozdzielczości, efektami mgły i pewnie jeszcze wieloma innymi rzeczami poprawiającymi wygląda gry. Niestety z moją słabiutką kartą graficzną mogłem podziwiać co najwyżej pokaz kolorwych slajdów.
  • LordHavoc's DarkPlaces - to był strzał w dziesiątkę. Uruchomił się bez problemów, działa płynnie i wygląda całkiem ładnie.

Gdyby ktoś chciał poeksperymentować to może sprawdzić pozostałe pozycje z tej listy linuksowych engine'ów Quake'a. Mi osobiście Darkplaces się spodobał i dalej już nie szukałem.

Pimp my Quake

Quake - zabawy z granatnikiem

No dobra, mamy już nowoczesny silnik, ale to dopiero początek zabawy. Obecnie rozdzielczość 800x600 to nie jest już rozdzielczość wysoka, tak jak w 1996 roku, więc jak nietrudno się domyślić oryginalne grafiki nie wyglądają zbyt okazale. Pora odpicować Quake'a!

  • Romi's RTLights - po ściągnięciu należy w opcjach oświetlenia włączyć RT World i ustawić dla nich opacity by móc podziwiać kolorowe światła i cienie renderowane w czasie rzeczywistym. Niestety moja karta graficzna zupełnie sobie z tym nie radzi, więc użyłem...
  • LIT Pack - jeśli dobrze rozumiem są to prerenderowane kolorowe światła.
  • Rygel's Texture Pack - nowe tekstury w wysokiej rozdzielczości. Ja testowałem wersję small znalezioną na stronie engine'u Quore, ale jakoś nie pasowała mi kolorystyka. Pewnie robione były z myślą o pełnym oświetleniu.
  • Quake Revitalization Project - projekt mający na celu stworzenie tekstur w wysokiej rozdzielczości zachowujących ducha oryginalnego Quake'a. Według mnie wyglądają o wiele lepiej od tych Rygela, są bardziej stonowane. Niestety pakiet z teksturami dla przedmiotów nie chce u mnie działać.
  • Moon[Drunk]'s Graphics - nowe grafiki dla HUDu, menu i czcionki.
  • Quake Reforged - zupełnie nowe tekstury dla potworów. Wyglądają świetnie, ale jakoś nie jestem przekonany... Chyba jestem zbyt przyzwyczajony do tych klasycznych.
  • Gunter Monster skins - ulepszone tekstury dla potworów, nie są idealne, ale sprawują się całkiem nieźle.
  • QRP Remodel + Plague's Pack - znakomita paczka z modelami i teksturami broni i paczek z amunicją.
  • Lost Pack - paczka będąca mieszanką wielu powyższych.
  • Seven's Teleport - półprzezroczyste teleporty.
  • DP Water - półprzezroczysta woda. Niestety u mnie nie działa - albo instalacja wymaga jakichś dodatkowych czynności, albo to wina karty graficznej.

Ufff... Chyba o niczym ważnym nie zapomniałem. Jakby komuś jeszcze było mało to niech zerknie do tych dwóch tematów na forum QuakeOne.com. Może jeszcze coś ciekawego uda się tam znaleźć.

Ściągnięte paczki *.pk3 wystarczy wrzucić do katalogu id1 a DarkPlaces sam już sobie wszystko rozpakuje. Dobrym pomysłem, zwłaszcza podczas dobierania najbardziej pasującego nam zestawu jest wrzucanie każdej z paczek do osobnego folderu i uruchamianie DarkPlaces z -game NAZWA_FOLDERU. Jeszcze dodam, że te całe pliki pk3 to zwykłe zipy, które możemy spokojnie otworzyć i rozpakować gdybyśmy chcieli powybierać tylko część interesujących nas tekstur.

Showtime!

Tak Quake I wygląda po odpicowaniu.

Quake - pełne oświetlenie

Quake - wybór epizodu

Quake - ready, steady...

Quake

A dla porównania tak to wyglądało w 1996 roku (przy dość wysokiej jak na ówczesne standardy rozdzielczości).

Quake 1996

Wrażenia

Podobnie jak w przypadku Dooma mogę powiedzieć tylko jedno. Quake I nie zestarzał się ani trochę! Nadal gra się wyśmienicie i to nawet bez tych wszystkich wypasionych tekstur i efektów! Po prostu niesamowity klimat, klimat i jeszcze raz klimat. Do tego świetnie zaprojektowane poziomy, dobrze zbalansowane bronie i przeciwnicy, no i oczywiście wspaniały mroczny klimat. W tej grze wszystko jest dokładnie takie jakie być powinno być. Po porstu!

22:53, kosciak1 , gry
Link Komentarze (3) »
czwartek, 06 stycznia 2011

Niedawno poproszony zostałem o pomoc w przygotowaniu fiszek (z ang. flashcards). Zadanie wydawałoby się proste, cóż może być trudnego w wygenerowaniu plików graficznych na podstawie listy słówek. Jak się okazało wcale nie było tak łatwo.

Python Imaging Library

Na początku postanowiłem sprawdzić najprostsze znane mi rozwiązanie. Postanowiłem użyć do renderowania tekstu PIL. Szybko napisałem prosty skrypcik by sprawdzić działanie biblioteki:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PIL import Image, ImageDraw, ImageFont

WIDTH = 375
HEIGHT = 50

FOREGROUND = (0, 0, 0)
BACKGROUND = (255, 255, 255)

TEXT = 'zażółć gęślą jaźń'

font_path = '/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf'
font = ImageFont.truetype(font_path, 32, encoding='unic')

text = TEXT.decode('utf-8')
(width, height) = font.getsize(text)
image = Image.new('RGBA', (WIDTH, HEIGHT), BACKGROUND)
draw = ImageDraw.Draw(image)
draw.text(((WIDTH - width)/2, (HEIGHT - height)/2), 
          text, 
          font=font, fill=FOREGROUND)
image.save('PIL_output.jpg')

A oto efekt:

Prawda, że ładnie? Wydawałoby się, że wszystko jest w najlepszym porządku - tekst wygenerowany, pliterki wyświetlone poprawnie, czego chcieć więcej. Nic tylko brać się za renderowanie słówek z listy. A tak, zapomniałem wspomnieć, że słówka są po... arabsku. Jeśli komuś się wydaje, że w XXI wieku, w erze Unicodu nie powinno być żadnych niech spojrzy na to:

Nawet jeśli ktoś nie zna arabskiego od razu zauważy, że coś tu jest nie tak. Frazę można przetłumaczyć jako odwrócony do góry nogami. A przynajmniej powinna to oznaczać, bo to co zostało wyrenderowane to jakaś zupełna sieczka... Trzeba było poszukać innego rozwiązania.

Pango i cairo

Po wieczorze poszukiwań znalazłem właściwe narzędzia: pango, Pycairo] i pangocairo. Oto prosty skrypt wykorzystujące te biblioteki:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import cairo, pango, pangocairo

WIDTH = 375
HEIGHT = 50

FOREGROUND = (0, 0, 0)
BACKGROUND = (255, 255, 255)

TEXT = 'zażółć gęślą jaźń'

font_description = pango.FontDescription('DejaVuSans 24')
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, WIDTH, HEIGHT)
cairo_context = cairo.Context(surface)
pangocairo_context = pangocairo.CairoContext(cairo_context)

# layout settings
pango_layout = pangocairo_context.create_layout()
pango_layout.set_font_description(font_description)
pango_layout.set_alignment(pango.ALIGN_CENTER)
pango_layout.set_width(WIDTH*pango.SCALE)

# background
pangocairo_context.set_source_rgb(*BACKGROUND)
pangocairo_context.rectangle(0, 0, WIDTH, HEIGHT)
pangocairo_context.fill()

# render text
pangocairo_context.set_source_rgb(*FOREGROUND)
pango_layout.set_text(TEXT)
layout_width, layout_height = pango_layout.get_pixel_size()
ink, logical = pango_layout.get_pixel_extents()
pangocairo_context.move_to(0, HEIGHT/2 - logical[3]/2)
pangocairo_context.show_layout(pango_layout)

# write to file
surface.write_to_png('pangocairo_output.png')

Zobaczmy efekty:

No! I to mi się podoba! Trzeba napisać trochę więcej kodu, jednak możliwości są o wiele większe.

Powyższe przykłady można pobrać z mojego repozytorium.

20:29, kosciak1 , Dev
Link Komentarze (1) »
niedziela, 02 stycznia 2011

Ale ten czas leci... Przecież dopiero co pisałem podsumowanie roku 2009, a tu już 2010 się zakończył. Nie ma więc co zwlekać tylko napisać parę słów o mijającym roku. Zwłaszcza, że wydaje się całkiem udany.

Rok w liczbach

Wykres wyświetleń bloga w 2010 roku

Większych zmian na blogu chyba nie było, więc przejdę od razu do statystyk:

  • W 2010 roku udało mi się umieścić 69 wpisów. Obawiałem się, że wynik będzie o wiele gorszy. Po dosyć intensywnym pierwszym półroczu nastąpiło zmęczenie materiału i ilość publikowanych notek drastycznie spadła (na przykład we wrześniu nie pojawiła się ani jedna). Sam jestem ciekaw jak to wyjdzie w tym roku, zwłaszcza że niestety czasu na pisanie jakoś ostatnio brakuje.
  • Niestety Blox nie daje mi możliwości na sprawdzenie liczby komentarzy z danego roku, a nie chce mi się pisać narzędzia, które by to sprawdziło. Wydaje mi się jednak, że pojawiło się ich więcej niż w poprzednio.
  • Liczba odwiedzin i wyświetleń w porównaniu z rokiem poprzednim wzrosła o ponad 40%, co wydaje mi się całkiem dobrym wynikiem. Mam nadzieję, że uda się taki trend utrzymać.
  • Dwukrotnie wpisy z bloga pojawiły się na głównej Wykopu (w styczniu i lutym co bardzo dobrze widać na wykresie), a 3 razy na głównej gazeta.pl co dało spory wzrost liczby odwiedzin.
  • Blisko 58% z was używa Firefoxa, 16,5% Opery, 15,75% Chrome, a tylko 6,5% Internet Explorera. W porównaniu z rokiem poprzednim można zauważyć delikatny wzrost ilości użytkowników Opery, oraz spadek liczby użytkowników Internet Explorera i Firefoxa na rzecz Chrome (do którego sam jakoś nie mogę się przekonać).
  • 80% czytelników bloga używa Windowsa (z czego blisko 60% to stary, dobry XP), ponad 16% to użytkownicy Linuksa, a 2,6% stanowią użytkownicy Maców. Pojawia się też coraz więcej użytkowników platform mobilnych (głównie iPhone i Android).

Najpopularniejsze wpisy

  1. Gdzieś na skrzyżowaniu prawa, polityki i typografii - czyli rzecz o doborze (nie)właściwej czcionki na (nie)właściwą okazję.
  2. Programowanie to sztuka (popełniania błędów) - odpowiedź na pytanie dlaczego programowanie sprawia tyle radości.
  3. Subversion - instalacja i tworzenie repozytorium - początek cyklu o Subversion, co roku w TOP 10.
  4. Ubuntu - czcionki, fonty - poradnik dotyczący instalacji windowsowych czcionek.
  5. Prokrastynacja - choroba zawodowa informatyków - wygląda na to, że sporo osób cierpi na tą przypadłość.
  6. Gmail, Google Reader - Cheat Sheets - ściągawki ze skrótami klawiaturowymi dla Gmaila i Google Readera.
  7. Google Buzz Cheat Sheet - do kompletu ściągawka ze skrótami dla Google Buzz. Linki do tych dwóch wpisów pojawiły się na wielu zagranicznych serwisach, czasem dość egzotycznych.
  8. VisualSVN Server - prosta instalacja serwera Subversion - opis jak szybko uruchomić serwer SVN w systemie Windows.
  9. TortoiseSVN - graficzny klient SVN - opis klienta Subversion integrującego się z Windows Explorerem (użytkownicy Linuksa mogą zainteresować się opisem RabbitVCS i Meld).
  10. Subversion - podstawy pracy z wersjonowanymi plikami - początek cyklu o Subversion.

Jak widać listę w tym roku zdominowały głównie wpisy techniczne i poradnikowe. W dodatku głównie te starsze. Spośród wpisów z roku 2010, które nie zmieściły się do głównej 10 bardzo dobrze spisywały się jeszcze:

Plany na 2011

Przede wszystkim mam wielką nadzieję, że uda mi się znaleźć więcej czasu na pisanie na blogu. Niestety (czy może raczej stety) pojawiły się nowe obowiązki, trochę się w moim życiu zmieniło, a tu jeszcze inne formy internetowej aktywności dosyć absorbują. W efekcie trochę wyszedłem z pisarskiej wprawy i coraz trudniej się zmobilizować by coś napisać...

Jest spora szansa, że zrobi się tu trochę bardziej technicznie i Pythonowo - na przykład chodzi mi po głowie cykliczne opisywanie jakiejś ciekawej biblioteki, czy pakietu. Zastanawiam się też nad poradnikiem o systemie Baazar (skoro cykl o Subversion jest tak popularny to chyba jest zapotrzebowanie). Ale co z tego wyjdzie, zobaczy się w praniu.

19:05, kosciak1 , Blog
Link Komentarze (6) »
Spis Treści
Kanały RSS
Add to Google
Add to Netvibes