Witaj na blogu prowadzonym przez Sebana. Spisuję tutaj swoje uwagi na różny temat. Przeważają tematy związane z Internetem, popieranymi przeze mnie rozwiązaniami dotyczącymi wykorzystania komputerów, oraz kilka innych. Przeczytasz tu również recenzje książek IT.

Subprocesy w aplikacjach uruchomionych na Thin

25 kwietnia 2011 | Klucze: it, programowanie, ruby, Techblog
2 komentarze. trackback

Ostantio odkryłem, dość przypadkiem przyznam, jedną ciekawostkę związaną z forkowaniem procesów w Ruby. Problem dzięki, któremu odkryłem metodę Kernel#at_exit polegał na tym, że aplikacja oparta na Sinatrze i Thin w momencie odpalania innego procesu poprzed fork w pewnym momencie usuwała swój pidfile.

Winowajca

Winowajcą, w cudzysłowie, była metoda daemonize z modułu Thin::Deamonizing, która definiuje blok at_exit. Blok robi super prosta rzecz: usuwa pidfile. Cała zagwozdka polega na tym, że blok at_exit jest uruchamiany również po zakończeniu procesów potomnych. Prościej mówiąc wszystko co uruchomimy przez fork w aplikacji opartej o Thin (sprowadzonym do demona) prędzej czy później dojdzie do tego at_exit i usunie pidfile

Rozwiązanie

Rozwiązanie jest super hiper proste:

RTFMTTE!

W dokumentacji jak byk jest napisane, że jeśli chce się uniknąć uruchomienia at_exit należy zakończyć proces metodą exit!, co spowoduje jego natychmiastowe zakończenie. Przygotowałem krótkie streszczenie - gist.

Testowanie oprogramowania - podręcznik

09 kwietnia 2011 | Klucze: agile, it, programowanie, recenzje, Techblog
12 komentarzy. trackback

To co najbardziej mi się podoba w społeczności stworzonej wokół języka Ruby to kultura testowania pisanego oprogramowania. Obojętnie czy jest do duży serwis internetowy pisany w Rails, mała stronka wydziergana w Sinatra czy bilioteka do realizowania konkretnych zadań prawie zawsze ma napisany dobry zestaw testów. Brak takich testów bardzo często jest piętnowany i uważany za skazę na jakości tworzonego oprogramowania.

Książka Growing Object Oriented Software, Guided by Tests to doskonała pozycja dla wszystkich, którzy chcieli by ugruntować swoją wiedzę o TDD lub chcą poznać techniki związane z automatycznym testowaniem oprogramowania. Książka pokazuje krok po kroku co i jak testować. Na co zwrócić szczególną uwagę, co testować na którym poziomie testów. Według mnie pozycja obowiązkowa dla każdego programisty. Robert 'Ruper' Pankowiecki w swojej recenzji tej książki pisze, że książka powinna być obowiązkowa na studiach. Trudno mi się z tym nie zgodzić!

Jeśli nie czytałeś tej książki kup ją i przeczytaj. Zamów do firmowej biblioteczki. Jestem pewien, że na tym skorzystasz.

RVM raz jeszcze

11 marca 2011 | Klucze: it, Ogólne, programowanie, ruby, Techblog
7 komentarzy. trackback

rvm znam i używam od jakiegoś czasu. Jednak nigdy nie miałem go porządnie skonfigurowanego. Dopiero kilka dni temu porządnie się nim zająłęm. Nie będę pisał o tym czy rvm jest bo to już bardzo dobrze opisał Łukasz Adamczak na stronach Rubysfery. Ja dziś opiszę kilka spraw, które tam umknęły, a które u mnie się fajnie sprawdzają.

Gemsety

Gemsety były opisywane przez Łukasza, ale kilka słów więcej nie zaszkodzi. Czasami zdarza się, szczególnie w starszych projektach, że mając zainstalowane kilka wersji gema - jedną święzą, drugą starą (powiedzmy, że sprzed 2 lat) - iż projekt nijak nie chce ruszyć. Ja nazywam gemsety jak jak projekty przy których pracuję. Każdy projekt dostaje swój wyizolowany zestaw gemów - gemset i tak mam gemsety: @getresponse, @multiconverter, @clickmeeting_partners i kilka innych ...

Aliasy

Ileż to razy zadarzyło mi się wpisywać rvm use ruby-1.8.7-p330 i zawsze myliłem się do co numeru patchelevla. Musiałem sprawdzić listę zainstalowanych wersji i dopiero poprawnie wpisywałem rvm use ... Aliasy to rozwiązują. rvm alias create 1.8.7 ruby-1.8.7-p334 Powyższe polecenie tworzy alias 1.8.7 i nidy nie będzie już trzeba wpisywać patchlevela, wystarczy rvm use 1.8.7. Podoby alias mam stworzony na najnowszą wersję z lini 1.9.

Nie chce mi się tego pisać

I bardzo dobrze! Bo nie musisz. Jeśli stworzysz w katalogu z projektem mały pliczek .rvmrc będzie on odczytywany przy każdym wejściu do katalogu i dzięki niemu rvm może automatycznie przełączyć wersje Rubiego i gemset. Taka zawartość .rvmrc: rvm use 1.8.7@getresponse spowoduje automatyczne przełączenie na alias '1.8.7' i gemset 'getresponse'. Czysta magia! ;-)

Jeszcze bardziej DRY

Po zainstalowaniu kolejnej wersji Rubiego rvm domyślnie zainstaluje takie gemy jak rake i rdoc. Stworzysz swój gemset, wydasz polecenie bundle install w swoim katalogu z projektem i ... nic. Bundler nie jest zainstalowany. Czar pryska. Rozwiązanie: @global gemset. Ten gemset zawiera gemy, które będa dostępne nawet gdy zadeklarujemy, że chcemy używać naszego gemseta. Idealne miejsce na tak powszechnie używany gem jak bundler. Gemy, które mają być zainstalowane automatycznie najlepiej wpisać do pliku ~/.rvm/gemsets/global.gems. Jakby tego mało można zdefiniować gemy, które mają być zainstalowane w @global oddzielnie dla JRuby, Rubinius, REE.

Give my some prompt ...

Jeśli trochę dłużej popracujemy przełączając się pomiędzy różnymi gemsetami, wersjami Rubiego łatwo się zgubić i stracić orientację jakiego gemsetu i Rubiego teraz się używa. rvm rozwiązuje ten problem - rvm-prompt. W połączeniu z zsh i pewnie z każdym innym shellem potrafi dać niezłe rezultaty. Mój prompt wygląda tak: uzyskuje go korzystając z takiego zlogin

To właściwie byłoby na tyle. Jeśli znacie jakieś inne sztuczki, których używacie z rvm to chętnie je poznam.

UJS, atrytuby data-* w Rails 3

20 września 2010 | Klucze: it, programowanie, rails, Techblog
8 komentarzy. trackback

Ostatnio sporo radności i satysfakcji daje mi zabawa z nowymi Railsami. Pisząc nowymi mam na myśli nowinki jakie pojawiły się w Rails 3. Ponieważ mam podejście do "jeśli piszę coś w domu i nikt mnie nie ogranicza to użyję coś czego nie mam okazji używać nacodzień". W końcu trzeba się czegoś nowego czasem nauczyć ;). I tak ostatnio trochę bawiłem się jQuery w Rails 3.

Każdy kto śledził nowości w Rails 3 wie, że teraz na topie jest "unobtrusive JavaScript" i korzystanie z niestandardowych atrybutów data-*. I tak to co w wcześniejszych wersjach wypluwał helper:

link_to 'Delete', object_path(object), :confirm => "Are you sure?", :method => :delete
wstawiało jakieś wstrętne i rozwlekłe kody JS, a teraz wygląda tak:
<a href="/object/1024" data-method="delete" data-confirm="Are you sure?">Delete</a>
Przez to kod wypluwany przez metody pomocnicze nie ma bezpośrednio do czynienia z kodem JavaScript i nie ma znaczenia czy jest używany Prototype, jQuery czy coś jeszcze innego. Obsługa tego typu helperów umieszczona jest standardowo w pliku public/javascripts/rails.js. Poniżej zademonstruję jak zaimplementować obsługę własnych atrybutow data-*.

Przykładowe zadanie: wyświetlać ilość wpisanych w textarea znaków.
W widoku będzie coś takiego:

= form_for(:message, :url => messages_path, :html => { :class => "form", :id => "new_message_form" }) do |f|
  = f.text_area :body, "data-counter" => "span#message-counter"
  # bla bla bla
W rezultacie zostanie wypluty HTML:
 
<form action="/messages">
  <textarea name="message_body" data-counter="span#message-counter" />
</form>
 
Aby licznik automatycznie się odświeżał należy dopisać jego obsługę w JS, ja użyłem jQuery i zrobiłem to tak:
$(document).ready(function() {
  $(document).find('*[data-counter]').each(function(element) {
    var counter = $($(this).attr('data-counter'));
    $(this).keyup(function(event) { counter.html($(this).val().length) })
  })
})
Trzeba tylko pamiętać by plik JS ładować w szablonie za pomocą javascript_include_tag.

Ciekawe linki na podobny temat:

Refactoring: Ruby edition - recenzja

11 marca 2010 | Klucze: it, programowanie, recenzje, ruby, Techblog
2 komentarze. trackback

Dziś chcę napisać o książce Refactoring: Ruby Edition. Stety albo niestety książka nie jest dostępna w języku polskim. Książka nie jest przeznaczona dla początkujących programistów Ruby. Nie ma w niej szybkiego kursu języka, jednak nie trzeba być "wyjadaczem" by zrozumieć treść. Już pierwszy rozdział, który jest jednym wielkim przykładem - podsumowaniem całej książki jednoznacznie pokazuje czego ta książka ma nauczyć. W pierwszym rozdziale autor pokazuje krok po kroku zmiany w gorszym kodzie, które czynią, że jest on lepszy. Każda decyzja, zmiana implementacji jest omawiana i wyjaśniana. Podobnie jest w dalszej części książki. Rozdziały podzielone są tematycznie. Jest rozdział mówiący o uproszczeniu złożonych wyrażeń, generalizacji obiektów czy przesuwaniu metod pomiędzy klasami.

Książkę właściwie można polecić wszystkim, którzy chcą skończyć z Burdel Driven Development. Którzy znają Rubiego już na tyle, że potrafią z nim napisać trochę bardziej skomplikowane programy. Po przeczytaniu tej książki programista powinien łatwiej wyczuwać tzw. "code smells" i powinien znać sposoby jak się ich pozbyć.

Warto zwrócić uwagę, że wydawnictwo Addison-Wesley posiada chyba najlepszy zestaw książek o Ruby w tej chwili. A nad cała serią piecze sprawuje Obie Fernandez. Co chyba jest dodatkową rekomendacją

Planning poker z Androidem

31 stycznia 2010 | Klucze: agile, it, programowanie
Dodaj komentarz. trackback

Wczoraj pobuszowałem trochę w Android markecie. Wyszukiwałem aplikacji pod konkretne frazy. Z ciekawości poszukałem aplikacji dla frazy agile i scrum.

Aplikacji niewiele, ale moją uwagę przykuły aplikacje do planning pokera. Osobiście nigdy nie korzystałem z tej techniki, ale wydaje się mi ona ciekawa. Aplikacja BC Planning Poker jest bardzo prosta. Jej głównym zadaniem jest pokazywanie obrazka przypominającego kartę z esytmacją. Domyślną skalę esytmacji (0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, coffee) można dowolnie zmieniać. Według mnie może to być całkiem fajna aplikacja dla kogoś kto używa tej techniki, a nie ma wydrukowanych ładnych karteczek.

Jestem pewien, że użytkownikcy iPhone również mają taką aplikację, ktoś używał może czegoś podobnego i może pochwalić się sowimi wrażeniami?

Komentarze w wyrażeniach regularnych

13 grudnia 2009 | Klucze: it, Ogólne, programowanie, ruby, Techblog
7 komentarzy. trackback

Ostatnio pisałem o swoim punkcie widzenia na standard kodowania w Ruby. Jakoś dziwnie się to zbiegło z czasem, gdy jeden z project managerów w firmie mocno wziął sobie do serca pisanie dokumentacji. Zaowocowało to serią commitów z opisami typu: Comments, Comments fix. Jeden z impliksowych perlistów podesłał mi przykład jak to oni dokumentują swój kod. W przykładzie znalazłem coś co mi się strasznie spodobało: dokumentacje w wyrażeniu regularnym!

Ruby zapewnia wbudowaną obsługę dopasowania wyrażeń regularnych. W Ruby wyrażenia regularne są instancjami klasy Regexp. To co mnie szczególnie ostatnio zainteresowało to tryb Regexp::EXTEND, w którym to ignorowane są białe znaki i dopuszczone są komentarze. By Regexp pracował w tym trybie: regexp = Regexp.new('dopasowanie', Regexp::EXTENDED) regexp = /dopasowanie/x

Poniżej przykład zastosowania, prosty bo prosty ale ideę chyba prezentuje. Wyrażenie regularne sprawdzające poprawność adresu email (niezastanawiaj się drogi czytelniku nad skutecznością, ale nad formą wyrażenia). Kiedyś, ktoś napisał fajny "sprawdzacz" do wyrażeń regularnych w Ruby: rubular.com, ale dość słabo radzi on sobie z rozszerzonymi wyrażeniami. Na koniec polecam jeszcze zapoznać się z dokumentacją klasy MatchData

A teraz mała odskocznia, ale tylko mała. Ostantio kiedy szukaliśmy do Implix programisty Ruby napisałem o tym na blogu zamieszczając zdjęcie. Programistę znaleźliśmy, ale zdjęcie żyło własnym życiem ... Co prawda to miejsce jest już zajęte, ale tuż obok możesz siedzieć Ty. Bo właśnie szukamy programisty Ruby. Nie wymagamy doświadczenia. Chcemy tylko byś orientował się w temacie i znał trochę Ruby i Rails. Gwarantujemy, że dużo się nauczysz i napewno nie zaśniesz z nudów. Praca w Gdyni, blisko morza (300 metrów). Zapraszamy.

Szuku

29 października 2008 | Klucze: it, Ogólne, programowanie
4 komentarze. trackback

Szuku to dobrze zapowiadająca się wyszukiwarka ludzi, która dostała się do finału Seedcamp. Niedawno startup uruchomił zamkniętą bete do której mam 20 zaproszeń. Prośby o zaproszenia prosze wysyłać do mnie mailem z tematem "[SZUKU.PL]" lub przesłac adres email do mój JID.
Zapytałem Tomasza Kolinko o to jakich technologii używają do tworzenia szuku.pl.

Z tego co dowiedziałem się od Tomka Kolinko całość pracuje mocno korzystjąc z Amazon Web Services. W tej chwili serwis osbługiwany jest przez 1 - 2 serwery EC2, docelowo planowan jest praca na 10 serwerach stawianych i zdejmowanych w zależności od zapotrzebowania na zasoby. Bardzo skalowalna i elastyczna architektura. Ciekawe ile startupów z tego korzysta? Całość jest zarządzana dzięki Elastic Fox
Jako baza danych używany jest popularny mysql. Choć baza danych ,,daje rade'' w tej chwili to autorzy są świadomi, że za jakiś czas przyjdzie na zmianę.
Całość napędzana przez Javę i Groovy. Ajaksowa magia dzieje się za pomocą Dojo. Panel administracyjny zbudowany jest w oparciu o Grails.
Zbieranie informacji o ludziach to dłuższy temat, ale Tomek Kolinko zdradził mi, że przeszkują między innymi:

Opracowana jest równiez wersja beta modułu analizującego Wikipedię. Wszystkie strony są analizowane z uwzględnieniem typu (artykuł, aukcja itp.), powiązanych osób.
Serwis był rozwijany przez dwie osoby: Tomka Kolinko i Michała Kłujszo, oboje pracowali nad nim full-time. W tej chwili Michał poświęca więcej czasy na biznes. W niedalekiej przyszłości możliwe są zatrudnienia programistów.

Stack Overflow

15 września 2008 | Klucze: it, Ogólne, programowanie, rails, Techblog
7 komentarzy. trackback

Czy szukaliście kiedyś rozwiązania jakiegoś problemu programistycznego, potrafiliście go dokladnie opisać, ale nie mogliście znaleźć odpowiedzi w przepastnych zasobach internetu? Z jeśli już znajdowaliście jakieś rozwiązanie to dostęp do niego był płatny? Co za ból ... Albo rozwiązanie problemu dotyczyło jakiś prehistorycznych wersji bibliotek lub czegokolwiek innego i oczywiście w waszym przypadku nie działało? Frustrujące. Dziś na Joel on Software przeczytałem o stackoverflow.com.

Stack Overflow jest serwisem przeznaczonym dla programistów wszelkiej maści. Idea jest prosta: zadajesz konkretne pytania, ludzie piszą odpowiedzi. Odpowiedzi można oceniać, edytować. Oczywiście wszystko ładnie podane na tagowej chmurce. Sami autorzy określają to jako ,,wikipedia dla programistów''. Jeśli aktualnie nie masz problemów żadnych (szczęściarz z Ciebie!) to możesz sprawdzić swoją wiedzę i odpowiedzieć na pytania zadane przez innych. Czyż to nie proste? Keep It Simple, Stupid!
Warto chyba wiedzieć o tym serwisie i dodać do zakładek. Kto wie, może w przyszłości będzie to pokaźny zbiór wiedzy.

3camp#5

23 kwietnia 2008 | Klucze: it, Ogólne
14 komentarzy. trackback

Odbyła się już piąta edycja trójmiejskich spotkań branży internetowej. I co? I jestem zawiedziony po części (chyba większej części).

W pełni widziałem dwie prezentacje. Druga w kolejności o pozyskiwaniu funduszy z Unii Europejskiej. Mnie nawet zainteresowało. Sądząc po pytaniach padających z sali, a niektóre były bardzo szczegółowe to były też osoby bardzo zainteresowane tematem. Potem przerwa, trochę czasu by się rozejrzeć i pogadać z kilkoma znajomymi osobami. Ostatnią prezentacją była ta, która mnie interesowała najbardziej. Tematem pracy miała być skalowalność i wydajność przy szybkim wzroście. Temat stricte techniczny, zapowiadał się super. I kompletna klapa. Przedstawienie było fajne i humorystyczne. Mogło nawet być to prezentowane w tym stylu, ale na miły Bóg! Niech to niesie jakiś merytoryczny przekaz! Te prezentacja według mnie nie miała. Szybko, śmiesznie i do ... niczego. Pytań z sali nie było. Może nikt nie zadawał pytań bo nie było do czego? Nawet zaproszenie do dyskusji nie było w stanie zmienić mojej oceny tej prezentacji.

Na koniec prowadzący przedstawili bardzo ciekawą inicjatywę. Ogłosili, że mają zamiar zorganizować spotkanie branży internetowej na sopockiej plaży! Beachcamp ma chyba być spotkaniem bardziej ogólnopolskim. Potrzeba rąk do przygotowania tej imprezy, więc jeśli ktoś czuje się na siłach by pomóc zachęcam do kontaktu z Mirkiem Wąsowiczem.

Bacamp#4

09 grudnia 2007 | Klucze: it
2 komentarze. trackback


Korzystając z okazji, że w ubiegły weekend byłem w rodzinnym Inowrocławiu przejechałem się do Poznania na Barcamp #4 Jakie wrażenia? Oczywiście pozytywne. W oczekiwaniu na trójmiejski 3camp bardzo miło było posłuchać i porozmawiać ,,z ludźmi z branży''. Frekwencja trochę mnie zaskoczyła. Spodziewałem się większej ilości osób, a może tylko wydawało mi się mało ze względu na inny lokal. Osobiście myślałem, że porozmawiam z kimś o świeżej wersji Ruby on Rails 2.0, ale nie spotkałem żadnego znanego ,,rorowca''.

Przechodząc jednak do sedna, czyli prezentacji. Pierwsza prezentacja Pawła Stapfa (przepraszam jeśli przekręciłem nazwisko) z blueocean.pl o grze MMOG Politika była czymś dobrym na otwarcie spotkania. Wzbudziła duże zainteresowanie sali (jak wszystkie prezentacje). Sam projekt wydaje mi się ciekawy, bo dotyka tematyki o której przenoszeniu do gier osobiście nie słyszałem (co mnie specjalnie nie dziwi, bo nie jestem fanem gier online). Paweł Stapf obiecał wszystkim zarejestrowaym barkampowiczom dostęp do gry w fazie private beta. Obecnie jest tam 200 użytkowników, do testów zglosiło się 500. Czekam na dostęp by osobiście to przetestować.

Krzysztof Wierzbicki z porównywarki cen ceneo.pl opowiadał jakie znaczenie ma user generated content w takich aplikacjach. Głównie chodziło tu o zbieranie opinii użytkowników o sklepach, produktach, ,,opinii o opiniach''. Początkowo prezentacja mnie nudziła, jednak w miarę upływu czasu zaciekawiła mnie i nie tylko mnie. Po części oficjalnej widziałem wokół prelegenta spory wianuszek zainteresowanych osób.

Kolejna prezentacja była gratką dla wszystkich fanów planszówek, gier RPG i tego wszystkiego gdzie można rzucać kostką. Tak dobrze czytasz, kostka - taki przedmiot w kształcie bryły geometrycznej służący do generowania losowych wyników lub kantowania w kasynie ;-). Właśnie o kostkach do gry opowiadał Patryk Strzelewicz z Q-Workshop. Patryk opowiadał o tym jak rozpoczynał swój interes z serwerem za lodówką, służbowym laptopem, łączem SDI i chęcią zdobycia niszowego rynku. Wnioski z tej prezentacji to: ,,pomysłu na biznes czasem należy szukać z dala od światła mainstreamu'', oraz ,,warto spoglądać z kierunku z rynków zachodnich i nie bać się tam pokazywać'', ,,proste rozwiązania bywają równie skuteczne do skomplikowane i drogie''.

Ostatnią, ale równie fajną, a może i najfajniejszą prezentacją była pecha kucha Rafaela Knutha. Pecha Kucha (czytaj pecza kucza) to specjalny rodzaj prezentacji zawierającej dwadzieścia slajdów i mówca na każdy slajd przeznacza dokładnie dwadzieścia sekund, całość 6 minut 40 sekund. Nie będę tego dokładniej opisywał. Myślę, że dobrze to będzie widać na filmach, które mam nadzieję wkrótce będę udostępnione.

3camp. Byłem

03 listopada 2007 | Klucze: it, Ogólne
Dodaj komentarz. trackback

Trzy. 3

Trójmiasto

100000

Złotych polskich

Barcamp

3camp - Trójmiejskie Spotkania Branży Internetowej

I na tym właściwie mógłbym zakończyć opisywanie drugiej edycji trójmiejskiego barcampa. Byłem tam i jednak opiszę troche obszerniej moje wrażenia.
Agenda wyglądała całkiem fajnie, wszystko spójne tematycznie i związane z z słowem kluczem ,,startup''. Organizatorzy bardzo długo trzymali ją w tajemnicy i cyba pojawiła się dopiero w dniu prezentacji, albo w jej przedzień.

Pierwsza prezentacja Macieja Grabskiego z Business Angel Seedfund o tym jak TO wygląda ze storny funduszu. Jeśli ktoś szuka obecnie funduszy dla swojego biznesu to ta część imprezy na pewno by go zainteresowała. Mnie zainteresowała, chociaż funduszy nie szukam (bo nie planuje własnego biznesu - narazie).

Bardzo powiązana z pierwszą była druga prezentacja, którą prowadził Mirek Wąsowicz z Legenhit. Mirek Wąsowicz opowiadał o tym jak pozyskać fundusze. Co robić, a czego nie. Mieć prawnika, ale nie przesadzać. Poza omawianym pozyskiwaniem funduszy, mnie również bardzo zainteresował sam Legenhit. Na pierwszy rzut oka wydaje się być trafionym pomysłem.

Trzecim eventem była propaganda sukcesu Tomka Drożdżalskiego z Easygo.pl Ta prezentacja chyba mnie najbardziej zaciekawiła. Ale nie do końca wiem czy to dzięki dobrej treści i interesującej tematyce czy dzięki czy dzięki dobremu wystapieniu autora. Mi się podobało, ale wiem, że nie wszystkim.

Czwarta prezentacja to ... upadek i porażka to chyba dobre slowa by to opisać. Chyba każdy, kto nawiązywał do tej prezentacji mówił ,,ale o co chodziło?''. Ja z niej dowiedziałem się jednej pożytecznej rzeczy: jak zabraknie papieru toaletowego to firma upada''.

Potem bylo coś co mi się strasznie spodobało. Coś czego mogło zabraknąć na poznańskim barcampie, na którym byłem wcześniej. Gra słowna, w której każda grupa musiała zaprezentować swój pomysł na biznes. Wygrało oczywiście sexhipopotam.com zajmujące się parzeniem zwierzątek. Ten mały konkursik to był kawałek dobrej zabawy dla zgromadzonych. Chyba warto wsponieć o tym, że 4 na 5 grup wybrało słowo 'sex'. Gwarancja sukcesu?

Ostatni zaprezentował się Szymon Grabowski, który przez organizatorów był zapowiadany jako ,,wisieńka na torcie''. Osobiście spodziewałem się wiećej po jego wezwaniu do działania - ,,Let's start IT up!''. Krótko powieział o tym jak zaczynał swój biznes, opowiedział dwie anegdotki i prawie koniec. Szymon zapowiedział, że pomoże w rozpoczęciu biznesu i dofinansowaniu (oferuje 100000). Kilka pytań. I to juz był koniec części oficjalnej.

Podsumowując (w więcej niż 3 słowach). Tak impreza udana, jestem zadowolony, że tam się pojawiłem. Ciekaw jestem o czym będzie kolejne spotkanie. Nie chciałbym by 3camp popadł z monotonię tematyczną. Osobiście nie uczestniczyłem za długo w after party, czas mnie trochę gonił do domu już, ale widziałem, że niektórzy wykorzystywali czas na rozmowy różne.

Pojawiło się już podsumowanie drugiego 3campu na stronie organizatorów spotkań. Na stronie pewnie wkrótce pojawią się zdjęcia, a może i jakieś video.

Wykop sensację

17 października 2007 | Klucze: it, Ogólne
1 komentarz. trackback

Czasem nie mam wątpliwości, że dobry, stary, wartościowy Wykop bezpowrotnie odszedł w zapomnienie. Firma Janmedia przygotowała raport a temat dostępności storn internetowych czołowych polskich partii. Sam raport jest całkiem ciekawy, a w jednym miejscu nawet sensacyjny. Polecam przeczytać owy raport. Właśnie ta sensacyjność zdenerwowała mnie najbardziej! No dobra, najpierw mnie rozbawiła, a potem zdenerwowała. Sensacja dotyczyła strony Samoobrony, na której znajdowały się ukryte linki prowadzące do firmy zajmującej się sprzearzą drzwi i rolet. Ja o raporcie dowiedziałem się z serwisu Goldenline i natychmiast chciałem to wykopać jednak, ktoś mnie uprzedził i zrezygnowałem z dodawania 'wykopaliska'. Jednak ktoś inny nie przejmował się, że już istnieje 'wykop' do tego raportu i dodał swoje, bardzo popularny 'wykop' nawiasem mówiąc, chociaż według mnie bezwartościowy wykop. Co mnie w tym wszystkim razi i drażni? Sensacyjność jaką często widzę przeglądając Wykop. Dla mnie link ma większą wartość, gdy treść jaką reprezentuje może mnie zainteresować, ale nie musi być tanią sensacją! Pierwszy 'wykop' prowadzi do bloga Webusability i wszystko jest ok. Ale drugi to 'wykopana' strona Samoobrony! Jednak autor tego 'wykopu' w opisie umieszcza adres do wpisu na Webusability. Nie mam wątpliwości: SENSACYJNOŚĆ PONAD INTERESUJĄCĄ TREŚCIĄ. A fe!

Dzien programisty

13 września 2007 | Klucze: it, Ogólne
1 komentarz. trackback

Dziś 10016 dzień roku. Dzień uważany za święto programistów. Ponieważ zdarza mi się czasem coś napisać to obchodzę go hucznie dodając ten wpis. Złoże wszystkim programistom i programistkom życzenia

Od rana praca przy projekcie, termin bardzo blisko. Finished in 1.761383 seconds
55 examples, 0 failures
Super! Dzień toczy się dalej. Mail Praca - RoR. Bardzo super!

I własnie tego Wam wszystkim chcę życzyć, by testy zawsze przechodziły i byście mieli ciekawe oferty pracy!

Barcamp. Byłem.

02 września 2007 | Klucze: it, Techblog
10 komentarzy. trackback

Barcamp to poznańskie spotkanie ludzi z branży IT, spotkanie wzorowane jest na wrocławski spotkaniach branżowych GrillIT. Pierwsza edycja poznańskiego Barcampu odbyła się w ostatni weekend, 1 września. Pojechałem tam razem z Bartkiem Rycharskim. Według listy uczestników zamieszczonej na stronie imprezy powinno się zjawić około 130 osób. W rzeczywistości było ich chyba trochę mniej, ale i tak frekwencja mile zaskoczyła organizatorów. Zaplanowanych było sześć prezentacji, odbyło się pięć. Nie będę na to narzekał bo końcówka była trochę nużąca dla mnie, dla Bartka również.

Pierwszą prezentacja mówiła o o serwisie partype.pl. Tematyka serwisu zdecydowanie nie w moich kręgach zainteresowań, ale prezentacja było ok. Nic ponad to. Twórcy mają problem z wypełnieniem serwisu treścią i pozyskaniem użytkowników. ktoś chce im pomóc i się zarejestruje?

Za to druga prezentacja była dla mnie bombowa. Pokazywała serwis dla podróżników. Niby takie nic prawda? Serwis jak wiele innych już w internecie. Ale ten naprawdę mi się spodobał. Bartek Raciborski ma fajny pomysł na realizację tego i w jaki sposób czerpać pieniądze z takiego serwisu. Serwis ma niecodzienną domenę: travels.to, ale Bartek Raciborski bardzo dobrze potrafił obronić zasadność takiej domeny. Po pierwsze domeny takie jak: last.fm czy del.icio.us przyjęły się bardzo dobrze. Po drugie adresy w stylu bartek.travels.to (prowadzący do strony z podróżami Bartka), albo travles.to/china (opisująca podróże do Chin) wydają się być fajnym pomysłem. Twórcy tego serwisu podróżniczego nie mają problemów z wypełnieniem serwisu początkową treścią, czy pozyskiwaniem użytkowników. Jeśli ktoś się zainteresował tym to polecam zajrzeć na bloga Travels.to.

Trzecie wystąpienie to prezentacja LinkLift (strona teraz chyba w przebudowie bo wyglądała ładniej) serwisu pośredniczącego w sprzedaży lików tekstowych. Michał Lisicki i Aleksandra Dobrakowska mówili o znaczeniu linków tekstowych i o serwisie LinkLift. Firma zainteresowała mnie już wcześniej, kto wie czy nie umieszczę jakis linków od nich u siebie na blogu. A myślę, że wielu użytkowników Joggera z tego skorzysta. Zdradzę tyko, że obok słowa ,,współpraca'' Aleksandra wymieniła słowo ,,jogger''.

Potem była przerwa podczas której wszyscy oblegali bar i kupowali napoje różne, różniste. Porozmawiałem chwilę z chłopakami z Hostingrails.pl. Była mała dyskusja, później również o tym rozmawiałem z Wiktorem Schmidtem, o programistach RoR. Wniosek był jeden: programistów brakuje bo nie ma zainteresowania tą technologią firm (zainteresowanie jednak jakieś jest), ale firmy nie wykonują w Railsach projektów bo nie ma programistów. Takie błędne koło. Wymieniłem też kilka zdań na temat Joggera.

Druga część była dla mnie mniej interesująca i opiszę ją bardziej szczątkowo. Wiktor Schmidt mówił o technice ,,długiego ogona'' w AdSense. Temat ciekawy dla ludzi od marketingu, reklamy w internecie. Ja słuchałem, dowiedziałem się kilku nowych rzeczy i to wszystko. Potem Jan Mazurczak, redaktor naczelny portalu Tutej.pl mówił o tworzeniu portalu lokalnego w internecie. Jeśli ktoś interesuje się mediami i dziennikarstwem w internecie to prezentacja ta by go pewnie zainteresowała.

Podsumowując: ,,kupa wiary'', nowe znajomości, dwie dla mnie ciekawe prezentacje, udana impreza.
W sieci można już przeczytać relację z Barcamp i obejrzeć wywiady.
Dziwne by było, gdyby Tutej.pl nie napisało o poznańskim Barcampie.
Na sam koniec już. Na stronie pewnie pojawi się jakieś wideo, jakieś zdjęcia, materiały z prezentacji. Warto zajrzeć.

Po co UML

29 stycznia 2007 | Klucze: it, programowanie
5 komentarzy. trackback

W kończącycm się semestrze miałem przedmiot KWPI. Przedmiot nie był jakiś szczególny, tym bardziej wykłady były raczej cholernie nudne i prowadzone w ślimaczym tempie. Zajęcia były głównie o sztuce projektowania. Mnie ten temat nawet interesuje, ale kolegów z roku chyba mniej ;-). Z tego przedmiotu odbywały się również ćwiczenia. Jako zaliczenie należało wykonać projekt, głównie oprogramowania, ale dopuszczone były projekty związane z elektroniką i AutoCADem. Ale do sedna ...

UML czyli Unified Modeling Language to język opisujący strukturę projektowanego systemu/programu. Ma on postać diagramów prezentujących różne aspekty projektowanego systemu informatycznego. Wiele programów służących do przygotowania takich diagramów posiada funkcję generowania kodu na podstawie takiego diagramu (diagramu klas). Znałem już trochę UML od roku i wiedziałem, że muszę go zastosować w przygotowywanym na zaliczenie projekcie.

Podczas semestru miałem sporo wątpliwości. Chyba większość moich kolegów nie wiedziała co to jest ujednolicony język modelowania i do czego służy (mam wrażenie, że jeszcze nie wiedzą), ale nie musieli go znać przecież. Bardziej zadziwił mnie prowadzący wykłady i ćwiczenia z tego przedmiotu Pan, który gdy usłyszał ,,chcę wykorzystać język UML'' zapytał wprost ,,a co pan chce w nim zaprogramować?''. Czyżby on też nie znał? Potem widziałem, że spacerował z książką Język UML 2.0 ... na przerwach i wymagał diagramów w dokumentacji projektu. Czyżbym to ja go naprowadził na UML? Co do wspomnianej już dokumentacji. Wielu z kolegów wolało pisać po 30 stron tekstu niż robić diagramy. Może tak lepiej, nie wiem. Może lubią pisać przydługie teksty? Ja napisałem niecałe dwie i dołączyłem diagramy, wystarczyło na 4.

Po co to piszę? By chociaż jedna dusza się nawróciła i poczytała o UML. Według mnie jest to zyskanie sporej ilości czasu w fazie projektowania, a automatyczne generowanie kodu może przyśpieszyć implementację (chociaż trochę). Na stronie prezentującej ranking technologii IT na rynku pracy UML znajduje się w okolicach dwudziestego miejsca przed takimi cudami jak Flash, czy nawet Python!

Literatura