niedziela, 29 sierpnia 2010

Komputery w wojsku

Fajny film i artykuł na stronie niebezpiecznika ;)

http://niebezpiecznik.pl/post/komputery-w-wojsku-video/

środa, 25 sierpnia 2010

HTML5 - układ okresowy

Na stronie http://joshduck.com/periodic-table.html znalazłem fajny bajer :) Układ okresowy tagów HTML5. Można podać stronkę i przebadać ją pod kątem wykorzystania elementów nowej specyfikacji.

Przy okazji ostatnio zabrałem się za kilka nowych rozwiązań: 960 grid system, parę pluginów nowych do jQuery, w pracy cisnę Zenda. Wiedza płynie... płynie... W żagle chwytam wiatr :)

piątek, 13 sierpnia 2010

Gadget do nk.pl

Miłym zbiegiem okoliczności udało mi się stworzyć gadżet, dzięki któremu mamy stały podgląd na naszą skrzynkę w nk.pl (a na dobrą sprawę całe nk). Na zbieg okoliczności złożyły się:

- niesłychana prostota tworzenia gadżetów google
- udostępnienie przez nasza klasę strony mobilnej http://m.nk.pl

Jeżeli chcesz sobie dodać gadżet do GMaila, Google Calendar, iGoogle i innych usług, to poprostu wklej tam gdzie trzeba ten link:

http://hosting.gmodules.com/ig/gadgets/file/116609529485781967052/skrzynka-odbiorcza-nk.xml

I tyle :)

Ciekawe kiedy nk.pl się połapie i zablokuje takich spryciarzy jak ja ;)

Nina w stringach :D


Skubana szybko zaczyna :D

czwartek, 12 sierpnia 2010

phpQuery

Jakiś czas temu wpadło mi w ręce fajne rozwiązanie - phpowy port jQuery. Długo by tłumaczyć jak i po co; wklejam swoje proste rozwiązanie następującego problemu. Dostałem listę słów kluczowych (prawie 4000 sztuk), dla których należało znaleźć odpowiedni link na google (w moim wypadky wystarczało, że pierwszy :)). Jak ktoś jest dobry, to sobie napisze skrypt z cUrlem, jak komuś sie nie chce to phpQuery daje proste rozwiązanie:

set_time_limit(0);

require_once('phpQuery/phpQuery.php');

$data = file('dane.csv');
$links = array();
$result = array();
$a = 0;

for($a = 0; $a < 200; $a++)
{
    $aLine = explode(";", $data[$a]);
    $keyword = substr($aLine[0], 1, -1);

    phpQuery::$ajaxAllowedHosts = array('http://www.google.pl');
    phpQuery::browserGet('http://www.google.pl', 'success1'); // wywolywana jest funkcja callbackowa succes1()

   sleep(rand(10,20)); // dzięki temu nie dostaniemy bana na Google'u
}

function success1($browser)
{
    global $keyword;
    $fraza = $keyword . ' site:plikus.pl';

    $browser->WebBrowser('success2') // po sukcesie wywoływana jest success2()
->find('input[name=q]')
->val($fraza)
->parents('form')
->submit();
}

function success2($browser)
{
global $links;
global $keyword;
global $data;
global $a;

$addr = $browser->find('div#ires a')->attr('href');

$wynik = fopen("wynik.txt", "a+");
if(!fwrite($wynik, trim($data[$a]) . ";" . $addr . "\r\n")) {
die ("Błąd zapisu");
}
fclose($wynik);

}

Mało eleganckie rozwiązanie z globalami, ale - działa :)

wtorek, 10 sierpnia 2010

Wakacje sobie idą i idą...

A ja w pracy i jest bardzo fajnie :) Okres próbny za mną i z tego co mi się wydaję, to chyba jednak zostanę :)

W weekend byliśmy całą rodzinką w Trójmieście - tęsknie za Gdynią.

Zainteresowanym polecam obczaić kilka narzędzi:

- google maps - api w wersji 3 jest proste jak budowa gwoździa.
- mantis - prosty system do ticketowania projektów. od razu ułatwiło mi sprawę z paroma rzeczami organizacyjnymi - nie tylko jeżeli chodzi o projektowanie
- subversion - kolejne małe "odkrycie" - nie waż się robić czegokolwiek bez systemu wersjonowania

a jak mi coś jeszcze wpadnie do głowy to napiszę :)

odpuściłem ostatnio siłownię, natomiast dwa razy w tygodniu kulam się na macie, brakowało mi tego. Szkoda tylko, że kilogramy lecą w dół... A capoeira... od Capoeira odpoczywam do września :)