O biznesie po polsku.

Kategorie: Administracja, Humor, Informatyczne, Piętnuję głupotę, Techblog| 14 komentarzy 

Od kilku lat pracuję na podstawie umów o dzieło. Forma ta ma wiele zalet, pozwala mi na samodzielne regulowanie ZUSu, oraz znacznie obniża obciążenia związane z podatkami. Jakiś czas temu, zacząłem się jednak przymierzać do założenia działalności gospodarczej - większa szansa na podpisanie umowy z klientem, do tego mógłbym odciążyć się, zatrudniając kolejnego admina na pół etatu.

Dzisiaj natomiast zaskoczyła mnie jedna z rozmów na Gadu-Gadu (które mam opublikowane na swojej stronie): (caster, aka 5888, to ja. Mój rozmówca jest bliżej nie znany.)

18:16 <37272949> Witam
20:26 ::: Pseudonim: 37272949
20:26 ::: Numerek: 37272949 (niedostępny)
20:26 ::: Imię i nazwisko:
20:26 ::: Miejscowość:
20:26 ::: Rok urodzenia: 1982
20:26 Cześć.
20:33 <37272949> witam
20:34 <37272949> wystawiasz faktury na to co robisz?
20:35 W przeciągu kilku tygodni będę mógł. Na razie pracuję na umowę o dzieło i moge wystawić rachunek.
20:35 <37272949> hmm
20:35 Aczkolwiek jestem na etapie przygotowania dokumentów na rozpoczęcie działalności.
20:36 <37272949> czyli oferujesz swoje usługi bez posiadania podstaw, czyli działalności gospodarczej, czym łamiesz prawo karno-skarbowe
20:37 <37272949> nie możesz być oferentem, jeśli nie posiadasz osobowosci prawnej
20:37 Obawiam się, że posiadam podstawy. Oferuję swoje usługi na podstawie umowy o dzieło, oraz umów-zlecenia.
20:37 <37272949> chciałbym cie uswiadomić, że takie działanie jest niezgodne z prawem
20:38 Proszę zatem o podstawę prawną.
20:38 <37272949> nie mozes być oferentem bez posiadania działalności gospodarczej
20:38 <37272949> możesz przyjać ofertę na zasadach umowy o dzieło oraz umowy zlecenia
20:39 <37272949> jeśli tak bardzo pragniesz podstawy prawnej to z czysta przyjemnością złosze do odpowiedniego inspektoratu US, który szybko i kosztownie wyjaśni ci wszystko
20:39 Chętnie.
20:40 Jakoś regularnie odprowadzam składki za umowy o dzieło.
20:40 Tak samo składam regularnie PIT-Y 11.
20:40 Nie mamy zatem o czym mówić.
20:40 Żegnam.
20:40 <37272949> wystarczy twój post ogłoszenie
20:40 <37272949> Żegnam
20:40 Jaki post? :-)
20:40 <37272949> każdy post zawerajacy ogłoszenie wykonania
20:41 Konkretniej proszę, bo nie pamiętam żadnego posta, ani ogłoszenia.
20:41 <37272949> Żegnam i mam nadzieje, że szybko zakończysz krzaczasta konkurencje
20:41 <37272949> aaa, zapomniałem o stronie www
20:41 Och, krzaczasta konkurencja. Szkoda tylko, że się nie przedstawiłeś.
20:41 <37272949> ale tym juz bedziesz martwił się gdy przyjdzie ci domiar
20:42 Polecam udanie się do skarbówki zatem.
20:42 I nie przyjdzie mi domiar.
20:42 <37272949> nie bede zwlekał
20:42 Idź, nawet jutro z rana.
20:42 I daj znać, jak poszło.
20:43 Złożysz doniesienie anonimowo, tak jak teraz ze mną rozmawiasz, czy się podpiszesz imieniem i nazwiskiem?
20:43 Biznesmenie od siedmiu boleści?
20:43 Który swoją nieudolność zawodową potrafi załatwiać tylko skarbówką?
20:43 <37272949> z imienia i nazwiska, oraz z nazwy firmy
20:44 A tu za trudno jest się przedstawić?
20:44 <37272949> nie widze powodów
20:45 Fakt, skoro stosujesz frajerskie zagrywki, to boisz się, że mógłbyś dostać po dupie.
20:45 I jesteś zwyczajnym tchórzem.
20:45 <37272949> z cała pewnościa
20:45 Jakich wielu chodzi.
20:45 Nie mamy o czym rozmawiać.
20:46 <37272949> tylko czy te inwektywy zaspokoja twoją żądze zemsty za konsekwencje
20:46 Proponuję jeszcze udać się na policję.
20:46 Nie poniosę żadnych konsekwencji.
20:46 Działam tak od 6 lat, wielokrotnie miałem kontrole skarbowe.
20:46 Sprowadzone przez takich nieudaczników jak ty.
20:47 <37272949> masz racje, nie bede wyprowadzal cie z bledu
20:48 Liczę jednak na to, że uda mi się od inspektorów skarbowych uzyskać Twoje dane - chętnie wtedy opublikuję naszą korespondencję, informując przy tym Twoich kontrahentów, o tym jak rozwiązujesz swoje problemy.


Ja rozumiem, że kogoś może boleć, że ma mało klientów, bo jest kiepski w tym co robi. Ja rozumiem też, że kogoś może boleć to, że mam nieco niższe ceny, bo pracuję na podstawie umów o dzieło, a nie prowadzę działalności. Ale nie rozumiem, jak można zachowywać się w taki sposób. Naprawdę, tego nie jestem w stanie pojąć.

Zatem jakby ktoś znał tego gościa, to może mu zasugeruje, że jest dupkiem, co? :-)



Jak przyśpieszyć PHP...

Kategorie: Administracja, High Availability, Informatyczne, Techblog| 10 komentarzy 

Nie oszukujmy się... PHP jest wolne...

Powiedziałbym nawet, że w domyślnej konfiguracji jest bardzo wolne. W sumie nie jest to nic odkrywczego, prawda? W sumie nie wynika to z tego, że PHP jest kiepskim językiem programowania, po prostu jest to cecha języków interpretowanych. Każde wywołanie skryptu, powoduje jego załadowanie do pamięci, analizę, TYMCZASOWE skompilowanie do postaci bytecode'u, które musi być powtórzone przy każdym wywołaniu skryptu, wykonanie i zwolnienie pamięci, co w przeciwieństwie do języków kompilowanych, w których kod źródłowy tłumaczony jest jednorazowo na język maszynowy, który jest zapisywany i potem wykonywany, co znacząco przyśpiesza jego działanie.

Inna rzecz, że pisanie aplikacji web w C/C++/C#, czy innych językach kompilowanych nie jest zbyt wygodnym rozwiązaniem (chociaż w niektórych sytuacjach mogłoby być optymalne). PHP jest powolne, ale jest też wyjątkowo proste, z bogatym wyborem bibliotek i gotowych rozwiązań, a co za tym idzie łatwe w implementacji. Jest też BARDZO przenośne, co oznacza, że ten sam kod z reguły bez większych trudności da się uruchomić na innym serwerze (chociaż są tu wyjątki), a jeśli się nie uruchamia, to przeciętny programista szybko go naprawi. Rozwiązaniem problemu, jest uruchomienie na serwerze tzw. opcode cache, który optymalizuje skompilowany bytecode, po czym zapisuje go do pamięci i dodatkowo na dysk. Każde następne wykonanie skryptu, powoduje odwołanie się do zapisanego, skompilowanego już kodu, co pozwala przyśpieszyć działanie do 10 razy.

Instalacja
Proces instalacji przedstawię na przykładzie Debiana, natomiast przeciętny administrator będzie w stanie powtórzyć go na swojej ulubionej dystrybucji :-)

Przed instalacją eacceleratora, potrzebujemy zainstalować odpowiednie paczki:
apt-get install build-essential php5-dev

Potem ściągamy najnowszą (na dzień 11.04.2011) wersję eacceleratora, rozpakowujemy ją i wchodzimy do katalogu z kodem źródłowym:
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar xvfj eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1


Następnie wykonujemy: phpize
./configure
make
make install


W tej chwili mamy już zainstalowanego go na dysku, a jedyne co nam pozostaje, to skonfigurować PHP, by z niego korzystało. Domyślnie w Debianie konfiguracja przechowywana jest w katalogu /etc/php5/conf.d i tam też tworzymy plik eaccelerator.ini, do którego,naszym ulubionym edytorem (ja wiem, że miłośnicy wielkiej wojny między vimem a emacsem mnie zjedzą, ale ja używam w tym celu nano) wklejamy co następuje:
extension="eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"


Najważniejsze dla nas są:
eaccelerator.shm_size="32" - która ustawia wielkość cache na 32MB (wystarczające dla mało obciążonych maszyn, jednakże można sobie spokojnie podnieść do 128-256MB), można też ustawić wartość "0", wtedy wielkość ta będzie ustalana automatycznie.
eaccelerator.cache_dir="/var/cache/eaccelerator - Katalog, w którym przechowywany na dysku jest opcode cache. Można sobie ustawić dowolny katalog, jednakże co najważniejsze, należy mu nadać odpowiednie uprawnienia:
mkdir /var/cache/eaccelerator
chown -R www-data:www-data /var/cache/eaccelerator
chmod 0770 /var/cache/eaccelerator


Tradycyjnie restart serwera WWW:
/etc/init.d/apache2 restart

Lub, jeśli używacie Nginxa z FPM-CGI (idealne rozwiązanie na małe maszyny, być może opiszę następnym razem, jeśli ktoś będzie reflektował):
/etc/init.d/php5-fpm restart

Sprawdzić czy działa możemy tworząc na serwerze plik test.php, wywołujący funkcję:
phpinfo();

Jeśli jest w nim info o eacceleratorze, oznacza to, że nasz opcode cache działa :-)

W razie pytań, chętnie pomogę :-)
Strona domowa eacceleratora: http://eaccelerator.net/