Biofeedback

Obecnie prace nad projektem „Profitto” są zawieszone.

Zapraszam za to do tworzącego się serwisu MindPlace, poświęconego biofeedbackowi, relaksacji, radzeniu sobie ze stresem. Pierwsze tematy związane są z biofeedback-iem, czyli czy można za pomocą urządzeń zmierzyć, jaki masz nastrój, jak można na to wpływać i co z tego wynika…

Zapraszam :)

http://www.mindplace.pl

Zadanie napisania pierwszego „naszego” parsera padło na mnie. Nie będę ukrywał, że z początku uznałem to za pewne wyzwanie. Na szczęście dość szybko znalazłem to czego szukałem – czyli BeautifulSoup. Nazwa dość dziwna, ale o tym później. Wystarczyło kilka chwil (czytaj: wieczorów, gdy choć jeden domownik już śpi :) ), żeby przy jej użyciu, prosto i przyjemnie uzyskać to czego się chce. Nie będę tu pisał manual’a, ale pokusiłem się o prosty przykład. Załóżmy, że interesuje nas, kto komentował nasze wpisy ma blogu. Voilà:


#-*- coding: UTF-8 -*-

from BeautifulSoup import BeautifulSoup
import urllib

url = "http://blog.profitto.pl/2008/11/wybor-technologii"
soup = BeautifulSoup(urllib.urlopen(url).read())

authors = set() # unikalność
for comment in soup('div',{'class':'cmtinfo'}):
    authors.add(comment.cite.string)

print ', '.join(authors)

Continue reading ‘Beautiful Soup – parser HTML’a na (jeden) wieczór’ »

Tam gdzie to możliwe staramy się prowadzić prace równocześnie. Więc równolegle z naszymi pracami developerskimi postępowały prace nad szatą graficzną. Dzięki współpracy ze zdolnym, młodym grafikiem Michałem Parulskim możemy zaprezentować naszą stronę główną – zapraszamy więc na nią: http://www.profitto.pl. Wszelkie komentarze, uwagi, sugestie mile widziane (także te krytyczne, dzięki którym można wprowadzić poprawki :) ).


Wydawałoby się, że prezenty gwiazdowe znajduje się tylko pod choinką. W czasie jednego ze świątecznych spacerów zauważyłem na mieście pewien intrygujący billboard – jako, że miałem ze sobą aparat uwieczniłem tą chwilę… ;)

Dzisiaj krótszy post i to trochę filozoficznej ;) natury.

Rysując model domenowy dla naszej aplikacji w postaci UML-owego diagramu klas natknąłem się na pewną zagwozdkę. Konkretnie dylemat dotyczył różnic pomiędzy asocjacją, kompozycją a agregacją. Czytając formalne opisy, sprawa wydaje się prosta. Wątpliwości pojawiają się  w przypadku wyboru pomiędzy asocjacją, a jej bardziej specjalizowanym kuzynem – agregacją. Agregacja zgodnie z  definicją reprezentuje asocjację typu „has a”. Jednak rysując już konkretny diagram wybór ten nie jest wcale taki oczywisty: człowiek „subskrybuje” czasopismo (asocjacja), czy też człowiek „ma subskrypcję na” czasopismo (agregacja) – przykłady i dyskusje można by mnożyć bez końca.

Continue reading ‘Association, Composition and Aggregation’ »

Wstęp

Jednym z pytań, które zazwyczaj sobie stawiamy rozpoczynając nowy projekt jest to dotyczące wyboru technologii. Nie inaczej było i tym razem –  każda technologia ma swoje plusy i minusy, swoje specyficzne smaczki, które powodują że dla pewnych zagadnień sprawdza się lepiej lub gorzej. Najlepszego języka/framework-a nie ma i być nie może, z tej prostej przyczyny że każdy zwraca uwagę na inne detale, co innego jest dla niego istotne, tak też framework-i skupiają się na różnych aspektach: szybkości tworzenia, elegancji, wydajności, itd. Pojawienie się idealnego języka/framework-a oznaczałoby koniec rozwoju, stagnację… na szczęście wygląda, że nam to nie grozi. Zadaniem tego postu jest pokazanie na co my zwróciliśmy uwagę i jaka decyzję finalnie podjęliśmy.

Continue reading ‘Wybór technologii’ »