Tag-Archive for » internet «

Speedtest in crontab

Get speedtest-cli from here: https://github.com/sivel/speedtest-cli

Lazy option:

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli

Add entry to crontab:

*/15    *       *       *       *       cd /home/user && (./speedtest-cli --simple | tr "\n" "\t" && date "+\%F\\ \%T") >> speedtest.log

Every 15 minutes this will add line to the /home/user/speedtest.log that looks like this:

Ping: 179.666 ms        Download: 135.96 Mbit/s Upload: 12.39 Mbit/s    2020-07-21\ 06:49:29

Fchuj z dreamhostem!

No to sru! Kolejny raz się sypło. Pamiętacie jak zachwalałem tenże przezajebiaszczy dreamhost?
No to kłamałem, ale dopiero teraz zdałem sobie z tego sprawę.
Baza – leży i kwiczy. Jakże fachowe określenie współpracowników z działów NIE-IT tutaj pasuje – „Nic nie działa!”
WWW – bez bazy to gówno nie www, ale nawet to, co bazy nie musi muli w kit.
Maile – o dziwo chodzą przez thunderbirda (jeszcze). Przez www oczywiście zmuła.
Limity maili – ta, że niby każdy user to potencjalny spammer, to max 200 maili na godzinę można słać. Toć mi kurwa sajty przy ich częstotliwości padania alertami, że znów nie działa limit momentalnie wyczerpują!
SVN – jeszcze chodzi
Jabber – póki co świeci na zielono, nie wiem czy działa, bo akurat nikogo nadającego się do testu nie widać 😉
ssh – muli, ale jeszcze żyje
cron – póki co się wykonuje, ale to, co tam siedzi bez bazy i tak gówno może

Ogólnie miarka się dziś przebrała. W związku ze związkiem POSZUKUJĘ HOSTINGU, który „umi”:

  • min 13G transferu na miecha (preferuję unlimited na wszelki wypadek)
  • min 12G na dysku (również wskazane unlimited)
  • unlimited domains (+sub +wildcards)
  • unlimited mails (+catch-all)
  • własne repo SVN
  • jabber w swojej domenie (ewentualnie bez tego mogę się obyć)
  • ~ 700M MySQL5 (tu także unlimited mile widziane)
  • ssh access (+cronjobs)
  • PHP 5 (miło by było z własnym php.ini)
  • apacz (z mod_rewrite’m koniecznie)

Jak ktoś może coś ciekawego polecić, to bardzo chętnie się zapoznam.
HELP!

p.s. za ludzką cenę, co bym z mojej murzyńskiej pensji umiał to opłacić!

Skype na OpenSuse 10.2 x86_64

Zachciało mi się wrzucić Skype na swoim pingwinowym laptopie a tu klops. Skype nie chce banglać na OpenSuse 10.2 .
Po przegooglowaniu kawałka świata okazało się, że skype z rpm, to se mogę w buty schować, b oi tak nie pójdzie. Trze było pokombinować inaczej. Dokładnie już nie pamiętam co i jak, ale mniej więcej żeby Skype działał trzeba zrobić tak:
Pobrać sobie skype jakiś tam 'static’, czyli:
wget http://www.skype.com/go/getskype-linux-static
Potem jak się zassa, to trza by to wypakować:
tar -jxf skype_static-1.4.0.118.tar.bz2
No i fajnie jest skype, jak wpiszemy w konsoli ./skype to… no właśnie, to wielkie g… – coś krzyczy, że czegoś tam sobie nie ma.
Żeby skype banglał na naszym 64-bitowym OpenSuse 10.2 trzeba mu dociągnąć cosik z 32 bitow. Generalnie sprawa wygląda tak, że ściągamy libsigc++2-2.0.17-32.i586.rpm:
wget http://ftp.gwdg.de/pub/opensuse/distribution/10.2/repo/oss/suse/i586/libsigc++2-2.0.17-32.i586.rpm
Potem trza by przejść na root’a, żeby móc zrobić to, co za chwilę zrobimy:
su
mc

Tak, to słynny legendarny Midnight Commander. Jest on nam potrzebny, bo ma pewny 'ficzer’, o który w innych programikach dość ciężko w dzisiejszych czasach – umożliwia łażenie po rpm’ach tak, jakby to były katalogi. Przyda się nam to, bo musimy cosik wyciągnąć ze ściągniętego przed chwilą rpm’a.
Wchodzimy za pomocą mc do libsigc++2-2.0.17-32.i586.rpm -> CONTENTS.cpio -> opt -> gnome -> lib Jak używasz KDE, to się nie przejmuj, ja też, ale mimo wszystko używamy katalogu 'gnome’. Z katalogu, do którego przed chwilą weszliśmy kopiujemy libsigc-2.0.so.0 oraz libsigc-2.0.so.0.0.0 do katalogu /lib w naszym systemie.
Po skopiowaniu zamykamy mc (klawisz F10). Następnie wpisujemy exit żeby wrócić z root’a na naszego 'normalnego’ usera.
Wpisujemy w konsolkę ./skype & i… powinno banglać.
Piszę, że powinno, bo nie mam pojęcia, czy u Ciebie zadziała czy nie. U mnie pomogło, u kolegi też, więc jest duża szansa, że i Tobie pomoże, jeśli masz kłopoty ze Skype’m.
Jeśli chodzi o mnie, to do używania Skype’a u mnie jeszcze daleko z dwóch powodów, a mianowicie dodupnej jakości czy raczej głośności dźwięku oraz jeszcze bardziej dodupnego dostawcy internetu, u którego padu-padu nawet potrafi przymulać (poza przymulaniem własnym).
Gdyby ktoś miał jakieś pytania/uwagi/cokolwiek, to pisać w komentarzach, może przejdzie moderację 😉

Sposób programisty na blokowanie reklam

Wszystkich nas denerwują natrętne i wszędzie obecne reklamy na stronach internetowych.
Osoby mniej cierpliwe starają się je blokować na różne sposoby, np. używając tworzonych do tego celu programów czy też plug-in’ów do przeglądarek.
Nie wszyscy jednak wiedzą, że istnieje jeszcze sposób, który polega na wskazaniu systemowi operacyjnemu, że w przypadku, gdy przeglądarka łączy się z jakimś adresem (np. z serwerem reklam), to ma zamiast tego łączyć się z wybranym innych adresem. Najczęściej jest to przekierowanie tych wywołań na adres własnego komputera, czyli na adres 127.0.0.1, czyli inaczej localhost.
Blokowanie reklam tym sposobem odbywa się poprzez dopisanie znanych serwerów do pliku hosts w systemie operacyjnym. W porządnych systemach operacyjnych lokalizacja tego pliku to /etc/hosts. W Windows 98 jest to domyślnie c:\windows\hosts, w Windows XP oraz Viściec:\WINDOWS\system32\drivers\etc\hosts. W tym czymś ostatnim, to AFAIK nie da się tak po prostu mieszać w omawianym pliku, ale tutaj jest na to sposób.
Struktura pliku jest bardzo prosta. W pierwszej kolumnie wpisujemy adres ip, na który mamy zostać przekierowani przy odwołaniu do serwera, którego nazwa podana jest w kolumnie drugiej. Przykładowy wpis wygląda następująco:

127.0.0.1 pagead2.googlesyndication.com

Dzięki dodaniu tej jednej linijki do naszego pliku hosts nie będziemy już na przykład zmuszeni do oglądania reklam z Google’a.
Jak się zapewne domyślasz wystarczy dodać inne serwery z reklamami do naszego pliku hosts i jesteśmy wolni od reklam. Pojawia się tylko pytanie Skąd wziąć te wszystkie adresy, albo choćby większość z nich? Czy trzeba je samemu śledzić i wpisywać ręcznie? Spokojnie, nie trzeba. Można sobie pobrać stąd lub wykorzystać ten, którego ja używam (tu wielkie dzięki dla Vip’a).
No dobra. Mamy adresy, wszystko niby ok, już nie ściągamy znikąd reklam, tylko kierujemy na swój komputer. Ale co dalej? Mi osobiście nie podobał się ani komunikat o błędzie, że nie można załadować strony ani też po odpaleniu Apache’a ładowanie domyślnej stronki z localhost’a.
Postanowiłem wykorzystać moc wirtualnych hostów w Apache’u.
Najpierw do httpd.conf dodałem nowego wirtualnego hosta, na który chciałem przekierowywać wszystko, co mi plik hosts wyłapuje. W sekcji odpowiedzialnej za hosty wirtualne dodałem tych kilka linijek. Oznaczają one tyle, że w katalogu /mnt/lin2/web/v/localhost

 DocumentRoot /mnt/lin2/web/v/localhost

…mam sobie plik index.php, który jest zarówno domyślnym plikiem, jak również plikiem, który jest wykonywany w przypadku, gdy żądanego obiektu nie można odnaleźć na serwerze:

 DirectoryIndex index.php
ErrorDocument 404 /index.php

Zdecydowana większość wyświetleń będzie się opierać właśnie na błędzie 404.
OK, po restarcie Apache'a doszliśmy więc do tego, że jak chce się gdzieś pokazać reklama, to się nie pokaże, tylko odwoła mi się do pliku /mnt/lin2/web/v/localhost/index.php.
To niestety jeszcze nie wszystko. Jeśli chodzi o jakieś iframe’y, to można by w pliku index.php napisać po prostu [spam] i to by wystarczyło. Dla mnie to jednak za mało.
Chcę, żeby mój skrypt:

  • działał dla
    • stron html,
    • zdjęć, animacji i obrazków,
    • skryptów JavaScript
  • posiadał funkcjonalność, która pozwoli mi określić jaki element został właśnie zablokowany, aby wiedzieć jaki adres usunąć z pliku hosts na wypadek gdyby nie podobało mi się to, że zablokował dany element.

Przechodzimy więc do naszego pliczku index.php.
Aby wiedzieć czego dotyczy dane żądanie i co zostało zablokowane używamy:

$req = $_SERVER['REQUEST_URI'];

Samo to nie wystarczy, bo musimy jeszcze wiedzieć jaki adres odblokować w hosts. Pełną ścieżkę wraz z nazwą serwera pobieramy więc za pomocą:

$full_path = $_SERVER['HTTP_HOST'] . $req;

Mamy już pełny adres pod zmienną

$full_path

. Przechodzimy więc do części właściwej – wypisania w miejscu, gdzie miała być jakaś reklama napisu [SPAM] wraz z pełną ścieżką żądanego elementu. Jeśli zablokowany element to strona HTML, to wystarczy kawałek kodu (już z kolorowaniem):

"width: 98%; height: 98%; overflow: auto;
background-color: #fee; color: #f00;
font-family: courier; font-size: 14px;"
>
[SPAM] <?php echo $full_path; ?>

Jeśli gdzieś był jakiś iframe z blokowaną przez nas reklamą, to zamiast owej reklamy zobaczymy przewijane okienko z jasnoczerwonym tłem i czerwonym napisem z adresem zablokowanego elementu. Proste? Proste!
Przejdźmy teraz do skryptów JavaScript. Tu sprawa nieco się komplikuje. Najpierw sprawdźmy, czy adres żądanego elementu kończy się na .js:

if (eregi('^(.)+(js)$', $req))

Teraz musimy wypisać nasz komunikat za pomocą JavaScriptu na stronie, która ten skrypt wywołała:

document.write('
background-color: #fee; color: #f00;
font-family: courier; font-size: 14px;">'
+
'[SPAM]<?php echo htmlspecialchars($full_path) ?>'
);

Żeby przeglądarki wiedziały, że mają do czynienia ze skryptem JS musimy jeszcze przed wysłaniem w/w treści wpisać:

header('Content-type: text/javascript');

Wszystko niby ładnie i pięknie, jednak w testach się okazało, że tak generowany skrypt nie działa, czyli nie wypisuje treści w referującym dokumencie. Po chwili zastanowienia znalazłem gada. Błąd polegał na tym, że jeśli element nie istnieje (a na ogół nie istnieje), to serwer www wysyła nagłówek 404, który informuje przeglądarki, że tego, co otrzyma za chwilę nie ma interpretować jako skrypt, bo coś nie poszło. Rozwiązaniem jest dodanie przed w/w linią poniższego kodu:

header('HTTP/1.1 200 OK');

Dzięki temu przeglądarka uzna, że plik skryptu istnieje i poprawnie go wykona.
Pozostało nam teraz napisanie kodu, który będzie się wykonywał w przypadku, gdy blokujemy jakiś obrazek. Najpierw sprawdźmy, czy żądany element jest obrazem (na podstawie rozszerzenia oczywiście):

if (eregi('^(.)+(jpg|png|gif|jpeg|svg|bmp)$', $req))

Informujemy przeglądarkę, że będziemy wysyłać np. GIF’a:

header('Content-type: image/gif');

Tworzymy tego GIF’a o wysokości np. 20 px i szerokości równej ilości liter w adresie żądanego elementu razy 10 px + 30 px na napis [SPAM]:

$obrazek = ImageCreate(10*strlen($full_path)+30,20);

Teraz na obrazku piszemy znany już nad pełny adres żądanego elementu:

ImageString($obrazek,4,3,2,'[SPAM] ' .
htmlspecialchars($full_path),$kolor_tekstu);

I na koniec wysyłamy spreparowany obrazek do przeglądarki:

ImageGif($obrazek);

No i to wszystko!
Troszkę pisania, ale bynajmniej nie muszę oglądać reklam, szybciej ładują mi się strony i widzę co zablokowałem na wypadek, gdybym jednak chciał gdzieś tam coś obejrzeć :]
Osoby, którym się nie chce pisać podaję kod źródłowy pliku odpowiedzialnego za przechwytywanie reklam ze stron internetowych. Może nie jest to kod idealny, pewnie można go i ulepszyć i przyspieszyć, dodać obsługę np. flash’a, napisać w OOP, itp, ale podaję go tylko jako przykład i jeden ze sposobów na natrętne reklamy na stronach www.
Na zakończenie screen z zasypanej na ogół reklamami stronki przy użyciu opisanej metody ich blokowania:

Google nie zna granic Europy!

Od jakiegoś czasu Google chwali się, że ich statystyki się zmieniają, będzie nowy layout, funkcjonalność, itp.
Ostatnio wprowadzili sporo widocznych zmian. Oczywiście skorzystałem z możliwości wykorzystania tej nowej funkcjonalności. Kiedy jednak zobaczyłem sobie mapkę z geolokalizacją odwiedzających witrynę to przeżegnałem się lewą nogą. Oto jak taki gigant jak Google zna granice naszego kontynentu:

Napisałem do nich wczoraj do południa, ale nic (bynajmniej na razie) to nie dało. Jedyne, co otrzymałem to odpowiedź z automatu w stylu „Dzięki, że chcesz ulepszyć Google”.
Mnie w podstawówce uczono nieco innych granic, chyba, że Google planuje jakąś grubszą akcję i chcą te granice przesunąć tak, aby im pasowały.
Mapki pozostawiam bez komentarza, bo po prostu brak mi na to słów.

Empik Foto i zlewka marketingowa

Był 7 Luty. Wielkimi krokami zbliżały się Walentynki i chyba widząc gdzieś jakiś cholerny banner z serduszkiem, co mi stronkę jakąś zasłaniał uświadomiłem sobie, że nie mam nic z tej okazji dla mojej drugiej połowy.
Tak sobie kombinowałem i doszedłem do wniosku, że to musi być coś, czego Ona jeszcze nie ma i to coś musi być w miarę możliwości niepowtarzalne.
Tutaj z pomocą przyszedł mi Empik FOTO. To znaczy tak wtedy myślałem, bo okazało się zupełnie inaczej.
Ale po kolei.
Wymyśliłem sobie, że kupię od nich misia w koszulce z własnym nadrukiem. Aby własny nadruk można było zrobić potrzebujemy oczywiście fotkę, którą trzeba by tam umieścić. W tym celu odpaliłem GIMP’a i poskładałem z różnych naszych zdjęć jakiś jeden obrazeczek.
Kolejnym krokiem było uploadowanie tego jpg’a na serwer Empik FOTO. Poszło w miarę gładko, pomijając to, że musiałem robić inną graficzkę, ponieważ okazało się dopiero po wgraniu, że na koszulkę to muszą być inne wymiary obrazka :/ . Tak trudno im było napisać przy opisie choćby misia, że fotka musi by“ w jakiejś tam rozdzielczości.
Skuszony mega wielkim napisem na ich stronie głównej o treści Gwarantujemy dostawę przed walentynkami jeśli zamówienie do nas dotrze do 8 Lutego!!! postanowiłem zamówić, bo czasu mało zostało. Po drodze okazało się jeszcze, że mają rozpiździel w informacjach o przesyłce, bo na stronie z misiem był między innymi kurier i kilka innych opcji a w momencie zamówienia mogłem wybrać albo Pocztę Polską albo… Pocztę Polską. Nie pamiętam już którą z tych firm wybrałem, ale to nie jest istotne.
Zamówiłem więc 7 Lutego, czyli wyrobiłem się w podanych przez nich granicach czasowych. Otrzymałem po chwili stosownego maila:

Witaj
Twoje zamówienie zostało wysłane do realizacji.
W razie potrzeby wszelkie informacje na jego temat (wraz ze statusem realizacji) możesz sprawdzić w historii transakcji (zakładka Koszyk) w serwisie EmpikFoto
Pozdrawiamy,
Zespół EMPiK FOTO

Swoją drogą to ciekawe jak się poprawnie wpisuje ich nazwę, skoro sami co chwilę piszą inaczej (chodzi głównie o wielkość liter).
No nic. Szczęśliwy, że się wyrobiłem, pamiętałem odpowiednio szybciej (no może z drobną pomocą Kolegi) czekałem sobie grzecznie na przesyłkę. Czekałem, czekałem, …
14 Luty 2007, godzina 17:19 – dzwonię do ich „biura obsługi”. Najpierw oczywiście jakaś maszyna do mnie gadała. Potem się zaczęło:
On: Dzień dobry, Ireneusz F[—], Empik bla bla…
Ja: Dzień dobry, proszę Pana mam pewien problem. Otóż zamówiłem sobie coś od Was, było napisane, że gwarantujecie dostawę przesyłki przed Walentynkami. Dzisiaj już się Walentynki kończą, a przesyłka nie dotarła!
yyy… poproszę numer zamówienia
3…6
No ja mam informację, że zamówienie zostało w dniu dzisiejszym zrealizowane, aczkolwiek listonosza z tą przesyłka u Pana nie było, tak?
Nie, absolutnie, nikt nie był!
W związku z tym podejrzewam, że o tej porze listonosz już nie przyjdzie.
No na pewno nie! dlatego dzwonie, bo piszecie, że gwarantujecie dostawę!
yyy… dokładnie, po prostu te gadżety wykonywane są przez firmę zewnętrzną, produkcja odbywa się w Poznaniu i…
A co ja za to mogę? skoro piszecie na stronie, że gwarantujecie dostawę przed walentynkami to dlaczego ja jej nie dostałem?
ja bardzo przepraszam za taki zwrot użyty, że gwarantujemy, aczkolwiek…
aczkolwiek to mnie właśnie skusiło żeby nabyć u Was ten produkt
jedyne co moge przeprosic Pana
a co mi z Pana przepraszam w tej chwili? Co mam powiedzieć: „Kochanie, w tym roku Walentynki z mojej strony będą 3 dni później, bo Empik Foto spieprzyło całą sprawę?
yyy….
przepraszam, ale to jest co najmniej śmieszne
ja tylko udzielam takich informacji jakie widze na ekranie monitora i jedyne co moge zrobic to przeprosic pana, ze było „gwarantujemy”

tutaj w kółko już mącił to samo, że przeprasza, że chciałby pomóc, że on nie wziął tej przesyłki i że nic nie może.

Być może listonosz do Pana nie dotarł…
Niech Pan nei zwala teraz wszystkiego na listonosza i na pocztę, bo listonosz był z innymi listami a przesyłki od Was nie było!!!

Ja nie mam żadnych innych informacji
To po jaką cholerę Pan tam siedzi skoro nie potrafi Pan mi powiedzieć nic więcej niż ja sam wiem?
yyy… rozumiem Pana… aczkolwiek nie wiem co więcej powiedzieć…
No myślałem, że Pana chociaż szczątkowo przeszkolili na tym stanowisku

Czy numer telefonu 503xxxxxx to Pana numer?
Tak
Wie Pan co, ja skontaktuję się z osobą kompetentną i zapytam co się da zrobić w tej sprawie a następnie oddzwonię do Pana
Kiedy mogę się najpóźniej spodziewać tego kontaktu?
No, myślę, że 3, góra 5 minut
OK, to czekam. Do usłyszenia
Do usłyszenia
No nic, czekam. Okazało się, że chociaż tym razem nie kłamali, bo faktycznie zadzwonił po pięciu minutach:

Dzień dobry… blabla… miałem przyjemność rozmawiać z Panem…
Czy satysfakcjonował by Pana kod rabatowy w wysokości 15% na następne zakupy w EMPiK FOTO

Jest Pan co najmniej śmieszny. Niezły chwyt marketingowy. Zamiast coś mi oddać czy jakoś zrekompensować tę niemiłą sytuację to zmuszacie mnie do zrobienia kolejnych zakupów w Waszym badziewiarskim sklepie?!?
No ja Pana przeprosiłem, przepraszam jeszcze raz, dziękuję za uwagi, przekazałem je, bardzo Panu dziękuję i bardzo przepraszam, ale tylko tyle mogę zaproponować.
Pyta się Pan czy mnie to satysfakcjonuje, a jeśli nie, to co?
yyy… 20%?
… w końcu doszło do 25% na dowolny zakup…
W takim razie czy na maila grzegorz@….com mogę przesłać kod rabatowy?
Tak, oczywiście. Niech mi Pan jeszcze powie czy on traci jakąś ważność czy coś?
Nie, jest to kod jednorazowy, do wykorzystania w dowolnym momencie na jednorazową zniżkę na dowolne zamówienie w EMPiK FOTO
aha, OK, mimo wszystko dziękuję
przepraszam najmocniej raz jeszcze i bardzo Panu dziękuję, do widzenia.
Do widzenia.
Minęły ze 2 minutki i przyszedł mail. Ale to niestety nie koniec jeszcze.
Treść maila:
Witam
Oto 25% jednorazowy kod rabatowy do wykorzystania w empikfoto do 16 marca: [xxxxxxxx]
Jeszcze raz najmocniej przepraszamy.
Ireneusz F.

Do 16 marca??!!??
W rozmowie powiedział Pan, ze nie ma ograniczeń czasowych i że jedynym
ograniczeniem jest to, że jest to kod jednorazowy!!
proszę o wyjaśnienia
pozdrawiam

Bardzo mi przykro, ale system pozwolił mi wygenerować kod w takiej
wysokości(25%) tylko do 16 marca.
Za niedogodności przepraszam.
Ireneusz F.

Czyli ponownie zostałem przez Was oszukany. Najpierw, że dostanę moje zamówienie przed walentynkami a teraz osobiście przez Pana, że dostanę kod rabatowy do wykorzystania w dowolnym momencie. Nie dość, że tym chwytem wymuszacie na mnie w ramach przeprosin ze swojej strony zakup kolejnego produktu od Was, to jeszcze zmuszacie mnie do kupienia tego w przeciągu miesiąca!!! Czyli „przepraszamy, że zawaliliśmy, jak Pan zapłaci za coś jeszcze, ale szybko, to to coś będzie taniej i może dojdzie tym razem”??!!??
Skandal!!!

Odpowiedzi żadnej już nie otrzymałem. Może to i dobrze.
16 Lutego po 16 wróciłem z pracy i zastałem w domu owy gadżet co miał dojść przed Walentynkami. Jakość wykonania? Ni w p…, ni w oko. Ważne, że w ogóle przysłali.
Zainspirowany rozmową z tymże specjalistą PR zadzwoniłem do mojej drugiej połówki. Walentynki jednak będą. Z przyczyn niezależnych ode mnie tylko od Płocka, Poznania i fazy księżyca – w tym roku troszkę później. Wyślę w poniedziałek.

Na zakończenie chciałbym, przestrzec wszystkich internautów przed badziewiarskim EMPiK FOTO. Jeśli chcecie koniecznie kupić od nich jakiś fotogadżet czy coś, to róbcie to przynajmniej z miesięcznym wyprzedzeniem (tak na wszelki wypadek) i pod żadnym pozorem nie dzwońcie do biura obsługi, bo „przecież oni nie mają tej przesyłki”. Żałosne.
Aha! I jeszcze jedno. Mam do sprzedania kod rabatowy do EMPiK FOTO w wysokości 25%, do wykorzystania do 16 marca. Jak ktos chętny, to pisać śmiało. A może lepiej dać na Allegro?

//edit 2007-03-05 ~22:19
Jak mówiłem – tak zrobiłem. Zapraszam do licytacji.

Category: Bez kategorii  Tags: ,  One Comment

Bezpłatne domeny!!!

A to ci gest chopaki mają 🙂
Rozdają za free domenki regionalne. No może nie do końca za free, ale za coś, co IMO powinniśmy robić sami od siebie za darmo.
Przejdźmy do konkretów:
Firma Active24.pl rozdaje za całkowitą darmochę domeny regionalne. Warunkiem otrzymania takiej domeny jest kliknięcie w słynnego pajacyka PAH’u.
Ja póki jako Kashub [~]o domenkę takową sobie „nabyłem” i nie ukrywam, że częściej klikam w pajacyka niż wcześniej.
Jak na razie ustawiłem też dostępną tam opcję aby moja domena przekierowywała na stronę w/w Pajacyka.
A co mi tam 🙂
Wam też polecam, jeśli nie domenkę to choćby klikanie w pajacyka, to praktycznie nic nie kosztuje.

Category: Bez kategorii  Tags: ,  One Comment

Generator Gradientowych napisów XHTML

Swego czasu nudziło mi się i nie wiedziałem co by sobie tu napisać.
Wtedy to wpadłem na pomysł, żeby napisać taki sobie Generator gradientowych napisów.
Nie miałem żadnego konkretnego w tym celu ani potrzeby, ale być może komuś się to przyda czy na jakiegoś bloga czy choćby dla jaj w jakimś miejscu strony.
Cała zabawa polega na wybraniu koloru początkowego (czyli tego, od którego będziemy zaczynać), końcowego (taki kolor będzie miała ostatnia literka) no i oczywiście wpisaniu swojego tekstu, który zamierzamy pokolorować.
Po wciśnięciu przycisku „Generuj” (tu niespodzianka) zostanie wygenerowany tekst, który płynnie przechodzi z jednego koloru w drugi. W górnym okienku mamy podgląd a w dolnym wygenerowany kod XHTML, który to powoduje właśnie takie a nie inne pokolorowanie tekstu 🙂
Pozostaje nam więc skopiować wygenerowany kod XHTML a dolnego okienka i wkleić go do dowolnego edytora jako kod oczywiście. Do edytorów WYSIWYG można wkleić napis z okienka górnego.
Mam nadzieję, że komukolwiek przyda się ta zabawka. Zapraszam więc do generatora kolorowych napisów xhtml.