Przemyślenia

I’m still alive

Pod koniec grudnia zeszłego roku wyznaczyłem sobie cele na najbliższe 12 miesięcy. Jednym z nich było zarobienie pewnej kwoty w 2012. Tą kwotę udało się przekroczyć po trzech miesiącach – pracy było nieporównywalnie więcej niż się spodziewałem. Dało mi to spory zastrzyk gotówki ale dużo cennej wiedzy. Teraz kiedy sytuacja się nieco uspokoiła (tzn. mam czas na coś dla siebie poza pracą) mogę pokusić się o małe podsumowanie pół roku intensywnego kodzenia.

Przez ten czas nie nauczyłem się zbyt wielu nowych umiejętności – używałem głównie już posiadanych wraz z niewielkimi dodatkami (jak np. algorytmy graficzne – takie dostałem zadanie i trzeba było to sobie przyswoić). Przez ten czas mocno spokorniałem, już nie uważam się za takiego geniusza jak kiedyś. W zamian za to dowiedziałem się kliku istotnych rzeczy: po co są asercje, dlaczego robi się testy jednostkowe, czemu męczyć się z systemem kontroli wersji. Wcześniej nie używałem tych narzędzi gdyż uważałem że są mi one zbędne. Teraz zaczęło mi ich brakować – tak więc najbliższy czas to przede wszystkim nowe narzędzia.

Git

W maju miałem piękną awarię dysku – w jednej chwili bez żadnego ostrzeżenia dysk postanowił udać się w zaświaty. Oczywiście bez żadnego ostrzeżenia. Oczywiście dane musiał zabrać ze sobą. Moja przezorność została nagrodzona – co chwilę robię kopie projektów na zdalnym serwerze przez co nie straciłem programu nad którym pracowałem tydzień i nie musiałem świecić oczami „gdzie jest program który miał być na dzisiaj a go nie ma?”. Lekcja byłą bardzo cenna – awarie się zdarzają, Mi też. I Tobie też się może przydarzyć. I to w najgorszym momencie.

W tym miejscu do akcji wkracza Git. Skoro i tak robię kopie to czemu nie użyć w tym celu dedykowanego narzędzia dostając przy tym wersjonowanie gratis? Po szybkim przejrzeniu co oferują Subversion, Mercurial, Git i Bazaar wybrałem Gita. Czemu? Nie wiem, nie znam się póki co na tym. Obecnie spędzam czas na intensywne poznawanie nowego narzędzia, tak aby swobodnie używać go w codziennej pracy. Skoro mowa o Git, założyłem sobie konto na Github. Póki co eksperymentuję z nim, ale z czasem pojawią się tam moje publiczne projekty. „Komercyjne” oczywiście nie będą udostępnione 🙂

Scala

Poszukałem też nowego języka. Niekoniecznie do codziennej pracy (tutaj nadal prym wiedzie C# i nie zanosi się żeby to się zmieniło w przewidywalnym czasie) ale do poszerzenia horyzontów. Czegoś przenośnego, bardziej funkcyjnego i nadającego się do czegoś poważniejszego. F# odpadł na pierwszym warunku, Haskell i Erlang wydają mi się zbyt egzotyczne (albo ja się nie znam). (((Lisp) ma ((za)to)(kosmiczną)(liczbę(nawiasów)))co(mnie(nie))przekonuje). Wybrałem język Scala – oparty na JVM ponoć całkiem szybki (jak na Javę 😛 ). Póki co wiem o nim prawie nic ale pierwsze wrażenie jest bardzo dobre.

Linux

Nie wiem kiedy to się stało, ale moim podstawowym systemem stał się Linux. Po awarii dysku kiedy żonglowałem na pożyczonych HDD o kosmicznej pojemności 80GB nie chciałem nawet stawiać Win 7 bo zeżarłby mi 60% dysku. Tak więc z konieczności korzystałem z Linuksa i tak już zostało – przyzwyczaiłem się do wirtualnych pulpitów, paskudnych czcionek (uważam że czcionki na Linuxie wyglądają paskudnie – ale jak widać można się przyzwyczaić). Nadal nie do końca łapię jego filozofię (w porównaniu do Windowsa to w ogóle nie ma pojęcia co się tutaj dzieje), ale używając go codziennie powoli wszystkiego się uczę. Szkoda tylko że MONO jest takie kulawe.

Na dziś to tyle.

Praca, praca, praca

Dwa miesiące temu pisałem, że nie mam czasu na żadne wpisy gdyż jestem zajęty pracą. Od tego czasu nic się nie zmieniło 🙂 Obecnie wciąż nie mam czasu na własne projekty – ciągle jest do zrobienia coś komercyjnego. Nie żeby ta sytuacja martwiła, przeciwnie – dzięki temu mogłem chociażby zainwestować w nowy monitor. Przesiadka z 17″ CRT na LCD 23″ jest odczuwalna.

Przez dwa dni świąt postanowiłem odpocząć od pracy komercyjnej, ale od jutra znów zaczynam. Tak więc gdyby ktoś potrzebował:

Napiszę programy

Konsolowe i graficzne. Pod x86 i x64. Wszystkie Windowsy od XP w górę. Na studia, do szkoły, dla firmy, na własny użytek. W C# i .NET albo w C++. Z użyciem baz danych (MySQL, MSSQL, Access, wszystko z ADO.NET). Strony ASP.NET też (jeśli nie są jakoś bardzo rozbudowane, webmastering to nie moja działka). Nie nazbyt rozbudowane skrypty PowerShell również.

Za dodatkową opłatą filmik z narracją w trakcie którego omawiam jak program jest zbudowany, jak co z grubsza działa i dlaczego zrobiłem to tak a nie inaczej.

Kontakt na GG 1951278 albo mail – xevaquor #monkey# hotmail com

Powerball!

Kilka dni temu sprawiłem sobie Powerballa. Za swój model 250Hz zapłaciłem 65zł + przesyłka. Wrażenia? Fantastyczne 😀 Jest to doprawdy znakomita rzecz dla nadgarstków po całym dniu klepania w klawiaturę. Nie można również pominąć, że korzystanie z tego cuda jest po prostu fajne, nie chce się go odłożyć na miejsce, dopóki ręce nie będą się tego głośno domagać.

Od kilkunastu dni mam passę w zamówieniach na programy. Praktycznie codziennie mam coś do zrobienia. Cieszy mnie to bardzo 🙂

Przy tej okazji nauczyłem się dwóch rzeczy:

  1. Rozwiązania tymczasowe niech będą tymczasowe
  2. Założenia się zmienią i trzeba się na to zawczasu przygotować

 

Szerzej o tym kiedy będę miał więcej czasu wolnego.

++m_CurrentYear

Zwykle koniec roku jest okazją do podsumować ale dzisiaj nie o tym. Raczej o oczekiwaniach odnośnie kolejnego.

Pierwszym podstawowym oczekiwaniem jest zacząć mniej lub bardziej zarabiać $$$ W tym roku udało mi się zarobić na programach 250zł co jak dla mnie jest bardzo dobrym wynikiem 🙂 W nowym roku moim celem jest łapać jakieś zlecenie co najmniej raz na miesiąc. Ponadto jeśli wszystko dobrze pójdzie i zabłysnę na praktykach to uda się w wakacje popracować w profesjonalnej firmie, poza tym jest opcja dorywczej pracy jako ‚informatyk’. A w przypadku maksymalnego combosa zarobię coś sprzedając aplikacje na komórki 😀

Pieniądze to nie wszystko (ale wszystko bez pieniędzy to chuj) więc są też inne sprawy. O sprawach osobistych nie będę wspominał bo to nie sweet blogasek 🙂

Na pewno mam zamiar nauczyć się pisać pod platformy mobile (konkretnie badaOS) i czerpać z tej wiedzy korzyści materialne :)Koniecznie muszę się w końcu nauczyć pisać bezwzrokowo bo to hańba że jeszcze nie potrafię. No i wypadało by  ruszyć linuksa.

Kolejnym celem jest napisanie jakiegoś programu który zostałby zamieszczony w jakimś portalu – moja próżność zostałaby zaspokojona na jakiś czas 🙂

Odnośnie bloga – jeden post na 2 tygodnie. Okazuje się ze pisanie 2 postów tygodniowo to chyba trochę za wysoka poprzeczka jak dla mnie 🙂 No i chcę przenieść się na jakiś płatny hosting ale do tego potrzebna jest forsa – patrz pkt. 1.

No i angielski – od dziś zaczynam ostro się go uczyć bo nie znać angielskiego to prawie jak analfabetyzm (nie żebym nie znał wgl, ale nie jestem specjalnie zadowolony ze swojego poziomu).

Żeby realizować cele potrzeba motywacji – więc na koniec coś co działa na mnie niewyobrażalnie motywująco do pracy:

Happy New Year!!!

Apple i Microsoft jako przykłady systemów operacyjnych.

Dzisiejszy post powstał częściowo jako odpowiedź na post Pawła ale także częściowo pod wpływem własnych emocji. Kilka dni temu w mojej szkole odbyły się klasowe eliminacje do powiatowego konkursu informatycznego. Pytania jakie się tam pojawiły skłoniły mnie do kilku refleksji.

Na początek zaznaczam że wygrałem dwie poprzednie edycje więc czuję się po części upoważniony do komentowania jak to wygląda od strony uczestnika.

Moim głównym zarzutem są wiecznie powtarzające się pytania. Na wspomnianym etapie klasowym 80% pytań pojawiło się już we wcześniejszych edycjach! Ok, rozumiem to tylko nieoficjalny etap klasowy, ale sporo tych zadań widziałem po raz co najmniej piąty… Tym bardziej, ze na wyższych etapach jest podobnie – etap szkolny to również głównie te same zagadnienia w wymieszanej kolejności. Na etapie powiatowym czyli tym oficjalnym jest już znacznie lepiej ale nadal mógłbym przysiąc że niektóre zadania gdzieś już spotkałem.

Drugim zarzutem są nieprecyzyjne pytania w których połowę odpowiedzi stanowi “domyśl się co poeta autor miał na myśli” a dopiero druga połowa to właściwe zadanie (zakładając że dokonaliśmy poprawnej interpretacji). Przykładem niech będzie zeszłoroczne (na którymś etapie szkolnym) pytanie “kim jest haker” gdzie do wyboru mieliśmy (jakoś tak) : internetowy przestępca, ktoś o wybitnych umiejętnościach i osoba tworząca tzw. Cracki. Weź bądź mądry która odpowiedź jest poprawna – czy mamy wziąć pod uwagę pierwotne znaczenie pojęcia, to wylansowane w mediach, czy może znów liczymy na to ze trafimy z interpretacją. Takich kwiatków było więcej ale nie pamiętam ich na tyle precyzyjnie aby je tutaj przytoczyć.

Jedno z pytań na ostatnich eliminacjach brzmiało “Który z wymienionych nie jest systemem operacyjnym:”
a) Linux
b) Apple
c) Netrix
d) Microsoft
e) Ultrix

Wg pana Profesora Apple i Microsoft to systemy operacyjne… Zawsze sądziłem że produkt != producent, no ale co ja tam mogę wiedzieć…

Ostatni co prawda mało istotny zarzut to sypiące się formatowanie. Wszakże nie jest to istotne z merytorycznego punktu widzenia ale mimo wszystko dziwnie to wygląda, zwłaszcza w pytaniu z Office’a.

Z powyższego opisu może się wydawać, że konkurs to obraz nędzy i rozpaczy, ale aż tak źle nie jest 😉 Im wyższy szczebel tym wszystko jest przygotowane lepiej a i organizatorzy uczą się na błędach i każda kolejna edycja jest o klasę lepsza pod względem organizacyjnym niż poprzednia. Ot chociażby ostatnio, w czasie sprawdzania prac mieliśmy pokaz z D-Linka. Na szczeblu powiatowym formatowanie się nie sypie (ale małego babola ostatnim razem wypatrzyłem 😉 ), pytania są precyzyjne – choć nadal sporo z nich wydaje się znajome. Jakaś baza pytań w Internecie na konkursy?

A może to tylko moja szkoła słabo się spisuje? 🙂 Już wkrótce podsumowanie dwóch lat nauki w technikum z gorzką refleksją.

Nowy PC

Kilka dni temu stałem się szczęśliwym posiadaczem nowego peceta. Poprzedni po 6 i pół roku intensywnej pracy odszedł na zasłużoną emeryturę. Nie jest to może jakaś rakieta ale w porównaiu z poprzednim różnica w wydajności jest przeogromna. Pod maską znajdują się:

  • Intel i5 2400 4×3.1GHz x86
  • GoodRAM 2x4GB
  • Palit GeForce GTX560Ti
  • MSI H61M-E33
  • Segate Barracuda 750GB
  • Tacens RADIX V 550W

Peryferia zachowałem ze starego sprzętu aby jak najlepiej wykorzystać skromny budżet. Całość pracuje pod kontrolą Windows 7 Ultimate x64.

Komfort pracy jest nieporównywalnie wyższy, ponadto wreszcie mogę poznać „najnowsze technologie” na własnej skórze. Głownie mówię o programowaniu pod x64, nowymi .NET, Windows 7 i 8 oraz prawdziwej wielowątkowości. Po kilku dniach spędzonych na zaspokajaniu prymitywnych rządz (czytaj: jaraniu się że mogę odpalić grę na full i się nie tnie) mogę na spokojnie przejść do bardziej produktywnych rzeczy, których poznanie uniemożliwiał mi poprzedni sprzęt. Cóż to takiego? Przede wszystkim mam zamiar mniej lub bardziej zapoznać się z:

  • Asembler x64
  • .NET 4.5
  • Windows 8
  • DirectX 11

Zaczyna się bardzo pracowity okres 🙂

Dropbox

Każdy kto posiada więcej niż jeden komputer zapewne spotkał się z problemem synchronizacji danych. Jako że jestem szczęśliwym posiadaczem dwóch komputerów (być może niedługo trzech, ale cicho żeby nie zapeszyć) także i mnie spotkał ten problem. W moim przypadku dodatkowym problemem jest fakt iż na PC używam Windows XP, a na netbooku Ubuntu. Ponadto istotna dla mnie jest możliwość łatwego dodawania plików poprzez WWW – często na lekcjach dostajemy materiały, a ich uploadowanie na e-mail jest „mało profesjonalne”.

Od pewnego czasu używam Dropboxa.  I jak na razie jest rozwiązaniem wręcz perfekcyjnym. Obsługa jest tak banalna, że można wręcz użyć określenia „przezroczysta”. Tworzymy konto, instalujemy klienta, wskazujemy folder i to tyle. To co wrzucimy do tego folderu zostanie automatycznie zsynchronizowane z pozostałymi urządzeniami, dodatkowo mamy dostęp przez WWW. Na Windows i Linux wszystko działa tak samo. Wybrane pliki możemy współdzielić, lub umożliwiać publiczne pobieranie. Ponadto można utworzyć sobie galerię. Ot taki bajer.

Teraz wady. Za darmo mamy 2GB z możliwością powiększenia do 8GB. I to chyba tyle wad.

Zazwyczaj ludzie nie lubią linków referencyjnych. Ale ja swój zamieszczę. Jeżeli zarejestrujesz się z niego dostanę dodatkowe 250 MB. Ty też dostaniesz. Rejestrując się na czysto masz 2GB na start, z czyjegoś linka 2,25GB. Chyba uczciwy układ?

http://db.tt/DEmNPtH

P.S. Poślizg bardzo duży, ale miałem kilka spraw o priorytecie znacznie większym niż blog. Jeszcze jeden wpis na wyrównanie bilansu i już wszystko powinno być OK.