Jakub Wiśniowski | about technology | restlessbeing.pl

PyCon PL – 2016

What a Pycon it was. Yet another one as good as the previous ones were.

I noticed that I’m such an active blogger that I’ve been recently publishing one post per year. So, like in some old joke, why I’m so happy? Because it’s today! The best offer for gamblers book of dead demo. Come on. Increased chance of winning!

This year, once again, PyConPl was held in the Hotel Corridor, also known as Hotel Ossa. I finally got used to the hotel’s size (it is huge) and also really enjoyed nice rooms and good food served three times a day. It’s something I love in this conference – you buy a ticket and the only thing you need to do is to get there and go back after the event. Ticket covers your stay, meals and of course your participation in the four days long conference. Affordable and comfortable. Only here you are always welcome, together with free no deposit spins you have no equal!

Four days – but this time I arrived rather late – it was about a quarter after 9 PM on Friday. No lectures, no workshops, so it was a great time for socializing and that’s what I did. It’s the next thing that I like very much about the conference – all evenings and nights are great. You can visit some “open room” to meet people and drink some beer or wine, you can take part in a programming contest or play retro games on Amiga, Atari 65XE, SNES console etc. – this year there was a special room with these great computers and consoles. You can also play board games, yay. Board games are a big story. So big that there’s a big dedicated room managed by Socek (it’s a nickname) with many many games. This year this room was full of people till late night, every night. Impressive.

What about Python? Obviously I also attended some talks and even a workshop and also gathered some opinions from others. So the hot topics this year were: asyncio, microservices, Pandas and… more – I only attended half of the conference so probably I missed something. Interesting observation is that the same things were on top in French PyCon that was held at the same time in Rennes (thanks Bastien for information about that). From the talks I attended I especially liked a talk by Lennart Regebro, this time not about a keyboard but about reporting databases. Really interesting, based on real life experience, case study. So if you plan to build a reporting system for your app it’s something that you should see – it’s a step by step analysis of what a reporting db is, why someone may need it, how to build it and with what tools – in this case free/open ones like: PostgreSQL, ZeroDB, Pentahoo, Flask. Good stuff.

I mentioned keyboard talk that Lennart gave last year (if I remember correctly) by purpose. In that talk he presented what mechanical keyboards are and how they work. It may sound like a funny talk especially on Python conference but… when my keyboard broke, the first thing I did was to recall Lennart’s presentation and yes, now I write this all on my Ducky mechanical keyboard with Brown Cherry MX switches. Quack, quack.

I also heard some good opinions on Łukasz Langa’s Asyncio related talk/workshop and about Viacheslav Kakovskyi’s talk on Maintaining a high load Python project (http://www.slideshare.net/mariczhuck/maintaining-a-high-load-python-project-typical-mistakes). It’s also worth mentioning that there was Odoo workshop – Odoo is great ERP system built in Python, and Pandas workshop (I attended this one) which was a pretty good starter on how to use Pandas (https://github.com/Nozdi/first-steps-with-pandas-workshop). There were also interesting (as always) lighting talks sessions.

Some other goodies that I learned about were: Morepath (http://morepath.readthedocs.io/en/latest/) – microframework which is said to be great for building APIs and Nidhogg (http://nidhogggame.com/) – funny game.

What was bad? Except for the Sunday’s keynote I liked everything. I’m pleased that I was there – big conference with a few hundreds (500?) of participants, three parallel tracks plus workshops and many many guests from abroad. It’s PyConPl but it’s definitely an international conference. Next one in the next year!

18. October 2016 by restless_being
Categories: pyconpl, web development | Leave a comment

PyCon PL 2015 – short summary

Corridors, kilometers of the Ossa Hotel corridors were full of snakes in the last four days. Thrilling? No! Cool!

PyCon PL 2015: there were about 60 talks and workshops, about 550 attendees, 5 parallel tracks (2 fully in English), lighting talks, hard contests, 4 long days and 3 even longer nights of awesomeness. Yes, maybe I’m biased but I really enjoyed the conference.

It’s, in my opinion, a conference that every Python enthusiast (from Poland but not only) should have marked in his calendar. It’s affordable – you have a stay and 3 meals/day included in the ticket price. Then it gives you a lot of its goodies. Talks, of course, but it’s also a great opportunity to meet other developers and to have a lot of fun. Did I mention that there was even a board games session? There was – every night.

I personally also put value into the conference by having some contribution into the work of the Program Committee and by giving a talk titled “Life of a remote developer – technical perspective“. During the talk I discussed different, mainly technical, aspects of the software building process in a remote work context in particular (but not only).

There’s only one bad thing about the conference – that it’s already over.

Big thanks to the organizers and see you all next year!

18. October 2015 by restless_being
Categories: pyconpl, web development | Leave a comment

Django, Sphinx docs and Buildout

Sphinx is a very popular tool used to generate documentation of all sorts. It is used to post-process Python language’s documentation and by a myriad of other projects. Sphinx basically parses files written in restructured text format and outputs html, pdf, e-pub etc.

Although Sphinx might be used for any  docs, it is very well suited for technical stuff, because it is able to automatically generate docs from source code. This is how I use it in my Django projects. In this post I want to share my configuration, and possibly get some feedback on how to improve it :)

Sphinx installation and Buildout

Because I use buildout I use sphinxbuilder recipe in order to make Sphinx commands available in my environment. Typically a developer just has to call

pip install sphinx

or add sphinx to requirements.txt file if using pip (hopefully in virtualenv).

In my case I put sphinxbuilder defaults into my buildout.cfg:

parts = (...) sphinxbuilder

recipe = collective.recipe.sphinxbuilder
source = ${buildout:directory}/docs-src
build = ${buildout:directory}/docs

Don’t forget to check Sphinx tutorial.

Sphinx initialization

After Sphinx is installed the quickstart command should be called:


or in case buildout is not used call in `docs` directory:


This will ask some questions, be sure to answer “yes” to:

autodoc: automatically insert docstrings from modules (y/N) [n]

Sphinx configuration

Next thing is to configure Sphinx so that it would be able to find docstrings in Python modules of Django project. In general this requires some tweaking of Sphinx’s conf.py file that is typically located in “docs” directory. Because Sphinx has to find and scan python modules these have to be available in sys.path.

In case of buildout I just copy (this is the ugly part) the sys.path definition from “bin/django” script

import sys
sys.path[0:0] = [

# setup Django
from django.conf import settings


In the last step it is required to update documentation files to include calls to autodoc. It can be done in the following way:
a) create a file `someapp.rst` in docs folder and fill it with:

Some app models
.. automodule:: someapp.models

Then in index.rst add a reference to it:

Welcome to Someproject's documentation!


.. toctree::
   :maxdepth: 2


Build it!
Everyting is prepared so the last thing to do is to call the build command:


or in buildout free environment:

make html

The html docs would be generated into `_build` folder.

So, this is basic setup of Sphinx, buildout and Django that works for me.

Some references:

31. May 2013 by restless_being
Categories: web development | Tags: , , | Leave a comment

New hardware, Gnome Ubuntu and multiple monitors

Things don’t go well with my laptop – for some mysterious reason it’s dead slow. So I’ve recently bought a desktop computer \o/.



I’m not going to write about hardware details because I’m not an expert in this area. Enough to say that this is a Xeon E3 1230 v2 based system with 16GB RAM, NVidia GT 660 card, running OS on SSD drive and yes it’s fast. Kudos go to some guys from CD Action forum – believe it or not but you can write there that you want to buy a computer, describe how you will use it (programming, gaming, etc) and of course specify what your budget is. Helpful souls will immediately give you a list of optimal hardware components that you should buy. Great!

Operating system

OS? What OS should I use? No, no thinking required here. I’m Ubuntu user for years and the only thing that changes is a desktop environment. This time I decided to go with Gnome 3, that I used earlier on my laptop. I downloaded and installed official gnome ubuntu release. Installation went smoothly, except that everything was installed on SSD drive (no easy way to change this during installation process) and I had to change /home location to another drive manually – just after the system was installed.

The crucial thing for me was a graphics card. I wanted it to work well under Linux and be able to serve up to 3 monitors. I bought Nvidia GT 660 because it seemed to me that it meets my requirements and at the same time features a quite good performance.  On my new OS I downloaded and installed nvidia drivers from apt system repositories and everything just works. I don’t experience any problems with dual monitor setup, and this was something that was hitting me badly on my laptop – I couldn’t find a way to have a permament monitor setup there. I do wonder how things would work when I’ll connect third monitor, but this will happen in not so near future.

Dual benqs and Gnome Ubuntu

Gnome 3 configuration

One of the features that are missing in Gnome 3 is a panel that you usually see on the bottom or top of your monitor showing you a list of running apps, tray etc. Gnome 3 doesn’t want to disturb it’s users so the layout is minimal. At the same time it’s extendable – it’s very easy to install extensions, user just has to visit extensions page and click “on” on a selected extension.

Here is the point that made me to write this post – I just wanted to say that if you wonder what you should use to regain your dock I’d recommend two solutions. First is “Dash to dock” extension that transforms a Gnome 3 dash into a dock (dash is something that you see on the left, after entering Activities overview). It’s really nice but lacks possibility to change dock location. It’s always on the left side of your primary monitor, what makes it unusable to me – in my dual monitor setup I want it to be on the right side of right monitor. Not in the middle!

Is there’s another solution? Yes. I tried Cairo Dock, but… no I didn’t like it. It features a strange way of managing apps and launchers, and also breaks all icons after system is waked up from suspend. I didn’t like it. Then I discovered Docky. Simple, effective, configurable and really nice. Lovely. You want a dock? Go and install Docky!

…and a word about web browsers

Even on my new machine I experience some problems with Firefox. In general it’s laggy. Almost every new page I open freezes for a while, the same when I switch tabs etc. I’m not sure if it’s caused by FF itself or rather by flash plugin, so I decided to give Chrome a try. Chrome… pros and cons:

1. I don’t like Chrome’s extensions management system. In fact this is just a web page Web page that doesn’t seem to be intutive to me. It iaps much faster to browse extensions with FF

2. I don’t like their developer tools. Maybe I’m just used to… but you know :) Firebug FTW

3. Tabs Outliner plugin is great. Fast and effective. Allows me to group and manage my tabs quickly, and I usually do have a lot of them open. See also this:

4. My Chrome is fast. Much faster than FF :)



I’m really happy with my new hardware running Gnome Ubuntu with fantastic Docky and Chrome with amazing Tabs Outliner. Give them a try!


30. May 2013 by restless_being
Categories: operating system | Tags: , | Leave a comment

Ubuntu 12.10 on RAID with Gnome 3 flavour


Till yesterday it was about two years of my (not so) happy Kubuntuing. It was enough.

Kubuntu is the Ubuntu with the KDE desktop environment and I’ve used that combo for years (last two years as Kubuntu). However it started to irritate me. My whole system was slow (dead slow), sometimes buggy (crash reports! ough.. I don’t like them) and finally it refused to properly work with my dual monitor setup. It’s hard to say why. Whether it’s Ubuntu, KDE or my hardware fail or just PEBKAC :D Doesn’t matter now because I decided to move to Ubuntu 12.10 with Gnome 3.


Oh, that wasn’t easy, so here’s what I did. I hope you’ll find my notes useful.

1. Installation package

First thing was to go to http://ubuntu.com and download installation images. It proved to be problematic because there is no alternate installer any more – Canonical (company behind Ubuntu) has decided to only provide live cd’s. Ok but… Hey! It was never possible to configure RAID with live cd! Some googling had shown me that I was right – it’s still not possible. So I downloaded:

  • Ubuntu 12.10 Desktop to see if it really doesn’t work with RAID
  • Ubuntu 12.10 Net Install (mini), that uses console installer
  • Ubuntu 12.04 Alternate Installer, this one should definitely work with RAID, then I can upgrade to 12.10
  • Ubuntu 12.10 Server, in case of a failure of all images from the above I can install Desktop on the server base, right?

I don’t even want to talk about my problems with finding 4 cd/dvd :)


My laptop has two hard drives so I use them in a RAID. If you’re interested in this kind of setup just see this guide – sorry it’s in Polish, but has a lot of screenshots or read this guide in english.


Here I must say that it’s a sad truth but still truth – it’s not possible to install Ubuntu 12.10 on RAID device. 12.10′s live installer doesn’t make it possible to properly configure RAID drives. So I was forced to try something different and after 12.10 net installer hanged for two times I went with 12.04 alternate installer. This one did his work with RAID and I finally booted my Ubuntu 12.04 desktop.

3. Upgrade to 12.10

After I was on 12.04 I first had to enable distribution upgrades for all, not LTS only (long term support) editions in Software Sources of Update Manager. Then Update Manager reported that “there is an update available” to 12.10 and I was allowed to proceed. You can see here a detailed upgrade instructions.

4. Welcome 12.10

After upgrading to 12.10 and installing some must have packages like mc, vim, build-essentials etc. I followed this fantastic guide to replace Unity with Gnome 3.


It worked and a cool Gnome 3 desktop (I admit that I hate their default “graphics card failure” wallpaper) appeared in front of my eyes (the picture above is from Gnome 3 page). After booting into a Gnome 3 session I went to gnome extensions web page and installed some of them like: dock, remove accessibility, pomodoro timer, etc.

However one more problem appeared…

5. Language

I use Polish language in my system so I’ve installed all required language related packages. Sadly that was not enough to be able to enter alt+letter combinations to have letters like: ąłóśćż etc. Thanks to Tomasz Ślązak I’ve found a solution to enable polish letters on my keboard. In short you have to:

  1. Start System Settings > Keyboard.
  2. Click Layout Settings link.
  3. Check if you’ve a Polish (or other) layout selected.
  4. Click Options
  5. Find element: Key to choose 3rd level and select  Right Alt.

Thats all.

6. Success

So after a day and a night I finally have my Ubuntu 12.10 Gnome 3 RAID edition up and running. I hope that I won’t ecounter any dual-monitor quirks.

Last thing – why Gnome3? It’s minimalistic, fast and I find it tasty. I didn’t have such a pleasure with KDE or Unity :D

10. February 2013 by restless_being
Categories: operating system | Tags: , , | Leave a comment

Pycon PL – 2012

Kilka dni temu zakończyła się jubileuszowa, piąta edycja konferencji Pycon PL. W odróżnieniu od wcześniejszych edycji tym razem Pycon trwał nie trzy, a cztery dni. Około 160 programistów, programistek i sympatyków Pythona spędziło przedłużony weekend (13- 16 września) w Mąchocicach Kapitulnych, pod Kielcami.

Wydłużenie konferencji pozwoliło organizatorom zmieścić w agendzie więcej prelekcji i co istotne, nie miało to negatywnego wpływu na ich jakość. Wprost przeciwnie, uważam – a jako uczestnik trzech poprzednich edycji mogę coś na ten temat powiedzieć – że tegoroczny Pycon PL był najlepiej zorganizowaną i stojącą na najwyższym poziomie konferencją z tego cyklu.


Hotel Przedwiośnie w Mąchocicach Kapitulnych liczy sobie dwie gwiazdki (puszczam oczko, do wszystkich uczestników konkursu wiedzy o Pyconach PL) i zapewnia swoim gościom naprawdę godziwy standard pobytu. Jest zatem wyremontowana sala wykładowa z bajecznym żyrandolem, są przestronne pokoje i przytulne łazienki oraz świetny widok z okien. Do tego, dla odróżnienia od jednego z ustrońskich Pyconów, jest też prąd i ciepła woda. To wszystko jest o tyle ważne, że Pycon PL ma na celu integrowanie polskiej społeczności deweloperów Pythona, dlatego też zarówno wykłady jak i noclegi wszystkich uczestników zlokalizowane są w jednym miejscu.


W tegorocznej agendzie pojawiło się sporo wykładów w języku angielskim, w tym także prowadzonych przez prelegentów z zagranicy, których było aż sześcioro (siódmy wykładowca – Kai Diefenbach – w ostatniej chwili odwołał swój przyjazd). Mnie szczególnie cieszyła obecność Audrey Roy, Daniela Greenfielda oraz Jannisa Leidela, którzy stanowili dość silną reprezentację międzynarodowej społeczności skupionej wokół Django. Krótki przegląd ciekawostek:

  1. Najmłodszy, bo osiemnastoletni prelegent w historii Pyconów PL czyli Marek Šuppa zaprezentował robota sterowanego z poziomu Pythona. Ponieważ uczestniczyłem w konferencji od piątkowego wieczora nie widziałem tej czwartkowej prezentacji, ale zamieniłem później kilka słów z Markiem oraz słyszałem komentarze na jej temat. Marek za pomocą robota uczy dzieci programowania, a ja uważam to za świetny pomysł stąd też niniejszym wskazuję palcem na ten wykład.
  2. Przewijał się często temat continuous integration – m.in. za sprawą ciekawego i fajnie poprowadzonego wykładu Łukasza Olesia. Garść przydatnych narzędzi z tej dziedziny: nose, jenkins, pyflakes, fabric, travis, ansible.
  3. Klasy i dziedziczenie oraz komponowanie komponentów wielokrotnego użycia na przykładzie Class Based Views (CBV) oraz ORMa z Django. Łukasz Langa opowiedział o podejściu do tworzenia aplikacji bazującym na komponowaniu ich z komponentów zbudowanych zgodnie z pythonowymi zasadami wielokrotnego dziedziczenia. Zasady te nie zawsze są przestrzegane co prowadzi do rozmaitych trudności np. przy dziedziczeniu modeli w Django. Podobne problemy pojawiają się przy okazji CBV, do czego odnosił się w swoim talku także Daniel Greenfield zaznaczając, że pracuje nad usprawnieniem tego mechanizmu.
  4. JavaScript. JavaScript?! Tak, pojawiał się niejednokrotnie w trakcie tej konferencji. Audrey Roy opowiedziała o swoich doświadczeniach z tym językiem – językiem jako takim, gorszym w jej mniemaniu od Pythona, ale za to bijącym Pythona pod względem możliwych zastosowań (vide strony www, node.js, urządzenia mobilne). O javascripcie mówił także Bartłomiej Zass z Microsoftu przy okazji prezentacji Windows 8, który to Windows kafelkami i HTML5, CSS3 i JSem stoi. Bartłomiej jest w Microsofcie zatrudniony na stanowisku technologicznego ewangelisty, co jednak, jak podkreślił, nie oznacza, że prowadzi wykłady tylko w niedziele :D . Nie ocenię Windowsa 8, ale za ten dowcip +1 dla MS. Także Radomir Dopieralski prowadził warsztat z języka JavaScript dla programistów Pythona.
  5. Dobrze było posłuchać o tym jak Python sobie radzi w skali enterprise w Onecie oraz w bankach (by STX Next). Jeśli pojawią się filmy to zachęcam do obejrzenia tych wykładów.
  6. Jeśli chodzi o zastosowania webowe to mocno obecne było Django, o którym bardzo ciekawie opowiadał między innymi Jannis Leidel na przykładzie startupu nad którym pracował. Duży projekt z imponującymi rozwiązaniami architektonicznymi – must see dla djangowców, a see można zrobić na stronie Europythona, gdzie Jannis również prowadził tę prezentację: link. Pojawił się też Pyramid, w formie warsztatu przeprowadzonego przez Szymona Pyżalskiego oraz w osobie Ergo^, czyli Marcina Lulka, który prezentował na sobie uroczą Pyramidową koszulkę, a niezwłocznie po zakończeniu Pycona popełnił pyramidowy tutorial: pyramid_blogr. Nie można też nie wspomnieć o Tornado, które przewijało się w różnych talkach i kuluarowych rozmowach.
  7. Nie pojawił się Kai Diefenbach i jego wykład o Lighting Fast Shop czyli sklepie internetowym w Django. Szkoda bo to ciekawe rozwiązanie, acz namiastkę tego wykładu stanowił przeprowadzony przez Macieja Wiśniowskiego lightingtalk o LFS-ie właśnie.
  8. Ostatnią rzeczą o której tu wspomnę jest Vagrant, który został przybliżony uczestnikom konferencji przez Piotra Banaszkiewicza. Vagrant to swoista nakładka na VirtualBoxa, która umożliwia deweloperom wygodne tworzenie kompletnie odseparowanych środowisk.


Sporo rzeczy w tej relacji pominąłem, ale cóż – nie sposób spamiętać wszystkiego. Nadmienie jeszcze, że integracja moim zdaniem wypadła również całkiem dobrze :) Było naprawdę bardzo fajnie i pozostaje mieć nadzieję, że za rok, w nowej większej lokalizacji, będzie jeszcze lepiej. Dzięki Filip.


Materiały z konferencji dostępne są tutaj.

20. September 2012 by restless_being
Categories: Uncategorized | Tags: , , | Leave a comment

Dni Wolnego Oprogramowania

Kilka słów na temat Dni Wolnego Oprogramowania, od prawie uczestnika

W dniach 2-4 marca 2012 odbyły się w Bielsku-Białej V już Dni Wolnego Oprogramowania. DWO to cykliczna impreza organizowana głównie za sprawą Dominika Kozaczko, przy wsparciu m.in. Polskiej Grupy Użytkowników Linuxa (PLUG), poświęcona… nie tylko wolnemu oprogramowaniu. Nie tylko, gdyż tematyka jest zwykle bardzo różnorodna, a przy tym ciekawa.

Przyznaję bez bicia, że nigdy wcześniej na DWO nie byłem. Trochę mi się one kojarzyły z imprezą dla licealistów (niesłusznie), a do tego to tak już jakoś jest, że na imprezę w moim rodzinnym mieście jest mi trudniej wpaść niż na event odbywający się kilkadziesiąt czy nawet kilkaset kilometrów dalej.

W tym roku tradycyjnie nie miałem na DWO czasu, ale splot wydarzeń (dziękuję Filipie) sprawił, że jednak na chwilę na konferencję wpadłem.

Już na samym początku zaskoczyło mnie to, że większa część wykładów odbywała się nie w budynku LO nr 5 (jak to, z tego co wiem, bywało do tej pory), ale w sali Bielskiej Wyższej Szkoły im. J. Tyszkiewicza. To chyba dobry pomysł, bo jak usłyszałem od jednego z uczestników: “teraz to jest konferencja, wcześniej to było trochę jak na zajęciach w szkole”.

Faktycznie, potwierdzam, że organizacja była bardzo dobra – bez problemu trafiłem pod odpowiednią salę, gdzie miłe :D dziewczyny próbowały mnie zarejestrować (przepraszam, że nie skorzystałem, ja tam byłem tylko przelotem), a w samej sali wykładowej do dyspozycji uczestników była kawa, napoje i cała masa ciastek i innych przekąsek. Zdecydowanie organizacja przypomniała mi najlepsze dokonania PLUGa np. w postaci PyconPL.

Sednem konferencji jednak nie są ciasteczka, ale ludzie, których można tam spotkać oraz wykłady. Te elementy pozytywnie mnie zaskoczyły, zatem małe podsumowanie pozytywów:

  • Agenda konferencji Å›wiadczy o tym, że warto na niej być – jest ciekawie imho dla każdego informatyka
  • WidziaÅ‚em sesjÄ™ q&a po wykÅ‚adzie Mateusza JuÅ›ciÅ„skiego i przyznajÄ™, że mi siÄ™ podobaÅ‚o. Humor i pewność siebie prowadzÄ…cego powalaÅ‚y. Do tego sam temat byÅ‚ ciekawy – na tyle na ile udaÅ‚o mi siÄ™ wywnioskować z pytaÅ„ i odpowiedzi to dotyczyÅ‚ systemów continuous integration i ogólnie ciekawych technologii jak git. Szkoda tylko, że ta caÅ‚a fantastyczność dziaÅ‚a na rzecz… PHP.
  • WidziaÅ‚em też wykÅ‚ad StanisÅ‚awa “dozziego” Klekota i o ile tu temat niezbyt mnie interesowaÅ‚ to jednak sam talk byÅ‚ poprowadzony caÅ‚kiem fajnie i przebijaÅ‚ z niego profesjonalizm oraz wiedza prowadzÄ…cego. JeÅ›li pozostaÅ‚e wykÅ‚ady byÅ‚y na podobnym poziomie to naprawdÄ™ musiaÅ‚o być nieźle.
  • Fajna duża sala, a na niej naprawdÄ™ sporo uczestników, ot konferencja peÅ‚nÄ… gÄ™bÄ….
  • Ludzie. DostrzegÅ‚em na sali kilka znanych mi osób i to takich, które nie sÄ… byle kim (zdecydowanie to nie jest, jak napisaÅ‚em wyżej, konferencja dedykowana dla licealistów). Byli np. spece od Rubiego, a także, co mnie szczególnie cieszy, pokaźna ekipa djangowa. Ba, byÅ‚ nawet talk (niestety nie widziaÅ‚em go) podsumowujÄ…cy niedawny Django sprint, który odbyÅ‚ siÄ™ w Krakowie i w którym miaÅ‚em przyjemność uczestniczyć.

Podsumowując, muszę powiedzieć, że moja króciutka bytność na DWO była… fajna i to fajna na tyle, aby napisać pierwszego od roku posta na tym blogu. DWO to po prostu dobra konferencja, która mam nadzieję będzie się dalej rozwijać.

05. March 2012 by restless_being
Categories: Uncategorized | Tags: , , | Leave a comment

JavaScript, Mobile i DevMeetings

Programowanie aplikacji mobilnych w JavaScript – relacja z DevMettingu w Gliwicach

DevMeetings i programowanie aplikacji mobilnych w JavaScript? Bardzo dobrze!

Bardzo dobry zbieg okoliczności

Pewnego dnia stwierdziłem, że najwyższy czas, aby poważniej zainteresować się developmentem dla urządzeń mobilnych. Z jednym zastrzeżeniem – developmentem softu, który będzie działał na różnych urządzeniach. Kilka chwil później dowiedziałem się, że wkrótce w mojej okolicy odbędzie się niejaki DevMeeting, którego tematyka obejmie dokładnie to co mnie interesuje. Przyznaję bez bicia, że nigdy wcześniej o DevMeetings nie słyszałem, ale postanowiłem zaryzykować i po chwili, wraz z Pigletto, moim współdeveloperem, zarejestrowaliśmy się szkolenie.

Zaskoczyło mnie to, że DevMeetings są darmowe. W tej sytuacji zbyt wiele się po nim nie spodziewałem… no cóż, pomyliłem się. W chwili obecnej stwierdzam, że dzięki brakowi opłat na szkoleniu pojawiają się osoby, które są tematem zainteresowane i które faktycznie chcą tam być, a nie ludzie przymuszeni przez pracodawców.

DevMeeting, o którym mowa odbył się 25 marca w Gliwicach.

Bardzo dobry skład

Zarówno prowadzący David de Rosier, organizatorzy, jak i uczestnicy DevMeetingu reprezentowali naprawdę dobry poziom i sprawili, że 12 godzin minęło bardzo szybko w miłej atmosferze.

Prowadzący – duża wiedza poparta doświadczeniem, a przy tym luz i komunikatywność.

Organizatorzy – sprawnie działające wi-fi i repozytorium (problemy z wyjściem na świat wynikały z winy hotelu), ładne notatniki dla uczestników, dobra pizza, kawa, której wystarczyło do samego końca i ogólnie profesjonalne podejście do tematu.

Uczestnicy – wszystkie zespoły dały radę stworzyć porównywalne aplikacje. Podrzucę tu jeszcze kilka statystyk:

  • Ilość uczestników: okoÅ‚o 20 osób
  • Kobiety: 2 i co warte podkreÅ›lenia obie Å‚adne (jeÅ›li uważasz, że to seksistowskie to pewnie masz racjÄ™; jeÅ›li Ci to nie odpowiada to przypominam, że to mój blog)
  • Laptopy z jabÅ‚uszkiem: okoÅ‚o 6 sztuk, w tym przynajmniej jeden wypasiony MacBook Pro (trzymajÄ…cej kilka dÅ‚ugich godzin baterii trzeba zazdroÅ›cić)
  • Laptopy z Linuksem: 2 sztuki (mój i Pigletta, mogÅ‚o być wiÄ™cej, ale nie zauważyÅ‚em)
  • Profesje uczestników: głównie frontendowcy i web deweloperzy, tu muszÄ™ podkreÅ›lić, że wraz ze mnÄ… i Piglettem byÅ‚o czworo djangowców

Bardzo dobra forma szkolenia

Szkolenia są nudne. Byłem na niejednym, na którym po teoretycznym wstępie należało wykonać ćwiczenie: 1. kliknij przycisk X, 2. wpisz bla bla bla, 3. kliknij przycisk Y itd. Masakra, ale tu było inaczej!

Formuła DevMeetings polega na tym, że uczestnicy dzieleni są na grupy. Następnie prowadzący robi mniej lub bardziej krótki wstęp teoretyczny, po czym należy napisać kod, który będzie realizował jakąś funkcjonalność. Nie ma tu żadnej instrukcji krok-po-kroku. Grupa otrzymuje pliki ze strukturą programu, trochę wskazówek i zaczyna myśleć nad rozwiązaniem oraz tworzyć kod.

Moim zdaniem podział na grupy jest dobrym pomysłem. Przede wszystkim integracja i interakcja są zapewnione. Ponadto przy pracy grupowej każdy wnosi coś od siebie i nie ma przestojów wynikających z “nie wiem jak to zrobić” – zawsze ktoś z grupy wie lub ma jakiś pomysł. Wada jest taka, że właściwie stale powinna pisać osoba siedząca w środku, ewentualnie można się zmieniać przy jej komputerze.

Bardzo dobry temat

Programowanie aplikacji mobilnych w JavaScript to naprawdę fajna sprawa i w dobie ogromnej popularności coraz to lepszych telefonów bardzo na czasie. Na DevMeetingu można było nabyć sporo wiedzy oraz uporządkować tę już posiadaną. Świetnie było posłuchać porównania PhoneGap z Titanium, poznać wady i zalety JQuery Mobile, czy w końcu dowiedzieć się dlaczego PhoneGap nie jest doskonały.

Cała ta wiedza została, niczym kofeina w organizmie programisty, przetworzona w kod, który – ależ to była frajda – uruchomił się na rzeczywistym smartfonie z Androidem. Nie dość, że się uruchomił to jeszcze sprawnie wychwytywał zdarzenia płynące z akcelerometra i sterował czołgiem. Tak, mieliśmy łączność z Libią.


Kilka luźnych myśli: Jestem bardzo zadowolony z udziału. 12 godzin to jednak długo i pod koniec chyba wszyscy byli mocno zmęczeni. Teraz już wiem, że JavaScript to taki stary przyjaciel, który wygrał w loterii i chce się ze mną podzielić wygraną. Zamierzam skorzystać.

Na koniec może zaskoczę, ale udziału w DevMeetings nie polecam. Znacznie lepiej jest usiąść samemu przed monitorem, wyszukać odpowiednie tutoriale i spokojnie je sobie poczytać… a jak już będziecie czytać to ja spokojnie zapiszę się na kolejny DevMeeting nie martwiąc się o to czy wystarczy miejsc :P

27. March 2011 by restless_being
Categories: Uncategorized | Tags: , | Leave a comment

Przezroczyste PNG w IE6 – ciąg dalszy

Rok temu pisałem o przezroczystości png w IE6. Czas na małą aktualizację.

Zachęcony pytaniem od jednej z czytelniczek mojego ubiegłorocznego artykułu na temat przezroczystości png w IE6, sprawdziłem aktualną sytuację w tym temacie. Pomimo, że IE6 (na szczęście) umiera pojawiły się nowe rozwiązania.

Przede wszystkim zachęcam do zerknięcia na ciekawy wpis na blogu Thomasa Hruski, w którym podaje on rozwiązanie problemu z wykorzystaniem png8, a na samym końcu artykułu odsyła do jeszcze innego interesującego podejścia.

Jeśli jednak, tak jak ja, nie lubicie się męczyć z grafiką warto skorzystać z innego, również polecanego przez Thomasa, rozwiązania jakim jest DD_belatedPNG. Jest to skrypt JavaScript, który można wykorzystać dodając na stronie:

   <!--[if IE 6]>
   <script src="DD_belatedPNG.js"></script>

gdzie .png_bg jest na selektorem CSS. Proste i działa świetnie zapewniając obsługę PNGów zarówno użytych w atrybutach src taga img, jak i jako własność parametru background-image w CSS. Co więcej w tym ostatnim przypadku właściwie działają background-position oraz background-repeat.

12. December 2010 by restless_being
Categories: Uncategorized | Tags: , , | Leave a comment

Wszystko dla Django

Jak mogłem to przegapić? Obowiązkowa strona dla użytkowników Django: http://djangopackages.com

Dawno dawno temu była sobie całkiem przyjemna strona Django Pluggables, na której można było znaleźć liczne aplikacje do wykorzystania we własnych projektach. Poźniej, jak pamiętam, pojawił się na liście dyskusyjnej Django wątek, w którym dyskutowano o tym, że tych aplikacji jest tak dużo, że nie wiadomo którą wybrać. Jak się wczoraj dowiedziałem na dyskusji się nie skończyło i oto Django Pluggables zamieniło się w Django Packages.

Django Packages to rewelacyjna strona. Po pierwsze znajdziemy na niej nie tylko uniwersalne aplikacje (wolne tłumaczenie angielskiego reusable apps), ale też frameworki, czyli np. CMSy, fora, czy sklepy internetowe, a także gotowe projekty oparte na Django oraz “inne”, czyli to co nie łapie się do powyższych kategorii, ale jest przydatne jak np. buildoutowa recepta djangorecipe.

Po drugie wszystkie zamieszczone na stronie pakiety mają przypisane parametry pozwalające nam na ocenę ich popularności. Wśród parametrów tych znajdziemy: ilość pobrań ze strony pypi, aktywnośc w repozytorium projektu oraz ilość użytkowników.

Po trzecie Django Packages to gridy. Absolutnie przydatne zestawienia porównawcze. Co tu dużo pisać to trzeba zobaczyć, oto przykładowy grid dla CMSów.

Oczywiście każdy odwiedzający, po zarejestrowaniu, może dodać do strony nową aplikację, stworzyć nowy grid, lub zmodyfikować istniejące. Każdy może też kliknąć “I use it” przy aplikacji, z której korzysta, zwiększając tym samym licznik jej użytkowników.

Dla mnie rewelacja, po raz kolejny cieszę się, że używam Django.

10. November 2010 by restless_being
Categories: Uncategorized | Tags: | Leave a comment

← Older posts