PROGRAMMING AND SOMETHING MORE...

Main page | Portfolio | Publications | PostgreSQL vs other DBMS | IT Humor | About me

IT companies reality

IT companies reality

Yeah - it's so fuckin' true. I'm the guy with a cup of coffee... :-D

IT management reality

IT management

Same as above... :-)

What a fuckin' genius: "Informatyka to jest 50% matematyki: logika, matematyka dyskretna, analiza numeryczna, etc. No chyba że ktoś chce pisać stronki w PHP + JS. Poczytajcie sobie prawdziwe książki informatyczne, np. "The Art of Computer Programming" Knutha, "Wprowadzenie do algorytmów" Cormena czy "Introduction to Automata Theory, Languages, and Computation" Hopcrofta." Ignorant #1
Another one: "zgadzam się z ponton: ktoś, kto nie potrafi zdać analizy matematycznej, algebry albo dyskretnej nie będzie dobrym programistą - co najwyżej klepaczem w php i mysql. pierwszy z brzegu przykład - opengl, gdzie mocno wykorzystuje się operacje na macierzach. dobry programista powinien umieć robić wszystko - od obliczeń numerycznych do programowania gier. a stronki w php to dno i trzy metry mułu w programistycznym kunszcie." Ignorant #2

Dear "true" programmers, you are so funny... Computer science is not information technology. Tell this to somebody who has gathered mechanical engineering degree for example. They don't have discrete math. What about somebody with philosophy degree? Damn - I heard something similar about me many years ago from a guy like you. I saw your messy code and ALWAYS I had to clean up your screwed up, crappy, buggy, low performance and unmaintainable code written without any knowledge about software engineering, architecture design, full of anti-patterns, etc. You can go away to calculate integrals at paper and don't touch any real, production code. Bye and never come back! :-D

My fundamental coding rules in PHP ;-)

Fundamentalne zasady kodowania w PHP (i nie tylko) zebrane na podstawie osobistych obserwacji - trochę z przymróżeniem oka

  1. Komentarze to zbędna strata czasu i niepotrzebne zwiększanie objętości kodu. Jak ktoś nie rozumie Twojego kunsztownego kodu, to znaczy, że jest informatykiem.
  2. Spacje to fanaberia programistycznych purystów. Kolejna strata cennego miejsca na dysku i spowolnienie interpretacji kodu.
  3. Co działa w 10 linijkach kodu, będzie też działać w jednej. Im mniej znaków nowej linii tym lepiej. CR/LF z wozu, interpreterowi lżej!
  4. Pamiętaj o fundamentalnym wzorcu Copy-Paste – intensywna ekspansja kodu realizującego tą samą złożoną logikę w różnych miejscach aplikacji ułatwia późniejszą konserwację, znakomicie wpływając na szybkość znajdowania i usuwania usterek, co znacznie poprawia samopoczucie programistów i pozytywnie wpływa na rentowność firmy.
  5. Funkcje compact/extract to Twoi przyjaciele. Nie wahaj się prosić ich o pomoc.
  6. Składowanie kodu PHP w tabelach bazodanowych jest świetnym pomysłem. Warto rozważyć dynamiczne generowanie kodu PHP przez procedury składowane SQL. Denormalizacja struktury danych i składowanie kodu w metadanych jako nazwy kolumn uelastycznia projekt.
  7. Używaj funkcji eval maksymalnie często. Samomodyfikujący się kod uatrakcyjnia analizę nowej osobie.
  8. Zmienne zmiennych (zmiennych, ...) to bardzo fajna rzecz. Osoby modyfikujące Twój kod będą wprost zachwycone Twoją kreatywnością.
  9. Prawdziwi programiści nie boją się używać instrukcji goto. Jeśli masz opory - to jesteś informatykiem! goto 10
  10. Nie nadużywaj nawiasów klamrowych. To niepotrzebne marnowanie miejsca na dysku (patrz: pkt. 1., pkt. 2. i pkt. 3.)
  11. Im więcej poziomów abstrakcji tym lepiej – trzeba spożytkować nadmiarową moc procesorów serwera.
  12. Unikaj sterowania danymi – wszystko powinno być zakodowane w skrypcie (hardcoded) – wtedy przy zmianie drobnostki będzie można zabłysnąć wszechmocą i magiczną wiedzą programisty, których wykorzystanie będzie wymagało godziny ciężkiej pracy "fachowca".
  13. Używaj jak najwięcej własnych rozszerzeń w C. Idealny skrypt składa się z pojedynczego wywołania wkompilowanej w PHP funkcji C zawierającej całą logikę.
  14. Łącz dane binarne i kod HTML widoku ze skryptem PHP korzystając z dobrodziejstw funkcji halt_compiler(). Unikniesz nadmiaru plików w projekcie.

Uruchom w konsoli poniższy kod i zapamiętaj wynikającą z niego złotą myśl!

<?php
/**
 * Standardy kodowania dla bystrzaków.
 * Przykład wzorcowego kodu PHP.
 *
 * @author Artur Kozubski
 */
$t=array();$b='A';$a='b';$c=strtolower(${'b'});$$a=chr(ord($b)+0x16);
$$b.=chr(0162);$$$a=chr(ord($a)+7);
$l=base64_decode(file_get_contents(__FILE__,null,null,__COMPILER_HALT_OFFSET__));
$$$$a = '$$$a.=chr(ord($$$a)+0xb);$a=eval("return chr(ord($$c)+3);");$b.="$Wr$a
";${chr(ord($a)+0x13)}=array("f"=>$a,"g"=>$c);';
eval($i);extract($x);eval('$$f=chr(ord($g)+2);');$x='';$t[$b{1}]=$b{4};
$t[$b{2}]=$c;$t[$b{3}]='n';foreach(str_split($b)as$i=>$z)
{if($i>3)break;$z=='W'?$v='>>1)+65':$v='-ord($z)
+ord($t[$z]))';eval('$x.=chr((ord($z)'.$v.');');}$h=' '.$e.'o'.chr(ord($e)+1).
$x{1}.'!';
eval($b{4}.$e.'h'.$h{2}.' "$b$e$x$h\n\n";');eval($$b{4}.$e.'h'.$h{2}.' \''.
$l.'\'."\n\n";');__halt_compiler();
?>
ICBFRUVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICANCiBMRSAgR0UsRS4gRUxFRUUgRUUgRUVFRXRFRUVFRUVF
IEVFIEVFIEVFRSA7RSAgRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogTEVFLiAg
IEVFRUUgRUVFIEVFIEUgICB0RSAgRUVERSBFRSBFRCBFZkUgIEV0RUUgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIA0KICBFRUVFRyAgRUU7IEVFRWpFRSBFRUVMdEVFRUVFOkUgRUVmRS4g
RSBFZiBFRUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgRUUgIERFICBF
RSBFRUUgRSAgIHRFIEVFICBFRWpmRUUgO0VFRUUgIEVFICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgDQogRUUuIEVFICBMRSAgRUUgRUVFIEUgICB0RSBmRSAgRUUgIEVFIEVFRUVFLiBF
RSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICBFRUVFLiAgTEUgIEVFICBFRSBF
RUVFdEUgIEVFIGpFICBFdCBFICAgRUUgRUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA=
Poniższy tekst nie jest mojego autorstwa - znalezione w odmętach Internetu (sam lepiej bym tego nie ujął, więc wklejam jak jest, he, he).

Wesoły Czesław w projektach IT

Z pamiętnika informatyka:

  1. Zaczyna się projekt. Nawet jeśli jest to najbardziej hardkorowy wodospad to on też ma jakąś tam iterację.
  2. W trakcie tej pierwszej iteracji developer - nazwijmy go Czesiek - napierdala całkiem szybko działający kawałek funkcjonalności.
  3. Decydenci są wniebowzięci bo oto powstał pewien "produkt" ciągnący za sobą potencjalne zyski - Czesiek zdobywa plusy w oczach managementu.
  4. To czego nie wiedzą ludzie w garniturach to to, że Czesiu napisał ten kod kosztem wszelkich reguł czytelności - masę zagnieżdżonych pętli, ogromne klasy i inne cuda na kiju. Ci biedni ludzie tego nie rozumieją - działa? No działa!
  5. Projekt trzeba rozbudować - niech zajmie się tym jakiś junior developer, utrzymaniowiec czy coś w tym stylu - Czesiek jest za dobry - potrzebujemy go do naszych "miszyn kritikal."
  6. I teraz biedny zamiennik siada do tego gówna i płacze i próbuje coś napisać i męczy się i trwa to długo.
  7. I taki kierownik budowy sobie myśli "no tak jak przewidywałem - Czesiu jest zajebisty a ci to nawet nie umieją jednej rzeczy sprawnie dopisać. Ehhh trzeba znowu zadzwonić do Cześka".
  8. Wróć do punktu pierwszego.

Pokuszę się tylko o krótki komentarz:
Niby dział humor, bo tekst do żadnego innego na mojej stronce nie pasuje, ale tak po prawdzie nie ma tu nic śmiesznego. Nic, a nic... Kto sprzątał po takich Cześkach, doskonale zrozumie o co mi chodzi. Zaznaczę, że technologia, język, platforma czy wykształcenie lub jego brak nie mają tu absolutnie żadnego znaczenia. Albo ktoś potrafi programować i myśleć systemowo projektując architekturę aplikacji albo nie i napierdala bezmyślnie kod bez refleksji o jego ewentualnej rozbudowie, usuwaniu błędów, wydajności, skalowalności, stabilności i kosztach utrzymania, na które przekładają się wymienione wcześniej aspekty.

Main page | Portfolio | Publications | PostgreSQL vs other DBMS | IT Humor | About me