Django – mój punkt widzenia po 4 miesiącach programowania

Moje pierwsze zderzenie z Django nastąpiło pod koniec marca 2010. Dziś po ponad czterech miesiącach mogę coś  powiedzieć na temat tego frameworka. W Django zrealizowałem kilka projektów, m.in. panel do zarządzania i kontroli telewizji marketowej o którym pisałem wcześniej Django vs. WordPress – czyli o różnicy poglądów – ostatecznie stworzyliśmy hybrydę Django+Wordpress.  Kolejnym projektem był zamknięty serwis dla pracowników Gminnego Centrum Kultury.  Aktualnie piszę  panel do zarządzania klientami i instalacjami wordpressa. Continue reading

Upgrade wordpressa do 3.0

Dziś będzie krótko o wordpressie :)   Miałem kilka wordpressów do zaktualizowania poczynając od tego bloga kończąc na mojabochnia.pl. Na pierwszy rzut poszedł mój blog, odpaliłem automatyczną aktualizację i poszło sprawnie bez żadnych problemów. Na serwisach moja* było  trochę trudniej, po aktualizacji automatycznej oglądałem piękną białą stronę, nie tylko na głównej ale również w panelu admina. Co ciekawe Apache nic nie wyrzucał w error.log więc zaczęło się szukanie po omacku.  Na początku spróbowałem aktualizacji z paczki ściągniętej  z oficjalnej strony i co ciekawe strona się podniosła i nie było więcej problemów. Pomyślałem „no to teraz commit i z głowy”, jak pomyślałem tak zrobiłem. Potem przyszedł czas na zastosowanie zmian w środowisku produkcyjnym, w 2 na 3 wordpressy poszło gładko bez żadnych problemów, ale przy ostatniej migracji znów biała strona i znów szukanie po omacku. Tym razem problem leżał w configu, po nadpisaniu starego wp-config.php przez zmodyfikowany wp-config-sample.php z wersji 3.0 serwis ruszył a ja odetchnąłem z ulgą :)

Redmine – system do zarządzania projektami informatycznymi

Redmine jest systemem www służącym do zarządzania projektami informatycznymi. Został napisany w Ruby’m z użyciem frameworka Ruby on Rails, do działania potrzebuje bazy danych MySql/Postgresql/Sqlite.  Na byle hostingu niestety go nie postawimy, ale  wiele firm hostingowych oferuje obsługę Ruby za niewielkie pieniądze, a posiadając dedyka bądź vps’a problem całkowicie znika. Ja jedną instalację mam na linuxpl.com, co prawda były problemy przy instalacji ale administratorzy po raz kolejny byli bardzo pomocni, udzieli mi wskazówek, zmienili konfiguracje vHosta i doinstalowali potrzebne gemy. Drugą instalacje mam na dedyku z Debianem 5.0. Tu już miałem trochę więcej pracy, poza instalacją samego redmine musiałem doinstalować kilka gemów i mod_passengera do Apacha. Redmine posiada bardzo dobrą dokumentację  w języku angielskim, jeśli chodzi o informacje na polskich stronach to jest gorzej, w naszym rodzimym języku jest niewiele informacji technicznych na ten temat. Continue reading

Konfiguracja eduroam PK na Debianie

Eduroam – międzynarodowy projekt  uczelnianych sieci bezprzewodowych.

Wczoraj udało mi się wreszcie połączyć z siecią eduroam na PK,  na Windowsie jest to dość proste bo raczej nikt nie miał problemu, z linuxem było trochę trudniej, słyszałem od wielu osób, że nie mogą skonfigurować działającego połączenia. Wczorajszy wykład był idealny do testów :) , poniżej małe how-to:

  1. Pierwszym krokiem jest przekonwertowanie certyfikatu z formatu PKCS12 na format PEM, w moim przypadku Kuchnik_Maciej.p12 na Kuchnik_Maciej.pem
     openssl pkcs12 -in Kuchnik_Maciej.p12 -out Kuchnik_Maciej.pem
  2. Następnie musimy stworzyć plik konfiguracyjny dla wpa_suplicant’a, u mnie wygląda on tak:
    network={
    ssid="eduroam"
    key_mgmt=WPA-EAP
    pairwise=CCMP TKIP
    group=CCMP TKIP
    eap=TLS
    #
    #identity
    #
    #wpisz swojego e-maila jakiego podałeś na certyfikacie
    #jeśli jest z domeny pk.edu.pl
    #lub Imie.Nazwisko[at]pk.edu.pl
    identity="mkuchn1@student.pk.edu.pl"
    #
    #client_cert, private_key, private_key_passwd
    #
    #ścieżka do twojego certyfikatu i twojego klucza
    #prywatnego (są w tym samym pliku) oraz hasło do
    #certyfikatu.
    #
    client_cert="/home/maciek/cert/Kuchnik_Maciej.pem"
    private_key="/home/maciek/cert/Kuchnik_Maciej.pem"
    private_key_passwd="HASŁO"
    phase1="peaplabel=0"
    }

    Zapisujemy plik np. pod nazwą wpa_suplicant.conf

  3. Nie pozostało nic innego tylko się połączyć :)
    wpa_supplicant -Dwext -iwlan0 -c /home/maciek/cert/wpa_suplicant.conf

    Gdzie:

    -D to driver karty sieciowej,  w moim przypadku Intel Corporation PRO/Wireless 5100 AGN

    -i to interfejs bezprzewodowy

    -c ścieżka do pliku z configiem

    Jeśli zobaczymy mniej więcej coś takiego to znaczy, że się udało :)

  4. Ostatnią rzeczą do zrobienia jest odpalenie klienta DHCP, aby otrzymać adres:
    dhclient wlan0

Nic odkrywczego w tym poście nie napisałem, ale może komuś się przyda ;)

Zosia Samosia

Nie, ten post nie będzie o wierszyku  z dzieciństwa choć tak sugeruje tytuł :)   Będzie on o mnie, bo kiedyś byłem taką Zosią Samosią w dziedzinie programowania.  Zawsze  myślałem „CMS? nie nie – ja sam…”. Teraz po kilku latach zastanawiam się skąd się to wzięło, skąd u mnie takie podejście, raczej jestem leniwy więc powinienem chętnie używać cmsów :) .  Choć z tym lenistwem to tak różnie bywa, ostatnio potrafię wstawać przed 7 tylko po  to, żeby sobie popracować, ale nie o tym miał być ten post. Pierwszą stroną jaką zrobiłem była strona na jakiś konkurs chyba z religii, w tej chwili dokładnie nie pamiętam bo było to w gimnazjum. Potem była jakaś strona szkoły, a potem  programowanie mnie interesowało coraz bardziej. Pierwszą książką na ten temat była „PHP. Od podstaw” z Helionu, wtedy przepadłem na dobre, już wiedziałem co będę w życiu robił :) . I przez dość długi czas pisałem sobie różne rzeczy, od prostych skrypcików po bardziej złożone.  Milowym krokiem w mojej drodze programisty była pierwsza poważna praca.  Zacząłem pracować dla portalu MojaBochnia.pl i pokrewnych, tam moim głównym zajęciem było pisanie pluginów do WordPressa, wtedy zmieniło się moje podejście do CMSów  i innych „wspomagaczy”.  Z Moją Bochnią wiążą się różne ciekawe projekty ale to temat na inny wpis.  Po gruntownym poznaniu WordPressa zacząłem na nim robić przeróżne strony i przekonałem się, że to dużo lepsze niż  „ja sam…” . Po jakimś czasie odczuwałem potrzebę poznania jakiegoś frameworka, zastanawiałem się naz ZendFramework i Symfony, ale ostatecznie wybrałem Pythonowe Django :) , które od razu polubiłem, zresztą tak samo jak Pythona.  W tej chwili chyba robię następny milowy krok bo zacząłem współpracę z pewną firmą, ale o tym może potem…

Życie według kalendarza

Dopadło mnie… Uświadomiłem sobie ostatnio, że muszę popracować nad organizacją swojej pracy. Nazbierało się trochę obowiązków i zadań do wykonania, a ja sporo czasu traciłem na rzeczach typu, przypomnienie sobie co właściwie miałem zrobić :) .  Pierwszym krokiem było znalezienie jakiegoś narzędzia które mi w tym pomoże, po poszukiwaniach i testach, zdecydowałem się na… Google. Kalendarz google powinien mi wystarczyć do zaplanowania sobie dnia pracy, spotkań itp.  Zastanawiałem się też nad jakimś rozwiązaniem offline ale nie zawsze mam ze sobą komputer więc google wydaje się lepsze bo online :)

Kolejną rzeczą na której tracę sporo czasu jest spanie,  będę się starał wstawać wcześniej, żeby  wydłużyć sobie dzień,  szkoda, że nie ma narzędzia które by mi to ułatwiło :) choć z  googlem nigdy nic nie wiadomo xD

A jak wy sobie radzicie z organizacją pracy?

Django vs. WordPress – czyli o różnicy poglądów

W związku z rozbudową sieci telewizorów w marketach pojawił się problem zarządzania nimi, a właściwie zarządzania przez redakcję, a nie adminów bo adminowi do szczęścia potrzebna jest tylko konsola :) . Padła idea napisania panelu administracyjnego który by zintegrował całą kontrolę nad telewizorami i emisją  materiałów. Pomyślałem Django+Python i jazda… ale nie tak szybko, po konsultacjach z szefami okazało się, że jedynym rozwiązaniem  jakie dopuszczają jest WordPress. Głównym argumentem była stabilność  i dobra znajomość WP przez redakcję.  Z biznesowego punktu widzenia może i jest to bezpieczniejsze rozwiązanie, ale od strony programistycznej dużo lepszym rozwiązaniem jest Django. Moim zdaniem warto zaryzykować, ale cóż… ja tam tylko sprzątam ;)

Flowplayer

Podczas tworzenia telewizji portalowej stanęliśmy przed wyborem playera, który odtwarzałby nasze filmy z przerwami na reklamy.  Początkowo myśleliśmy o JW Player, jednak za możliwość wstawiania reklam trzeba zapłacić. Potem ktoś podrzucił temat Flowplayera. Można go używać komercyjnie, jedynym mankamentem jest logo flowplayera przy odtwarzaniu filmów w fullscreenie,  chcąc umiescić własne logo musimy wykupić licencję, licencja na  jedną domenę kosztuje 95 $, na 100 domen 395 $, a na nielimitowaną liczbę domen 1450 $.  Po wstępnym rozpoznaniu i testach zrobionych przez Piotra wiedzieliśmy, że to rozwiązanie dla nas. Nie będę tu opisywał możliwości tego playera bo ma on doskonałą dokumentację z mnóstwem przykładów. Dodam tylko, że konfiguracja playera jest bardzo elastyczna i większość rzeczy można bardzo łatwo oprogramować.   Poniżej reklama na której testowaliśmy playera, chyba nie muszę dodawać, że znam ją na pamięć ;)