Aby działało trzeba ustawić zmienną środowiskową SVN_SSH na „C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe”, potem w Eclipse ustawiamy JavaHL (JNI).
Category Archives: tech
PHP i JS w jednym stali DOMu
http://phpjs.org/ – warte zapamiętania. Na wszelki smerf.
Android Wardrive
Tak kupa mięci:
http://wardrivedb.appspot.com/
Małe, ale cieszy ;D Tylko baterię wpierdala jak Cookie Monster ciasteczka.
Kodowanie video dla Androida
Wysokiej jakości ;P
c:\bin\ffmpeg -i %1 -s 480x320 -f mp4 -vcodec libx264 -b 1536k -acodec libfaac -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 %1.mp4
ffmpeg do pobrania stąd.
Jak odwrócić kolejność wartości w rekordach
mamy rekordy:
id – val
1 – 1
2 – 2
3 – 3
4 – 4
Potrzebujemy, aby wartości odwrócić kolejnością (np zmienić kolejność wierzchołków wielokąta w bazie). Najprościej:
select @maksik = max(val);
update val = -1 * val + maksik;
(ok, wiem, że to niesqlowo, chodzi o ideę ;D).
Skrętność wielokątów
Dziś geometria ;P
W pracy ostatnio pojawił się problem – czy wierzchołki wielokąta są ułożone zgodnie z kierunkiem ruchu wskazówek zegara czy wręcz przeciwnie? Potrzebna była szybka i tania (w sensie obliczeniowym) metoda określenia owego ułożenia.
Ok, patrząc na obrazek widzimy od razu ;P A programowo?
Jak widać na rysunku wyznaczamy sobie 4 (w pewnych szczególnych przypadkach 3) punkty brzegowe – górny, prawy, dolny, lewy – opisując prostokąt na wielokącie. Znalezienie tych punktów jest proste i tanie – wystarczy raz przejrzeć listę współrzędnych.
Zapisujemy sobie numery tych punktów prawoskrętnie do array-a: 1,2,7,9. Jeśli ciąg jest rosnący – mamy prawoskrętny. Jeśli malejący – lewoskrętny.
Ok, a co, jeśli nam się figura obróci o 180 stopni i dostaniemy: 7,9,1,2 ? Ciąg nie jest już rosnący ;P Rozwiązań jest parę. Można szukać punktu nieciągłości i próbować splice tablicy zrobić i merge potem. Można sprawdzić, jaki jest największy element w tablicy i dodać taką wartość do wszystkich mniejszych. Przy 4 elementach będzie to nadal szybkie i proste: 7, 9, 10(1+9), 11(2+9).
Jak sprawdzić, czy ciąg jest rosnący?
$up = $points;
sort($up);
if(join($up)==join($points))
{
echo "rosnący";
}
Cała operacja jest prosta i szybka – zależna liniowo od ilości wierzchołków wielokąta.
Przesyłanie haseł mailem przy zakładaniu kont
Normalnie mnie trafia, jak na którymś już z rzędu portalu po rejestracji w mailu aktywacyjnym dostaję wpisane wcześniej hasło otwartym tekstem.
Szanowni pro(?)jektanci, koderzy i inni macherzy-chałturnicy – ja swoje hasło znam! Nie trzeba mi go przesyłać. A jak będę chciał je upublicznić to wyjdę przed blok o 4 rano i wykrzyczę je w te wszystkie ciemne, zaspane okna!
Poza tym – jak dostaję hasło otwartym tekstem to zaczynam się obawiać, w jakiej formie jest ono przechowywane w tych serwisach – czy przypadkiem nie jest również jawne. Bo jak któryś portalik walnie wtopę jak wykop*, to nawet w tęczowe tabelki nie będzie trza się bawić.
Dziś do niechlubnego grona dołączył FrazPC. Wcześniej wtopiło Pstro, LiberKey (!!!), Wiadomości24, LiveDrive (!!!), VMware (!!!), Blip i DobreProgramy. W owym niechlubnym towarzystwie pokutuje jeszcze wiele innych sajtów, ale szkoda na nie klawiry…
UPDATE (2009-10-20):
Tak mi przyszło, że jeśli twórcy systemów obawiają się zalewu userów, którzy będą mieli problemy ze swoimi hasłami, mogą dodać checkboxa (domyślnie zaznaczonego): „Tak, jestem lamą, nie potrafię zapamiętać swojego hasła, proszę, prześlijcie mi moje hasło mailem, aby cały świat pamiętał je razem ze mną”, który będzie owocował wysłaniem maila z url-em do sajta, loginem i hasłem otwartym tekstem.
* Nie, nie mam jednego hasła do wszystkich portali.
WordPress w osobnym katalogu
Defaultowo WordPress życzy sobie być w katalogu głównym. Można go też zainstalować w podkatalogu, ale w url-u mamy wtedy ów katalog, np u mnie byłoby to http://zibi.nora.pl/blog/. Można też zainstalować sobie w podkatalogu (np /blog/) i zrobić odpowiednie przemapowania w htaccess (mod_rewrite się kłania). Mamy wtedy porządek na koncie (cały WordPress ląduje w osobnym folderze) a w url-u nie mamy śmieci.
Jedyny minus tego rozwiązania to problem z niektórymi pluginami, które się gubią w takich sytuacjach (np niektóre ajaxowe panele) i szukają w ścieżce bez dodatkowego folderu (np /wp-admin/admin-ajax.php zamiast /blog/wp-admin/admin-ajax.php) i dostają 404. Dotyczy to niektórych wywołań ajax-owych i niektórych grafik. Pomaga dopisanie do .htaccess:
RewriteRule ^wp-(.*) blog/wp-$1 [L]
cron.daily problem – kupa mięci
Dodając coś do cron.daily trzeba pamiętać, żeby nazwa pliku dodanego nie zawierała kropki. Gdzieś to wygóglałem – pomogło.
Label ToDo w Gmailu
W Gmailu pojawił się moduł Tasks. Jako że lista zadań tworzona z palca mnie nie urządza chciałem zrobić sobie label ToDo. Gmail jednak to oprotestował krzycząc, że label invalid. Skłoniło mnie to do poszperania po menu gmailowym i jest! W „More actions” jest „Add to Tasks”. Tworzy nam to nowego taska i przywiązuje do niego maila.
Fajne, działa.