Archiwum dla kwiecień, 2007

30
kwi

simpleXML a DOMDocument

Do późna w nocy walczyłem z jedną, w założeniu prościutką, funkcją. Ma to być część klasy loggera, zapisującego wszystkie niesprzyjające wydarzenia, które nastąpiły w wyniku działania ( lub nie ;) ) skryptu/systemu, do pliku XML. Uznałem, że każda z tytułowych klas jest ‘niedorozwinięta’ do celu, w jakim chcę je wykorzystać i postanowiłem je połączyć ( być może jest coś o czym nie wiem i każdą z tych klas się da do tego wykorzystać, ale z simpleXML mam do czynienia od niedawna a z DOMDocument pierwszy raz ). Oto kod metody z mojej klasy:
public function addEvent( $event_arr )
{
$xml = new simpleXMLElement( $this -> filename, NULL, TRUE );
$this -> dom -> loadXML( $xml -> asXML() );
$root = $this -> dom -> getElementsByTagName( ‘logs’ );
$log = $this -> dom -> createElement( ‘log’ );
$log -> setAttribute( ‘date’, date( “H:i:s d.m.Y” ) );
foreach ( $event_arr as $key => $value )
{
$log -> setAttribute( $key, $value );
}
$root = $root -> item(0);
$root -> appendChild( $log );
$this -> dom -> save( $this -> filename );
}

$event_arr to tablica asocjacyjna przechowująca wszystkie dane odnośnie zdarzenia m.in. komunikat, nazwa pliku i jego linijka.

30
kwi

Pierwszy Captcha

Mój pierwszy własny kod captcha, napisany kilka miesięcy temu, przy okazji pisania katalogu stron ( nie skończnego niestety ).

Nie powiem, żeby wyglądało to rewelacyjnie, ale to też m.in. z winy mojego graficznego bezguścia i nieumiejętności dobrania nawet kilku kolorów do siebie. Niemniej sam kod wykorzystywałem i był na tyle funkcjonalny, że użyteczny :) Nie zmienia to faktu, że pewnie trochę rzeczy dałoby się poprawić…
class Token
{
protected $text = ”;
protected $text_color;
protected $bg_color;
protected $font_name = ‘4mini.ttf’;
protected $font_size = 20;
protected $type = ‘image/png’;
protected $height;
protected $width;
protected $id_image;
protected $filename;

public function __construct( $width = 150, $height = 45 )
{

$this -> width = $width;

$this -> height = $height;

$this -> id_image = imagecreatetruecolor( $this -> width, $this -> height );

$this -> setColor();

$this -> setBgColor();

}

public function setColor( $r = 233, $g = 14, $b = 91 )
{

$this -> text_color = imagecolorallocate( $this -> id_image, $r, $g, $b );

}

public function setBgColor( $r = 128, $g = 128, $b = 128 )
{

$this -> bg_color = imagecolorallocate( $this -> id_image, $r, $g, $b );

imagefilledrectangle( $this -> id_image, 0, 0, $this -> width - 1, $this -> height - 1, $this -> bg_color );

}

public function setFont( $font_name, $font_size )
{

$this -> font_name = $font_name;

$this -> font_size = $font_size;

}

public function setText( $text = ” )
{

$this -> text = $text;

}

public function setRandomText( $count = 5 )
{

$chars = array( ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘0′, ‘1′, ‘2′, ‘3′, ‘4′ ,’5′ ,’6′ ,’7′ ,’8′ ,’9′ );

$el_number = count( $chars );

for ( $i = 0; $i text .= $chars[rand(0, $el_number - 1)];

}

}

public function getText()
{

return $this -> text;

}

private function pseudoDistortion()
{

$el_number = strlen( $this -> text );

$black = imagecolorallocate( $this -> id_image, 0, 0, 0 );

for ( $i = $el_number - 1; $i >= 0; –$i )

{

$angle = ( $i % 2 == 0 ) ? 10 : -10 ;

imagettftext( $this -> id_image, $this -> font_size, 180 - $angle, 10 + 25 * $i, 25 , $black, $this -> font_name, $this -> text[$i] );

}

}

public function getToken( $distortion = false )
{

//header(”Content-type: “.$this -> type );

$el_number = strlen( $this -> text );

if ( $distortion ) $this -> pseudoDistortion();

for ( $i = 0; $i id_image, $this -> font_size, $angle, 10 + 25 * $i, 30 , $this -> text_color, $this -> font_name, $this -> text[$i] );

}

$this -> file_name = ‘opt/image’.rand(10000,99999).’.png’;

imagepng( $this -> id_image, $this -> file_name );

return $this -> file_name;

}

public function __toString()
{

$this -> getToken();

}

public function compare( $compare_text )
{

// $compare_text is string, $this -> text is array of char

$count = count( $this -> text );

if ( strlen( $compare_text ) == $count )

{

for ( $i = 0; $i text[$i] ) return false;

}

return true;

}

return false;

}

public function __destruct()

{

imagedestroy( $this -> id_image );

//unlink( $this -> file_name );

}

}

29
kwi

Nowy kernel ’się rządzi’.

Zaktualizowałem kernel do 2.6.15-28 i zonk. Po aktualizacji zniknął wpis w GRUBie ( menu.lst ) dla winzgrozy…

Na szczęście wystarczyło dodać odpowiednie kilka linijek w tym pliku i było już ok.

26
kwi

Pierwsze inwestycje

W związku z sytuacją na rynku, opisaną zresztą już wcześniej, zdecydowałem na inwestycje w miarę bezpieczne. Dałem sobie spokój z funduszami akcyjnymi, przynajmniej do czasu korekty( nieco większej niż to co obserwujemy aktualnie )

Kupiłem jednostki uczestnictwa w SEB4, jako, że inwestuje mniej niż 40% w akcje a stopy zwrotu przy takim ryzyku są naprawdę całkiem niezłe. Roczna wynosi ok. 25%

Dodatkowo znalazłem kilka innych funduszy akcyjnych, które wyglądają bardzo obiecująco:
BPH Dynamicznych Spółek
GTFI Akcji
DWS 25 MiŚ ( najmniej dla mnie obiecujące )

25
kwi

Analiza matematyczna 2 ?

Heh… dostałem drugie, niemal identyczne zlecenie. Znów przebieg zmienności dwóch funkcji.

Co prawda funkcje są nieco bardziej perfidne, ale to nie przeszkadza w łatwym zarobieniu 35zł w ciągu godziny lub nieco więcej ;)

25
kwi

Dylematy początkującego inwestora

Mam już w mBanku konto i SFI aktywowane w pełni. Przelałem tam swoją gotówkę z Inteligo i po tym nadszedł czas inwestycji. Jednak wiążą się z tym problemy…

Wszędzie trąbią od dłuższego czasu o korekcie, prawdopodobnie będzie to w maju. Gdyby to były spekulacje to bym je pewnie olał, ale… W maju są publikowane raporty finansowe za pierwszy kwartał roku, co znacząco może wpłynąć na zachowanie inwestorów na giełdzie. Jakby tego było mało to jest jeszcze w maju kilka spotkań międzynarodowych dot. gospodarki i finansów a decyzje na nich podjęte mogą być pozytywnie lub negatywnie odebrane przez giełdy światowe.

Myślę o inwestycji w:

LEGG MASON FIO akcji
DWS RP
Chętnie też AIG MiŚ ale pierwsza wpłata nie jest tam niska, a w okresie wielkiej niewiadomej na rynku wolę nie ryzykować. Jeśli nadejdzie szybko korekta( oby ;) ) to wtedy zapewne i w ten fundusz akcyjny wejdę

Na razie pozostało mi czekać…

23
kwi

MQL czyli co to jest ?

Ze znajomym podczas rozmowy na temat programowania i jego wykorzystania do handlu na foreksie wynikł taki link: mql

Szczerze mówiąc nie wiedziałem, że taki np x-trader udostępnia możliwość programowania w nim.

Co ciekawe język ten to jest na dobrą sprawę C. Programowanie w C tak jakby z wykorzystaniem zewnętrznej biblioteki do zawierania transakcji na foreksie. Ogólnie dość ciekawe, najbardziej interesowało mnie jak się właśnie zawiera transakcje ( sprzedaje, kupuje ) no i dzieje się to w prosty sposób. Wystarczy wykorzystać funkcję OrderSend() podając jej odpowiednie argumenty. Link wraz z opisem funkcji i przykładami: OrderSend

23
kwi

Analiza matematyczna

Uwielbiam jak za godzinę pracy dostaję 35zł ;] Taka stawka mnie satysfakcjonuje na obecny czas i szkoda, że takich zleceń jest mało.

A co zrobiłem? Zbadałem przebieg zmienności dwóch funkcji i…. to wszystko :)

I love this game!

22
kwi

Garść linków

Kilka linków dla osób, które tak jak zaczęły się interesować giełdą walutową:

http://www.futures.pl/?did=76 ciekawe arty
http://www.nbportal.pl/pl/cw/prezentacje ogólne prezentacje
http://www.wdsoftware.com/pl/encyklopedia-at/ encyklopedia analizy technicznej
http://mosz.interia.pl/ wideofelietony
http://wwp.greenwichmeantime.com/ strefy czasowe czyli na jakim rynku która jest godzina :]
http://www.fx.4oy.eu/pl/ interesujące ale drogie sygnały
http://www.xtb.pl/strona.php?t=0&c=6477 ile warty jest jeden pips?
http://www.programyinwestycyjne.pl/content/section/16/133/ sygnały, arty, ebooki
http://www.programyinwestycyjne.pl/content/view/234/149/ broker ze spreadem 2 pips
http://www.newtrader.pl/technical.php analiza techniczna a w tym fibo i eliot
http://www.newtrader.pl/technical/9a.jpg hiperbole i wachlarz
http://www.inwestor.hepi.pl/ analizy rynków w wykonaniu studenciaków
http://www.forexfactory.com informacje o zdarzeniach na rynkach
http://www.efixpolska.com/dokumenty/?menu=Forex&id=43

22
kwi

simpleXML się gubi…

http://ad.zanox.com/ppc/?5708908C1403250192&ULP=[[http://www.domzdrowia.pl/?nr_seller=30&productid=57873]]
Jak taki fragment kodu może namieszać w całym skrypcie?

simpleXML