środa, 30 września 2009

DKIM

Cóż takiego jest to DKIM?


Skrót wprawdzie zawiły: DomainKeys Identified Mail, ale chodzi o to
żeby domena rozsyłająca pocztę się do niej przyznawała,
inaczej: aby możnabyło ustalić nadawce wiadomości.

co nam to da:
wyrzucenie naszych newsletterów z automatycznych filtrów spamu.
Własnie tą bibliotekę:
http://sourceforge.net/projects/php-dkim/ przepisuję na obiektową.
Zabaczymy co z tego wyjdzie.

poniedziałek, 28 września 2009

Po alley'u

Alleycat zakopane - był jednym z najlepszych w jakich brałem udział - niektore atrakcje:
  • dobrze dobrane punkty - ułatwienie dla zamiejscowych (ceprów)
  • wjazd kolejka gondolkowa na gubałówkę
  • piekne widoki all included
  • oscypek na checkpoincie
  • afterparty w rytmach rege z filmem nawiazującym do tematyki
  • straty w sprzecie: 1 szprycha
  • straty w ludziach 1 osoba: Sara - na Salamandry (zjazd z gubałówki) dzięki "uprzejmości" kierowcy osobówki - znalazla się w rowie. OTB przy duzej szybkosci zakonczylo sie szlifami twarzy, utratą pamięci i późniejszą wizyta w szpitalu. Pomimo ciężkiego bólu głowy, dzielna Sara kontunuowała wyścig i odwiedziła wszystkie punkty kontrolne. Poźnym wieczorem, juz po ciemku docierając na metę. Na finishu pomimo cieżkiej kontuzji Sara wykrzesałą z siebie resztki (sz)mocy i wyprzedziła mnie na ostatnich paru metrach. W ten sposób "godnie" zasłuzyłem sobie na miano "ostatniego" -TFL (the fucking last)- i zostałem wyróżniony czapeczką ze śmigiełkiem, którą po dziś dzień z dumą noszę.
  • uphill z powodu "upalnego" wieczoru się nie odbył
  • za to na BIKE POLO reprezentacja krakowa dzielnie stawała w szaranki z warszawiakami (wzmocnionymi o reprezentankę NYC - Sarę)


piątek, 25 września 2009

Allycat zakopane


Nadchodzi nowa impreza - miejmy nadzieje że cykliczna :)
Allycat zakopane
link:
http://hare-rama.blogspot.com/
Wkrótce foty z wyjazdu!.

wtorek, 22 września 2009

Dbdesigner Firebird


No już jakoś zupełnie odjechalo mi na punkcie firebirdzie, projekty na Postgresie zostaly odwieszone na kołek. Wprawdzie ciagle jeszcze musze sie kisić na produktach MS - z niesławnym JET engine na czele, ale już niedługo :)

Najfajniejszym narzedziem do graficznego planowania bazy jakie znalazłem jest tabFORCE DBdesigner4. http://sourceforge.net/projects/dbdesigner-fork/


Wspiera firebird tylko poprzez ODBC, ale lepszy rydz niż nic. Zalety: to możliwość szybkiego opisania tabel relacji, kolorowania - zwieksza szybkość projektowania tak 2 krotnie (w moim wypadku) - najbardziej widać różnicę szybkości przy optymalizacji bazy.


Może doczekam się kiedy FIrebird bedzie wspierany natywnie przez duże projekty.
Nawet ponoć najnowszy Delphi bedzie wspierać firebird - w poprzednich wersjach trzeba bylo wymieniać ręcznie DLL. A o produkcie delphi4php który w standartowych kontrolkach miał bugi (np. nazwy tabel upercase) - nie bede nawet wspominał.

poniedziałek, 21 września 2009

Free PHP IDE

Rodzina darmowych narzędzi do tworzenia profesjonalnego kodu PHP - się powiększyła o shiskabab.
 
Wygląd nowego IDE do PHP - własnie testuję i porównuję z znanym i lubianym Eclipse.

piątek, 18 września 2009

Bugi na stronach yellowpages.pl

Na stronce yellowpages.pl
Juz jakis (spory) czas temu zgłosiłem im ten bug.
Przy okazji zupełnie innego klienta
objawiajacy sie tym ze niepotrzebnie do adresu URL jest doklejany znak ")"

Czemu teraz o tym piszę?
Ponieważ, dziś im 2gi raz zgłaszam - i zobaczymy ile dni trwa usunięcie drobnego błedu :D
Jak na polskie warunki obstawiam 4-6 miesięcy.





Sprostowanie:


1.No i się okazalo że jeśli bezpośrednio się z kontaktowałem, z firmą która robiła ten serwis, to odzew był natychmiastowy.
Kontakt bardzo rzeczowy.
2.Podobno wina pluginu. Całkiem możliwe. Takwiec umieszczam sprostowanie, aby potomność miała jasny obraz.

poniedziałek, 14 września 2009

Easter Egs

Ciąg dalszy o edytorach:
Emacs - ejst to swietny edytor na lic. GNU
Vi - jest to tez dobry edytor, choć mniejszy i niepoprawny politycznie. Polecam artykuł o tym jak nawigować po pliku w VIM.
http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html

Choć pewnie każdy wie, w firefoxie istnieją następujące strony - wystarczy w oknie przegladarki wpisać:
  • about:mozilla
  • about:robots


BOM - czyli: "ďťż" what da f*ck?

Jeśli na początku pliku który wyświetlamy pojawia się
<h1>ďťż</h1>
to oznacza ze windows dorzucił nam:

BOM Byte Order Mark - mówi systemowi w jakiej kolejności zapisywane sa bajty danego znaku.

ja go usunąć wyciać wszystkei znaki (caly 1den na początku pliku) ktore mają hexdec = EF BB BF
i tyle.
albo uzywać notepad2, notepad++,VIM,mEmacs - słowem wszystko byle nie produktow MS

wtorek, 8 września 2009

HTML do PDF - generacja

Wstęp:
Dużo czasu upłyneło odkąd ostatni raz pisałem - nowe projekty = brak czasu.

Do generecji seryjnej poczty(maile, faxy,sms) uzywam smarty.
Najczesciej wyglada to tak, że istnieja 3 warstwy programu:
  • template - w smarty wykonana warstwa prezentacji, caly kod html jest tutaj, dodatkowo dochodzą style CSS (osobny dla drukowania)
  • data-logic layer - tutaj obliczam wszystkei zmienne ktore później wołam w smartym
  • data-aquisition - warstwa czytajaca config polaczenia z bazą, pobierajaca wszystkie dane.

Problem jest gdy chcemy wysylać faxy z systemu korespondencyjnego(mailer).
Otóż każdy fax winien być plikiem *.pdf, ew. plikiem graficznym
-przy czym generacja pdf z HTML jest szybsza niż plików graficznych,
-i wymaga mniejszego transferu.

Rozwiązanie:
Z pośród kilku testowanych(ok5) klas najszybszy okazał się HTML2PDF.
Najlepszy stosunek możliwosci/szybkosc miał mPDF.
Plusy:
  • zero problemów z polskimi ogonkami
  • obsługa zewnętrznych styli css, mozliwosc podmiany HEADA
  • obsługa stopki footera
Oto jak prosto go użyć:

$mpdf=new mPDF('iso-8859-2'); //use polish fonts
$mpdf->charset_in='windows-1250'; //polish fonts - skip if u use linux serw
$stylesheet = file_get_contents("./INCLUDES/styl.css"); //import external styleshet
$mpdf->WriteHTML($stylesheet,1); //swap external stylesheet
$mpdf->WriteHTML($html,2); //$html - contains generated HTML page via Smarty
$mpdf->Output('test1.pdf',F); //output a disk file


wynik przykladowej templatki: