22 grudnia 2009

DOT.TK - darmowe domeny. Prawdziwe. DNS.

Niedawno dowiedziałem się, że dot.tk zaczął oprócz webhopów (przekierowań na HTTP) oferować... domeny TLD z normalnym DNS-em! Za darmo! Umożliwia to hostowanie różnych serwerów, np. IRC.

Chodzi o to, że darmo rejestrujesz domenę swoją (np. twoja-stara.tk), "pod" krajową (.tk).

Skąd wziąć "normalnego DNS-a"?


Założyć w serwisie EveryDNS.

22 października 2009

Formaty obrazów

Po długiej przerwie proponuję coś dla bardzo początkujących - mianowicie listę najpopularniejszych formatów grafik - który jest najlepszy do czego.

Najczęściej w sieci używanymi formatami są: JPEG (lub JPG), PNG i GIF.

JPEG


Format dedykowany do zdjęć. Mówiąc szczegółowo, działa on dobrze dla obrazów, w których nie występują gwałtowne skoki kolorów. Czyli głównie do zdjęć. Można go stosować także do innych obrazów, jednak tam jego użycie będzie nieopłacalne - aby uzyskać zadowalającą jakość, trzeba użyć mniejszej kompresji, co zwiększa rozmiar pliku. Poza tym format JPEG jest zawsze stratny, niezależnie jaką jakość się ustawi.

Format JPEG nie obsługuje przezroczystości ani animacji.

PNG


Format dedykowany do diagramów, komputerowych rysunków i zrasteryzowanych obrazów wektorowych (cokolwiek by to znaczyło). Czyli wszystkie schematy i diagramy. Także rysunki (nawet artystyczne), o ile zawierają duże plamy barwne, a nie mają zbyt dużo szczegółów. Zrzuty ekranu też, ale nie z gier 3D (do tych lepszy będzie JPEG, zwłaszcza jeśli gra ma rozbudowane tekstury).

Format PNG oferuje kompresję bezstratną. Czyli jeśli porównamy, piksel po pikselu, obraz skompresowany z nieskompresowanym, to będą identyczne.

Format PNG posiada kanał alfa. Pozwala to na zapisanie precyzyjnie przezroczystości, a nie tylko czy piksel jest przezroczysty, czy nie.

Rozszerzeniem formatu PNG, obsługiwanym przez większość przeglądarek (oprócz IE, oczywiście) jest APNG - animowany PNG. Daje on nieograniczone (właściwie to ograniczone - miejscem na dysku) możliwości na zapisywanie animacji. Do ambitnych animacji lepsze będą formaty video.


GIF


GIF jest stosunkowo słaby. Pozwala na zapisanie w jednej klatce tylko 256 kolorów, co staje się przyczyną utraty jakości. Jego kompresja też nie jest najlepsza.

Jeśli obrazek ma mniej niż 257 kolorów, GIF jest kompresją bezstratną. W przeciwnym wypadku konieczny jest downsampling (zmniejszenie ilości kolorów) i jakość się pogarsza.

Format GIF nadaje się do ekstremalnie małych obrazków - np. powtarzające się tło, ponieważ mało zajmują nagłówki i inny badziew.

Format GIF to jedyny format animacji, którego możemy być pewnym, że zadziała na każdym urządzeniu (komórce też).

W środowisku informatycznym zalecane jest zastępowanie formatu GIF formatem PNG.

Porównanie formatów


test.png (545 KB)

Zwróćcie uwagę na wielkość plików.

Pliki zostały zapisane za pomocą GIMPa.

1 września 2009

Nie restartuj!

Dotyczy: Windowsy rodziny NT

Windows ma zwyczaj traktować użytkownika jak debila. Każe restartować komputer, a w rzeczywistości wystarczy zrestartować jedną usługę. Przykład:

  1. Otwórz właściwości połączenia sieciowego

  2. Wybierz składnik: TCP/IP

  3. Zmień któryś serwer DNS

  4. Zatwierdź wszystkie okna konfiguracji


Windows każe restartować komputer. Nie trzeba. Jest mniej czasochłonny sposób.
Wystarczy zrestartować usługę "Klient DNS", a nowe DNSy będą działać!

Dla niewtajemniczonych, jak zrestartować usługę:

  1. Uruchom services.msc (np. przez Win+R)

  2. Wybierz rzeczoną usługę

  3. Kliknij symbol <kwadrat i trójkąt> z paska narzędzi



Automatyzacja:
Można też zrestartować usługę z wiersza poleceń, za pomocą komend:

net stop rzeczona_usluga
net start rzeczona_usluga

pod rzeczona_usluga podstawiasz nazwę (NIE tytuł!!!) usługi, np. dla usługi Klient DNS będzie to "Dnscache".
Nazwę usługi można zdobyć przez wcześniej wspomniany services.msc, po wejściu we właściwości danej usługi na samej górze mamy pole "Nazwa usługi".

W komentarzach podawajcie gdzie jeszcze nie trzeba restartować komputera.

1 sierpnia 2009

Koniec CME?

Ponieważ dowiedziałem się o potędze języka C# i środowiska SharpDevelop, postanowiłem zrezygnować z Delphi. W związku z tym aktualna wersja 1.2.1.2 edytora map jest wersją ostatnią.

Była napisana chaotycznie i mało obiektowo, a najstarsze fragmenty kody pochodzą z czasów, gdy nie umiałem jeszcze programować obiektowo.

Poza tym SharpDevelop jest Open Source :)

19 lipca 2009

Colobot Maps Editor wersja 1.2.1.2

Mam zaszczyt poinformować, że edytor map do Colobota doczekał się wersji 1.2.1.2!

Pobierz CME v.1.2.1.2



Najważniejsze zmiany:

  • Zrezygnowano z "widocznej strefy" i zoomu regulowanego suwakiem, na rzecz wygodnego przesuwania i powiększania z użyciem scrolla

  • Bez problemów importuje pliki misji z wbudowanych poziomów

  • Dzięki Schockerowi mamy prawie wszystkie obiekty, mianowicie dodał on wraki, ruiny i rośliny. Brawo!



Jak posługiwać się nawigowaniem po mapie:

  • Aby zmieniać widoczną strefę naciskamy środkowy przycisk i przeciągamy

  • Aby zmienić zoom kręcimy kółkiem

PWM CPU Limiter - coming soon...

Podstawowe funkcje "PWM CPU Limitera" zostały zrobione. Pozostało tylko popracować nad interfejsem.

Do czego to służy



PWM CPU Limiter obniża wykorzystanie procesora przez konkretny program korzystając z PWM - modulacji szerokości impulsu. Osoby siedzące w elektronice wiedzą o co chodzi :)

Program bardzo szybko wstrzymuje i wznawia wybrany proces, przy czym zarówno między wstrzymaniem a wznowieniem, a wznowieniem i wstrzymaniem jest jakaś przerwa. Dobierając odpowiednio te przerwy można sterować "wypełnieniem" tego procesu w ogólnym czasie procesora.

Dla zainteresowanych, fragment kodu źródłowego:


v := Form1.LimitBar.Position;
r := Form1.LimitBar.Max-v;
repeat
for i := 0 to threads.Count-1 do SuspendThread(cardinal(threads[i]));
// linia wyżej odpowiada za wstrzymanie procesu
timeBeginPeriod(1);
Sleep(r);
timeEndPeriod(1);

for i := 0 to threads.Count-1 do ResumeThread(cardinal(threads[i]));
// linia wyżej odpowiada za wznowienie procesu
timeBeginPeriod(1);
Sleep(v);
timeEndPeriod(1);

{ ... } // nieistotne
until timetoend;

16 lipca 2009

Opcje zapisu JPG w GIMPie

Nie zawsze pliki JPG o tym samym rozmiarze mają tą samą jakość... warto sprawdzić, jakie ustawienia zapisywania są najoptymalniejsze.

Wróćmy do przykładu "Tibia sux" z poprzedniego tutoriala. Obraz skompresowany bezstratnie (PNG) zajmuje 110KB, a więc za dużo aby przeznaczyć go np. na logo.



Okno zapisu


Oto okno zapisu w GIMPie, z opcjami zaawansowanymi:


Jakość - ile procent danych jest zapisywanych, decyduje o jakości pliku.
Optymalizuj - nieistotne, powinno być zawsze włączone, inaczej pliki będą niepotrzebnie rosły
Przyrostowy - obraz zamiast ładować się z góry na dół, będzie się podczas ładowania stopniowo wyostrzał.
Wygładzanie - stopień rozmycia, które ukrywa zniekształcenia. Może być włączone w przypadku np. zdjęć chmur itp. W większości przypadków powinno wynosić 0.
Resetuj markery - nic nie zmienia, a niepotrzebnie powiększa plik. Powinno być wyłączone.
Podpróbkowanie - bardzo istotna opcja. Ustala jakość pliku. Szerzej o tym dalej.
Metoda DCT - decyduje o szybkości zapisu, najlepiej jak jest ustawiona na "Zmiennoprzecinkowa". Jest to najwolniejsze, ale najlepsze. W przypadku małych obrazów (mniej niż 1MP) różnica w szybkości jest nieistotna.
Zapisz dane EXIF - zapisuje informacje na temat aparatu, oprogramowania, parametrów ekspozycji i inne pierdoły. W ogóle nie wpływa na jakość. Najczęściej nieprzydatna. Można wyłączyć.
Zapisz miniaturę - zapisuje miniaturę. Nie miałem okazji testować, ale prawdopodobnie przyspiesza to wyświetlanie miniatur przy przeglądaniu zdjęć w folderze. Jeśli zdjęcie będzie publikowanie w necie, wyłącz to.
Zapisz dane XMP - Szczerze mówiąc nie miałem okazji testować. U mnie ta opcja jest wyłączona. Nie będę się wypowiadać tylko na podstawie Wikipedii ;)
Use quality settings from original image - Jeśli edytujemy plik JPG i nie chcemy zmieniać jego jakości, powinno być włączone. Dzięki temu wszystkie ustawienia kompresji, a nawet zaawansowane dane których nie możemy edytować, zostaną zachowane.

Jak zapisywać?


Podpróbkowanie przestaw na najlepszą jakość!!!



Oryginał PNG:


Podpróbkowanie 1x1,1x1,1x1, jakość 79%, rozmiar pliku 22kB:


Podpróbkowanie 2x2,1x1,1x1, jakość 90%, rozmiar pliku 22.8kB:


Celowo ustawiłem taką jakość, aby rozmiar pliku wyniósł około 22kB.
Plik z podpróbkowaniem ustawionym na najmniejszy rozmiar pliku, o rozmiarze większym (no niewiele...) i jakości ustawionej na dużo większą, okazał się w praktyce mieć gorszą jakość niż ten z podpróbkowaniem ustawionym na najlepszą jakość.

Najlepiej ustaw sobie podpróbkowanie na najlepszą jakość i zapisz to ustawienie jako domyślne!

Jak zrobić otoczkę w GIMPie

Otoczkę najczęściej stosuje się do tekstów - np. aby dobrze wyglądały na tle o różnej jasności, a także żeby uniknąć oczojebnych kontrastów, np. porównaj sobie te obrazy:
-

-




No dobra, ale jak zrobić żeby mieć tą otoczkę?

Aby uczynić tutorial bardziej uniwersalnym, przyjmuję, że o kształcie obiektu, który będzie otoczony, decyduje kanał alfa.



-

Krok 1 - tło:


Menu Filtry -> Renderowanie wymiata :D
Oczywiście można też pozostać przy tle przezroczystym.


-

Krok 2 - tekst/obiekt:


Tworzymy przezroczystą warstwę i na niej umieszczamy wszystkie elementy. Jeśli używamy wielu warstw (np. tekst i jakieś ozdobniki) to musimy wszystko połączyć w jedną warstwę.



-

Krok 3 - kopia warstwy:


Kopiujemy warstwę obiektów po prostu. Kopię przenosimy w dół i zmieniamy nazwę np. na "Cień". Ukrywamy warstwę obiektów. Zaznaczamy warstwę cienia jako aktywną.



-

Krok 4 - konwersja do czerni


Wybieramy menu Kolory -> Krzywe, Kanał: Wartość i zjeżdżamy całą krzywą na sam dół, w ten sposób:

Po czym zatwierdzamy zmiany.



-

Krok 5 - rozmycie


Wybieramy menu Filtry -> Rozmycie -> Rozmycie kafelkowe, ustawiamy promien równy 5 (lub inny wedle uznania...), oczywiście rozmycie w obie strony i sru! Zatwierdzamy.



Krok 6 - zmiana krzywych


Pokazujemy z powrotem warstwę obiektów, ale jej nie zaznaczamy. Zobaczymy słabo widoczny cień:

Trzeba go poprawić. W tym celu wybieramy menu Kolory -> Krzywe przełączamy na kanał alfa i robimy krzywą w rodzaju tej:

Możemy punkty krzywej przemieszczać, aż do zauważenia najlepszego efektu. Punkty nie mogą być zbyt blisko na osi X, gdyz wtedy wystąpią "postrzępione" brzegi. Nie mogą być także zbyt daleko, gdyż otoczka będzie wtedy rozmyta.
Najważniejsze jest jednak, aby jeden punkt był na minimalnej wartości osi Y, a drugi na maksymalnej.

Po zauważenia najlepszego efektu zatwierdzamy.



Krok 7 - zapis obrazu


Zapisujemy obraz w formacie XCF, na wypadek jakbyśmy chcieli coś zmienić, a następnie w docelowym. Jeśli obrazek będzie np. logo strony to nie powinien dużo zajmować. I tu zaczynają się schody. Pięknie wykonane logo z otoczką, "dzięki" zapisowi w formacie JPG potrafi dużo stracić. Więcej o tym - w osobnym tutorialu.


Podsumowanie


Obraz początkowy:


Obraz końcowy:


Kto ma doświadczenie w pisaniu wtyczek script-fu może zrobić zautomatyzowane tworzenie otoczek :)

14 lipca 2009

Wznowienie działalności komputerowej

Od środy wieczorem będę miał już dostęp do swojego komputera. Będę więc kontynuować pracę nad poziomami do Colobota (mam już 3 szkice), edytorem map. Poza tym myślałem nad stworzeniem profesjonalnego komunikatora (możliwości np. konferencji w GG mnie przerażają). Co prawda w poniedziałek znowu wyjeżdżam, jednak możliwości tworzenia poziomów do Colobota są tam nieograniczone, a jesli będę chciał kodować to postawienie Delphi nie będzie stanowić problemu :)

Na blogu planuję informować o postępach prac nad projektami komputerowymi oraz udostępniać tutoriale na temat informatyki.

Jeszcze jakieś 32 godziny pozostały do powrotu...