-
1. Data: 2003-03-02 15:15:21
Temat: Bardzo Pilnie,Programista Slaskie
Od: "Robert Darmochwal" <c...@p...onet.pl>
Potrzebuje pilnie pracy, stalego zatrudnienia , albo najchetniej
pojedynczego zlecenia - taka preferencja w zwiazku z tym iz jesli teraz
zatrudnie sie na stale to nie bedzie mi przyslugiwal urlop w lipcu jeszcze,
wiec musialbym zrezygnowac z wakacji. Najlepiej zlecenie badz tez pojedyncza
umowa o dzielo, potem podpisze cos wiecej.
Pilnie w zwiazku z tym iz przypililo mnie z pieniedzmi(tak, i zaczyna sie
robic powaznie dosc), i najprawdopodobniej wezme cokolwiek jest.
Pracowalem juz jako programista dla paru firm, ponad 3 lata, mam
doswiadczenie w bardzo wielu dziedzinach, poczawszy od pisania skryptow
modemowych i DTP, poprzez system klient server (wykorzystane sockets, sql,
win32, linux), konczywszy na pracy nad jadrem kompilatora jezyka Verilog.
Jak juz powiedzialem, przypililo mnie (z powodu takiego ze wydawalem wiecej
pieniedzy niz zarobilem) i moge sie okazac tani poniewaz kieruje mna nagla
potrzeba, prosze pisac ze wszystkim do mnie. Teraz szczegolowo (przepraszam
ze nie formalnie) o mnie i kwalifikacjach oraz co juz napisalem. Nie
odrzucam pracy innego rodzaju niz kodowanie,chociaz niewiem do czego innego
sie nadaje jestem bardzo komunikatywny - jak na programiste to prawdziwy
paradoks ponoc :) - mam mowione oraz pisane (to ze mam pisane to widac :) )
znam swietnie angielski w mowie oraz w pismie (komunikacja w jezyku
angielskim sprawdzona) jesli to sie moze przydac samo w sobie, w co watpie
poniewaz mam wyksztalcenie ogolne-srednie, i poza programowaniem oraz
angielskim generalnie nie umiem nic.
Jestem urodzony 22.12.77, mieszkam tymczasowo w Bedzinie.
Z jezykow programowania znam swietnie assembler oraz C++, uzywam Visual
Studio, chociaz pracowalem takze w Borland C++ Builderze (wczesniej takze w
zwyklym OWL) poniewaz jest duzo lepszy do interfeacu, chociaz mysle ze
lepiej stosowac mieszanke studio microsoftu oraz laczyc z Visual Basic
poprzez ActiveX. Znam Jave, JavaScript, HTML, z baz danych Btrieve oraz SQL,
uzywalem ODBC.
Amatorsko, z assemblera :
Napisalem sam dla siebie dosc sporo z tematu grafiki 3d. Mialem dzialajacy
engine do krotkich demek napisany w calosci w assemblerze, moj program
odczytywal szkielet obiektow zapisanych w formacie starego 3D Studio, engine
potrafil robic wszelkie mozliwe transformacje na obiekcie oraz scenie (no
moze poza morphingiem).rendering wykorzystywal texturowanie, cieniowanie
gourauda, stosowal dynamiczna allokacje palety, w 256 kolorach renderowalem
texturowany obiekt oswietlany z wielu zrodel swiatla, z czego najbardziej
jestem dumny to to ze udalo mi sie zrobic takze powierzchnie przezroczyste
:).
Oprogramowalem takze soundblastera,w tamtych czasach bylo to dosc spore
osiagniecie aby zrobic to jak sie nalezy z wykorzystaniem DMA oraz przerwan
(jak ktos pamieta to wiele ludzi tworzacych profesjonalne produkcje, mysle o
grach
wydawalo sobie nie radzic z tym tematem).
Takze napisalem swoj maly dos-extender (jak ktos w ogole pamieta co to bylo
:) ), nie zeby mozna bylo go uzywac tak jak naprzyklad dos32 (doklejac do
.exe albo cos w tym stylu) - musial byc polaczony z moimi programami na
poziomie kodu zrodlowego, - mial tylko sluzyc dla mnie zreszta . :)
- Mam sentyment do programowania w assemblerze i jesli gdzies przypadkiem
jest praca gdzies, gdzie moglbym programowac pod dosem , jakis sterownik lub
cos podobnego, biore od razu :) . Przede wszystkim znam assembler.
Potem inne jezyki. :) Amatorsko napisalem jeszcze pare innych rzeczy*
roznego rodzaju, zupelnie nikomu niepotrzebnych, przewaznie nawet mi,
chodzilo tylko o wyzwanie, - nie ma wiekszej satysfakcji niz skodowanie
swoich wlasnych tekstur, na 100% w assemblerze i pochwalenie sie tym.
*Czasem byly to rzeczy dziwne - na przyklad program ktory podczepial sie pod
przerwanie zegara, oraz wyczekiwal aby co 90 sekund wylaczyc silnik twardego
dysku.Przeznaczeniem bylo to aby umiescic go na komputerze kolegi bez jego
wiedzy,
tak aby pocil sie myslac ze psuje mu sie dysk, dyski byly wtedy drogie a my
chodzilismy do szkoly i na niewiele nas bylo stac. :)
Napisalem takze program ktory mial zaledwie 12 bajtow, sluzyl do kasowania
zawartosci pamieci CMOS (ta podtrzymywana bateria zwana pamiecia biosu).
Nauczylem sie go pisac z pamieci w starym debug.exe z DOS. Tym trikiem mozna
bylo na przyklad wykasowac komus haslo z biosu, nastepnie wejsc do niego i
ustawic haslo na caly komputer, co go dosc skutecznie unieruchamialo.
Amatorsko dalej:
Troche 3d, poprzez OpenGL, mniej przez DirectX, ale generalnie stracilem
zainteresowanie tym tematem, odkad w moim domu pojawil sie internet.
- Backdoor wzorowany na backorifice, jedyne co robil mniej od oryginalu to
nie ukrywal samego siebie w liscie procesow, darowalem sobie takze
przesylanie plikow poprzez HTTP ogladanie sieci lokalnej i pare innych
rzeczy, za to mialem wszystkie bardziej uzyteczne funkcje takie jak
logowanie klawiatury. Udalo mi sie nim wejsc w pare ciekawych miejsc zawsze
chwalac sie o tym swojej ofiarze (nawet poprzez drukowanie tego na papierze
na jego drukarce zdalnie) , jestem bardzo dumny z niego - grozono mi za ten
program prokuratura, policja, mossadem, fizycznymi uszkodzeniami ciala.
Weszlem w ten sposob na przyklad do gazety wyborczej, biblioteki slaskiej
gdzie po podrzuceniu go na terminal z windowsem udalo mi sie zlogowac
hasla do glownego servera (solaris - es3000.bs.katowice.pl). Program
sprawial iz mimo iz bylem jeszcze nastolatkiem bylem juz traktowany czasem
bardzo powaznie co mnie czasem bawilo :).
(Od tej pory bede pisal o kazdej wykonanej pracy w wersji dlugiej z ktorej
mozna sie dowiedziec co dokladnie robilem, oraz wersji krotkiej , zdaje
sobie sprawe ze nie wszyscy maja ochote czytac tyle, jednak to tego wymaga i
trudno. odpuszczam sobie pisanie zwiezlych CV.)
Co zrobilem za pieniadze juz:
Aldec inc.
Wersja krotka : Wraz z dwoma kolegami zastapilem interpretacje kodu Verilog
kompilacja modyfikujac jadro open sourcowego kompilatora LCC. Kompilacja
dziala na procesory intela , alpha , Sparc. :)
Wersja dluga: ( Dokladnie pisze, Bo mozna nie kapnac o co chodzi . To
oprogramowanie pisza tylko dwie firmy na swiecie podobno - Model
Technologies oraz Aldec Inc).
Firma zajmuje sie srodowiskiem sluzacym do symulacji i programowania logiki
ukladow cyfrowych . Sa to dokladniej kosci FPGA (tak jak EPROM,tylko w
EPROMach programuje sie bity pamieci czy maja byc jedynka czy zerem,
natomist w FPGA programuje sie bramki ktore moga byc na przyklad XORem albo
ANDem ) . Wiec srodowisko wyglada jak Visual Studio, programuje sie w nim w
jezyku Verilog ktory jest wygladem jakk miesznka C z Pascalem. Tak samo jak
w C opisuje sie funcje programu tam funkcje ukladu . na przyklad:
wire funkcjajakastam(a:wire,b:wire){
if (a==1 && b==1) return 1;
else return 0 ;
}
opisalby bramke AND . klasa wire oznacza pojedynczy bit, tylko ze w Verilogu
bit ma 4 stany :) , Jeden , Zero, stan nieokreslony oraz stan wysokiej
impedancji. Kiedy przyszedlem do firmy system juz dzialal. Glownym celem
jest symulacja 'napisanego' ukladu - podajemy wiec co ma byc na wejsciu i
patrzymy czy na wyjsciach dostajemy to co chcielismy (odpowiednik debuggingu
w zwyklym programowaniu, tam wyglada to bardziej troche jak oscyloskop).
Jednak symulacja przebiegala wolno - kod byl interpretowany, nie
kompilowany, I wlasnie zostalem przydzielony do pracy nad tym problemem, co
bylo dla mnie dosyc gleboka woda jednak nie robilem tego sam. Wiec mielismy
zrobic kompilator,
- na pewno od poczatku bym tego sam nie napisal - ale w internecie sa
dostepne na przyklad zrodla GNU C , my wybralismy do 'demontazu' LCC
napisany przez ludzi z microsoftu. (teraz najkrocej jak sie da) Kompilator
pracuje tak ze kompilacja jest w paru fazach. Pierwsza to skladnia
tzw.parser. Pierwsze PASSy maja strawic kod,tj. lexemy i pare innych rzeczy
ktorymi sie kto inny zajal , w celu uzyskania kodu w postaci czegos co mozna
nazwac 'abstrakcyjnym assemblerem'. Jest to struktura drzewka ktore nazywaja
autorzy Direct acyclic graph. Drzewka wygladaja tak ze jest u gory operator
(takie jak ADD SUB MULTIPLY DIVIDE ) - zalezalo nam tylko na tych drzewkach
ktore opisuja funkcje matematyczne - operator ma dwie galezie do operandow
lewego i prawego oraz link do operandu jednego nizej ktory opisuje funkcje
wykonana poprzednio. I wlasnie na tym poziomie zalezalo nam zeby wjechac z
wlasnymi DAGami . I podac dalszym pasom "gotowca" - tylko wyprodukowanego
przez nasz parser Verilog, struktura musiala byc identyczna z ta uzywana
przez LCC, to bylo moje zadanie. Trik sie udal , z wieeeelkim bolem
rozwiazalem ow problem - problem nie byl banalny ze wzgledu chociazby na owe
4 stany bitu w Verilogu, kod wymagal dosc drastycznych zmian, takich jak
tworzenie wlasnego rodzaju operatorow. Za to zyskalismy niezly wynalazek -
jako ze oryginalny LCC potrafi kompilowac na pare typow procesorow ( m.in
motorola, intel, alpha,sparc) wydlubane przeze mnie jadro zostalo z ta
cecha, i kompilacja Verilog dziala na wszystkich procesorach na ktorych
dziala LCC. :)
Wersja 30 dniowa produktu - www.aldec.com , nie wiem czy nie trzeba zamowic
fizycznego klucza wpinanego w port szeregowy.
Aby uruchomic.
Altkom A+C
Nudna praca nad systemem automatyzacji wydruku dla szwajcarskiej firmy
publikujacej dziesiec czy pietnascie tytulow gazet z programem telewizyjnym.
System nie robil nic ciekawego w sumie, poza tym iz jesli film byl
wyswietlany drugi raz, to pamietal go ze pojawil sie rok wczesniej , i taki
pismak w redakcji nie musial juz pisac malego streszczenia ktore jest w
programie telewizyjnym w ramce obok od nowa tylko zostawalo to samo, z
rzeczy ktore nalezalo rozwiazac to dzielenie pracy pomiedzy rozne osoby -
tutaj cos na wzor source safe - (w skrocie jak jeden trzyma artykul to
reszta go nie ruszy) . Dochodzilo kodowanie
czegos co nie pamietam jak sie nazywa ale jest takze obecne w gazetach
polskich, obok kazdego programu jest napisane malymi literkami pare cyferek
ktore sie wpisuje do takiej maszynki obok telewizora (naprawde niepamietam
jak to sie nazywa, reklamowali to na polsacie kiedys :) ). Tutaj jeszcze
negocjacje z firma ktora niechciala algorytmu kodowania zdradzic. Pisalem
tam w C++ Builderze , w tej firmie nauczylem sie Bazy danych Btrieve.
NC-Virtual Systems S.A
System ASP , Application Service Providing. System dziala w oparciu o
Citrix , albo Microsoft Terminal Server .Zadaniem jest udostepnianie kopii
programu, na przyklad Microsoft Office z servera na terminalach
wyprodukowanych przez firme (NC-Box) .
Przeznaczone dla bardzo duzego klienta (glowny Price Waterhouse Coopers) -
najwieksza firma audytingowa na swiecie. ASP polega na tym ze firma ma na
przyklad w sumie 200 000 pracownikow, dajmy na to 100k jest w japoni i
pracuje wtedy gdy drugie 100k w USA spi , i na odwrot. ASP ma wykorzystac
fakt iz w takim wypadku kupic nalezy 100K licencji zamiast na przyklad
2000K. Dokladnie sam nie wiem jak to dziala, chodzi o to ze programy sa
udostepniane za kase w zaleznosci od czasu uzywania.
Za to fizycznie zrobilem w tym - "execution overlooker" (to nie ja tak to
nazwalem - moje amerykanskie szefowstwo :) ) , czesc ktora miala
zabezpieczac system przed uruchamianiem niepowolanych programow, oraz
zliczac czas uzywania pozostalych (w systemie byl DUZY nacisk na
bezpieczenstwo) - to jest naprzyklad razem z wykluczeniem wszelkiego rodzaju
podawania dziwnych sciezek ktore moglyby oszukac system (tutaj sie mala
wpadka zrobila nawet bo nie wszystko przewidzialem sie okazalo:) ). - Dosyc
istotna czesc wbrew pozorom, wszystko musialo byc pisane tak zeby nie bylo
mowy o jakims buffer overflow czy czyms podobnym. Zrobilem program do
zdalnej administracji NC-Servera , tutaj komunikacja poprzez sockets, co
okazalo sie niewystarczajace , od siebie zrobilem implementacje S- tunnelu,
ktory okazal sie byc do zastapienia dwa czy trzy miesiace pozniej poniewaz
pojawil sie IPSEC dla windows bodajrze w wersji 2000, i mniejszym kosztem
juz mozna bylo w sieci lokalnej servera zapewnic bezpieczenstwo zmieniajac
po prostu system na nowszy. Odeszlem dla mniej ambitnej ale wygodniejszej
pracy, moze troche szkoda bo w planach mieli nowa autoryzacje, i moze cos
wiecej w bezpieczenstwie bym popracowal .
eCompass
Praca zdalna , przez internet, mniejsze pieniadze, ale praca kiedy chce, jak
chce i w ogole wykonywanie kontrolek ActiveX glownie dla serverow WWW,
wnioskuje ze duzych, bo mialy dzialac szybko i wielowatkowo. Mniemam ze na
zlecenie od firm zachodnich ja natomiast bylem obrabiany z pieniedzy poprzez
posrednika, na co w sumie ochoczo sie zgadzalem, firma zgodzila sie poza
wyplata oplacac moje rachunki telefoniczne , a polaczenia mialem modemowe i
w sumie bylo mi to na reke.
Obecnie nie pracuje nigdzie. Skontaktowac sie mozna ze mna dzwoniac na numer
(032)3141982 w godzinach wieczornych. Albo na adres c...@p...onet.pl
Robert Darmochwal